Diagrama de classes
O Diagrama de classes tem como objetivo descrever os vários tipos de objetos no sistema e o relacionamento entre eles. Já vimos na Unidade III o conceito de classes e objetos. Você se lembra?
Nós construímos diagramas de classes baseados em casos de uso. Isso facilita a identificar quais os objetos e classes são necessários para o sistema que estamos construindo.
Um diagrama de classes pode ser apresentado em três perspectivas (CASTRO et al, 2014), são elas:
- Conceitual - apenas classes são utilizadas. Neste tipo de perspectiva, uma classe é interpretada como um conceito. Apenas atributos são utilizados e alguns tipos de relacionamentos.
- Especificação - tanto classes como interfaces são utilizadas neste tipo de perspectiva. O foco consiste em mostrar as principais interfaces e classes juntamente com seus métodos. Não é necessário mostrar todos os métodos, pois o objetivo deste diagrama, nesta perspectiva, é prover um maior entendimento da arquitetura do software a nível de interfaces.
- Implementação - nesta perspectiva, vários detalhes de implementação podem ser abordados, tais como: visibilidade de atributos e métodos, parâmetros de cada método, tipos dos atributos e dos valores de retorno de cada método etc.
Nessa unidade, vamos focar, inicialmente, na perspectiva conceitual, pois estudaremos o
diagrama de classes como representação das entidades, atributos e relacionamentos. Um
diagrama de classes contém entidades e relacionamentos. As entidades podem ser
representadas pelas classes. As classes são representadas por um retângulo dividido em três
compartimentos (OMG, SD), conforme figura 6:
- Nome - que conterá apenas o nome da classe modelada;
- Atributos - que possuirá a relação de atributos que a classe possui em sua estrutura interna;
- Operações - que serão os métodos de manipulação de dados e de comunicação de uma classe com outras do sistema.
Os relacionamentos ligam as classes/objetos entre si, criando relações lógicas entre estas
entidades. O relacionamento tem:
Papel - descreve o relacionamento. A figura 7 apresenta o papel “possui” que descreve o
relacionamento ou a conexão entre as classes cliente e empréstimo.
Multiplicidade: para expressar a multiplicidade entre os relacionamentos, um intervalo indica
quantos objetos estão relacionados no link. O intervalo pode ser de zero para um (0..1), zero
para vários (0..* ou apenas *), um para vários (1..*). É também possível expressar uma série de
números como (1, 4, 3..5). Se não for descrito nenhuma multiplicidade, então é considerado o
padrão de um para um (1..1 ou apenas 1). A tabela 1 apresenta de forma sucinta as
possibilidades, e a figura 8, um exemplo.
Saiba mais!
Saiba mais sobre o diagrama de classes lendo o artigo: Orientações básicas na
elaboração de um diagrama de classes. O artigo é bem detalhado e dá um
passo a passo para a elaboração de um diagrama de classes.
Os relacionamentos, considerando a perspectiva conceitual, podem ser dos seguintes tipos:
Associação: é uma conexão entre classes e também significa que é uma conexão entre objetos
daquelas classes. É representada por uma linha sólida entre duas classes. Pode-se também
colocar uma seta no final da associação indicando que esta só pode ser usada para o lado em que
a seta aponta (OMG, SD). A figura 8 apresenta esses dois tipos de representação. Esse diagrama
de classes representa um modelo simples em que um cliente tem faturas e pode efetuar o
pagamento. A classe pagamento é um exemplo de classe abstrata.
Herança/Generalização: já vimos o conceito de Herança/Generalização na Unidade III.
Mecanismo baseado em objetos que permite que as classes compartilhem atributos e operações
baseados em um relacionamento, geralmente, generalização.
Veja o vídeo “UML - Diagrama de Classe - Parte 2 – Associação” para
complementar o seu conhecimento.
Fonte: MedioTec / Curso Técnico em Informática - Analise e Projetos de Sistemas





