Especificação de requisitos
A especificação de requisitos tem como objetivo obter produtos de software de melhor qualidade que satisfaçam às reais necessidades dos clientes dentro de prazo e orçamento adequados.
Podemos entender requisito como uma função, restrição ou propriedade que deve ser fornecida, encontrada ou atendida para satisfazer às necessidades do usuário do sistema. (Descreve um serviço ou uma limitação)
Esta comprovado : a maior parte dos problemas , os de maior impacto negativo e os mais onerosos tem origem nas etapas iniciais do desenvolvimento de software. Justamente nas etapas de especificação dos requisitos é onde as principais atividades são definidas e onde os requisitos do produto devem ser identificados e mapeados com objetividade e clareza.
Podemos dizer que as principais causas para o fracasso dos projetos de software são: especificação de requisitos mal formulada e alterações constantes nos requisitos.
Por serem atividades bases do processo de desenvolvimento de software as falhas cometidas nas atividades de definição e validação de requisitos irão originar documentos de requisitos inconsistentes afetando as etapas seguintes de projeto , implementação e testes e gerando produtos de softwares de baixa qualidade.
Embora não exista um modelo padrão consagrado para gerenciar requisitos podemos definir alguns passos para um processo de especificação de requisitos :(Soares, 2005) (Os processos devem ser adaptados a cada necessidade/conjuntura)
Podemos classificar os requisitos em :
Funcionais - descrevem as funcionalidades do sistema desejadas pelos clientes ou seja O QUE se espera que o software faça;
Não funcionais - São as qualidades e restrições globais do sistema relacionados com manutenção , uso, desempenho, custo , interface, etc...
Exemplos de requisitos funcionais:
O sistema deve possibilitar o cadastramento dos dados pessoais dos clientes;
O sistema deve emitir relatórios gerenciais;
O sistema deve permitir a baixa