30
Diagrama de Classes Prof. Luís Fernando Garcia Prof. Luís Fernando Garcia [email protected] [email protected]

Diagrama de Classes Prof. Luís Fernando Garcia [email protected]

Embed Size (px)

Citation preview

Page 1: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de Classes

Prof. Luís Fernando GarciaProf. Luís Fernando [email protected]@GARCIA.PRO.BR

Page 2: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• Diagrama mais Diagrama mais

• IMPORTANTE e IMPORTANTE e • UTILIZADOUTILIZADO

Page 3: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• Visa permitir a visualização das Visa permitir a visualização das classesclasses que comporão o sistema junto que comporão o sistema junto com os respectivos com os respectivos atributosatributos e e métodosmétodos, bem como mostrar como as , bem como mostrar como as classes se classes se relacionamrelacionam, complementam , complementam e transmitem informações entre si ...e transmitem informações entre si ...

Page 4: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• Visão ESTÁTICA das classesVisão ESTÁTICA das classes• Estrutura lógica das classesEstrutura lógica das classes• Serve de base para os demais ...Serve de base para os demais ...

Page 5: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• Composto por:Composto por:• ClassesClasses• AssociaçõesAssociações – Relacionamento entre as – Relacionamento entre as

classesclasses

• ““Idéia” do diagrama “E-R” Idéia” do diagrama “E-R”

Page 6: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• PERSISTÊNCIAPERSISTÊNCIA

• Visa preservar de maneira permanente os Visa preservar de maneira permanente os objetos de uma classe – “gravar em disco”objetos de uma classe – “gravar em disco”

• Nem toda classe é/precisa ser persistente ...Nem toda classe é/precisa ser persistente ...

• Necessário explicitamente definir através de Necessário explicitamente definir através de um estereótipo/restrição ...um estereótipo/restrição ...

• Diagrama de classe Diagrama de classe Esquema lógico BD Esquema lógico BD

Page 7: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• CLASSES, ATRIBUTOS E MÉTODOSCLASSES, ATRIBUTOS E MÉTODOS

• Atributos – Armazenam os “dados” dos objetosAtributos – Armazenam os “dados” dos objetos• Métodos – Funções que uma instância da classe pode executarMétodos – Funções que uma instância da classe pode executar

Page 8: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• CLASSES, ATRIBUTOS E MÉTODOSCLASSES, ATRIBUTOS E MÉTODOS

• ““+” = Visibilidade pública – pode ser utilizado por qq classe +” = Visibilidade pública – pode ser utilizado por qq classe • ““#” = Visibilidade protegida – somente a própria classe ou suas #” = Visibilidade protegida – somente a própria classe ou suas

subclasses podem ter acessosubclasses podem ter acesso• ““-” = Visibilidade privada – Somente a classe possuidora do -” = Visibilidade privada – Somente a classe possuidora do

atributo poderá utilizá-loatributo poderá utilizá-lo

Page 9: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• RELACIONAMENTOSRELACIONAMENTOS

• As classes costumam ter relacionamentos entre si As classes costumam ter relacionamentos entre si com o intuito de compartilhar informações e com o intuito de compartilhar informações e colaborarem umas com as outras para permitir a colaborarem umas com as outras para permitir a execução dos processos ...execução dos processos ...

• AssociaçõesAssociações• Especialização/GeneralizaçãoEspecialização/Generalização• DependênciaDependência• RealizaçãoRealização

Page 10: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• ASSOCIAÇÕESASSOCIAÇÕES

• Descreve um vínculo que ocorre normalmente entre Descreve um vínculo que ocorre normalmente entre duas classes (binária),entre uma classe com ela duas classes (binária),entre uma classe com ela mesma (unária) e entre várias classes (ternária/N-mesma (unária) e entre várias classes (ternária/N-ária)ária)

• Determinam-se que instâncias de uma classe estão Determinam-se que instâncias de uma classe estão de alguma forma ligadas às instâncias de outra de alguma forma ligadas às instâncias de outra classe – podendo haver troca de informações e classe – podendo haver troca de informações e compartilhamento de métodos ...compartilhamento de métodos ...

Page 11: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• ASSOCIAÇÕESASSOCIAÇÕES

• ““Equivalência” dos relacionamentos E-REquivalência” dos relacionamentos E-R

• Representadas por Retas ligando as classesRepresentadas por Retas ligando as classes• Setas (Setas () = representam a navegabilidade (sentido ) = representam a navegabilidade (sentido

das informações)das informações)• Títulos = determinam o tipo de vínculo entre as Títulos = determinam o tipo de vínculo entre as

classes ...classes ...

Page 12: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• ASSOCIAÇÃO UNÁRIA ou reflexivaASSOCIAÇÃO UNÁRIA ou reflexiva

Page 13: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes• ASSOCIAÇÃO UNÁRIA - exemploASSOCIAÇÃO UNÁRIA - exemplo

• Associação “Associação “ChefiaChefia” ” • Determina que um funcionário pode ou não chefiar Determina que um funcionário pode ou não chefiar

outros funcionários ...outros funcionários ...

• Multiplicidade “Multiplicidade “0..*0..*” (semelhante a cardinalidade)” (semelhante a cardinalidade)

• Indica que um determinado funcionário pode chefiar Indica que um determinado funcionário pode chefiar nenhum (0) ou muitos (*) funcionários ...nenhum (0) ou muitos (*) funcionários ...

Page 14: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

Page 15: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• ASSOCIAÇÃO BINÁRIAASSOCIAÇÃO BINÁRIA

• Associações entre duas classesAssociações entre duas classes• Mais comumMais comum

Page 16: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• ASSOCIAÇÃO BINÁRIAASSOCIAÇÃO BINÁRIA

Page 17: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• ASSOCIAÇÃO TERNÁRIA ou N-ÁRIAASSOCIAÇÃO TERNÁRIA ou N-ÁRIA

• Associações que conectam mais de duas classes Associações que conectam mais de duas classes • São representadas por um losângulo para onde São representadas por um losângulo para onde

convergem todas as ligações de associaçãoconvergem todas as ligações de associação• (No JUDE representado por um círculo-”entity”)(No JUDE representado por um círculo-”entity”)

• Úteis para demonstrar associações complexas Úteis para demonstrar associações complexas • Devem ser evitadas – difíceis de interpretarDevem ser evitadas – difíceis de interpretar

Page 18: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• ASSOCIAÇÃO TERNÁRIA ou N-ÁRIAASSOCIAÇÃO TERNÁRIA ou N-ÁRIA

Page 19: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• AGREGAÇÃOAGREGAÇÃO

• Tipo especial de associação onde tenta-se Tipo especial de associação onde tenta-se demonstrar que as informações de um objeto demonstrar que as informações de um objeto (objeto-todo) precisam ser (objeto-todo) precisam ser complementadascomplementadas pelas pelas informações contidas em um ou mais objetos de informações contidas em um ou mais objetos de outra classe (objeto-parte)outra classe (objeto-parte)

• Relação Todo-ParteRelação Todo-Parte• Losângulo (não pintado) na extremidade que contém Losângulo (não pintado) na extremidade que contém

os objetos-todo ...os objetos-todo ...

Page 20: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• AGREGAÇÃOAGREGAÇÃO

Page 21: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• COMPOSIÇÃOCOMPOSIÇÃO

• Variação da associação de agregação.Variação da associação de agregação.

• Vínculo mais forte entre Objetos-Todo e Objetos-Vínculo mais forte entre Objetos-Todo e Objetos-ParteParte

• Objetos-Parte têm de pertencer exclusivamente a um Objetos-Parte têm de pertencer exclusivamente a um Objeto-Todo Objeto-Todo

• Losângulo (pintado)Losângulo (pintado)

Page 22: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• COMPOSIÇÃOCOMPOSIÇÃO

Page 23: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• ESPECIALIZAÇÃO/GENERALIZAÇÃOESPECIALIZAÇÃO/GENERALIZAÇÃO

• Tipo especial de relacionamento ...Tipo especial de relacionamento ...• Identificar classes-mãe (gerais) e classes-filha Identificar classes-mãe (gerais) e classes-filha

(especializadas)(especializadas)

• Permite métodos polimórficosPermite métodos polimórficos• Classes com características semelhantesClasses com características semelhantes

Page 24: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

Page 25: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• DEPENDÊNCIADEPENDÊNCIA

• Demonstra certo grau de dependência de uma classe a outraDemonstra certo grau de dependência de uma classe a outra• Mudança numa classe deverá refletir na outraMudança numa classe deverá refletir na outra

Page 26: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• REALIZAÇÃOREALIZAÇÃO

• Mistura características de generalização e Mistura características de generalização e dependênciadependência

• Identificar classes responsáveis por executar Identificar classes responsáveis por executar funções para classes que representam interfacesfunções para classes que representam interfaces

Page 27: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes• Classe AssociativaClasse Associativa

• Produzidas quando da ocorrência de associações Produzidas quando da ocorrência de associações que possuem multiplicidade muitos (*) em todas as que possuem multiplicidade muitos (*) em todas as suas extremidadessuas extremidades

• Classe para armazenar os atributos transmitidos Classe para armazenar os atributos transmitidos pela associaçãopela associação

Page 28: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes• Classe AssociativaClasse Associativa

Page 29: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• RESTRIÇÃO (constraint)RESTRIÇÃO (constraint)

Page 30: Diagrama de Classes Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR

Diagrama de ClassesDiagrama de Classes

• EXEMPLOS-Exercícios (LIVRO) - HOJEEXEMPLOS-Exercícios (LIVRO) - HOJE

• Locação de FitasLocação de Fitas• Controle de CursosControle de Cursos• Venda de Passagens AéreasVenda de Passagens Aéreas• Clínica VeterináriaClínica Veterinária• Escritório de AdvocaciaEscritório de Advocacia