No processo de requisitos, é importante que haja um bom ente...
software.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - errado
Para abordar a questão de forma assertiva, é necessário compreender a natureza dos requisitos de software e a sua classificação. A engenharia de requisitos é um processo crítico no desenvolvimento de software, responsável por identificar, documentar e validar os requisitos do sistema. Nesse contexto, é vital distinguir entre requisitos do usuário, que refletem as necessidades e restrições dos stakeholders, e os requisitos do sistema, que descrevem o que o sistema deve fazer e quais propriedades deve possuir.
Os requisitos do sistema são divididos em duas categorias principais:
- Requisitos funcionais: que descrevem as funções específicas do sistema;
- Requisitos não funcionais: que referem-se a restrições sobre serviços ou funções oferecidas pelo sistema, como desempenho, segurança, portabilidade, etc.
Contudo, a afirmação de que os requisitos não devem incluir informações sobre projeto ou arquitetura do sistema é equivocada. Embora o foco da engenharia de requisitos seja identificar "o quê" o sistema deve fazer e não "como" deve ser feito — o que seria um trabalho de design e arquitetura —, há situações em que decisões de alto nível sobre a arquitetura podem ser consideradas requisitos não funcionais e influenciar a definição de requisitos, por exemplo:
- A escolha de uma determinada tecnologia (por exemplo, um banco de dados específico) pode ser um requisito devido à necessidade de integração com outros sistemas;
- Decisões sobre a arquitetura distribuída do sistema podem ser necessárias para atender requisitos de desempenho e escalabilidade;
- Restrições legais ou de mercado podem exigir o uso de determinadas plataformas ou frameworks.
Consequentemente, algumas decisões de projeto, incluindo aquelas de tecnologias específicas, podem ser requisitos se forem críticas para o atendimento das necessidades dos usuários e stakeholders. A errônea interpretação de que a engenharia de requisitos deve ser completamente desacoplada de considerações arquiteturais leva à resposta errada.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
"... os quais não devem incluir informações a respeito do projeto ou da arquitetura do sistema."
"Ao final do processo devem estar definidos os requisitos do sistema a ser implementado, os quais não devem incluir informações a respeito do projeto ou da arquitetura do sistema. Portanto, informações como a linguagem de programação ou o sistema gerenciador de banco de dados a serem utilizados não devem estar presentes nos requisitos de software documentados."
Não é que não devem estar, na verdade eles não são necessários nesta fase (domínio do problema). Mas caso o cliente exija podem ser adicionados no documento de identificação dos requisitos.
O que invalida a questão é: "Os quais não devem".
Se um cliente quiser um sistema a que opere em um servidor de aplicação JEE, isto será um requisito (não funcional).
Complementando:
as informações como a linguagem de programação ou o sistema gerenciador de banco de dados a serem utilizados DEVEM estar presentes nos requisitos de software documentados!
O motivo é justamente o que o colega explicou logo abaixo: essas informações são requisitos não funcionais, ou seja, sem essas informações o sistema não poderá funcionar!
Parece estranho né! mas em alguns projetos os requisitos não funcionais são mais importantes que os funcionais! Isto está no livro so Sommerville, e se dá pois um programa que deva ser integrado a outro sistema que utiliza uma base de dados Oracle deve necessariamente ter documentado como requisito NÃO funcional esta restrição. Ja pensaram se implementam um sistema utilizando outra tecnologia? Simplesmente o sistema não vai funcionar!
Abraços
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo