Análise e Coleta de Requisitos

Objetivos da Aula

Ao final da aula o aluno deverá ser capaz de:

  • Compreender o que são requisitos de software
  • Entender a importância da análise de requisitos
  • Identificar requisitos funcionais
  • Identificar requisitos não funcionais
  • Conhecer técnicas de coleta de requisitos
  • Aplicar técnicas básicas de levantamento de requisitos

O que são Requisitos de Software

Requisitos de software são descrições das funcionalidades e restrições que um sistema deve possuir.

Eles representam as necessidades do cliente e dos usuários.

Em outras palavras:

Requisitos descrevem o que o sistema deve fazer e como deve funcionar.

Analogia Simples

Antes de construir uma casa é necessário definir:

  • Quantos quartos terá
  • Se terá garagem
  • Quantos banheiros
  • Tipo de material
  • Tamanho da casa

Essas definições são os requisitos da casa.

No desenvolvimento de software acontece exatamente a mesma coisa.

Exemplo de Requisitos

Sistema: Sistema de Biblioteca

Alguns requisitos podem ser:

  • Cadastrar livros
  • Cadastrar alunos
  • Registrar empréstimo de livros
  • Controlar devolução
  • Gerar relatório de empréstimos

Essas funcionalidades representam necessidades do sistema.

Por que a Análise de Requisitos é Importante?

A análise de requisitos é uma das etapas mais críticas do desenvolvimento de software.

Grande parte dos problemas em sistemas acontece devido a requisitos mal definidos.

Problemas comuns:

  • Sistema não atende o cliente
  • Retrabalho
  • Atrasos no projeto
  • Aumento de custos

Problema Clássico em Projetos

Cliente pede:

"Quero um sistema simples de vendas."

Após o sistema pronto o cliente diz:

  • precisava de relatórios
  • precisava de controle de estoque
  • precisava de cadastro de fornecedores

Isso acontece quando os requisitos não são bem coletados no início.

Engenharia de Requisitos

A engenharia de requisitos é o processo responsável por descobrir, analisar e documentar as necessidades do sistema.

Esse processo envolve várias etapas.

Etapas da Engenharia de Requisitos

  1. Elicitação (Coleta)
  2. Análise
  3. Documentação
  4. Validação
  5. Gerenciamento de requisitos

Cada etapa ajuda a garantir que o sistema atenda às necessidades do usuário.

Fluxo da Engenharia de Requisitos

Usuários / Stakeholders

Coleta de requisitos

Análise dos requisitos

Documentação

Validação com o cliente

Coleta de Requisitos

A coleta de requisitos consiste em identificar as necessidades dos usuários e do negócio.

Essa atividade envolve conversar com pessoas que irão utilizar ou gerenciar o sistema.

Essas pessoas são chamadas de Stakeholders.

O que são Stakeholders

Stakeholders são todas as pessoas interessadas ou afetadas pelo sistema.

Exemplos:

  • Clientes
  • Usuários finais
  • Gerentes
  • Analistas
  • Desenvolvedores
  • Administradores do sistema

Todos podem contribuir com informações importantes.

Técnicas de Coleta de Requisitos

Existem diversas técnicas utilizadas para levantar requisitos.

As mais comuns são:

  • Entrevistas
  • Questionários
  • Observação
  • Workshops
  • Análise de documentos
  • Prototipação

Cada técnica possui vantagens dependendo do contexto.

Entrevistas

A entrevista é uma das técnicas mais utilizadas.

Consiste em conversar diretamente com usuários ou especialistas do negócio.

O objetivo é entender:

  • Como o processo atual funciona
  • Quais são os problemas
  • Quais funcionalidades são necessárias

Tipos de Entrevistas

Entrevista Estruturada

Possui perguntas previamente definidas.

Exemplo:

  • Como é feito o cadastro de clientes?
  • Quem pode acessar o sistema?
  • Quais relatórios são necessários?

Entrevista Aberta

Mais flexível e exploratória.

O entrevistador conduz a conversa de forma mais livre.

Exemplo de pergunta:

"Como funciona o processo atual da empresa?"

Essa abordagem ajuda a descobrir informações que o cliente nem sabia que precisava explicar.

Questionários

Questionários são formulários enviados aos usuários.

Eles são úteis quando:

  • Existem muitos usuários
  • Os usuários estão em locais diferentes
  • O tempo para entrevistas é limitado

Exemplo de Questionário

Sistema Acadêmico

  1. Você utiliza o sistema atual?
  2. Qual funcionalidade você mais utiliza?
  3. Qual funcionalidade está faltando?
  4. Você encontra dificuldades no sistema atual?

Essas respostas ajudam a identificar melhorias.

Observação

A técnica de observação consiste em acompanhar como os usuários trabalham no ambiente real.

Isso é importante porque muitas vezes:

os usuários não conseguem explicar exatamente o que fazem.

Mas é possível entender observando o processo.

Exemplo de Observação

Sistema para Restaurante

Fluxo observado:

  1. Cliente faz pedido
  2. Garçom anota pedido
  3. Pedido vai para cozinha
  4. Pedido é preparado
  5. Cliente paga no caixa

A observação ajuda a entender o fluxo real do negócio.

Workshops

Workshops são reuniões com vários stakeholders ao mesmo tempo.

Objetivos:

  • discutir necessidades
  • alinhar expectativas
  • identificar funcionalidades
  • resolver conflitos de requisitos

São muito utilizados em projetos maiores.

Prototipação

Prototipação consiste em criar uma versão inicial do sistema.

Pode ser:

  • desenho
  • wireframe
  • protótipo de tela
  • protótipo navegável

O objetivo é permitir que o usuário visualize o sistema antes de ser desenvolvido.

Exemplo de Protótipo

Tela de Login


Sistema de Biblioteca

Usuário: [________]

Senha:   [________]

[ Entrar ]

Isso ajuda o cliente a validar se a interface atende às expectativas.

Requisitos Funcionais

Requisitos funcionais descrevem o que o sistema deve fazer.

Eles representam as funcionalidades do sistema.

Normalmente começam com:

"O sistema deve..."

Exemplos de Requisitos Funcionais

Sistema de Locadora de Filmes

  • O sistema deve cadastrar clientes
  • O sistema deve registrar locação de filmes
  • O sistema deve calcular multa por atraso
  • O sistema deve gerar relatório de locações

Exemplo Estruturado

RF01 – Cadastro de Cliente

Descrição:

O sistema deve permitir o cadastro de clientes contendo:

  • nome
  • telefone
  • email
  • endereço

Requisitos Não Funcionais

Requisitos não funcionais descrevem como o sistema deve funcionar.

Eles representam características de qualidade do sistema.

Tipos de Requisitos Não Funcionais

Alguns tipos comuns:

  • desempenho
  • segurança
  • usabilidade
  • confiabilidade
  • disponibilidade
  • escalabilidade

Exemplos de Requisitos Não Funcionais

Sistema Bancário

  • O sistema deve responder consultas em menos de 2 segundos
  • O sistema deve possuir autenticação segura
  • O sistema deve possuir backup automático diário
  • O sistema deve suportar 1000 usuários simultâneos

Comparação

Tipo Descrição Exemplo
Requisito Funcional O que o sistema faz Cadastrar cliente
Requisito Não Funcional Como o sistema funciona Resposta em até 2 segundos

Exemplo Completo

Sistema: Sistema de Restaurante

Requisitos Funcionais

RF01 – Cadastrar clientes
RF02 – Registrar pedidos
RF03 – Calcular valor da conta
RF04 – Gerar relatório de vendas

Requisitos Não Funcionais

RNF01 – Sistema deve responder em até 3 segundos

RNF02 – Sistema deve funcionar em tablet e computador

RNF03 – Sistema deve possuir backup automático diário

Documentação de Requisitos

Após a coleta, os requisitos precisam ser organizados em um documento.

Esse documento é chamado de:

Documento de Requisitos de Software (DRS)

Ele serve como base para o desenvolvimento do sistema.

O que um Documento de Requisitos Contém

Normalmente inclui:

  • descrição do sistema
  • lista de requisitos funcionais
  • lista de requisitos não funcionais
  • regras de negócio
  • diagramas
  • protótipos

Erros Comuns na Coleta de Requisitos

Alguns erros frequentes:

  • não conversar com usuários reais
  • assumir funcionalidades sem confirmação
  • não documentar requisitos
  • não validar com o cliente
  • ignorar detalhes do negócio

Boas Práticas

Algumas boas práticas:

  • ouvir atentamente os usuários
  • fazer perguntas claras
  • validar requisitos com stakeholders
  • documentar todas as decisões
  • utilizar protótipos para validação

Atividade Prática

Imagine que você irá desenvolver um Sistema de Academia.

Exercício

Parte 1

Liste 5 requisitos funcionais

Exemplo:

  • cadastrar alunos

Exercício

Parte 2

Liste 3 requisitos não funcionais

Exemplo:

  • sistema deve permitir acesso via celular

Conclusão

A análise e coleta de requisitos é essencial para o sucesso de um projeto de software.

Ela permite:

  • compreender o problema
  • definir funcionalidades corretas
  • evitar retrabalho
  • garantir que o sistema atenda às necessidades dos usuários

Frase Importante

Um software bem desenvolvido começa com requisitos bem definidos.