Série: Padrões de Projeto e Análise | Introdução > Desenvolvido durante o Mestrado em Projetos de Sistemas Web
Algumas semanas atrás, durante a aula de Modelagem Orientada a Objetos e UML com o professor Osmar Fernandes Jr., fomos introduzidos aos Padrões de Análise de Software. Este post resume esse conceito e mostra como ele nos ajuda a modelar estruturas de negócio recorrentes com clareza.
Por que isso importa
À medida que sistemas e processos crescem em complexidade, surgem milhares de regras, entidades e relacionamentos. Os padrões de análise nos ajudam a:
- Compartilhar soluções reutilizáveis
- Formalizar conceitos do domínio
- Evitar reinventar a roda em novos módulos ou sistemas
O que são Padrões de Análise
No livro Analysis Patterns: Reusable Object Models, Martin Fowler define esses padrões como modelos conceituais reutilizáveis. Cada padrão representa uma combinação de classes, atributos e relacionamentos que aparecem repetidamente em diferentes domínios de negócio.
Eles permitem que ideias complexas sejam comunicadas visualmente e com consistência.
Exemplos com UML
Party
Define um supertipo genérico para pessoas e organizações.
- Evita duplicação de lógica entre entidades que compartilham relacionamentos (ex: endereço, telefone)
- Útil para modelar qualquer “ator” no sistema

Quantity e Unit
Representa um valor numérico com uma unidade (ex: 20 km).
Quantity
encapsula valor e unidade- Suporta operações como
+
,-
,*
,/
entre quantidades compatíveis

Conversion Ratio
Permite transformar uma Quantity
de uma unidade para outra.
ConversionRatio
liga duas unidades com um fator multiplicador- Usado em operações como
convertTo(Unit)

Compound Units
Modela unidades compostas como km/h ou R$/m².
- Representa combinações de múltiplas
Unit
- Suporta sistemas mais avançados de medição


Hierarquias Organizacionais
Modela estruturas hierárquicas de forma recursiva.
Organization
pode ter umparent
e váriassubsidiaries
- Ideal para modelar regiões, divisões, escritórios, etc.

Estrutura Organizacional
Explicita o tipo de relacionamento organizacional.
- Define
Organization Structure Type
(ex: subsidiária, joint venture) - Separa o relacionamento das entidades envolvidas

Conclusão
Padrões de análise ajudam a visualizar, discutir e construir sistemas mais robustos e alinhados com o mundo real. Eles são reutilizáveis, precisos e economizam horas de discussão.
Em posts futuros, vamos explorar como os padrões de projeto (design patterns) complementam esses conceitos na implementação.
Navegação da Série
- Atual: Introdução - Padrões de Análise
- Próximo: Parte 1 - Padrões de Projeto Overview
- Série completa: Padrões de Projeto Overview | Padrões de Criação | Padrões Estruturais | Padrões Comportamentais