Pressman [1] nos informa que o processo de engenharia de requisitos é realizado por meio da execução de sete funções distintas: concepção, levantamento, elaboração, negociação, especificação, validação e gestão. A ação da modelagem de requisitos resulta em um ou mais dos seguintes tipos de modelos:
- Modelos baseados em cenários de requisitos do ponto de vista de vários “atores” do sistema.
- Modelos de dados que representam o domínio de informações para o problema.
- Modelos orientados a classes: que representam classes orientadas a objetos (atributos e operações) e a maneira por meio da qual as classes colaboram para atender aos requisitos do sistema.
- Modelos orientados a fluxos que representam os elementos funcionais do sistema e como eles transformam os dados à medida que percorrem o sistema.
- Modelos comportamentais que representam como o software se comporta em consequência de “eventos” externos.
Os requisitos de software podem ser classificados da seguinte forma [2]:
- Requisitos Funcionais: são declarações de serviços que o sistema deve fornecer, de como o sistema deve reagir a entradas específicas e de como o sistema deve se comportar em determinadas situações. Em alguns casos, os requisitos funcionais também podem explicitar o que o sistema não deve fazer.
- Requisitos Não Funcionais: são restrições aos serviços ou funções oferecidas pelo sistema. Incluem restrições de timing, restrições no processo de desenvolvimento e restrições impostas pelas normas. Ao contrário das características individuais ou serviços do sistema, os requisitos não funcionais, muitas vezes, aplicam-se ao sistema como um todo.
Os requisitos não funcionais podem ser provenientes das características requeridas para o software (requisitos de produto), da organização que desenvolve o software (requisitos organizacionais) ou de fontes externas [2].
QFD (Quality function Deployment) é uma técnica de gestão da qualidade que traduz as necessidades do cliente para requisitos técnicos do software. O QFD “concentra-se em maximizar a satisfação do cliente por meio da processo de engenharia de software” [1]. O QFD identifica três tipos de requisitos: Requisitos Normais, Requisitos Esperados, Requisitos Fascinantes.
Referências:
[1] Pressman, Roger. Engenharia de Software 6ª edição (2006).
[2] Sommerville, Ian. Engenharia de Software 9ª edição (2012).