uml - diagramas de classe1 uml diagramas de classe

27
UML - Diagramas de Class e 1 UML Diagramas de Classe

Upload: internet

Post on 18-Apr-2015

217 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 1

UMLDiagramas de Classe

Page 2: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 2

Estruturas de classes:

Herança: Simples Múltipla

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

ComposiçãoAgregação

Page 3: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 3

Herança simples:

VeículoAMotor

Carro Caminhão

Sentido da seta!

Superclasse

Subclasse

Page 4: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 4

Herança (alvo compartilhado):

VeículoAMotor

Carro Caminhão

Page 5: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 5

Herança (estilo reduzido):

VeículoAMotor

Carro Caminhão

Page 6: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 6

Herança múltipla:

VeículoAMotor

Carro Caminhão

Aeronave

Aeroplano

Page 7: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 7

Particionamento em subclasses:

VeículoAMotor

Carro CaminhãoAeroplano

{disjunção, incompleto}

Page 8: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 8

Disjuntos

Sobrepostos

Page 9: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 9

Subgrupos completos

… incompletos

Page 10: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 10

Particionamento dinâmico / estático:

Funcionário

GerenteNãoGerente

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

Page 11: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 11

Classes mutuamente sobrepostas:

Animal

AnimalCarnívoroAnimalHerbívoro

{sobreposição, completo}

Pode haver uma superclasse comum: AnimalOnívoro

Page 12: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 12

Discriminadores de particionamento:

Veículo

VeículoInterna/Propulsionado

VeículoExterna/Propulsionado

{disjunção, completo}

LocalFontePropulsora

Page 13: UML - Diagramas de Classe1 UML Diagramas de Classe

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

Page 14: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 14

Associação

Classes:1. UsuáriosDaBiblioteca2. LivrosDaBiblioteca

Associação - entre instâncias das classes

Empréstimo Reserva …

Page 15: UML - Diagramas de Classe1 UML Diagramas de Classe

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

Page 16: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 16

Associação entre duas classes …

Pessoa Cachorrodono

possuido por

0..*

1..1

PosseDeCachorro

Page 17: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 17

… promovida à condição de Classe

PosseDeCachorro

Pessoa Cachorro

dono

possuido por

0..*

1..1

Page 18: UML - Diagramas de Classe1 UML Diagramas de Classe

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

Page 19: UML - Diagramas de Classe1 UML Diagramas de Classe

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:

Page 20: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 20

… (2)

Pessoa Cachorrodono

possuido por

0..*

1..1

PosseDeCachorro

Na classe Cachorro (multiplicidade de 1):

dono: Pessoa;

Page 21: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 21

… (3)

Pessoa Cachorrodono

possuido por

0..*

1..1

PosseDeCachorro

Definições em ambas as classes!

Page 22: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 22

Associação todo/parte:

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

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

Page 23: UML - Diagramas de Classe1 UML Diagramas de Classe

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!)

Page 24: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 24

Ex de composição:

Planador

Cauda AsaFuselagem

fuselagem cauda asaEsquerda asaDireita1 1

1 1

Page 25: UML - Diagramas de Classe1 UML Diagramas de Classe

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)

Page 26: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 26

Ex de agregação:

RelatórioDeGerência

Parágrafo

parteDoTexto 0..*

0..*

{ordenado}

Page 27: UML - Diagramas de Classe1 UML Diagramas de Classe

UML - Diagramas de Classe 27

Outro exemplo:

Corporação

DivisãoDeCorporação

divisão 1..*

1