Introdução à Engenharia de Requisitos

introdução simples.

Todo o material deste post foi coletado por meio de pesquisa, não possuo nenhuma experiência prática na área, tenha isso em mente pois talvez ele não seja a realidade do mercado atual.

Imagem de documentos

Introdução

A engenharia de requisitos são descrições do que o software deve fazer, os serviços que ele oferece e as restrições do seu funcionamento, ela reflete a necessidade de um cliente para uma finalidade determinada. A engenharia de requisitos custa cerca de 15% dos custos do desenvolvimento do sistema. Acredita-se que 40% do percentual de erros detectados nos sistemas, são por causa de especificações mal escritas, 30% por causa do projeto e mais 30 por causa da codificação

Problemas dos Requisitos

Caso o requisito fique mal planejado encontramos alguns problemas, entre eles são:

  • Não refletir as necessidades reais do cliente
  • Requisitos inconsistentes
  • Requisitos incompletos
  • Alto custo para fazer mudanças após o início do desenvolvimento

Níveis de requisitos

Alto nível

  • São os requisitos de usuário.
  • Algo mais abstrato do que o cliente deseja.
  • Escrito em linguagem natural. ( português )
  • Serviços e restrições que o sistema deverá fornecer.
  • Restrições com as quais o sistema deverá operar.

Exemplo: O sistema deve permitir que os funcionários busquem o remédio pelo nome.

São usados pelos:

  • Usuários finais do sistema
  • Engenheiros clientes
  • Arquitetos de sistema
  • Gerentes clientes
  • Gerentes contratantes

Baixo nível

  • São os requisitos de sistema
  • Algo bem mais detalhado, para que não ocorra erros no desenvolvimento do sistema
  • Normalmente chamado de especificações de requisitos
  • Deve definir exatamente o que deve ser implementado
  • Podem fazer parte do contrato entre o cliente e o desenvolvedor

São usados pelos:

  • Usuários finais do sistema
  • Engenheiros clientes
  • Arquitetos de sistema
  • Desenvolvedores de software

Tipos de requisitos

Tanto os requisitos de alto nível quanto os de baixo nível podem ser funcionais de não funcionais

Requisitos Organizacionais

Dizem respeito às metas da empresa, suas políticas estratégicas adotadas, os empregados da empresas com seus respectivos objetivos; enfim toda a estrutura da organização

Requisitos Funcionais

Basicamente é o que o sistema deve fazer, define parte da funcionalidade do sistema

Algumas responsabilidades dos requisitos funcionais são:

  • Declaração de serviços que o sistema deve fornecer
  • Declaração de como o sistema deve reagir a entradas específicas
  • Declaração de como o sistema deve se comportar em situações específicas
  • Declaração do que o sistema não deve fazer

Requisitos Não funcionais

Dizem respeito a restrições, aspectos de desempenho, interfaces com o usuário, confiabilidade, segurança, mantenabilidade, portabilidade e patterns

Algumas responsabilidades dos requisitos não funcionais são:

  • Restrições aos serviços ou funções oferecidas pelo sistema
  • Restrições de tempo ( O sistema deve carregar no máximo em três segundos. )
  • Restrições no processo de desenvolvimento ( O sistema deve ser desenvolvido em paradigma funcional )
  • Restrições impostas por normas ( O sistema deve mostrar distâncias em metros se o usuário estiver no Brasil. )
  • Aplicam-se ao sistema como um todo

Imagem que demonstra requisitos funcionais

Fonte: Sommerville, Ian. Engenharia de Software - 9ª ed. 2011

De acordo com o livro Engenharia de Software de Ian Somerville, os requisitos não funcionais possuem diversos tipos, alguns deles são:

Requisitos de desempenho / performance

Especifica a performance mínima aceitável do sistema .

Requisitos de Implementação

Diz como o sistema deve ser implementado.

Requisitos de espaco

Especifica a quantidade de espaço que o sistema irá utilizar ou produzir.

Referências

UNIVESP - Tipos de requisitos

IFRN - Introdução a Engenharia de Requisitos

Comentários