UML - Diagramas de Classe1 UML Diagramas de Classe.

Post on 18-Apr-2015

218 views 12 download

Transcript of UML - Diagramas de Classe1 UML Diagramas de Classe.

UML - Diagramas de Classe 1

UMLDiagramas de Classe

UML - Diagramas de Classe 2

Estruturas de classes:

Herança: Simples Múltipla

Associação (relacionamento): ‘Normal’ Todo/parte:

ComposiçãoAgregação

UML - Diagramas de Classe 3

Herança simples:

VeículoAMotor

Carro Caminhão

Sentido da seta!

Superclasse

Subclasse

UML - Diagramas de Classe 4

Herança (alvo compartilhado):

VeículoAMotor

Carro Caminhão

UML - Diagramas de Classe 5

Herança (estilo reduzido):

VeículoAMotor

Carro Caminhão

UML - Diagramas de Classe 6

Herança múltipla:

VeículoAMotor

Carro Caminhão

Aeronave

Aeroplano

UML - Diagramas de Classe 7

Particionamento em subclasses:

VeículoAMotor

Carro CaminhãoAeroplano

{disjunção, incompleto}

UML - Diagramas de Classe 8

Disjuntos

Sobrepostos

UML - Diagramas de Classe 9

Subgrupos completos

… incompletos

UML - Diagramas de Classe 10

Particionamento dinâmico / estático:

Funcionário

GerenteNãoGerente

{disjunção, completo, dinâmico}

UML - Diagramas de Classe 11

Classes mutuamente sobrepostas:

Animal

AnimalCarnívoroAnimalHerbívoro

{sobreposição, completo}

Pode haver uma superclasse comum: AnimalOnívoro

UML - Diagramas de Classe 12

Discriminadores de particionamento:

Veículo

VeículoInterna/Propulsionado

VeículoExterna/Propulsionado

{disjunção, completo}

LocalFontePropulsora

UML - Diagramas de Classe 13

Veículo

VeículoInterna/Propulsionado

VeículoExterna/Propulsionado

{disjunção, completo}

LocalFontePropulsora

{disjunção, incompleto}

TipoDeVeículo

Pula-Pula Velocípede

{sobreposição, incompleto}

meioDoVeículo

VeículoTerrestre VeículoAnfíbio

UML - Diagramas de Classe 14

Associação

Classes:1. UsuáriosDaBiblioteca2. LivrosDaBiblioteca

Associação - entre instâncias das classes

Empréstimo Reserva …

UML - Diagramas de Classe 15

Notação para associações

Pessoa Companhia

Município

Emprego

LocalizaçãoResidência

empregado empregador

0..* 0..10..* 0..*

1..1 1..*

residente

UML - Diagramas de Classe 16

Associação entre duas classes …

Pessoa Cachorrodono

possuido por

0..*

1..1

PosseDeCachorro

UML - Diagramas de Classe 17

… promovida à condição de Classe

PosseDeCachorro

Pessoa Cachorro

dono

possuido por

0..*

1..1

UML - Diagramas de Classe 18

Associações de ordem mais alta:

Companhia TipoDeItem

QuantidadeComprada

CatálogoParaCompraDeItens

preçoUnitário: Dinheiro

0..*

0..*

0..*

vendedor

nívelDeRetençãoDePreços

produto

UML - Diagramas de Classe 19

Navegabilidade de associações (1)

Pessoa Cachorrodono

possuido por

0..*

1..1

PosseDeCachorro

cachorrosPossuídosPor: Conjunto <Cachorro>;

Na classe Pessoa:

UML - Diagramas de Classe 20

… (2)

Pessoa Cachorrodono

possuido por

0..*

1..1

PosseDeCachorro

Na classe Cachorro (multiplicidade de 1):

dono: Pessoa;

UML - Diagramas de Classe 21

… (3)

Pessoa Cachorrodono

possuido por

0..*

1..1

PosseDeCachorro

Definições em ambas as classes!

UML - Diagramas de Classe 22

Associação todo/parte:

Composição: [objeto] composto X [objeto] componente

Agregação:[objeto] agregado X [objeto] constituinte

UML - Diagramas de Classe 23

Composição:

1. O objeto composto não existe sem os seus componentes;

2. Num dado instante um objeto componente só pode fazer parte de um objeto composto

3. A composição é heterômera (as partes não são semalhantes!)

UML - Diagramas de Classe 24

Ex de composição:

Planador

Cauda AsaFuselagem

fuselagem cauda asaEsquerda asaDireita1 1

1 1

UML - Diagramas de Classe 25

Agregação

1. O objeto agregado pode existir sem os constituintes

2. Um objeto pode ser constituinte de mais de um agregado

3. A agregação é homeômera (as partes são semelhantes)

UML - Diagramas de Classe 26

Ex de agregação:

RelatórioDeGerência

Parágrafo

parteDoTexto 0..*

0..*

{ordenado}

UML - Diagramas de Classe 27

Outro exemplo:

Corporação

DivisãoDeCorporação

divisão 1..*

1