Você está na página 1de 129

A n a C r i s t i n a M e l o

5 1 e x e r c c i o s
r e s o l v i d o s
i n c l u i q u e s t e s d e c o n c u r s o s p b l i c o s
_ j a p r e s e n t a c o m e n t r i o s
m o d e l o s c o m p a t v e i s c o m a s v e r s e s 1 .4 e 2.0 d a UM L
JMU
Apresentao
Minha experincia lecionando disciplinas de modelagem de desenvolvi-
mento de sistemas, com foco em UM L, aliada necessidade de ter um
material de apoio tcnico mais completo, me levaram a escrever Desen-
volvendo A plicaes com UML
1
- do conceituai implementao.
Entretanto, passei a perceber outras necessidades em sala de aula, nessa
e em outras disciplinas: um m a t e r i a l de apoio prtico, que pudesse ser u-
sado para fi x a o da matria.
Notei que essa no era uma necessidade s da docncia, mas tambm do
aluno que entende a teoria, mas no consegue sair do ponto zero, no
consegue comear. E por que isso? Porque, sem prtica no possvel
aprender. Sem exerccios no h como termos certeza do aprendizado.
E olhando para minha experincia, h dezoito anos como Analista e Pro-
gramadora, percebi que tambm temos a necessidade do exemplo. Princi-
palmente quando aprendemos sozinhos. Nesse caso, aprendemos por
meio de tentativas e erros, exemplos e e x e r c c i o s .
Assim, espero que esse material atenda a todos: professores, alunos e
profissionais da rea.
O livro est dividido em captulos, que tratam dos seguintes temas:
Captulo 1 - Encontrando classes, atributos e relacionamentos.
Capitulo 2 - Desenhando diagrama de classes a partir de minicenrios.
' e Desenvolvendo Aplicaes com UML 2.0 (2
a
edio).
X Exercitando Modelagem em UML
C a ptu lo 3 - Exercitando a identificao de casos de uso.
Captulo 4 - Exercitando a Identificao de classes a partir de casos de
uso.
Capitulo 5 - Alguns exercidos sobre diagrama de mquina de estados.
Apndice A - Questes de concursos pblicos sobre orientao a objetos
e UML.
Alguns exerccios possuem complementos na forma de outros exerccios,
oferecendo variaes ou Incrementos ao problema Inicial.
Vocs vo reparar que a maioria dos cenrios descrita como sendo pes-
soas comuns que precisam de uma ferramenta para resolver seus proble-
mas. Meu objetivo com esse tipo de abordagem foi o de aproximar o pro-
blema do conhecimento pblico do meu leitor. Assim, tenho certeza que
vocs ro se familiarizar com os problemas de cada um de nossos perso-
nagens.
Quaisquer duvidas, comentrios, sugestes e/ou criticas podem ser envia-
das para meu e-mail livro@anacristinamelo.eti.br.
Obrigada e boa l e i t u r a !
"A diferena no est no tamanho do seu sonho,
m a s n o tamanho da sua vontade em querer realiz-lo!
E sempre que voc conseguir realizar um sonho, comece
tudo de novo. NSo podemos viver sem ter objetivos!"
Ana Cristina S, L Melo
Sumrio
1. Encontrando Classes, Atributos e Relacionamentos 1
1. Exerccio: C o n t a d e Luz 3
2. Exerccio: Classe TextoSaida 4
3. Exerccio: Classe BonecoEm Movimento 5
4. Exerccio: Horrio de Remdios 6
5. Exerccio: Gastos Dirios - 8
6. Exerccio: Comanda El e t r n i c a 9
7. Exerccio: Lista de Compras 10
8. Exerccio: Lista de Compras (Variao A) 12
9. Exerccio: Lista de Compras (Variao B) 13
10. Exerccio: Lista de Compras (Variao C) 15
11. Exerccio: Lista de Compras (Variao D) 15
12. Exerccio: Coleo de CD's 16
13. Exerccio: Coleo de CD's (Variao A) 17
14. Exerccio: Sa la de Reunio 18
15. Exerccio: Sa la de Re u n io (Va ria o A ) 21
16. Exerccio: Herana 22
2. Desenhando Diagrama de Classes a partir de Minicenrios 24
17. Minicenrio: C o n tro le de Tarefas 25
18. Minicenrio: Ligaes telefn ica s via modem 28
19. Minicenrio: Testes de Fixao 30
20. Minicenrio: Testes d e Fixao (Va ria o A ) 33
21. Minicenrio: Festa s In fa n tis 33
22. Minicenrio: Festa s In fa n tis (Va ria o A ) 35
23. Minicenrio: Cursos de Aperfeioamento 36
24. Minicenrio: Cursos de A perfeioa m en to (Variao A) 37
25. Minicenrio: Classificados na Web 39
26. Minicenrio: Jogo da Forca 42
XII Exercitando M o d e l a ge m e m UM L
27. M in icen rio: Ferramenta de UML 44
28. Minicenrio: Clube da Leitura , 46
29. Min icen rio: Condomnio 48
30. Min icen rio: Pe d ia tr a 51
31. Minicenrio: Pe d ia tr a (Va ria o A ) 54
32. Minicenrio: Ped ia tra (Variao B) 56
33. Minicenrio: A po s ta Lotrica , 58
3. Exercitando a Identificao de Casos de Uso 60
34. Cenrio: Encomenda de placas 61
35. Cenrio: Rdio Txi Mar & Sol 67
36. Cenrio: Treinador de vlei 74
37. Cenrio: C o n tro le de Obra 79
38. Cenrio: Con trole de Obra (Va ria o A ) 86
39. Cenrio: Sen ha de Atendimento 86
40. Cen rio: Controle de Bolo 92
41. Cenrio: Estacionamento 97
42. C en rio: Jogo da Velha .....100
43. Cenrio: Jogo da Memria 103
4. Exercitando a Identificao de Classes a partir de Casos de Uso.. 107
44. Cenrio: Encomenda de placas 107
45. C en rio: Rdio T x i Mar & Sol 108
46. Cen rio: Treinador de Vlei 110
47. Cenrio: Controle de Bolo 111
48. Cen rio: Jogo da Velha 113
5. A l gu n s Exerccios sobre Diagrama de Mquina de Estados 114
49. Cenrio: Controle de Tarefas 114
50. Cenrio: Encomenda de Placas 115
51. Cenrio: Rdio Txi Mar & Sol 115
Apndice. Questes de Concursos Pblicos sobre Orientao a
Objetos e UML 117
Captulo
Encontrando Classes, Atributos
e Relacionamentos
1
Um dos principais d ia gra m a s da UML o Diagrama de C la sses. Obser-
v a n d o meus alunos, no v ej o dificuldade no a pren d iza d o do que um re-
la cion a men to d e a s s o c ia o , herana ou a gre ga o . Ve j o d ific u ld a d e em
se a bs tra ir o con ceito d esses relacionamentos do mundo real, ou melhor,
de um problema real.
Pr o v a v e l m e n t e s e j a fcil en ten d er
que nome a tribu to d e pessoa, e
que fun cion rio um a herana d e
pessoa . Mas s e r que o nvel de
fa cilid a d e perma n ece o m esm o
qua n d o esta m os diante de um pro-
blema rea l e e s te precisa s e r a b s -
tr a d o pa ra a t r i bu t o s , cla sses, rela -
cionamentos e outros elementos?
Posso a posta r que n o! E com o
po s s v e l que essa a bs t r a o se
torn e uma t a r e fa n a tura l? Respon -
do: e x e rc ita n d o e/ou a pren d en d o
por meio de a n lise de exerccios
prontos.
Produto cermico, geralmente em
forma de paraleleppedo, para
construes.
2 * Exercitando Modelagem em UML
Va mos comear a e x e r c it a r essa abstraco mais primria, que est dire-
ta m en te ligada ao conceito de orientao a obj etos, mas que sem ela no
existe modelo em UML. Va mos perceber, na evoluo dos exerccios, o
qua n to uma modelagem pode mudar, de a cordo com o con texto em que
estamos trabalhando. Nosso objetivo nesse captulo trabalhar a abstra-
co, por isso s desenharemos a cla sse na notao da UML qua n do for
necessrio explicar os relacionamentos.
Os primeiros exerccios procura m extrair de um descritivo (que eu chamo
de cenrio) a classe existente, seus atributos e/ou mtodos.
Os exerccios seguintes comeam a explorar a existncia de mais de uma
cla sse. Nesses exerccios, teremos variaes dos mesmos problemas, a
fim de exercita r a evoluo da modelagem.
Para entendimento geral d esse capitulo, leia com ateno as con ven es
que adotei para resoluo dos exerccios.
CONVENES DO CAPTULO:
- Na maioria dos exerccios no so desenhadas classes no padro da
UML. As classes so apenas relacionadas numa tabela;
- Os atributos e mtodos seguem a nomenclatura da UML, ou sej a, iniciam
com letra minscula, tendo a primeira letra de ca d a palavra (a partir da
segunda) em maiscula;
- Todos os atributos possuem seus tipos identificados. Quando o atributo
for um objeto, o tipo citado como Classe XYZ, onde XYZ o nome da
classe. Quando o a tributo for uma coleo (uma lista ), o tipo citado como
Coteo de XYZ, onde XYZ o nome d a cla sse correspondente a cada
item da lista;
- Todos os mtodos possuem, se existir, sua lista de parmetros (acom-
panhados do tipo) e o tipo de retorno;
- Os mtodos descritos fora m deduzidos a partir do cenrio. Entretanto, a
lista completa dos mtodos s possvel obter a partir de um diagrama de
sequncias, que tem por objetivo identificar a t r o c a de mensagens existen-
te en tre obj etos, em cada caso de uso. Por este motivo, relaciono a pen a s
os mtodos mais relevantes;
Encontrando Classes, Atributos e Relacionamentos 3
- Os relacionamentos so descritos na seo de "Comentrios sobre a
Resoluo", em vez de s e re m represen ta d os numa classe;
- Na fa s e d e a n lis e , c a be d esen ha rm os um a c la s s e represen ta n d o seus
rela cion a m en tos. Na fa s e d e proj eto, cabe tra n sform a rm os e s s e s rela cio-
n a men tos em a t r i bu t o s , d e fo rm a a represen ta r como eles s e r o implemen-
t a d o s . Para melhor en ten d im en to d os exercid os, e s pe c i fi c a m o s e s s e s a t r i -
butos que correspon dem a os re la cio n a m e n to s implemen ta dos. Esses a tri-
bu to s so identificados com o a tributos d e r iv a d o s , pois seus v a l o r e s n o
so informados e sim ge ra d o s a partir d e um rela cion a m en to. Exemplo:
Um funcionrio possui os a tribu to s nome e c a r go . Porm ca rgo uma
classe que possui os atributos descrio e salrio. O atributo cargo dentro
de fun cion rio fruto do re la cio n a m e n to da s d u a s classes;
- Tod o atributo cuj o tipo sej a uma c la s s e enumeration, n o definido co-
mo um a tributo d eriva d o, v i s t o a cla sse enumeration a tua r com o um tipo d e
d a d o e no como um relacionamento;
- A tribu to s e mtodos d e c l a s s e s o re pre s e n ta d o s sublin ha d os, c o n fo rm e
n ota o da UML;
- Em alguns e x e r c c i o s , para elucidar o cenrio, so e x i bi d a s cpia s d e
pla n ilha s ou rela trios e x is t e n t e s n o Mundo Re a l d e n ossos c lie n te s . A te n -
o! Alguns requisitos, s vezes, esto implcitos n e s s e s exemplos.
1. EXERCCIO: CONTA DE Luz
CENRIO: A s informaes a se gu ir se re fe re m pla n ilha Excel d e Ga briel,
que co n tro la os ga sto s mensais com sua con ta de luz.
Para c a d a c o n ta d e luz ca d a stra -se : d a ta em que a leitura d o relgio d e luz
foi realizada, nmero da leitura, q u a n tid a d e de Kw ga s to n o ms, v a lor a
pa ga r pela c o n t a , d a ta d o pa ga m e n t o e mdia d e con sum o.
M en sa lm en te, so r e a liza d a s a s s e gu i n t e s pesquisa s:
- v erifica o d o m s d e menor c o n s u m o ;
- verifica o do ms de m a ior consumo.
4 Exercitando Modelagem em UML
IMA GEM DA PLANILHA:
LISTA DE ACOMPANHAMENTO DE GASTO DE LUZ
d a t a leitura n" leitura kw ga s t o ^d a ta pa gto Jjgj^
04/07/2005
02/08/2005
4166
4201
460
350
206,43
157,07
15/07/2005
1 5 /08/2005
15,33
12,06
M en or C o n su m o
Maior Con sumo
350
460
a go/05
Jul/05
EXERCCIO:
Identifique a s c la s s e s , a tribu to s e m t o d o s d esse c e n r i o .
RESOLUO:
C la s s e Atributos Mtodos
ContaLuz
d a t a Le i t u r a : d a te
n m e r o Le i t u r a : integer
q t d KwGa s t o : in te ge r
v a l o r Pa ga r : real
daiaPagamento : date
m e d i a C o n s u m o : rea l
c a d a s t r a r C o n t a
v e r i fi c a M e s M e n o r C o n s u m o : s trin g
v e r i fi c a M e s M a i o r C o n s u m o : strin g
C OM ENTRIOS SOBRE A RESOLUO:
a ) O retorn o d o m tod o strin g pois traz o m s e o a n o (ex: 082005).
2. EXERCCIO: C LA SSE TEXTOSA IDA
CENRIO: Para fi x a o d o c o n c e ito d e c la s s e s e m s a l a d e a u la , Prof
3
C ris-
tin a criou com seus a lu n o s a cla sse TextoSa id a .
O o bj e tiv o d o e x e r c c i o cria r um a c la s s e que pe r m i t a con figura r um t e x t o
por m eio d e a tribu to s (ta m a n ho d a letra, cor d a fo n t e e cor d o fun d o), esco-
lhendo em que t i po d e c o m po n e n te ele d ev e ser exibid o (entre a s o p e s :
labet, edit e memo).
Encontrando Classes, Atributos e Relacionamentos 5
Para n o ha v er v n cu lo com linguagens d e pr o gr a m a o , e s s a c l a s s e n o
foi c ria d a com o herana d e um a c l a s s e v is u a l.
A s co re s pod em s e r e s c o l hi d a s e n t r e o s ton s: pr e t o , bra n co, a zul, a m a re lo
ou cinza.
EXERCCIO:
Identifique a s c l a s s e s , a t r i bu t o s e m to d o s desse c e n rio .
RESOLUO:
C l a s s e
Te x t o Sa i d a
e n u m e r a t i o n
En u m Tpo C o m po n e n te
en um era tion
En u m C o r
A t r ibu t o s
t e x t o : s trin g
tipoComponente :
En u m Tipo C o m po n e n te
ta ma n hoLetra : in teger
corFon te: EnumCor
c o rFu n d o : EnumCor
label
e d it
m e m o
preto
branco
a zul
a ma relo
cinza
M to d o s
c a d a s t r a r
e x ibirTe x to
COMENT RIOS SOBRE A RESOLUO:
a ) A cla sse enumeration EnumTipoComponente fo i c r i a d a para suporta r o
domnio do atributo tipoComponente, que consiste de valores fixos, defini-
d os como sen d o os co m po n e n te s on de o texto pode ser exibid o. O m esm o
a c o n te c e u c o m a c ia s s e EnumCor.
3. EXERCCIO: CLASSE BONECOEMMOVIMENTO
CENRIO: Pro fe s s o ra Cristin a decidiu c r i a r um a c l a s s e que pe rm ita mover
um bon eco n a t e l a ,
Es s e bon eco d ev e te r n ome, posio d a c o o rd e n a d a X, posio d a c o o r-
d en a d a Y e d i r e o a tua l (cima, ba ix o , d ire ita , e s q u e r d a ).
6 Exercitando Modelagem em UML
EXERCCIO:
Id e n tifiq u e a s c l a s s e s , a t r i bu t o s e m to d o s d e s s e cen rio.
RESOLUO:
Cla sse
Boneco
e n u m e r a i i o n
EnumDirecao
A t r i b u t o s
nome : string
coordenadaX : integer
coordenadaY : integer
direcaoAtual : EnumDirecao
cima
baixo
direita
esquerd a
M t o d o s
cadastrar
mover (n ov a C oord en a d a X:
in teger, n o v a C o o rd e n a -
d a Y: integer)
COMENTRIOS SOBRE A RESOLUO:
a) Para que o boneco se mova, cabe ao ator informar a nova coord en a d a .
Isso feito por meio de pa rm etros do mtodo Mover. A ps mover o bo-
neco, os atributos coordenadaX e coordenadaY so atualizados com os
valores d o s parmetros novaCoordenadaX e novaCoordenadaY, re spe cti-
va men te.
Para alterar a direo, ba s t a a n tes de chamar o mtodo mover, mudar o
v a lor d o atributo direcaoAtual.
4. EXERCCIO: HORRIO DE REM DIOS
CENRIO: A s in form a es a seguir se referem a uma aplicao de controle
pessoal de horrio de remdios, existente no Palm de Maurcio.
Para cada remdio cadastra-se: o nome de quem va i tomar o remdio, a
d a t a de incio, a qua n tida de de dias que foi prescrita pelo mdico, a quan-
tid a d e d e vezes a o dia, a dosagem e o nome d o remdio.
A o ca d a stra r o remdio, a aplicao sugere todos os horrios possveis
para tom a r o remdio. O usurio escolhe o melhor horrio e a aplicao
a v isa at quando o remdio deve ser tomado e prepara uma planilha de
horrios.
O usurio, no in fcio do dia, seleciona a opo de planilha de horrios de
remdios do dia.
Encontrando Classes, Atributos e Relacionamentos * 7
No caso de Maurcio a tra s a r o horrio de tomar o remd io num determina-
do dia, a planilha reorganiza os horrios daquele dia.
EXERCCIO:
Identifique as classes, atributos e mtodos desse cenrio.
Represente os relacionamentos como atributos d eriva d os.
RESOLUO:
Cla sse
Pr e s c r i c a o Re m e d i o
HorarloRemedio
A tr ibu to s
usurio : strng
d a ta ln icio : d a te
q t d Di a s : i n t e ge r
qtdVezesDia : integer
dosagem : rea l
remd io : string
/planrlnaHorario : C o le o
de HorarioRemedio
data : d a te
horrio : time
M t o d o s
sugerirHorarios
exibirPlanilhaHorarios
(dataReferencia : d a te )
cadastrarHorario
COM ENTRIOS SOBRE A RESOLUO:
a ) Numa primeira modelagem. os a tributos remdio e usurio (do Rem-
d io) fora m definidos como strin g. Esses a tribu to s so fortes candidatos a
se tomarem classes d e negcio. O que determina e s s a mudana o con -
te x to da aplicao. Nesse caso, esta m os tr a ta n d o de uma aplicao bem
pequena, cuj o o bj e t i v o prin cipa l o controle d e horrios. Sen do assim,
pod em os nessa verso no tr a n s fo r m a r esses a tributos em classes.
b) Toda prescrio tem associada a ela uma planilha de horrios. Isso cria
um relacionamento da classe PrescricaoRemedio com a classe Horario-
Remedio, representada pelo a tribu to planilhaHorario. que correspon d e a
um a c o e o d e o bj e to s d a C la sse HorarioRemedio.
c) O mtodo sugerirHoraro responsvel por montar um c o n j u n to possvel
de horrios, a partir do a tributo qtdVezesDia. Por exem plo, se um remd io
tiver que ser tomado de 8 em 8 horas, a aplicao pode sugerir os seguin-
tes horrios: [6h, 14h. 22h], [7h, 15h, 23h], [8h, 16h, 24h].
Um a vez escolhid o o con j un to d e horrios, o mtodo HoraroRemedio.ca-
dastrarHorario chamado qua n ta s v ezes fo r e m n ecessria s para cadas-
trar tod os os horrios em todos os dias.
8 Exercitando Modelagem em UML
d ) A c l a s s e HorarioRemedio foi cria d a incluindo o a tribu to data, pa ra permi-
tir o cadastramento de horrios diferentes pa ra cada dia. Se no fo s s e por
essa abordagem, poderamos ter criado um atributo horrio: time na cla sse
PrescricaoRemedio, com multiplicidade de [1..*], prevendo de uma a v ria s
doses (horrios) por d ia .
5. EXERCCIO: GASTOS DIRIOS
CENRIO: A s informaes a seguir se referem Planilha Excel de Vera ,
que fa z o con trole d e seus ga s to s dirios.
Para cada ga sto, Ve ra ca d a stra : o tipo do ga sto (remdio, roupa, refeio
etc.), a d a t a d o ga sto, o v a lor gaslo e a form a d e pa ga m en to (din heiro,
c he q u e , ca rto ou c he q u e pr).
No final do ms, Vera lista o total dos gastos mensais, agrupados por tipo de
ga sto e exibindo o quanto foi gasto em cada tipo de forma de pagamento.
EXERCCIO:
Identifique a s c la s s e s , a tributos e mtodos desse cenrio.
Represente os relacionamentos com oa trlbulos derivados^
RESOLUO:
Classe
TipoGasto
Gasto
enumerationi
EnumFormaPaga-
mento
Atributos
descricaoTipo : string
/tipo : Classe TipoGasto
data : date
valor : real
formaPagamento : Enum-
FormaPagamento
dinheiro
cheque
carto
chequePre
Mtodos
cadastrar
cadastrar
gerarRelatoroMen-
sal{mesAno: string)
COMENTRIOS SOBRE A RESOLUO:
a) A classe enumeration foi criada para suportar o domnio do atributo
FormaPagamento, que consistia de valores fixos e com caractersticas de
Encontrando Classes, Atributos e Relacionamentos 9
ra ra m u ta o . Numa aplicao d e c o n te x to maior, e s s a c la s s e po d e r ia d e i-
xa r d e ser enumeration para se tra n s fo rm a r numa classe d e n egcios.
b) Tod o ga s t o re fe re -s e a s o m e n te um tipo . Isso cria um re la cio n a m e n to d a
cla sse Gasto com a cla sse TipoGasto, represen ta d a pelo a tribu to tipo.
c) To d a a c o m pl e x i d a d e d o rela trio men sa l e s t encapsulada n o mtodo
gerarRelatorioMensal.
6. EXERCCIO: COMANDA ELETR NICA
CENRIO: A s informaes a seguir se referem a um a a plica o d e controle
de comanda eletrnica da pa d a ria Doce Sabor do Seu Joaquim.
O clien te usa uma com a n d a eletrnica d u r a n t e sua s co m pra s n a Pa d a ria .
A ca d a pr o d u t o con sumido, o atendente registra em sua com a n d a (que
possui uma numerao) o produto e a quantidade.
A o pa ssa r n o ca ixa n a sa d a d a Padaria, a C a ix a l os ga s t o s d a c o m a n d a ,
fin a liza n d o a compra . Na leitura d a com a n d a , v e rific a -s e o v a lor un itrio d e
cada prod uto a fim d e calcular o v a lo r to ta l d a compra .
EXERCCIO:
Identifique a s c la s s e s , a tributos e mtodos desse cen rio.
Represen te os rela cion a m en tos c o m o atributos d eriv a d os.
RESOLUO:
Cla sse
Produto
C om a n d a
ItemComa n da
A tributos
c d igo : s t r i n g
d escrio : s t r i n g
precoUnitario : real
numero : integer
/v a lo r To t a l : rea l
/ite n s : Coleo d e ItemCo-
ma n da
/pro d u to : Prod uto
qua n tid a d e : integer
M to d o s
ca d a stra r
r e gis t r a r lt e m ( item : ItemCo-
m a n d a )
fe c ha rC o m a n d a
cadastrar
10 Exercitando M o d e l a ge m em UML
COMENTRIOS SOBRE A RESOLUO:
a ) O a tributo v a /o r Tbfa /d a c la s s e Comanda d eriva d o, porque o resulta-
do do clculo do mtodo fecharComanda. Esse mtodo obtm todos os
iten s da Comanda e pa ra cada um v erifica o preo Unitrio do produto,
ca lcula n d o o sub-tota l, d e a cord o com a seguinte frm ula :
ItemComanda.quantidade * ItemComanda.produto.precoOnitario
O tota l d a Comanda (atributo valorTotal) o som a trio d os subtotais.
b) Toda comanda possui uma lista de itens. Isso cria um relacionamento
d a cla sse Comanda com a c l a s s e ItemComanda, representada pelo a tribu -
to /tens. Por sua vez, um item de comanda se re fe re a somente um produ-
to. Esta represen ta o feita n o atributo produto.
7. EXERCCIO: LISTA DE COMPRA S
CENRIO: Carolina controla em Excel uma planilha com a sua lista de com-
pras mensal. Ela cadastra o nome do prod uto, a unidade de compra , a
quantidade prevista para um ms, a quantidade que efetivamente ser
comprada e o preo estim a d o (atualizado tod o m s).
IMA GEM DA PLANILHA:
Pro d u to
A rroz
Fe i j o
A c a r
Carne
Unidade de
com pra
Kg
Kg
Kg
Kg
Qtd Ms
8
6
3
6
Qtd
Compra
7
6
2
7,5
Pr e o
Estima do
1,80
2,10
1,05
8,00
To t a l Es t i m a d o 150,00
ESCLARECIMENTOS SOBRE o PROBLEMA:
a) A qua n tida de de compra pode v a ria r em virtude de sobra de um ms
pa ra o outro, ou da necessidade de um gasto maior no ms. Por exemplo:
almoo em fa m lia .
b) A s compras so fe i t a s pela prpria Carolina. Por e s s e motivo, ela no v
n ecessid a d e de rela cion a r as m a rca s dos produtos.
Encontrando Classes, Atributas e Re la c io n a m e n t o s > 11
c) Mensalmente, Carolina a n a lisa o qua n to pa gou por ca d a produto, e se
a cha r n e c e s s rio , a tu a liza o preo estim a d o d e cada produto.
EXERCCIO:
Identifique as cla sses, atributos e mtodos d esse cen rio.
Represen te o s r e l a c i o n a m e n t o s c o m o a tribu to s d e riv a d o s .
RESOLUO:
C l a s s e
Li s t a C o m p r a
ItemCompra
Produto
A tribu to s
m s : integer
/ite n s : C o l e o d e ItemCompra
/t o t a l Estim a d o : real
/pro d u to : C la s s e Prod uto
q td Efe tiv a C o m pra : rea l
nome : string
unidadeCompra : strin g
q td Pre v is to M e s : rea l
pre c o Es tim a d o : rea l
M t o d o s
c a d a s t r a r
o bte rTo ta lEs tim a d o {m s :
integer)
c a d a s tr a r
c a d a s tra r
COMENTRIOS SOBRE A RESOLUO:
a ) O m tod o obterTotalEstimado um mtodo que a t u a sobra a coleo
d e obj etos ItemCompra, ou seja, s podemos sa ber qual o to ta l estim a d o
de tod a a Lista de Compras (con j un to dos itens de c o m pra ), se qua n tifi-
carmos o s u bto ta l de cada item. Sendo assim, podemos concluir que o
atributo totalEstimado que perten ce Lista d e Compras d eriva d o, pois
o re su lta d o d e s s e mtodo. O a lgoritmo d o m tod o obterTotalEstima-
do(ms: integer) :
define obj ItemConpra : ItemConpra
obter a colecSo de objItemCoinpra,
onde ListaCompra.ms = parmetro ms
total - O
para cada objItemCompra
subtotal <- objIternCorrpra.qtdEfetivaCatrira *
objItemCompra.produto.precoEstimado
total <- total + subtotal
fim-para
obterTotalEstimado <- total
12 Exercitando M o d e l a ge m em UML
b) Toda lista de com pra s possui um conj unto de itens. Isso cria um relacio-
namento da classe ListaCompra com a classe ItemCompra, representada
pelo a tributo itens. Por sua vez, um item de compra se refere a somen te
um produto. Essa representao se d por meio do atributo produto.
8. EXERCCIO: LISTA DE COMPRAS (VA RIA O A)
CENRIO: Ca rolin a no tem mais tempo de fazer as compras pessoalmen-
te. Precisou detalhar o produto, de forma a lhe permitir delegar essa tarefa
a outra pe sso a . A l m disso, n o quer que paguem um v a lor a bsurdo por
algum produto. Sendo assim, incluiu em sua planilha as colunas "preo
mximo j compra do" e "preo mximo a pagar" n o ms corren te, onde
esta ltima coluna calculada a partir da coluna anterior acrescida de 5%.
O "preo mximo j comprado" inserido n a pla n ilha , a partir d a s compras
efetivamente realizadas.
EXERCCIO:
Qua is so os atributos e/ou m tod os que precisam ser includos n a s c l a s s e s do
exercfcj o gnjerjgrjara reflejir esse novo cenrio.
RESOLUO:
C l a s s e
ListaCompra
ItemCompra
Prod uto
A t r i bu t o s
ms : integer
/itens : Coleo de lemCompra
/to ta l Estimado : real
/produto : C la sse Prod uto
qtd Efetiv a C om pra : rea l
/pre o M x im o M e s : real
nome : string
descricaoProduto : strin g
unidadeCompra : string
qtdPrevistoMes : real
p r e c o M a x i m o A n t e r i o r : re a l
procoEstm a d o :-feol
M tod os
c a d a s tr a r
obterTotalEstimado(ms :
in teger)
ca d a stra r
c a d a s t r a r
COMENTRIOS SOBRE A RESOLUO:
a ) Os a tributos e ou mtodos criados e s t o em negrito. O que foi retirado
con sta risca d o.
Encontrando Classes, Atributos e Relacionamentos 13
b) Com a criao dos atributos precoMaximoAnterior e precoMaximoMes,
eliminou-se o a tribu to precoEstimado. Essa in forma o ser obtida a partir
d o atributo precoMaximoAnterior.
c) O atributo precoMaximoAnterior Q ca d a stra d o pelo usurio.
d ) O algoritmo do mtodo obterTotatEstimado foi alterado:
define objItemCompra : ItemCompra
obter a coleSo de objItemCompra,
onde ListaConpra.mes = parmetro ms
total <- O
para cada objItsmCompra
subtotal <- objItemConFra.qtdEfetivaCompra
obj I temCoflipra. produto.prcoMaximoAnterior
total <- total + subtotal
fim-para
obterTotalEstimado - toCal
e) O a t r i bu t o precoMaximoMes derivado, pois ele n o recebe um va lor
d ireta m en te do usurio. Seu va lor derivado de um clculo feito sobre o
atributo precoMaximoAnterior, considerando a frmula a seguir. Es s e a tri-
buto ta m bm poderia ter sido definido como um m to d o do t i po fun o,
cuj o retomo seria o preo mximo do ms.
ItemCornpra.precoMaxiinoMes = ItemConpra.produto-precoHaximoAaterior * l, OS
9. EXERCCIO: LISTA DE COMPRAS (VA RIA O B)
CENRIO: Carolina est assustada com a variao de preo de um Supermer-
cado para outro. Tem feito compras (ou pedido para fazer) em at trs Su-
permercados diferentes. Sendo assim, resolveu melhorar sua planilha. Criou
uma segunda planilha que contm o preo mais baixo que ela pagou num
determinado ms, indicando a que supermercado pertence. Veja a seguir
IMAGEM DA PLANILHA:
Produto
A rroz
A rroz
A rroz
Feilo
Feij o
M s d e
C o m pr a
j u lho
agosto
setembro
j ulho
a gosto
Va lo r
Compra
1.80
1.75
2,05
2.10
2,25
Su pe rm e rca d o
XXX
YYY
XXX
XXX
XXX
14 Exercitando Modelagem em UML
EXERCCIO:
Quais s o o s a t r i bu t o s e /o u m to d o s q u e precisa m s e r in c lu d o s n a s d m
e x e r c c i o a n te rio r, pa r a refletir e s s e novo c e n rio .
Verifique se h n e c e s s i d a d e d e c r ia r n o v a s c l a s s e s .
RESOLUO:
'
C l a s s e
Llsta C om pra
Item Com pra
Prod uto
His to ric o C o m pra
Supermercado
A tr ibu to s
m s : integer
/i t e n s : C o le o d e It e m C o m pr a
/to ta l Estim a d o : rea l
/pr o d u t o : C la s s e Prod uto
q t d Efe t i v a C o m pr a : real
/pr e c o M a x i m o M e s : r e a l
n ome : s trin g
d e s c r i c a o Pr o d u t o : s trin g
un id a d eC om pra : string
q t d Pr e v i s t o M e s : real
/pr e c o M a x i m o A n t e r o r : rea l
m s : in teger
/pr o d u t o : C la s s e Pr o d u to
v a l o r Pa go : real
/s u pe rm e rc a d o : C l a s s e
Su pe r m e r c a d o
n ome : srin g
M to d o s
c a d a s t r a r
o bte rTo ta l Es tim a d o )
: in teger)
c a d a s tra r
c a d a s t r a r
.
c a d a s t r a r
c a d a s t r a r
1
*m
COMENTRIOS SOBRE A RESOLUO:
a ) O a tribu to ms d a c l a s s e HistoricoCompra e s t d e fi n i d o c o m o i m <
pa ra a rm a zen a r o n mero correspondente a o ms do ano.
b) O a t r i bu t o precoMaximoAnteror n o m a is la n a d o m a n ua lm en te |M
usurio. A go r a , ele obtid o a utom a tica m en te por um a fr m u la , que v er
o maior v a lor pa go den tre os ltim o s m e s e s , pa ra o produto em queslo,
Exemplo: n a planilha d e exem plo, para o pr o d u to a rro z, o r e s u l t a d o
2,05 e pa ra o prod uto fe i j o se ria 2,25.
c ) C a d a his t r ic o d e compra e s t a s s o c i a d o a u m s u pe r m e r c a d o e ;i m
prod uto. Isso cria os rela cion a m en tos d a C la sse HistoricoCompra com i
C la s s e Produto e a C l a s s e Supermercado. Na c la s s e HistoricoCompri
Encontrando Classes, Atributos e Relacionamentos 15
que se armazena o va lor pago a c a d a ms, in d ica n d o em que supermer-
cado fo i feita a compra.
10. EXERCCIO: LISTA DE COMPRAS (VA RIA O C)
CENRIO: C a r o l i n a d esej a sa ber qua l o Su pe r m e r c a d o q u e a pr e s e n t o u
mais prod utos ba ra tos, num d etermin a d o m s.
EXERCCIO:
A re s o lu o d e s s a situa o se d com a incluso d e um m tod o.
Sugira um nome pa ra 'e s s e m t o d o , indicando sua a s s in a tu ra .
A que c l a s s e pe rte n c e esse m tod o e como seria seu a lgo ritm o ?
RESOLUO:
MTODO DA CLASSE HISTORICOCOMPRA:
obterSupermercadoMaisVantaj oso(mesReferencia: integer): Supermercado
ALGORITMO:
define EupermercadoRef : Supermercado
Selecionar eodos 05 objetos de HistoricoCompra,
onde HistoricoCompra.ms = mesHeferencia, agrupando por Supermercado
Para cada grupo de objUistoricoCompra.supermercado
totalizar o atributo valorpago desse grupo
se o Cotai de valor pago for o maior obtido at o momento, guardar o
supermercado correspondente em supermercadoRef
im-para
obterSupermercadoMaisVantajoso 4- supermercadoRef
COMENTRIOS SOBRE A RESOLUO:
a ) Se a c la s s e HistorcoCompra armazena o menor valor pa go por um pro-
duto, num determinado ms, significa que o supermercado mais v a n t a j o s o
aquele onde se ga stou mais, pois ofereceu mais produtos em oferta .
11. EXERCCIO: LISTA DE COMPRAS (VA RIA O D)
CENRIO: Carolina d esej a d escon sid era r o preo de um determin a do ms
pa r a clculos de maior ou menor v a lor, ou ainda do supermercado mais
v a n ta j oso.
16 Ex e r c i t a n d o M o d e l a ge m em UM L
Exemplo (1): sa ber qual o Supermercado que a pr e s e n t o u m a is prod utos
ba ra tos, num d e te rm in a d o ms. Supon d o que ela c o m pro u um pr o d u t o
numa promoo relmpago que ofereceu 50% de desconto, esse valor no
pode ser pa rm e tro para s u a s c o m pra s fu t u r a s .
Exem plo (2): para calcular o precoMaximoAnterior, a a plica o pega o
m a ior v a lor. Va mos s u po r que um d eterm in a d o produto te v e qued a de pre-
o. Isso significa que os meses de preo alto no podem ser con sidera dos
para a s prximas compra s.
EXERCCIO:
Em que c la s s e deve ser includo um a tributo pa ra resoEver essa questo
e como d ev e ser e s s e atributo?
RESOLUO:
CLA SSE:
A TRIBUTO:
HistoricoC om pra
v a lid o Pa ra A n a lis e : boolean
12. EXERCCIO: COLECO DE C D's
CENRIO: A d r i a n o tem um a coleo gr a n d e d e CD's e gosta ria d e c a d a s -
t r a r n o seu Palm a lis ta d e s s e s C D's, pois s v e ze s n em s a be o que tem .
Ele pen sou em c a d a s t r a r o nome d o ca n tor{a ) ou con j un to, o ttu lo d o CD e
o a n o d e lanamento.
EXERCCIO:
Identifique a s cla sses, a tributos e mtodos d esse cenrio.
Represen te os rela cion a men tos c o m o atributos d eriva d os.
RESOLUO:
C l a s s e
M usico
A tributos
n ome : strin g
e hSo lo : boolea n
M to d o s
c a d a s t r a r
Encontrando Classes, Atributos e Relacionamentos 17
Classe
CD
Atributos
/m u sico : C la sse Musico
titulo : sfrin g
a n o : in tetj er
Mtodos
c a d a s tra r
COMENTRIOS SOBRE A RESOLUO:
a) Todo CD est rela cion a d o a um msico que pode ser um ca n tor solo ou
um conj unto. Is s o cria um relacionamento en tre a cla sse CD e a c la s s e
Mus/co.
b) O a tribu to ehSolo indica se o obj eto se r e fe r e a um cantor solo ou a um
con j un to.
13. EXERCCIO: COLEO DE C D's (VA RIA O A )
C ENRIO; A dria n o n otou que alguns C D's so de coletn ea s. Sendo assim,
no tm a pe n a s um cantor (ou conjunto) e sim vrios. Ele quer cadastrar
e s s a lista de msicos, sem relacion-los s msicas. Desej a con trola r
ta m bm se o C D d e coletn ea e se duplo.
Adriano gostaria de ter cadastrada a lista das msicas de cada CD, com o
tem po d e dura o d e cada fa i x a .
So relatrios d esej a d os: os CD's de um determinado msico e em quais
CD's e s t uma determinada msica.
EXERCCIO:
Aualize a lista de classes, atributos e mtodos para r e fle t ir esse cenrio.
Represente os relacionamentos como atributos d eriv a d os.
Desenhe um d ia gra m a de cla sses, som en te com o nome das classes,
especificando os relacionamentos e as multiplicdades.
RESOLUO:
Classe
Musico
CD
Atributos
nome : string
ehSolo : boolea n
/musico : C la s s e Musico
titulo : string
a n o : t n t e q e r
Mtodos
ca d a stra r
c a d a s tr a r
listarCdsPorMusico(musico:
C la sse Musico)
18 Exercitando M o c i e l a ge m em UML
Classe
Musica
Atributos
ehDuplo : boolean
ehColetnea : boolean
/ItstaMusIcas : Coleo de
Musica
nome : string
tempoFaixa : real
Mtodos
listarCdsPorMusica(musica:
Classe Musica)
cadastrar
CD
0..* 1.-"
M usico
1..'
Musica
COMENTRIOS SOBRE A RESOLUO:
a) No h relacionamento da classe Musica com a classe Musico, pois
este foi o requisito do usurio: no realizar o controle de que msico est
interpretando que cano.
b) O a tributo HstaMusicas da classe CD representa o relacionamento de
multiplicidade 1..* da classe CD com a classe Musica.
14. EXERCCIO: SALA DE REUNIO
CENRIO: Patrcia secretria e dentre suas tarefas habituais existe a de
controlar o uso das trs salas de reunio, que so utilizadas por todos os
setores da empresa.
Ela possui pastas de trabalho em Excel para cada ms do ano e, dentro de
cada pasta, existem de vinte e oito a trinta e uma planilhas, uma para cada
dia do ms.
Encontrando Classes, Atributos e Relacionamentos 19
Na planilha, ela criou a coluna de horrios e t r s colunas, uma para cada
s a l a de reunio. Num controle parte, ela rela cion a o nome do fun cion rio,
seu ca rgo e ramal. A lm d a alocao, s u rge frequentemente a necessida-
de de r e a l o c a o de uma reunio, m u d a n d o sala e/ou d a ta e/ou horrio.
Outra consulta constante que feita Pa trcia , pelos Diretores, sobre a s
s a l a s que e s ta ro livres numa determinada d a t a , numa fa i x a d e horrio.
Para cada sa la , precisa -se sa ber o nmero d e lugares. Ve j a o exem plo a
seguir.
IMAGEM DA PLANILHA:
QUagosto
Horrio Sala 101 Sa la 105 Sala 201
08h30m
09h
09h30
10h
10h30
11h
11h30
Dr. Glauco As-
sunto: processo
empresa Mar e
Lua
Dra. M a r i a - A s -
sunto: palestra
sobre, a n o v a lei
de falncias
Mariana - assunto: a n lise
de material
Dra. Maria assunto: reu-
nio de proj eto
EXERCCIO:
Identifique a s c l a s s e s , a tributos e mtodos d esse cenrio.
Represente os relacionamentos como a tributos derivados.
Desen he um diagrama de cla sses, somente com o nome das classes,
especificando os rela cion a men tos e a s multiplicidades.
RESOLUO:
Classe
A l o c a c a o Sa l a
A tr ibu to s
/s a la : Classe
Sala Reunio
d a t a A Io c a c a o : d a t e
horalnicioAlocacao : time
hora Fim A loca ca o : tim e
/re s po n s a v e lA lo c a c a o :
C la s s e Funcionrio
a ssun to : strin g
Mtodos
aiocar
realocar(novaData : d a te,
novaHoralnicio: time,
n ov a Hora Fim : tim e, novaSala:
C l a s s e Sa la )
ca n cela r
20 Exercitando Modelagem em UML
C l a s s e
Funcionrio
SalaReuniao
A tribu to s
nome : string
cargo : string
ramal : integer
numero : integer
qtdLugares : integer
M t o d o s
ca d a stra r
c a d a s tr a r
o bt e r Sa l a Li v r e fd a t a : d a te.
horalnicio: time. horaFim: timel :
c o l e c o d e Sa la Re u n ia o
SalaReuniao
O
o..-
A loca ca oSa la
0..*
Funcionrio
COMENTRIOS SOBRE A RESOLUO:
a ) Toda alocao de sa la registra qual sala foi alocada e qual foi o funcio-
nrio responsvel pelo pedido de alocao. Isso cria os rela cion a men tos
entre a s classes AlocacaoSala, SalaReuniao e Funcionrio.
b) Repare que o cenrio n o citou a necessidade d e se ca d a stra r o a ssun -
to da Reunio, ma s essa informao relev a n te, pois a pa r e c e em to d a s
as alocaes registra d a s na Planilha.
Isso mostra que, ao leva n ta rmos os requisitos de uma aplicao, no ba sta
levarmos em conta somente o que dito. Precisamos analisar tambm o
que mostrado, na form a de ficha s, documentos, form ulrios, planilhas,
relatrios etc.
c) O mtodo obterSalaLivre d e classe, pois sua execuo n o sobre
um objeto e sim sobre toda a coleco d e obj etos SalaReuniao. O resulta do
desse mtodo um conjunto (uma coleco) de obj etos SalaReuniao, que
pode ser um conjunto vazio (nenhuma sala disponvel), um conjunto unit-
rio ou retomar todas as sa la s de reunio.
En c o n t r a n d o C la s s e s , Atributos e Relacionamentos 21
15. EXERCCIO: SA LA DE REUNIO (VA RIA O A)
CENRIO: Os materiais de apoio so divididos en tre a s sa la s de reun io.
Sendo assim, preciso controlar os materiais que esto alocados e para
qua is reunies. Por exemplo: retroproj etor - sala 101 na reunio de 9 s
1 0h30;fl i p -s a l a 102 na re u n io de 10 s 12.
EXERCCIO:
Quais so os atributos e/ou mtodos que precisam ser includos nas classes do
exerccio anterior, pa ra refletir esse novo cen rio.
Verifique se h necessidade de criar n o v a s cla sses.
Atualfze os relacionamentos e multiplicidades do diagrama de classes, se for
preciso.
RESOLUO:
Classe
A lo ca ca o Sa la
Funcionrio
SalaReuniao
Material
A tributos
/s a l a : C l a s s e
SalaReuniao
dataAIocacao : date
horalnicioA locacao : time
hora Fim A loca ca o : time
/re spo n sa v e lA lo ca ca o :
C la sse Fun cion rio
a ssun to : string
/lista Ma teria isA loca dos :
C o l e o d e M a teria l
nome : string
ca rgo : s trin g
ra m a l : integer
numero : integer
qtdLugares : integer
nome : string
Mtodos
alocar
rea loca r(n ov a Da ta : date,
n o v a Ho ra ln icio : t i m e ,
novaHoraFim: tim e, n ova Sa la :
C la s s e Sa la )
cancelar
c a d a s tr a r
ca d a stra r
obterSa la liv refd a ta : d a te,
ho r a ln ic io : tirne. ho r a Rm :
time) : c o le c o d e
Sa l a Re u n i a o
cadastrar
22 Exercitando Modelagem em UML
Sa l a Re u n i a o
O
0..'
A l o c a c a o Sa l a
0..*
0..*
0..*
Funcionrio
Material
C OM ENTRIOS SOBRE A RESOLUO:
a ) Fo i in clud o o a tribu to UstaMateriaisAlocados, q u e e s t e m n egrito. A lm
d is s o , fo i c r i a d a a c la s s e Material.
b) Um a a lo c a o d e s a l a poder ter, ta m bm , um a l i s t a d e m a teria is alo-
cados. Is s o cria o re la cio n a m e n to en tre a c la s s e AlocacaoSala e Material,
represen ta d a pelo a tributo UstaMateriaisAlocados.
16. EXERCCIO: HERANA
Observe a s d u a s c l a s s e s a d ia n te :
Classe Atributos Mtodos
Funcionrio
matricula: integer
n o m e : s trin g
d a t a Na s c i m e n t o : d a t e
/e n d e r e o : C l a s s e En d ereo
/t e l s C o n t a t o : Coleo d e
Telefone
/c a r go : C la s s e Ca rgo
s a l r i o : real
d a t a A d m i s s a o : d a t e
c a d a s t r a r
o bt e r l d a d e
r e a j u s t a r Sa l a r i o (p e r c e n t u a l :
real)
p r o m o v e r (n o v o C a r go : C a r go )
En con tra n d o Cla sses, A t r i bu t o s e Re l a c i o n a m e n t o s 23
C la s s e
C lien te
A t r i bu t o s
c d igo : s trin g
norne : s t r i n g
d a t a Na s c im e n t o : d a t e
/e n d e re o : C l a s s e En d ereo
/t e l s C o n t a t o : C oleo d e
Telefon e
/pr o fi s s o : C la s s e Pr o fis s o
M tod os
c a d a s tr a r
o bt e r l d a d e
;, EXERCCIO (A ):
C r ie um a s u pe r c la s s e que con ten ha os a t r i bu t o s c o m u n s ,
re fo rm u la n d o t o d a s a s c la s s e s .
RESOLUO:
C la sse
Pessoa
Fun cion rio
C lien te
A t r i bu t o s
nome : s trin g
d a ta Na scim e n to : date
/endereo : Classe Endereo
/t e l s C o n t a t o : C o le o d e
Te le fo n e
m a tricu la : in teger
/c a r go : C l a s s e C a r go
sa lrio : real
d a t a A d m i s s a o : d a t e
cdigo : s trin g
/p r o fi s s o : C l a s s e Pr o fis s o
M tod os
c a d a s tr a r
o bte rld a d e
r e a j u s t a r Sa la r io
(pe rce n tu a l : real)
pr o m o v e r (n o v o C a r go :
C a r go )
EXERCCIO (B):
Qu e classes esto se re la c io n a n d o co m a c l a s s e Fun cion rio?
RESOLUO:
Por herana d a cla sse Pessoa : Endereo e Telefon e. Rela cion a n d o-se
diretamente com Funcionrio: C a rgo.
EXERCCIO (C):
Que classes esto se rela cion a n d o c o m a classe C lien te?
RESOLUO:
Por hera n a d a cla sse Pessoa : Endereo e Te le fo n e . Rela cion a n d o-se
d ire ta m e n te com C lie n te : Pr o fis s o .
C a p t u lo J^B
Desenhando Diagrama de Classes
a partir de Minicenrios
Com a prxima lista de exerccios, v o c continuar a treinar seu poder de
abstrao dos conceitos de classe e atributos. Usaremos minicenrios
mais complexos que os apresentados no Ca ptulo 1. Desen ha remos um
d ia gra ma de c la s s e s para cada um dos exerccios deste capitulo.
Repetiremos a frmula de criar variaes dos exerccios, que permitam a
manuteno do modelo.
Nos exerccios deste captulo incluiremos uma pequena lista de casos de
uso, represen ta d os num diagrama de ca sos de uso. Entretanto, em virtude
do nmero reduzido e da baixa complexidade dos mesmos, no escreve-
remos o d escritivo d e seus cen rios. Ten ta remos abstrair a s c l a s s e s e
seus atributos d ireta m en te da especifica o do problema (minicenrio).
CONVENES m CAPITULO:
- Todas as classes contm atributos (com seus tipos), mtodos (com se u s
parmetros e tipo de retomo) e relacionamentos (com suas multiplicidades);
- A tributos derivados ou d e cla sse tambm so representados. A tribu to s e
mtodos de classe so representados sublinhados;
- O diagrama de classes da fa s e de anlise. Sendo a ssim , no a pa rece-
ro atributos derivados que r e pr e s e n te m rela cion a men tos;
- Os mtodos descritos foram deduzidos a partir do cenrio. Entretanto, a
lista com pleta dos m to d o s s possvel obter a partir de um d ia gra m a de
24
Desenhando Diagrama de Classes a partir de Minicenrios 25
s e q u n c ia s , que tem por o bj e tiv o identificar a t r o c a d e mensagens existen-
te en tre obj etos, em cada ca so de uso;
- Os c a s o s de uso Manter XXX indicam que o caso de uso t r a t a r da con-
sulta , incluso, a lte ra o e e x c l u s o d e XXX. Exemplo: C a so d e Uso Ma n -
ler Cliente responsvel pela con sulta , incluso, a ltera o e e x c lu s o dos
d a d os ca d a stra is d e clien te;
- Os a tributos e m tod os seguem a nomenclatura d a UML. ou s e j a , iniciam
com le tra minscula, tendo a primeira l e t r a d e cada pa la v ra (a partir d a
s e gu n d a ) em m a iscula ;
- Tod o a tributo cuj o tipo s e j a um a cla sse enumeration n o definido como
um a tributo d eriva d o, v isto a cla sse enumeration a tua r com um t i po d e d a -
do e no como um relacionamento.
Va m o s e x e r c ita r nosso pod er d e a bs t r a o !
17. MINICENRIO: CONTROLE DE TA REFA S,
A r n a l d o d esej a e s c r e v e r um a a plica o d e con trole d e t a r e fa s pa ra colocar
em seu Palm. A s especifica es d a a plica o so a s s e gu in te s :
O cadastro d e cada ta re fa con tm o nmero d a priorid a d e, represen ta d o
por um valor real. Isso perm ite e n t r a r com in terv a los intermedirios. A lm
d a priorid a d e, o c a d a s t r o d ev e conter: o nome d a t a r e fa , a d a ta limite d e
e x e c u o (s e houver), o percen tua l j concludo e o d e ta lha m e n to d a ta re-
fa .
Para ca d a t a r e fa h uma lista de itens que d e s c r e v e m sua execuo. Para
cada item de execuo, ca d a stra m -se:
- o percen tua l correspon den te
- a descrio da execuo
- a d a t a d a execuo (qua n d o fo r con clud a )
Quando uma t a r e fa re c e be r 100% de execuo, e s ta d e v e ser m ov id a a u-
tomaticamente para a l i s t a d e ta refa s con clud a s, podendo ser a pa ga d a , se
fo r o caso.
Ve j a o exemplo d esse controle em papel.
26 Exercitando Modelagem em UML
TAREFA 1.1. -ANIVERS RIO DO F BIO
Data lim ite = 06/08/2005
Percentual j con cludo = 65 %
De ta lha m e n to = pla n ej a men to d o s pr e pa r a t i v o s pa ra a fe s t a d e
a n i v e r s r i o d o F b i o , n o sbado, d ia 6 d e a c o s t o .
Lista de Itens pa ra serem executados:
[ 20% l Aluguel d o s a l o e d a a n im a o -01/03/2005
f 20% 1 En com en d a d o bolo, sa lga d os e d o c e s - 15/07/2005
[ 05% l Com pra d a s bebidas
[ 25 % l C o m p r a d o s i t e n s pa r a a d e c o r a o - 01/07/2005
f 30% l A rru m a o d o sa lo
EXERCCIO:
1. Desenhe o diagrama de ca sos de uso.
2. Desen he o d ia gra m a d e c la s s e s c o m pl e t o .
RESOLUO (DIA GRA MA DE C A SOS DE Uso):
e x te n d s .
e x te n d s
Pessoa
Verifica r
Concluso da Ta refa
Desenhando Diagrama de Classes a pa rtir d e M in ic e n rio s 27
RESOLUO (DIAGRAMA DE C LA SSES):
Ta reia
nu mero Priorida de: rea l
n o m e : slring
dataLJmitBExecucao : d a te
d e ta lha m a n to : string
/ percentual C o n clu so : real
slalus: EnumStaiusTarefa
0..*
liem Ex e c u o
p e r c e n t u a l : r e a l
d e s c r i o : string
data Ex e c u o : date
o e n u m a ra te d a
En um Sta tusTa refa
ai i v
con clud a
Somatrio de HEmExecucao.Percentual,
quando ItEmExecucao.dataExeciicao < > null
COMENTRIOS SOBRE A RESOLUO:
a) A lista de itens de execuo faz parte da tarefaxiue representa o todo.
Desta form a , o relacionamento foi re pre s e n ta d o como um a a gre ga o .
b) O a tributo percentualConclusao n o um a t r i bu t o que ser c a d a s t r a d o .
Seu v a lo r sempre calculado a partir d o s o m a t r io d os percen tua is d os
itens d e e x e c u o q u e j fo r a m con clud os (o u s e j a , q u e ten ha m u m a d a t a
d e execuo). Por e s te motivo, ele foi d efin id o como a tributo d e riv a d o . A
regra d e sua d eriv a o foi explica d a n um item d e n ota , perten cen te a o
a tributo. Existe m d iv e r s a s fo r m a s d e e x pr e s s a r e s s e tipo d e regra .
c) O a tributo saus poderia ter sid o expresso com o um a tributo id en tifica d o
como "ativo: boolean". Entretanto, isso restringiria o atributo a dois valores.
A o s e d e fin ir o t i po en um era d o, j pre v e m o s u m a manuteno e v o lu t iv a d o
modelo, facilitando a in cluso d e o u tro s sta tus.
d ) O caso d e u so Verificar Concluso da Tarefa te m po r o bj e tiv o v erifica r
se tod os o s iten s a ssocia d os a u m a t a r e fa j fo r a m concludos, a l t e r a n d o
automaticamente o status d a ta re fa pa r a con cluda .
e) Como o n ico usurio d e s s a a plica o o A r n a ld o , o a tor foi identifica-
d o como Pessoa .
f) No caso d e u s o Manter Itens da Tarefa, o ator c a d a s t r a , inicialmente,
somen te o percen tua l d a ta re fa e s u a d escrio. Depois, a c a d a t a r e fa
28 Exercitando Modelagem em UML
concluda, o ator volta nesse caso de uso para lanar a data de execuo.
O item d e t a r e fa con sid era d o como con clud o se tiver uma d a t a d e exe-
cuo c a d a s tr a d a .
18. MINICENRIO: LIGAES TELEFNICAS VIA MODEM
Bruna resolveu desenvolver uma aplicao para controlar as ligaes tele-
fn ic a s d e sua c a s a , a fim d e checa r se o v a lo r que pa ga m en sa lm en te
est correio. A ssim , sempre que desej ar, poder listar as ligaes e fe tu a -
d a s n um determin a do pe ro d o , contabilizando o v a lo r a pa ga r.
Para que isso seja possvel, toda ligao ser feita pelo computador. A
cada s o lic ita o d e ligao, a aplicao d ev er registra r: a d a t a d a liga o,
a hora da ligao, qua n tid a d e de minutos ga sto s (que d e v e ser registra do
n o momento que a ligao for en cerra d a ), o nmero de pulsos (que d ev e
ser c a lc u la d o pela aplicao) e o telefone para on de se discou.
A aplicao permitir o con trole d e um a agenda d e telefon es, com n mero
do telefone e nome da pessoa de contato. O usurio poder escolher, no
momento da liga o, se d esej a um dos registros da a gen d a ou se d i gi t a r
d ire ta m e n te o nmero d o telefone,
A form a de clculoxJos pulsos considera os seguin tes critrios:
- A ligao a o ser com pleta d a j c o n ta um pulso. A partir d a i, a cada qua-
tro minutos de c o n v e rs a o con clud a , c o bra -s e mais um pulso.
- Cada pulso custa R$ 0,08 para ligaes locais.
Exem plo:
Ligao de 2m -1 pulso
Ligao de 4m30s - 2 pulsos
Ligao d e 8m - 3 pulsos
- Os fin a is de semana possuem uma promoo. Cada liga o contabiliza
som en te um pulso, independente do nmero de minutos de con v ersa o.
EXERCCIO:
1. Desenhe o diagrama de c a s o s de uso.
2. Desenhe o d ia gra m a de ciasses com pleto.
Desenhando Diagrama de Classes a partir de Minicenrios 29
RESOLUO (DIAGRAMA DE CA SOS DE Uso):
O
Listar ligaes de
umpeciodo
C a d a s tra r v a l o r e s
variveis pa ra regra
de clculo
Pe s s o a
iqclude
N
\
"i
include
Calcular pulsos
RESOLUO (DIAGRAMA DE CLASSES):
Agenda
nomeContalo: string
OddTeleooe: string
telefone: string
RegraCalculo
v a lo rPu ls o : real
inlervaloPulso: Integer
calcuiarPulsos(cJ9la: dale.
lempoLigacao: n e a l): Integer
c a lc u la r Te m po (ho r a ln ic io : time,
horaTernino: Hme): raal
O..*
O..'
Ligao
d a ta : date
hora Inicio: lima
horaTerrnino: time
flern poGa sto: real
MumeroPulsos: Integer
telefoneDiscado: string
discar
encerrariJgacao
30 Exercitando M od ela gem em UML
COMENTRIOS SOBRE A RESOLUO:
a ) O relacionamento d a classe Ligao com a classe Agenda s e rv e a pe n a s
para manter o controle d o lugar para onde foi fe ita a liga o . En treta n to, a
multiplicidade de 0..*, pois no momento da ligao o usurio pode esco-
lher de onde quer obter o telefon e, podendo d igita r um nmero sem querer
registr-lo n a agenda. O telefone replicado n a c la s s e Ligao, para se
ma n ter o histrico d e liga es, j que o c o n ta to pod e ter seu nmero d e
telefon e alterado.
b) O atributo tempoGasto d a classe Ligao derivado, pois seu valor o
resulta do d o mtodo catcularTempo d a classe RegraCalculo.
c) O a tributo numeroPulsos d a cla sse Ligao derivado, pois seu v a lor
o resulta d o d o mtodo calcularPutsos d a c l a s s e RegraCalculo.
d ) O caso d e uso cadastrarPutsos respon sv el por solicitar o clculo d o
tempo e baseado nessa informao, ca lcula r o nmero de pulsos. Como
as in form a es tempo ga s to e nmero de pulsos no so persistidos, en-
to o caso d e uso Listar ligaes de um perodo precisa fa ze r utilizao d o
caso de uso cadastrarPutsos para apresentar o relatrio.
e) Como o nico usurio d e s s a aplicao a Bruna, o a tor foi identificado
como Pessoa. *
19. MINICENRIO: TESTES DE FIXA O
Mariana prepara d i v e r s o s e x e rc c io s para suas filha s que e s t o n a primeira
e na segun da sries. Ela gosta ria de informatizar e s s e s e xe rccio s, para
gera r t e s t e s aleatrios.
Ca da teste gerado d ev e ser gua rda do (a com pa n ha d o d e sua s questes),
com a indicao de sua data de gerao. Na ge ra o de um te s te , preci-
so informar o nmero d e q u e s t e s d esej a d a s e a q u a l disciplina perten ce o
te s te .
Para ca d a disciplina, cadastra-se: uma lista de questes obj etiv a s, identifi-
cando d e q u e bimestre cada q u e s t o e a q u e ma tria perten ce. O ga ba ri-
to tambm ca d a stra d o a fim d e fa c ilita r a correo d o teste. Cada m a tria
fa z pa rte de uma nica d isciplin a . A srie est ligada matria.
Desenhando Diagrama de Classes a partir de Minicenrios 31
Por exemplo: pa ra a disciplina de ma temtica , Mariana prepara um t e s t e
com 20 q u e s t e s . Cada questo corresponde a um bimestre (1, 2. 3ou
4) e a uma ma tria (ex: adio, diviso, nmeros pares e impares, nme-
ros primos, sinnimos etc). Cada matria corresponde a uma disciplina
(a d io - m a tem tica ; sinnimos - portugus etc).
EXERCCIO:
1. Desenhe o diagrama de casos de uso.
2. Desenhe o diagrama d e c l a s s e s c o m ple to .
RESOLUO (DIAGRAMA DE CASOS DE Uso):
exlen d su
O
A
Professor
exlen d s
exiends
COMENTRIOS SOBRE A RESOLUO:
a) Na leitura de um cenrio verificamos que uma q u e s to e s t a s s o c i a d a a
uma disciplina e a uma matria. En treta n to, tambm d ito que uma m a t-
ria faz pa rte de uma disciplina. A ssim , em primeiro lugar, mod ela mos a
a grega o de disciplina com matria. Em segundo lugar, verificamos que,
na realidade, a questo est associada matria, que por sua vez est
a s s o c i a d a disciplina.
Desta forma, se desejssemos uma pesquisa, num banco de objetos, ob-
ten d o a s questes d a d is c iplin a "M A TEM TIC A " e d a primeira srie, teria -
mos o seguinte comando;
32 Exercitando Modelagem em UML
SELECT Questo.numero. Questo.enunciado
FROM Questo
WHERE Questo.matria.disciplina.nome = "MATEMTICA"
AND Questo.matria.serie = l
b) Como o nico usurio d e s s a aplicao a M a ria n a , e ela a s s u m e o pa -
pel de professora particular ao preparar os testes para as filhas, o ator foi
identificado como Professor.
RESOLUO (DIAGRAMA DE CLA SSES):
Teste
d a ta Gera c o : date
gera rTeste (disciplina: Disciplina,
n um Qu e st e s: Inleger)
Qu e s t o
n u m e ro : inleger
enunciado : string
ga ba rito : string
bimestre: nteger
geraQuestaoA!ealoria(disciplina:
Disciplina)
0..'
M ale ria
n o m e ; string
descrio : string
serie: integer
O
Disciplina
n o m e : strirtg
Desenhando Diagrama de Classes a partir de Minicenrios 33
20. MINICENRIO: TESTES DE FIXA O (VA RIA O A )
Con forme Mariana fo i aplicando os testes s sua s filha s, ela percebeu que
a lgum a s questes so mais problemticas que outras. Assim, desenvolveu
um a frmula para a ge ra o d os t e s t e s a lea trios, que possa lev a r em
conta que algumas questes devem ser fixas, e outras devem aparecer um
nmero de v e ze s den tro de um determinado in terva lo de testes. Por exem -
plo: as questes sobre diviso (matria), na primeira srie, tm fator 1/1,
que indicam que pa ra cada um t e s t e (denominador), deve a pa recer uma
vez (numerador), ou seja, 100% das vezes. J as questes de sinnimos,
na primeira srie, tm um fa tor 3/5, ou sej a , para ca d a c in c o t e s t e s , a
questo deve aparecer trs vezes.
EXERCCIO:
Qua is so a s mod ifica es n ecessria s n o modelo para refletir o cen rio
a n terior? Respon d a textua lm en te.
RESOLUO:
f
Na classe Questo so in cludos dois a t r i bu t o s :
-fatorAparecimentoNumerador: integer
- fa t o r A pa r e c i m e n t o De n o m i n a d o r : integer
COMENTRIOS SOBRE A RESOLUO:
a ) Repare que o cen rio d e s s e exerccio complexo, m a s o reflexo d essa
com plexid a d e n o n o modelo de c la s s e s e sim n o ce n rio do ca so de
uso "Gerar Qu e st e s A le a tria s ", que corresponde implemen ta o d o
mtodo geraQuestaoAleatoria. No modelo de cla sses, ba stou acrescentar
dois a tributos.
21. MINICENRIO: FESTAS INFANTIS
Ra fa e la possui v rios tem a s d e fe s t a s in fa n tis para aluguel.
Ela precisa controlar os aluguis e para isso quer uma aplicao que per-
mita ca d a stra r: o nome e o telefon e d o cliente, o e n d e r e o completo d a
fe s ta , o tem a escolhido, a data d a fe s ta , a hora d e incio e trmino d a fe s ta .
Alm disso, para alguns clientes antigos, Rafaela oferece descontos. Sendo
a ssim , preciso sa ber o v a l o r realmente cobra d o n um determinado aluguel.
34 * Exercitando M o d e l a ge m e m UM L
Para cada tema, preciso controlar: a lista de itens que compem o tema
(ex: ca stelo, boneca d a Cin d erela , bruxa etc.), o va lor d o a luguel e a cor d a
toalha da mesa que deve ser usada com o tema.
EXERCCIO:
1. Desenhe o d ia gra m a de casos de uso.
2. Desenhe o d ia gra m a d e c l a s s e s c o m pl e t a _
RESOLUO (DIA GRA MA DE CLA SSES):
Tema
n o m e : string
v a l o r A l u gu e l : re a l
corToa lfia : string
O..'
Aluguel
d a t a Fe s t a : date
horrio In icio: time
horarioTermino: lime
v Io rCo b r a d o : real
1..'
C lien te
nome : s t r i n g
telefone: string
1..*
ItemTema
nome: string
d e s c rio : string
endereo da lesla
Endereo
logra d ouro: string
n u m e r o : string
com plem en to: s t r i n g
ba irro: string
c i d a d e : string
c e p: string
u f: string
Desenhando Diagrama de Classes a partir de Minicenrlos 35
RESOLUO (DIAGRAMA DE CASOS DE Uso):
O
Controlar aluguel
de tema
extends
Diretor
COMENTRIOS SOBRE A RESOLUO:
a ) C om o o nico usurio d e s s a aplicao a Ra fa ela , e ela assume o pa -
pel de dona de uma microempresa informal, o ator foi identificado como
Diretor.
22. MINICENRIO: FESTAS INFANTIS (VARIAO A)
Rafaela percebeu que tambm precisa controlar o pagamento de sinal e a
d a ta d a quita o d o servio.
EXERCCIO:
Quais so as modificaes necessrias no modelo para refletir esse cenrio?
Responda textualmente.
RESOLUO:
Na cla sse Aluguel so includos dois a tributos:
- valorPagoSinal: real
- d a ta Qu ita c a o : d a te
36 * Exercitando M o d e l a ge m e m UM L
23. MINICENRIO: CURSOS DE APERFEIOAMENTO
A em presa A Prof o fe re c e cursos diversos d e a perfeioa men to pro fissio n a l.
O dono precisa con trola r, inicialmente: os cursos oferecid os, a d a ta de ini-
cio e trmino, o horrio d e inicio e tr m in o , o nome e o telefon e celular d o
professor e o valor d a sua hora/aula.
Pa ra cada curso, d e v e -s e con trola r: a ca rga horria , o con ted o progra m-
tico e o v a lor d o curso.
EXERCCIO:
1. Desenhe o d i a gr a m a de casos de uso.
2. Desenhe o diagrama d e c la s s e s completo.
RESOLUO (DIAGRAMA DE CASOS DE Uso):
O
Depa rta men to
A d m in istra tiv o
Desenhando Diagrama de Classes a partir de Minicenrios * 37
RESOLUO (DIAGRAMA DE CLA SSES):
Curso
n o m e : string
c a r j a Ho r a r i a : r e a l
con ted o Progra m tico: slring
v a lo r : rea l
0..'
Turma
dalalnicio. date
dalaTermino: da l
ho r a l n i c l o : lima
horaTemiino: lime
Q..'
Pmfessor
n o m e : strng
t e le fo n e : siring
v a lo rHo ra A u la : real
24. MINICENRIO: CURSOS DE APERFEIOAMENTO
(VA RIA O A )
Numa segun da v e rso d a aplicao, pa s s a -s e a ter o controle d a ma tricula
e do cadastro de a lun os. Para matrcula cadastram-se: d a ta da matrcula,
va lor pago, aluno e a turma . O cadastro de aluno compreende: nome, n-
mero da carteira de identidade, CPF, data de nascimento, endereo com-
pleto e te le fo n e s d e contato.
EXERCCIO:
A t u a lize o d ia gra m a de casos de uso e o modelo de classes.
38 Exercitando Modelagem em UML
RESOLUO (DIAGRAMA DE CA SOS DE Uso):
Departamento
Administrativo
De s e n ha n d o Di a gr a m a d e C l a s s e s a p a r t i r d e M i n i c e n r i o s 39
RESOLUO (DIAGRAMA DE CLA SSES):
Curso
nome: slring
carga Horria : real
conleudoProgramaUco:
v a l o r : real
Turma
dalalnido: d a t e
-:, " ---.P - : -; :i-
haralnlciQ : lime
horgTermino : rjma
Pro fe s s o r
nome: Elring
te le fo n e : stnng
valorHoraAula : real
Telefone
ddti: slring
numero : slring
t p : slrng
Aluno
nome: S
identidade: Slring
cpf: slring
dataNascimenlo : dale
M a tricula
(Jala : da te
ualorPago : r e a l
Endereo
logradouro : srtng
numenj : sLring
complemento ; atrng
bairro : slring
uf : string
25. MlNICENRIO: CLA SSIFICA DOS NA WEB
Da lila e s t oferecen d o aos amigos da escola , do bairro e do clube, o servi-
o de classificados pela We b.
Quem anuncia paga R$ 2,00 pelo anncio simples de 20 palavras ou R$
5,00 pelo anncio desta que de pgin a , que pode conter at 50 palavras e
uma imagem. O anncio fica d ispon vel por quinze d ia s. No entram na
contagem: o valor do prod uto, o te x to ttulo, o nome do contao, a t dois
telefones de contato e uma observao sobre os telefones de at cinco
palavras (por exemplo: de 18h s 20h).
Quem se to m a assinante do classificado virtual recebe diariamente em seu
e-mail o resumo de oferta s do site.
40 * Exercitando M o d e la ge m e m UM L
Exemplo da divulgao feita por e-mail:
A n n cios in serid os em 01 /08/2005
c o m p u t a d o r
o l a c a v d e o
cen d riv e
DVD
imvel v e n d a
i m v e l a l u gu e l
5
1
1
2
1
2
Clique no linfc para acessar os anncios.
Resumo de todos os anncios
comoutador
Dl a c a v d e o
oen drive
i m v e l v e n d a
im v el aluauel
35
2
3
2
5
O cliente pode c a d a s tra r s e e s de in teresse, a fim de receber os novos
anncios pelo e-mail, sem precisar visitar o site.
/
O anncio segue o fo r m a t o d esse exem plo:
Seco Computador
Pen tium 4 3.0 Ghz RS 1.300,00
Computa d or Pentium 4.0 3.0 Ghz, 256 Mb M e m ria , HD 40
Gb, gravador de CD. monitor Samsung 17".
Tr a t a r M a rta 2222-1 1 1 1 /21 1 1 -2222
noite
inserido em: 01/08/2005
EXERCCIO:
1. Desenhe o diagrama de casos de uso.
2. Desenhe_ o_ diagrarna dg c[asses_ CQrnpleto.
Desenhando Diagrama de Classes a partir de Mintcenrlos 41
RESOLUO (DIAGRAMA DE CASOS DE Uso):
exlen d s
Manter E a c e s da
interesse do cliente
RESOLUO (DIAGRAMA DE CLASSES):
TipoAnuncio
nome : siri na
qldPelavras : inlEger
com Imagem : boolea n
1
-' o
Anuncio
lextTltulo : slrtng
preo : real
teirtoAnuncio : string
nomeConlalo : strlng
telefonei - strlng
telefane2: strlng
obsTelefone : slring
Imagem : Pictura
dalalnsercao : date
0..' 1
SUBO
nome ' . string
(otahiaAnunciOs
o..-
Seo da Interesse
0..'
Cliente
nome : strlng
telefon e islrln g
eMail : alring
aGinan!e . boolean
42 - Exercitando Modelagem em UML
COMENTRIOS SOBRE A RESOLUO:
a) Como o nico usurio dessa aplicao a Dalila, e ela assume o papel
d e don a d e um a m croem presa in form a l, o a tor fo i id en tifica d o com o Dire-
tor.
26. MlNICENRIO: JOGO DA FORCA
Cristina quer fa zer um j o go da forca em computador para os seus filhos e
sobrinhos. Os requisitos para o j o go e sto a seguir:
- O j o go con siste em se tentar acertar a s letras de uma palavra escondida.
Se o jogador errar a letra, surge mais um pedao de um boneco que ao
final ir para a forca ;
- A s palavras ou fra se s para cada rodada so obtidas de um ba n c o de
pa la v ra s e fra s e s , que o prprio j o ga d o r pode in crem en ta r;
- Cada pa la v ra ou fra s e pertence a um tem a ;
- A cada rod a d a , a a pl i c a o sorteia se mostra r uma, d u a s ou trs pala-
v ra s, ou um a fr a s e e escolhe aleatoriamente o tem a e a s pa la v ra s (ou fra -
s e );
t
-A palavra (ou frase) exibida escondida e cada letra acertada desvenda
sua posio correspon den te;
- Le tra s e r r a d a s so coloca d a s n um qua d ro e um d os pe d a o s d o bon eco
a pa rece;
- O nome d o j o ga d o r gua rd a d o com seus pontos para fa zer pa rte d o
quadro de maiores escores (pontuaes). Quando ele acerta a palavra,
ga n ha 100 po n to s e pa ra cada le tra que ficou en coberta soma m-se mais
15 pontos.
EXERCCIO:
1. Desenhe o d ia gra m a de c a s o s de uso.
2. Desenhe o diagrama de cla sses completo.
Desenhando Diagrama de Classes a partir de Minicenrios 43
RESOLUO (DIAGRAMA DE CASOS DE Uso):
Administrador
Jogador
RESOLUO (DIAGRAMA DE CLA SSES):
Tema
m xn e: slring
0.,'
BancoPalavra
paiavraOuFrase: slring
/e hPra s a :bo o le a n
Con lroteRofla da
telrasErradas: slring
siluacaofalavra: slring
exibeBoneco
vedfica Letra (tetraJogads: s r -m g i
o..-
numero: Inlager
ImagamPedacoBoneco: Plture
maxinoErros: inleger
Ro d a d a
ponlosPalavra Certa = IDO
oontosLelrg = 15
nomeJogador: string
lota lPon tos: inleger
o
44 Exercitando M o d e la ge m cm UML
COMENTRIOS SOBRE A RESOLUO:
a ) A o a n a lisa r o problema, verificamos a necessidade d e ter um a c la s s e
que controle o ba n co d e palavras. Pode-se registrar uma pa la v ra ou fr a s e .
O q u e d eterm in a s e o registro perten ce a u m a fra se o a tribu to ehFrase.
En treta n to, e s te a t r i bu t o derivado, ou sej a , seu v a lo r resultado d e urn
a lgo ritm o que a n a lis a o a tributo patavraOuFrase e verifica se um a pa la -
v ra solta ou um a fr a s e ,
b) Cada rod a d a tem no mximo trs palavras ou uma fr a s e . A s s i m , a mul-
tiplicidade da classe Rodada com o banco de palavras est definida como
1..3.
c) A fun o d a classe Rodada controlar o j o ga d o r q u e e s t participando e
os pontos que ele est marcando. Existem dois atributos de classe, que
so responsveis por definir a po n t u a o pa r a a certo d e pa la v ra e a certo
de letra. Alm disso, a classe Rodada se relaciona com a classe Controte-
Rodada, que re s po n s v e l por con trola r tod os os m ov im en tos d o j oga d or
numa rodada. Registra as letras erradas, a situao da palavra e verifica
se houve a certo de l e t r a .
d ) A classe ControleErro tem por obj etvo gu a r d a r a s informaes d o bone-
co da Forca, para ser exibido a cada erro do j ogador.
f
27. MINICENRIO: FERRAMENTA DE UML
A em presa em que Mariana tra ba lha pequen a , m a s to d o s os s is t e m a s
que so d esen v olv id os usam UML.
Ela precisa v a de uma ferra men ta grfica que c o n t r o l a s s e : a lista de casos
de uso de um projeto e o status de cada um (no iniciado, em desenvolvi-
mento, finalizado ou a prov a d o pelo usurio). Desta form a , Mariana d ecid iu
construir sua prpria ferramenta que exibe os casos de uso em rvores,
agrupados por pa cotes. Ou tro s requisitos d a ferra m en ta esto d escritos a
seguir:
- O nome de cada pacote o nome da pasta de projeto (nome do diret-
rio). O nome de cada ca so de uso retira do do nome do arquivo;
- A ferra m en ta permite que os casos d e uso s e j a m c a d a s tra d o s por meio
dela. Nesse c a s o , a ferra m en ta gera um a rquivo ba s e a d o n o templa te.
Desenhando Diagrama de Classes a partir de Minicenrios 45
possvel realizar pesquisa de te x to s dentro de todos os ca sos de uso, re-
nome-los e mud-los d e pa cote;
- Clicando no caso de uso, possvel abrir seu t e x t o ;
- Os casos de uso so iden tifica dos com o prefixo UC, seguid o de uma
numerao sequen cia l controlada pela fe rra m e n ta . Os casos de uso de
extenso recebem a identificao UCE.
EXERCCIO:
1. Desenhe o d ia gra m a d e casos d e uso.
2. Desen he o diagrama d e c la s s e s com pleto.
RESOLUO (DIAGRAMA DE C A SOS DE Uso):
Desenhar rv ore
Hierrquica
A n a lis ta
46 Exercitando M od eia gem em UML
RESOLUO (DIAGRAMA DE C LA SSES):
Pacote
n o m e : string
m ostra rA rv o re
1..*
C a so Uso
/identificao : strirtQ
nome : strin g
s t a t u s : En um Sta tus
nomeTemnlatB girino
eti Ca so UsoExten so : Doolea n
renomaar (novoNome : string)
mudarPacote (n ov oPa cote : Pa co te )
en um era t e d
En u m St a t u s
naolniciado
a m Desenvolvimento
fin a liza d o
a provadoPel oLIsu a ri o
COMENTRIOS SOBRE A RESOLUO:
f
a ) O a tributo identificao u m a tribu to d eriv a d o, cuj o va lor obtido a par-
tir da regra de negcio que determina o prefixo de um caso de uso (UC ou
UCE).
b) O a tributo nomeTemplate um a tr ibu to d e cla sse, que contm o nome
d o a rquiv o d e t e m p l a t e u tiliza d o pa ra criar novos c a s o s d e uso.
c) A s ta refa s de re n o m e a r um ca so de uso e mudar um caso de uso de
pa cote esto implcitas den tro d o caso d e uso Manter caso de uso.
28. MINICENRIO: CLUBE DA LEITURA
Gusta v o tem uma coleo gra n d e d e r e v is t a s em q u a d rin ho s. Por isso,
resolv eu e m pre s ta r para os a m igos. A s s i m foi cria d o o Clube d a Leitura.
ivlas para no perder nenhuma revista, seu pai lhe fez uma aplicao que
ca d a stra a s revistas e co n tro la o em prstim o.
Desenhando Diagrama de Classes a partir de Minkenrios 47
Para cada re v is ta ca d a stra m -se: o tipo da coleo (por exemplo: Ceboli-
nha, Pa to Donald, Ba tm a n etc.), o nmero d a ed io, o a n o d a rev ista e a
caixa onde est guardada. Cada caixa tem uma cor, uma etiqueta e um
nmero.
Para cada emprstimo cadastram-se: o amiguinho que pegou a rev ista ,
qual foi a revista , a d a ta d e emprstimo e a d a ta d e devoluo. Cada cri-
ana s pode pegar uma rev ista por emprstimo.
O ca d a stro do amiguinho con siste de: o nome do amiguinho, o nome da
m e, o telefon e e de onde o a m igo (do prdio ou da escola).
EXERCCIO:
1. Desenhe o diagrama de casos de uso.
2. Desenhe o diagrama d ev a sses compj eto.
RESOLUO {DIAGRAMA DE CA SOS DE uso):
Bibliotecrio
entenda
Manter emprstimo}^ f Regislrar devoluo '
48 Exercitando Modelagem em UML
RESOLUO (DIAGRAMA DE CLASSES):
Colscaa
nome ; slring
t
Revrala
numeroEdicao: m t c gw
a n o : intfler
numero: rnlegar
IdenljficacaoEliquebi'. ilring
c o r : slriOQ
Amigo
nojne;E[rinfl
telefona: suna
gnjpc: EfiumGnJpoAmlgo
prdio
escola
COMENTRIOS SOBRE A RESOLUO:
a ) A o se rela cion a r a c l a s s e Revista com Amigo, est se esta belecen d o o
relacionamento de emprstimo. Como encontramos a tributos pertinentes a
e s s e relacionamento (dataEmpreslimo e dataDevolucao), e s t a m o s dia n te
de uma classe de a ssocia o.
29. MINICENRIO: CONDOMNIO
Marina sndica do prdio onde mora. A fim de melhor gerenciar o con-
domnio, ela encomendou uma a plica o a um amigo.
A a plica o d ev e atender a os seguintes requisitos:
- Para um a pa rta m en to, devem-se ca d a stra r: seu nmero de porta , a
q u a n tid a d e de qua rtos, o tipo de ocupa o (proprietrio, inquilino ou v a zio),
o nome do proprietrio e o telefone do proprietrio. Um proprietrio pode
ter mais de um a pa rta men to no prd io;
Desenhando Diagrama de Classes a partir de Minicenarios - 49
- Mensalmente, devem ser lanadas as despesas para o condomnio do
ms, alm das d espesa s especficas de um apartamento ou urn grupo de
a pa rta men tos, como por exemplo: a t a x a de sa lo de festa s;
- O condomnio calculado por tipo de a pa rta m e n to (de a cordo com o
nmero de quartos). Para chegar ao valor pago pelas despesas, tm-se os
seguin tes passos:
a) verificar o somatrio de qua rtos de todo o prdio
Ex: apto 101 (2 quartos); 102 (3 quartos); 201 (2 qua rtos);
202 (3 quartos) = t o t a l de quartos = 10
b) dividir o valor da d espesa (que pode ser fixo, como fun d o
d e re s e rv a ; ou v a r i v e l , com o gu a ) pelo soma trio d e quartos e multiplicar
o resulta d o pelo nmero de qua rtos do a pa rta men to.
Ex: gua - 200,00
apto
101 200,00/1 0x 2= 40,00
1 02 2 0 0 ,0 0 /1 0 x 3= 60,00
201 2 0 0 ,0 0 /1 0 x 2 = 40,00
202 200,00/1 0x 3= 60,00
- Para cada item do condomnio, cadastra-se a referncia (ex: m a r/05 -
referente ao ms da conta; 1/3 - fa to r de parcelamento);
- O con d om n io pa go diretamente com a Sndica. Se for pago com a tra -
so, cobra -se multa de 2%. O condmino pode o pt a r em pagar a multa no
ms seguinte. Nesse caso, o percentual passa para 5% e lanada como
despesa do prximo condomnio.
C om pleta -se, ento, pa ra o c a d a s t r o d e cada condomnio d e a pa rta m en to,
a data d o pa ga m en to e o v a lor pago.
EXERCCIO:
1. Desenhe o diagrama de casos de uso.
2. Desenhe o dj agrama d e classes completo.
50 Exercitando M o d e l a gem e m UM L
RESOLUO (DIA GRA MA DE CA SOS DE Uso):
RESOLUO (DIAGRAMA DE CLA SSES):
Apartamento
numero: Inleger
qLdQuartos: integer
ocupao: EnumTrpoOcupaao
Proprietria
nome:stnng
telefone - :-:nr.q
j n e s A n o . slrlng
: real
.--':;-::: in
"npoDespeaa
nome : ainng
: boolean
O,.
1
cifl: slritig
valor: real
mesAno: atring
v a l o r : rc&1
-
J
11 ire r ]Lt " a
EnumlipoOcupacao
(nqulllno
Va zo
Desen ha n d o Dia gra m a de C la s s e s a pa rtir d e M in icen rios * 51
COMENTRIOS SOBRE A RESOLUO:
a ) O caso d e uso Preparar Condomnio do Ms centraliza todas a s ta refa s
necessrias para gera r os boletos dos condminos. Primeiramente, o usurio
lana as despesa s fixa s do condomnio de um determinado ms (por exem-
plo: gua, luz etc). Depois, o usurio lana as despesa s especficas dos apar-
tamentos (por exemplo: multa do ms anterior, taxa do salo de festa s etc). O
caso d e uso Calcular Condomnio chamado para ratear todas a s despesas,
lanando para cada apartamento as contas a serem pagas.
Por exemplo: Suponha que:
- e x i s t a m os s e gu in te s a pa rta m en tos - 101 (2 qua rtos), 102 (3 quartos),
201 (2 quartos), 202 (3 quartos);
-to ta liza n d o tod os os qua rtos do prdio, h 10 qua rtos;
-fo r a m la n a d a s a s d e s p e s a s d e gu a (100,00) e lu z (200,00);
- o apartamento 101 tem uma taxa de salo de festa s de R$ 25,00.
O condomnio do apartamento 101 ser:
gua (100,00 /1 0 x 2 qua rtos) R$ 20,00
Lu z (200,00 /1 0 x 2 q u a rto s ) R$ 40,00
Ta x a do Salo de Festas R$ 25,00
Tota l a pa ga r R$ 85,00
O condomnio do a pa r ta m e n to 102 ser:
gua (100,00/10 x 3 quartos) R$ 30,00
Lu z (200,00 /1 0 x 3 qua rtos) R$ 60,00
Total a pagar R$ 90,00
b) A classe Despesa armazena as despesas do condomnio. O atributo
valorRateado indica se e s s e tipo d e despesa d e lanamento fixo (o
mesmo valor para todos os condminos, como acontece com o salo de
fe s t a s ; ou d e valor v a ri v e l, com o a c o n t e c e com a gua ).
30. MINICENRIO: PEDIATRA
Dra. Janete Pediatra e tem trs consultrios em bairros distintos, onde
a t e n d e em ho r rio s d i fe r e n t e s . A n a , sua s e c re t ria , tra ba lha n os trs con-
sultrios. Para que a marcao de consultas seja centralizada, Ana tem
que ca rrega r as trs a ge n d a s de um lado para outro.
52 Exercitando Modelagem em UML
Dra. Ja n e te con tra tou um a n a lista fre e -la n ce r para lhe d e s e n v o lv e r um sis-
tema que controle a m a rca o d e con sulta s e a ficha d os pa c ie n t e s .
Para os pa c ie n te s , pr e c is o controlar: nome, en d ereo, te le fo n e s d e con-
t a t o , d a ta d e n a s c im e n to , d a t a d a primeira con sulta , e-mail, se pa rticula r
ou con v en ia d o a pla n o d e sade. No caso d e ser c o n v e n ia d o , re gis tra r
q u a l o plano d e sa d e. Para ca d a plano d e sa d e credenciado pre ciso
con trola r o limite d e con sulta s n o m s, por pa cien te.
Dra. Ja n e te atende n o consultrio da Ilha s s e gu n d a s e s e x t a s , de 9h s
18h. Na Tijuca, ela atende tera e quarta de 10h as 18h. Na quinta, ela
a te n d e em Bon sucesso, d e 10h s 18h. O intervalo d a s c o n s u l t a s d e
trin ta minutos. O horrio d e almoo sempre d e 12h30 s 13h30. S so
permitidos t r s e n c a ix e s por dia. Para clie n te s n o v o s , A n a a n ota o nome
d o clien te e o seu telefon e. preciso id e n tifica r se um a consulta d e revi-
s o , com o por exemplo pa ra en trega d e e x a m e s . Nesse ca so, ela n o
cobra d a .
A marcao d e con sulta s d e v e con sid era r uma d a ta fu tu ra limite.
EXERCCIO:
1. Desenhe o diagrama de ca sos de uso.
2. Desenhe o d ia gra m a d e c la s s e s c o m ple to .
RESOLUO (DIA GRA M A DE C A SOS DE Uso):
"-- includa
exlen d s
Se c re t ria
De s e n ha n d o Di a gr a m a d e C l a s s e s a pa r t i r d e M i n i c e n r i o s 5 3
RESOLUO (DIA GRA MA DE C LA SSES):
nome: slnng
a n d -Br a c a : slnng
dalaNas&meiCo: aSn
dalaPrfmeiraCwiauCtB: date
aMall : Etring
pJan-oParticular: bootoan
RanoSaude
nome;Blrng
limteConsuIlaaMe:
Te fa fo n a
n u m e r a : alring
u po : stmg
obs:stnng
EiomTipoConsuHofio
Ilha
Bon
Tljuca
Consulta
d a ta : dala
hora : lime
ria lBLimitBMj trca ca a Futura : d a r s
consultRayL&at] : brjlean
eiEncama : boolsan
NiriileEncaikfia = 3
marcarConsulIa
o..-
Agenta
daSeniana Inleger
c o n ^u Il o r i D : EnurnUpoConsultorta
horarinPrimairaCDnauIlH . Uma
h?rarinUlljinaConsiilla : time
mlarvaJurCofiSiilta : fn t e ge r
htrffiOlrtldoAlmoco : Ume
horariDnrnAliTiqca : lime
COMENTRIOS SOBRE A RESOLUO:
a ) A cla sse Agenda contempla o pa d ro d e a gen d a , d e cada con sultrio,
em cada dia da semana. Exemplo de um obj eto instanciado a pa rtir d e s s a
classe. Obj eto AgendallhaSeg (diaSemana = 2; consultrio = Ilha; horario-
PrimeiraConsulta = 09:00; horarioUltimaConsulta = 18:00; intervaloConsul-
ta = 30; horariolnicioA Imoco = 12:30; horarioFimA lmoco = 13:30);
b) O caso d e uso Manter Agenda respon sv el por v erifica r e exibir a
a gen d a de um consultrio numa determinada d a ta . A partir da, para cada
horrio v a go , possv el m a rc a r u m a con sulta (Extends Caso de Uso
Registrar Consulta).
Por exemplo, supon ha que o usurio queira ver a agenda do dia
30/09/2005.
O sistema verifica r que d ia 30/09 uma sexta (dia d a semana = 6). Para
o dia da semana 6, a agenda do consultrio da Ilha. C on sid era n d o os
a tributos desse obj eto, o sistem a m on ta a agenda do dia. Inicia com o ho-
rrio da primeira consulta (09:00). Depois m on ta um horrio a ca d a interva-
54 - Exercitando Modelagem em UML
Io de con sulta (30 minutos) a t o limite do ho r rio de a l m o o (12:30). A l go
assim:
09:00 / 09:30 /10:00 /10:30 /11:00 /11:30 /12:00
O horrio da tarde recomea n o fim da hora de a lm oo (13:30). A partir
da, continua-se a montar horrios respeitando o intervalo de consulta (30
minutos) a t o horrio limite d a ltima c o n s u l t a . A a ge n d a completa fica ria
assim:
09:00 / 09:30 /1 0:00 /1 0:30 /1 1 :00 /1 1 :30 /1 2:00
13:30 /1 4:00 /1 4:30 /15:00 / 15:30 /16:00 /1 6:30 /17:00 /17:30
c) O a tributo d e c l a s s e dataLimiteMarcacaoFutura controla a d a ta limite
que se pode m a rca r uma con sulta . Por exem plo: e s t a n d o no incio de se-
tembro, s po s s v e l m a rca r c o n s u lta co m a n t e c e d n c ia d e 45 d ia s (at
meados de outubro). Essa data fixa para qualquer objeto instanciado a
pa rtir d a cla sse. M a s n o um v a lo r d efin itiv o. Est sempre sendo a ltera -
do.
d ) O a tributo d e cla sse HmiteEncaixes con trola o m xim o d e con sulta s d e
encaixes que pode ser inserido num mesmo dia.
31. MINICENRIO: PEDIATRA (VARIAO A)
Na verso 1.1 do sistema, Dra. Janete desej a controlar os valores das
consultas.
Ela d esej a o bte r, no fim do ms, um rela trio com o v a lor recebido pela s
c o n s u lta s pa rtic u la re s e o fa t u r a d o pelos convnios.
Ca da con v n io paga um v a lo r d ife re n te por consulta e cred ita em pra zos
d ife re n te s (alguns cred ita m e m 45 d ia s, o u t r o s e m 60 etc.) a pa rtir d a d a t a
d e a pre s e n ta o d a con sulta a o pla n o. A pr e v is o d e pagamento d ev e
a pa recer no relatrio.
O v a lor d a consulta pa rticula r fixo, m a s um ou o u tro pa cien te pode rece-
ber urn d e s c o n to . Sendo a ssim , o va lor e fe tiv a m e n te pago d e v e ser regis-
tra d o .
Desenhando Diagrama de Classes a partir de M i n i c e n r i o g 5 5
Exem plo do Rela trio de Faturamento:
Relatrio de Faturamento
Perodo: 01/07/05 - 31/07/05
Tipo
Pa ga m e n to
Particular
Unimed
Unimed
Qt d
20
25
50
Va lo r
Tota l
2000,00
950,00
1900.00
Previso
Re c e bim e n to
em c a ix a
01/08/2005
05 /08/2005
Relatrio de Faturamento
Perodo: 01/07/05-31/07/05
Unimed
Unimed
Unimed
Unimed
Unimed
C a s s l
Cs si
To t a l
30
25
20
15
15
50
30
280
1140,00
950,00
760,00
570,00
570,00
2000,00
1200,00
12040,00
10/08/2005
15/08/2005
20/08/2005
25 /08/2005
30/08/2005
20/08/2005
30/SS/2005
EXERCCIO:
A tualize o diagrama de casos de uso e
indique o q u e rnyda no modelo de cla sses.
RESOLUO (DIAGRAMA DE C A SOS DE Uso):
Doutora
Secretria
56 Ex e r c ita n d o M od ela gem em UM L
RESOLUO (DIAGRAMA DE CLASSES - SOMENTE AS CLASSES ALTERADAS):
Con sulta
d a t a : d a t e
hora : time
d aiaLi m ite M a rcacaoF u!u r
c o n s u l t a Re v i s a o : boolean
e h En ca ixe : boolean
Hm iteEn ra ixes = 3
v a l o r C o n s u l t a : real
d a te
va lorPa go ; r e a l
d a ta A presen ta ca oPla n o : da te
marcarConsulta
PlanoSaude
n o r n e : string
Nm i t e C o n s u t a s M e s : integer
prazo C r e d i t o : Integer
valorConsulta : real
COMENT RIOS SOBRE A RESOLUO:
a) O atributo de cla sse vatorConsulta Indica o va lor da consulta para qualquer
paciente que s e j a particular (no estej a vinculado a um plano de sade).
b) O atributo valorPago registrar efetivamente o valor pago por uma consulta,
considerando um eventual desconto concedido (se o cliente for particular).
c) O atributo daaApresentacaoPlano re gis tra r a d a ta em que a con sulta foi
apresentada ao plano, a fim de que se possa calcular o prazo estimado de
recebimento do reembolso, de a c o r d o com o prazo de cada plano de sade.
32. MINICENRIO: PEDIA TRA (VA RJA O B)
Dra . Ja n e t e est a d o r a n d o o sistema e j en com en d ou u m a manuteno
ev olutiv a , que resulta r n a verso 2.0. Nessa verso haver o controle d o
pronturio.
Em cada con sulta , ela precisa registra r: peso, a l t u r a , d e s c r i o da con sulta
e medicamentos prescritos c o m tem po e d osa gem. De s t a fo r m a , o sistem a
t a m bm fa r a em isso d a receita .
EXERC C IO:
A tua lize o diagrama de casos de uso e
indique o que muda no modelo de cla sses.
Desenhando Diagrama de Classes a partir de Minicenros 57
RESOLUO (DIAGRAMA DE CA SOS DE Uso):
Secrelria
include
Registrar Consulta
1
*exlends
RESOLUO (DIAGRAMA DE CLASSES - SOMENTE AS CLA SSES A LTERA DA S):
Pa cien te
Consulta
Pre s c rio
d o s a ge m : strng
t e m p o : string
in s tru e s : string
Piontuario
p e s o : real
altura: real
descrio: string
D..'
0..'
PlanoSaude
n o m e : string
Nm ite C o n s u lta s M e s : integer
pra zoCred ito: integer
va torCon sulta ; re a l
- _
58 > Exercitando Modelagem em UML
33. MlNICENRIO: APOSTA LOT RICA
Carlos aposta toda s e m a n a na Loeria, em j ogos como quina, megasena,
lotomania etc.
So v r io s ca rtes por semana. Na hora de con ferir uma loucura . C e rta
v e z, qua se que ele c o n fe r e o carto erra d o.
Pa ra resolv er isso, ele quer d esen volver um a a plica o que c a d a s tr e os
cartes apostados e o resultado de um con curso, a presen ta n do o rela trio
fin a l com os nmeros a certa d os por c a rto e o v a lo r d o prmio, se houv er.
EXERCCIO:
1. Desen he o diagrama de casos de uso.
2. Desenhe o diagrama de classes completo.
RESOLUO (DIAGRAMA DE CASOS DE Uso):
O
Apostador
Desenhando Diagrama de C l a s s e s a partir de M i n i c e n r i o s 59
RESOLUO (DIAGRAMA DE C LA SSES):
JogoLolerico
nome: slring
qld Mnima A po s t e : inleger
q Td M a x i m a A po s t a : nleger
limileSuperioiA posta: inloger
rn in im oA certos: iniegar
m xim o A c e r t o s : Inlegei
qldNumSortBBiJos: inleger
0..'
Con curso
numeroCcmcurso: inleger
d a ta :d a !e
A po s t a
numeroAposlado: irileger
(Concurso .JogaL.Qterlco.qldMinimaApoEta,
C on eu rso JogoLoterico .qldMaxi maAposla]
con ferirA fldsta
1..*
Prerraacao
l a i x a : Integer
valeu: real
a c u m u l a d o : boolean
riu rn &Fo So rte a d Q: inleger
[C oncurso. JogoLole rico .qldN umSortea do s]
COMENTRIOS SOBRE A RESOLUO:
t
a ) C om o o nico usurio d e s s a a plica o o Ca rlos, o a tor foi identificado
como A po s ta d o r, que o papel a ssu m id o por ele n a a plica o.
b) Repare que usamos uma notao oficial da UML, mas que pouco vej o
se fa ze r uso: a multiplicidade pa ra atributos. Numa A po s t a , re gis tra -s e um a
ce rta qua n tid a d e d e nmeros a po s ta d o s . Como o c o n j u n to d e nmeros,
no teria sen tido criarmos uma cla sse para controlar essa coleo. A solu-
o consiste em se associar uma multiplicidade ao atributo numeroAposla-
do. Es s a multiplicidade po d e ser composta d e limite in ferior e limite su pe ri-
or ou a pe n a s um v a lor fixo. No caso do nmero a posta d o, tm-se os d ois
limites d e a cord o com a s regras d o j o go Ictrico. Sendo a s s im , o v a lo r d a
multiplicidade e s t fa ze n d o refern cia a os a tributos d a c l a s s e JogoLoter-
co. A ssim, o limite inferior, ou s e j a , a menor qua n tid a d e de nmeros apos-
t a d o s o valor d o a tributo Concurso.JogoLoterico.qtdMinimaAposta. No
ca so do limite superior, ou sej a , a maior quantidade possv el de nmeros
a po s t a d o s o valor d o a tributo Concurso.JogoLoterico.qtdMaximaAposta.
c) O que foi descrito na letra (b) ocorre tambm com a classe Premiacao. A
d iferen a e s t somente n o fa t o d e que n o temos v a r ia o d e nmeros
sortea d os. s e m pr e um nmero fixo. Sendo a ssim , a qua n tid a d e de n -
meros sorteados (multiplicidade d o a tribu to numeroSorteado) o v a l o r d o
a tributo Concurso. JogoLoterico.qdNumSorfeados.
Captulo
Exercitando a Identificao
de Casos de Uso
3
Neste captulo trabalharemos alguns conjuntos de requisitos, de forma a
extra ir deles a lista de Casos de Uso e a descrio de seus cenrios.
Devemos nos lembrar de que no e x i s t e na d ocumen ta o oficial da UML
uma forma predefinida de se escrever um caso de uso. Entretanto, existem
boas prtica s que d evem ser seguidas, das qua is podemos citar:
- O texto do caso de uso deve ser livre da forma como ser implementado,
exceto se for um caso de uso de projeto (exemplo: caso de uso Manter c-
pia de ba ckup). Sendo assim, no diga que o usurio ir selecion a r uma
determinada informao de uma listbox ou combobox; ou que clicar num
boto. Diga, apenas, que ser selecionado um valor de uma lista; ou que o
usurio escolher uma determinada opo, que pode ser implementada por
meio de um boto, de um menu, ou de dezenas de outras formas diferentes;
- Aps escrever sua primeira verso de caso de uso, volte e analise-o.
Verifique se alguma parte de seu caso de uso rea prov eitv el em outro
caso de uso. Se existir, devemos separ-la em outro caso de uso e estabe-
lecer um rela cion a m en to de Include. Verifique se algum cenrio a ltern a tivo
do seu caso de uso est extenso d em a is. Se existir, d ev em os sepa r-lo
em outro ca so de uso e esta belecer um relacionamento de Extends;
- Um ca so de uso pode se transformar numa rotina de um sistema ou
a pe n a s em um mtodo de uma classe, dependendo de sua complexidade;
- Para comear a escrever a lista de casos de uso, voc pode iniciar pela
lista de atores que interagem com a aplicao. Para cada aor, voc pode
60
Exercitando a Identificao de Casos de Uso 61
question a r: qual a influncia d o a tor n a a plica o ou o qua n to ele i n fl u e n -
c i a d o por ela; em q u a is aes e s s e ator pa rticipa .
34. CENRIO: ENCOMENDA DE PLACAS
Joo confecciona placas por encomenda. Como o volume dos pedidos tem
aumentado, ele pediu ao filho que lhe fizesse uma pequena aplicao que
con trole:
- o cadastro d e seus clientes
- a s en comen da s
Qua n d o ele recebe um a en comen da , Jo o a n o ta n um c a d e rn in ho o nome
d o clien te e seu telefon e.
Para a en comen da , ele re gistra : o ta ma n ho d a placa (a ltu ra e la rgura ), a
fra s e a ser escrita , cor d a placa (branca ou cin za ), cor d a fr a s e (azul, v er-
melho, amarelo, preto ou v e rd e ), d a ta d e en trega , valor d o servio e va lor
do sinal.
A aplicao d ev e obriga r que o v a l o r d o sinal s e j a d e, n o mnimo, 50%.
Para ca lcula r o valor d a pla c a , a s s e gu in te s frm u la s so usa d a s:
rea = a ltura x largura
custo_ material = rea x R$ 147,30
custo_ d esen ho = nmerojetras x R$ 0,32
v a lor_ pla ca = custoj material + custo_ d esen ho
Para ca lcula r o prazo d e en trega , con sid era -se que ele s con segue pro-
d u zir seis pla ca s por dia.
Joo d esej a que o sistema controle os ped id os, ca lcule o preo fin a l d a s
peas e o pra zo d e en trega . Pa ra cada encomenda cadastrada, d ev e ser
emitido um recibo em d u a s v i a s (cliente e em presa ), contendo tod os os
dados d a encomenda e d o pagamento.
EXERCCIO:
A partir d o cen rio descrito, desenhe o diagrama d e c a s o s d e uso e e s c r e v a
seus cen rios. Con sid ere que s e xiste um ator, que o Sr. Joo, dono de sua
m ic ro -e m pre s a , que pod e ser identificado como "Diretor da e m pre sa ".
62 Exercitando Modelagem em UML
RESOLUO (DIA GRA MA DE CA SOS DE Uso E DESC RIO DOS CENRIOS):
C o n s u l t a r C l i e n t e
/ Calcular Preo de
e x te n u a ,-\Ve n d a da En comen da
Cadastrar En c o m e n d a
C a l c u l a r Pra zo
de Entrega
C a d a s tra r custo pa ra
s lc u lo d o v a lo r d e v e n d a
M od ifica r Status
da Encomenda
Departamento
Administrativo
C ONSULTA R CLIENTE
Descrio:
A t o r :
Este ca so de uso tem por objetivo a pre se n ta r os clientes
habilitar a in cluso, a ltera o ou excluso de clientes.
ca d a stra d os e
Diretor da empresa
C e n r i o Prncj pj l:
1. O sistema prepa ra uma lista de todos os clientes cadastrados.
2. O sistema o fe r e c e ao usurio:
2.1 .selecionar um cliente, pa ra alterar seu cadastro;
2.2. localizar um c l i e n t e ou conjunto de clientes por meio de pesquisa;
2.3.selecionar a opo de "in serir cliente".
3. Pesquisa de Cliente
3.1. Para localizar um cliente, o usurio d ev e in serir um trecho de nome e /o u um trecho de te-
lefon e. O s is te m a fa r a busca parcial.
3.2.0 sistema exibe a lista de c lie n te s que s a t i s fa a o c ritrio , exibin do para cada um:
Exercitando a Id e n t i fi c a o de Casos de Uso 63
3.2.1. cdigo de identificao
3.2.2. nome do cliente
3.2.3. telefon e
4. Insero de Cliente
4.1 .[Include Caso de Uso Manter Cliente]
5. Seleo de Cliente
5.1 .Aps selecionar uni c lie n te , o sistema habilita as opes de "a ltera r cliente" e "excluir clien-
te*.
5.2.Se o usurio selecionar uma dessas opes, o s is te m a a c to n a o cadastro de cliente. [In-
clude Caso de Uso Manter Clien te]
MA NTER CLIENTE
Descrio:
A tor:
Este caso de uso tem por objetivo permitir a incluso
de dados ligados ao cadastro de clientes.
alterao ou excluso
Dire to r da e m pre s a
Pr-con d ico;
Re c e be r a identificao do tipo de opera o e os dados cadastrais do cliente, no caso de a ltera o
ou excluso.
C e n r i o Prin cipa l:
1. Manuteno do C a d a stro
1.1 .Em caso de Incluso", o sistema habilita a edio dos dados.
1 2 Em caso d e "A lterao", o sistema exibe os dados cadastrados e os habilita para edio.
1.3. Em caso de "Consulta" ou "Excluso", o sistema exibe os dados ca d a stra d os desabilitados
para edio.
1.3.1. No ca so de excluso, o sistema solicita a con firm a o.
2. O usurio informa, no caso de "Alterao" ou "Incluso":
2.1. n ome do cliente
2.2. te le fo n e de c o n ta to
3. O usurio confirma a operao realizada.
4. O sistema atualiza os dados cadastrais do cliente.
4.1. No caso de incluso, o sistema gera automaticamente um cdigo de identificao.
C e n r io A lte rn a tiv o :
- Excluso no permitida
No po s s v e l e xclu ir um cliente que estej a associado a uma encomenda.
64 Ex e r c i t a n d o M o d e l a ge m e m UM L
CADASTRAR CUSTO PARA CALCULO DO VALOR DE VENDA
Descrio:
A t o r :
Este caso de uso tem por o bj e tiv o ca da stra r os valores fix o s de custo,
za d os no clculo do valor de venda das placas.
utili-
Diretor da empresa
C e n r i o Principal:
1. O sistema busca os valores c a d a s tra d o s para:
1.1. valor fi x o do m a te ria l
1.2. valor fi x o da letra
2. O usurio altera:
2.1. valor fi x o do m a teria l
2.2. valor fix o da te tr a
3. O usurio c o n t ir m a o cadastramento.
4. O sistema atualiza os valores no cadastro.
Cen rio A l t e r n a t i v o :
-Valores Inexistentes no cadastro
Se no existir v a lor cadastrado para "valor fixo do material" e/ou "valor fi x o da letra", o
sistema apresenta os c a m po s em branco.
-Valores inconsistentes
No pode ser cadastrado v a lor negativo para "valor fixo do material" e "valor fi x o da leira".
C A DA STRA R ENCOMENDA
Descrio:
Ator:
Este caso de uso tem por ofa j etiv o ca da stra r encomendas de placas.
Diretor da empresa
C e n r j o Pr i n c i p a l :
1. O sistema busca e exibe a lista dos clientes cadastrados, em ordem alfabtica de nome.
2. O usurio s e le c io n a um nome de clien te da lista preexistente.
3. O sistema exibe o telefone do cliente.
4. O usurio in form a os dados da encomenda:
4.1. altura da placa
4.2. la rgu ra da placa
4.3. fr a s e para impresso
4.4. cor da placa, selecionada dentre as opes: cin za ou branca.
4.5. cor da fra s e , selecionada dentre as opes: azul, v erm elho, amarelo, preto ou verde.
4.6. o siste m a associa a d a ta da encomenda como sendo a data atua!.
5. O sistema calcula e exibe a d a ta pr e v i s t a de entrega do pedido.
5.1. [Extends Caso de Uso Calcular Prazo de Entrega]
6. O sistema calcula e exibe o valor a pagar peia encomenda.
Ex e r c i t a n d o a Id e n tifica o d e Casos de Uso 65
6.1. [Ex te n d s Caso de Uso Calcular Pr e o de Venda da Encomenda]
7. O usurio informa o valor do sinal.
8. O usurio confirma a encomenda.
9. O sistema gera automaticamente um n m e r o de encomenda.
10. O sistema emite um recibo, em d u a s v ia s , com os seguin tes dados:
10.1. nome do cliente, telefon e de conlato. d a ta da e n c o m e n d a , fr a s e a ser im pressa na placa,
tamanho da placa {altura e l a r gu r a ), cor da pla ca , cor da fr a s e , v a lor da encomenda, data
prev ista de entrega e v a lor do sinal.
11. O sistema atualiza os v a lo re s n o ca d a stro, lanando o s t a t u s d a en com en d a co m o "aberto".
C e n r i o s A ltern a tiv os:
- Cliente no cadastrado
Se (or urn c l i e n t e novo, o usurio seleciona a opo de "ca da stra r n o v o cliente". [Include
Manter Cliente].
- Valor do sinal insuficiente
O siste m a no d e v e aceitar um v a lor de sin a l in fe r io r a 50% do valor de v en d a da pea. No
ca so d o sinal ser in ferior, o sistema d ev e exibir um a m e n s a ge m d e erro, incluindo n a m e n s a ge m o
valor m n im o permitido.
CA LCULA R PREO DE VENDA DA ENCOMENDA
Descrio:
Ator:
Este ca so de uso tem por obj etivo c a lc u la r
ba sea d o n a s i n fo r m a e s r e c e bid a s p a r a o
o pr e o d e v e n d a
clculo.
de uma placa,
Diretor da empresa
Pr-condico:
Re c e be r a s seguintes in form a es: a ltu r a d a placa, largura d a placa, fr a s e p a r a impresso.
C en rio Principal:
1, O sistema busca os valores cadastrados para "valor fixo do material" e "Valor fixo da letra".
2. O s is te m a ca lcula o pr e o de v en d a da en com en d a , considerando a s seguintes fr m u l a s :
rea = "altura da placa" x "la rgura da placa"
c u s to _ m a te r ia l - rea x 'Valor fi x o d o material"
nrneroj etras = quantidade d e letra s d a "fra se pa ra impresso".
c u s t o _ d e s e n ho = n m eroj etra s x "v a lor fix o d a letra".
valor_ placa = custo_ material + custo_ d esen ho
3- O s is te m a retorn a o 'Valor_ placa".
Cenrio A lte rn a tiv o :
-Va l o r e s nulos
Se qualquer um d os v a lo re s d e pr-con dio e s tiv e r nulo, o s i s t e m a n o e fe t u a r o clculo.
Ser exibida um a m e n sa ge m d e e r r o e o valor d e r e to m o ser ze r o .
66 Exercitando M o d e l a ge m e m UM L
- Valores fixos inexistentes
Se no houv er v a lor vlido para "valor fix o do materiaP e/ou para 'Va lor fi x o da letra", o sis-
tema deve exibir uma mensagem de erro, informando que faliam da dos de refern cia para clculo da
en com en d a .
CALCULAR PRA ZO DE ENTREGA
Descrio:
Este caso de uso tem por obj etivo calcular o prazo de en trega de uma determi-
nada pla c a , de a cord o com as encomendas que esto com o slatus = "aberto".
A t o r :
Diretor da empresa
C e n r i o Pr i n c i pa l :
1. O sistema busca o tota l de encomendas com status = "aberto", agrupados por d a ta , excluindo-
se o dia atual.
2. O sistema v e rific a a primeira data disponvel da lista, on d e o nmero de encomendas sej a
inferior a seis.
3. O sistema retorn a a d a ta disponvel no item 2, como a data prevista de entrega.
C en rio A l t e r n a t i v o :
- Nenhuma da ta dispon vel
Se no houver nenhuma data disponvel dentro da lista recebida, o sistema d ev e calcular a
data prev ista de entrega co m o sendo a maior d a ta da lista a crescida de um dia. Se a data prevista
cair num sbado ou domingo, d ev e ser incrementada at a segun da -feira .
- Nenhuma encomenda ca d a stra d a
Se no houver nenhuma encomenda cadastrada, o sistema d ev e ca lcula r a data prevista
de en trega como s e n d o a data da encomenda a c r e s c id a de um dia. Se a d a ta pr e v is ta cair num
sbado ou domingo, d ev e ser incrementada at a segunda-feira.
MODIFICA R STATUS DA ENCOMENDA
Descrio:
A tor:
Este caso de uso tem por objetivo modificar o status de
durante a sua execuo.
uma encomenda
Diretor da empresa
C e n r i o Prin cipa l:
1. O usurio informa o nmero da encomenda.
2. O sistema busca a encomenda e exibe:
2.1. o n o m e do clien te;
2.2. o telefon e;
2.3. a data da encomenda;
2.4. a data de entrega;
Exercitando a Identificao de Casos de Uso 67
2.5. o valor do pedido:
2.6. o valor do sinal;
27. o s t a i u s atual da encomenda.
3. O usurio modifica o sta tus da encomenda para um dos seguintes valores: "Pronto", "Cancela-
do" ou "Fechado".
4. O usurio confirma a alterao do status.
5. O sistema atualiza o ca d a stro com o novo status.
Cenrios Alternativos:
- Encomenda Inexistente
Se o n m ero da encomenda no existir, exibir ao usurio uma mensagem de erro, e abrir
uma lista de encomendas com slatus diferente de "Fechado" e "Cancelado" para seleo,
- A ltera o no permitida
No possvel alterar o s t a t u s de encomendas que estej a m com o status "Cancelado" ou
"Fechado'.
-Validao do Status
O sta tus = "Aberto" s pode ser alterado para "Pronto" ou "Cancelado".
O sta tu s = "Pronto" s pode ser alterado para "Cancelado" ou "Fechado".
35. CENRIO: RDIO TXI M A R & SOL
A empresa de Rdio Txi Mar & Sol precisa de uma aplicao que controle:
- o cadastro de seus clientes
- o cadastro d o s coopera d os
- o cadastro d a s corridas programadas
Para cada cliente so c a d a s tra d o s os seguin tes da dos: cdigo (que d e v e
ser gerado pelo s is te m a ), nome, en dereo com pleto (logradouro, nmero,
complemento, bairro, municpio, esta d o) e dois te le fo n e s de contato.
O cliente pode se cadastrar apenas com o nome para agilizar o processo.
Quando fizer sua primeira chamada por telefon e, seus dados sero atuali-
zados.
Para o cooperado (ta x is ta ) cadastram-se: nome, CPF, nmero da ca rteira
de m otorista , categoria, d a ta de va lida de da ca rteira , nmero do t x i n a
c o o pe r a t iv a (conhecido como nmero de VR), nmero da placa, modelo do
veiculo, fabricante, cor d o v eculo, en dereo residencial c o m ple to , telefon e
residencial e celular e d a ta d e en tra d a n a C o o pe ra tiv a . Qua n d o o coopera -
do se desliga, d e v e ser cadastrada a d a ta de desligamento.
68 Exercitando M o d e l a ge m em UM L
Quando o cliente solicitar uma corrida programada (pedidos com antece-
dncia maior do que meia hora), c a d a s tra -s e no controle de c o r r id a s : o
endereo de sada do carro, o bairro de destino, a data e hora de sada,
telefone de contato (se local de sa id a d iferen te do cadastro). Se o cliente
no for ca da stra do, seu cadastro deve ser feito no momento da solicitao
do carro. O sta tus dessa corrida d ev e ser definido como: "a gua rd a n d o VR".
Uma hora antes da corrida programada, a operadora question a , pelo rd io,
aos cooperados que e s te j a m em trn s ito , qual d e s e j a pegar a corrida pro-
gramada. Deve ser ca d a stra d o na aplicao o nmero da VR do t a x i s t a
que se candidatou corrida . Meia hora antes do horrio, o cliente d ev e ser
avisado a respeito do nmero da VR. Antes de avisar ao cliente, o status
deve ser a ssin a la d o como: "aguardando a v i s o ". A p s o a viso, o sta tus m u-
da para "aviso efetuado". Aps ser atendido, o status deve ser alterado
para: "tripulado". Em qualquer momento a corrid a pode ser cancelada pelo
passageiro.
Se for uma solicitao de carro imediato, a operadora deve retomar tela,
informando o sta tus den tre a s opes: "a gua rd a n d o aviso", "a v is o efetua -
do", "cancelado pelo passageiro" ou "cancelado pela coopera tiva por fa lta
de carro". Se um logradouro no estiver na lista, a solicitao no ser
a ten dida .
Quando o cliente for atendido, o s ta tu s deve ser alterado para: "tripulado".
EXERCCIO:
A partir d o cenrio descrito, desenhe o d ia gra m a d e c a s o s d e uso e e s c r e v a os
seus cen rios. Considere que: o cadastramenlo das corridas e dos clientes
feito pela Operadora da Central; o ca d a stra men to dos cooperados fe i t o por
qualquer funcionrio da rea Administrativa; e o controle mensal de pagamen-
tos_ de diriaA fej to peia rea Financeira.
...
Exercitando a Identificao de Casos de Uso 69
RESOLUO (DIAGRAMA DE C A SOS DE Uso E DESCRIO DOS CENRIOS):
CONSULTAR CLIENTE
Descrio:
A tor:
Esle caso de uso tem por o bj e tiv o apresentar os clien tes
habilitar a incluso, a ltera o ou e x c l u s o de clientes.
cadastrados e
Operadora
C e n r i o Pr i n c i pa l :
1. O s is te m a prepara uma lista de todos os clientes cadastrados.
2. O sistema oferece ao usurio:
2.1. selecion a r um cliente, para a lt e r a r seu cadastro;
2.2.!ocalizar um cliente ou conjunto de clien tes por meio de pesquisa;
2.3. selecion a r a opo de "inserir cliente".
3. Pesquisa de Cliente
3.1. Para localizar um cliente, o usurio d ev e inserir um trecho do n ome do clien te como crit-
rio d e pesquisa. O sistema fa r a busca pa rcia l.
3.2.0 sistema exibe a lista de clientes que s a tis fa a o critrio, exibindo para cada um:
3.2.1. cdigo de identificao
3.2.2. nome do cliente
3.2.3. telefone
4. Insero de Cliente
4.1.[lnclude Caso de Uso Manter Clien te]
5. Seleo de Cliente
5.1 .A ps selecionar um cliente, o sistema habilita as opes de "a ltera r cliente" e "excluir c fie n -
te".
5.2.Se o usurio selecion a r uma dessas opes, o sistema a cion a o cadastro d e cliente. [In-
clude Caso de Uso Manter Clienle]
Exercitando M o d e l a ge m em UML
MANTER CLIENTE
Descrio:
A t o r :
Este caso de uso tem por objeivo permitir a incluso, alterao ou excluso
d e dados ligados ao cadastro de clientes.
Diretor da empresa
Pr-condlo:
Receber a identificao do tipo de operao e os dados cadastrais do cliente, no caso de alterao
ou excluso.
C e n r io Prin cipa l:
1. Manuteno do Cadastro
1.1 .Em caso de "Incluso*, o sistema habilita a edio dos dados.
1.2. Em ca so de "Alterao", o sistema exibe os dados cadastrados e os habilita para edio.
1.3.Em caso de "Consulta" ou "Excluso", o sistema exibe os dados cadastrados desabilitados
para edio.
1.3.1. No caso de excluso, o sistema solicita a confirmao.
2. O sistema prepara uma lista de todos os logradouros atendidos pela Cooperativa.
3. O usurio informa, no caso de "A ltera o" ou "Incluso":
3.1.nome do cliente
3.2. logradouro, selecionado de uma lista preexistente. O sistema exibe o bairro, a cidade e o
estado.
3.3.nmero e complemento do endereo.
3.4.dois telefon es de contalo, Informando para cada um:
3.4.1. pr e fi x o
3.4.2. nmero
3.4.3. tipo, selecionado entre as opes: residencial, comercial, celular ou recado.
4. O usurio confirma a operao realizada.
5. O sistema atualiza os d a d o s cadastrais do cliente.
5.1.No caso de incluso, o sistema gera automaticamente um cdigo de identificao.
C e n r io A ltern a tiv o:
- Excluso n o permitida
No possvel excluir um cliente que estej a associado a uma corrida cadastrada.
CONSULTAR COOPERADO
Descrio:
A tor:
Este ca so de uso tem por objetivo apresentar os cooperados (taxistas)
ca d a stra d os e habilitar a incluso, a ltera o ou excluso d e coopera d os.
rea Administrativa
C e n r io Principal:
1. O sistema prepara uma lista de todos os cooperados cadastrados.
2. O sistema oferece 30 usurio:
Exercitando a Identificao de Casos de Uso 71
2.1 .selecionar um cooperado, para a l t e r a r seu c a d a s t r o ;
2.2.localizar um coopera d o ou con j un to de coopera d os por m eio de pesquisa;
2.3. selecionar a opo de "inserir cooperado".
3. Pesquisa de Cooperado
3.1. Para localizar um co o pe ra d o , o usurio deve inserir um t r e c ho do nome do cooperado co-
m o c r i t r i o d e pe sq u isa , O sistema fa r a busca parcial.
3.2.0 s is te m a exibe a lista de cooperados que s a tis fa a o c r i t r i o , exibindo para cada um:
3.2.1. nmero da VR do cooperado
3.2.2. nome do coopera d o
4. Insero de Coopera d o
4.1 .[Include Caso de Uso Ma n ter Coopera do]
5. Seleo de Cooperado
5.1 .A ps selecion a r um coopera d o, o s is te m a habilita a s opes d e "alterar coopera d o" e "ex-
cluir cooperado".
5.2.Se o usurio selecionar uma dessas opes, o sistem a habilita o cadastrarnento d e coope-
ra do. [Include Caso de Uso Manter Coopera do]
MANTER COOPERA DO
Descrio:
A tor:
Este caso de uso tem por objetivo permitir a
liga d os a o c a d a s tro d e c o o pe r a d o s .
re a A d min istra tiva
incluso ou a lte ra o de da dos
Pr -c o n d i o :
Receber a identificao do tipo de operao e os d a d os cadastrais do cooperado, no ca so de altera-
o ou excluso.
Cen rio Principal:
1. Manuteno do Ca da stro
1.1 .Em caso de "Incluso", o sistema habilita a edio dos dados.
1 .z Em ca so de "A ltera o", o sistema exibe os d a d os cadastrados e os habilita para edio.
1.3.Em caso de "Con sulta " ou "Ex c lu s o ", o s i s t e m a exibe os dados ca d a stra d os desabilitados
pa ra edio.
1.3.1. No caso de excluso, o s is te m a solicita a confirmao.
2. O sistema prepara uma lista de logradouros ca d a stra d os.
3. O usurio informa, no caso de "Alterao" ou "Incluso":
3.1.CPF
3.2.nome do cooperado
3.3.dados da ca rteira de m otorista : nmero, categoria e d a t a de validade
3.4.dados do veculo: n m e r o da VR {id en tifica o do veiculo na coopera tiva ), nmero da pla-
ca, modelo, fabricante
3.5.en d ereo completo, considerando que o logradouro selecion a d o de uma lista preexisten -
te. A o selecion a r o logradouro, o s is te m a exibe o bairro, a cidade e o estado. O usurio
completa o cadastro d o e n d e re o com o nmero e c o m pl e m e n t o .
72 Exercitando Modelagem em UML
4.
5.
3.6.t e l e fo n e s residencial e celular
3.7.dala de entrada na Cooperativa
3.8.data de s a fd a da Cooperativa (somente para alterao)
O usurio confirma a operao realizada.
O sistema atualiza os dados cadastrais do cooperado.
MANTER LOGRADOURO
Descrio:
Ator:
Este caso de uso tem por objetivo apresentar os logradouros atendidos pela
cooperativa e habilitar a incluso, a ltera o ou excluso de logradouros.
re a Administrativa
C e n r io Principal:
1. O sistema prepara uma lista de todos os logradouros cadastrados.
2. O sistema oferece a o usurio:
2.1. selecionar um logradouro, para alterar seu cadastro;
2.2. l o c a l i za r um logradouro ou conjunto de logradouros por meio de pesquisa;
2.3.selecionar a opo de Inserir cilente".
3. Pesquisa de Logradouro
3.1.Para localizar um logradouro, o usurio teve inserir um trecho do nome e/ou do ba irro co-
mo critrio de pesquisa. O sistema fa r a busca pa rcia l.
3-2.0 sistema exibe a lista de logradouros que s a tis fa a o critrio, exibindo para cada um:
3.2.1. n ome do logradouro
3.2.2. bairro
4. Manuteno do Cadastro
4.1.Em caso de "Incluso", o sistema habilita a edio dos dados.
4.2. Em caso de "Alterao", o sistema exibe os dados cadastrados Q os habilita para edio.
4.3.Em caso de "Consulta" ou "Excluso", o sistema exibe os dados cadastrados desablilados
para edio.
4.3.1. No caso de excluso, o sistema solicita a confirmao.
5. O usurio informa, no caso de "Alterao" ou "Incluso":
5.1. nome do logradouro
5.2.balrro
5.3. cidade
5.4.UF
6. O usurio confirma a operao realizada.
7. O sistema a tu a liza os dados cadastrais do logradouro.
Cenrio A lte rn a tiv o :
- Excluso no permitida
No possvel excluir um logradouro que e s t e j a associado a uma corrida, cooperado ou
cliente.
Exercitando a Identificao de Casos de Uso 73
CA DA STRA R CORRIDA
Descrio:
A tor:
Este ca so de uso tem por objetivo ca d a stra r
corrida s programadas (que so pedidas com
meia hora) ou imediatas.
a solicita o dos clien tes de
a n te c e d n c ia maior do que
Ope ra d o ra da cen tra l
C e n r i o Prin c ipa l:
1. O usurio in form a o cdigo de identificao do cliente.
1.1.0 sistema pesquisa o cdigo e exibe: o nome do cliente, seu endereo e te le fo n e s .
1.2.0 sistema exibe a lista de corridas programadas.
1.3.0 sistema o fe r e c e ao usurio:
1.3.1. selecionar uma co rrid a , para a l t e r a r seu cadastro;
1.3.2. alterar o c a d a s tro do cliente;
1.3.3. selecionar a opo de Inserir corrid a ".
2. Manuteno do Cadastro
2.1 .Em ca so de "Incluso", o s i s t e m a habilita a edio dos dados.
2,2.Em caso de "Alterao", o sistema exibe os dados cadastrados e os habilita para edio.
2.3.Em caso de "Consulta", o sistema exibe os dados ca d a stra d os desabililados para edio.
3. A ltera o do Cadastro de Cliente:
3.1 .[Include Caso de Uso Manter Ciiente]
4. O usurio informa, no caso de "Alterao" ou Incluso":
4.1 .Se o endereo de origem da corrida o mesmo endereo do cliente.
4.2.Se no for o mesmo e n d e r e o :
4.2.1. o sistema prepara uma lista dos logradouros atendidos pela Cooperativa.
4.2.2. o usurio informa o logradouro de origem, selecionando de uma lista preexisten te.
4.2.3. o usurio informa o nmero e o com plem en to do logradouro, alm de um telefon e
de contato.
4.3.0 usurio informa o bairro de destino da corrida .
4.4.0 usurb informa a d a ta e a hora para a qual a corrida d e v e ser programada; ou se uma
corrida imediata.
5. Somente pa ra "A ltera o" de corrid a :
5.1. o sistema prepa ra uma l i s t a de veculos cadastrados.
5.2. o usurio in form a o nmero da VR escolhida para a corrid a .
5.3. se a VR tiver sido informada, o usurio poder a ltera r o sta tus da corrida para uma das
seguintes opes:
5.3.1. "aguardando aviso';
5.3.2. "aviso efetuado";
5.3.3. "tripulado".
5.4.Em qualquer situao, o usurio poder a l t e r a r o status da corrida para:
5.4.1. "cancelado pelo passageiro";
5.5.No caso de corrida imediata e no t e n d o sido informada a VR, o usurio poder alterar o
status da corrida para:
5.5.1. "cancelado pela coopera tiv a por fa l t a de carro".
74 Exercitando Modelagem em UML
6. O usurio confirma a operao realizada.
7. O sistema atualza os dados cadastrais da corrid a .
7.1 .Se for incluso, o sistema atualza o slatus automaticamente com o valor "aguardando VR".
C e n r io A ltern a tiv o:
- Cdigo desconhecido
Se o usurio no possuir o cdigo do cliente, ele poder pesquis-lo a partir do nome do
cliente [Include Caso de Uso Consultar Cliente}.
- Cliente no cadastrado
Se o cliente no for cadastrado, o usurio poder efetuar o cadastramento a partir d este
caso de uso. [Include Caso de Uso Ma n ter Cliente]
-Validao do Status
O status "aguardando VR" s pode ser alterado para "aguardando aviso", "cancelado peto
passageiro" ou "cancelado pela cooperativa por falta de carro" (este ltimo, no caso especfico de
corrida imediata).
O stalus "aguardando aviso" s pode ser alterado para "aviso efetuado" ou "cancelado peio
passageiro'.
O status "aviso efetuado" s pode ser a ltera do para "tripulado" ou "cancelado pelo passa-
geiro".
Os status "tripulado" e "cancelado" no podem ser alterados.
36. CENRIO: TREINADOR DE V LEI
Marco um treinador de vlei e deseja levar um Notebook para os jogos,
a fim de obter
- controle do placar
- controle dos pontos de cada partida, identificando-os como: ponto de
ssque, ponto de ataque (quando a vantagem estiver com o time advers-
rio), ponto de contra-ataque (quando a vantagem estiver com o prprio
time), ponto de bloqueio, erro do adversrio. No caso de bloqueio neces-
srio cadastrar se foi individual, duplo ou triplo.
So requisitos para a implantao dessa aplicao:
- cadastrar o nome de todos os jogadores do time e o nmero de suas
camisas;
- para cada jogo agendado, cadastrar: a data e hora do jogo, o local, o
nome do time adversrio, os nomes do juiz e do juiz auxiliar.
- a aplicao deve exibir para controle em cada set o placar que pode ser
alterado pelo auxiliar tcnico, informando quem fez o ltimo ponto e o tipo
Exercitando a Identificao de Casos de Uso - 75
d o po n to . No c a s o d o pon to ser d o time a d v ersrio, ba s t a iden tifica r o tipo
do ponto.
- a o fin a l d e um j o go , o sistema deve exibir a lista d os maiores pon tua do-
res e o somatrio d e pontos, por tipo, d o j o go .
EXERCCIO:
A pa rtir d o cen rio descrito, d e s e n he o diagrama d e casos d e uso e escrev a os
cen rios. C o n sid e re que: o ca da stra men to d os j oga d ores e d a s pa rtid a s feito
pelo A po io . O ca d a stra m en to d a s informaes d e um j o go fe ito pelo A uxilia r
Tcnico. O resumo d e fin a l d e pa rtida a c e s s a d o t a n t o pelo A uxiliar Tcn ico
q u a n t o pelo Tcnico.
RESOLUO (DIAGRAMA DE C A SOS DE Uso E DESCRIO DOS CENRIOS):
Tcr,
MANTER JOGO
Descrio:
A t o r :
Este caso de uso tem por objetlvo permitir a
ligados ao ca d a stro de j o go s (competies).
incluso ou a ltera o de dados
A poio Tcnico
C en rio Principal:
1. O sistema prepa ra uma lista de todos os j ogos cadastrados.
2. O sistema oferece ao usurio:
2.1 .selecionar um j ogo, para alterar seu cadastro;
2.2. localizar um j ogo ou grupo de j o go s por meio de pesquisa;
76 Exercitando M o d e l a ge m em UML
2.3.selecionar a opo de 'inserir jogo".
3. Pesquisa de Jogo
3.1. Para localizar um jogo, o usurio deve inserir a data e/ou um trecho do nome do time ad-
versrio como critrio de pesquisa. O sislema fa r a busca parcial.
3.2. O sistema exibe a lista de jogos que sa tisfa a o critrio, exibindo para cada um:
3.2.1. data do j ogo
3.2.2. hora do jogo
3.2.3. nome do adversrio
4. Manuteno do Ca da stro
4.1.A ps selecionar um j o go , o sistema habilita as opes de "Alterao
11
, "Consulta" ou "Ex-
cluso" de um jogo.
4.2. Em caso de "Incluso", o sistema habilita a edio dos dados.
4.3. Em caso de "A ltera o", o sistema exibe os dados cadastrados e os habilita para edio.
4.4. Em ca so de "Consulta" ou "Excluso", o sistema exibe os dados cadastrados desabiitados
para edio.
4.4.1. No caso de excluso, o sistema solicita a con firm a o.
5. O usurio informa, no caso de "Alterao* ou Incluso":
5.1.data
5.2. hora
5.3.nome do lime adversrio
5.4.loca ld oj ogo
S.S.n ome do j u iz principal
5.6.nome do juiz auxiliar
6. O usurio confirma a operao realizada.
7. O sistema atualiza os dados cadastrais do jogo.
Cen rioj ltern a tivo;
-Excluso no permitida
No possvel excluir um jogo que esteja associado a um resultado.
MANTER JOGADOR
Descrio:
A t o r :
Este ca so de uso tem por objetivo permitir
referentes ao cadastro de j ogadores.
Apoio Tcnico
a incluso ou alterao de dados
C e n r i o Principal:
1. O s is te m a prepara uma lista de todos os j ogadores cadastrados.
2. O sistema oferece ao usurio:
2.1 .selecionar um j oga d or, para alterar seu cadastro;
2.2.localizar um jogador ou grupo de jogadores por meio de pesquisa;
2.3.selecionar a opo de "inserir jogador".
3. Pesquisa de Jogador
3.1. Para localizar um j ogador, o usurio deve inserir um trecho do nome como critrio de pes-
quisa. O sistema far a busca parcial.
Ex e r c i t a n d o a Identificao de Casos de Uso 77
3.2.0 sistema exibe a lista de j oga d ores que satisfaa o critrio, exibindo para cada um:
3.2.1. nome do j ogador
3.2.2. nmero da camisa
4. Manuteno do Cadastro
4.1 .Aps selecionar um j ogador, o sistema habilita as opes de "Alterao", "Consulta" ou
"Excluso" de um jogador.
4.2.Em caso de Incluso", o sistema habilita a edio dos dados.
4.3.Em ca so de "Alterao", o sistema exibe os dados cadastrados e os habilita para edio.
4.4.Em caso de "Consulta" ou "Excluso", o sistema exibe os dados cadastrados desabilitados
para edio.
4.4.1. No caso de excluso, o s i s t e m a solicita a confirmao.
5. O usurio informa, no caso de "A lterao" ou "Incluso":
5.1.nome do jogador
5.2. nmero da camisa
6. O usurio con firma a operao realizada.
7. O sisema a tu a lza os dados cadastrais do j ogador.
C e n r i o Alternativo;
- Excluso no permitida
No po s s v e l e xclu ir um j ogador que estej a associado a um resultado.
CONTROLAR PLACAR
Descrio:
A tor:
Este ca so de uso
nado j o go , desde
A uxilia r Tcn ico
tem por obj etiv o fa ze r o con trole do placar de um determi-
o primeiro set at o ltimo.
C e n r i o Prin cipa l:
1. O sistema prepa ra uma lista de tod os os j o go s ca d a stra d os que ainda no tiv era m seu placar
registrado.
2. O usurio informa o j ogo para o qual s e r con trola d o o placar, seiecion a n d o de uma lista pree-
xisten te.
2.1. O sistema exibe a d a ta e hora do j ogo, o nome do a d v ersrio, o nome do j uiz principal e o
n ome do j uiz auxiliar.
3. O sistema exibe o placar e habilita a opo de Iniciar Set".
3.1. [Extends Iniciar Set]
3.2. O s is te m a obtm o placar e o a ssocia a o sei j ogado.
3.3. O sistema v erifica quem foi o ganhador d o s e t , incrementando n o pla ca r o nmero d e s e t s
ganhos do time que venceu o set.
3.4. Se nenhum dos times t iv e r alcanado t r s vitrias, num limite de cinco sets, o sistema se
prepa ra para um n o v o s e t. (Passo 3).
4. O sistema atualiza os dados ca d a stra is do j o go , incluindo os re s u fta d o s dos s e ts .
78 Exercitando Modelagem em UM L
INICIAR SET
Descrio:
A t o r :
Este caso de uso tem por objetivo dar incio ao controle de u m s e t d e v le i.
Auxiliar Tcnico
Pr-condio;
Receber a id en tifica o se o set d e tie-break .
Cenrio Principal:
1. O s is te m a prepa ra uma lista de j oga d ores do time.
2. O usurio s e l e c i o n a os j ogadores que iniciaro a partida, cadastrando-os na seguinte ordem:
rede - ataque - esquerda, rede - ataque - meio, rede - ataque - direita, d e fe s a - e s q u e rd a ,
defesa - meio, d e fe s a - direita).
3. O usurio informa qual time in icia r o j ogo.
4. O s is te m a con trola cada ponto do sei.
4.1.[Extends Caso de Uso Registra r Ponto]
4.2.Se o set no for de tie-break, os pontos so controlados at que um dos times atinja 25
pon tos, tendo dois po n t o s do diferena para o time adversrio. Se no houv er essa dife-
rena, a pontuao prossegue at que essa diferena sej a atingida.
4.3. Se o set for de tie-break , os pontos so con trola dos at que um dos times a tin j a 15 pon-
tos, ten d o dois pontos de diferena para o tim e a d v ersrio. Se no houver e s s a diferen-
a, a pontuao prossegue at que e s s a d iferen a s e j a atingida.
5. O sistem a retom a o placar do set.
Ps-condig;
Retomar o placar do s e t.
REGISTRA R PONTO
Descrio:
A t o r :
Este caso de uso tem por obj etiv o identificar quem foi
ponto num determinado set, e reqistra r o tipo de ponto.
A uxilia r Tcnico
responsvel por um
Pr-con d io_ ;
Receber a informao de que time en con tra -se com a vantagem no j ogo.
Cenrio Principal:
1. O s i s t e m a prepara uma lista dos j o ga d o re s do time.
2. O usurio inlorrna quem fez o ponto, selecionando en tre as opes: nosso tim e e tim e a dver-
srio.
3. O usurio informa o tipo de ponto, s e le c io n a n d o dentre a s seguintes opes:
3.1. Se o time pontuador estava com a vantagem:
3.1.1. p o n t o d e s a q u e
3.1.2. ponto de a ta que
3.1.3. ponto de bloqueio
Exercitando a Identificao de Casos de Uso 79
3.1.4. erro do a d v ersrio
3.2. Se o time ponluador no estava com a vantagem:
3.2.1. ponto de contra-ataque
3.2.2. ponto de bloqueio
3.2.3. erro do adversrio
4. Se For escolhido ponto de bloqueio, o usurio deve informar o t i po do bloqueio, selecionando
entre as seguintes opes: individual, duplo ou triplo.
5. Se o time pontuador for o prprio time e o ponto no tiver sido de "erro de adversrio", o usu-
rio deve seiecion a r o(s) jogador(es) que loi(ram) responsveis] pelo ponto.
Ps-condio!
Retomar os dados relacionados ao ponto.
LISTA R MAIORES PONTUADORES
Descrio:
A t o r :
Este ca so de uso tem por o bj e th/o oferecer uma consulta dos maiores pon-
tuadores de um jogo e o somatrio de pontos, por tipo, do jogo.
A uxiliar Tcnico, Tcnico
Pr-condico:
Receber a identificao do jogo.
Cenrio Principal:
1. O sistema contabiliza e exibe o total de pontos, agrupados por set e por tipo de ponto (saque,
ataque, contra-ataque, bloqueio e erro do adversrio),
2. O sistema contabiliza e exibe, em ordem crescente, o total de pontos conseguido, agrupados
por jogador e depois por tipo de ponto (saque, ataque, contra-ataque, bloqueio e erro do ad-
versrio).
37. CENRIO: CONTROLE DE OBRA
lvaro est fazendo uma ampliao de sua residncia. Tod o dia existe de-
manda de compra de material. Sendo assim, ele desenvolveu uma pequena
aplicao que controla essa demanda de solicitaes e as compras efetua-
das, de forma a montar uma base de cotaes para as compras futuras.
A aplicao possui um ca d a stro de produtos, contendo: nome, d escrio,
medida de venda do produto (kg, ml ou m; indicando peso, volume ou
comprimento) e va lor da medida de venda (ex: 1,5).
A cada so licita o d e compra ca da stra m-se os iten s dessa solicitao. Ca -
da item possui: o produto e a q u a n t i d a d e . Quando cada item adquirido,
a tu a liza -se a solicitao com o preo unitrio de, compra, a form a de pa-
gamento (dinheiro, cheque, cheque pr ou carto), a d a t a de compra e o
local da compra.
80 Exercitando M o d e la ge m e m UML
So controles oferecidos pela aplicao:
Qua n d o h um a n ova s o lic it a o , po s s v e l obter d e ca d a item a l i s t a d os
t r s menores preos q u e j fo r a m pa go s pa r a o re fe rid o produto, in cluin d o
n a lista gem o lo c a l on de foi com pra d o.
A lis ta d e co m pra s im pressa a pa rtir d o s iten s q u e n o fo r a m fe c ha d o s ,
d e tod a s a s solicita es d e compra que e s t e j a m com s t a t u s em a be r t o .
Um a solicita o pode se r c a n c e l a d a {s t a t u s = "c a n c e la d o ").
Qu a n d o tod os os ite n s d e um a s o lic ita o t i v e r e m sido c o m p r a d o s , o sis-
t e m a a tu a liza a u t o m a t ic a m e n t e o s t a t u s d e s s a s o lic ita o para "fechado".
De v e s e r e m itid a u m a l i s t a ge m d e to d o s o s pr o d u t o s j c o m pr a d o s , c o m
s e u s o m a t r io d e q u a n tid a d e e d e v a l o r .
EXERC C IO:
A pa rtir d o c e n r i o d e s c r it o , d e s e n he o d i a gr a m a d e c a s o s d e u s o d esse s i s t e -
m a . Escrev a , t a m bm , o s c e n r i o s . C o n s i d e r e q u e t o d a s a s o pe r a e s s o fe i-
las pelo l v a r o , que po d e ser Id e n tific a d o c o m o Re s po n s v e l pela Obra .
RESOLUO (DIA GRA M A DE C A SOS DE Uso E DESCRIO DOS CENRIOS):
Emitir relatrio geral
B ; !'. co m pra d o
Exercitando a Identificao de Casos de Uso 81
C ONSULTA R PRODUTO
Descrio:
A tor:
Este ca so de uso tem por o bj e tiv o a pr e s e n ta r os produtos
habilitar a Incluso, alterao ou excluso de produtos.
c a d a s tra d o s e
Respon sv el pela o br a
Cenrio Principal:
1. O sistema pr e pa r a uma lista de tod os os produtos ca d a stra d os.
2. O s i s t e m a o fe r e c e a o usurio:
2.1 .selecion a r um prod uto, para a l t e r a r seu c a d a s tro ;
2.2 l o c a l i za r um prod uto ou c o n j u n to de prod utos por m eio de pesquisa;
2.3.se!ecionar a opo de "inserir produto".
3. Pesquisa de Produto
3.1. Para loca liza r um produto, o usurio deve inserir um t r e c ho do nome do pr o d u t o c o m o c r i -
trio de pesquisa. O sistema far a busca parcial.
3.2.0 s i s t e m a exibe a lista d e pro d u to s q u e s a t i s fa a o c r i t r i o , exibindo para c a d a u m :
3.2.1. nome do prod uto
3.2.2. descrio
4. In s9ro de Prod uto
4.1 .[In c lu d e Caso de Uso Manter Prod uto]
5. Seleo de Produto
5 .1 .A ps s e le c io n a r um produto, o sistema habilita a s o p e s d e "a ltera r produto" e "excluir
pro d u to ".
5.2.Se o usurio selecionar uma dessas opes, o sistema aciona o cadastro de produto. [In-
clude C a s o de Uso Manter Produto]
MA NTER PRODUTO
Descrio:
Ator:
Este caso de uso tern por objetivo permitir a manuteno dos dados cadas-
tra is d e prod uto (in c lu s o , alterao e e xclu so ).
Respon svel pela o b r a
Prgondig;
Receber a identificao do tipo de operao e os dados cadastrais do produto, no caso de alterao
o u e x c lu s o .
Cenrio Prin cipa l;
1. M a n uten o do Cadastro
1.1. Ern c a s o d e "Incluso", o s is te m a habilita a ed io d os d a d os.
1.2. Em ca so d e "A lte ra o ", o s i s t e m a exibe os d a d os c a d a s tra d o s e os Habilita para edio.
t .S.Em ca so d e "Consulta" ou "Excluso", o s is te m a exibe os dados ca d a stra d os d e s a tilita d o s
para edio.
1.3.1. No ca so de e x c l u s o , o s is te m a solicita a con firm a o.
2. O usurio informa, n o ca so de "A lte ra o " ou Incluso":
82 Exercitando M o d e l a ge m e m UML
2.1.n om e d o produto
2.2.d escrio do produto
2.3.medida d e venda d o prod uto, e sco lhid o e n t r e a s o p e s : peso (kg), volume (ml) ou c o m -
primento (m )
2.4. v a lor da medida de v e n d a , c o m o por e x e m pl o 1,5
3. O usurio c o n firm a a o pe ra o realizada.
4. O s i s t e m a atualiza o s d a d o s c a d a s t r a i s d o prod uto.
4.1. No ca so d e in cluso, o s i s t e m a ge r a a utom a tica m en te um c d i go d e id en tifica o.
Cenrio Alternativo:
- Excluso no permitida
No possvel e x c l u i r um prod uto que e s t e j a a ssocia d o a um a s o l i c i t a o d e com pra .
M A NTER SOLIC ITA O DE COMPRA
De s c r i o :
A tor:
Este ca so d e uso tem por o bj e tiv o perm itir
d e c o m pr a s (in cluso, a ltera o e e x c l u s o )
a m a n uten o d a s s o l i c i t a e s
Re s po n s v e l pela obra
Cenrio Pr i n c i pa l :
1. O s is te m a prepa ra uma lista de todas as s o lic ita e s c a d a s t r a d a s , que ainda no te n ha m sid o
fe c ha d a s (sta tus = "a be rto ").
2. O s is te m a o fe r e c e a o usurio:
2.1.selecion a r um a solicitao, pa ra a ltera r seu c a d a s t r o ;
2.2. localizar uma solicita o ou gr u po de solicitaes por meio de pe sq u isa ;
2.3.selecionar a o po d e Inserir s o lic ita o d e compra".
3. Pesquisa de Solicitao de C o m p r a
3.1. Para localizar um prod uto, o usurio d ev e in serir a d a t a da solicita o e/ou um tre cho do
n o m e d e a lgum prod uto que c o n s t e d a solicita o co m o c ritrio d e pesquisa . O sistema
fa r a busca pa rcia l.
3.2.0 siste m a exibe a lista d e s o lic ita e s d e c o m pr a que satisfaam o c r i t r i o , e xibin d o pa ra
cada um:
3.2.1. d a ta d a s o lic ita o
3.2.2. lista d e prod utos que fa ze m pa rte d a s o l i c i t a o
4. Ma n uten o do C a d a stro
4.1.A ps selecion a r uma solicitao de compra, o sistema habilita as o p e s de "A lterao",
"Consulta" ou "Cancelamento".
4.2. Em ca so de "Incluso", o sistema habilita a edio dos dados.
4.3. Em ca so de "A lte ra o ", o s i s t e m a exibe os d a d os ca d a stra d os e os habilita para edio.
4.4. Em c a s o de "Consulta" ou "Cancelamento", o sistema exibe os dados c a d a s tra d o s desabili-
ta d os para ed io.
4.4.1. No caso de cancelamento, o sistema solicita a con firm a o.
5. O usurio i n fo r m a , no ca so de "A ltera o" ou Incluso":
5.1.d a ta da solicitao
5.2. iten s da solicita o
Exercitando a Id e n t i fi c a o de Casos de Uso 83
5.2.1. Extends [Caso de Uso M a n te r Item de Solicitao de Compra]
6. O usurio pode solicita r o ca n cela m en to d a solicitao d e compra.
6.1. O sistema a ltera o s t a t u s d a s o lic ita o d e compra para "cancelada".
7. O usurio c o n fi r m a a opera o rea liza d a .
8. O sistema a l u a l i za os d a d os cadastrais d a s o lic ita o d e c o m pra .
8.1. No caso de incluso, o sistema atualiza o status com o valor "aberto".
Cen rio A ltern a tiv o:
- Cancelamento n o permitido
No possvel cancelar urna solicitao de compra que j t e n ha tido a lgu m item com pra -
d o. Nesse c a s o , s po s s v e l c a n c e l a r os ite n s d a solicita o,
M A NTER ITEM DE SOLIC ITA O DE C OM PRA
Descrio:
A tor:
Este caso de uso tem por objetivo permitir a manuteno dos itens c
solicita o de c o m pr a s (incluso, a ltera o e excluso).
e uma
Re s po n s v e l pela o br a
Cenrio Principal:
1. O s is te m a prepa ra uma lista de todos os iten s ca d a stra d os.
2. O sistema o fe r e c e a o u s u rio :
2.1 .s e l e c o n a r um item, pa ra alterar seu ca d a stro;
2.2.localizar urn item ou grupo de itens por meio de pesquisa;
2.3.selecionar a o po d e "inserir item".
3. Pe sq u isa de Item
3.1. Para loca liza r um i t e r n ,o u s u r i o d ev e in serir trecho do n ome de algum produto como cri-
t r i o d e pesquisa. O s is te m a fa r a busca parcial.
3.2. O sistema e x i be z lista d e iten s que s a t i s fa a o c r i t r i o , exibindo para cada um:
3.2.1. prod uto
3.2.2. qua n tid a d e solicitada
4. M a n u te n o d o C a d a stro
4.1.Aps seleconar um item. o sistema habilita as opes de "Alterao", "Consulta" ou "Ex-
cluso" de um ite m .
4.2.Em c a s o d e "In cluso", o sistema ha bilita a edio d os d a d os.
4.3. Em ca so d e "A lterao", o sistema e x i be os dados c a d a s tra d o s e os habilita pa ra edio.
4.4. Em caso de "Consulta" ou "Excluso", o sistema exibe os dados cadastrados desabillados
para edio.
4.4,1. No ca so d e excluso, o s i s t e m a solicita a con firm a o.
5. O s is te m a pr e pa r a um a lista d e to d o s os produtos c a d a s tra d o s .
6. O usurio i n fo r m a , n o ca so d e "A l t e r a o " ou "In cluso":
6.1 .prod uto, selecion a d o d e um a lis t a preexisten te;
6.2. qua n tid a d e solicitada.
7. O u s u r io c o n fir m a a o pe r a o re a liza d a .
B, O sistema a t u a l i za os dados c a d a s t r a i s d o i t e m .
84 Ex e r c i t a n d o M o d e l a ge m e m UMl.
Cenrio Aj_ ternal| vo:
- Excluso no permitida
No po s s v e l e xclu ir um item que e s t e j a a ssocia d o a um a com pra efetua d a .
REGISTRA R COMPRA EFETUA DA
Descrio:
A t o r :
Este ca so de uso tem por obj etiv o registra r as c o m pr a s que
pa ra a t e n d e r a um a determinada solicita o d e c o m pra .
fo r a m efetua d a s
Respon svel pela o br a
Cenrio Principal:
1. O s i s t e m a a pre s e n ta tod os os iten s d e c o m pr a que ainda n o fo r a m a ten d id os, a grupa n d o-os e
tota liza n d o a quantidade daqueles que sej a m d o m e s m o prod uto,
2. O sistema deve preparar urna lista dos locais cadastrados.
3. Pa ra cada item de compra do q u a l o usurio queira registra r a a quisio:
3.1 .0 u s u r i o seleciona um dos itens de compra para r e gi s t r a r sua a quisio.
3.2. O usurio in fo rm a :
3.2.1. a quantidade adquirida.
3.2.2. s fo r m a d e pa ga m en to, s e le c io n a d a e n t r e a s o p e s : dinheiro, c he q u e , c he q u e pr
o u c a r t o .
3.2.3. a data da com pra .
3.2.4. local da compra, seleconado de uma lista preexistente.
4. O usurio con firm a a opera o realizada.
5. O sistema a tua liza os da dos cadastrais do item de compra.
Cenrio Alternativo:
- Local Inexistente
Se n o e x is tir um lo c a l cadastrado, permitir a in c lu s o d e um loca l. Include [C a s o d e Uso
M a n te r Local d e C o m pr a ]
- Quantidade adquirida diferente da quantidade solicitada
Se a quantidade adquirida for in fe r io r qua n tid a d e solicita d a , o s is te m a deve a ceita r e n o
fe c ha r o item d e c o m pr a como atendido. No pr x i m o Re gis t r o d e C o m pr a , este item d ev e a p a r e c e r
s o m e n t e com a quantidade faltante.
M A NTER LOCA L DE C OM PRA
Descrio:
A t o r :
Este ca so de uso tem por obj etivo permitir a
compra on d e so adquiridos os itens da o b r a .
manuteno dos locais de
Re s po n s v e l pela obra
Cenrio Principal:
1. O s i s t e m a prepa ra uma lista d e locais d e c o m p r a c a d a s tra d o s .
Z. O s i s t e m a o fe r e c e a o usurio:
Exercitando a Identificao de Casos de Uso 85
2.1.selecionar um local, para a lt e r a r seu c a d a s tro ;
2.2.lo ca liza r um local por m e io de pesquisa;
2.3.s e le c io n a r a o po d e "in s e r ir local".
3. Manuteno do Cadastro
3.1 ,Em ca so de "Incluso", o sistema ha bilita a edio dos d a d o s .
3.2. Em ca so de "A lte ra o ", o s is te m a e x i be os d a d o s ca d a stra d os e os habilita para edio.
3.3. Em ca so d e "Consulta" ou "Ex c l u s o ", o s i s t e m a exiba os dados c a d a s tra d o s desabilitados
pa ra edio.
3.3.1. No ca so de excluso, o s i s t e m a solicita a c o n firm a o .
4. O u s u r io informa, n o ca so de "Alterao" ou "Incluso":
4.1. nome do esta belecim en to.
4.2. e n d e r e o c o m ple t o , contendo: nome d o logradouro, nmero, complemento e bairro.
4.3. te le fo n e s de contato.
5. O u s u r io c o n fi r m a a o pe ra o realizada.
6. O s is te m a atualiza os da dos c a d a s t r a i s d os locais d e compra.
6,1, No ca so de incluso, o sistema ge r a a utom a tica m en te um cdigo de id en tifica o.
C e n r io A l t e r n a t i v o :
- Excluso n o permitida
No po s s v e l e xclu ir um loca l d e c o m pr a que e s t e j a a sso cia d o a um item d e com pra .
IMPRIMIR LISTA DE COMPRA
Descrio:
A t o r :
Este ca so de uso tem por o bj e tiv o ge r a r uma lista de compra, contendo
t o d o s os ite n s ainda n o a d q u irid o s d e tod a s a s s o l i c i t a e s d e c o m pr a que
ainda e n c o n t r a m -s e a be r t a s , a grupa n do por pro d u to , a fim d e fa cilita r e
agilizar a c o m pr a .
Responsvel pela obra
C e n r io Principal:
1. O sistema o bt m a lista d e tod os os ite n s d e c o m p r a que ainda n o fo r a m a ten d id os, a grupa n -
do e totalizando a qua n tid a d e daqueles que sej a m do mesmo produto,
2. Pa r a cada item de c o m pr a obtido:
2.1. O sistema busca todas as compras j realizadas para o referido item.
2.2. Desse c o n j u n to , o s i s t e m a o btm os t r s menores v a l o r e s j pa gos para a quele item, tra -
zen do pa ra cada valor, a d a ta d e a quisio e o local d e c o m pra .
3. O s i s t e m a e x i be um re la trio con ten d o:
3.1. item de compra
3.2. quantidade to ta l s o l i c i t a d a
3.3. valor, data e local dos trs menores preos'
86 Exercitando M o d c l a ge m e m UML
EMITIR RELA T RIO GERA L DE PRODUTOS COMPRADOS
Descrio:
A tor:
Este caso de uso tem por obj etivo emitir um rela trio gera l
o s pro d u to s c o m pr a d o s n u m d e te r m in a d o pe r o d o ,
contendo todos
Respon sv el pela obra
Cenrio Principal:
1. O usurio informa o perodo desejado para o relatrio (data de incio e data de trmino).
2. O sistema busca todos os ite n s d e com pra que j fo r a m adquiridos, que e s te j a m d e n t r o d o
pe ro d o informado pelo usurio.
2.1.0 s i s t e m a a gr u pa t o d o s o s pr o d u t o s co m pra d o s, ca lcu la n d o o q u e fo i ga s t o para cada pro-
duto.
3. O sistema e m ite um rela trio c o n te n d o os seguintes d a d os:
3.1. n ome do produto;
3.2. tota l adquirido do produto;
3.3. t o t a l gasto na aquisio;
3.4. som a trio gera l do tota l ga sto com os produtos.
38. C ENRIO: CONTROLE DE OBRA (VA RIA O A )
l v a r o s e n t i u a n e c e s s id a d e d e s a be r qua n to e s t a v a ga s ta n d o c o m a ca -
ba m e n to , a lv e n a r ia etc. Sen d o a ssim , pr e pa r o u um a n o v a v e r s o d e sua
aplicao que controlasse o tipo do produto.
EXERC C IO:
Que n ov o c a s o d e uso precisa ria ser includo n e s s e modelo?
RESOLUO:
O CA SO DE Uso MA NTER TIPO DE PRODUTO.
39. CENRIO: SENHA DE ATENDIMENTO
A empresa C o m pr e Bem im pla n tou um a s e n ha d e a te n d im e n to para o SA C
d e sua s lo j a s . O obj etiv o re d u zir o tem po d e e s pe ra n a fila.
O a ten d im en to d iv id id o por a ssu n to s e ca d a c a ix a pode cuid a r d e um ou
mais assuntos, ou um assunto pode ser tratado por um ou mais caixas.
Para cada c a ix a d ev e-se sa ber o nmero e a po s i o (d ireita ou e sq u e rd a
da mquin a de sen ha s).
Exercitando a Identificao de Casos de Uso > 87
Pa ra c a d a c a ix a , d e v e -s e ter um histrico d e a te n d im e n to s, pa ra se obter
e s ta ts tic a . A e s t a t s t i c a d e v e s e r d eta lha d a qua n to a o t e m po mnimo, m -
d io e mximo d e a ten d im en to por c a ix a e por d ia , a l m d o nmero d e a -
te n d im e n to s por a s s u n t o ,
A qua lquer m om en to preciso s a be r que c a ix a e s t com um d e te rm in a d o
nmero de atendimento.
EXERCCIO:
A pa rtir d o c e n r i o d e s c r i t o , d esen he o d ia gra m a d e c a s o s d e u s o d e s s e s i s t e -
m a . Escrev a , ta m bm , o s c e n r i o s . C o n s id e r e q u e a s t a r e fa s d e con trola r o s
.a s s u n t o s e o s ca ixa s, o bt e r e s t a t s t i c a e r e l a t r i o s s o d o Setor A d m in is tr a tiv o .
O C a i x a s e respon sa biliza po r con trola r a pr x i m a sen ha e o Ba lco d e In forma -
es que ge r a n o v a s se n ha s.
RESOLUO (DIAGRAMA DE CASOS DE Uso E DESCRIO DOS CEN RIOS):
A d m ln la ira ilv n
MANTER A SSUNTOS
Descrio:
A tor:
Es t e ca so d s uso tem por o bj e t i v o perm itir a manuteno (incluso
co e excluso) dos assuntos con trola d os n o a ten d im en to.
altera-
A dministrativo
Cenrio Principal:
1. O sistema prepa ra uma lista da assuntos c a d a s tra d o s .
2. O sistema o fe r e c e a o usurio:
88 Exercitando Modelagem em UML
2.1,selecion a rum assunto, pa ra alterar seu cadastro;
2.2.localizar um a s s u n to por meio de pesquisa;
2.3.selecion a r a opo d e "in serir a ssun to".
3. Pesquisa de A s s u n to
3.1. Para lo c a tiza r um a ssun to, o usurio d e v e in s e rir um t r e c ho do nome como c r i t r i o de
pesquisa. O s is te m a fa r a busca parcial.
3.2.0 s i s t e m a exibe a lista d e a s s u n t o s que s a t i s fa a o critrio , exibin do pa ra cada um :
3.2.1, nome do assunto
3.2.2. os caixas respon sveis
4. Manuteno do Cadastro
4.1.Aps selecion a r um assunto, o sistema habilita as o p e s de "A ltera o", "Consulta" ou
"Excluso" de um assunto.
4.2. Em caso de 'Incluso", o sistema habilita a edio dos dados.
4.3. Em caso de "A ltera o", o s is te m a exibe os dados ca d a stra d os e os habilita para edio.
4.4. Em ca so de "Consulta" ou "Excluso", o sistema e x i b e os dados ca d a stra d os desa bilita dos
para edio.
4.4.1. No ca so de excluso, o s i s t e m a solicita a con firm a o.
5. O s i s t e m a prepa ra uma lista de ca ixa s ca d a stra d os.
6. O usurio informa, no caso de "A lterao" ou "Incluso":
6.1. n om e do assunto,
6.2. lista de caixas respon sv eis pelo a ten d im en to daquele a ssu n to , selecionados de uma lista
preexistente.
6.3. d e s c rio do a ssu n to .
7. O usurio con firm a a operao rea liza d a .
8. O sistema atualiza os dados cadastrais do assunto.
8.1. No ca so de incluso, o s is te m a gera a utom a tica m en te um cdigo de identificao.
Cenrio Alternativo:
- Excluso no permitida
No possv el excluir um a s s u n to que estej a associado a um a te n d im e n to .
MANTER C A IXA S
Descrio:
A t o r :
Este ca so de uso tem por objetivo
co e excluso) d os caixas.
permitir a manuteno (incluso, a ltera -
Administrativo
C en rio Principal:
1. O s is te m a prepara uma lista de todos os caixas ca d a stra d os.
2. O s is te m a o fe r e c e ao usurio:
2.1 .selecionar um ca ixa , para a lt e r a r seu ca d a stro;
2.2.localizar um c a ix a por meio de pesquisa;
2.3.selecionar a opo de "in serir caixa".
Exercitando a Identificao de Casos de Uso 89
3. Pesquisa de Caixa
3.1. Para localizar um ca ixa , o usurio deve in serir um t r e c ho do n o m e do atendente como cri-
t r i o d e pesquisa. O s i s t e m a fa r a busca parcial.
3.2. O sistema exibe a lista de ca ixa s que s a t i s fa a o c r i t r i o , exibindo para cada um :
3.2.1. n m ero do ca ixa
3.2.2. a ten den te respon sv el
4. Manuteno do Cadastro
4,1.Em ca so de "Incluso", o sistema habilita a edio dos dados.
4.2. Cm caso de "Alterao", o sistema exibe os dados ca d a stra d os e os habilita para edio.
4.3.Em ca so de "Consulta" ou "Excluso", o sistema e x i be os dados cadastrados d esa bilita d os
para edio.
4.3.1, No ca so de e x c l u s o , o sistema solicita a con firm a o.
5. O usurio informa, no ca so de "A ltera o" ou Incluso":
5.1. nmero do ca ixa
5.2. a ten d en te respon sv el
5.3. posio do ca ixa , selecionando e n tr e as opes: lado esquerd o ou lado d ir e ito .
6. O usurio con firma a opera o realizada.
7. O sistema atualiza os dados cadastrais do ca ixa .
7.1.No caso de incluso, o sistema gera a u to m a tic a m e n te um cdigo de identificao.
Cenrio Alternativo:
- Excluso no permitida
No po s s v e l excluir um caixa que estej a associado a um a t e n d i m e n t o .
VERIFIC A R DISTRIBUIO A TUA L DE SENHA S
Descrio:
Este ca so de uso tem por obj etivo perm itir a consulta de como esto d i s t r i -
budas a s sen ha s, pelos ca ixa s, n o dia c o r r e n t e ,
A t o r :
A dministrativo
Cenrio Principal:
1. O sistema busca a lista de tod os os assuntos cadastrados.
2. Para cada assunto, o sistema exibe:
2.1. a ltima s e n ha liberada;
2.2. a ltima s e n ha atendida;
2.3. o ca ixa que e s t a ten d en d o ou que atendeu a ltima sen ha ;
2.4. horrio de inicio do ltimo atendimento;
2.5. horrio de trm in o (se houver) do ltimo atendimento.
90 Ex e r c i t a n d o M o d e l a ge m e m UM L
OBTER ESTA TSTIC A DO HIST RICO DE ATENDIMENTOS
Descrio:
A tor:
Este caso de uso tem por objetivo permitir a
dimen tos, q e ra n d o estatstica de tem po ga sto
consulta ao histrico de
para cada a t e n d i m e n t o .
aten-
A dministrativo
C e n r i o Prin cipa l;
1. O usurio informa um perod o (data de inicio e data de fi m ) de pesquisa.
2. O s is te m a busca todos os a te n d im e n to s e fe tu a d o s dentro do pe ro d o in forma do.
3. Para cada dia do referido pe ro d o , so agrupados os a ten d im en tos por c a ix a . Para cada c a i x a
exibido;
3.1.nmero do caixa
3.2.nome do atendente responsvel pelo ca ixa
3.3.lista de atendimentos, exibindo pa ra cada um:
3.3.1. horrio de incio
3.3.2. ho r rio de t r m i n o
3.3.3. tem po ga s t o no atendimento
3.3.4. a ssu n to de refern cia do a te n d im e n to
4. Para cada caixa, o s i s t e m a calcuia e e x i be o tempo mnimo, mdio e m xim o d e atendimento.
5. Para cada d ia d o pe ro d o d e bu s c a , o sistem a calcula e exibe:
5.1 .o tem po mdio de atendimento
5.2.0 caixa qua te v e o m e n o r ndice mdio de a ten d im en to
5.3.0 ca ixa que t e v e o m a io r ndice mdio de a ten d im en to
6. A o final, o sistema calcula e exibe o tota l d e atendimentos, por a ssun to, exibindo em ord em
decrescente:
6.1.o nome do assunto
6.2.a quantidade de a ten d im en tos
OBTER PR XIM O NMERO
Descrio:
Este ca so d e uso tem por o bj e tiv o v e r i fi c a r pa ra um d eterm in a d o ca ixa e assunto
que ele tra ta , qual a prxima senha de atendimento, exibindo-a para os clientes.
A t o r :
C a i x a
Pr-con d lco:
Receber a identificao do caixa que est operando o sistema.
C e n r i o Princjpal:
1. O sistema v e r i fi c a todos os assuntos que so atendidos peio ca ixa .
2. O s i s t e m a v e r i fi c a o ltimo a s s u n to a ten d id o, com sua re spe ctiv a se n ha .
2.1. Se o caixa atender mais de um assunto, o sistema verifica a ltima senha atendida do
prxim o a ssu n to do seu conj unto de atendimentos.
3. O sistema verifica se a ltima sen ha a ten d id a m e n o r que a ltima sen ha gerada.
3.1.Se fo r , o sistema incrementa a ltima sen ha a ten d id a em uma unidade.
4. O sistema atualiza o cadastro de sen ha s.
Exercitando a Identificao de Casos de Uso 91
5. O sistema exibe no painel de sen ha s:
5.1. o n m ero da senha
5.2. o cdigo do assunto
5.3. a posio do Caixa (esquerda ou direita)
REGISTRAR T RMINO DE ATENDIMENTO
Descrio:
A tor:
Este ca so de uso tem por obj etiv o permitir que o usurio re gis tre o trmino
do seu atendimento, pre pa ra n d o para a obteno da prxima sen ha .
Caixa
Pr-con d ico:
Receber a identificao d o caixa que e s t operando o s i s t e m a .
C e n r i o Principal:
1. O sistema v e r i fi c a o ltimo atendimento fe i t o para a r e fe r id a ca ixa , habilitando a opo de
e n c e r r a r atendimento.
2. O usurio s e le c io n a a o po d e e n c e r r a r atendimento.
3. O sistema atualiza o histrico d e a ten d im en tos, re gis tra n d o a d a ta d e trm in o d o atendimento.
GERA R SENHA
Descrio:
A t o r :
Este ca so de uso tem por o bj e t i v o
da numa lista de a ssu n to s.
perm itir a gerao d e uma sen ha basea-
Balco de In form a es
Cenrio Principal:
1. O sistema pr e pa r a uma lista de t o d o s os assuntos ca d a stra d os.
2. O usurio In form a um assunto, selecion a d o de uma lista pre e xiste n te .
3. O siste m a o btm a ltima senha ge r a d a pa ra a quele assunto e In crem en ta esse v a lor em um a
unidade.
4. O sistema a t u a l za o cadastro de senhas geradas, colocando o novo valor associado ao assunto.
5. O sistema emite um t i c ke t impresso informando:
5.1. d a ta do atendimento
5.2. a ssun to
5.3. senha gerada
Cenrio A ltern a tiv o:
- Primeiro a cesso do dia
O sistema verifica se o prim e iro a cesso d o d ia para gera o d e senhas, Se fo r , todas a s
sen ha s a ssocia d a s a tod os os assuntos so ze r a d a s .
92 Exercitando Modelagem em UML
40. CENRIO: CONTROLE DE BOLO
Ja iro t r a ba l ha n o Depa rta m en to de Informtica de uma gra n d e e m pr e s a .
Ele e seus a m igos e s t o sempre fa ze n d o bolo d a M ega Sen a , Qu in a e
outros tipos de jogos. Jairo sempre controla numa planilha Excel os nme-
ros a po s t a d o s , a lm d a s pe s s o a s que e n t r a r a m n o bo lo , seus e-m a ils
(pa ra receberem os nmeros a posta dos) e se pa ga ra m sua s cota s. En tre -
t a n t o , isso tem lhe to m a d o um tempo c o n s id e r v e l. Se n d o a s s i m , ele pen-
sou em d esen v olv er um a a pl i c a o que a te n d a s seguin tes fu n c io n a lid a -
des:
- permita ca d a stra r os pa rticipa n tes d e cada bolo, com s e u s ramais e e-
m a ils;
- pa ra c a d a bolo feito, c a d a s tra r o v a lo r d a cota , n mero d e c o ta s , os
c a rt e s a posta d os (com sua rela o d e nmeros), o t i po d e j o go (M e ga Se -
n a , Quin a etc.), o nmero d o con curso e a d a t a em que s e r rea liza d o o
s o rte io ;
- c o n t r o l a r quem pagou c a d a c o ta ;
- gera r a u to m a tic a m e n te um a pgina Web com os d a d os d o s o rte io , pa rti-
cipa n tes d o bolo com suas cotas e os nmeros a posta d os. O a r q u iv o
HTML d essa pgin a ser e n v i a d a por e-mail;
- cada participante poder adquirir mais de uma cota;
- gera r a lista d e pa rticipa n tes que a in d a n o pa ga ra m ;
- a aplicao d ev e v erifica r s e o to ta l d a s c o t a s igua l a o to ta l a po s t a d o ;
- um a d e te rm in a d a a p o s t a pode ser a pr o v e ita d a em outros boles.
EXERCCIO:
A partir d o cen rio d escrito, desenhe o d i a gr a m a d e c a s o s d e uso d e s s e s is te -
m a , Escrev a , tambm, os c e n rio s . C o n s id e r e que tod a s a s o pe r a e s so fe i-
j as pelo Ja ro, que pod e ser id e n tific a d o c o m o Gestor d o Bolo.
Exercitando a Identificao de Casos de Uso 93
RESOLUO (DIA GRA M A DE CA SOS DE Uso E DESC RIO DOS CENRIOS):
Con trola r
participantes e pagta
d s con tes
Ge s to r d a BolSo
M A NTER PA RTIC IPA NTES DO BouAo
Descrio:
A t o r :
Este ca so d e uso tem por obj etiv o perm itir a m a n u te n o (incluso, a l t e r a -
o e e xclu so ) d os pa rtic ipa n te s que possam vir a pa rticipa r d e um bolo,
Ge s t o r d o Bolo
Cenrio Principal;
1. O s i s t e m a pr e pa r a um a lista d e participantes c a d a s tra d o s .
2. O siste m a o fe r e c e a o usurio:
2. l .s e l e c i o n a r um participante, pa r a alterar seu c a d a s t r o ;
2,2, localizar um participante por meio de pesquisa ;
2.3.selecionar a o po de "inserir participante".
3. Pesquisa de Participante
3.1. Pa ra localizar um participante, o usurio d ev e in se rir um t r e c ho do n o m e como c r i t r i o de
pesquisa . O s is te m a fa r a busca parcial.
3.2.0 sistema exibe a lis ta d e pa rticipa n tes que s a tis fa a o c r i t r i o , e x ibin d o para cada um :
3.2.1. nome do participante
3.2.2. ra m a l
4. Ma n uten o do C a d a stro
4.1.Em ca so de "Incluso", o sistema habilita a edio dos dados.
4,2.Em caso de "Alterao", o sistema exibe os datos cadastrados e os habilita para edio,
94 Exercitando Modelagem em UM L
4.3.Em caso de "Consulta" ou "Excluso", o sistema exibe os dados cadastrados desabilitados
para edio.
4.3.1. No caso de e x c lu s o , o sistema solicita a confirmao.
5. O usurio informa, no caso de "Alterao" ou "Incluso":
5.1. nome do participante
5.2. ramal
5.3. e-mail
6. O usurio confirma a operao realizada.
7. O sistema atuaiiza os da dos cadastrais do participante.
7.1,No caso de incluso, o sistema ge r a automaticamente um cdigo de identificao.
C e n r i o A l t e r n a t i v o :
- Excluso no permitida
No possvel excluir um participante que e s t e j a associado a um b o l o
REGISTRA R BOLAO
Descrio:
A t o r :
Este caso de uso tem por objetivo permitir a manuteno (incluso, a ltera -
o e excluso) de um bolo. habilitando para o u t r a s ta re fa s como geren-
ciar os participantes, as cota s pagas e as apostas.
Ge sto r do Bolo
C e n r io Prin cipa l:
1. O s is te m a prepa ra uma lista de todos os boles cadastrados.
2. O sistema o fe r e c e ao usurio:
2.1.localizar um bolo por meio de pesquisa.
2.2.se!ecionar a opo de Inserir bolo".
2.3.selecionar um boio, para realizar as seguintes operaes, caso o sorteio a que se refere o
bolo ainda no tenha sido realizado:
2.3.1. alterar o cadastro do bolo, com as opes de "Alterao', "Consulta" e "Excluso".
2.3.2. controlar participantes e pagamento das cotas
2.3.3. registrar a posta s
2.4.s e l e c i o n a r um bolo, para realizar as seguintes opera es, em qualquer situao do bolo:
2.4.1. imprimir lista de no-pagantes
2.4.2. gerar pgina we b do bolo
3. Pesquisa de Bolo
3.1. Para localizar um bolo, o usurio deve inserir a data do sorteio e/ou o tipo de j ogo como
critrio de pesquisa
3.2.0 s i s t e m a exibe a lista de boles que satisfaam o critrio, exibindo para cada um:
3.2.1. tipo do j ogo ictrico
3.2.2. nmero do concurso
3.2.3. data do sorteio
3.2.4. valor da cota
4. Manuteno do Cadastro
4.1 .Em caso de "Incluso", o sistem a habilita a edio dos dados.
4.2.Em caso de "Alterao", o sistema exibe os dados cadastrados e os habilita para edio.
Exercitando a Identificao de Casos de Uso 95
4.3.Em caso de "Consulta" ou "Excluso", o sistema exibe os dados cadastrados desabtlitados
para edio.
4.3.1. No caso de excluso, o sistema solicita a con firm a o.
5. No caso de "Alterao" ou Incluso";
5.1, o sistema prepara uma lista com todos os tipos de j o go s Ic t r i c o s
5.2, o usurio informa:
5.2.1. tipo de j ogo lotrico, selecionado de uma lista preexistente.
5.2.2. nmero do concurso
5.2.3. d a ta do sorteio
5.2.4. v a t o r d a c o t a
5.2.5. nmero de cota s
6. Opo de Controlar Participantes e pagamento das c o t a s
6.1.Extends [Caso de Uso Controlar participantes e pagto de cota s|
7. Opo de Registra r A p o s t a s
7.1.Extends [Caso de Uso Registra r A postas]
8. Opo de Imprimir lista de no-pagantes
8.1.Extends [Caso de Uso Imprimir lista de no-pagantes]
9. Opo de Gera r pgina Web
9.1 .Extends [Caso de Uso Gera r pgina we b do bo!o]
10. O usurio poder solicitar a verificao de sin cron ism o entre as cota s e as apostas.
10.1. O sistema verifica r se a soma das apostas c o rre s po n d e m soma das c o t a s (va lor da
cota x nmero de c o ta s ).
11. 0 usurio con firma as a ltera es.
1 2. 0 sistema atualiza os d a d os cadastrais do bolo.
GERA R PA GINA WEB DO BOLAO
De s c rio :
A t o r :
Este caso de uso
c o n te n d o todas a s
participantes.
tem por o bj e tiv o ge r a r uma pgina Web (em HTML)
i n fo r m a e s sobre o bolo, para ser distribuda pa r a os
Ge sto r do Bolo
Pr-c o n d o :
Receber a identificao do bolo.
C en rio Prin cipa l:
1. O sistema busca a lista de participantes do bolo, com as seguintes informaes:
1.1.nome do participante
1.2.ramal do participante
1.3.nmero de cota s
1.4.situao de pagamento das cotas
2. O sistema busca os nmeros apostados para o bo l o
3. O sistema busca os dados re fe re n te s ao bolo.
4. O sistema gera uma pgina we b com as seguintes informaes:
4.1. tj po de j ogo lotrico
4.2. n m ero do concurso
96 * Exercitando M o d e l a ge m em UML
4.3. data do concurso
4.4. valor da cota
4.5. lista de participantes, com nome, ramal, nmero de cotas e situao de pagamento das cotas
4.6. lista de a posta s, mostrando os nmeros para cada aposta e o valor a posta d o.
IMPRIMIR LISTA DE NAO-PAGANTES
Descrio:
A t o r :
Este ca so d0 uso tem por objetivo
tes de um boo que no efetuaram
mprimir um reatrio com os
o pagamento de suas cotas.
participan-
Ge s t o r do Bolo
Prjiondljg:
Receber a identificao do bolo.
Cenrio Principal:
1, O sistema busca a lista dos p a r t i c i p a n t e s do bolo que no estej a m com as cota s pagas.
2. O sistema emite um rela trio com os seguintes dados:
2. t . nome do participante
2.2.ramal do participante
2.3.e-mail do participante
2.4. quantidade de cotas em aberto pa ra pagamento
REGISTRA R A POSTA S
Descrio:
A tor:
Este c a s o de uso tem por obj etiv o permitir o controle das apostas
das pa ra um determinado bolo.
realiza-
Ge sto r do Bolo
PrjiondiQ:
Receber a id en tifica o do bolo.
Cenrio Principal;
1. O sistema busca e exibe todas as apostas cadastradas para o referido bolo.
2. O sistema o fe r e c e a o usurio:
2.1. seiecion a r a opo de "inserir aposta".
2.2. seiecionar uma aposta, para realizar as seguin tes operaes:
2.2.1. alterar a aposta, com as opes de "Alterao", "Consulta" e "Excluso".
3. No caso de "A lterao" ou Incluso":
3.1. o usurio informa:
3.1.1. valor da aposta
3.1.2. nmeros apostados
C e n r io A l t e r n a t i v o :
- Permisso de incluso de nova aposta
O sistema s habilita a opo de "inserir aposta' se a soma dos valores das apostas ca-
dastradas lor menor que a soma das cotas (nmero de cotas x valor da cota).
Exercitando a Identificao de Casos de Uso 97
- Limite de nmeros apostados
O in terva lo permitido para a quantidade d e nmeros apostados d e: v a lor d e quantidade
mnima de apostas do j ogo Ictrico como limite in ferior, e v a lor de quantidade mxima de a posta s do
j o go lotrico como limite superior.
CONTROLAR PARTICIPANTES E PA GA MENTO DE COTA
Descrio:
A t o r :
Este caso de uso tem por o bj e tiv o permitir a
co e excluso) d os participantes e fe t i v o s d e
suas cotas.
manuteno (incluso, aliera-
um bolo e do pagamento de
Geslor do Balo
Pr-con d ico:
Receber a identificao do bolo.
C e n r io Principal:
1. O sistema busca e exibe a lista de participantes j cadastrados para o bolo, exibindo para
cada um:
1.1. o n ome do participante
1.2. o ramal do participante
1.3. o nmero de cota s
1.4. se as cota s fo r a m pagas
2, O usurio pode alterar a quantidade de cotas ou o status do pagamento de um dos participan-
tes ou ca da stra r um n ovo participante.
2.1.0 s i s t e m a prepara uma lista de tod os os participantes credenciados para o bolo que est
cadastrado.
2.2.0 usurio informa um n ovo participante, selecionado de uma lista p r e e x i s t e n t e .
2.3.0 usurio informa a quantidade de cota s e se a s cotas j fo r a m pagas.
41. CENRIO: ESTACIONAMENTO
Bruno e seu pai com pra ra m um terren o e in a ugura ro um esta cion a m en to.
Para ajudar, a irm de Bruno est desenvolvendo uma aplicao de
con trole de esta cion a men to.
Qua n d o o veculo entra n o estacionamento, o a te n d e n e observ a sua placa
e a m esm a ca d a stra d a , j untamente com o mod elo d o veculo e sua cor.
A hora d e en tra d a ge ra d a automaticamente, correspondendo a o momen-
to do cadastramento da placa. Aps esta cion a r o veculo, o cliente pega o
ticket on de e s t im presso: o nmero d a pla ca , o mod elo d o v e c u lo , a cor,
a d a ta e a hora d a en tra da .
98 Exercitando Modelagem em UML
A o retomar a o estacionamento, o cliente entrega o ticket. O tempo d e per-
ma n n cia c a lc u la d o . Con sid era n d o esse tempo d e permanncia, apli-
c a d a a ta bela d e preos, sabendo-se que a ta be la d e s ba d o n o a
mesma dos dias teis e, s vezes, dependendo da poca do ano, os donos
lanam promoes durante os dias teis. Ve j a exemplo das ta be la s de
preo:
Segunda s e x t a
1
a
ho r a = R$2,00
a partir da 2
a
hora (in teiro ou
fr a o ) = + R$ 1,00
S ba d o
Preo nico = RS 3,00
Os donos precisam de rela trios d e fa tura m en to d irio e semanal.
RESOLUO (DIAGRAMA DE CASOS DE uso E DESCRIO DOS CEN RIOS):
Dilatria
A t e n d e r r t e
REGISTRAR ENTRADA DO VECULO
Descrio:
A tor:
Esle caso de uso tem por obj etiv o
en tra n d o no estacionamento.
registrar os dados do veculo que esteja
A t e n d e n t e
Cenrio Principal:
1. O sistema prepara uma lista de modelos de carro.
2. O usurio informa:
2.1 .a placa do ca rro
2.2.o modelo, selecionado de uma lista pre e x is te n te .
2.3.a cor
3. O sistema verifica e registra automaticamente a data e a hora de incio do esta cion a m en to.
Exercitando a Identificao de Casos de Uso 99
4. O usurio con firma as alteraes.
5. O s is te m a atualiza os dados ca d a stra is do veiculo.
5.1.0 s is te m a imprime o licke! de esta cion a men to, como comprovante do motorista. Extends
[C a so de Uso Emitir Ticket de Esta cion a m en to]
EMITIR TICKET DE ESTA CIONA MENTO
De s c rio :
A t o r ;
Esle ca so de uso tem por o bj e tiv o emitir o
clien te ir lev a r aps estacionar o veculo.
t i c ke t d e estacionamento que o
A t e n d e n t e
C e n r i o Prin cipa l:
1. O sistema imprime:
1.1. data de ocupao da vaga
.,2. hora de in cio de ocupa o da vaga
1.3. placa do veculo
1.4. modelo do v eculo
1.5. c o r do v e cu lo
REGISTRA R SA DA DO VECULO
Descrio:
A tor:
Es t e caso de uso tem por obj etiv o
t e m po d e pe r m a n n c ia e o v a lor a
registra r a sada d o v e c u l o ,
pagar pelo esta cion a men to.
calculando o
A ten d en te
C en rio Principal:
1. O sistema prepa ra uma lista dos veculos que ainda no tiveram sua sa d a registrada.
1.1. Para cada v e cu lo , exibido:
1.1.1. a placa do veculo
1.1.2. a hora de incio
2. O usurio i n fo r m a a placa da qual ser dada a sada, seecion a n d o de uma lista preexisten te.
2.1.0 sistema calcula o tempo de permanncia.
2.2.0 sistema calcula o preo do e sta cio n a m e n to , baseado no t e m po de permanncia.
3. O sistema atualiza os dados ca d a stra is do veculo.
MA NTER TABELA DE PREOS
Descrio:
A t o r :
Este caso de uso tem por objetivo permitir a m a n uten o da
preos utilizada para c a lc u la r a permanncia n o esta cion a men to.
ta be la de
A te n d e n te
C e n r i o Principaj :
1. O sistema busca e e x i be os v a lo re s para as seguintes in forma es:
1.1. dia da semana
1.2. valor da prim e ira hora
100 Exercitando Modelagem em UML
1.3. valor da hora subsequente
1.4. se no dia preo nico
GERAR RELA T RIO DE FATURAMENTO DIRIO
Descrio:
A t o r ;
Este caso de uso tem por obj etiv o emitir um
dirio do estacionamento.
relatrio com o fa tura m en to
Diretoria
C e n r i o Prin cipa l:
1. O sistema prepara uma lista de tod a s as vagas ocupadas no dia.
2. O sistema e x i b e :
2.1.placa do c a r r o
2.2.tempo de permanncia
2.3.valor pago
3. No final, o sistema exibe o tota l de valor recebido no dia.
GERA R RELAT RIO DE FATURAMENTO MENSA L
Descrio:
A t o r :
Este caso de uso tem por objetivo
mensal do estacionamento.
emitir um relatrio com o fauramento
Diretoria
C e n r i o Principal:
1. O sistema busca tod a s as vagas ocupadas durante o ms corrente.
2. O sistema exibe, para cada dia, que aparecer em ordem crescente:
2.1 .nmero de veculos atendidos
2.2.ualor (aturado no dia
42. CENRIO: JOGO DA VELHA
Amlia gosta de desenvolver pequenos jogos para os seus filhos. O ltimo
que ela desenvolveu foi o jogo da velha.
Para isso, ela relacionou as regras do jogo a fim
de fa c ilita r sua implementao. Haver sempre
um j ogador v irtua l que ser o prprio sistema, na
figura do computador. O j oga d or real poder
escolher o nome do seu adversrio. A lm d isso,
o j oga d or rea l escolhe o smbolo que d e s e j a usar
(crculo ou cruz).
X
o
o
0
\
/
\
/
\
/
/
/
\
/
\
Exercitando a Identificao de Casos de Uso 101
A s regra s so:
- Traam-se d u a s lin ha s v ertica is e duas linhas horizontais, de modo a
criar nove quadrados de tamanhos iguais.
- Um j o ga d o r j o ga d esen ha n d o um crculo e o seu a d v e r s r i o um a cruz.
- O obj etiv o cada j o ga d o r desenhar seu smbolo n um qua d ra d o v a zio,
tentando marcar uma linha de trs sm bolos iguais na horizontal, vertica l
ou diagonal; ou ev ita r que o adversrio consiga e s s a linha d e sm bo lo s.
RESOLUO (DIAGRAMA DE C A SOS DE Uso E DESCRIO DOS CENRIOS):
O
.n e x t e n d s
Jo ga d o r
INICIAR TORNEIO
Descrio:
A t o r :
Este caso de uso tem por objetivo dar inicio a um torneio de jogos da velha.
Jogador
C e n r io Pr in c ipa l;
1. O sistema prepara a lista de todos os jogadores cadastrados.
2. O usurio informa:
2.1. o nome do jogador fsico, selecionado de uma lista pre e xiste n te .
2.2. o smbolo usado pelo j ogador lsico (crculo ou cruz).
2.3. o nome do jogador virtual, s e le c io n a d o de uma lista preexistente.
2.4. o sistema associa automaticamente o smbolo usado pelo jogador v irtua l (crculo ou c ru z).
3. O sistema define o jogador 1 como sendo o jogador lsico e zera seu score.
4. O sistema defin e o j ogador 2 como sendo o jogador virtual e zera seu score.
5. Para cada partida, altemadamente, jogador fsico e virtual fazem a sua jogada.
S.I.Exten d s [C a s o d e Uso Joga r]
102 Exercitando Modelagem em UM L
C e n r i o A l t e r n a t i v o :
- Jogador n o cadastrado
Se o nome do jogador no tiver cadastrado, o usurio poder fa ze r o cadastramento na
hora. Extends [Caso de Uso Ma n ter Jogador]
MA NTER JOGADOR
De s c rio :
A t o r :
Este caso de uso tem por objetivo permitir a
participa de um torneio.
manuteno do j oga d or que
Jogador
C e n r i o Prin cipa l;
1. O sistema prepara uma lista de j ogadores cadastrados.
2. O sistema o fe r e c e ao usurio:
2.1 selecionar um j ogador, para alterar seu cadastro;
2.2 selecionar a opo de "inserir jogador*.
3. Manuteno do Cadastro
3.1 Em caso de "Incluso", o sistema habilita a edio dos dados.
3.2 Em ca so de "A lterao", o sistema exibe os dados ca d a stra d os e os habilita para edio.
3.3 Em ca so de "Excluso", o s is te m a exibe os dados ca d a stra d os desabilitados para edio.
3.3.1 No caso de excluso, o sistema solicita a confirmao.
4. O usurio in form a , no caso de "A lterao" ou "Incluso":
4.1 nome do jogador
5. O usurio c o n firm a a operao realizada.
6. O sistema atualiza os dados cadastrais do j ogador.
6.1 No caso de incluso, o sistema gera automaticamente um cdigo de identificao.
JOGAR
Descrio:
A tor:
Este caso de uso tem
j o ga d o r virtual ou f s i c o .
Jogador
por obj etivo receber e controlar a j oga da de um
Pr -c o n d i o :
Receber a identificao do ltimo vencedor.
C en rio Prin cipa l:
1. O sistema define de quem a vez da jogada.
1.1 .Se o ltimo vencedor t iv e r sido o j ogador virtual ou for a prim e ira partida, a vez do j oga -
dor fsico. Caso contrrio, a vez do jogador virtual.
2. Enquanto existir quadrado livre e nenhum dos j o ga d o r e s ganhou o j ogo:
2.1 .Se a vez for do j ogador fsico:
2.1.1. O usurio informa a posio em que c o lo c a r o seu smbolo.
2.2.Se a vez for do j o ga d o r virtual, so m e n te uma d e ssa s operaes s e r feita, n a ordem:
Exercitando a Identificao de Casos de Uso 103
2.2.1. Se o centro estiv er desocupado, o sistema coloca o seu smbolo no centro.
2.2.2. Se o j oga d or f s i c o possuir duas figuras numa mesma linha horizontal, vertical ou
diagonal, onde exista um espao v a go , o sistema coloca r o seu s fm bo lo no espao
desocupado.
2.2.3. Se houver canto livre, o sistema colocar o seu smbolo no primeiro c a n t o livre de-
socupado.
2.2.4. Em caso contrrio, o sistema colocar o seu smbolo na primeira posio vaga que
encontrar.
2.3. O sistema verifica se houve a m a rc a o de trs figuras iguais, horizontalmente, vertical-
mente ou diagonalmente. Se houver, o j ogador que possua a referid a fi gu r a determinado
como vencedor.
Ps -c o n d io :
Notificar o v en ced or da partida.
43. CENRIO: JOGO DA MEM RIA
Amlia desenvolveu a gora um j o go da m em ria , que a ten d e a os seguin tes
requisitos:
- controlar a po s io de cada quadrado, con sid era n d o 12 q u a d ra d o s no
j o go ;
- escolha a pa rtir de um banco de figuras, de se is figu ra s que perten a m a
um mesmo grupo. Ex: suponha que num ba n co de figuras exista m figuras
d e obj etos, a n ima is, obj etos geomtricos etc. A o m on ta r o j o go d a mem-
ria, so obtid a s seis figuras de obj etos ou seis figuras de animais;
- sorteio aleatrio. A cada d ois nmeros associar a um pa r. Guardar essas
c o o r d e n a d a s , associadas figura.
O j o go con siste n o j o ga d o r te n ta r adivinhar a posio d e tod os os pa res. A
cada j o ga d a , ele seleciona uma posio. A aplicao revela a figura que
est nessa posio e fica esperando a prxima j o ga d a . A o selecion a r a
prxima posio, a a plic a o e x i be a figura . Se for a figura -pa r, c o n ta -s e
uma pontuao (con forme a regra d e pontuao) e a s fi gu r a s fica m mos-
tra. Caso c o n tr rio , a s figura s so escon dida s e espera -se um a nova r o d a -
da.
Quando o j o ga d o r conseguir d esv en d a r tod os os pa res, o programa gua rd a
a po n tu a o como sendo o ltimo e s c o re e v erifica se e s s e foi o maior es-
core do j ogo, substituindo este ltimo se for o caso. Questiona-se, nesse
ca so, o nome do j o ga d o r para registrar.
104 Exercitando M od ela gem em UML
A regra d a pon tua o a seguinte: cada a c e r t o v a l e 100 pontos. A cada
rod a d a erra da , a pon tua o a ser credita da diminui em 5 pon tos, limitado a
10 po n t o s d e c rd ito . Exemplo: se o j o ga d o r a c e r t a r um pa r n a primeira
j o ga d a , ele r e c e be 100 pon tos. Na s e gu n d a j o ga d a , ele e r r a o pa r. Na t e r -
ceira j ogada, ele acerta o par; ento receber 95 pontos.
RESOLUO {DIAGRAMA DE CASOS DE Uso E DESCRIO DOS CEN RIOS):
A d m in is tra d o r
Jogador
MONTAR GRUPO DE FIGURA
De s c rio :
A tor:
Este c a s o de uso tem por obj etiv o
figu r a do j oqo da memria.
A d m in istra d or
permitir a manuteno d os grupos d e
C e n r io Prin cipa j :
1. O sistema prepa ra uma lista de grupos de figuras cadastrados.
2. O sistema o fe r e c e ao usurio:
2.1 .selecionar um grupo, para alterar seu cadastro;
2.2.selecbn a r a opo d e "in serir grupo".
3. Ma n uten o do Cadastro
3.1. Em c a s o de Incluso", o sistema habilila a edio dos dados.
3.2. Em caso de "A lterao", o s is te m a exibe os dados ca d a stra d os e os habilita para edio.
3.3.Em ca so de "Consulta" ou "Excluso", o sistema exibe os dados ca d a stra d os d esa bilita d os
para edio.
3.3.1. No c a s o de excluso, o sistema solicita a con firm a o.
4. O usurio informa, no caso de "A l t e r a o " ou "Incluso":
4.1. n ome do grupo
5. O usurio confirma a operao realizada.
6. O sistema a tua liza os dados cadastrais do grupo.
6.1. No caso de in cluso, o sistema gera a utom a tica m en te um cd igo de identificao.
Exercitando a Id e n tifica o d e Casos de Uso 105
C e n r i o A lt e r n a t iv o :
- Excluso n o permitida
No possv el excluir um grupo que estej a associado a uma figura.
MA NTER BANCO DE FIGURAS
Descrio:
A t o r :
Este caso de uso tem por obj etiv o
pa rticipa ro do j ogo da velha.
permitir a manuteno das figura s que
Jogador
C e n r i o Pr i n c i p a l :
1. O s is te m a prepa ra uma lista de figuras cadastradas.
2. O sistema o fe r e c e a o usurio:
2.1 .s e te c to n a r um a figura, pa ra a lt e r a r seu c a d a s tro ;
2.2.selecion a r a opo de "inserir figura".
1. Manuteno do Cadastro
1.1.Em ca so de Incluso", o sistema habilita a edio dos dados.
1.2. Em ca so de "Alterao", o sistema exibe os dados cadastrados e os habilita para edio.
1.3. Em caso de "Consulta" ou "Excluso", o sistema exibe os dados c a d a s t r a d o s desabilitados
para edio.
1.3.1. No ca so de excluso, o s is te m a solicita a con firm a o.
2. No caso de "A lterao* ou 'Incluso':
2.1. O sistema prepara uma lista dos grupos de figura .
2.2. O usurio in fo rm a :
2.2.1. grupo ao qual pe r t e n c e a figura , selecionado de uma lista preexisten te
2.2.2. nome da fi gu r a
2.2.3. n ome f s i c o da figura
2.2.3.1. o s i s t e m a carrega e exibe a imagem d a figura
3. O usurio con firma a operao realizada.
4. O sistema atualiza os dados ca d a stra is da figura.
4.1.No caso de incluso, o sistema gera a utom a tica m en te um cdigo de identificao.
MANTER CONFIGURAO DO JOGO
Descrio:
A tor:
Este caso de uso tem por obj etivo permitir a m a n uten o das co n figu ra -
es do j ogo da memria.
Jogador
C e n r i o Pr i n c i pa l :
1. O s i s t e m a busca e exibe os valores para alterao do usurio:
1.1. quantidade de pontos para cada a certo.
1.2. quantidade de pontos perd id os pa ra cada erro.
1.3. quantidade de pontos do j ogador atual.
2. O usurio pode solicita r a limpeza dos dados re fe re n te s ao score mximo do j ogo.
106 Exercitando Modelagem em UML
INICIAR PARTIDA
Descrio:
A t o r :
Este caso de uso t e m por o rj j e tiv o dar incio a uma partida.
Jogador
C e n r i o Prin cipa l:
1. O sistema escolhe aleatoriamente um grupo de figuras.
2. Para o grupo de figuras escolhido, o sistema obtm a lista de figuras pertencentes quele
grupo.
3. O usurio escolhe seis figuras da lista preexistente.
4. O sistema duplica as figuras e sorteia a coordenada das figuras dentro do jogo.
4.1.0 sistema gua rd a a posio de todas as figuras no j ogo.
4.2.0 sistema aguarda as j oga d a s. Extends [Caso de Uso Efetuar Jogada]
4.3.0 s is te m a obtm o score mximo j alcanado.
4.4.0 sistema guarda e exibe o score do j ogador.
4.4.1. O sistema verifica se o score do jogador maior que o score mximo j alcanado.
Se fo r , o usurio in form a o seu nome e o score d o jogador substitui o score m xim o
j alcanado.
EFETUAR JOGA DA
Descrio:
A tor:
Este caso de uso tem por o bj e tiv o receber e
tentar descobrir um par no j ogo da m em ria .
controlar uma j ogada para
Jogador
C e n r i o Principal:
1. O sistema v e rific a a pontuao para cada acerto e o decrscimo para cada erro.
2. Enquanto houver par coberto:
2.1. O usurio e s c o l he um loca! que estej a coberto.
2.2.0 sistema exibe a figura do local escolhido.
2.3. O usurio escolhe um outro local que estej a coberto.
2.4. O sistema exibe a figura do local escolhido.
2.5. Se as figuras forem iguais:
2.5.1. O sistema a crescen ta no score do j ogador a pontuao de a c e r t o .
2.6.Se as figuras no forem iguais:
2.6.1. O sistema cobre as figura s novamente.
2.6.2. O sistema decrementa da pontuao para cada acerto o valor do d ecrscimo por er-
ro, limitado ao valor de 10 pontos.
Ps-con d io:
Retomar o score do j ogador, aps trmino da partida.
Captulo
Exercitando a Identificao de
Classes a partir de Casos de Uso
4
Neste captulo rea prov eita rem os alguns cen rios d o Captulo 3. O obj etiv o
, a partir da a n lis e de um conj unto de ca sos de uso, d esen ha r um mode-
lo de cla sses.
Ex e r c i t a m o s n os prim eiros ca ptulos o d esen ho d e um modelo d e c l a s s e s ,
a partir d e cenrios d e ba ix a complexida de. En treta n to, a o a um en ta r a
com plexid a d e de um cen rio, fa z-s e necessria a anlise do caso de uso,
a fim d e obterm os in form a es mais precisa s para modelar a s c la s s e s d a
aplicao.
44. CENRIO: ENCOMENDA DE PLA CA S
EXERC C IO (A:
A pa rtir do cenrio d escrito n o Exe rccio 34 do C a ptu lo 3 (Encomenda
d e Pla ca s) e d os ca sos d e uso d escritos, iden tifique a s cla sses, com seus
a tributos e mtodos. Represen te os atributos que s e j a m d o tipo obj eto.
EXERCCIO (B\:
Utilizando apenas o nome das c la s s e s , desenhe o relacionamento en tre as
cla sses.
107
108 Exercitando M o d e l a ge m e m UM L
RESOLUO 44.A (ENCOMENDA DE PLACAS):
Encomenda
numero : kilagef
/diante : Cliente
slturaPlaca : r.-
l a r gu r a Pl a c a - real
frase : slrlng
eorFrase : EnumCoiPlaca
-i ~ : EnumCocFrase
dalBErieomenda : dato
dalaEntega : date
v a lo r Sin a l. real
' : : I. M ; ;' '^L--. 1 :r-.'.r:"L
nalytFifQtAaiErizLJsat = 147.30
v a l o r Fi *r >l pira jp.a - 0 .1?
Cfente
cdigo : Inleger
ntxne ; strng
telefone : slring
enurnefatei.
EnUmSfglusEncoTirKla
a berto
pronto
cancelado

enumeratedD
EnumCorFrasfl
azul
vermelho
a mareio
pato
vsrde
Bnuirarate*
EnumCurPlaca
branca
cinza
RESOLUO 44.B (ENCOMENDA DE PLACAS):
Encomenda
1..* 1
Cliente
45. CENRIO: RDIO TXI MAR a SOL

EXERC C IO f A l:
A partir do cenrio descrito no Exerccio 35 do Captulo 3 (Rdio Txi
Mar & Sol) e dos casos de uso descritos, identifique as classes, com seus
atributos e mtodos. Represente os atributos que sej am do tipo objeo,
EXERCCIO fB):
Utilizando apenas o nome das classes, desenhe o relacionamento entre as
classes.
Exercitando a Identificao de Classes a partir de Casos de Uso 109
RESOLUO 45.A (RDIO T XI):
Diente
codtgo : inTeger
n o m e : slring.
/e n d e r e o : Enderea
/telefon es ; lista de Telefone
Endareca
/logradouro : Logradouro
numen" ^Etring
complemento ; slring
cep : s Wn g
CartelraMoloriata
numefP - string
ca tegoria . string
Ccurida
/cliente : Olente
/enderecoSaida : Endereo
balrraDeslina ; etring
data i da te
hora : Ume
/lElCanlatD . Telefone
s a t u s : EnumStgtusConTda
/carroProg ramado . Veiculo
Telefone
prefixo ; sbing
numero : string
tipo : numTlpoTelefone
Logradouro
numeLogadouro : Bbing
bairro : s t r t n g
cidade : slring
eSla d o ' slring
cepUnbco : atring
Veculo
numeroVR : slring
placa : strin g
modela : string
!,-,|-n --i'
1
,!- : slrtng
En umTtpoTelefone
residencial
comercial
celula r
recado
Cooperado
cof : slring
nome : slring
/e n fl o r o co . En d e re o
.- .i -. '. . -. : n-,. - de Telefone
dataEnlrada j .--:
dataSaida : dale
/caitMolorisTa : C a r t e t r a M o Ec r is t a
/vebcufo : Veicula
lenumeratedo
Em ir. -: i ^- 1 , ,C 1 1 .
L
,
a gua rd a n d o VR
aguardando a viso
aviso efetuatia
tripulado^
cancelado passageiro
cancelada falEa cano
110 Ex e r c i t a n d o M o d e l a ge m em UM L
RESOLUO 45.B (RDIO TAXI):
0..1
46. CENRIO: TREINADOR DE VLEI
t
EXERCCIO:
A partir do cenrio descrito no Exerccio 36 do Captulo 3 (Treinador de
Vlel) e dos casos de uso descritos, desenhe um modelo de classes com-
pleto, incluindo os atributos, mtodos e relacionamentos.
Exercitando a Identificao de Classes a partir de Casos de Uso * 111
RESOLUO 46 (TREINADOR DE VLEI):
Jogo
d a t a : date
hora :tima
local: Btring
adversrio: Glring
j uiz: slring
auxiliar: sbing
3..5
: integar
' .-' ' ;-.{--Til : ';
-. j 'c -M ^? = - - ' , ! , . - - : coJao
d a J
O
1-*
Jogador
nome: slring
carnia: tnegar
D,t
EipoPonLo: EnumTrpoPonLo
EnumTipoQlociueio
individual
duplo
triplo
EnumUpoPonto
bloqueD
Se Barr.tipaPnlo = bloqueto
47. CENRIO: CONTROLE DE BOLO
EXERCCIO:
A partir do cenrio descrito n o Exerccio 40 do Captulo 3 (Controle de
Bolo) e dos casos de uso descritos, desenhe um modelo de classes
completo, incluindo os atributos, mtodos e rela cion a men tos.
112 * Exercitando Modelagetn em UML
RESOLUO 47 {CONTROLE DE BOLO):
Participante
Nome : slring
ra m a l: string
eM a il: slnng
0..-
Bolao
con curso: inleger
d.iia Sc r i
e
,-. . date
valorCota: real
numColas: .T.e ge r
gerarPagmaWebBalaa
gera r Li staN a o Pag a n t e 5
sincroncarCotasApostas
1
Aposta
v a lorA posta : real
numeroApostado . integer
[Bo Ia o.Ti p Jogo. q td M inimaAposta,
Bolan.TipoJogo.qldMaiiimaAposlaj
Qu o l a Bo l a o
q ld : integer
pa go : bodean
TipoJogn
n o m e : string
qtdMinimaAposta : Inleger
qtd M a xim a A posta : Inleger
Exercitando a Id e n t ific a o d e C la s s e s a pa rtir de Casos de Uso 113
48. CENRIO: JOGO DA VELHA
EXERC C IO:
A partir do cenrio descrito no Exerccio 42 do Captulo 3 (Jogo da Ve-
lha) e dos c a s o s de uso d e s c rito s , desenhe um modelo de classes comple-
to, incluindo os a tribu to s , mtodos e rela cion a m en tos.
RESOLUO 48 (JOGO DA VELHA ):
Torneio
scoreFin a lJoga d orl : In legar
score Final Jogador2 : in te ge r
0..'
Smbolo O
1
Jo ga d o r
n o m e : string
e hVirtiia l: bo o la a n
D..*
Smbolo X
1
D..*
Partida
po s i c a o Jo ga d a X: inleger [0..5J
posio Joga d a O : integer [0.. 5 ]
Captulo 5
Alguns Exerccios sobre Diagrama
de Mquina de Estados
Neste capitulo aproveitaremos que alguns cenrios tratados nos Captulos 2
e 3 possuem caractersticas que pedem um controle de estados. Sendo as-
sim, a partir desses cenrios criaremos diagramas de mquina de estados.
49. CENRIO: CONTROLE DE TA REFA S
EXERCCIO:
f
A partir do cen rio descrito no Exerccio 17 do Captulo 2 (Con trole de
Ta refa s) e dos casos de uso descritos, desenhe um diagrama de mquina
de estados para controle da mudana de esta d os de uma ta refa .
RESOLUO 49 (CONTROLE DE TAREFAS):
Aguardando E< ecucio da liam da Tarefa
eniry/ModificarSlaiusTarea [Aliva)
/ Item 6e execuo lanado
{concluso = 100%]
Verificando concluso da ta reia
[concluso < 100%] / MudarStatusTarefafCDiitiuida)
114
A lgu n s Exerccios sobre Di a gr a m a de Mquin a de Estados 115
50. CENRIO: ENCOMENDA DE PLA C A S
EXERCCIO:
A partir do cenrio descrito n o Exerccio 34 do Captulo 3 (Encomenda
de Placas) e dos casos de uso descritos, desenhe um diagrama de m-
quina de esta dos para con trole da mudana de esta d os de uma ta refa .
RESOLUO 50 (ENCOMENDA DE PLA CA S):
/ c a d a s tro da e n co ro s n da A gua rda n do Concluso da Encomenda
enlry/Mod i ficarSlatustAberto}
/ Cliente pede ca n cela m en to
", Encomenda pronta
C a n c e la n d o e n c o m e n d a
e m ry' M od if i ca i S lau, s (cance la do)
/ Cliente abandonou encomenda
A gua rda n do pa ga m en to e enlrega
enlfy/M odificarS latus( p ronto)
/ Cliente paga encomenda, ModificaiStalus(lechado)
51. CENRIO: RDIO TXI M A R a SOL
EXERCCIO:
A pa rtir d o cenrio d e s c rito n o Ex e rc c io 35 do Capitulo 3 (Rdio T x i
Mar & Sol) e dos casos de uso d escritos, desenhe um diagrama de m-
quina de esta d os para controle da mudana de e s ta d o s de uma ta re fa .
116 Exercitando M o d e l a ge m e m UM L
RESOLUO 51 (RDIO TAXI MAR & SOL):
Apndice
Questes de Concursos Pblicos
sobre Orientao a Objetos e UML
1- (BNDES 2002) A n a lise a s seguin tes a firm a es rela tiva s Programao
Orientada a Obj etos:
I. Em um programa orien ta d o a o bj e to s , as in stn cia s de uma classe a r m a -
zenam os mesmos tipos d e in fo r m a e s e apresentam o mesmo compor-
ta m en to.
II. Em uma a plica o orientada a o bj e t o s . podem existir mltiplas instncias
de uma mesma cla sse.
III. Em um programa o rie n ta d o a obj etos, as instncias definem os servios
que pod em ser so licita d o s a os mtod os.
IV. Em um programa orien ta d o a obj etos, o mtodo con strutor no pod e ser
executado quando a cla sse qual pertence e xe cu ta d a .
Indique a opo que c o n te n ha todas a s afirmaes verdadeiras.
a ) l e II b) II e III c) Ml e IV
d ) l e III e) II e IV
2- (TCM) No con texto da Orien ta o a Obj etos, o conj unto de obj etos que
tm a mesma estrutura e o mesmo com porta m en to denominado:
a) cla sse b) herana
c) polimorfismo d) encapsulamento
3- (Eletrobrs) Considere as seguintes assertivas sobre o diagrama de
classes na notao UML:
V. um a c la s s e representa um con j un to d e obj etos cuj a ca rd in a lid a d e s e m -
pre maior do que um.
117
118 Exercitando Modelagem em UML
VI. o polimorfismo das operaes uma con sequn cia da relao de herana
entre classes.
VII. se um obj eto A est associado a um obj eto B e B est associado a ma is
de um obj eto C ento, obrigatoriamente, um obj eto C esta r associado a
mais de um obj eto A.
As assertivas correias so:
a) somente l b) somente M c) som en te III
d) somente l e II e) som en te II e III.
4- (Eletrobrs) Em relao tecnologia de orien ta o a obj etos, a afirmati-
v a d e que o esta do d e um o bj e to n o d ev e ser a cessa d o d i r e t a m e n t e ,
mas sim por intermdio de mtodos de a cesso (ou propried a d es) est
diretamente rela cion a d a a o con ceito de:
a) herana b) Interface c) classe
d) polimorfismo e) encapsulamento
5- (TRE-2001) Generalizao / Especializao um tipo de relacionamento
possvel de ser aplicado a o(s) seguinte(s) elemen to(s) de modelo na
UML:
a) Casos de uso, classes e atores;
b) Casos d e uso e classes;
c ) C la s s e s e atores;
d) Casos d e uso e a to re s ;
e ) Cla sses.
6- (Eletrobrs) Observ e o seguinte dia gra ma de tra n sio de esta d os. Su-
ponha que o sistema se encontra n o e sta d o EstadoO, e que o c o rra a se-
guin te sequn cia de eventos:
a b c b b b c a
Questes de Concursos Pblicos sobre Orientao a Objetos e UML 119
O estado do sistema aps a ocorrncia destes eventos :
c) Esta d o2 a ) Es t a d o O
d) Estado3
b) Estadol
e) Estado4
7- fEl e t r o b r s ) Modelo de Casos d e Uso: C o n s id e re a s s e gu in te s a s s e r t i -
vas sobre casos de uso:
I. descrevem uma sequncia de pa ssos iniciada por um ator.
II. o estado em que o mundo deve se encontrar para que o caso possa ser
e x e c u t a d o chamado de pr-condio
III. o caso de uso no descreve a s resposta s do s is te m a aos estmulos envia-
dos pelo ator
IV. a recuperao de fa lha s na execuo de um pa s s o d e s c rita n a s e xce -
Qes
120 Exercitando Modelagem em UML
A s a s s e r tiv a s correias so:
a) somente as dos itens l, H e III;
b) somente as dos itens l, II e IV;
c) somente as dos itens l, III e IV;
d) somente as dos itens II, III e IV;
e) itens l, II, III e IV;
8- (Eletrobrs) Considere as seguintes assertivas sobre o modelo de clas-
ses mostrado abaixo (notao UML padro):
I. um obj eto livro pod e ser associado a mais de um obj eto leitor
II. um obj eto leitor est a ssocia d o a no m xim o um nico objeto livro
III. nenhum objeto emprstimo est a ssocia d o a uma associao e n tre livro e
leitores
Livro _
0..1 0..*
Leitor
Emprstimo
A s a s s e rtiv a s correias so:
a) somente o item I;
b) somente o item II;
c) somente o item III
d) som en te os itens l e II;
e) itens l. II e III.
Questes de Concursos Pblicos sobre Orientao a Objetos e UML 121
9- (El e t r o b r s ) Observe o diagrama de sequncia mostrado a seguir.
cntEmprestimo
TCNTEMPRESTIMO
leitor
:LEITOR
frmEmprestimo
TFRMEMPRESTIMO
C re a te
Obt e r C o d Le i t o r
M o s tra No m e Leitor
Nom eLeitorfcod : string)
Observe as seguintes a s s e rtiv a s sobre o diagrama de sequncia dado:
l. Os nomes dos objetos participantes da sequncia so: TFRMEMPRES-
TIMO, TCNTEM PRESTIJM O e LEITOR
II. ObterCodLeitor um servio de cntEmprestimo
III. ObterCodLeitor executa d o a n tes de MostraNomeLeitor
A s a ssertiva s c o r n e t a s so:
a ) somente a l
b) somente a II
c) somente a III
d) somente l e II
e) somente II e III
10- (Infraero) Observe as seguintes assertivas sobre a forma de especifica-
o de requisitos conhecida como Casos de Uso:
I. Todo ca so de uso tem a pa rticipa o de pelo menos um ator;
II. Um ator pode pa rticipa r somente de urn caso de uso;
III. O roteiro de um caso de uso no pode utilizar roteiros de outros casos de uso;
IV. O roteiro de um ca so de uso pode ser alterado por outro c a s o de uso.
122 Exercitando Modelagem em UML
Os atributos c o r r e i o s so somente:
a l e l l ;
b) l e IV;
c) II, III e IV ;
d) I. Ill e IV;
e) l, II, III e IV -
11- (IBGE) Considere as seguintes assertivas sobre a tcnica de especifica-
o de requisitos conhecida com o casos de uso:
l. to d o ca so de uso possui um roteiro;
II. o roteiro urna sequncia de pa ssos executa d os por um a t e r :
III. uma exceo d escrev e a recuperao da falha de um pa sso de um caso
de u s o .
A s assertivas c o r r e i a s so:
(A) somente a l;
(B) somente a II;
(C) somente a III;
(D) somente l e li;
(E) l, II e III.
12- (IBGE) Considere os seguintes elemen tos da UML:
I. classes
II. a s s o c ia e s
III. men sa gem
IV. estado
V. tra n sio
Os elementos que fazem parte de um diagrama de ciasses so:
(A) somente l e II;
(B) somente t, II e III;
(C) som en te l, 111 e IV;
(D) somente II, III e IV;
(E) somente III, IV e V.
Questes de Concursos Pblicos sobre Orientao a Objetos e UML 123
13- (TCU) Na UML, um diagrama de colaborao um t i po de diagrama de
i n t e r a o que coloca a n fa s e na ordem temporal de mensagens. (Cer-
to/Errado)
14- (SERPRO) Uma das vantagens dos mtodos de anlise e projeto orien-
tado a obj etos o aumento do gap conceituai entre os artefatos produ-
zidos nas fa ses de anlise, proj eto e implementao. (C e r t o /Er r a d o )
GABARITO
01 (A)
02 (A)
03 (B)
04 (E)
05 (A)
06 (E)
07 (B)
08 (D)
09 (C)
10 (B)
11 (E)
12 (A)
13 Errado
14 Errado
Ex e r c i t a n d o
m o d e l a ge m
e m UM L
e x e r c c i o s
r e s o l v i d o s
A p s escrever seu primeiro livro, Desen-
volven d o A plica es com UML - do con-
ceitua i implementao, atuaiiz-lo para
Desenvolvendo A p l i c a e s com UML2.0,
a a u t o r a , a o ba sea r-se n a experincia em
leeionar disciplin a s de modelagem de
desenvolvimento de sistema s, percebeu
que surgia uma nova demanda em sala
de aula: um m a t e r i a l de apoio prtico,
que pudesse ser usa d o para fi x a o d a
matria.
s s i m . perceben d o e s s a n e c e s s i d a d e c o m o n o e x c l u s i v a d a d o c n c i a , m a s la m bem d o a lun o

/ i q u e e n te n d e a te o ria , con tud o no con segue s a i r d o ponto ze r o ; e d o pr o fis s io n a l, q u e te m


a n e c e s s id a d e d o exemplo, prin c ipa lm e n te quando ca min ha s o zi n ho n um a nova e s t r a d a d e
a pr e n d i za ge m , surgiu a ideia d e "Ex e r c i t a n d o m o d e l a ge m em UML".
Es te liv ro o fe r e c e a o le ito r u m c a m i n ho pa r a a a pr e n d i za ge m , po r meio d e t e n t a t i v a s e erros,
exem plos e e x e r c c i o s . Para a t i n gi r e s t e o bj e t i v o , este m a te ria l est dividido em captulos, onde
ca d a um a v a n a gra d ua lm en te pelos con ceitos d e orien ta o a o b j e t o s e principais d ia gra m a s
d a UM L. No apndice, c o m o b n u s , so o fe r e c id a s algumas q u e s t e s d e c o n c u rs o s pblicos
r e l a c i o n a d a s a o tema.
Ana Cristin a de Souza Luiz de Melo
.brasport.c

Você também pode gostar