Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

📋 Requisitos de Software (Conceitos Básicos)

Descobrir e documentar o que deve ser construído é a essência da Engenharia de Requisitos.

Sommerville (2011) nota que o termo "requisito" pode variar de uma declaração abstrata de alto nível (uma ideia do cliente num guardanapo) até uma definição técnica formal. Para evitar confusão, separamos o entendimento em duas visões corporativas:


🏛️ Diferentes Perspectivas de Requisitos

Nível / PerspectivaDescrição e Aplicação
Usuário (Product Owner)Declarações do negócio. O que a plataforma precisa entregar aos clientes finais. Tradicionais User Stories, sem mencionar tecnologia. Ex: "O aluno deve se matricular na disciplina."
Sistema (Desenvolvedores)Descrições detalhadas da parte técnica. Regras matemáticas, modelos de bancos de dados. Geralmente mapeado no Swagger/OpenAPI em projetos baseados em Nuvem. Ex: "O endpoint /enrollments recebe um JSON e precisa inserir no PostgreSQL."

[!WARNING] 💡 O Dilema da Codificação: "A parte mais difícil ao construir um sistema de software é decidir o que construir. Nenhuma parte do trabalho afeta tanto o sistema resultante se for feita a coisa errada. Nenhuma outra parte é mais difícil de consertar depois." — Frederick Phillips Brooks Jr. Codificar em Java um requisito mal formulado é o mesmo que dirigir em altíssima velocidade para o precipício errado. Em vez de consertar lógica, no final o time terá que jogar o repositório inteiro fora.