Você está na página 1de 17

Princpios de Anlise

e Projeto de Sistemas
com UML
2 edio

Eduardo Bezerra
Editora Campus/Elsevier

DIAGRAMA DE CLASSE

5.2 Diagrama de classes

Classes
Uma classe descreve esses objetos atravs de atributos e operaes.
Atributos correspondem s informaes que um objeto armazena.
Operaes correspondem s aes que um objeto sabe realizar.

Notao na UML: caixa com no mximo trs compartimentos


exibidos.
Detalhamento utilizado depende do estgio de desenvolvimento e do nvel
de abstrao desejado.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Exemplo (classe ContaBancria)

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Associaes
Para representar o fato de que objetos podem se relacionar uns
com os outros, utilizamos associaes.
Uma associao representa relacionamentos (ligaes) que so
formados entre objetos durante a execuo do sistema.
Note que, embora as associaes sejam representadas entre
classes do diagrama, tais associaes representam ligaes
possveis entre os objetos das classes envolvidas.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Notao para Associaes


Na UML associaes so representadas por uma linha que liga
as classes cujos objetos se relacionam.
Exemplos:

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Multiplicidades
Representam a informao dos limites inferior e superior da
quantidade de objetos aos quais outro objeto pode se associar.
Cada associao em um diagrama de classes possui duas
multiplicidades, uma em cada extremo da linha de associao.
Nome

Simbologia na UML

Apenas Um

1..1 (ou 1)

Zero ou Muitos

0..* (ou *)

Um ou Muitos

1..*

Zero ou Um

0..1

Intervalo Especfico

i..s

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Exemplos (multiplicidade)
Exemplo
Pode haver um cliente que esteja associado a vrios pedidos.
Pode haver um cliente que no esteja associado a pedido algum.
Um pedido est associado a um, e somente um, cliente.

Exemplo
Uma corrida est associada a, no mnimo, dois velocistas
Uma corrida est associada a, no mximo, seis velocistas.
Um velocista pode estar associado a vrias corridas.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Conectividade
A conectividade corresponde ao tipo de associao entre duas
classes: muitos para muitos, um para muitos e um para
um.
A conectividade da associao entre duas classes depende dos
smbolos de multiplicidade que so utilizados na associao.
Conectividade

Em um extremo

No outro extremo

Um para um

0..1
1

0..1
1

Um para muitos

0..1
1

*
1..*
0..*

Muitos para muitos

*
*
1..*
1..*
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio
0..*
0..*

Exemplo (conectividade)

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

10

Participao
Uma caracterstica de uma associao que indica a necessidade
(ou no) da existncia desta associao entre objetos.
A participao pode ser obrigatria ou opcional.
Se o valor mnimo da multiplicidade de uma associao igual a 1
(um), significa que a participao obrigatria
Caso contrrio, a participao opcional.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

11

Acessrios para Associaes


Para melhor esclarecer o significado de uma associao no
diagrama de classes, a UML define trs recursos de notao:
Nome da associao: fornece algum significado semntico a mesma.
Direo de leitura: indica como a associao deve ser lida
Papel: para representar um papel especfico em uma associao.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

12

Agregaes e Composies
A semntica de uma associao corresponde ao seu significado, ou
seja, natureza conceitual da relao que existe entre os objetos que
participam daquela associao.
De todos os significados diferentes que uma associao pode ter, h
uma categoria especial de significados, que representa relaes
todo-parte.
Uma relao todo-parte entre dois objetos indica que um dos objetos
est contido no outro. Podemos tambm dizer que um objeto contm
o outro.
A UML define dois tipos de relacionamentos todo-parte, a
agregao e a composio.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

13

Agregaes e Composies
Algumas particularidades das agregaes/composies:
so assimtricas, no sentido de que, se um objeto A parte de um
objeto B, o objeto B no pode ser parte do objeto A.
propagam comportamento, no sentido de que um comportamento que
se aplica a um todo automaticamente se aplica s suas partes.
as partes so normalmente criadas e destrudas pelo todo. Na classe do
objeto todo, so definidas operaes para adicionar e remover as partes.

Se uma das perguntas a seguir for respondida com um sim,


provavelmente h uma agregao onde X todo e Y parte.
X tem um ou mais Y?
Y parte de X?
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

14

Exemplos

Agregao

Composio

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

15

Generalizaes e Especializaes
O modelador tambm pode representar relacionamentos entre
classes.
Esses denotam relaes de generalidade ou especificidade entre as
classes envolvidas.
Exemplo: o conceito mamfero mais genrico que o conceito ser
humano.
Exemplo: o conceito carro mais especfico que o conceito veculo.

Esse o chamado relacionamento de herana.


relacionamento de generalizao/especializao
relacionamento de gen/espec

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

16

Generalizaes e Especializaes
Terminologia

subclasse X superclasse.
supertipo X subtipo.
classe base X classe herdeira.
classe de especializao X classe de generalizao.
ancestral e descendente (herana em vrios nveis)

Notao definida pela UML

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

17