O documento de requisitos de software, às vezes chamado Especificação de Requisitos de Software (SRS — do inglês Software Requirements Specification), é uma declaração oficial de o que os desenvolvedores do sistema devem implementar. Deve incluir tanto os requisitos de usuário para um sistema quanto uma especificação detalhada dos requisitos de sistema. Em alguns casos, os requisitos de usuário e de sistema são integrados em uma única descrição. Em outros, os requisitos de usuário são definidos em uma introdução à especificação de requisitos de sistema. Se houver um grande número de requisitos, os requisitos detalhados de sistema podem ser apresentados em um documento separado.
FONTE: Sommerville
A análise de requisitos resulta na especificação de características operacionais do software, indica a interface do software com outros elementos do sistema e estabelece restrições que o software deve atender. Permite ainda que você (independentemente de ser chamado de engenheiro de software, analista ou modelador) elabore mais as necessidades básicas estabelecidas durante as tarefas de concepção, levantamento e negociação, que são parte da engenharia de requisitos. 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.
Tais modelos dão a um projetista de software informações que podem ser traduzidas em projetos de arquitetura, de interfaces e de componentes. Finalmente, o modelo de requisitos (e a especificação de requisitos de software) fornecem ao desenvolvedor e ao cliente os meios para verificar a qualidade tão logo o software seja construído.
FONTE: Pressman