Por mais que as empresas digam que utilizam um método para definir os requisitos de seu software, a maior parte delas não aplica os conceitos dessa parte importante do processo.
A aplicabilidade da engenharia de requisitos mostra-se falha dentro das empresas. Mas onde as empresas estão errando? O que pode ser alterado no processo das empresas para que isso seja ajustado? Antes de elencar o que deve ser modificado, temos que entender o que é a engenharia de requisitos.
Engenharia de requisitos
Segundo o autor William N. Robinson, a engenharia de requisitos tem por objetivo melhorar a modelagem de sistemas e potencializar a capacidade de analisá-los, possibilitando maior um maior entendimento de suas características antes da implementação.
Podemos dividir a engenharia de requisitos em algumas fases:
- Análise de Viabilidade;
- Identificação de Requisitos;
- Especificação de Requisitos;
- Requisitos Funcionais;
- Requisitos não-funcionais.
Análise de Viabilidade
Antes de iniciar qualquer levantamento de requisitos é importante que seja feito uma análise se as alterações contribuem para os objetivos estratégicos da empresa. Após concluída a análise, deve ser feito um relatório assinado por todos os stakeholders do projeto.
Identificação de Requisitos
Existem diversas técnicas que podem ser consideradas para fazermos a identificação dos requisitos:
- Entrevistas: baseia-se em diversos questionamentos entre o analista e o cliente, afim de identificar os requisitos;
- Workshops: baseia-se em diversos questionamentos entre todos os envolvidos no projeto. Pode-se utilizar a técnica de brainstorm também para melhorar a identificação destes requisitos;
- Cenários: baseia-se em simular no sistema atual do cliente ou em qualquer outra plataforma os problemas e o que o cliente pretende obter com o projeto;
- Prototipagem: baseia-se em identificar os requisitos desenhando previamente, através de alguma ferramenta, as telas do sistema.
Especificação dos Requisitos
É a fase onde é feito efetivamente o documento de especificação dos requisitos coletados anteriormente. Os requisitos são divididos em requisitos funcionais e requisitos não-funcionais.
Requisitos Funcionais
Descreve as funcionalidades desejadas pelos clientes, ou seja, o que se espera que o software faça. Exemplo: O sistema deve possibilitar o cadastramentos dos dados pessoais dos clientes.
Requisitos não-funcionais
Especificam como devem ser feitas as funcionalidades do sistema e costumam ser divididos em requisitos não funcionais de:
- Usabilidade;
- O usuário não precisa dar mais de 3 cliques para acessar o conteúdo do portal.
- Confiança;
- As senhas dos usuários devem ser mantidas criptografadas.
- Desempenho;
- O cadastramento de pessoas no portal não deve demorar mais que 30 segundos.
- Suporte;
- Deve ser possível a configuração dos níveis de clientes.
- Escalabilidade.
- Deve ser possível escalar o sistema em uma arquitetura com clusters.
Em tempos onde a qualidade de desenvolvimento e a satisfação do cliente já não são mais diferenciais, e sim necessidades básicas, a engenharia de requisitos vem tomando cada vez mais espaço e importância, tornando-se assim não mais um diferencial e sim uma exigência por porte do mercado.
Por Francisco Ruaro Varisco
Artigo do Seminário de Engenharia de Software 2011-2
Revisão Thiarlei Macedo | Fonte Micreiros.com