O que é?

É o detalhamento de todas as propriedades, restrições e funcionalidades, que um software deve ter para suprir e manter o que lhe foi requerido. Este processo deve ser precedido de estudos de viabilidade que, a partir das restrições do projeto, determinam se este é ou não viável. O processo de requisição de software é composto por 6 partes principais:

  • Viabilidade;
  • Identificação;
  • Análise;
  • Especificação e documentação;
  • Validação;
  • Gestão dos requisitos;


Viabilidade

A interação entre os envolvidos no projeto deve sanar perguntas como:

  • O sistema contribui para os objetivos da organização?
  • Dadas as restrições tecnológicas, organizacionais e temporais associadas ao projeto, será que o sistema pode ser implementado?
  • É possível a integração com os outros sistemas da organização (de um ponto de vista tecnológico)? Com que facilidade é que se consegue partilhar informação entre estes sistemas?


A partir da análise dos dados extraídos, avalia-se a continuidade do projeto de maneira consciente quanto as restrições e os requisitos.

Identificação

O passo seguinte a validação da viabilidade do projeto é a identificação dos requisitos.

Objetivo dos requisitos
  • Estabelecer e manter concordância com os clientes e outros envolvidos sobre o que o sistema deve fazer;
  • Oferecer aos desenvolvedores do sistema uma compreensão melhor dos requisitos do sistema;
  • Definir as fronteiras do sistema;
  • Fornecer uma base para estimar o custo e o tempo de desenvolvimento do sistema;
  • Definir uma interface de usuário para o sistema, focando nas necessidades e metas dos usuários;


Análise

A análise é a etapa seguinte a identificação dos requisitos, inclui atividades como:

  • Classificação: agrupamento de requisitos em "módulos" para facilitar a visão global do funcionamento pretendido para o sistema;
  • Resolução de conflitos: dada a multiplicidade e diversidade de papéis das partes interessadas envolvidas na captura e análise de requisitos, é inevitável a existência de conflitos nos requisitos identificados; é importante resolver estes conflitos o mais breve possível;
  • Priorização: consiste na atribuição de uma "prioridade" a cada requisito (por exemplo elevada/média/baixa); obviamente, este pode ser um fator gerador de conflitos;
  • Confirmação: é confirmada com as partes interessadas a completude dos requisitos, sua consistência e validade (de acordo com o que se pretende do sistema).