O diagrama de classes é um tipo de diagrama de estrutura que serve para representar, visualmente, as classes (e suas relações) de um sistema. Esse diagrama é um dos mais utilizados (se não for o mais utilizado) diagramas da UML. Ele auxilia tanto a construção da aplicação como a construção do banco de dados.

Modelando uma classe no Diagrama

Uma classe neste diagrama é modelada da seguinte forma:

1° compartimento: Nome da Classe – Identidade única

2° compartimento: Atributos – Estado

3° compartimento: Métodos – Comportamentos

A visibilidade dos atributos e métodos no sistema é representado no diagrama da seguinte forma:

  • Pública (+): qualquer classe pode acessa-lo;
  • Privada (-): só a classe que o possui pode acessa-lo;
  • Protegida (#): somente as classes e subclasses podem acessa-lo
  • Pacote (~): todas as classes que pertencem ao pacote podem acessa-lo.

Modelando relacionamentos no diagrama

Associação:

A associação representa a relação existente entre objetos. No diagrama, sua sintaxe é uma linha que liga as duas classes que representam os objetos relacionados.

Casos especiais de Associação

Agregação: representa uma relação todo-parte entre o agregado e suas partes. Nessa relação, a perda do todo não resulta, obrigatoriamente, na perda das partes. Sua sintaxe é uma linha com um losango branco na classe que corresponde ao todo.

Composição: também representa uma relação todo-parte entre o agregado e suas parte. Porém a composição representa um forte relacionamento, em que as partes não sobrevivem sem o todo. Sua sintaxe é a de uma linha com um losango preto na classe que corresponde ao todo.

Generalização / Especialização:

Generalização ou Especialização representa a relação existente entre classes. Este relacionamento também é conhecido na orientação a objetos como herança. É quando existe a necessidade de criar uma classe que herde as propriedades de outra classe, isto é, os atributos, métodos e também relacionamentos (associações) da classe superior.

Nesse exemplo houve a necessidade de criar uma classe mais geral, porque todos os animais possuem tamanho e cor e se alimentam de alguma forma. Por outro lado, houve a necessidade de especializar alguns animais por possuírem características únicas. Animal é uma generalização de Leão e Cavalo e Leão e Cavalo são especializações de Animal. Portanto, generalização e especialização são a mesma coisa, vistas de perspectivas diferentes.

A generalização no diagrama de classes da UML possui como sintaxe uma seta branca e fechada com direção das classes específicas para a mais geral, ou seja, das subclasses para as superclasses.

Conclusão

Neste artigo foi abordado a notação de classes e relacionamentos no diagrama da UML. O próximo passo é saber o que são e como são representados os papéis e multiplicidades de uma Associação, as classes associativas, as classes reflexivas e as associações ternárias.

veja o próximo post: spaceprogrammer.com/uml/compreendendo-multiplicidade-e-os-tipos-de-associacao

Para gerar as imagens dos exemplos acima, utilizamos uma excelente ferramenta para modelagem que é o Astah. Esta ferramenta está disponível gratuitamente na versão Community e para estudantes na versão professional.


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados

Diagramas da UML - Linguagem de Modelagem Unificada

Compreendendo multiplicidade e os tipos de Associação

No post anterior foram vistas as classes e suas associações e generalizações. Neste post daremos continuidade a introdução do diagrama de Classe da UML. Entendendo o conceito de Multiplicidade A multiplicidade nada mais é do que Leia mais…

Diagramas da UML - Linguagem de Modelagem Unificada

Introduzindo os Conceitos de Modelagem e Diagramação

Antes de vermos o que é UML precisamos entender o conceito de Modelagem de Sistemas. Modelagem de sistemas nada mais é do que a atividade de construção de modelos que expliquem/ilustrem a forma de funcionamento Leia mais…