A Especificação de Requisitos tem como objetivo mapear os requisitos funcionais e não funcionais de um software. A especificação deve traduzir de maneira clara, concisa e consistente (os 3cs) o que o software deve processar (no caso dos requisitos funcionais) em um determinado ambiente (abertura para os requisitos não funcionais).
É possível especificar software utilizando:
- Caso de Uso, Diagrama de Sequência
- Mapa mental
- Diagrama de Fluxo de Dados
- Mapa Conceitual
- Diagrama de Requisitos
- Tabela de Requisitos
- IDEF
O documento de especificação de requisitos deve atender a todos os stakeholders do projeto. Clientes, desenvolvedores, engenheiros, testadores, gerentes devem entender qual o processamento que será realizado por um determinado requisito funcional (imerso no ambiente sistêmico) e a sua complexidade.
A literatura apresenta algumas boas práticas que contribuem diretamente com os 3Cs. Vamos a elas:
- O que especificar? Requisitos Funcionais, interfaces externas, performance, restrições, atributos de segurança (por favor complete a lista nos comentários se esqueci de algo).
- Características de uma especificação: Correta, não ambígua, completa, consistente, os requisitos devem ser ranqueados dada sua importância, os requisitos devem ser verificáveis e rastreáveis.
- Aplicar ferramentas para agilizar a especificação dos requisitos: A agilidade deve estar presente na construção e na leitura do documento. Lembre-se!!! Temos que gerar documentos claros, concisos e consistentes.
É importante salientar que as boas práticas não garantem totalmente a qualidade da especificação dos requisitos – é somente por meio de um contato constante com o cliente (veja os posts: 1, 2, 3 que reportam a importância do contato com o cliente) e com o ambiente sistêmico é que a especificação dos requisitos irá possuir um grau de qualidade aceitável. Neste ponto é possível mapear um dos fatores crítico de sucesso para qualquer projeto – comunicação com o cliente e com o ambiente.
Tenha em mente que especificar requisitos é de extrema importância para definir o escopo de um projeto. Um projeto com o escopo bem definido pode minimizar a recorrência de problemas ligados a gestão, principalmente em produtos caracterizados como software.
Abraços
José Augusto Fabri – fabri@utfpr.edu.br
3 thoughts on “3Cs na Especificação de Requisitos de Software (ERS)”