home Sem categoria Levantamento de Requisitos – O ponto de partida do projeto de software

Levantamento de Requisitos – O ponto de partida do projeto de software

Independente da metodologia de desenvolvimento utilizada, o levantamento de requisitos é o ponto de partida de qualquer projeto de software, pois é a partir dos resultados obtidos durante esta etapa que será possível definir como as próximas etapas do desenvolvimento serão executadas. Neste artigo, é apresentado uma visão geral do processo de levantamento de requisitos.

Definição de Levantamento de Requisitos

Mas o que é o levantamento de requisitos? De forma simples, trata-se do processo de compreensão e identificação das necessidades que o cliente espera ser solucionado pelo sistema que será desenvolvido, definindo o que o software vai fazer. É a primeira etapa no ciclo de desenvolvimento de software, onde são definidas as funcionalidades e o escopo do projeto. O profissional que executa esta função é o Analista de Requisitos.

Durante o levantamento de requisitos, uma das maiores dificuldades é a comunicação entre o cliente e o analista, pois muitas vezes este pode não ser o usuário final do sistema (pode ser um gerente ou diretor da empresa, que não utiliza o sistema diretamente), e ao passar os requisitos para o analista, faz isso do seu próprio ponto de vista, baseado apenas em observações que, às vezes, não traduz fielmente a forma que os usuários enxergam o mesmo cenário. Por isso o analista de requisitos deve enxergar todos os cenários possíveis, evitando omissões ou má compreensão do cenário, causando erros durante a criação das funcionalidades.

Tipos de requisitos

Existem dois tipos de requisitos que compõem um sistema: os Requisitos Funcionais (RF) e os Requisitos não-funcionais (RNF):

  • Requisitos Funcionais: tratam das funcionalidades que o sistema deve ter.
    Exemplos: cadastrar clientes, consultar saldo em conta corrente, imprimir cupom fiscal, etc.
  • Requisitos não funcionais: estes tratam de recursos que não são funcionalidades, mas sim características do sistema, como restrições, segurança, confiabilidade, velocidade, validações. entre outros. Exemplos: velocidade (o sistema deve executar a transação em até 5 segundos), segurança (o sistema só pode ser acessado através de leitura biométrica de usuários cadastrados pelo administrador).
  • Regras de Negócio: estas podem ser consideradas uma categoria de requisitos não funcionais, pois tratam de políticas e normas que o sistema deve obedecer. Caso um mesmo sistema seja desenvolvido para diferentes empresas, cada uma dessas pode ter suas próprias regras de negócio, e o sistema deve ser adaptado de forma que siga estas regras. Exemplo: O sistema só permitirá prosseguir o cadastro caso o CPF informado esteja com a situação cadastral “REGULAR” na Receita Federal.

Técnicas para o Levantamento de Requisitos

Para o levantamento de requisitos, o analista dispõe de algumas técnicas que são utilizadas de acordo com o perfil do cliente. Existem diversas técnicas, cada uma adequada para um cenário específico, e dentre as comumente utilizadas podemos citar as seguintes técnicas:

  • Entrevista: a forma mais utilizada, na qual o analista se reúne com o cliente e coleta os requisitos do sistema por meio de perguntas e observações do cenário apresentado pelo cliente.
  • Questionário: o analista desenvolve um questionário e envia para o cliente responder. Através das respostas fornecidas, são elaborados os requisitos. É útil quando não é possível realizar uma entrevista pessoalmente com o cliente (embora atualmente isto é resolvido facilmente utilizando Skype, Hangouts, etc) ou quando existem diferentes usuários em locais distantes, pois pode ser enviado via e-mail. Pode ser uma boa opção para sistemas simples, porém pode se tornar inviável para sistemas mais complexos com muitos recursos e regras de negócio.
  • JAD (Joint Application Design): técnica que tem como ponto principal a cooperação de toda a equipe envolvida com a solução a ser criada. São feitas reuniões com os clientes na qual são definidos os requisitos tendo o ponto de vista de todos os envolvidos, desde o usuário final ou seu representante, quanto analistas, arquitetos, diretores etc. O ponto principal é que todos os níveis envolvidos com o projeto estejam interagindo com a definição dos requisitos.
  • Prototipação: a prototipação é mais utilizada como uma técnica de validação de requisitos do que como uma técnica de levantamento de requisitos. É muito utilizada em cenários onde os requisitos obtidos são muito vagos ou não tão claros. Neste caso, o analista desenvolve um protótipo da solução que ele conseguiu compreender e apresenta ao cliente, e este valida se o protótipo está de acordo com a solução que ele deseja. A grande vantagem de utilizar protótipos é que o cliente já tem uma visão prévia da solução final, e pode rapidamente validar ou solicitar alguma mudança, permitindo a correção imediata e não durante o desenvolvimento do software.

É importante mencionar que na maioria das vezes o próprio cliente não tem claro o que o software desejado deve realizar, por isso é importante o analista ter a habilidade de fazer com que o cliente compreenda com clareza o cenário que ele mesmo está descrevendo.

Conclusão

O processo de levantamento de requisitos é a etapa mais importante no desenvolvimento de um sistema, pois é o alicerce sob o qual toda a solução vai ser construída. Cabe ao analista de requisitos fazer um bom e cuidadoso trabalho, para que todo o projeto seja desenvolvido com tranquilidade e confiança.

Gostou? Compartilhe:

Julio Martins de Sousa

Julio Martins de Sousa

Graduando em Ciência da Computação pela Universidade Anhembi Morumbi e Trainee em Análise de Requisitos na Cedro Technologies de São Paulo. Entusiasta no aprendizado de idiomas, novas tecnologias, mercado financeiro e engenhocas que se movimentam (veículos autônomos, trens, aviões e foguetes).