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:

  1. 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.
  2. 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.
  3. 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.



O que a figura 7 mostra? Que um objeto cliente pode se relacionar com muitos objetos empréstimo, ou seja, de uma forma bem simples: que um cliente pode ter 0 ou muitos empréstimos de livros.

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.
       



Saiba mais! 
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
Autora: Angélica Toffano Sedel Calazans


ATIVIDADE DE FIXAÇÃO

Postagens mais visitadas deste blog

O modelo em cascata: um modelo sequencial

Representação dos Elementos do Diagrama de classes

instalar WordPress no computador (localhost)