Diagrama de classes
O diagrama de classes é o mais importante diagrama da UML, ele está no centro da sua arquitetura e a partir desse diagrama outros diagramas são elaborados. O diagrama de classes é uma importante ferramenta para a documentação de um sistema ou produto de software, nesse sentido Melo (2002, p. 85) ressalta: “Se o protagonista de um sistema desenvolvido sob a análise orientada a objetos é um objeto, nada mais justo do que termos onde documentar os objetos encontrados nos requisitos do sistema.”
Segundo Fowler (2000, p. 57), “Um diagrama de classes descreve os tipos de objetos no sistema e os vários tipos de relacionamentos estáticos que existem entre eles”. As classes representam as propriedades e o comportamento de um …exibir mais conteúdo…
Esse tipo de relacionamento traz, assim como a Agregação, os conceitos de responsabilidades entre as classes, porém de forma mais acentuada.
Segundo BEZERRA (2007, p. 123), “nas agregações/composições, as partes são normalmente criadas e destruídas pelo todo. Na classe do objeto todo, são definidas as operações para adicionar e remover as partes”.
MULTIPLICIDADE
É a indicação de quantos objetos podem participar de um relacionamento.
NOME DO PAPEL
É uma descrição (rótulo explicativo) inserido na ponta de uma associação.
GENERALIZAÇÃO
É um relacionamento onde temos uma classe ancestral (supertipo) e outras classes herdadas (subtipos). o subtipo deve incluir todos os elementos (atributos e operações) do supertipo. Na implementação física corresponde a um processo de herança. Este é o relacionamento IS-A (é um). Este tipo de relacionamento na linguagem JAVA pode ser identificado com o operador “instanceOff”.
Esse tipo de generalização podem ser restringidos de várias maneiras. Segundo BEZERRA (2007, P. 134), as restrições podem ser: Sobrepostas, para representar herança múltipla; Disjunta para subclasses que só poderão herdar de uma única classe; Completa, quando todas as classes herdadas possíveis foram definidas; Incompleta quando nem todas as subclasses foram definidas.
INTERFACE
A interface define apenas a assinatura dos métodos da classe sem apresentar sua implementação. Normalmente, nas linguagens de programação orientadas a objetos,