Pular para o conteúdo

Requisitos, histórias de usuário, casos de uso e critérios de aceite

Prioridade Alta 16 min de leitura Status: Não visto Lido Praticado Dominado

Do zero

Pense numa reforma de cozinha. Antes de quebrar a parede, o arquiteto pergunta: o que você quer fazer nela (cozinhar para seis pessoas, ter uma ilha)? E como ela precisa ser (fácil de limpar, pronta em 30 dias, dentro do orçamento)? As respostas à primeira pergunta são requisitos funcionais; as da segunda, requisitos não funcionais.

Em software é igual, e é aqui que nasce a maior parte dos problemas: um sistema bem programado que faz a coisa errada não serve. Por isso a engenharia de requisitos é um ciclo: descobrir o que as pessoas precisam (levantamento), entender e resolver conflitos (análise), escrever de forma clara (especificação), confirmar com elas que é isso mesmo (validação) e controlar as mudanças ao longo do projeto (gerenciamento).

Há dois jeitos populares de escrever requisitos: a história de usuário, curta e centrada em quem usa (“Como auditor, quero filtrar contratos por valor para priorizar a análise”), e o caso de uso, mais detalhado, com o passo a passo da conversa entre usuário e sistema. Os critérios de aceite dizem como saber que o requisito foi cumprido.

Frase para guardar: funcional é o que o sistema faz; não funcional é como ele precisa ser; critério de aceite é como se prova que ficou pronto.

Em 1 minuto

  • Requisito funcional: uma função ou comportamento (“emitir certidão de regularidade”). Não funcional: uma qualidade ou restrição (desempenho, segurança, disponibilidade, usabilidade, portabilidade, conformidade legal).
  • Etapas: levantamento (elicitação), análise e negociação, especificação, validação e gerenciamento (mudanças e rastreabilidade).
  • História de usuário: “Como [papel], quero [ação], para [benefício]”. Boas histórias seguem o INVEST: Independente, Negociável, Valiosa, Estimável, Pequena e Testável.
  • Critério de aceite: condição verificável, muitas vezes escrita como Dado / Quando / Então.
  • Caso de uso: ator, pré-condições, fluxo principal, fluxos alternativos e de exceção, pós-condições. include é sempre executado; extend é opcional, sob condição.

Exemplo concreto: emissão de certidão para jurisdicionados

História de usuário:

Como gestor municipal, quero emitir a certidão de regularidade da minha prefeitura pelo portal, para anexá-la a um convênio sem ir ao Tribunal.

Critérios de aceite:

  • Dado que a prefeitura não tem pendências, quando o gestor solicita a certidão, então o sistema gera um PDF assinado digitalmente, com código de verificação.
  • Dado que a prefeitura tem prestação de contas atrasada, quando o gestor solicita a certidão, então o sistema informa a pendência e não emite a certidão.

Requisitos não funcionais do mesmo recurso:

  • Gerar a certidão em até 3 segundos para 95% das solicitações (desempenho).
  • Exigir login pelo gov.br (segurança).
  • Ficar disponível 99,5% do tempo no mês (disponibilidade).

O mesmo recurso como caso de uso, resumido: ator “Gestor municipal”; pré-condição “gestor autenticado”; fluxo principal (solicita, sistema verifica pendências, gera e assina o PDF); fluxo alternativo (há pendência: exibe a lista); fluxo de exceção (serviço de assinatura fora do ar: informa e registra o erro); pós-condição “certidão registrada no histórico”. O caso de uso inclui (include) “Verificar pendências”, que sempre acontece, e pode ser estendido (extend) por “Enviar certidão por e-mail”, que só acontece se o gestor pedir.

Comparação: técnicas de levantamento

Técnica Como funciona Boa quando
Entrevista Conversa estruturada ou aberta com o usuário Poucos usuários-chave, assunto complexo
Questionário Perguntas iguais para muitas pessoas Muitos usuários espalhados
Workshop (JAD) Usuários e técnicos decidem juntos, com um facilitador Há conflitos entre áreas e é preciso consenso
Observação (etnografia) O analista acompanha o trabalho real O usuário tem dificuldade de explicar o que faz
Prototipação Telas ou versões simples para o usuário reagir Requisitos vagos (“eu sei quando vir”)
Análise de documentos Leitura de normas, formulários e sistemas antigos Regras legais e processos já documentados
Brainstorming Geração livre de ideias, sem crítica no início Busca de soluções novas

Verificação × validação: verificar é conferir se o produto está de acordo com a especificação (“construímos certo?”); validar é conferir se atende à necessidade real do usuário (“construímos a coisa certa?”).

Priorização MoSCoW: Must (tem de ter), Should (deveria ter), Could (poderia ter) e Won’t (não terá desta vez).

Rastreabilidade: ligar cada requisito à sua origem (a norma, o pedido do usuário) e ao que ele gerou (código, testes). Assim se sabe o impacto de uma mudança.

Como a FCC cobra

Classificar requisitos como funcionais ou não funcionais e identificar a técnica de levantamento descrita num cenário. Histórias de usuário com INVEST e casos de uso com include e extend completam o tema.

  • Funcional × não funcional, inclusive restrições legais e de desempenho.
  • Técnicas de levantamento e quando usar cada uma.
  • Formato e qualidades (INVEST) da história de usuário.
  • include × extend nos casos de uso.
  • Verificação × validação.

Pegadinhas

  • “‘O sistema deve gerar a certidão em até 3 segundos’ é requisito funcional.” Falso: é não funcional (desempenho); a função é gerar a certidão.
  • “No caso de uso, extend indica um comportamento sempre executado.” Falso: sempre executado é include; extend é opcional, sob condição.
  • “‘O sistema deve ser rápido e amigável’ é um bom requisito.” Falso: é vago e não testável; precisa de medida.
  • “Validação confere se o sistema segue a especificação.” Falso: isso é verificação; validação confere se atende à necessidade real.
  • “História de usuário dispensa conversa com o usuário.” Falso: ela é um lembrete para a conversa; os detalhes vêm da conversa e dos critérios de aceite.

Explique com suas palavras

Explique a um servidor de outra área a diferença entre requisito funcional e não funcional, e por que todo requisito precisa de um critério de aceite.

  1. Escreva sem olhar a lição, com frases curtas e um exemplo seu.
  2. Onde travar ou precisar de jargão, há uma lacuna: releia só essa parte.
  3. Compare com a explicação-modelo e reescreva o que faltou.

Fica salva neste navegador.

Comparar com uma explicação-modelo

Requisito funcional é algo que o sistema faz: emitir uma certidão, cadastrar um processo, gerar um relatório. Requisito não funcional é como ele precisa fazer: em quanto tempo, com que segurança, por quanto tempo no ar, para quantos usuários ao mesmo tempo.

O critério de aceite diz como vamos saber que o requisito foi atendido. “O sistema deve ser rápido” não dá para testar; “gerar a certidão em até 3 segundos” dá. Sem critério de aceite, cada pessoa entende uma coisa e a entrega vira discussão.

Teste-se

Engenharia de Software · Requisitos · Inédita, estilo FCC

Questão 1 de 3

No levantamento de requisitos do portal de certidões, foram registrados: I. O sistema deve emitir a certidão de regularidade em PDF. II. A certidão deve ser gerada em até 3 segundos para 95% das solicitações. III. O acesso deve exigir autenticação pelo gov.br. IV. O gestor deve poder consultar o histórico de certidões emitidas. São requisitos não funcionais apenas

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Engenharia de Software · Requisitos · Inédita, estilo FCC

Questão 2 de 3

No acrônimo INVEST, que descreve qualidades de uma boa história de usuário, as letras S e T correspondem, respectivamente, a

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Engenharia de Software · Requisitos · Inédita, estilo FCC

Questão 3 de 3

No diagrama de casos de uso do portal, o caso “Emitir certidão” sempre executa o caso “Verificar pendências”, e, apenas quando o gestor solicita, é complementado pelo caso “Enviar certidão por e-mail”. Esses relacionamentos são, respectivamente,

Alternativas

A–E escolhem, Enter confirma. Botão direito ou Shift + letra risca.

Toque longo numa alternativa para riscá-la.

Mais duas questões deste tópico estão em Questões.

Flashcards gerados

FrenteVerso
Formato da história de usuário Como [papel], quero [ação], para [benefício]. Exemplo: Como auditor, quero filtrar contratos por valor, para priorizar a análise.
Formato Dado / Quando / Então Critério de aceite com o contexto (dado), a ação (quando) e o resultado esperado (então). Exemplo: Dado que não há pendências, quando o gestor pede a certidão, então o sistema gera o PDF assinado.
Etapas da engenharia de requisitos Levantamento, análise e negociação, especificação, validação e gerenciamento.
Priorização MoSCoW Must (tem de ter), Should (deveria ter), Could (poderia ter) e Won’t (não terá desta vez).
Para que serve a rastreabilidade de requisitos? Liga cada requisito à origem e ao que ele gerou (código, testes) e mostra o impacto de uma mudança.

Ligação com o estudo de caso

Quando o caso pedir uma solução de sistema, comece pelos requisitos: dois ou três funcionais (o que o sistema fará) e os não funcionais mais importantes, com medida (tempo de resposta, disponibilidade, autenticação). Escrever um critério de aceite no formato Dado / Quando / Então mostra ao examinador domínio prático.

Fontes da lição

Claude explica

Tire dúvidas sobre este tema no Claude: o site copia o pedido com a lição e abre uma conversa nova, na sua conta. Confira na fonte qualquer fato de lei ou de norma.

Pratique fora do site

Faça questões da FCC sobre este tópico no QConcursos ou no Gran e registre aqui quantas fez: elas contam na meta da semana e no status do tópico.

Registrar questões feitas lá
Errei uma questão lá: criar flashcard