Especificação de Requisitos
1. O que é
A Especificação de Requisitos é o processo de documentar formalmente os requisitos que foram previamente elicitados e analisados.
Enquanto a análise/modelagem foca em entender e organizar os requisitos, a especificação transforma esses modelos e informações em documentos e representações claras, completas e compartilháveis com stakeholders e equipe técnica.
2. Objetivos principais
- Registrar os requisitos de forma clara, completa e consistente.
- Criar uma base única de entendimento para desenvolvimento e testes.
- Reduzir ambiguidades e mal-entendidos.
- Fornecer subsídio para design, implementação, validação e rastreabilidade.
3. Como funciona
A especificação ocorre após a elicitação e análise/modelagem, quando os requisitos já foram coletados, refinados e priorizados.
- Análise/Modelagem: interpreta e organiza requisitos em modelos (diagramas, cenários, protótipos).
- Especificação: registra esses modelos e informações em artefatos formais, compreensíveis e validáveis.
Atividades típicas incluem:
- Produzir documentos estruturados de requisitos (SRS ou especificações suplementares).
- Detalhar cenários, casos de uso, user stories e regras de negócio.
- Criar diagramas UML, fluxos e rich pictures que representem os requisitos de forma visual.
- Registrar léxicos/glossários para uniformizar termos do domínio.
4. Técnicas Comuns de Especificação
4.1 Cenários
- Narrativas que descrevem sequências de ações do usuário e do sistema.
- Servem para validar casos de uso e auxiliar em testes.
4.2 Casos de Uso (Use Cases)
- Documentam interações entre atores e sistema.
- Podem ser representados em diagramas UML ou fluxos textuais detalhados.
4.3 Léxicos / Glossário
- Padronizam termos importantes do projeto.
- Reduzem ambiguidades e facilitam comunicação entre stakeholders e equipe técnica.
4.4 Rich Picture
- Representação gráfica informal do sistema e seu contexto.
- Facilita a compreensão inicial e comunicação com stakeholders não técnicos.
4.5 Personas
- Representações fictícias de usuários reais.
- Incluem objetivos, frustrações, motivações e ajudam a guiar design e priorização.
4.6 Perfil de Usuário
- Descreve categorias de usuários (idade, experiência, frequência de uso, habilidades).
- Complementa personas e orienta requisitos específicos para diferentes tipos de usuário.
4.7 Diagramas UML
-
Ferramenta de modelagem visual:
-
Diagrama de casos de uso (interações).
- Diagrama de classes (estrutura).
- Diagrama de atividades/seqüência (fluxos e comportamento).
4.8 Histórias de Usuário
- Estrutura: “Como [usuário], quero [ação], para [benefício]”.
- Frequentemente usadas em metodologias ágeis.
4.9 Regras de Negócio e Tabelas de Decisão
- Documentam restrições, cálculos e fluxos condicionais.
- Garantem consistência e evitam erros em funcionalidades críticas.
5. Observações Importantes
- A especificação consolida os resultados da análise/modelagem, tornando-os formais e utilizáveis para desenvolvimento.
- Em projetos ágeis, análise/modelagem e especificação muitas vezes acontecem de forma contínua, com backlog e protótipos evolutivos.
- Em projetos tradicionais, a especificação normalmente resulta em SRS completo e validado antes do design.
- Uma boa especificação combina várias técnicas, como cenários, casos de uso, personas, diagramas UML e léxicos.