Ir para o conteúdo

KA 03: Design de Software

"O código tornou-se commodity; o contexto tornou-se capital."

Introdução

O design de software está passando por uma transformação fundamental impulsionada pela IA generativa e Large Language Models (LLMs). Este Knowledge Area reimagina as práticas de design de software para a era onde a geração algorítmica é infraestrutura, não produto.

A premissa central deste KA é que engenheiros de software estão migrando de codificadores linha a linha para orquestradores de sistemas e especificadores de contexto. As habilidades tradicionais de implementação manual permanecem valiosas, mas o valor diferencial moveu-se para a capacidade de projetar sistemas complexos, gerenciar contextos ricos e supervisionar comportamentos de IA.

O Que Você Vai Aprender

Após estudar este KA, você será capaz de:

  • Compreender a nova realidade do design de software na era da IA, incluindo paradigmas emergentes como Chat-Oriented Programming (CHOP) e Vibe Coding
  • Aplicar princípios clássicos de design (SOLID, DRY, KISS) em contexto de desenvolvimento com IA generativa
  • Diferenciar os papéis de arquitetura e design em projetos com sistemas de IA
  • Utilizar padrões de design clássicos adaptados para sistemas com LLMs
  • Implementar os 32+ novos padrões de design específicos para IA generativa
  • Projetar sistemas usando Agentic Design Patterns e padrões de colaboração multi-agent
  • Dominar o Context Engineering como disciplina central de design
  • Documentar decisões de design de forma efetiva em projetos com IA
  • Preparar-se para o futuro do papel do designer de software

Estrutura do KA

Este Knowledge Area está organizado em 10 seções:

1. Introdução ao Design de Software na Era da IA

Estabelece o contexto fundamental da transformação do design impulsionada por IA, apresentando a mudança de paradigma onde engenheiros atuam como orquestradores.

2. Princípios de Design Clássicos na Era da IA

Reinterpreta SOLID, DRY, KISS e outros princípios para o contexto de desenvolvimento com IA, mostrando como aplicá-los via engenharia de prompt.

3. Arquitetura vs Design em Contexto de IA

Diferencia claramente os papéis de arquitetura e design em projetos com IA, estabelecendo limites, responsabilidades e o papel evolutivo do arquiteto.

4. Padrões de Design Clássicos na Era da IA

Revisa os padrões GoF e empresariais, mostrando como são aplicados e gerados por IA, com novos usos em sistemas com LLMs.

5. Novos Padrões de Design para IA

Apresenta os 32 padrões de design catalogados por Lakshmanan & Hapke (O'Reilly, 2024) e frameworks como LLM Triangle Principles.

6. Design Patterns para Sistemas com IA

Detalha patterns específicos para arquitetura de sistemas com IA: agentic patterns, colaboração multi-agent e padrões de resiliência.

7. Design Centrado em Contexto

Estabelece o Context Engineering como disciplina central, detalhando os seis pilares, componentes e patterns para gerenciamento efetivo de contexto.

8. Documentação de Design

Apresenta as evoluções necessárias nas práticas de documentação em projetos com IA: Prompt Specification Docs, Context Flow Diagrams, AI Contract Sheets.

9. O Futuro do Designer de Software

Analisa mudanças no papel do designer, novas competências, gargalos emergentes e tendências como Agentic AI e Context-First Development.

10. Checklist e Templates

Ferramentas práticas: checklists de design para sistemas com IA e templates de documentação para componentes com IA.

Público-Alvo

Este KA é destinado a:

  • Arquitetos de Software que precisam integrar IA em suas decisões arquiteturais
  • Líderes Técnicos responsáveis por definir padrões e práticas de design
  • Engenheiros Seniores que trabalham com sistemas tradicionais e/ou com IA generativa
  • Desenvolvedores em transição para papéis de orquestração e design de contexto
  • Product Managers técnicos que precisam entender as implicações de design de sistemas com IA

Pré-requisitos

Embora este KA seja autocontido, recomenda-se familiaridade com:

  • Conceitos básicos de design de software (princípios SOLID, padrões GoF)
  • Fundamentos de arquitetura de software
  • Conhecimento introdutório sobre LLMs e IA generativa
  • Experiência com programação em pelo menos uma linguagem orientada a objetos

Relação com Outros KAs

Este Knowledge Area se relaciona estreitamente com:

  • KA 02: Arquitetura de Software - Design e arquitetura são disciplinas complementares
  • KA 04: Construção de Software - O design influencia diretamente como o código é construído
  • KA 05: Teste de Software - Padrões de design afetam estratégias de teste
  • KA 12: Qualidade de Software - Princípios de design são fundamentais para qualidade
  • KA 13: Segurança de Software - Design de sistemas com IA requer considerações especiais de segurança

Como Usar Este KA

  1. Leitura Sequencial: Para uma compreensão completa, leia as seções na ordem apresentada
  2. Consulta Rápida: Use o índice para navegar diretamente aos tópicos de interesse
  3. Aplicação Prática: A Seção 10 (Checklist e Templates) pode ser usada como referência prática durante projetos
  4. Estudo de Caso: Considere aplicar os conceitos em um projeto real ou hipotético enquanto estuda

Referências Principais

  • Khononov, Vlad. "Balancing Coupling in Software Design." Pearson, 2024.
  • Lakshmanan, Valliappa & Hapke, Hannes. "Generative AI Design Patterns." O'Reilly, 2024.
  • GitHub. "Survey: AI Wave Grows." 2024.
  • Ng, Andrew. "4 Agentic Design Patterns." Snowflake BUILD 2024.
  • Weaviate. "Context Engineering for AI Agents." 2025.

Este KA faz parte do SWEBOK-AI v5.0 - Software Engineering Body of Knowledge para a era dos LLMs.