Upload
phungliem
View
239
Download
0
Embed Size (px)
Citation preview
11
Diagrama de Classes
Prof. MSc. Anderson Dutra [email protected]
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
22
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
33
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 JUDE representado por um círculo-”entity”)
• Úteis para demonstrar associações complexas
• Devem ser evitadas – difíceis de interpretar
Diagrama de Classes
• ASSOCIAÇÃO TERNÁRIA ou N-ÁRIA
44
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
• COMPOSIÇÃO
• Variação da associação de agregação.
• Vínculo mais forte entre Objetos-Todo e Objetos-Parte
• Objetos-Parte têm de pertencer exclusivamente a um Objeto-Todo
• Losângulo (pintado)
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
55
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
• RESTRIÇÃO (constraint)
Diagrama de Classes
• EXEMPLOS-Exercícios (LIVRO) - HOJE
• Locação de Fitas
• Controle de Cursos
• Venda de Passagens Aéreas
• Clínica Veterinária
• Escritório de Advocacia