O que é um diagrama de classes?
O diagrama de classes UML é uma notação gráfica usada para construir e visualizar sistemas orientados a objetos. Um diagrama de classes na Unified Modeling Language ( UML ) é um tipo de diagrama de estrutura estática que descreve a estrutura de um sistema mostrando:
- Aulas,
- seus atributos (ou Propriedades),
- operações (ou métodos),
- e as relações entre os objetos.
O que é uma Classe?
Uma classe é um modelo para um objeto. Objetos e classes andam de mãos dadas. Não podemos falar de um sem falar do outro. E todo o objetivo do Design Orientado a Objetos não é sobre objetos, é sobre classes, porque usamos classes para criar objetos. Assim, uma classe descreve o que um objeto será, mas não é o objeto em si.
Na verdade, as classes descrevem o tipo de objetos, enquanto os objetos são instâncias utilizáveis de classes. Cada objeto foi construído a partir do mesmo conjunto de blueprints e, portanto, contém os mesmos componentes (propriedades e métodos). O significado padrão é que um objeto é uma instância de uma classe e objeto — Objetos têm estados e comportamentos.
Exemplo
Um cão tem estados – cor, nome, raça, bem como comportamentos – abanar, latir, comer. Um objeto é uma instância de uma classe.
Notação de classe UML
Uma classe representa um conceito que encapsula estado ( atributos ) e comportamento ( operações ). Cada atributo tem um tipo. Cada operação tem uma assinatura . O nome da classe é a única informação obrigatória .
Nome da classe:
- O nome da classe aparece na primeira partição.
Atributos de classe:
- Os atributos são mostrados na segunda partição.
- O tipo de atributo é mostrado após os dois pontos.
- Os atributos mapeiam em variáveis de membro (membros de dados) no código.
Operações de Classe (Métodos):
- As operações são mostradas na terceira partição. São serviços que a classe oferece.
- O tipo de retorno de um método é mostrado após os dois pontos no final da assinatura do método.
- O tipo de retorno dos parâmetros do método é mostrado após os dois pontos após o nome do parâmetro. As operações mapeiam em métodos de classe no código
Visibilidade da classe
Os símbolos +, — e # antes de um atributo e nome de operação em uma classe denotam a visibilidade do atributo e da operação.
Em
- + denota atributos ou operações públicas
- – denota atributos ou operações privadas
- # denota atributos ou operações protegidas
Direcionalidade do parâmetro
Cada parâmetro em uma operação (método) pode ser indicado como in, out ou inout que especifica sua direção em relação ao chamador. Essa direcionalidade é mostrada antes do nome do parâmetro.
Perspectivas do Diagrama de Classes
A escolha da perspectiva depende de quão avançado você está no processo de desenvolvimento. Durante a formulação de um modelo de domínio , por exemplo, você raramente vai além da perspectiva conceitual . Os modelos de análise normalmente apresentam uma mistura de perspectivas conceituais e de especificação . O desenvolvimento do modelo de design normalmente começa com forte ênfase na perspectiva de especificação e evolui para a perspectiva de implementação .
Um diagrama pode ser interpretado de várias perspectivas:
- Conceitual : representa os conceitos no domínio
- Especificação : o foco está nas interfaces de Abstract Data Type (ADTs) no software
- Implementação : descreve como as classes implementarão suas interfaces
A perspectiva afeta a quantidade de detalhes a serem fornecidos e os tipos de relacionamentos que valem a pena apresentar. Como mencionamos acima, o nome da classe é a única informação obrigatória.
Em
Um diagrama de classes é uma técnica de modelagem central que percorre quase todos os métodos orientados a objetos. Este diagrama descreve os tipos de objetos no sistema e vários tipos de relacionamentos estáticos que existem entre eles.
Relacionamentos
Existem três tipos principais de relacionamentos que são importantes:
- Associação — representam relacionamentos entre instâncias de tipos (uma pessoa trabalha para uma empresa, uma empresa tem vários escritórios.
- Herança — a adição mais óbvia aos diagramas ER para uso em OO. Tem uma correspondência imediata com a herança no design OO.
- Agregação — Agregação, uma forma de composição de objetos em design orientado a objetos.
Exemplo de diagrama de classe: GUI
Um diagrama de classes também pode ter notas anexadas a classes ou relacionamentos.
Ferramenta de software UML gratuita
Neste artigo, apresento duas ferramentas UML:
- Visual Paradigm Community Editon (FREE) é uma ferramenta UML de desktop com recursos de modelagem de recursos. (possível atualização para edições comerciais)
- Visual Paradigm Online para uml geral e outros desenhos de diagramação.
30 Exemplos de Diagramas de Classes
- Exemplos e modelos gratuitos de diagramas de classe editáveis em um software de diagrama de classe online: Visual Paradigm Online.
- Use os modelos como ponto de partida para criar seu próprio Diagrama de Classe.
- ( Clique para editar instantaneamente os exemplos de diagrama de classe )
Para sua conveniência, os exemplos a seguir são configurados no Visual Paradigm Online. Você pode experimentá-lo imediatamente sem configuração ou instalação, divirta-se!
Saída de arquivo (uso de generalização)
Padrões de Design GoF — Flyweight
Padrões de Design GoF — Fachada
Padrões de Design GoF — Decorador
Padrões de Design GoF — Composto
Padrões de Design GoF — Bridge
Padrões de Design GoF — Adaptador
Padrões de Design GoF — Singleton
Padrões de Design GoF — Protótipo
Padrões de Projeto GoF — Método de Fábrica
Padrões de Design GoF — Construtor
Padrões de Design GoF — Abstract Factory
Padrões de Design GoF — Visitante
Padrões de Design GoF — Método de Modelo
Padrões de Design GoF — Estratégia
Padrões de Projeto GoF — Estado
Padrões de Projeto GoF — Observador
Padrões de Design GoF — Memento
Padrões de Design GoF — Mediador
Padrões de Design GoF — Iterador
Padrões de Design GoF — Intérprete
Padrões de Design GoF — Comando
Padrões de Design GoF — Cadeia de Responsabilidade
Diagrama de Classes – Processo de Pedido
Diagrama de Classes — Restrições de Classes e Pacotes
Diagrama de Classes — Classe em um Pacote (Companhia Aérea)
Classe de Associação e Auto Associação