Como realizar o Levantamento de Requisitos no desenvolvimento de software

31 / 10 / 2018

Levantamento-Requisitos-desenvolvimento-software

Independentemente da metodologia de desenvolvimento utilizada, o levantamento de requisitos é o ponto de partida de qualquer projeto de software. Afinal, é a partir dos resultados obtidos durante essa etapa inicial que os próximos passos a serem executados são definidos. Neste artigo, vamos te apresentar uma visão geral do processo de levantamento de requisitos. Confira!

O que é um Levantamento de Requisitos de Software?

De forma simples, o levantamento de requisitos trata-se do processo de compreensão e identificação das necessidades que o cliente espera ser solucionado pelo sistema que será desenvolvido, definindo a função que o software vai desempenhar. 

É 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. Isso porque, muitas vezes, o cliente pode não ser o usuário final do sistema, como, por exemplo, um gerente ou diretor da empresa, que não utiliza o sistema diretamente.

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 traduzem 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, o que pode causar erros durante a criação das funcionalidades.

Quais são os tipos de requisitos de software?

Existem dois tipos de requisitos que compõem um sistema, sendo eles 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 são recursos que não são funcionalidades, mas 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.

>> Veja também nosso conteúdo sobre “A importância dos testes de software no controle de qualidade”.

tipos-de-requisito-de-software

Quais são as principais técnicas para o Levantamento de Requisitos?

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

  • 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.

  • Questionário: 

O Analista desenvolve um questionário e envia para o cliente responder. Através das respostas fornecidas, são elaborados os requisitos. 

Esta técnica é útil quando não é possível realizar uma entrevista pessoalmente com o cliente (embora atualmente isto seja resolvido facilmente utilizando Skype, Hangouts, Zoom, Meet, etc), ou quando existem diferentes usuários em locais distantes, pois o questionário pode ser enviado via e-mail. 

É também uma boa opção para sistemas simples. Já para sistemas mais complexos, pode se tornar inviável devido a 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, nas quais 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 e ideal é que todos os níveis envolvidos com o projeto interajam com a definição dos requisitos.

  • Prototipação: 

Essa é mais utilizada como uma técnica de validação de requisitos do que como um método de levantamento de requisitos. É muito usada 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. Este, por sua vez, 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. Permite-se, então, a correção imediata, e não apenas 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 seja compreendido com clareza o cenário que está sendo descrito.

>> Leia também “Entenda como deve ser feito um teste de software ideal

Afinal: devo aplicar alguma técnica ou nã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.

Se você gostou desse artigo sobre como realizar o levantamento de requisitos para um software, não deixe de conferir em nosso blog outros conteúdos sobre tecnologia. Temos certeza que irá gostar!

Deixe uma resposta