Escolar Documentos
Profissional Documentos
Cultura Documentos
Paradigma da
Orientao a Objetos usando
UML
Engenharia de Software II
2017.1
04/07/2017
UML Unified Modeling
Language
uma linguagem para especificao,
construo, visualizao e documentao
de sistemas de software;
Nome da classe
Qualificadores: (inicial maiscula)
Protegido
Atributos da classe
Privado
(Dados) inicia com
Publico
minsculo. Se houver
concatenao, a inicial
da segunda palavra
maiscula.
Mtodos ou Operaes
da classe.
(Comportamento)
UML Classe (no astah)
Nome da classe
(inicial maiscula)
Qualificadores:
Atributos da classe
Protegido
(Dados) inicia com
Privado
minsculo. Se
Publico
houver
concatenao, a
inicial da segunda
palavra maiscula.
Mtodos ou Operaes
da classe.
(Comportamento)
Relacionamentos - Associao
Relacionamentos Associao
(no Rational Rose)
multiplicidades
Relacionamentos Associao
(no astah)
Associao com navegao
Agregao (simples)
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 is-part-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.
Relacionamentos - Agregao
Relacionamentos - Agregao
O diamante indica
a classe Todo
(a que agrega)
Relacionamentos - Agregao
O diamante indica
a classe Todo
(a que agrega)
Agregao (composta)
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 representada por
um losango cheio colocado junto classe que representa o
elemento agregador ou o todo.
Agregao composta
Agregao composta
Relacionamentos - herana
A seta indica
a classe pai
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
classe-associao
Classe de Associao
Classe de Associao
1 0..1 IdFornecedor
ChaveMateriais 1 1 1
1
DataRecebimentoForn1 TransferenciaEstoques
1
1
DevolucaoMaterialFornecedor
1 IdPrincipalAplicacao
MovimentoMes1 1 IdPrincipalMovimento
1
1 1 1
1 1
1 Material Fornecedor 1
1 1 1
1 DirecionaMaterialAplicacao
MovimentoMes2
1 10..4 DataRecebimentoForn2 0..3
11
1 1 1 1 1
ComunicadoRecebimento2
1 1 1
1
0..* 1 DataRecebimentoForn3 1
DevolucaoMaterial ContaAplicacao
MovimentoMes3 1
MovimentoMaterial
1 1
1
ParcelaCR2
MovimentoMesAtual RequisicaoInternaMaterial
1
NotaFiscal ComunicadoRecebimento1
1 1
1 1 1
1 1 CorrecaoLancamento
ParcelaCR1
1 Conta IdEspecificacao RequisicaoRessuprimento Compra
IdConta
1
1
1 1 1
1
Descricao
1 Requisicao
SubContaAplicacao
CodigoConta Ressuprimento 1
IdCompra
1
Errado
1
IdPrincipalSubContaAplicacao
Correto
O Caos na UML com os diagramas
de Classes
Exerccios
Com base no diagrama de sequncia,
faa o possvel diagrama de classes.
Conceitos da OO Usando
UML
Classes /Objetos
Uma classe pode ser vista como uma
fbrica de objetos similares
Define os dados e comportamento que
todos os seus objetos tero
Cada objeto de uma classe diferencia-se
do outro por meio do valor de seus
atributos
Classes e Objetos
Classe Pessoa
Em UML
Objetos - instncias
Encapsulamento
Generalizao
Classes Filhas
Herana mltipla
enviada uma
Mensagem ao
Objeto cala
Cala.getPreco() Pedindo o seu preo.
Ex. Um objeto Joo necessita atualizar seu atributo divida. Para isso h
necessidade de saber o preo do produto que o Joo comprou. Sendo assim,
o mtodo getPreco() da classe Produto deve ser invocado (mensagem) para
obter o preo do produto.
Todo-Parte (Agregao)
Esse conceitos permite a construo de uma classe
agregada a partir de outras classes componentes.
Usa-se dizer que um objeto da classe Agregada
(Todo) tem objetos da classe componente (Parte)
Por exemplo: Pode-se imaginar esse tipo de
relacionamento como uma casa, que composta
por portas, janelas, paredes, etc.
A pergunta a ser feita para identificar um
relacionamento de agregao : parte de ?
Todo-Parte (Agregao)
TODO
PARTES
Exemplo Agregao
Sala
Associao
Cliente
Faz
Pedido
Associao - exemplo
Associao
Dependendo de quem
invoca a msg area
ela ir calcular a rea
do objeto correto.