Escolar Documentos
Profissional Documentos
Cultura Documentos
4 Uml Classe Relacionamento
4 Uml Classe Relacionamento
Bibliografia
Classe
Regras
Mecanismos comuns
Arquitetura
Wiley, 2004
Classe
Classe o descritor de um conjunto de
objetos que compartilham os mesmos
atributos, operaes, mtodos e
comportamento.
Uma classe e outros elementos da UML que
descrevem conjuntos de instncias so
considerados descritores.
Reificao
Uma classe pode tambm representar conceitos abstratos
(no material). Neste caso, usa-se reificao, isto , tratar o
conceito abstrato como coisa.
A reificao uma instrumento muito utilizado pelo ser humano,
por exemplo, na literatura e filosofia.
Ex.: Tup, deus do trovo em tupi.
Um nome a reificao de uma coisa e um verbo a
reificao de uma ao
A reificao tambm muito utilizada em modelagem.
Por exemplo, pode-se criar uma classe Sonho que vai
descrever as propriedades de um sonho.
Responsabilidade
Uma responsabilidade um contrato ou obrigao de uma
classe.
Responsabilidades representam os conhecimentos e as aes
que possibilitam a uma classe cumprir seu papel.
Os atributos e operaes podem ser vistos como aspectos ou
Agente de Fraude
10
Atributo
Atributo um propriedade, com nome, de
uma classe que descreve um conjunto de
valores que instncias da propriedade podem
ter.
Uma classe pode ter nenhum ou vrios
atributos.
A cada momento, os objetos de uma classe
vo ter valores especficos para cada um de
seus atributos.
11
<<Responsabilidade>>
. Determina o risco de
uma ordem do cliente
. Gerencia critrios de
fraude especficos de
cliente
Parede
Cl iente
nome
endereo
dataNascimento
identificao : Integer
altura : Float
espessura : Float
suporta Viga : Boolean = 0
12
Operao
Tcnicas de modelagem
Rectangle
add()
grow()
move()
isEmpty()
13
14
agrupamentos;
sua implementao.
classe.
15
16
uma soluo.
classes identificadas.
Proveja os atributos e operaes necessrios
para executar as responsabilidades das
classes.
17
18
Cartes CRC
Nome da
classe
Venda
Responsabilidades
Colaboraes
Inserir/excluir item de
venda
Item de venda
Estoque
Calcular impostos
Mercadoria
Totalizar venda
Registrar data e hora
19
20
Soluo:
Descrever tarefas realizadas no negcio.
21
22
Soluo:
Cliente
Responsabilidades
Colaboraes
Fatura
Pedido
Excluir cliente
e embarcados.
23
24
Armazenagem
Produto
Responsabilidades
Colaboraes
Responsabilidades
Colaboraes
Descrever a localizao de um
produto antes do carregamento
Produto
Descrever um produto
Armazenagem
Fatura
Fatura
Localizar um produto
Pedido
Carregamento
25
26
Pedido
Transao
Responsabilidades
Colaboraes
Responsabilidades
Colaboraes
Identificar um pedido de
fornecimento de um cliente
Produto
Pedido
Fatura
Carregamento
Carregamento
Cliente
Cliente
27
Fatura
28
Carregamento
Cliente
Responsabilidades
Colaboraes
Pedido
nome
endereo
dataNascimento
Fatura
Pedido
Cliente
Produto
Iden ti fi cao
nome
quantida de
locali zao
item
quantidade
Armazenagem
Transa o
Produto
Carregamento
aes
comprometer()
recuar()
teve Sucesso()
29
30
difceis de usar
no muito re-utilizveis.
31
32
<<Responsabilidade>>
.gerenciar o estado do
modelo
Modelo
Viso
<<Responsabilidade>>
.sincronizar mudanas no
modelo e em suas vistas
Controlador
<<Responsabilidade>>
.representar o modelo na tela
.gerenciar movimentos e
redimensionam entos da vista
.interceptar eventos do usurio
33
34
Exemplo.
<<equipamento>>
Lin ha de montag em
<<hu mano>>
Controlador do Rob
35
36
Exemplos:
Visibilidade
uma enumerao cujos valores {public, protected,
<<datatype>>
Int
{valores no intervalo -2**31 a +2**31}
<<enumeration>>
Boolean
false
true
<<enumeration>>
Estado
desocupado
trabalhando
erro
37
38
39
indicado.
Privado: somente um elemento dentro do continer pode
ver o elemento.
40
10
Escopo
manuteno, etc.
41
42
Classe abstrata
Uma classe abstrata aquela usada somente na
Relgio
marca
tipo
horrio
data
identificadorCAtegoria
43
44
11
Polimorfismo
definido.
Uma implementao para a operao tem que ser suprida em
algum de seus descendentes concretos.
45
47
46
Exemplo a seguir:
as classes Icon, Rectangular Icon e Arbitrary
Icon so abstratas;
display e isInside so operaes polimrficas;
Icon::display() uma operao abstrata;
Icon::getID() uma operao folha e concreta.
48
12
Icon
origin : Point
display()
getId() {leaf}
Rectangular Icon
height : Integer
width : Integer
Atributo
{ro ot}
edge : LineCollection
isInside(p : Point) : Bolean
Button
+ id : Integer {frozen}
OKButton
{leaf}
display()
49
50
Operao
addOnly:
51
52
13
Propriedades de operaes
H 5 propriedades de operaes definidas na UML:
leaf
efeitos colaterais.
53
54
sequential:
Classe template
partir de um gabarito.
guarded:
Exemplo:
Item
Value
Bucket
Map
guardadas do objeto.
bin d(i : Item, v : Value ) : Boole an
isBou nd(i : Item) : Boolean
55
Mapf
56
14
language).
57
58
59
60
15
Interface
Observaes
Pode-se combinar as vrias possibilidades apresentadas.
61
62
Relacionamento
Dependncia
de modelagem.
modelar:
o abuso da utilizao de relacionamentos em um modelo dificulta sua
63
64
16
Generalizao
Generalizao
Clipe de Filme
nome
O filho tem todos os atributos e operaes dos pais mas pode ter
Can al
ExibeEm(canal : Canal)
comear()
parar()
reiniciar(c : Canal)
65
66
Associao
Navegao
objetos.
navegao;
Empresa
Trabalha para
67
Usurio
S enha
Pessoa
68
17
Multiplicidade
(UML 2)
Oficialmente, na UML 2.0 chama-se nome de extremidade de
associao.
cardinalidade de um conjunto.
Pessoa
+Cli ente
Cliente de
Empresa
+Seguradora
Banco
Profissional
0..1
69
1..n
70
Visibilidade
associao.
Grupo de Usurio
+usu rio
-chave
Usurio
Senha
+proprietrio
71
72
18
Qualificador
Classe de associao
Empresa
Pessoa
1..n
Oficina de Reparo
Emprego
Item de Conserto
identiificador : Integer
1..n
descrio
data Admisso
salrio
0..1
73
74
Restries
Alm das propriedades mostradas acima, outras
restries (constraints) podem ser aplicadas a
Agregao e composio
Agregao um tipo especial de associao que indica uma
relao todo/parte.
Composio uma forma de agregao com posse forte e
tempo de vida idntico.
associaes.
Algumas restries so definidas na UML:
ordered: especifica que o conjunto de objetos naquele
lado da associao ordenado.
Departamento
Empresa
1
0..n
75
76
19
Realizao
Exemplo de modelo
Tem
Escola
0..1
Departa me nto
1..n
1
1..n
1..n
1..n
Lotado em
Membro
1..n
1..n
1..n
Faz
Estudante
1..n
Professor
0 .. n
77
+Chefe
1
Ensina
Disciplina
1 0..n
1..n
78
20