AULA 09 MÓDULO 0 processo de desenvolvimento ⏱ 50 min

SDD — Specification-Driven Development

Especificar antes de codificar. OpenAPI como spec de API. C4 como spec de arquitetura. Como a IA usa specs formais para gerar código auditável.

SDDOpenAPIspeccontratosarquiteturaIA assistida

O que é Specification-Driven Development

SDD é a prática de especificar formalmente antes de codificar. A spec é um contrato legível por humanos e máquinas — e quando a máquina é uma IA, a spec bem escrita resulta em código muito mais preciso e consistente.

📐
analogia — planta de engenharia
Um engenheiro civil não constrói sem planta. A spec é a planta do software: quem são as partes, como se comunicam, o que aceitam e o que retornam.

OpenAPI como spec de API

OpenAPI (Swagger) é o formato padrão para descrever APIs REST. Com um arquivo openapi.yaml, você documenta endpoints, parâmetros, respostas e schemas antes de escrever uma linha de código. A IA usa essa spec para gerar código consistente.

BENEFÍCIOS DO OPENAPI
✓ Documentação automática (Swagger UI)
✓ Geração de código cliente e servidor
✓ Validação de requests/responses
✓ Base para testes de contrato
✓ Input ideal para IA gerar handlers

C4 + OpenAPI + IA = SDD

O fluxo completo do SDD combina os artefatos que você já aprendeu:

C4
Arquitetura
OpenAPI
Contratos
Histórias
Requisitos
IA
Gera código
javascript
# openapi.yaml — spec antes do código
openapi: "3.0.0"
info:
  title: API de Usuários
  version: "1.0.0"

paths:
  /users:
    post:
      summary: Criar usuário
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [name, email, password]
              properties:
                name:  { type: string, minLength: 2 }
                email: { type: string, format: email }
                password: { type: string, minLength: 8 }
      responses:
        "201":
          description: Usuário criado
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
        "400": { description: Dados inválidos }
        "409": { description: Email já existe }
quiz · aula 09
Teste seus conhecimentos
0/3 respondidas
QUESTÃO 01
Qual é a principal vantagem do SDD com IA?
QUESTÃO 02
OpenAPI descreve o quê?
QUESTÃO 03
No fluxo SDD, qual é a ordem correta?
0/3