Diagrama de Classes
Prof. Luís Fernando Garcia
[email protected]
– 2014/1
Diagrama de Classes
• Diagrama mais
• IMPORTANTE e
• UTILIZADO
Diagrama de Classes
• Visa permitir a visualização das
classes que comporão o sistema junto
com os respectivos atributos e
métodos, bem como mostrar como as
classes se relacionam, complementam
e transmitem informações entre si ...
Diagrama de Classes
• Visão ESTÁTICA das classes
• Estrutura lógica das classes
• Serve de base para os demais ...
Diagrama de Classes
• Composto por:
• Classes
• Associações – Relacionamento entre as
classes
• “Idéia” do diagrama “E-R”
Diagrama de Classes
• PERSISTÊNCIA
• Visa preservar de maneira permanente os
objetos de uma classe – “gravar em disco”
• Nem toda classe é/precisa ser persistente ...
• Necessário explicitamente definir através de
um estereótipo/restrição ...
• Diagrama de classe  Esquema lógico BD
Diagrama de Classes
• CLASSES, ATRIBUTOS E MÉTODOS
• Atributos – Armazenam os “dados” dos objetos
• Métodos – Funções que uma instância da classe pode executar
Diagrama de Classes
• CLASSES, ATRIBUTOS E MÉTODOS
• “+” = Visibilidade pública – pode ser utilizado por qq classe
• “#” = Visibilidade protegida – somente a própria classe ou suas
subclasses podem ter acesso
• “-” = Visibilidade privada – Somente a classe possuidora do
atributo poderá utilizá-lo
Diagrama de Classes
• RELACIONAMENTOS
• As classes costumam ter relacionamentos entre si
com o intuito de compartilhar informações e
colaborarem umas com as outras para permitir a
execução dos processos ...
•
•
•
•
Associações
Especialização/Generalização
Dependência
Realização
Diagrama de Classes
• ASSOCIAÇÕES
• Descreve um vínculo que ocorre normalmente entre
duas classes (binária),entre uma classe com ela
mesma (unária) e entre várias classes (ternária/Nária)
• Determinam-se que instâncias de uma classe estão
de alguma forma ligadas às instâncias de outra
classe – podendo haver troca de informações e
compartilhamento de métodos ...
Diagrama de Classes
• ASSOCIAÇÕES
• “Equivalência” dos relacionamentos E-R
• Representadas por Retas ligando as classes
• Setas () = representam a navegabilidade (sentido
das informações)
• Títulos = determinam o tipo de vínculo entre as
classes ...
Diagrama de Classes
• ASSOCIAÇÃO UNÁRIA ou reflexiva
Diagrama de Classes
• ASSOCIAÇÃO UNÁRIA - exemplo
• Associação “Chefia”
• Determina que um funcionário pode ou não chefiar
outros funcionários ...
• Multiplicidade “0..*” (semelhante a cardinalidade)
• Indica que um determinado funcionário pode chefiar
nenhum (0) ou muitos (*) funcionários ...
Diagrama de Classes
Diagrama de Classes
• ASSOCIAÇÃO BINÁRIA
• Associações entre duas classes
• Mais comum
Diagrama de Classes
• ASSOCIAÇÃO BINÁRIA
Diagrama de Classes
• ASSOCIAÇÃO TERNÁRIA ou N-ÁRIA
• Associações que conectam mais de duas classes
• São representadas por um losângulo para onde
convergem todas as ligações de associação
• (No Astah representado por um círculo-”interface”)
• Úteis para demonstrar associações complexas
• Devem ser evitadas – difíceis de interpretar
Diagrama de Classes
• ASSOCIAÇÃO TERNÁRIA ou N-ÁRIA
Diagrama de Classes
• AGREGAÇÃO
• Tipo especial de associação onde tenta-se
demonstrar que as informações de um objeto
(objeto-todo) precisam ser complementadas pelas
informações contidas em um ou mais objetos de
outra classe (objeto-parte)
• Relação Todo-Parte
• Losângulo (não pintado) na extremidade que contém
os objetos-todo ...
Diagrama de Classes
• AGREGAÇÃO
Diagrama de Classes
• AGREGAÇÃO
Diagrama de Classes
• COMPOSIÇÃO
• Variação da associação de agregação.
• Vínculo mais forte entre Objetos-Todo e ObjetosParte
• Objetos-Parte têm de pertencer exclusivamente a um
Objeto-Todo
• Losângulo (pintado)
Diagrama de Classes
• COMPOSIÇÃO
Diagrama de Classes
• COMPOSIÇÃO
Diagrama de Classes
• ESPECIALIZAÇÃO/GENERALIZAÇÃO
• Tipo especial de relacionamento ...
• Identificar classes-mãe (gerais) e classes-filha
(especializadas)
• Permite métodos polimórficos
• Classes com características semelhantes
Diagrama de Classes
Diagrama de Classes
• DEPENDÊNCIA
• Demonstra certo grau de dependência de uma classe a outra
• Mudança numa classe deverá refletir na outra
Diagrama de Classes
• REALIZAÇÃO
• Mistura características de generalização e
dependência
• Identificar classes responsáveis por executar
funções para classes que representam interfaces
Diagrama de Classes
• Classe Associativa
• Produzidas quando da ocorrência de associações
que possuem multiplicidade muitos (*) em todas as
suas extremidades
• Classe para armazenar os atributos transmitidos
pela associação
Diagrama de Classes
• Classe Associativa
Diagrama de Classes
• Classe Associativa
Diagrama de Classes
• RESTRIÇÃO (constraint)
Download

Diagrama de Classes - Prof. Dr. Luis Fernando Garcia