💻 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:
- Definir a Arquitetura Geral: Ex: Criar as pastas
controller,service,repositoryemodel(O padrão MVC). - Mapear o Banco de Dados: Construir as Entidades
@Entityque virarão tabelas no banco de dados. - 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:
| Tipo | Descriçã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.printlnpor 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 / SLF4Jno Spring).