No processo de requisitos, é importante que haja um bom ente...

Próximas questões
Com base no mesmo assunto
Q48199 Engenharia de Software
Julgue os itens a seguir, a respeito da engenharia de requisitos de
software.

No processo de requisitos, é importante que haja um bom entendimento do domínio do problema e das necessidades que devem ser atendidas. 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.
Alternativas

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

O correto seria "...informações como a linguagem de programação ou o sistema gerenciador de banco de dados podem ser utilizadas ..."

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo