3Cs na Especificação de Requisitos de Software (ERS)
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
November 26, 2012 at 10:53 pm
[...] Este blog tem como meta apresentar algumas discussões e opiniões relacionadas a engenharia de software. « 3Cs na Especificação de Requisitos de Software (ERS) [...]
December 4, 2012 at 12:16 am
[...] engenharia de software existem várias técnicas de levantamento de requisitos. Algumas delas já foram destacadas neste blog, como é o caso do [...]
December 5, 2012 at 8:30 pm
[...] engenharia de software existem várias técnicas de levantamento de requisitos. Algumas delas já foram destacadas neste blog, como é o caso do brainstorm e do [...]