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:

  1. Análise de Viabilidade;
  2. Identificação de Requisitos;
  3. Especificação de Requisitos;
    1. Requisitos Funcionais;
    2. 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