Levantamento de Requisitos: Você sabe o que é?

AGRADEÇA AO AUTOR COMPARTILHE!

Você que trabalha com desenvolvimento, se ainda não se deparou com a etapa de levantamento de requisitos, fique tranquilo, sua hora vai chegar. E ainda tem gente que não consegue entender do que se trata essa fase tão comentada.

Vamos lá.

Segundo algumas definições que vemos por aí, requisito nada mais é do que uma condição ou capacidade que deve ser alcançada. Simplificando, é algo que um sistema ou componente deve possuir para satisfazer um contrato, padrão ou especificação.

Imagem via Shutterstock

Imagem via Shutterstock

Geralmente, requisitos são identificados a partir de um domínio de negócio. Domínio de negócio nada mais é do que a área específica que o software será desenvolvido, o contexto para a nossa solução. Em algumas bibliografias encontramos termos como domínio do problema ou domínio da aplicação.

Na etapa de levantamento de requisitos, o time de desenvolvimento se prende em entender o negócio que o sistema vai automatizar, esse levantamento compreende explorar as necessidades dos usuários. No caso de um sistema já existir, a dica é não se prender a estrutura antiga, e partir logo para um sistema novo. O tempo gasto até entender o sistema antigo pode ser muito valioso depois no projeto.

De tudo isso, teremos como resultado um documento com os requisitos, onde contém os requisitos que o sistema irá comtemplar. Dentro desse documento, devemos abordar:

Requisitos Funcionais
Os requisitos funcionais abordam O QUE o sistema deve fazer.

Exemplos:

  1. O sistema deve permitir que cada professor realize o lançamento de notas das turmas nas quais lecionou.
  2. O sistema deve permitir que o aluno realize a sua matrícula nas disciplinas oferecidas em um semestre.

Requisitos Não-Funcionais
Esses requisitos declaram características de qualidade que o sistema deve possuir e que estão relacionadas às suas funcionalidades. Temos algumas divisões dentro desse tipo de requisitos.

Confiabilidade
Nada mais do que medidas quantitativas da confiabilidade do sistema, como por exemplo, o tempo médio entre falhas, recuperação de falhas, erros por milhares de linhas de código.

Portabilidade
Aqui tratamos da facilidade de migrar o sistema para outras plataformas. Que devemos dar uma atenção, para que o sistema rode em qualquer lugar.

Segurança
Aqui são descritas as particularidades sobre acessos ao sistema, segurança extra em login, restringir acesso de algumas pessoas, entre outros.

Usabilidade
Aqui são descritos os requisitos que se relacionam ou afetam a usabilidade do sistema. Coisas relacionadas à facilidade de uso, sobre a necessidade de treinamentos para os usuários.

Quando o assunto é requisitos, é nosso dever responder de maneira clara a questão: “O que o usuário necessita do sistema?” Os requisitos definem o problema a ser resolvido pelo sistema que será desenvolvido.

Compreender as necessidades do cliente se torna essencial no desenvolvimento de soluções, muitos sistemas foram abandonados ou nem chegaram a ser usados porque os membros da equipe não deram atenção para essa etapa de levantamento de requisitos para entender o negócio do cliente.

O documento gerado com os requisitos se torna praticamente um termo, onde aparece como um consenso entre a equipe de desenvolvimento e o cliente. É esse documento que vai nortear as próximas atividades, tornando-se um ponto de referência para validações.

Envolver o cliente desde o início do processo de desenvolvimento nos dá uma garantia maior de que o produto que será desenvolvido atenda às necessidades identificadas. E claro, os requisitos MUDAM durante o projeto, o que o documento de levantamento de requisitos nos dá é um parâmetro para medirmos o tempo gasto e recursos necessários para implementar as mudanças solicitadas no decorrer do desenvolvimento.

Se você não se importa com levantar as necessidades do seu cliente, ou em entender o negócio dele, provavelmente vai encontrar obstáculos no caminho do desenvolvimento do seu produto, ou não vai atender totalmente as necessidades de quem está contratando seus serviços.

Você pode me xingar ou criticar no Twitter: @maribalbe

AGRADEÇA AO AUTOR COMPARTILHE!

Marília Balbé

Mais artigos deste autor »

Marília atua com Gerenciamento de Projetos, liderança de equipes de desenvolvimento de software. Habilidades em engenharia de software, levantamento de requisitos e análise de negócio. Influenciadora Microsoft, certificada Scrum Master. Hiperativa e eterna aprendiz. Folow me: @maribalbe


7 Comentários

ROGERIO ROCHA
1

Marília, você comentou:

“No caso de um sistema já existir, a dica é não se prender a estrutura antiga, e partir logo para um sistema novo. O tempo gasto até entender o sistema antigo pode ser muito valioso depois no projeto”

Na minha opinião, se você subestimar o sistema antigo, você poderá até não sacrificar o tempo do seu projeto, mas com certeza as chances de você não atender as necessidades ou expectativas do cliente serão grandes, porque 50% delas não são ditas no levantamento, por mais competente que você seja. O sistema antigo irá lhe dizer tudo que já funciona bem e deverá continuar funcionando e também tudo aquilo que o cliente não tem ou que quer melhorar. Vai por mim……

Abraço,

Rogério Rocha

Ricardo Portella de Abreu
3

Uma das grandes dificuldades e conseguir ( sem milindrar o solicitante ) , que a solução que normalmente idealiada por ele , é a melhor e ou será a que poderá ser implementada .

Luiz
5

Praticamente todo o artigo foi retirado do livro Princípios de Análise e Projeto de Sistemas com UML de Eduardo Bezerra. Poderia ter ao menos dado os créditos. Assim fica fácil escrever artigos.

Giulia
6

Prezados,

Na empresa que trabalho, temos uma grande dúvida em relação á quem deve elaborar os requisitos funcionais. A área de processos em conjunto com a área de negócio é quem faz este levantamento, porém entendo que deveria ser a TI com a área de negócio. Entretanto, eles não enxergam desta forma, e como precisamos garantir a qualidade do que está sendo pedido, processos intervém. O que vocês acham?

Obrigada!

Giulia

Aline
7

Bom dia,

Na etapa de levantamento de requisitos podem ser utilizadas diversas técnicas como auxílio ao analista.

Gostaria de saber se existe alguma pesquisa de mercado que demostre a utilização dessas técnicas dentro das empresas que desenvolvem software.

Sabem me informar?

Obrigada,

Aline

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">