08 de maio de 20203 min
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.
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
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.