Arquitetura de software
Fluxo
- Definir finalidade, restrições e cenários de atributos de qualidade.
- Mapear estado observado, owners, dados, dependências e fluxos.
- Identificar forças, decisões irreversíveis e riscos.
- Comparar opções pelos mesmos critérios e custo operacional.
- Escolher a menor estrutura que satisfaz os cenários.
- Definir transição, compatibilidade, observabilidade e rollback.
- Registrar decisão e verificar boundaries por testes ou análise.
Padrões
- Dar a cada módulo responsabilidade, dados e interface claros.
- Direcionar dependências para políticas estáveis.
- Evitar serviço, fila, cache ou abstraction sem cenário consumidor.
- Separar arquitetura implementada de arquitetura desejada.
- Expressar atributos como cenários mensuráveis, não adjetivos.
- Manter decisões substituíveis locais e decisões caras explícitas.
- Evoluir por seams verificáveis em vez de reescrita total.
Validação
- Caminhos críticos, falhas, consistência e capacidade.
- Testes de arquitetura ou dependência quando automatizáveis.
- Ensaio de migração, compatibilidade e rollback.
- Revisão dos impactos em segurança, dados e operação.
Leia references/standards.md para views, ADRs, boundaries, atributos e evolução.