Escolar Documentos
Profissional Documentos
Cultura Documentos
DI AGRAMAS DE CLASSES
Acetato 1
OBJECTI VOS
u
Acetato 2
Diagramas de classes
Perspectivas dos diagramas de classes
Associaes
Atributos
Operaes
Visibilidade dos atributos e operaes
Generalizao
Restries
Quando usar os diagramas de classes
Acetato 3
1. Diagramas de classes
Os diagramas de classes decrevem:
as classes, caracterizadas pelos seus:
Acetato 4
1. Diagramas de classes
A classe representada no exemplo :
Rectngulo
Largura
Altura
rea ()
Acetato 5
1. Diagramas de classes
Encomenda
dataRecebida *
Prepaga
nmero: string
price: money
Despacha()
Fecha()
1
*
Linha de Encomenda
quantidade: inteiro
preo: money
estSatisfeita: Booleana
*
1
Produto
Cliente
1
{Se Encomenda.cliente.regimeCrdito
fraco, ento Encomenda.Prepaga
tem que ser verdadeiro}
nome
endereo
regimeCrdito(): string
Cliente Institucional
Cliente Individual
nomeContacto
regimeCrdito
limiteCrdito
avisa ()
facturaParaMs (Inteiro)
*
tcnico de vendas 0..1
cartoCrdito#
{regimeCrdito()==
fraco}
Empregado
Acetato 6
Acetato 7
Acetato 8
3. Associaes
Representam relacionamentos entre instncias de
classes.
Ex.:
Professor
Disciplina
Acetato 9
3. Associaes
Na perspectiva conceptual:
h
Acetato 10
3. Associaes
Na perspectiva conceptual (continuao):
h Um papel tem multiplicidade (ou cardinalidade).
No exemplo acima o par 1,*significa que cada professor
pode ensinar vrias diciplinas e que no h nenhuma
disciplina que possa ser ensinada por vrios professores.
As cardinalidades representam limites superiores.
h* significa qualquer valor ente zero e vrios,
h1 representa o valor 1,
h se se pretendesse dizer que possvel que alguns professores
no ensinem disciplina nenhuma, utilizava-se a notao 0..1
h outra notao possvel 1..*
A. Dias de Figueiredo, 1997/78
Acetato 11
3. Associaes
Na perspectiva de especificao:
h
Acetato 12
3. Associaes
Na perspectiva de implementao:
h
Acetato 13
3. Associaes
Navegabilidade
h
Acetato 14
3. Associaes
Navegabilidade (continuao)
h
Acetato 15
3. Associaes
Encomenda
dataRecebida *
Prepaga
nmero: string
price: money
Despacha()
Fecha()
1
*
Linha de Encomenda
quantidade: inteiro
preo: money
estSatisfeita: Booleana
*
1
Produto
Cliente
1
{Se Encomenda.cliente.regimeCrdito
fraco, ento Encomenda.Prepaga
tem que ser verdadeiro}
nome
endereo
regimeCrdito(): string
Cliente Institucional
Cliente Individual
nomeContacto
regimeCrdito
limiteCrdito
avisa ()
facturaParaMs (Inteiro)
*
tcnico de vendas 0..1
cartoCrdito#
{regimeCrdito()==
fraco}
Empregado
Acetato 16
3. Associaes
Navegabilidade (continuao)
h
Acetato 17
3. Associaes
Navegabilidade (continuao)
h
Acetato 18
3. Associaes
Nomeao
h
Acetato 19
4. Atributos
h
Acetato 20
5. Operaes
h
onde:
h visibilidade tem o significado descrito nas transparncia seguintes,
h name uma cadeia de caracteres,
h parameter-list contm argumentos (opcionais) cuja sintaxe a mesma
dos atributos,
h return-type-expression uma especificao opcional,
h property-string indica valores de uma propriedade que se aplica
operao.
A. Dias de Figueiredo, 1997/78
Acetato 21
5. Operaes
h
Acetato 22
5. Operaes
h
Acetato 23
Acetato 24
7. Generalizao e sub-tipos
h
Acetato 25
7. Generalizao e sub-tipos
Tambm aqui se podem considerar trs perspectivas:
h
Acetato 26
7. Generalizao e sub-tipos
h
Acetato 27
8. Restries
h
Acetato 28
Acetato 29
Acetato 30