Escolar Documentos
Profissional Documentos
Cultura Documentos
Projeto Orientados a
Objetos com UML
Eduardo Bezerra
Editora CAMPUS
Copyright 2002, 2003 Eduardo Bezerra
Captulo 5
Modelagem de Classes do
Domnio
Temos uma capacidade inata de ordenar em diferentes
grupos e classes todas as nossas impresses sensoriais.
Jostein Gaardner, O mundo de Sofia, 1995
Introduo
O modelo de casos de uso fornece uma
Modelo de classes
O diagrama da UML utilizado para representar o
Modelo de classes
O modelo de classes evolui durante o
desenvolvimento do sistema.
Modelo de classes
O modelo de classes de domnio representa as
Classes
Uma classe representa um grupo de objetos
semelhantes.
Uma classe descreve esses objetos atravs
de atributos e operaes.
Os atributos correspondem s informaes
que um objeto armazena.
As operaes correspondem s aes que
um objeto sabe realizar.
10
11
Associaes
Para representar o fato de que objetos
12
13
Multiplicidades
Representam a informao dos limites
14
Multiplicidades
Nome
Simbologia
Apenas Um
Zero ou Muitos
Um ou Muitos
Zero ou Um
Intervalo Especfico
1..1 (ou 1)
0..* (ou *)
1..*
0..1
li..ls
15
Exemplo (multiplicidade)
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.
16
Exemplo (multiplicidade)
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.
17
Conectividade
A conectividade corresponde ao tipo de
18
Conectividade X Multiplicidade
Conectividade
Um para um
0..1
1
0..1
1
Um para muitos
0..1
1
*
1..*
0..*
*
1..*
0..*
*
1..*
0..*
19
Exemplo (conectividade)
20
Participao
Uma caracterstica de uma associao que
21
22
23
Agregao
um caso especial da associao
conseqentemente, multiplicidades,
participaes, papis, etc. podem ser usados
igualmente
24
Agregao
Caractersticas particulares:
25
Agregao
Sejam duas classes associadas, X e Y. Se
26
27
Classe associativa
uma classe que est ligada a uma
28
29
Associaes n-rias
So utilizadas para representar a associao
30
31
Associaes reflexivas
Associa objetos da mesma classe.
32
33
Identificando as classes
iniciais
Copyright 2002, 2003 Eduardo Bezerra
34
Identificando classes
Um sistema de software orientado a objetos
35
Identificando classes
De uma forma geral, a identificao de
36
Identificao dirigida a
responsabilidades
Mtodo de identificao onde a nfase est na
37
Responsabilidades e colaboradores
Em sistemas OO, objetos encapsulam tanto
38
Responsabilidades e colaboradores
Na prtica, uma responsabilidade alguma
39
Responsabilidades e colaboradores
Um exemplo: quando a impresso de uma
40
Responsabilidades e colaboradores
41
Categorias de responsabilidades
Costuma-se categorizar os objetos de um
42
Objetos de Entidade
Um objeto de entidade um repositrio para
43
Objetos de Entidade
Atores no tm acesso direto a estes objetos.
44
Objetos de Entidade
Responsabilidades de fazer tpicas de
objetos de entidade:
Informar valores de seus atributos a objetos
de controle.
Realizar clculos simples, normalmente com a
colaborao de objetos de entidade
associados atravs de agregaes.
Criar e destruir objetos parte (considerando
que o objeto de entidade seja um objeto todo
de uma agregao).
45
Objetos de Fronteira
Esses objetos traduzem os eventos gerados
46
Objetos de Fronteira
Classes de fronteira realizam a comunicao
47
Objetos de Fronteira
Tipicamente tm as seguintes
responsabilidades de fazer:
Notificar aos objetos de controle de eventos
gerados externamente ao sistema.
Notificar aos atores do resultado de interaes
entre os objetos internos.
48
Objetos de Fronteira
Responsabilidades de conhecer de classes
49
Objetos de Controle
So a ponte de comunicao entre objetos
50
Objetos de Controle
So bastante acoplados lgica da
aplicao.
Traduzem eventos externos em operaes
que devem ser realizadas pelos demais
objetos.
Ao contrrio dos objetos de entidade e de
fronteira, objetos de controle so tipicamente
ativos
51
Objetos de Controle
Responsabilidades de fazer tpicas:
52
Objetos de Controle
Responsabilidades de conhecer esto
53
Diviso de responsabilidades
A categorizao de responsabilidades implica
54
Diviso de responsabilidades
Se cada objeto tem funes especficas
menos complexas
mais localizadas.
55
Diviso de responsabilidades
Tipo de mudana
Onde mudar
Mudanas em relao
interface grfica, ou em
relao comunicao com
outros sistemas.
Fronteira
Entidade
Mudanas em funcionalidades
complexas (lgica do
negcio)
Controle
56
Diviso de responsabilidades
Exemplo: vantagem de separao de
57
Diviso de responsabilidades
A construo de um sistema de software que
58
Diviso de responsabilidades
59
60
Sinnimos so removidos.
Vantagem: abordagem bastante simples.
Desvantagem: depende de como os casos de
61
62
Modelagem CRC
Se baseia fortemente no paradigma da
63
Modelagem CRC
A modelagem CRC no faz parte da UML.
A princpio, essa tcnica foi proposta como
64
Modelagem CRC
Especialistas do negcio e desenvolvedores
65
Carto CRC
Colaboradores
1 responsabilidade
2 responsabilidade
...
n-sima responsabilidade
1 colaborador
2 colaborador
..
n-simo colaborador
66
Colaboradores
Cliente
HistricoTransaes
transaes.
5.Aceitar saques e depsitos.
67
Modelagem CRC
Na distribuio dos cartes pelos
68
Modelagem CRC
Configurao inicial:
O moderador da sesso pode desempenhar
o papel do objeto controlador
Outro participante desempenha o papel do
objeto de fronteira.
Um outro participante pode simular o ator (ou
atores, se houver mais de um).
Os demais representam objetos de entidade.
69
Modelagem CRC
Uma vez distribudos os cartes pelos
70
Modelagem CRC
A sesso CRC comea com a simulao do
71
de uso.
2. Para um dos cenrios:
a)
b)
72
especialidade da classe.
Distribuir a inteligncia do sistema
Agrupar as responsabilidades
conceitualmente relacionadas
Evitar responsabilidades redundantes
73
Construo do modelo de
classes de domnio
Copyright 2002, 2003 Eduardo Bezerra
74
75
Definio de associaes e
agregaes
O fato de uma classe possuir colaboradores
76
77
Documentando o modelo de
classes
As responsabilidades e colaboradores
<<fronteira>>
<<entidade>>
<<controle>>
78
Documentando o modelo de
classes
A construo de um nico diagrama de
79
Documentando o modelo de
classes
O modelador pode optar por esconder as
documentadas textualmente.
80
81
82
verificadas e corrigidas.
As construes do modelo de casos de uso
e do modelo de classes so retroativas uma
sobre a outra.
83
84
Diagrama de objetos
Copyright 2002, 2003 Eduardo Bezerra
85
Diagrama de objetos
Alm do diagrama de classes, A UML define
86
Exemplo
nomeClasse
Pedido
nomeObjeto: NomeClasse
umPedido: Pedido
87
88
89
Diagrama de objetos
Alm do diagrama de classes, A UML define
90