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
- Identifique os stakeholders de um sistema de e-commerce
- Documente suas necessidades e expectativas
- Classifique os requisitos em funcionais e não-funcionais
Passo 2: Elaboração de User Stories
- Escreva 5 user stories para um aplicativo de delivery de comida
- Aplique os critérios INVEST
- Defina critérios de aceitação para cada story
Passo 3: Especificação de Casos de Uso
- Descreva um caso de uso completo para "Realizar Pedido"
- Inclui fluxo principal e alternativos
- 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