Space Programmer.Com

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.


2 comentários

Marcelo · 24/09/2017 às 16:53

Muito bom o post.

Marcio · 24/09/2017 às 17:19

muito bom

Deixe um comentário para Marcio Cancelar resposta

Avatar placeholder

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

Cupom 10% OFF
Experimente o criador de sites com inteligência artificial da Hostinger
SPACEPROGRAMMER10
Cupom 10% OFF
Experimente o criador de sites com inteligência artificial da Hostinger
SPACEPROGRAMMER10