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

📋 Especificação de Software

A especificação de software, frequentemente referida corporativamente como Engenharia de Requisitos, é a fase que define as funcionalidades requeridas e as restrições operativas do sistema. É uma atividade crítica: na arquitetura moderna, definir os dados que sua API REST receberá e como ela autenticará o usuário é feito aqui.


📊 As Quatro Fases da Especificação (Sommerville, 2011)

FaseDescrição / Objetivo Prático
Estudo de ViabilidadeAvalia se as necessidades podem ser atendidas. Ex: "Temos tempo/dinheiro para migrar esse legado para Spring Boot em 6 meses?"
Levantamento (Discovery)Coleta de necessidades via reuniões com executivos e cliente. (O que o sistema precisa fazer de verdade?).
Especificação FormaisTradução da coleta em documentos ou User Stories (Jira/Trello). O Desenvolvedor Backend lê isso para saber quais Endpoints criar.
ValidaçãoReunião para verificar com o cliente: "É exatamente esse fluxo de JSON que você precisa para o seu negócio funcionar?".

graph LR
    V[Viabilidade] --> L[Levantamento Ágil]
    L --> E[Backlog / User Stories]
    E --> VAL[Revisão Diária]
    VAL -->|Feedback| L
    
    style VAL fill:#d4edda,stroke:#28a745

[!CAUTION] 💡 Dica de Performance (O que mais dá erro): Estas atividades não são lineares; novos requisitos frequentemente surgem. A maior causa de falha em sistemas Java Enterprise não é "código lento", e sim o programador codificar perfeitamente uma "feature que o cliente nunca pediu", devido a uma falha na documentação de Especificação.