1. Estudo de Viabilidade
Pretende responder às seguintes questões:
- Em que o sistema contribui?
- Pode ser implementado na tecnologia atual?
- Restrições de prazos e custos
- Pode ser integrado com outros sistemas?
- De acordo com as respostas, o projeto deve continuar?
Durante essa fase é possível abortar o projeto caso seja visto que não é viável. Ao final da frase é produzido uma lista inicial de requisitos.
2. Elicitação e Análise de Requisitos
Nessa fase os requisitos são realmente obtidos através de leitura de documentos, entrevistas ou qualquer outro tipo de interação com os stakeholders e esses requisitos são classificados e organizados. Durante essa fase, várias reuniões devem ser realizadas junto aos stakeholders. As subfases de uma elicitação e análise de requisitos são:
2.1 Descoberta de Requisitos
Interação com os stakeholders do sistema para identificação de seus requisitos. Entre os problemas que podemos encontrar nessa fase, podemos citar:
- Os stakeholders costumam não saber o que querem.
- Os stakeholders expressam os requisitos em seus próprios termos e com conhecimento implícito de seu trabalho.
- Diferentes stakeholders tem diferentes opiniões.
- Stakeholders podem sabotar o projeto por não terem suas opiniões aceitas ou por discordarem de algo.
- O analista pode não ter formação ou conhecimento na área do problema.
- O analista não se preparou para as reuniões ou nao possui tempo.
- O analista não tem perfil para essa tarefa devido a diferenças culturais.
- As importância de um requisito pode mudar durante o processo de análise devido a fatores econômicos e empresariais.
- Fatores políticos podem influenciar nos requisitos devido ao desejo de influência e poder na organização.
Vale lembrar que um grande quantidade de documentos pode dificultar entender e focar o processo. Além disso, caso esteja difícil descrever o requisito, é possível observar a execução em um ambiente real na perspectiva do cliente (etnografia) ou mesmo criar uma versão inicial do sistema para experimentação (prototipação)
2.2 Classificação e organização de requisitos
Agrupamento dos requisitos de acordo com seu relacionamento e coerência.
2.3 Priorização e Negociação de Requisitos
Solução de conflitos entre stakeholders e priorização dos requisitos por meio de negociações
3 Especificação de Requisitos
Os requisitos são documentados e inseridos no próximo ciclo. Nem sempre todos os requisitos foram elicitados quando se chega a fase de especificação, mas os que foram elicitados até o momento devem ser documentados a fim de auxiliar a descoberta de novos requisitos.
3.1 Documento de Visão
É um documento de alto nível que descreve as necessidades e características do sistema em alto nível útil para se fazer uma proposta comercial ou técnica.
3.2 Especificação de Requisitos
A especificação propriamente dita contendo requisitos funcionais, não funcionais e regras de negócio.
3.3 Modelo de Domínio
Demonstração estrutural do projeto, como por exemplo, um diagrama de classe demonstrando a estrutura das classes.
3.4 Casos de Uso
Casos de uso do sistema com fluxos de execução, erros no fluxo de execução e o “caminho feliz” que é o fluxo sem erros.
4 Validação de Requisitos
O processo pelo qual se verifica se os requisitos definem o sistema que o cliente realmente quer, se preocupando em encontrar problemas nos requisitos. Lembrando que erros em um documento de requisitos podem gerar altos custos de retrabalho quando descobertos durante o desenvolvimento ou após o sistema já estar em serviço. A validação inclui as seguintes verificações:
- Verificação de validade ou necessidade
- Verificação de consistência
- Verificação de completude
- Verificação de realismo
- Verificabilidade ou capacidade de se escrever testes para o requisito
Apesar de tantas verificações, raramente todos os problemas serão encontrados.
