Sie sind auf Seite 1von 41

PROGRAMAO OBJECT ORIENTED

AULA 03
DIAGRAMA DE CLASSES - UML
Docente: Samuel Lima
samuel.lima@cmsv.gov.cv

UML UNIFIED MODELING LANGUAGE


UML a sigla de Unified Modelling Language, que pode
ser traduzido por Linguagem de Modelao Unificada.

A UML uma linguagem que utiliza uma notao padro


para especificar, construir, visualizar e documentar
sistemas de informao orientados por objectos.

UML - CLASSES

UML - CLASSES

UML - CLASSES

UML - CLASSES

UML - CLASSES

UML - CLASSES
EXEMPLO REPRESENTAO (RATIONAL
ROSE)

UML - CLASSES
EXEMPLO REPRESENTAO (ASTAH)

RELACIONAMENTO ENTRE CLASSES


ASSOCIAO
AGREGAO
COMPOSIO
ESPECIALIZAO/GENERALIZAO(HERANA)

RELACIONAMENTO ENTRE CLASSES

RELACIONAMENTO ENTRE CLASSES

RELACIONAMENTO ENTRE CLASSES

RELACIONAMENTOS - ASSOCIAO
Uma associao um relacionamento estrutural
que indica que os objetos de uma classe esto
vinculados a objetos de outra classe.
Uma associao representada por uma linha
slida conectando duas classes.

RELACIONAMENTOS - ASSOCIAO
EXEMPLO REPRESENTAO (RATIONAL ROSE)

RELACIONAMENTOS - ASSOCIAO
EXEMPLO REPRESENTAO (ASTAH)

MULTIPLICIDADE OU CARDINALIDADE

AGREGAO
A associao entre classes sem agregao reflete que
ambas as classes se encontram no mesmo nvel
conceitual.
Por outro lado, uma relao de associao com
agregao traduz que existe uma relao do tipo ispart-of ou has-a, o que corresponde ao fato de uma
instncia de determinada classe possuir ou ser composta
por vrias instncias de outra classe.
A informao de agregao representada por um
losango colocado junto classe que representa o
elemento agregador ou o todo.

AGREGAO

AGREGAO

AGREGAO

O diamante indica
a classe Todo
(a que agrega)

COMPOSIO
A composio, ou agregao composta uma variante
agregao simples, em que adicionada a seguinte semntica:
(1) forte pertena do todo em relao parte, e
(2) tempo de vida delimitado (as partes no podem existir
sem o todo).
Adicionalmente, o todo responsvel pela disposio das suas
partes, ou seja, o todo responsvel pela criao e destruio
das suas partes.
A informao de agregao composta, ou composio
representada por um losango cheio colocado junto classe que
representa o elemento agregador ou o todo.
Os objetos parte s podem pertencer a um nico objeto todo
e tm o seu tempo de vida coincidente com o dele.

ASSOCIAO - COMPOSIO

ASSOCIAO - COMPOSIO

CLASSE DE ASSOCIAO
Numa relao de associao entre classes, a
associao pode tambm ter os seus prprios
atributos (e eventualmente operaes), devendo
ser, por conseguinte, modelada tambm como
uma classe.
Este tipo de classes designa-se por classeassociao

CLASSE DE ASSOCIAO

CLASSE DE ASSOCIAO

CLASSE DE ASSOCIAO

ASSOCIAES N - RIAS (N 3)
Associaes N-rias, com n maior ou igual a 3,
so pouco comuns na modelagem de classes.
Contudo, h situaes em que a aplicao deste
tipo de associaes vantajosa em termos da
clareza do modelo.
Nestas
circunstncias,
a
associao

representada por um losango com linhas para


todas as suas classes participantes

ASSOCIAES N - RIAS (N 3)

GENERALIZAO/ESPECIALIZAO (HERANA)

A generalizao a relao entre uma classe


(designada por super-classe) e uma ou mais
variaes de si prpria (designadas por subclasses).
A super-classe tem atributos e funcionalidade
comuns a todas as classes, enquanto cada subclasse adiciona a essa parte comum atributos
e/ou funcionalidade especfica a cada sub-classe

GENERALIZAO/ESPECIALIZAO (HERANA)

GENERALIZAO/ESPECIALIZAO (HERANA)
A especializao tem exatamente o mesmo
significado que a generalizao, mas oferece uma
outra perspetiva sobre a estrutura do sistema - o
sistema visto de cima para baixo, enquanto na
generalizao o sistema visto de baixo para cima.
A generalizao e a especializao so, assim, apenas
diferentes formas de ver a mesma relao entre
classes num diagrama.
Podemos ter vrios nveis de generalizao. No caso
anterior, s temos um nvel.

INTERFACES
Uma interface define um comportamento
obrigatrio que alguma classe deve possuir.
As interfaces permitem conhecer um
determinado elemento, escondendo os seus
detalhes internos, por exemplo: os detalhes
de implementao.
Uma
interface

realizada
(ou
implementada) por uma ou mais classes, as
quais prometem implementar todos os
mtodos nela especificados.

COMO REPRESENTAR A INTERFACE

COMO REPRESENTAR A INTERFACE

COMO REPRESENTAR A INTERFACE


EXEMPLO REPRESENTAO (RATIONAL
ROSE)

COMO REPRESENTAR A INTERFACE


EXEMPLO REPRESENTAO (ASTAH)

CLASSES ABSTRATAS

CLASSES ABSTRATAS

EXEMPLO