Como realizar o Levantamento de Requisitos no desenvolvimento de software

Rogério Marques

31 outubro 2018 - 14:00 | Atualizado em 29 maio 2023 - 10:19

Homens analisando requisitos em uma tela de computador

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!

Recomendados para você

Homem utilizando celular em ambiente social
Quero criar um app: 6 pontos importantes para tirar sua ideia do papel ...
Ilustração de machine learning
Machine Learning: conheça as possibilidades dessa tecnologia ...
Cinco pessoas felizes em uma sala de reunião
Como o front-end influencia nas áreas de UX/UI ...