Desenvolvimento de Software Apoiado por IA — 2026.4

Atividade Prática 1
Uma aplicação de verdade com SDD

👨‍🏫 Prof. Gustavo Pinto 🏛️ UFPA 📅 29 de setembro de 2026 🕐 20h

A atividade

Apresentação em 01/10. O último commit que conta é o de 01/10 às 18h.

Requisitos

Publicada

Abre com um clique, em uma URL pública, no dia da apresentação.

100 mil linhas

No mínimo, contadas com cloc. Dependências, locks, build e dados não contam.

SDD

Uma spec para cada parte do sistema, datada, na pasta SPEC/, escrita antes do código que ela descreve.

Registro completo

Todos os prompts, do primeiro ao último, com a ferramenta e o modelo usados.

Uma aplicação no ar sem os prompts não será avaliada.

O repositório

Estrutura de pastas

.
├── README.md      # URL, dupla, stack, como rodar, ferramentas, modelos, saída do cloc
├── SPEC/          # uma spec por parte do sistema, datada
├── src/           # organização interna livre
├── tests/
└── prompts/
    └── sessoes/   # exportações brutas das ferramentas

Opcionais: PLAN.md, TASKS.md, AGENTS.md, um índice dos prompts, o registro de custo. Usem se ajudar.

A pasta SPEC/

SPEC/
├── 2026-09-29-visao-geral.md
├── 2026-09-29-cadastro-e-login.md
├── 2026-09-30-cardapio.md
├── 2026-09-30-carrinho.md
└── 2026-10-01-pagamento.md   # substitui a parte de checkout de carrinho.md

O que vai em cada spec

# Carrinho (2026-09-30)

## O quê e por quê
O cliente junta itens de um restaurante antes de pagar.

## Critérios de aceitação
- itens de restaurantes diferentes não se misturam
- item sem estoque não entra no carrinho
- o total inclui a taxa de entrega

## Fora do escopo
Cupons de desconto.

Critérios de aceitação verificáveis são o que o agente usa para saber quando parar, e o que vocês usam para revisar.

Todo prompt conta

prompts/sessoes/: a fonte de verdade

Antes de cada commit, procure segredos na exportação: chaves de API, senhas, .env. Chave exposta precisa ser revogada, não apenas apagada.

Commits

carrinho: bloqueia item sem estoque

Agent: claude-code/claude-sonnet-5-5
Spec: SPEC/2026-09-30-carrinho.md

Contagem de linhas

Apenas arquivos versionados, sem documentação nem dados:

cloc . --vcs=git \
  --exclude-dir=node_modules,vendor,dist,build,prompts \
  --exclude-lang=Markdown,JSON,YAML,CSV,Text,SVG \
  --not-match-f='(lock|\.min\.)'

A saída vai no README.md, com as linhas de teste separadas das demais.

Apresentação em 01/10

Sem slides. O repositório e a aplicação bastam.

Checklist de entrega

Mãos à obra

Próxima: apresentação da AP1, em 01/10

📧 gpinto@ufpa.br