Ir para o conteúdo

Requisitos de Software

Descrição

Esta atividade tem como objetivo estruturar o estudo e a aplicação prática dos fundamentos de Engenharia de Requisitos, etapa crucial no desenvolvimento de software que determina o que deve ser construído e as restrições do sistema. O foco é compreender e aplicar técnicas para elicitar, analisar, documentar e validar requisitos que atendam às necessidades reais dos stakeholders.


Introdução

A Engenharia de Requisitos é a disciplina que estabelece as bases para o sucesso de projetos de software. Requisitos bem definidos e gerenciados adequadamente previnem retrabalho, reduzem custos e garantem que o sistema desenvolvido atenda às expectativas dos usuários. Este material abordará desde os conceitos fundamentais até técnicas avançadas de especificação e validação.


📚 Conteúdo

1. Fundamentos de Requisitos de Software

  • Conceitos básicos: O que são requisitos e sua importância
  • Stakeholders: Identificação e envolvimento das partes interessadas
  • Classificação de requisitos: Funcionais vs. Não-funcionais
  • Ciclo de vida de requisitos: Das necessidades à implementação

2. Técnicas de Elicitação de Requisitos

  • Entrevistas: Preparação, condução e documentação
  • Observação: Estudo etnográfico e shadowing
  • Prototipagem: Uso de mockups para validar necessidades
  • Análise de documento: Estudo de sistemas existentes

3. Especificação e Documentação

  • User Stories: Estrutura INVEST e critérios de aceitação
  • Casos de Uso: Diagramas e descrições detalhadas
  • Requisitos não-funcionais: Desempenho, segurança, usabilidade
  • Técnicas formais: Especificações estruturadas e modelos

4. Análise e Validação

  • Priorização: Técnicas MoSCoW e matriz de valor vs esforço (basicamente, o que foi apresentado dentro de sala de aula, em relação as atividades de baixo esforço e alto impacto)
  • Verificação: Revisões e inspeções de requisitos
  • Validação: Prototipagem e testes de aceitação
  • Rastreabilidade: Matriz de rastreabilidade e mudanças

Visão Geral

Passo 1: Identificação de Stakeholders e Necessidades

  1. Identifique os stakeholders de um sistema de e-commerce
  2. Documente suas necessidades e expectativas
  3. Classifique os requisitos em funcionais e não-funcionais

Passo 2: Elaboração de User Stories

  1. Escreva 5 user stories para um aplicativo de delivery de comida
  2. Aplique os critérios INVEST
  3. Defina critérios de aceitação para cada story

Passo 3: Especificação de Casos de Uso

  1. Descreva um caso de uso completo para "Realizar Pedido"
  2. Inclui fluxo principal e alternativos
  3. Identificar requisitos não-funcionais relevantes

** Recursos de Aprendizado**

  • Curso em Vídeo no Youtube: https://www.youtube.com/playlist?list=PLF9vK2NfbRJtqen7xlD7aWtu3Bwik-k6G

Ferramentas Úteis:

  • Documentação: Google Docs
  • Diagramação: Draw.io
  • Gestão: Trello
  • Prototipagem: Figma

Templates:

  • Template de documento de requisitos
  • Template de caso de uso
  • Template de matriz de rastreabilidade

💡 Dicas

Boas Práticas:

  • Envolva os usuários desde o início
  • Documente o contexto e o "porquê" dos requisitos
  • Use linguagem clara
  • Tenha o controle entre necessidades e a implementação

📊 Critérios de Avaliação

Competência Nível Esperado
Elicitação Identificação completa de stakeholders e necessidades
Documentação Clareza, completude e consistência dos requisitos
Análise Capacidade de identificar conflitos e dependências
Validação Evidências de validação com stakeholders
Organização Estrutura lógica e facilidade de compreensão

Recursos Adicionais para uma pesquisa mais aprofundada: - IEEE Standard 830-1998 - Guide to Software Requirements Specifications