290 likes | 515 Views
UML Diagramas de Classe. Estruturas de classes:. Herança: Simples Múltipla Associação (relacionamento): ‘Normal’ Todo/parte: Composição Agregação. Herança simples:. VeículoAMotor. Superclasse. Sentido da seta!. Subclasse. Carro. Caminhão. Herança ( alvo compartilhado ):.
E N D
UMLDiagramas de Classe UML - Diagramas de Classe
Estruturas de classes: • Herança: • Simples • Múltipla • Associação (relacionamento): • ‘Normal’ • Todo/parte: • Composição • Agregação UML - Diagramas de Classe
Herança simples: VeículoAMotor Superclasse Sentido da seta! Subclasse Carro Caminhão UML - Diagramas de Classe
Herança (alvo compartilhado): VeículoAMotor Carro Caminhão UML - Diagramas de Classe
Herança (estilo reduzido): VeículoAMotor Carro Caminhão UML - Diagramas de Classe
Herança múltipla: Aeronave VeículoAMotor Aeroplano Carro Caminhão UML - Diagramas de Classe
Particionamento em subclasses: VeículoAMotor {disjunção, incompleto} Aeroplano Carro Caminhão UML - Diagramas de Classe
Disjuntos • Sobrepostos UML - Diagramas de Classe
Subgrupos completos • … incompletos UML - Diagramas de Classe
Particionamento dinâmico / estático: Funcionário {disjunção, completo, dinâmico} NãoGerente Gerente UML - Diagramas de Classe
Classes mutuamente sobrepostas: Animal {sobreposição, completo} AnimalHerbívoro AnimalCarnívoro Pode haver uma superclasse comum: AnimalOnívoro UML - Diagramas de Classe
Discriminadores de particionamento: Veículo {disjunção, completo} LocalFontePropulsora VeículoExterna/ Propulsionado VeículoInterna/ Propulsionado UML - Diagramas de Classe
… Veículo {disjunção, completo} LocalFontePropulsora VeículoExterna/ Propulsionado VeículoInterna/ Propulsionado {disjunção, incompleto} {sobreposição, incompleto} TipoDeVeículo meioDoVeículo Pula-Pula Velocípede VeículoTerrestre VeículoAnfíbio UML - Diagramas de Classe
Associação • Classes: • UsuáriosDaBiblioteca • LivrosDaBiblioteca • Associação - entre instâncias das classes • Empréstimo • Reserva • … UML - Diagramas de Classe
Notação para associações empregador empregado Pessoa Companhia Emprego 0..* 0..1 0..* 0..* residente Residência Localização 1..1 1..* Município UML - Diagramas de Classe
Associação entre duas classes … 0..* dono Pessoa Cachorro PosseDeCachorro 1..1 possuido por UML - Diagramas de Classe
… promovida à condição de Classe PosseDeCachorro … … 0..* dono Pessoa Cachorro 1..1 possuido por UML - Diagramas de Classe
Associações de ordem mais alta: CatálogoPara CompraDeItens preçoUnitário: Dinheiro … 0..* vendedor Companhia TipoDeItem produto 0..* nívelDe RetençãoDePreços 0..* QuantidadeComprada UML - Diagramas de Classe
Navegabilidade de associações (1) 0..* dono Pessoa Cachorro PosseDeCachorro 1..1 possuido por Na classe Pessoa: cachorrosPossuídosPor: Conjunto <Cachorro>; UML - Diagramas de Classe
… (2) 0..* dono Pessoa Cachorro PosseDeCachorro 1..1 possuido por Na classe Cachorro (multiplicidade de 1): dono: Pessoa; UML - Diagramas de Classe
… (3) 0..* dono Pessoa Cachorro PosseDeCachorro 1..1 possuido por Definições em ambas as classes! UML - Diagramas de Classe
Associação todo/parte: • Composição: [objeto] composto X [objeto] componente • Agregação:[objeto] agregado X [objeto] constituinte UML - Diagramas de Classe
Composição: • O objeto composto não existe sem os seus componentes; • Num dado instante um objeto componente só pode fazer parte de um objeto composto • A composição é heterômera (as partes não são semalhantes!) UML - Diagramas de Classe
Ex de composição: Planador 1 1 asaDireita asaEsquerda 1 fuselagem cauda 1 Fuselagem Cauda Asa UML - Diagramas de Classe
Agregação • O objeto agregado pode existir sem os constituintes • Um objeto pode ser constituinte de mais de um agregado • A agregação é homeômera (as partes são semelhantes) UML - Diagramas de Classe
Ex de agregação: RelatórioDeGerência 0..* {ordenado} parteDoTexto 0..* Parágrafo UML - Diagramas de Classe
Outro exemplo: Corporação 1 divisão 1..* DivisãoDe Corporação UML - Diagramas de Classe