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

💻 Projeto e Implementação de Software

Segundo Sommerville (2011), a implementação é o processo de conversão de uma especificação em um sistema executável. Esta etapa é onde o café vira código. Nas engenharias modernas, isso se confunde: um Arquiteto projeta classes Java, e o Desenvolvedor as codifica quase ao mesmo tempo no Spring Boot.


📐 O Processo de Projeto

Para Pressman (2011), o projeto de software cria um modelo do sistema, detalhando a arquitetura, as estruturas de dados e interfaces. O programador deve:

  1. Definir a Arquitetura Geral: Ex: Criar as pastas controller, service, repository e model (O padrão MVC).
  2. Mapear o Banco de Dados: Construir as Entidades @Entity que virarão tabelas no banco de dados.
  3. Desenvolver Lógica de Negócios: Escrever os métodos de serviço pesados com as regras operacionais.

📊 Teste vs Depuração (Debug)

No desenvolvimento, é comum que programadores garantam que seus códigos funcionam antes de entregar o MR (Merge Request). No entanto, é vital distinguir:

TipoDescrição no Ciclo de Vida do Código
Teste (Automático/Manual)A arte de rodar a API (via Postman ou automatizado com JUnit). O objetivo do teste é comprovar que um erro existe.
Depuração (Debug)O que você faz dentro da sua IDE (IntelliJ ou Eclipse) colocando um Breakpoint no código. O processo de isolar e consertar o código linha a linha.
graph LR
    T[Testes Unitários / QA] --> |"Quebrou a API"| D[Depuração via IDE]
    D --> |"Erro de Lógica Corrigido"| T
    
    style D fill:#fdf2f2,stroke:#c0392b

[!TIP] 💡 Dica de Performance: Um desenvolvedor inexperiente espalha System.out.println por todo lado para achar o defeito. Um Engenheiro Sênior usa os atalhos de depuração do ambiente (Breakpoints) e logs avançados configurados (Logback / SLF4J no Spring).