Modelo de Visualização dos Conceitos

Transcrição

Modelo de Visualização dos Conceitos
146
9.11
912
Lhm ZANLf 1JNiL
Leituras Adicionais
.
Vadaçdes do di.agrarn.as que iiustrarn Os eventos de F/S pare urn
sisterna tratado
too unto c.aix.a-preta tern sido amplarnente usadas h decades;
por exemplo ern
to as operaqdes
do sistema corn outros artefatos d anduise e projeto.
o
c•ornun.i.cacts. corno diagrarnas de fluxo de charnadas. Popula
rizararn-se de f
especial nos rnétod.os oriented os a objoto
s.
por
mob
do
seu uso no .rndto.do Ft
Cobemrm—94/ o qual fürnecou urn exemplo detaihado
do relacionarnerito
his
Artefatos do PU
eve Otos
e dados
do .sdrrn
diagramas
de seqUdncia
do d.stema
.__;tse
Modoic. do
Dorrdrfo
Amostras de Artefatos do PU
oasos
do use
textuad
.MO,de:iO
ie P.cj.eto
refteado em
Pararnetros o
d d ret rca
podem s r
laborados no
Slossano
Gossano
fH
S
ercao
Contratos para
as ooeracftes
do sistem.a
de Software
Pasta do
Desenvolvimeflta
Documento do Arquitetura
Projetar otjetos
paratratar Os
eventosdo
.ssfema.
Ambiente
Arnostra da inf;uCncia dos artefatos do PU.
do Software
Piano do DessrnvoMmento
opera cries do
sicOema
N.e Figure 9.6, ado apresentadas amostras do rebacionarnentos ontre
DSSs e o
eia tots.
Medelagem
de Negócia
Requisitos
.Prc4eto
Gestão de
Projfeta
Teste
Figura 9.6
10
Modelo de DomInio:
Visualização dos Conceitos
Estd tudo bern on prdtica, mao nuncafiuicionard on Leone.
Identificar classes conceituais relacionadas corn os requisi
tos da iteracdo
corrente.
maxima gerencial anCnima
s
OBJETIVOS
a
Acrescentar, quando apropriado, classes coriceituais de especif
icacao.
Comparar e diferenciar as visöes conceituais e do irnplementaca
o.
Crier urn modelo de dorninio inicial.
Distinguir entre atrihutos corretos e incorretos.
•
•
•
Iritrod ução
—
Urn modelo
do
dornIn
io
amplar
e
nento
ut.iliza
do
corno
fonte
de inspiracao para pro
jetar objetos do coftwan’ e serd urn dado do entrada requer
ido por vários artefatos
subsoqfientos djscutidos neste livro. Portanto, C irnportante
br este capItubo se o lel
tor nao estiver farniliarizado
corn
assunto
o
do
modela
gern
dornInio.
de
0 modelo do dornInio ilustra as classes concei
tuais
significativas (pare os
modeladores) em urn
dornIn
io
de
proble
ma;
é
artefat
o
o
mais importante a sor
criado durante a andlise orientada a t
objetos. Este
capItul
o explore as habilidades
introdutorias para
criaçdo
a
do
modelo
s
do
domIn
io.
Os dois capItulos seguintos
expandern as hahiiidades do modolagem do dornin
io acrescentando atrihutos e
associaçoes.
sat. urn artefato importante da acCuse
de requisites, porCm cOo são reatmente orientados a otfetos.
uma visão de processo do dominic.
taste de use
IJML e PAD1OEs
iL,
ill—c
lid I ‘C
.
-
a modclc
con
‘ed.I,’i
c’noj,
.
.1
.
.2
Eke tambdm est5o relacionados
U
Ic
II’
‘ic’
I
I.
c
.,..
1
,,
rn
1 c
‘d
.,7L”
dc
c.
‘1
atrihutos de classes conceituais.
io parcial. Ela rnorra .ini I
Por exemplo, a Figura 10.1 mostra urn modelo de dornin
s neste dominin qiie LIrn
classes conceituais Pagamento e Venda são significatis-a
ante e que uma Ci.u IL..
import
a
mento está relacionado a uma Venda de maneir
s do notocilo 11 10’ c)c
detalhe
os
nto,
rnorne
Neste
ncia.
uma data e urna hora de ocorrC
irnportantes.
objetos do dominio ou classes conceituais;
associaçOes entre classes conceituais;
ios.
criados na disciplina de Modelagem de Negoc
io é ilustrado corn urn coniam”
Usando a notaçao UML, urn rnodelo de domin
oes. Ele pode motrar:
operac
definem
se
não
quais
nos
,
classes
de
de diagramas
análise.
jetos da 2
urn dos artefato-. Liuc poden’
0 PU define urn Modelo de Dorninio” conno
ma prirneira ediçao
—
no anohu ou na in” etiac
0 passo mais essencialmerite orientado a o/i.
e conei,uoi r obetos COC.”
nios
cm
se
interes
de
nio
domm
decomposiçao de urn
io C eina 1eprccLtaac
domin
de
o
duais os quais nos interessarn. Urn model
urn dominin cit proLlLm:
em
real,
rnundo
do
s
objeto
ou
anal de classes conceituais,
tuais (ci tL’rrnc u. d
concei
os
model
[M095, Fowler96]. Eles tern sido chamados
io e modelos de ob.
domIn
do
s
objeto
de
os
model
livro),
deste
Modelos de Dominlo
do Je cL’o-e conceitaa.’ do nun
Urn modelo de dornInio e urna reprcentac
JiacUon0
urn onjunto Lie 2
ir Ftc ncãi
ciI’c
de
nentes
cornpo
de
do real, não
LI
I
bi
CiO1iO
1
00111
orta
que descreve classes ou objeto do
Ic h
0- ‘L, 1012,
2
C)— C—.i
cia—.c Cc In. ci tua
n
identi hcar urn conjunto rico de ibjct on de
a ‘‘ena oclo 1 cto’ no u’v.:lt
,o
t’sforc ue
Jo a niH’t’ i entoda a objetos c urn
taco.
tO’i.’ de prujetci 0 mplernen
rtt Je niria fl\ etl acao cm J,c
.\ identificaao LIC La. ‘,es tonceitnaj’— U/
trio d’ ti i,r,lnia5 do ca. e-.
in
no
Oe
floUt
tern
nici do pr lblcrna. A L \1 I oi,
iliistrar iriociolos Ic dc’nnio.
UJi[,IZANDO
nh rc
I -I d ii ‘nI .1
visöes purarnente conce(tuais de dominic’’- nlaI-c:uc’ h n
modehi Jo ibm-n 1’ 1) ‘-a, m ,loio, cl
20 0 projeto de banco de dados. Os
.— .(c.i .0,
As letras maiOsculas em Modelo de Dominic. ‘-ic’
no PU, em oposiçao an cOncecto geral bun’o’- 0Cic)ci Ic’ ni ‘di
10.1
148
1
.
0
-
quanta
PagarnenCo
Pago-porf
data
CoinCide-em
c)uantdade
LinhaDe
LmYe0d0
Modelo de dorninlo parcaI
C
----‘c)
—
C:ca
—
I
aoo
1..’-
nümeros
—
no m de cada
jRtcqistro
endenspo
*
urn dcionario visual de abstracöes
0 aoiante
urn dic:onãrio visual. Os
I ca
.
Arm-aznadc>.ern
1.
149
2
Lnn modelo de dorninio onoo o nit trido 2’ Fur 10 2 C
mundo real do dom nb do problems, cndo d.c cornpone.ntes d.c so VncVe,c-omo urna
ciasse em Java ou C± (ver Figura 10.3. J-ccrtanto, os seLu.)cntc’s lemento
adequa.dos em urn modelo de domi.nio:
Mode/os de dorn into nao são mode/os de componentes de software
—
Reflita urn instante sobre a Figura 101 Ela visualiza e relaciona alEurnas palovras on
classes concejtuajs no dominjo Thmhdnn ilustra unna .c0sra,D’ doo CiaSSt COflCCi
vistc) que ha muitas coisas qut st decttnrt’- comu001r ohrc rt jctroe c cod ns
kni
) “-ni)
iq c (
nbtrnc1o ig 0
etc 0 modolo c\lhe urna 0-ta porcl 1
dcladousj ‘-io dt-ilh’-, scm interosse
bfltormnçao quo ci tlustr usando t oh no \1L poic I te n
natm sido frnnsmitida pot texto em proso por cc ntenms noD loss nno cm cm urn on
(I))-C
ind
e niL 0’tro lugm qualquer Fndetonto c aciI co nu
Cb001rncntos nesto lingulkern 0-ual urno \ c? que limo Porcent-.pcnn cldmfnc iii a do
s-.e c urn p0 ito 0 C 0 ) )-L L
ccmhro porticip-. do procesomentci \ 0-U I
oc ci dos nb.,
ssinn o modelo de dominjo pode car considorado urn dicun cu
troc,ocs do vocohulorio do domrnto c do conk udo do rn -.rno C’ t c)
Idei’a chave modelo de dornnio
;.
gjra•-vende
4
IRe
inna indicarn a mutipicidade descr ta en urn cap tu
Figura 101
atribubos
L
assocucaO
cia
dominic)
conCeCtO
on objetO
n.c: (Do ,duc:: \s c)ozçJo
.tt
‘i
S
1
1LI/t”. tuUM
c’’.si sit
a
onJ
it
‘
n
It
C
d a
‘
‘
C
\
a C
s n
ri
a’
,,
-
i
a
S
p1
‘
u
‘
‘SC:d
‘u
d
a
e
cncettc do. rnL
tntere
r a. no dons
Ce
ae
-.
Ia nao a ama
rnagem de ama
a d sofw
não
u s do mundo r al, nã da
software:
software.
casse de software; nfto
modelo de
faz pane do
domnio
fazpartedomode!ode
.da.mnio
artefato de
e conc
is o
a
“
u I
.
t.
a,
.
de i
‘t ii a pl a.
r
s.
‘
lb I a
n. ponahiiid
0’
iS
do
V
ito
m
a mr:’to importan e a—.
i
t a
-
a’v um’sononte
ci s’c con
,eeor d
domi
ad
1
a
la.e It.
tt
0r1’
,
Cia
“C
1’
‘
oni
itt
I
‘,
t.
‘at i
I,
t
a definicão de urna clas.se c.onceitu•ai.
r
C
.-
‘
& t
4
I
4
4
a
5ancodeD•adosDeVendas
Venda
a
a
i\ testr
d ‘a ft Vt COt O un-a pn&a ou urn oaoco
dttdoc
de
a
menus
queo
está send.o modelado seja de conceitos d.c software, corno urn
fllOdej
interfaces grificas corn o usudrie,
—
a
0
Urn rrodejo de aorr no mo ra
—
rn
:
-
Simbolo
—
,.
Urn modeto de dominio .não mostra artefatos ou ciasses de
cftia
0.
Reortscbi.i.idade ou 4
tnétr:tdos.
e
Figura
-
a
Figura 10.3
i
Iiiteucao
u
I
ant
0
a
it.
iii
a
xtens
t
.
‘I
i
S
or
&
o
ni iiu ra Ia
at.
at. tu i nu vo
b Id jo o at rn
so ii a to a
‘d
‘a
un
a
i
o
urn
hjct.
Mais
nt
ormal e1
od
n
a ad a t n os d
tot.
i
Jo Jo, isa ua i’d
t
t’ IMO°)°’] (‘ja
igu a lit 4
pai.avras ou in-opens qua representarn un-a ciasse conceitua.l.
Classes conce/tuals
P
data
hora
MODELO DC
conceitual tern urn
“Urna venda representa o
evento de urna transaçao
de compra. Ela tern urna
data e urna hora’.
Uma classe
DOMDcIO: etSuAuZAçAo inos CoNcanos
sIrnbolo,
C>
conceito
urna intencao e urna extensão.
do
do concek
simbolo do concetto
151
P05 eernplO, considere a classe
concei
tual
para
evento
o
de
uma
transaç
ao de corn
pra. Posso escoiher rtorneá-la corn o sImbolo Venda. A intençâo de uma
Venda pode
deterrniflar que ela “representa
evento
o
de
uma
transaç
ao
de
compr
a
e tern uma da
ta a urna hora”. A extensäo de Venda são todas as ocorréncias de vendas
; em outras
palavras o conjunto de todas as vendas.
Figura 10.4
Quando estamos trabaihando em urn modelo
de domInio, geralmente o sImbo
Jo e a intenção do urn conceito tern major interes
se prático.
Mode/os de domInfo e decomposiçao
—
—
Os problemas de softwa
re
podern
ser
comple
xos;
a
decom
posica
o
dividir para con
quistar e urna estrategia comum para lidar
corn
esta
comple
xidade
, pela divisão do
espaço do proble
ma
em
unidad
es
compr
eensIv
eis.
Na
análise
estruturada, o critério
usado para a decomposicao são os proces
sos
ou
asfunc
oes. Porém, na artálise orien
tada a objetos, a dirnensão de decomposicao usada
e fundamentairnente realizada
por meio de coisas ou entidades no dornInio.
Uma distinçao central
entre
a
andlise
orienta
da
a
objetos
e a estruturada: a di
visCo por classes conceituais (objetos), em vez da
divisão por funçoes.
Portanto, uma
tarefa
hásica
da
fase
de
análise
e
identif
icar diferentes conceitos no do
misdo do problema e documentar os resultados
em urn modelo de dominio.
j PRODEMGE
ECA
UTsuzANoo
UML E
PADROItS
10.2
Modelo conceftual parcial no dominio da loja
Registro
Venda
Não pense que urn rnodelo de dorninio serd meihor se tiver menos classes concel
tuais; a verdade tende a ser exatarnente o oposto.
F comum deixar passar classes conceituals durante a fase inicial de identifice
OU
çao e dcscobri las mats tarde durante a consideração de atributos ou assocIaçoe’
mo
ao
mcorporadas
são
elas
encontradas,
Quando
projeto.
de
a
fase
ainda, durante
delo de domInio.
Não exclua urn conceito sornente porque os requisitos não indicam urna neces
sidade Obvia de lembrar informaçoes sobre dc (urn critério comum, usado na mode
pan
lagern de dados para o projeto de bancos de dados relacionais, mas irrelevante
a modelagem conceitual) ou, ainda, porque o conceito näo tern atrihutos.
pa
E pea feitarnente vahdo ter classes conceituars scm atributos ou que tern un
pd purarnente cornportarnental no dornirno em vez de urn papel de rnfoimaclo
F rneihor especificar em excesso urn modclo dc dorninco corn muitus clisses
conceituats de granularidade frna do que subespecifica lo
Nosso objetivo e criar urn modelo de dorninio composto de classes conceituais iou.
ressantes ou significativas rio domInio de interesse (vendas). Nesse caso, isso slgnifj
ca conceito- telacionados corn o caso de uso Processai Venda
No desenvolvimento itcrativo se constrol de forma incremental urn mod elo de
domInio ao longo de várias iteraçoes na fase de elaboração. Em cada urna, o rnodelo
de dominio está lirnitado aos cenários prévios e ao cenário em consideraçao, ao invés
de urn modelo big bang, o qual tenta captar prematurarnente todas as classes concei
tuais e relacionamentos. Por exemplo, essa iteracão está lirnitada a urn cendrio de
Processor Venda simplificado que coritempla somente o pagarnento corn dinheiro;
portanto sera criado urn modelo pircotl do dornrnio para refletir apinas isso -e
nada mais
Dessa forrna, a tarefa central é identificar classes conceituais relacionadas corn
o cenário que está sendo projetado no mornento.
A seguir, propomos urna diretriz dtil para a identificaçao de classes conceituals
ldentificacao de Classes Conceituais
Figura 1O5
Loja
Por exernplo, no mundo real do domIno de cornpra de itens em urna loja, existem a
classes conceituais de La/a, Registro e Venda. Po.rtanto, o nosso modelo de
rnostrado na Figura 105, pode incluir uma Loja, urn Rcgistro e urna Venda.
Classes conceituals no domInlo venda
152
identificar classes conceituals
4,.
manuais, docurnentos. artigos he
etc e,,ja
DeP
registros financeiros, tracathistas. de contratos,
deassunoos legais
op
Redbo, Did rioDeCaixa
ContrafsDeEi-npneo,, DidrioDeMa.nutengdo
LinhaDeCrdcito., Aches
Catáiogos
ervicos e instrumentos financeiros
Cara/cqoCeP’coctos. Cars .cgrOePe rca
regras e ponticas
°r5caDeRes.-mosos. PniaCeCs-oea-e:-tos
VendendoUmProduto
ReservandoUfliAssento
processos (que geraimente não são
repre.sentados corns conceitos, ernb.ora p05mm
se-b)
Verrda, Pagamento Reunuo
V&cr Acidente.. Atemssagem
Deca-tame’-toOeVeroas Creoo.
eventOs
SiStema
°o’’e Acro3rra
50 nOSSO
casses conceituaa de substa”tivos acs:ratcis
organizacOes
item PassaeOo
SistemaAutorEzaçaoDePagarnentoGomrét5to
controieooTrafegoAéreo
coisas em urn contèiner
outros sisternas de cornputador ou
dispositivos ei.etromecdnicos exiernos
Caxa Piicnr
Lca Arvm-rc Aero-’ae
eapSis desernpenhados pm pessoas
contèineres cc outras coisas
Vendà, Pagament Reserss
LThhaD temDeV5nda
lug.ares
linhas de tens de transacoes
Lcia, Aeroporto
especificacoes, projetes Cu oescnçao Ce cosas
transacdes
Registo 4ercrnve
EspecficacoOeProe.cc,_DascçacDonr
Exemplos
objetos fisicos ou tanuvea
-
Lista he categorias he ciasses conc.eituais
Categoria de Classe Concedual
Tabela 10.1
Comece a criaçdo de urn modelo do dcsminjo fazendo urna lista das classes. conce.C
tuais candidatas do i.ista de categorias d.c classes conceituais. A Thbela 10.1 contdm
muitas categorias comuns que geralmente vale a pena consdenar. embora não sela
necessdnio seguir algurna ordern de importdncia especifica. C)s exempios são niraão’
do domIno da loja e do dornfnio de reservas de passagens aere.as.
ussr uma lista de categorias de classes conceituais
.
\as sephes seguintes. são apresentadas cluas tdcnicos:
tjsar urna lista d.c categonias de classes co.ncei.tuc s
2. Identificar suhstanti.vos on frases que possam estar no lugar d.c su.bstantivos,
Qutra técnica excelente pam a modelagern do dornfnio b o uso de pad.röes. de a.náiise.,
j nor us.
cue são modelos de dorninio parciais criaclos or es: cci ista,
boo
ros
L rno o
Estra. para
55
154
Corno encontrar classes coriceituals pela ,dent;ficacão de substantivos e
ftases qoe podem estar no lugar de urn substantivo
.
i ou tcn Cl ud por ua ssrnphcidid piopotl em &hbottb} e a
anais
iingUistic.a: identif
subs
icar
os
tanti
e.
as
fra.ses
que
vos
pode
e.star
m
no lugar de
ubsdandvo, nas descriçöes textuais de urn dorninio de problema. a
considerá.Iosc
0
mo c.andidatos a ci.a.sses •conceituais ou atrihutos.
ntUi
I
I
Deve-sstomarcuidadO ao ap1.icar este mdtodo; não ép.os.sIvel ummapearnen-*•
do suhstantjvos para classes conceituais e as palavras em uma
d teodcm a ccc arnhigua
or
to mec2nko
\do ohsante o dito anteriormente, trata-se de urna outra
fonte
inspira
de
cão.
Os c.
sos do uo plonamente desenvol idos fonocern o\Lelentec descnöes i serum
usad
c
ecc tipo u ‘n i Por \emp o node ss ul o cenarlo atualen
c
do envo.b,imen.to d..o caso do uso Processor Vdnda.
10
0 Chente chega ao ponto do pagamento do PDV corn bans ou serviços pa a ad
Cenärio de Sucesso Principal (ou Fluxo Básico):
1
.2. OCaixaindaumanOVaveflda.
3. 0 Caixa dada c identificadOr do item.
0 S o’-a eq ss e a lrnha de item de venda e apreser a orna descriçao do iteni
preço Co mesmo e o total parcial da venda 0 preqa a calculado segundo urn cc
junto de regas do oreços.
0 Caixa repete
passos 3 e 4 ate quo [ndique tot terrninado
5. 0 Sdterna aoresenta o totai corn Os impostos cacuados.
6 0 Caixe irnorms ao Csento a total e soicita o pagamento
7. 0 Clonic papa e o Sisterna processa a pagarnento.
5. 0 Sstorna rogstra a venda cornpiotada e onvia as inforrnaçOes de venda e paga
mento pa:ra a Sisternas extomo do Contabilidade (para cantabflizaqão e comis
sOes e de Estoque para atualizaro estocuel.
9. 0 Sisterna .apresenta a recibo..
0. 0 Olente sa corn a ecibo a os Dens ise tar 0 caso)
ExlensfieS (ou Fiuxos AltornatiVos):
7a. PaqarnentO corn dinheiro:
Oa:xa og:ta a puan0a do dinheiro fornecida.
Siste.rn.a apresenta a valor do troco a ibora a gaveta de dinheiro.
Caoa deoos:ta o dn0oco tornecida e entroga o troca para o Ciente.
S.ist.erna rogistra a pagarnonto em dinheiro.
0
2. 0
3 0
0
4.
17 rnodoio do doinrnio d uma visuaiizagãc’ 00 COflCOltOS e do vocabulauto do donhi0
ditoos denota. Onde elos so encontrarn? Nos casos de uso. Assim. cbs represefltO
urna
rica
ionic
explor
sot
a
ad.a
pola
id.e.nti
fic.açã
de
frases norninais (substantivoS ?
o
1
u r o
p IT do urn ub,tanti\ ot
diguns d.osses substantivos são candid.atos a classes. conceituals, outrO5g
refenir
da-ccs conec :tuais que 530 ignoradas nessa iteração (pot exempl°
io3
MODEl .0 05 DOMINIC): VIsuALIzAç:Ao Dos
Coricmos
155
“Contabilidade” e “cornissöes”) e aind
a
outro
s
pode
m
ser
atrib
utos
Veja a seçao e
.
o capItulo soguinteS sobre atrihutos para uma orientacão sabre como
distinguir en
tre os dais.
Urn ponto fraco desta ahordagem é a irnprocisao da lingu
agem
natural; diforon
tes substantivos podem repreSentar
a
mesma
classe
concei
tual
ou
atributo, entre ou
tras amhigüidadcs. Apesar disso, cia é recornendada em combi
naçao corn a técnica
da Lista do Categorias do Classes Conccituais.
Cla
Catd1o,ioDeProdu los
Loja
Iteni
Registro
Geren to
Cliente
Caixa
LinhaDeltern Do Von do
EspecificacdoDu’Produto
—
sses Conceituais Candidatas para 0 DomInlo de Vend
as
A partir da Lista do Categorias do Classes Conceituais
e
da
andlise do frases norninais,
geranlos uma lista de cand
idato
s
a
classes
concei
tuais
para o dornInio. A lista estd
restrita aos requisitos e 35 sirnplificacoes que estão
sendo considerados o cendrie
sinlplificado do Processor Vt’nda.
—
incluir o recibo no modelo?
Não oxisto algo quo possa ser charna
do
de
lista
“corret
a”. Ela C uma colecao urn tanto arhitrdria de abstracoes e vocahulário do dornInio
quo os modeladores consideram
digna do nota. Do qualquer forma,
segu
indo
as
estrate
gias do idontificaçao acima, us
tas srmi ares sorão produzidas par rnodoladores
diferontes.
Objetosrelatório
Cm reciho e o registro do urna venda e seu pagam
ento, sendo urna classe conceitual
relativarnente proemmente no dornInio do
vendas. Assirn, ole deveria sor mostrado
modobo? Tornos alguns fatoros a considerar:
no
m Urn recibo C o relatCrio de
urna
vonda.
Em
geral,
mostra
r urn relatório do outra in
forrnação em urn modolo do domInio 1130 Otil
C
porquo toda a sua informaçao é
derivada do outras fontos;
ole
duplica
a inforrnaçao que pode sor encontrada em
Quito lugar. Esta e uma razão para
oxclui-lo.
z Urn recibo desempenha urn papo] especia
l em tormos das rogras de negocio: go
ralmen
to
elo
confer
e
diroito
o
ao
porta
dor
do rocibo do dovolvor os itons compra
dos polo mosmo. Esta C uma razSo para mostrd
-lo no modelo.
Urna vex quo a dovoluçao do itens
nSo estC sondo
cons
idera
da
neste
ciclo
do desert
volvimonto, a Rt’ctho serd exciuld
o.
Dura
nte
0 ciclo do dosonvolvimento
quo trata o
case do uso Tratar l)eooluçCes, a sua inclusa
o seria justificávol.
Diretrizes para Modelagem de DomInio
UIILrzANOO UML E PADROES
Dosonhe-os om urn modelo do dorninio,
Acroscente as issociaçöes neossmas para rcgistrar os rd cIonamentos
para os quais existe a necossidado de preservar algurna mernória (discu
tido em urn capitulo subsequente).
Acroscente os atributos necossários para completar os requisitos do infor
maçao (discutido em outro capItulo mais adiante).
Liste as classes concoituais candidatas, usando a Lista de Categorias d
Classes Conceituais e a identificaçâo de substantivos relacionados corn
os roquisitos que estão sendo considorados.
NJão incluir coisas quo näo estão Id.
a
—
—
I
bliotocas.
a 0 cartografo oxclui coisas do urn rnapa so ndo fororn consideradas re1evanto5
neCs
ra a finalidade do mesrno; por exernpbo, a topografia ou as populacOos ndo
Cii5
sitam sor mostradas. Da mosrna forrna, urn modelo de domInio pode oxcluir
PO
requisitos.
aos
tos
nao-pertinen
probborna
sos conceituais no dorninio do
exornplo podernos exclusr Caneta e CestoDePapus do nosso rnodelo de donun
1
ufl
(para o conjunto corrente de requisitos), urna vez que cbs não desempenham
nota.
do
digno
óbvio
papel
urn domide.
Urn modelo de domlnio é urn tipo do mapa de conceitos ou coisas em
sugere o
e
domInio
do
Este espfrito enfatiza o papel analItico do urn modelo
guinte:
dasc1
a Os cartografos usan-i os nomes do território cbs ndo mudam os nornes
a
use
dizer
a
equivale
isso
dominio,
do
modelo
Para
urn
dades em urn rnapa.
R
cahuldrio do do,nínio quando nomear classes conceit uais e atributos. For oxemplo.
coriE
cliento
o
nornoie
hiblioteca,
uma
para
modolo
ostiver desenvolvendo urn
termos usados por tunclonlrios de
urn Usuario ou Client da Bthlioteca
Excluir caracteristicas irre1e antes
a
Fazer urn rnodelo do domInio no ospIrito corn que urn cartografo frahaiha:
Usar os nornes existentes no territorio
a
Aesfratégia do cartógrafo se aplica tanto a mapas quanto a rnodelos de dornlnio,
Sobre a nomenclatura e a modelagern de coisas: o cartógrafo
Urn método complornentar dtil é aprender e copiar “padroos de an1ise”, discutidal
em urn capItulo a seguir.
4.
3.
2.
1.
Siga estes passos para criar urn modclo de dorrnnio
Como coristruir urn modelo de domInlo
1O4
156
1O5
Dos (ucor.ozo
is
rs
1.57
vu
—
ou... ?
—
-.
IPDV 4 uma s:i.gia quo sign ifica terminal do ponto-dosvo:ndas. Em j.argdo do compu
tadores, un-i terminal 4 qu.aiquor dispos tivo isa onD-i. ou frontoi:ma, d urn sstomna
Como Resolver Classes Conceituais Semeihantes
Registro versus TPDV
Em caso do drivid.a, tome—a urn concoi..to saparado Os atributos dovern scm
muito mar05 em urn mod do do dominio,
Nd rnundo real, urn aeroporto do destino nao é consid.orado urn ndmero on urn taxto ole 4 urns coisa do grande porte quo ocupa espaco. Portanto,.Aersaart.o dove.ria
ser urn conceito.
dest:nc
C:omo outro exemplo, considere a dorni.nio do reserves he passagons aéroa s,LI/stinc:
deveria. ser urn atrihuto do Vôo ou u,ma class-c co.ncei.tual separada. co-.mo Aero pasta?
—
reroDe
No mundo real, urna lola nao 4 considerada urn ntimero ou toxto a tormo uç’ero
,: dot a
urns entidaae boal, urns orgaluzacao e aiio crud ocups espaco Porrsrlta.
er urn conceito.
eura
For exem plo, is/a dove ser urn a.trihuto de I/ends on urn a ciasso concertu,al sep arad.a
L___—
strihuta.
coma urn nurnor a .-rn :r
Se vocb no ponsar em urns clss cenceitus
casso canca:tua. rrcj’ ui-u
rto
sora
urns
provaveinser
\
antdo
real.
mundo
to no
J cz Lrc ‘o
cost Lr urn LanLor
do LODSO urn atr huto qu nac
dar a o ‘ju.r esse ongarrO a seguinte:
comurn ao identificar c/asses conce/tuais
Urn engano
C)
[Coad9b].
or Dooivio: Vu
Un a montanha ciuo ndo
Q cartOgrafo não rn.ostra coisas quo udo estdo 14, co.tuo
do donnnio dever:a e\clu;r cois’. nuo :,
d\jStO. Vs nicsrna terms, o medelo
to no dominic do probiema cue osta send consuersdo.
.Vde D.
pr.inc±pO tans rn. 4 con.hecido coma a estra tégia Uae a V
iVtoDEL
10 6
lenro ooq&c:
.
——
——
—
,
-
\: tes di. ma s n.aa obsari c coma regra pro ica gre urn modelo de
dominio
no it ibsi utirnintc cm reto on err
a sirn mais ou menos util c urno ferra
•.menta de corn unicaci.
—
.
j
:14
CDrnO urn PC clitnt, urn PDA
conect
ado
em
rede
sern
lie
etc
Antiga
rnente
D t- do
mnt dt ternun
de I D\ as ]oja mlntI9llarn
urn
u
no qu t i irn ri ytr9da
’
i
ann
is
i
o’
pagirn
cntos
Pocten
ormen
te so ac
s
outran itumda coma unto ciIxa ret,i’.,tridota rnecrnco
°tLiilrnente
Ii )\ pci inc ic i
rq,
ppeI
d
(i
a
r
1gura
10
t’
1 ni ii g
a a tgo gui ri r,isti ‘i i cn0as e pi,arnentos ni Ms iSO tirnhem
C
rum tt m no
1 de ?onto de o in0 is Conftido a tmo c h porcci
mais
ab
t no, i un i ir’p1imi too ispirmia do que TPV csirn no
rnodeif
domino a simbolo !sg,i 4
ro iei eril ser usido em luCar de TPDVO
di
—
au
It
to accePt Ia nestc etudo tie cso d
as
c
Regalia
Vrmda
*
Reotsiro
v tombem cr11 side compreencti ci pare oso
ou?
Conmaos s a
Titim
i tim au rn rites
o
s:
n
0
roado
0 to on-i nO & i-n
goterto: corn o tcinpts
i-to
tip tin
nOt
ins
sos no
ii
tim
re.,:
ia itm
I
I
f
P
i
n’--ifo “I
p’ n p
om t nio cr1 H n no erritorio a dessa torn
nn sin
sob
no
uti
ponto
o
i
di
sti
f
di
rrulir
dade
co”ium
a
cacoo
Quondooc
et it cc icr lodelo qua re preentem abstraç
1
rndepe
ous
ndente
s
di
irnplernentaç
ao
0
0
tn
Sc
itr
in
i
tO
In
1
1
pode
sir
consid
erodo
pin
ieprese
ntsr
to a ciasse comercia de urn local para registrar vend.as coma nina abstraç
ão de várjo
di te rmina coma no i
D\
ts
it 1 U
Reqista
—
m sum
TPDuF 5 egistrO sa classes conceit oats smmilares
-
in main urn tmnta aihitnirim mis
dos no pronto
Iii is
Figura 106
Modelagem do Mundo Irreal
to
:diuns sistenmas
oituurc
de
se
dastina
m
darnin
a
ios
que
tOni
nmuito
pouca analogii
ant di minia nmturmis an U mam_ moos urn 501? iO pin telecom
unicacoes nO
to
io 7
159
mais isso
CONCEDnE
dornInios,
MODEIO DE DOMINIO: 7
\
J
sU\uzAcAo xs
exemplo. Ainda é possIvel criar urn modelo de dornmnio nestes
ta Dzalogo Rota Protocolo
requer urn alto grau de ahstriçio bern como urn atactamento
do que nos aosturna
roDs a considcrar em piojctos mais habituais
Por exemplo temos
aqul
alguns
cindid
atos
a
chsses
concei
tuais ielacionidos
corn urn dispostti ode chii eirnento em telecornunicaçoes Mensageni
Conc iii Pøi
—
Classes Conceituas de Especificaçao ou de Descncao
discus
sâo a seguir pode a principlo parece
r
rclacio
nada
corn
urn
proble
ma raro
altarnente especializado
Entreta
nto
necess
a
idade
de
classes
concei
tuais
de especi
ficação (como serão defmidac) e comurn em muitos rnodeios de dornin
so Assim cli
e aqui entahzada.
Suponha o seguinte
a Lrno instancia de item representa urn item fisico em uma loja
como tal ela pode
ate rnesrno ter urn nurnero de serie
a Urn [tern tern urno descnçao urn preco e urn iterniD que nao estão
registrados em
qualquer outro luar
a Todos os que trabaiharn na loja sofrern de amnesia
—
a Cida x ez que urn item tisico real e i endido uma instanc
ia de coftaian correcpon
derite do Item c exciuida do rnundo do software
Corn estas hipoteses 0 que icontece no seimte
cenars
o’
Existe urna
forte
deman
da
para
um
harnhd
rguer
vegetariano novo e rnuito
apreciodo HamburguerObjeto A lola vende todo seu
o
estoque desse harnburguer
isco irnphcando quc tod’s is instancios Item de 1
Hamhu
e
to
rierOh sic excluidas da
mernonia do computador
Agora
temos
aqut
o
cerne
do
proble
rna
so
ilguem
pergunta Quanto custani
os HamhCrguerOhteto?” ningue
.
m
sahe
respon
der,
porque
a mernória do seu preco
estava hgida as instincias estocadas as quars forarn
sendo excluidas a medida quc
trim i endidis ote quc ted is
tii
essern
side
i
endida
s
Obseri e tambcrn quo o modelo corrente cc
impler
nentado em ift air confer
me descnto tern dados duplicodos Assim e inefici
ente em termoc de espaco
de or
niazenamento, porque a descrição, o preco e
o iternlD são duplicados para cada instancii de itt 1? do mesmo produto
—
—
A necessidade de classes conceituais de especif
icacao ou de descricao
0 rohiema precedente
ilustra
i
nccess
idide
do
rim
concei
to de objetos que são cc
pecificacoes on descriçoes de outras coisas. Para
resolve
r o problema de Item, 0 que 0
o,ar1o a umo classe
5
ne
concei
tu-il
Espcgf
icaçdo
DePro
duto (ou EspecJicaçaoL)elti m
Lb i içmtoDrProduto etc) que armazene inforrnaçOes
sobre itens Urn m Especeficaçaofle
Piol itt. nao reprcse
nta
urn
Itim
mac
urna
descric
ao
de
mforrnacoes coh,e itens Ob
serve que, mesme se todos os itens
regisfr
ados
no
estoqu
e
forern
vendidos e suas insde Item correspondentes em soft care fonem excluid
as a EcpcethcacaoDcPiodu
tancias
to ainda penmanecera.
Os objetos dc desci itOo ou especificacao estão tortern
ente relacionados corn is
con-is que descrex em Fni urn rnodelo de domirno
e comum afirmar que urn-i Epa
cificaçaoDeX Descreve urn X (ver Figura 10.7).
“k”
Meihor
Pior
muttos
significa uma mutbic
Figura 10.7 EspecificacOes ou descricoes sobre outras cosas. 0
Itens
dade de “muitos”. Ele indica que uma EspecificacaoDeProdufo pode descrever
descricao
preco
nümero de sér)e
temlD
Item
A necessidade de classes conceituais de especificacão ë comum nos dorninios de v
das e produtos, bern como no domInio de manufatura, na qual é necessária Um
cricaO de urna coisa manufaturada, a qual é distinta da coisa em si. 0 tempo e c
ço são utilizados para motivar as classes conceituais de especificacão porque
muito comuns; este nao é urn conceito raro de modelagem.
UTILIzANe0 UML e PAOROEs
Como outro exemplo, considere uma linha aOrca quo sofre urn acidentt’ fat.’ n
dos seus aviöes. Suponha que todos os Oos sejem caneeueos oor sei .‘O’n&
quanto se aguarda o térrnino do urna i”t 0—Ogi ii’. ri’gIne nbe’ a i.
-
Esta espeuficacao ou classe reduzir inforrnaoes redundantes ou dupli
cadas
Houver necessidade de uma doscricao sobro urn item ou servio indepen
dentemente da existncia de ilgum exemplar desses itens ou produtos
A exclusão de instâncias de coisas que elas descrevem por exemplo.
Item) resultar cm uma perda de inforrnaçao que precise ser mantida, do
vido a associação incorreta da inforrnaçao corn a coda exciulda.
Outro exemplo de especificacao
•
R
&crescente uma especiticaco ou clisse conceitual de descriçno ‘por e\c
faspeczficacaoDeProduto) qu’indo
A seguinte diretriz sugere quando utilizar especificacOes:
9
Quando as classes conceituals de especificaçao são necessarias
160
I
•1
canceiados,. Os se.us correspoidentos
ohjetos do sotdz.’are VOn scOrn CxcOut
.—
*
*
Descrtc-oor
—————.-
Especiticaçttes sobre outras coisas,
*
-
Deane
Deso-çdoDe,’tc
——-——
Mehor
PIc.r
‘:.
Observe que o exemplo precede.nte e sobre urn service iu.rn vdc•,), em yea boom born
‘come urn Himburgucr\ get trno A,s d scriçO do sort o,os ou p no” d o0% I
ços, geraimente são necessdrias,
outro ox emplo, um.a companhia do te]e.fonia. .m ive.l vend.e pacotes como
“bronze’, “ouro”, etc. F necessdrio ter o concede do urna dc.cricic’ do pacoto urn ti
po de piano do serviços que descreve tarifas per minute, contebdo do in:ornet sern
fir’, etc.), separado do conceito do urn pareto eferivarnente vendido coroo pa rote Je
euro vendido para Craig Larman, em I” do janeiro do 2002., a USS 55 per mOo 0 ne
partarnento de Marketi.ng necessita d.efinir e. registrar este p.iano do sorviço, ou Des’
eriçroDePa.coteDe•Ca,nuIecaçoes.A4oves, a .n.te.s que a,lgum seja, vendido.
Descriçao de servicos
flgura 10.8
0
ho.ra
\or
namer
data
oo
over prograrnada ver Figura IO.
.,,.
So
nas instS ncias do VOn as quais reprosentam voos especificos para ur.nn data
rotas •de vdo a linda
o dora especIficas. nSo existirO mats ur. reg.istro sobre qu.ais
aérea tern.
I o a
t
‘7L
urn
r nrre
co1 r ctr p’ohien
1’
Cquo descreva urn tOo e sue rota. masmo uando urn dotcrmnaria v’a
api0. e ac-uonto, todo- na- oi’-b’n
os da rnernória do cornputadc’r. Portante.
serão exciuidos.
.isyi’.,
o Onico registro quo mostra pam qniai aoroporte urn vb0
vôossã 0
10.8
1:
rs
‘
I
I
L
n
r
i-i
i
-
I
it,
a
.-
i
n
I
i
T
ii
‘
a
Ti
“.
‘1
-i
.
0
d
on
ii
‘-
(ii
r
ci.
1
In
,ecifi aç
.-
o
---
n
a
I
o
1-
a.
u
C
‘
o
d
in
do
p
r rn
-
ra r. Con-To d agran as cc
od
u .a pc p ct a e
Urn proct.s o (como o P1
,
o q ii ilu ado co not
ornlruo no documentaão on
d
e u’ .00
d D an n
\k de,o de
tr
nt x
o ou o de
c
.a
n id
g
1. L 21 0 Ti Ic er us. do pa a t. Ia image
r o l de ]. ii io) Cl es de soft a’e, tabs
-
io d
10 I ‘a ita .o do’ d agrama oasico d LML Low
a
i do n-i adelo-. detinido p r rrietodo1ogita ‘v
.
‘i o
a.
i
rrì cde las esdalj\4L
L
00
1
(iT
ii
n
ii
S
marDI
0
d
.
‘
(1
fl
Ci
rc a
0
par e
n
0
-J.
a’i
1
r
de
.
ao ant r etado t.omoun
an ore 50.
F’
‘
s.
aa.. notaç 0 Ii ad.. p
ode ‘mplementaa
ao ch’i ada
1
Q
d
ft. do e
il
iTilO
al.
ne
-
-
0
0 rn
ma not. ao u .d
de ri ..o do ib tracöo d -.
‘r c
a e
t. C 11 promet
omplo nio espoCaiC. mente urTi
an
(C
an d
‘I
,
p
rusmetdc
0
‘ciii
0
TV
c
d
o doigran
o n
iT d d
rn 0
iii
0
to
ologic
amente
a eu o ) qu
o
0
1 Lr-.. err .i erentec modelo, temos o
diagramasde
1
0
0 1
r u ill
as par dust or as mci so tens entre ob
ad
o n e es a e or s no mund rca
I
‘t.
Can
1
Li I. at.
1
c ie t.
c
objetoi ‘,n io i [CDQ4 r&
I.,- r 1-o vier
[FS1LI CT -.ja, a n orna notaao d
I
t
agr
1
r ‘.
r e .ipos Ic er pe t: a— niodeloc.
CT
a
c va do e
‘
c
a
IL
cdiv do in p1 mont.
I
IT
-‘-
i
t
-,
-
.
oogaL
I
I.
a
e
i
‘a
‘—‘
Perspec Iva es en ia ou coniettual
-
I
Notacao UML, Modelos e Métodos: Perspectivas Multiplas
:1
1.
2. P
Pt.
L
F
—
Pagarnento
quanha
Pagamonto
‘I
quantia: Moeda
terSaldo Moods
1
1
Venda
Venda
data: Data
horaDolnicio: Hora
data
hors
J
163
A notaçao pura do
diagrarna do classes
da UML e usada em
urn modelo do implo
rnontacao visualizando
componontes de software.
do PU
Modelo de Projeto
A notacao pura de
diagrarna do classes
da UML é usada em
urn modolo ossennal
visuatizando conceitos
do mundo real.
Modelo do DomIrto
do PU
M0DELO or DoittNto: VtsvALizAçAo Dos
Coacrrros
Paqs-por
Pa a- or
jobtorTotal ( ): Moeda
Fgura 10.9 A notacao UML pura é aplicada em diferen
tes perspectivas e modelos defini
dos por urn processo ou método.
—
‘
dc
ador
ces C COSOS
C(as1tI
tOo.
nos questoes fisicas, questo
es
de
softwa
evento
re,
s,
etC.
Urn
processo, ou método,
superpord terminologias alternativas a UME.
For
exemp
lo,
no PU, quando as Cal
xas da UML são desenh
adas
no
Modol
o
de
Dornin
io,
e]as
podern ser Chamadas de
conceitos de domInio ou classes concei
tuais;
Model
o
o
de DomInio oferece uma
perspeC’nva conCe
itual.
No
PU,
quando
são
desenh
adas
Caixas UML no Modelo de
Projeto, elas são ofiCialmente chama
das
do
classes
de projeto; o Modelo de Proje
to oferece uma perspectiva de especificacao ou
implernentaçao, como o modelador
desejar.
Independentemente do defirtiçao, o aspeCt
o import
ante
a
observ
ar
é quo é dtil
faier a distincao ontre as perspe
Ctivas
do
urn
analist
a
de
domin
io,
que
procura Clas—
SOS ConCeltuais do mundo real,
omo urna venda (uma
perspe
ctiva
conceitual), e do
urn proietista de softwa
re,
ctue
espeCi
fiCa
entidad
es
de
sof1wa
re,
como urna classe do
sottware 1. n-tda (ui-i-ia espeCifiCaçao ou perspe
Ctiva
de
impiem
entacao).
A tvlL pode
ser
usada
para
ilustrar
essas
perspe
ctivas corn notaçao e termi
noiogia hastante sinailares, de maneir
a
quo
é
import
ante ter em monte qual a pers
pectivaa que estd sendo utilizada (uma visao
de anailise, de projeto ou do irnple
naentaçdo
\ll
01
15
1
1
lo
\l
h I
0
ago corn caracteristicas estrutairais
C/lu c niportarnnto. incluuido classes, (tOres,
intel
10.9
164
UM1. C 1DROES
—
Classe como na UML, 0 termo geral que representa ou uma coisa no
mundo real (urna chsse conceitusi) ou de ottware (unii classL do soft
ware)
,
—
Isso esta relacionado corn o problerna do hiato de representação ou hiato ‘emantlCO
o hrsto entre nosso modelo mental do domirno e sua represent’sco em software
nio e conceitos nos quais obtemos inspiracao para dar nome a certas coisas no
projeto de software.
o Modelo de DomInio fornece urn dicionário visual do vocahuiário do domi
Examine a Figura 10.10. Por que os livros e educadores que discutern urn
orientado a objetos cornum mostrarn somente o uso de classe% de software cujosno
2 Por quc escolhei urn norne do classe
mes refletem vocabularso comum do domrnio
2
de softva’e como Vo.nda c o que urna 1/coda faz
Simplesmente escoiher nomes que reflitsm o vocabuiario do dommio (Vend4
meihora a compreensao rdpida e fornece uma indicacao do quo esperar do pedacods
cOdigo na classe de software Venda. Temos urn modelo rnentai ou urn modelo de do
rnInio em questão (por exemplo, urna loja que vende coisas). No mundo real, sabe
mosque a venda tern uma data. Consequentemente, se criarmos urna classe Java isf
nome Venda, e derrnos a ela a responsabilidade de saber sobre uma venda real e sos
data, então a classe Java Venda corresponderd ao nosso rnodelo mental ou models df
domimo do dommio real ou seja cia apelara para nossas intuiçOes do domiruo
Dimininçao do Hiato de Representaçao
a
Classe de implementação urna classe implementada em urna linguagem orientada a objetos, como Java.
•
—
—
Classe de projeto urn membro do rnodelo de projeto do i’lJ. F urn sinó
nimo de classe de software, mas, por aiguma razão, deseo enfatizar q
cia e uma classe no Modelo de Projeto. 0 PU permite que uma ciasse de
projeto tertha perspectlvl de especthcacao ou do implernentacao confor
me o modelador desejar.
•
—
Classe de software uma ciasse que representa urna perspectiva de w
pecificacao ou implementacao de urn componente de software, indepen
dentemente de processo ou método.
•
—
Classe conceitual urn conceito ou coisa do mundo real. Urna g
505
tiva conceitual ou essencial. 0 Modelo de Dominio do PU contérn cbs
conceituais,
•
Para evitar confusão, este livro usará termos relacionados corn classes coma
segue, urna maneira consistente tanto corn a UvIL quanto corn o PU:
U-nuzANDo
no Mod&o de
a
quanSa
horaDeinicic: Hors
data: Data
data
hors
—
—
Em urn extremo, poderlamos codificar diretamente a apiicaci.o do PDV ProxGer em
cddigo bi.ndrio pure pars invo.•car o con.junto d.c in ru.cDes do process.ador. Corn
preendemos qua o hia.to do representacCo d vasto e quo, portanto, have.rd.. urn cus.to
real embers dificil de quantificar em urn so.ftmar quo spresenta urn brato f/ia
grande do representac5io; d difIcil compreendé-lo e rebaciond-lo corn a clorn:n:o ra
problema. PrOxirnas so outro extreme deste espectro estie as tecnoe:a. Jo obeto
rnuad
quo
p m turn c ar 010L0 do
o tipo de agrupa.m.ento quo percebemos no mundo real.. No mund.o real, pe.rcebernos
urns “parte” (ou cv en.to). chamada venda; assirn, rio m:u.n.do do tao-, temos urn a
classe chamada VJrrda, E.sse reiaci.onarne:n.to u.m-para-u.m, rn ais prOximo. entre a vocabuid:rio do domnIn.io e o vocabul.d,no do fl0550 so traare e’a”i a.o’rnparnento reduz o
“
a pores
hi at a d representv io 1/ao
funciona da maneira quo esperamos, conhecendo o dorniri:rn e augerS- madas
rais” do estender o codigo para quo tate corresponds do mans/ira similar aa dam:nic’,
ou apele pars nossas intuiçOes do domino. Dito simpiesmenfo. a muds/ia do -no’:
to n,os lembra o m.od.oio con.ceitua.i ou mental, .funcion.a,nd.o do, m.a.n.eira prevssivs’l.
Existe urna vantagern. prdtica pars os modeios de sofftv:ree’ quo rectuzem o trio-to.
do representacao. A mo-lena dos engenheiros de software so-he que isso ve.rdade, em-
ciasses do sodowe cc
no proeto concebem o dominic a sos rsprese.ntacCo em software Wi reduzido,
Modelo de Projeto do PU
ubterSado (:Moeda
a
/
Portanto, 0 hiato de representacao entre 0 rnodo corns os proponente.s a interessados
Weiss
/
Figura 10.10 No projeto e prOgramacCo ocernados a sojetos. é comum onar
jos comes e inforrnacOes tenham Woo nspirados pe:o dom’o so munds ‘ea..
ssa C urns das giandes
555 Ce ehjeto.5.
.
ecnologe
n,.ato
sass reduz o
50
.E.de represefltac
nSprnLi
d urn conc.000, rnaS
Mod&o
o-rnefliO
staurnacassed0
são a mesma
nSo
fpya0. Co-s
Modelo de Dominio do PU
são rica nitereSSaOOs 005 ccue:rs
MoDoLn )E DOMfNIO: VrsUALizAcAo nos Cososrios
Oura cia do diffcil quantificaç1o. De fato, urna prova disco é
que os desenvolve
.:wa. quo queiem d.ificuitar a .engertharia
reversa
do cOdigo-fonte. a partir do
b
nudam us nomes das .cla.sses e dos métodos Java de forrn.a
quo
fiquem
ininteli
assm, pam n uso $as nossas inmiçOes do domfnio, embora
asej.
ras do ocotrole e do dados permane.cam inalteradas.
Natura.lme.n
te,
a
tecnoiogia
do
objetos
tambérn
tern
va.ior
porque pode cL
porte ao proeto do sistemas elega.ntes, fracarnente
acopiados,
fdceis
de esr
1
tender, orno ser explorado no restante do iivro. Urn hiato de
represeritaçao
mas mquestionavelmente .secundário diante da vantagern da
tecnologia de o
do
da.r
sup.orte
a .faciIidade do rnudanças e extensöes edo suporte que cia ofered
Ia.
rastrOr 0 ocultar a complexidade.
Don.nco.
RegisOc
i
Unha..DNtem
drNenda
P•a•gamento
L___
I
..
Item
Caixa
Loaumns
Moaec de aom:n:o nc:a:,
Modelos de Dominlo no Pu..
suentes.
o;a
Venda
Lnt_J GeeNe
speceicacao
feProduto
ida atributos •o as associaçOes pa.ra o rnod.eio conceitual serão
considerados Dos capi
Figura 10.11
j
.A
hata
de
cUsses
conceituais
gerada
para
o
dorninio
do
J’DV
ProxGer pode se:
pro.sentada. i.raficamente (ve.r Figura h).11) para. mostrar a gdnese
do Mode
1010 Exemplo: o Modelo de Dominlo para o PDV ProxGer
1011
.
demo ugeride no eernplo da Thheia id,2. urn Modelo do Dominio
geralmenteéid
lot ornnIti ion cli Or caO
quo
ca use do eiaoracão.
do dominto ni. o oncontra.m u,rna Urte .moti .ação cm cOncepçao. urna V
finai.idad.e desta née é urna. invostUaçéo sdria, mac decidir se o pro.to
I
Tabela 10.2
—
—
MoocLo DE DOMINIO: VisuauzAçAo DOs CoNcanos
Ctt..Ctn
Construcao
T1.T2
Transicao
167
E1..En
Elaboracao
r
r
r
r
Cl
.
i
i
I
r
r
r
r
I
r
r
r
Concepcao
Amostra de artefatos do PU e sua seqüência temporal
niciar; r refinar
Modelo de Casos
de Uso (DSSs)
Modela de
Dominlo
t.scipIinefat
Modelagem de
NeadCiO
RequSitos
Visao
Especificacoes
Suplementares
Giossário
Modelo de Projeto
Documento de Arqun
Modelo de
Implementacao
et’
lmplernefltaçãO
tetura de software
Modelo de Dados
Gestãode Projeto
Pasta de
Desenvolvimento
Modelo de Tests
PIano de Desenvol
vimento de software
‘‘
Ambiente
Elaboração
o Modelo de DornInio é criado principalmente durante as iteraçOes da elaboracäo,
quando e ma br a necessidade de compreender os conceitos dignos de nota e mapear
alguns para classes de software durante o trabatho de projeto.
Embora, ironicamente, urn ndmero significativo de paginas seja dedicado a ox
plicar a modelagem de objetos do dominio, em mäos experientes, o desenvolvimen
to de urn modelo do domInio (parcial, e que cresce de modo incremental) em cada
iteraçäo deveria tomar poucas horas. Essas são ainda mais abreviadas pelo uso
do
padroes de andlise predefinidos.
0 modelo de objetos de negócio do PU versus o modelo de domInlo
—
—
O Modelo de DomInio do PU e urna variante oficial do Modelo de Objetos de
Neg&
cio do PU (MON) menos comurn. 0 MON do PU não confundir corn o quo outras
pessoas c métodos podern definir corno MON. o qual é urn termo amplarnente em
pregado corn diferentes significados e urn tipo de modelo da empresa usado para
descrever todo o negócio. Pie pode ser usado quando fazemos engertharia de proces
sos de negdcio ou reengenharia, independentemente do quaiquer aplicacao
do soft
ware (corno é o PDV Pi-oxGer).
0 livro de Odell, Object-Oriented Methods: A Foundation, fornece urna introduçao ii
lida a modelagem conceitual do domInio. 0 livro de Cook e Daniel, Designing O
U
6
Systems. tambérn e dtil.
O livro de Fowler, Analysis Patterns, oferece padroes que vale a pena usar e
modelos de dornInio e, definitivarnente, e recomendado. Urn outro born livro que
dcscreve padrOes em rnodelos de domrnio e o de Hay Data Model Patterns Con a
tions of Thought 0 conselho e a orientacbo de especialistas ern rnodelagern de di
dos que compreendem a distmc’io entre modelos conceituirs puros e modelos di
esquemas de bancos de dados podern ser muito uteis para a rnodelagern de objetos
do domInio.
Join Modeling in Color with UML [CDL99] tern rnais conselhos e orientação rile
vantes para a modelagem de domInio do que o titulo sugere. Os autores identifican
padröes comuns em tipos relacionados e suas associaçoes; o papel do uso do con
realmente uma visualizaçao de categorias cornuns destes tipos, corno descnçio
(azul), papFis (arnarelo) e intervalos de tempo (rosa). A cor e usada corno auxIlio no v:
sualização dos padroes.
Desde o trabaiho original de Abbott, a análise linguistica tern adquirido técr&
cas mais sofisticadas para a anhlise orientada a objetos, geralmente charnada de me
delagern de hnguagern natural ou urna varlação Ver [Moreno97] corno exernplo
Leituras Adicionais
..
Você pode optar por desenvolver urn modelo de objetos de rlegócio
“incompleto”, focando a explicacao das “coisas” e produtos impor
tantes para urn dornInio. Isso geralmente b charnado de modelo de
dommnio [RUP].
O MON e representado corn diversos diagramas (classe, atividade e seque
que ilustrarn corno a empresa funciona (ou deveria funcionar). Ele será mais j
estivermos executando urna engenharia de processos que abranja toda a
mas e urna atividade menos comurn do que criar urna simples apticaçao de a
isolada.
Conseqüentemente, o PU define o Modelo de DornInio corno o artefato de sub.
conjurito mais frequenternente criado ou corno urna especializacao do vIO\.
[0 MON do PU] serve corno urna ahstraçao do modo como Os fun
cionarios do negocio e as entidades de negocio precis m ser relacio
nados e colaborar para tocar o negócio [RUP].
IJ OLIZANDO UML s I’ADROES
10.12
168
=j
deTeste
i’x: as
Figura 10,12
Teste
Gestão
de Projeto
Projeto
UlSItOS
—
Amo tr
assoc/açSes
air/bOos..
:e--—cs. ca”ctAs
-
.
a,
.,
-
0:
“
.
ro
A
of’ L,
-
t
do PU
on
0
111
‘C
;_.
—
A
ala,
A
ModelO de Dorninio, 6 ..rn.ostrad.a na Figura
hodcnd
Papo Sc Desen
Sottwae
vovrento Sc
oe’c
s
n U rim
—
Amostras de Artefatos do PU
ModeIa9eI7l
de NegodIo
.
,fIubncia dos artefatos, enfa tiza.nd.o
1
iO:.12.
13 ArtefatOsdoPU
169
I
II
I
I
I
S
s
11
Modelo de DomInio:
Inclusão de Associaçöes
OBJ ETIVOS
identificar associaçoes para urn modelo de domInio.
Distinguir entre as associacöes “que devem ser conhecidas” daque
las somente capazes de auxiliar na compreensao.
Associaçöes
E importante distinguir as associaçOes
de
classes
concei
tuais
necess
árias a satisfação
dos requisi
tos
de
inform
acao
dos
cenário
s
em
desenv
olvime
nto daquelas que auxi
liani na cornpreensao do modelo
de
domIn
io.
Este
capItul
o
explora a identificaçäo de
associaçöes adequadas e acrescenta associaçOes ao modelo
de domInio para o estudo
de caso ProxGer.
Introdução
11.1
Uma
associa
çao
é
urn
relacio
namen
to
entre
tipos
(ou,
ma
is especificamente, entre
instâncias desses tipos) que indica uma conexäo corn signifi
cado e interesse (rer Fi
gura 11.1).
0
asseciaçoes são descritas come urn relacionarnento semantic
Figura 11.1
Assodacoes.
Estrj
11 2
Associaçöes dern ados da Lists de Assecioçoes Cemuns
—
Associaçoes para as quais e corthecimento do relacienamente precisa ser
preservado per algum tempo (associacoes que precisam ser cenhecidas.
e
e
Vms associaçio e representada come uma lrnha ontre cenceitos cern urn name A as
sociaçao inerentemente bidirecional, o que significa que é pessivel e percurso lOg I
co dos objetos de urn dos tipes para o do outre tipo, e vice-versa.
Este percurso puramente abstrato; dc não é urns afirmaçae sobre cenexOes em
tie entidades de software
A Notaçao para Associação em UML
nhas de associaçöes. Use es critérios sugeridos neste capItule.
For eutre lade, precisarnos ter a memOria de urn relacienamente entre uma Vend
2 Nao es requisites nie sui,erern que tal roliuenamente isa
orrente e urn Gerinie
nocessarco Noe e rncorreto mestrar urn relacienamente entre urns I/i ada e urn Goes
te porem nae e interessante nern utal no contexto des nosses requisites
Este é urn ponto importante. Em urn medelo de dominic corn a classes coned
tuais diferentes, pode haver n (n — 1) associaçOes entre classes cenceituais urn nilmere potenLnlmente grande 0 excesso de linhas no diogromi pros eca peluiciosi
sual e dificulti a compreensao do modelo Portante seja ecenemice ae ocrescentar ii
•
•
Censidero a rnclusão dos seguintes assecioçöes em urn medele dE demirne
de vendas.
As associaçOes dignas de nota exigern o conhecimento de urn relacionarnente ue
cessita ser preservado por algum tempo — que pode ser de milissegundos ou de anoS,
dependendo do contexto. Em outras palavras, entre quais objetos necessitarnos ter.
relacionamente For exemplo precisames lembrar quals instan
urna memoria de urn 2
2 Sms case cop
enìs de LinhaDEltemDeVenda são issocindas a uma rnstancia do Venda
trdrio nao seria possIvel reconstruir a verida, imprirnir urn reciho ou calcular urn total
assocac
tre deja ou mais classificadores que envolve conexão entre suas instâncias”.
as
PADROES
Na UML,
UuJIzAxDo UML F.
Critérios para associaçöes üteis
172
O’ecaD
05 etua 00 ct;2 05
i3
—
Lista de
ace
Categoria
A é urns deacricdo de B.
across.
Vto-PrograrnaçaoDaVOc
DescrigdoDehern—ltern
j DescnipdoDeVBo—VAo
Passage.rev4e’a’rae
eso’çaoDeocm—Os:a
Ass—A eronave
LftrhaDeiteniDeOendaVdnda
Pern.aOeVO—RoaL.SsVdo
Aegistm—Lma tte.—Prarndrnrs
eSDecdiCa’ne.
Gaveta—Regst.-n jou. ‘nsa
Exemplos
do roserva do cassa pens
oscarne-re contcio cm soc-c B
A cOd fisicarnerte 000500cc B.
A é urns parts Idgica de B.
A sara
e
Lista de AssociacOes Cornuns.
As urna parts fmca de B.
Tabela 111
tirades do dominjos de lola
Cornece a adiçae de asseciaç.Oes u.sando a hsta. cia ‘Thbel.a 11.1.
lila contdrn categorias comuns que devem ser consideradas Os esempios ado
11.3 Como Encontrar Assocacoes
Associaçoes Comuns
Lsarixioieitordo
diagrams.
A flecha de direcão do leitura näo tern sinidcado em normo do modl
Os extremes de u.ma as.sec.iaçao pod.em condor urna oxprossdo do .multiphcldade. In
dicande e relacienamento nucrdrico entre as instâncias dos ccsncojto:s.
Urna seta opcienai de “direçae do iei.tura” i.ndica a direçdo de leitura do norne
da asseciação; cia näe indies a direçae do vshilidad on do naveoeil,’.
Na auséncia de urns sets. convencionou-se ciuc a associac2o deso sor
querda pars a di.rdita ou do ci.ma pars hanco, e.rnbora a 1JML coo ftiça disso urna no
gra (ver Figura 11.2).
A notação UML pars associapdes
h.
-
Venda
-“fecha cie direcao de ieiura
-ea nao te’ sgfcaoo. a nac sar ca’ a
eerUm
no da assotiacao
Figura 11.2
\-.
——-—--z-——-—..-—
fr:c’Ts
174
:
A d
UML
F
Gategoria
a.s
a
urros uhuridade oroanz
acona de B,
,
suds reasIIadcs re0tado
/
cap;adc pro B.
.
Ad ur• mern so de
A
A usa uu aererrrda B.
Aepossu.OtoporB,
Aturn eu€nto re•OcAnado
corn B.
T,I
s g
0
s c t
“
s.c
..
A é urna transscto reAcdmn
ada CV’ urna
roars trarmsacto B.
.4 t aAacene a B
sOt reaoonsdo a urns rars
açta B.
AseccmunAacorrB,
•:
Lhuu’axoa
C
•
•
a
Diretrizes para Associaça
es
um.
Associaçöes de alta prior/
dade
11.4
:.
.
a
DII
Exemplos
a
‘çoDetianurençao—
au ,.a
Vdnda—Reqstro
Aeserva—Man.IfestoDeVOo
•Caj’xaLca
P.!otc’-.-LThhaAdrea
Departarnento—Lcia
Manutençsãc—LinhaAérea
Cthxa-Regisoo
R;roc—Aeronaue
cue’-re—caxa
AgenteDeReservas—Passageir
o
Ctente—Paaamerito
Passagefrc—BiThete
Pagamen.ta— Venda
Peas rva_Canceiamenro
Ld’haD&temDeVenda—
L.inhaDeitemDe Panda
C. Sacs—Cmade
I.c
‘s
rd e ute cm urn mo
Rsgmstrc=Luu
Aviã
c—L
Thha
Aère
a
Venda—Cfiente. Venda—L
oja,
Pardda—Vdo
1E
s..s
o
Conce.ntre-se nba associac
Oes cuio conhec
irne
nto
do
rela
cio.narnento d.e
vs sec prosorvado per aigu
rn tempo (associaçOes que
devern sec conhe
cidas’).
554 importanto iden
,
5
j
tificar
scu:caiLuais do que
asso
ciaç
Oes
() excesso do associas
Pes tende a tornar mo
delo de dominio confuso
do esclarecê-!o A sua des
,
coherta pode exigir
muito tempo, corn
em yea
be SetiCs0S apenas
marpinais.
.Ev:te mostrar associac
oes redundarites ou der
ivtveis.
Papéis
Cada extrerno de
nofl
uma
Mooti 0 DL
DOMIMO l\CLUSAO Db
Assx
içoEs
associaçãO é chamado de papel. Os papéis pod
em ter:
a expresSBo de multiplicidade
175
• navegabilidade
A rnultiplicidade é exarninada a seguir, e as duas outras caracteristic são disc
as
utidas
em capItUlOs posteriOres
/tipIlcidade
0
m
aPej
MutipHcidade em urna assocacãO
0..•
jast0ca*
A multiplicidade define qua
ntaS
inst
ânc
ias
de
urn
a
clas
se
A podem estar associadas
uma instBncia de uma ciasse B, em urn momento qualqu
er (ver Figura 11.3).
a
Figura 11.3
item.
T
T
T
exatarnente 3. 5 ou 8
exatamente 5
urna4O
urn ou mais
zero ou mais;
“muitos(as)”
T
Valores de multiplicidade
3.5, 8
5
*
Por exemplo, uma dnica instância de urna Loja pod
e ser associada a “muitas” (zero
ou ma is, indicado pelo *) instãnc
ias
de
Alguns exemplos de expressöes de rnultiplici
dade são mostrados na Figura 11.4.
Figura 11.4
C) valor da multiplicidade informa quantas inst
ãnc
ias
de
urn tipo podern ser associa
das corretarnente a instâncias do outro tipo, em urn dete
rminado momento (não con-
U
UML
F
Pact
OLS
.
Loja
0
1
ou 0.. 1
Estoca
—j
Item
fundir corn as instâncias associadas ao longo do tempo corn outras instSncias) 5.
exemplo, d possivel que urn carro usado seja indmeras vezes comercializado por lo.
jas de carros usados ao longo do tempo. Mas, em urn certo mornento, o carro é
cadcspor somente rn revendedor. 0 carro nSo e Estocado-por muitos revendedores i,
0
quele momento Da mesma forma em paises corn lets monogamicas uma PCssoap
de estar Casada corn somente om outra pessoa em urn determtwsdo momerito a1n
que, ao longo do tempo, cia possa ter estado casada corn muitas pessoas.
0 valor da multiplicidade depende do nosso interesse corno rnodeiadorese
senvoivedores de software, visto que dc informa uma restriçSo do dominic quo soc
(ou poderia ser) refletida no software (ver Figura 11.5).
IILIZANDO
As associaçöes são importantes, porern uma armadilha comurn na criaçSo de mode
los conceituais e perder muito tempo tentando descobri-las.
0 Quanto as Associaçoes Devem Ser Detaihadas?
51a0
N. de T. Our exernpto, urns multiplicidade de valor 1 significa que urns instSncia enS associada, cm urn clsdo 0
te, sornente sums instincts de outra classe conceitual. Naturalmente, so longo da vida da instSrtcta. eLi ;cUera
sociada a muitas outras, porOm somente a urns do cads vez.
11.6
A multiplicidade dependa do contexto.
Rumbaugh [Rurnbaugh9lj dd urn outro exemplo de Pessoa e Empresa cia associação
‘Trabalha-para. Indicar Se urna instSncia de Pessoa trahaiha para uma ou mais instIn
cias de Ernpresa depende do contexto do modelo; a Receita Federal estd interessada
em rnt.iitos; urn sindicato, provavelmente, em sornente urn. A escoiha depende. no
prdtica, de para quem estarnos construindo o software e tambérn das multiplicidades
que são válidas em urna imp lernentaçao.
Figura 11.5
Essa modelo parcial de dominic não representa objetos da software, mas as multiplicidades ragistrarn
restricoes cuio valor pratico normalmente esta relacionado corn nosso interesse em construe software ou
bancos de dados (qua refletern nosso dominic do rnundo real) corn verificacftas de validada. Sob esse
ponto de vista, o valor desejado poda sar “1
Davarnos nos preocupar com esse ponto de vista? Se esse raIacionamento tosse implernentado cc
software, provavelmente desejariamos assegurar que urna instãncia de Item no software astivesse sempre
ralacionada corn 1 instãncia especifica de Loja; caso contrário, teriamos urn erro ou dados corrompidos.
A resposta depende do nosso interesse e do uso que faremos do modelo. Normalmente, a multiplicida3e
se esse
informa uma restricao do dominic qua dave ser considerada para verificaçao palo software
relacionamento foi implementado a retletido nos objetos de software ou em um banco de dados. Po
examplo um determinado item pode estar esgotado ou tar sido descartado a por 550 nao existir maa
estoque na Ioja. Sob asse ponto de vista, “0.1 faz sentido Iogico, mas,,.
pIicidadedeveriaser”1”ou”0..1”?.
176
11.7
0
sauifltc:
Norneie urna a.ssociaçao coin base no forrna,to NomeDoTipo-FraseComVerbo
Nomefloiipo, cc qua) a frase corn o vexho cria nina seqüdncia legIvel e corn
significado no contexto do modelo,
.Paga—por
Figura 11.6
Dawgnaoa-para
CapLi
.
Names dc assocac.oes.
Supervisiona
Psssoa
Emprega
LincTa Acres
Contérn
Loj.a
‘mc
.,.
‘
A
—
c.uc-pa’a
Papa-pci
BBLOTECA!
Na Figure 11.6, a d.ireçdo norciraimente pressupcrsta. (ArdiUit) pa.ra i r a carrie cia ama
associaçao é da esquerda para a direita on d.c cii.na parc baixo. Essa não ii uma detecT
m.iração da UML,. mas ama convençdo re.iativamente comu.m..
a .Pgnc p,
a
Qs comes das associacoes devem comecar corn urna 1e:ra maruscuic, urno cc
um.a. associacSo representa urn classi,flcador de i.igaçoes. entre instdncias. [lois foi-ma
tos comuns e igualmente legais parc urna associaçdo composta são;
T
Como Dar Nomes a Associaçôes
é muito mais importante dc ue ancourrar so
Encontrar
ciaçoes. A maior parte d.o tempo gasto cia criaça.o do modelo d.c domini..o deS
veria see dedicad ii identificaçao de conceitos, nAo d.c associaqOes.
\‘ocê deve consicterar
178
11 8
11 9
LrruzANDo UML E PADRCEs
Associacoes MUltiplas entre Dois Tipos
.
Assc.ciaçOes maftipas,
Coo
Voa-para
Voa..cje
1
Aercp000
Dois tipes
pdem
ter
miMtipias
associaçoes
entre
si,
que
o
nao
é raro, Não ha e
pio dPso no nosso estudo do caso PDV, mas ha urn exemplo
no dornmnio da
rca
o cas.•o dus relacionamentos entre urn Vôo (ou, rnais
precisarn.ent
e,
rma
P 1 oc e urn
ror o n er Hcna ii 7
c
asci
oos
oando pna L o-mndo
ae
relacionamentos di ferentes, quo devem ser mostrados
separadarnente.
Flgura 11,7
Associaçães e Implemeritação
—
Duranto a .fase de a odelagem
do
d•ommnio,
urn.a
a
sociaçãc
uJo
é
urna
a.firmaçao s•
bro fiuxos do dados, variáveis do instancia ou conexöes
de
objetos
em
urna
soIuçio
c’ urna
uirrnrç
-io
di
quc
urn
rd
Iclonamento
torn
significado
em urn sen
tOo pui arninto conceit id no mundo real Em termos pratcos
muitos desses rela
cionarnentos
serão
norrnaimente
impiernentad
os
em
software
como caminhos dana
op ‘u c i
a.
‘to n \Iodelo
eio
1
Pro
d
quanto
no
Modelo de Dadcs(
.massua presença em. unia visão conceitual (ou essencial) de urn
modelo d•e dornin1
obo oxi go suc 5
trnplornenta
\n cn’ir urn rnoaelo di. don mio podt.mo d.rimr
sociaço
eque nao saoe
ceuris duranti. a impler
ntntiia
Dc
o
mesma
torma
podem
o
descobrir assona
coos quo dovern ser rnniernentadas. mas passararn despercehida
s durante a modeS
o r ii odilo di donu no none se aijali/ado pam ,.eul&
t
IL a o dorn rio \esi.
ssas de’cohorti’,
tir
Sugesido
Os modJo proioc do ins etigaçao como urn modelo de
dorninio devern
ser atualizados
corn
novas
percepcoes
e
descohertas
feitas
durant
e o trabaiho
do ii pkmcntac Icomi. per
cxcrnplo
nos
assoc1
Icoe’
\ão
e preoc_
rn c rn iso mc no quo ftit irarnonto exista llim uso prafico
par o mode
10. So for urn artofato terntura.rio, usado ap.enas
para fornecer irispir.acao pa d
ur a ip-i po’-te ior i. ue nbc ern uado Jet 1m
siniricatisa mais tar
o pair quo uuahz
s
Ls
io’
ite
produz
ir
ou
Itualiz
ar
docurnentaça
o ou mod&
los., a iii enoc quo oxista u.rna justificativa concreta para
seu uso futuro.
IaN ad ant
dicutir
omos
torn
as
i.e
implornentar
lssocia
oes cm uma lingulgem
do prograrn.ac o orientada a objetos (a mais cornurn
b usar urn atributo que aponta
parc urna
instbncia
da
classe
associadai,
mas,
por
enquan
to, devemos imagin&ial,
oTr’u xprtssoi.s pci rni.nto
uoni.oitua]s
me
corno
arnrnaçoes
sobre uma soluçaoOe
mit, d didos ou d ‘or cci Coma sompre poster9r
consideracoes de projeto OS
Porn di.’ i nformag’ics ir’ decisbes ostrarhas as nossas
“investigaçbes de andlise”, au
montando as opcoes do projeto mais tarde..
o
MoDE!o DE DOMNIO: INCLUSAO DE AssocIAçdEs
AssOCiacoes do Mod&o de DomInio do PDV ProxGer
179
podernOs, agora, acrescentar associacoes ao nosso modelo de dorninio do sisterna
PDV. Devernos acresceritar as associaçOes cujos requisitos (por exemplo, casos de
uso) sugerern ou implicarn a necessidade de serern lembradas, ou que são sugeridas
pela nossa percepcbo do dominic do problerna .Ao atacar urn novo problema, as Ca
tegorias comuns de associaçOes apresentadas anteriormente devem ser revistas e
consideradas, pois são associaçOes relevantes que, normairnente, precisarn set regis
tradas.
ReiaCi3flat0Ss que rião podem ser esquecidos na Lola
Para tomar conhecirnento da venda atual, go
rar urn total, irnprimir urn recibo.
Para saber se a venda foi paga, relacioriar a
quantia fornecida corn o total da venda e
imprimir urn recibo.
Para recuperar urna EspecficaçaoDeProduto
depois de fornecido urn iterniD.
gs associaçbes a seguir justificam-se pelo uso do princIpio: “deve ser conhecida”. Ba
seiarn-se nos casos de uso em consideração no momento.
Registro apta Venda
l’enaa Pac,’a—por
Pagainen to
CatbiogoDeProdutos Registra
EspecificacaoDeProduto
ma p rt
B
ogica do B.
e urna parte fisica de
categona
I
B.
(complotadas) Vondas—Loja
(corrente)Venda—Registro
EspecificacaoDeProduto—CatalogoDeProduto
CatdlogoDeProduto—Loja
EspecificacaoDoProduto—ltem
tinhaDeltemDeVenda—Vonda
LinhaDeltemDe Venda—Venda
Registro—Loja
Item—Lola
Registro—GavetaooCaixa
Sistema
Percorreremos a lista de categorias de associacfies, corn base nos tipos previar
nente
identificados, considerando os requisitos do caso de usc corrente:
AplicacãO da lista de categorias de associaçOes
A
A
A estd fisicamente contido en’i/sobre B.
urna transaçao
A esiá logicamente contido em B.
A ê urns descricao de B.
A t urns linha do item do
ou relatdrio B.
A d !reaistrado/rejatado/
fpado por B
A eStá reiacionado a uma transacao B.
Asecomunica corn B.
A usa ou
Adurna subunidade organizacional do B.
gerencia B.
LinhaDeltemDeVenda—LinhaDeltemDeVenda
Registro—Loja
Cfiente—Pagarnento
Caixa—Pagamento
Pagamenfo—Venda
Caixa—Registro
Gerente—Registro
Gerente—Caixa, mas provavelmente não aplicd vol.
Clienfe—Caixa
nao aplicd vol
ie2biodeB__ Caixa—Loja
I.
.DUtrafrartsacao
j A d urna transaçao relacionada corn
urna
g e adiacentea B.
(f99suido por B.
UML
E PADROES
Figura 11.8
.
Urn modelo parciat de dominio.
Figura 11.8 foj d:
ado de maneira mecaruca da hsta de categorias de associaçoec \o entarito e aco
0 de
selhável fazer uma discriminaçao entre as associaçOes incluIdas no nosso model
dorninio. Já que essa d urna ferrarnenta de cornunicacao, näo é horn sobrecarregar,
modelo de dornInio corn associaçoes que nao são absolutarnente necessárias cue
não auxiliam a nossa cornpreensão. 0 excesso de associaçöes pouco convincee
provoca urn obscurecimento, em vez de urn esciarecirnento.
o conjunto de associaçoes mostrado no modelo do domInio da
Preservar somente as associacoes “que devem ser conhecidas”?
rnente derivadas da lista de categorias de associaçoes candidatas.
o modelo de domInio da Fiira 11.8 mostra urn conjunto de classes concethajse,
sociacoes que são candidatas a nossa aplicacao PDV. As associaçoes foram ‘flit’
Modelo de DomInio para o PDV ProxGer
UnLIzANDO
1111
180
AssociacaG
deco a segu in to:
Gererte
a Re st a-’. e--o--”
‘e
do
c
-
-
‘--‘
aa’ c
cc ms-sc’
a -0
mante rio
ccc
Os ea. ,t
d
-
r
3ao S
sea Dee
-
rad
me at
0 e-’j so na a’m.a -‘e’-o.
c’s me S
c.. cc -cc sire-
Ot’a’
o ra nd
c
d
0
,e
-
—
.
‘
delo do domInic> é urns fdrramenta do cornunicação cia qual ostamos tontando corn
preender e cornunicar concoitos imuortantos a sous roiacionameneaa. Nba osse penn
dL isti e\Llulr iun s
C
55 C
S
1oe
0
‘
delo gerará u.m rn.odeio do in.forrnação” .rnin.irno do quo é .necossd,rio pa ra .rnodeis
o do.mInio d.o problems natural.monte restrito polos requisitos con.si•derados. Entsre
tanto, esta ahordagern. pode criar urn modolo quo ndo conduz a urn ent.endimo rito
comploto do dorninio.
Akin, do sor urn rnod.oio do infdrmaçao do quo so dove, saber sobre coisas. o mo
O uso estrito do critdrio “que-deve-ser-conhe.cido” para rnantor associaçdos ‘as mo
Associaçoes “cjue precisam ser conhec/das” versus associaçöes
para compreensão”
justificávoi.
—
Note que a possihilidade de justificar urna associaçdo c.om 0 argumonto “qu.o dove
ser conhecido” depende do.s requisitos; obvia.mente,. urns rnuda:nça nostes co•m.o
exigir que olD do urn. caixa aparoça em urn reciho ai.tera a necossidade. do iembra.r
urn relacionamen to,
Corn base us andii.se anterior, a oxc:Iusa.o ass associacOcs em questao cads s.er
-aGer--r--DeV
Ectc’ca darn
nda ,rc,aoa-omC’erre
Reglcfrc 4t:vad
Rag/edo (JdadO-por Ca//se
Oscussão
Os >equ/s/ios não /nd/carn neci as/dade de set corrhec/
do oc de reg/strar o caixa. stoat, A/tm d/sco, tamtrtnr S
derivdve/ cc eat/var presen.te a assoc/pado Rep/s So
U/sad/s-par Ca/xe,
cens’rncep:’ C
Evite mostrar associ.acPes .rodundantos ou d•erivdveis
•
Corn base nete consoiho. nem rods ssaciscdo mss:radc
En.foqu.e as associacOes pa.ra as qu.ais o cc..nh•eci.m.en...to do rd.iaciona..mo.ro
to necessita ser p.res•ervado pot. urn cort:o tempo (.assseiaço.e.s “quo do
vern 5cr co.ni.ecidas”).
*
trar assOCiacOeS
Venda /n0iada-por Caixa
—
181
Com.o sugerido p..revia.moo to, recornenda.rn-so Os seguintes critdnios pars mos
tLj;L,v:’:I\,Z,:*Aj:t
182
UuuzANDo UM.L r P\oROrs
—
—
Critdrlo deve-ser-conhecido pode criar urn rnodeio quo :näo ati.ng.e
urn de seu
ciuricar ddias o reacion
arnenr
os-cha
ve.
Por exernplo. na apUcaco PDV: embora usande o critério ‘deveserco
do”. taive.z não sej.a necess
registr
ário
Vcoda
1r.zica.dapor
ar
Cliente;
a
sua
inex
urn aspecto importante pare a compreensão do dominic a de que
urn ci
zera vendas.
Em ter mos de associacOes., urn horn modelo d aqueie consfru
Ido
em
aigu
to stuado entre urn modelo rnirnrno, lustificado sornerite polo critério
“deve-s
nhecido”, e urn rnocielo ciue ilustra todos os relacioriarnentos concebiveis. Q,i
tdr.io
hásico
julgar
pare
o
seu
valor?
Ele
deve
satisfa
todos
zer
a
es requisito
deve-Fer-conhecido. aldrn de comunicar claramente os conceitos essenciais
P
tes no Porn nio do prohierna.
Enfati.e as associaçdes deve-ser-con
hecido
mas
acresce
”,
nte,
conforme
s
osooUra associacaes destinadas somente a enriquecer a corn.preensão
critic
do d.on .tn1o.
•
S
12
Modelo de Dominio:
Inclusão de Atributos
Rich Kulazviec
Urn erro suficienternente sofisticado é indistingu foe! de urna caracterIstica.
OBJETVOS
Identificar atributos em urn modelo de domInio.
Disti.nguir entre atributos corretos e incorretos.
Atributos
F
00cc
srio
identif
icar
os
atrihut
os
das
classes
concei
tuais
necessdrias para satisfa
hr a’ renuiito Jo inform
ação
dos
cenário
s
em
deseriv
olvime
nto,
Este capitulo ex
pcra identiiicacu de atributos adequados e acrescenta atribut
os ao modelo de do
minic do estuoc do caso ProxGer.
Introducao
12.1
:n arihuto d urn valor de dados lógico de urn objeto.
Inciua os seguintes atributos em urn modelo de domIn
io: aqueles para Os
os requisitos (por exemplo, casos de uso) sugerem ou implicarn a neces
adade de memorizar informaçhes.
r PAnROSS
Classes e atributos.
Hora
atributos
Algurnas coisas nao devem ser representadas corno atributos, mas corno associac5
Esta secao explora atributos vdiidos.
Tipos Válidos de Atributos
Figura 12.1
data
horãrioDelnicio
Venda
Os atributos são mostrados no segundo compartirnento da caixa que contém a ci
se conceitual (ver Figura 12.1). Corno alternativa, pode-se mostrar o seu tipo.
Notaçao UML para Atributos
Por exemplo, urn recibo de vendas (que contém as informaçöes de vendas) non
mente inclui urna data e urna hora, e a gerência quer saber as datas e os horários
5
vendas por várias razOes. Consequentemente, a classe conceitual Venda necessj(
atrihuto data e urn atributo hordrio.
UnuzANDo UML
de dados, ternos: Booieano, Data,\’iimcro. Strui
Outros tipos comuns incluern: Endereço, Cor, Figuras Geométricas (l’onto, Re
tãngulo), Nil niero de Thiefone, Nzirnero da Seguridade Social (par exam pio. inscr!
çdo no INSS), Codigo Universal de Prod uto (CUP), SKU. ZIP on CliP, tipos em
rnerados.
(Cndcia), 1-bra.
Entre Os tipos muito comuns
De preferéncia, em urn modelo de dorn±nio, os atributos devem ser atributos
simples ou tipos de dados.
A rnaioria dos tipos sirnples de atrihuto São OS tipos de dados prirnitivos, coma nil
meros. 0 tipo de urn atributo não deve ser urn conceito complexo do dominio, corn
urna Venda ou /Ieroporto. Por exemplo, o atributo registroCorrentc no classe Cam, ca
Figura 12.2, é indesejavel porque o seu tipo significa urn Registro, que não é urn npo
simples de atributo (como N1niero ou Cadeia). A maneira mais vantajosa de dizer cue
urn Cairo usa urn Registro é corn urna associacao, ndo corn urn atrihuto.
Mantenha os atributos simples
12.3
12.2
184
[ado
urn atributo
-
.1
oc
1
_j_____ddP,ãO —j—
cestino 01
Voo
Ac on.
cornolexo
uoredo
Evite representar conce:tos compiexos do cornno corno a:’d,oos: se asec’
T
Reiacione corn associacoes, ado corn atrbutos.
norne
n.orne
registrocorrente°
Caix..a
0315
A restriçdo para que os atrihutos no modele ale dominic seam sornente tipos ala do
dos simpies. nPo sigii..fica que atrihutos em C—— on Java CU mcr?.iéers, instan.ccfi.’.dV
devarn 5cr somente de ti.pos de dados simples ou primitives.. Omod.elo Ce do:rninlo
foca:iiza af.irmaçoes conceituais pu.ras solace urn deminio Ce problema.,. nab sobre
compertentes de softcvare.
.Mais tarde, durante o trabaiho de prolate e implernentaçao, sore. demonstrad.o
que as associaçdes en.tre objetos expressa.s rio modelo de dominic serC•o muitas. oozes
impiernentadas corn.o atrihutos quo re.ferenciam outros Cbjetos complexes do sofiwa.
re, Entretanto, esta é apenas uma dentre vdrias solu.çOes Ce projetos possfveis pam
implemer.tar u.ma associaçCo e, assirn, es.sa deci.sdo d.eve sec adiada durante a mode
lagern do domfnio.
OS
corn urna ossociacda’, ride’ corn urn otriduto.
Aperspectiva conceitual versus a de implementa cáo: o que dizersobre
atributos no cod/go?
Reiacmne classes concei
Repetmdo urn exemplo anterior, urna confusdo comum a
ocieaa urn
compiexo do dornInio come urn atrd’uto. Para ilustrar, chse rye’ cpeurn.operte
de destine no é, no realidade, urna cadeia ale caracture,-: SIC 0 aIo crrc,’
ocupa muitos quihirnetros quadrados ale espaco. Portanto, ‘c alcoa estcr raiccie
nado corn Aemun”to corn urna associacãe, rise corn urn atrbuto. come rn,’ntrcdo no
Fiura 12.3.
Figura 12.3
c:açdes.
Meihor
Pier
Figura ‘12.2
Methor
Pior
186
1rLuANno UML .E
•.
TADROES
Instcecia.s sepa.rad.a:s d.o
z.
ccc
gato”.
hrstâ.:ncassspa•.adas de N.thneroDeTelefiine qu•e contdrn
s In.stãncias separadas do Sti
—.
0
rnesrn•o nd,mero
a. Inst.iincias separad.a.s de Endereço que contém •o mesmo •e..dereço.
Classes deTipos de Dados Não-Primitivos
hue caso Fe dtivid.a, •defi.na aigo orno moo cia.sse conceitu.ai sep.arada e ide
co•mo u.matr auto.
ãtoaos
npo cit dicio pr rnin o’- (numero h ) sao tipo, de c
mas none todos Os tipos de dados são prirnitivos. Por exemplo,
eoLeE
fane F urn duo d.c dad•o não-prirnitivo.
Os tipos de d..ados pores são tambFrn conhecidos corno objetos valor.
A rroçFo do tios de •dados pode ser sutiL Como regra, mantenha .0 teste d
pos d.c atrihuto “.simpies”.: faça dde •urn atributo se dc puder ser visto como mind
urn icing, urn iaoiean, urna data ou u.rna hora (e assirn por diarite); caso contrFrio;
pr.esente-o como urna dass.e conceitua..i separa..d.a.
Ao •granio idz sentido distinguir (pela identidade) entre duas instâncias
sept
do nina Pes.oa cujos .nomes são ambos “Jill Smith”, porque as d:uas instâncjas
p
represen tar individuos •dife.rentes corn o mesmo nome.
Fm torrnos do soft eva cc, existem poucas situaçOes em que alguém c
‘ o i—o de memori c t in sn i de \
r
tin
oDTt
Li1
somente são relevantes as cornparacoes haseadas em valores. Por OUtro
lado
or pirar o enne t.co- Ge mernona de intancias Ge 0
e oi e distingja i
a:nda quo des tenhan-i os mesmos valores de atributo, porque a sua identidade.
é importante.
-
F)e maneira era], os atrihutos devern
ser
tipos
de
dados
(data
ti12es).
Este e uj
mo da LML quo siifica urn conjunto de valores para 05 quais uma
identjdade
n5o faz seneido no contexto do nosso modelo ou sisterna [RjB99] Por
exemp
norm monte não faz sentido distinuir ontre:
Tipos de dados
12.4
.4
C eipv oe urn ateibuto podo sec oxpresso corno urna classo nao-prirnitiva
em umma
Fo Ft- Fr’neinro. For exemplo, no s:stoma PDV existe urn identificador ole item. E
F geraimonte e-isto apenas como urn nfim•ero.. A Ajrn dove sec representado conic 10:
hpa nao jar cc to o Apliqut ‘4 3 rctr /
Represente o quo inicia.irnento puder sec •c•onsiderado urn tipo de dados pcimitivo (coma urn ncãrnero ou string) como urn tipo não-primitiv•o Se:
IDe for cornpasta de seçFes separacas.
a ncirnerc de telefone, name de pes sea
Existirern operacOes que geralmente são associadas corn dc, como anCli
se sintCtica on validação.
o nOmero de seguridade social
Amisu-ros
•
Ele tiver outros atributos.
urn preco prornocional pode ter uma data de inlcio (de entrada
em vigor) e uma de fm
DR
•
Ele for uma quantidade corn uma unidade.
o a quantia paga tern urna unidade monetFria
Mcinsro DR DOMINIO: INCLDSAO
•
o
a
•
IDe for urna ahstraçao de urn ou mais tipos corn algumas destas qualida
des.
identificador de item no do.rnlnio de vendas e uma generalize
cao de tipos, como Código Universal de Produto (CUP) ou
Ndmero do Artigo Europeu (NAE)
187
Ao aplicar essas diretrizes aos atributos do modelo do domlnio do PDV, chegarnos a
seguinte análise:
• 0 identificador de item é uma abstração de vdrios esquemas de codificaçao, in
cluindo CUP-A, CUP-F e a famiia de esquemas NAE. Esses esquemas de codifi
cação tern suhpartes que identificam 0 fabricante, o produto, o pals (no caso do
NAB) e dIgitos de controle para validação. Portanto, dove haver urna classe são—
primitiva ItemID, porque cia satisfaz a muitas das diretrizes dadas,
0 atributo erudercço deve sec uma classe nao-primitiva Endereço porque tern seçoes
separadas.
• Os atributos preço e qua rub devem ser das classes nao-prirnitivas Quantidade eu
Dinheiro, porque são quantidades em uma unidade monetária.
•
As classes IterniD, Endvreço e Quantidade são tipos de dados (urna identidade tinica
ruao tern signilicado), mas elas devern ser consideradas corno classes separadas por
causa do suas qualidades.
Onde ilustrar as classes de tipos de dados?
(c.l
kG
A cLose Iten!ID deve ser rnostrada como uma classe conceitual separada em urn mo
Feb de dominio? Isso depende do que vocC quer enfatizar no diagrama. Urna vez
quo It:’uu;ID F urn tipv do Fade (a identidade thiica das instEncias não é importante>, ole
pode ser mostrado na secão atributos da caixa de outra classe conceitual (ver Figura
12.4). Mas dc não F uma classe primitiva, corn seus próprios atributos e suas prO
prias associaçOes; portanto, tambérn pode ser interessante mostrá-lo como urna clas
so conceitual na sua própria caixa. Não he urna resposta correta, depende de corno cr
modelo de dominio e usado como uma ferramenta de comunicacão e do importâncU
e do significado do conceito no domlnio.
e ‘u
IBWUOTECA
12.6
PADROE5
Loja
1
1
Se a classe atributo for urn tipo de dados, poderá ser rnostrada na caixa c
s
norne
Caixa
1
norne
o
numeroDoRegistroCorrente
Caixa
Usa
-
nürnero
Registro
urn atributo “sirnples”, porém
usado corno urna chave estran
geira para relacionar corn urn
outro objeto
Não use atributos como chaves estrangeiras.
j
-
Muitas quantidades numéricas nSo devern ser representadas corno ndrneros si-°F
Pense em preco ou velocidade. Essas são quarttidades associadas corn unidades e
rairnente d necessário conhecer as unidades para que estas possarn ser conVertu
Modelar Atributos de Quantidades e Unidades
Figura 115
Meihor
Por
—
Os atributos não devern ser usados para relacionar classes conceituais no moo
dornInio. A violaçao mais comum desse princIpio é acrescentar urn tipo de atri
chave estrangeira, o que norrnalrnente é feito nos projetos de bancos de dados
cionais para associar dois tipos. Por exernplo, na Figura 12.5, o atributo numeral
gist roCorrente no tipo Caixa e indesejável, visto que sua finalidade é relacionar
xa a urn objeto Regis tro. A meihor rnaneira de dizer que urn Caixa usa urn Regr
por uma associaçao, não corn urn atributo chave estrangeira. Lernbre-se: relacion
pos corn urna associaçao, não corn urn atributo.
Existern muitas maneiras de relacionar objetos as chaves estrangeiras são u,
nas uma e verernos rnais adiante corno irnpiernentar a relaçao ate chegar a fase
projeto, de maneira a evitar a infiltração de projeto.
nfiItração de Projeto: Nenhum Atributo como
Chave Estrangeira
Urn modelo de domInio é urna ferramenta de comunicação; ao escoiheroqw
mostrar deve-se ter isso em mente,
atributos.
Figura 114
Especificacao
DeProduto
UriuzA000 UML
Lid:
12.5
OK
OK
188
..
189
Macdo
E
‘
*
Quantidade e5pectalizad.a
cuja mOods S monetSrta.
Modeiagern de quantidade.s.
.
qu.ttdadessSovaios.
samut.Cudade
0
—a
EspecificaqaoDe
Prado..t’o
—
es. cená..rios de. Pro’-.
—.
—
—
—
—
descriçao Pans rnostr.a:r a descriça.o em urns ted ou e.m urn
recibo,
Id Pars procurar un..a P ecQNçaoDssProduto, d.sdo urn.. jte.rnJ.D,
6 necessário reiaci..on.á-ia a urn hi,
preço Para caicu.iar o total do venda.. e rnostra.r 0 preco d.a. Ii
nha do item,
data, ho trio Urn recibo. 6 urn reiatdrio eu.ru p.apei do unso ye us
da, Lie normaimente rn.cstrr. a da..ta e o hord.rio do ve:,nd..s.
quantidade
Pars registru.r a quan.ti.d.sde e.ntrs.d.a, qo.s.nd.o
existir mats de urn. item em. urns lirtha de i.tern .do v.enda (poor
exern.pio, 01000 pacotss de tofu),
q000tm Pans d.eterminar so h.ouve u.m pagarne:n.to saufl.cien.t.e
o para calcular o. troco, urns qua.nti.a (ta.mhdn.. co.nhe.cida. co—
.rro “qpa,.ntia.. fornecida”) deve ser captada.
Os atrihutos escoihidos refleter.. us requisitos para es.ta iteraçdo
cessardrnda desta iteração.
•---
----——5
ProxGer
ho
Atributos para. a Modelo do Dommnlo do PD
Figura 116
1.
o-—”.
:‘Pagarnento
ntQuanMe
psgarnento
ZmEJ
tarts : Ntme,,J
p ammO
) soft u.sure PDV ProxGer desti.na-se ao rnerca.d.o intensacionai. e dove ac.eita..r preços
em diversas rnoedas. Na rnaioria. dos ca.sos, a. soiuçao é representar çuonhdrPe c:.oino
Dma classe conceituai d..istinta, corn u..ma Unidada. associad.a [Fowiergd]:.
s
quantid idts são consideradas tipos do dados (r identidodo unusa nao e umotrsnte)
c acttt1 01 !estflflgir ma ilustrrOUO S seçoo utnbutos th c esa d dasse Is or Fut,uu i
12.6). Iäm.bdm 6 corn.un rnostra.r especiaiizagOes do Quantidade,. ii4ada: 0 urn t’]
)O d.c
1
qua ntidade cujas unida.cies são ru..oeda.s, Peso é urns qu.antid.ade corr.i unida.,des com,o
quilos ou ibras.
Moreso Os Doestojo: .1NCL;u.sAo Os. komj-ios
190
12 8
--
L;::g;-co: tJs1L
Reqstm
Item
Oexa
—j ••j
Pagamento
Loja
—
Texto
n•nderec
descricão
.
rneçc Macdc
a temtD
comma que mostra atr;Dutos,
Catálogo
[_de Pndutos
Uoaeo cc
—H
q..uanLa M.oeda
Figura 12.7
Multaplicadade de LinhaDeltemDeVenda em Relaçao a Item
-
—-
made
-——
oaCo-tr moo
4
i
I....’.
rnrn
———
cern
——
a,’
vendor eparado
exemplo I pacote deJ
urn tern
Jcada hnaa Ce cern req tra
Cdamadejternaoae
urn ama do ‘esr’a
eerma
a,’
5paaotesdetofu.
Registro da quantidade de dens vendido.s em urna un-ha dc tern,
rriut 00 0€
—
I
F
i
i
\. ei um
rup
en
iaa
per
exemplo
seas
pauo e
untrar o eu:ILI so uma vex e. então. entrar urna quantidade
(per exemplo,
Coneauentemente. L :L’J:’oDN L:da individual poderá estar associada
conu mats
ama instLncia ceurer ltem.
\ uantu
ado
enta
‘da
-)xa
lo
poot
cr
p.
rugotrada
come
urn
atrabuto daLi
oh aD th mDt Lnth (hgur a 12 S) Fntretanto a qu
antid
ide
pode
see
calculida a par
hr do a alor tuaI da rnuluphcadade do eiauonamento de maneira
quepossaserca
racierizada come urn atrihuto derivado urn atributo que pode ser derivado deooh
trac mi 1- aouao Na h\IL, urn atrihuto derivade e indicado corn urn simbolo
—-
-
——---------
--u:-ra
-J
Figure 12..fi
Monew
DE
ConclusaO do Modelo de DomInio
Doutvio: INcrnsAo
DE
Amieuans
191
Combiflad0 as classes conceituais, as associaçoes e os atributos descobertos em
vestigacão previa, temos o modelo ilustrado na Figura 12.9.
Foi criado urn modelo de domInio relativamente dtii para o dominio da aplica
cãO l’D Não existe urn iinico modelo correto: todos os modelos so aproxirnacoes
do dominiO que estarnos tentando compreender. Urn born modelo de domInio capta
as ahstracöes essenciais e as inforrnaçoes necessárias para compreender o don,inio
—
Urn rnodelo parcia do dorninio.
seus conceitos, terminologia e relacionamentos.
no contexto dos requisitos em vigor, auxiliando as pessoas na compreensao do domi
Figura 12.9

Documentos relacionados