Escolar Documentos
Profissional Documentos
Cultura Documentos
EM UMLerivanildo
EM UMLerivanildo
51 exerccios
resolvidos
inclui questes de concursos pblicos
_j apresenta comentrios
modelos compatveis com as verses 1.4 e 2.0 da UML
JMU
Apresentao
Minha experincia lecionando disciplinas de modelagem de desenvolvimento de sistemas, com foco em UML, aliada necessidade de ter um
material de apoio tcnico mais completo, me levaram a escrever Desenvolvendo Aplicaes com UML1 - do conceituai implementao.
Entretanto, passei a perceber outras necessidades em sala de aula, nessa
e em outras disciplinas: um material de apoio prtico, que pudesse ser usado para fixao 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 Programadora, percebi que tambm temos a necessidade do exemplo. Principalmente quando aprendemos sozinhos. Nesse caso, aprendemos por
meio de tentativas e erros, exemplos e exerccios.
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 (2a edio).
Sumrio
1
3
4
5
6
8
9
10
12
13
15
15
16
17
18
21
22
24
25
28
30
33
33
35
36
37
39
42
44
46
48
51
54
56
58
60
61
67
74
79
86
86
92
97
.....100
103
114
114
115
115
117
Captulo
Um dos principais diagramas da UML o Diagrama de Classes. Observando meus alunos, no vejo dificuldade no aprendizado do que um relacionamento de associao, herana ou agregao. Vejo dificuldade em
se abstrair o conceito desses relacionamentos do mundo real, ou melhor,
de um problema real.
construes.
IMAGEM DA PLANILHA:
LISTA DE ACOMPANHAMENTO DE GASTO DE LUZ
4166
4201
kw gasto
350
206,43
157,07
350
460
ago/05
Jul/05
460
15,33
12,06
EXERCCIO:
Identifique as classes, atributos e mtodos desse cenrio.
RESOLUO:
Classe
ContaLuz
Atributos
dataLeitura : date
nmeroLeitura: integer
qtdKwGasto : integer
valorPagar: real
daiaPagamento : date
mediaConsumo: real
Mtodos
cadastrarConta
verificaMesMenorConsumo : string
verificaMesMaiorConsumo: string
RESOLUO:
Classe
TextoSaida
enumeration
EnumTpoComponente
enumeration
EnumCor
Atributos
texto : string
tipoComponente :
EnumTipoComponente
tamanhoLetra : integer
corFonte: EnumCor
corFundo : EnumCor
label
edit
memo
preto
branco
azul
amarelo
cinza
Mtodos
cadastrar
exibirTexto
EXERCCIO:
Identifique as classes, atributos e mtodos desse cenrio.
RESOLUO:
Classe
Boneco
enumerai ion
EnumDirecao
Atributos
nome : string
coordenadaX : integer
coordenadaY : integer
direcaoAtual : EnumDirecao
cima
baixo
direita
esquerda
Mtodos
cadastrar
mover (novaCoordenadaX:
integer, novaCoordenadaY: integer)
4.
PrescricaoRemedio
HorarloRemedio
Atributos
usurio : strng
datalnicio : date
qtdDias : integer
qtdVezesDia : integer
dosagem : real
remdio : string
/planrlnaHorario : Coleo
de HorarioRemedio
data : date
horrio : time
Mtodos
sugerirHorarios
exibirPlanilhaHorarios
(dataReferencia : date )
cadastrarHorario
d) A classe HorarioRemedio foi criada incluindo o atributo data, para permitir o cadastramento de horrios diferentes para cada dia. Se no fosse por
essa abordagem, poderamos ter criado um atributo horrio: time na classe
PrescricaoRemedio, com multiplicidade de [1..*], prevendo de uma a vrias
doses (horrios) por dia.
RESOLUO:
Classe
TipoGasto
Gasto
enumerationi
EnumFormaPagamento
Atributos
descricaoTipo : string
/tipo : Classe TipoGasto
data : date
valor : real
formaPagamento : EnumFormaPagamento
dinheiro
cheque
carto
chequePre
Mtodos
cadastrar
cadastrar
gerarRelatoroMensal{mesAno: string)
rara mutao. Numa aplicao de contexto maior, essa classe poderia deixar de ser enumeration para se transformar numa classe de negcios.
b) Todo gasto refere-se a somente um tipo. Isso cria um relacionamento da
classe Gasto com a classe TipoGasto, representada pelo atributo tipo.
c) Toda a complexidade do relatrio mensal est encapsulada no mtodo
gerarRelatorioMensal.
6.
RESOLUO:
Classe
Produto
Comanda
ItemComanda
Atributos
cdigo : string
descrio : string
precoUnitario : real
numero : integer
/valorTotal : real
/itens : Coleo de ItemComanda
/produto : Produto
quantidade : integer
Mtodos
cadastrar
registrarltem( item : ItemComanda )
fecharComanda
cadastrar
Unidade de
compra
Qtd Ms
Arroz
Feijo
Acar
Carne
Kg
Kg
Kg
Kg
Total Estimado
Qtd
Compra
8
7,5
Preo
Estimado
1,80
2,10
1,05
8,00
150,00
Produto
Atributos
ms : integer
/itens : Coleo de ItemCompra
/total Estimado : real
/produto : Classe Produto
qtdEfetivaCompra : real
nome : string
unidadeCompra : string
qtdPrevistoMes : real
precoEstimado : real
Mtodos
cadastrar
obterTotalEstimado{ms :
integer)
cadastrar
cadastrar
b) Toda lista de compras possui um conjunto de itens. Isso cria um relacionamento da classe ListaCompra com a classe ItemCompra, representada
pelo atributo itens. Por sua vez, um item de compra se refere a somente
um produto. Essa representao se d por meio do atributo produto.
EXERCCIO:
Quais so os atributos e/ou mtodos que precisam ser includos nas classes do
exercfcjo gnjerjgrjara reflejir esse novo cenrio.
RESOLUO:
Classe
ListaCompra
ItemCompra
Produto
Atributos
ms : integer
/itens : Coleo de lemCompra
/total Estimado : real
/produto : Classe Produto
qtdEfetivaCompra : real
/preo Mximo M es : real
nome : string
descricaoProduto : string
unidadeCompra : string
qtdPrevistoMes : real
precoMaximoAnterior : real
procoEstmado :-feol
Mtodos
cadastrar
obterTotalEstimado(ms :
integer)
cadastrar
cadastrar
9.
CENRIO: Carolina est assustada com a variao de preo de um Supermercado para outro. Tem feito compras (ou pedido para fazer) em at trs Supermercados 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:
Ms de
Produto
Compra
Arroz
julho
Arroz
agosto
Arroz
setembro
Feilo
julho
Feijo
agosto
Valor
Compra
1.80
1.75
2,05
2.10
2,25
Supermercado
XXX
YYY
XXX
XXX
XXX
EXERCCIO:
Quais so os atributos e/ou mtodos que precisam ser includos nas dm
exerccio anterior, para refletir esse novo cenrio.
Verifique se h necessidade de criar novas classes.
RESOLUO:
Classe
LlstaCompra
ItemCompra
Produto
HistoricoCompra
Supermercado
Atributos
ms : integer
/itens : Coleo de ItemCompra
/total Estimado : real
/produto : Classe Produto
qtdEfetivaCompra : real
/precoMaximoMes : real
nome : string
descricaoProduto : string
unidadeCompra : string
qtdPrevistoMes : real
/precoMaximoAnteror : real
ms : integer
/produto : Classe Produto
valorPago : real
/supermercado : Classe
Supermercado
nome : sring
Mtodos
cadastrar
obterTotal Estimado)
: integer)
'
cadastrar
cadastrar
.
cadastrar
cadastrar
*m
que se armazena o valor pago a cada ms, indicando em que supermercado foi feita a compra.
RESOLUO:
MTODO DA CLASSE HISTORICOCOMPRA:
obterSupermercadoMaisVantajoso(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
RESOLUO:
CLASSE:
ATRIBUTO:
HistoricoCompra
validoParaAnalise: boolean
EXERCCIO:
Identifique as classes, atributos e mtodos desse cenrio.
Represente os relacionamentos como atributos derivados.
RESOLUO:
Classe
Musico
Atributos
nome : string
ehSolo : boolean
Mtodos
cadastrar
Classe
CD
Atributos
/musico : Classe Musico
titulo : sfring
ano : intetjer
Mtodos
cadastrar
RESOLUO:
Classe
Musico
CD
Atributos
nome : string
ehSolo : boolean
/musico : Classe Musico
titulo : string
ano : tnteqer
Mtodos
cadastrar
cadastrar
listarCdsPorMusico(musico:
Classe Musico)
Mtodos
listarCdsPorMusica(musica:
Classe Musica)
Atributos
ehDuplo : boolean
ehColetnea : boolean
/ItstaMusIcas : Coleo de
Musica
nome : string
tempoFaixa : real
Musica
CD
0..*
cadastrar
1.-"
Musico
1..'
Musica
Na planilha, ela criou a coluna de horrios e trs colunas, uma para cada
sala de reunio. Num controle parte, ela relaciona o nome do funcionrio,
seu cargo e ramal. Alm da alocao, surge frequentemente a necessidade de realocao de uma reunio, mudando sala e/ou data e/ou horrio.
Outra consulta constante que feita Patrcia, pelos Diretores, sobre as
salas que estaro livres numa determinada data, numa faixa de horrio.
Para cada sala, precisa-se saber o nmero de lugares. Veja o exemplo a
seguir.
IMAGEM DA PLANILHA:
QUagosto
Horrio
08h30m
09h
09h30
10h
10h30
11h
Sala 101
Dr. Glauco Assunto: processo
empresa Mar e
Lua
Sala 105
11h30
Sala 201
Mariana - assunto: anlise
de material
EXERCCIO:
Identifique as classes, atributos e mtodos desse cenrio.
Represente os relacionamentos como atributos derivados.
Desenhe um diagrama de classes, somente com o nome das classes,
especificando os relacionamentos e as multiplicidades.
RESOLUO:
Classe
AlocacaoSala
Atributos
/sala : Classe
Sala Reunio
dataAIocacao : date
horalnicioAlocacao : time
horaFimAlocacao : time
/responsavelAlocacao:
Classe Funcionrio
assunto : string
Mtodos
aiocar
realocar(novaData : date,
novaHoralnicio: time,
novaHoraFim: time, novaSala:
Classe Sala)
cancelar
Atributos
nome : string
cargo : string
ramal : integer
Funcionrio
numero : integer
qtdLugares : integer
SalaReuniao
Mtodos
cadastrar
cadastrar
obterSalaLivrefdata: date.
horalnicio: time. horaFim: timel :
coleco de SalaReuniao
SalaReuniao
O
o..AlocacaoSala
0..*
Funcionrio
Classe
AlocacaoSala
Funcionrio
Atributos
/sala : Classe
SalaReuniao
dataAIocacao : date
horalnicioAlocacao : time
horaFimAlocacao : time
/responsavelAlocacao:
Classe Funcionrio
assunto : string
/listaMateriaisAlocados :
Coleo de Material
nome : string
cargo : string
ramal : integer
SalaReuniao
numero : integer
qtdLugares : integer
Material
nome : string
Mtodos
alocar
realocar(novaData : date,
novaHoralnicio: time,
novaHoraFim: time, novaSala:
Classe Sala)
cancelar
cadastrar
cadastrar
obterSalalivrefdata: date,
horalnicio: tirne. horaRm:
time) : coleco de
SalaReuniao
cadastrar
SalaReuniao
O
0..'
AlocacaoSala
0..*
Funcionrio
0..*
0..*
Material
Funcionrio
Atributos
matricula: integer
nome: string
dataNascimento: date
/endereo: Classe Endereo
/telsContato: Coleo de
Telefone
/cargo: Classe Cargo
salrio: real
dataAdmissao : date
Mtodos
cadastrar
obterldade
reajustarSalario (percentual:
real)
promover(novoCargo : Cargo)
Classe
Atributos
cdigo : string
norne : string
dataNascimento : date
/endereo : Classe Endereo
/telsContato : Coleo de
Telefone
/profisso : Classe Profisso
Cliente
;,
Mtodos
cadastrar
obterldade
EXERCCIO (A):
Crie uma superclasse que contenha os atributos comuns,
reformulando todas as classes.
RESOLUO:
Classe
Pessoa
Funcionrio
Cliente
Atributos
nome : string
dataNascimento : date
/endereo : Classe Endereo
/telsContato : Coleo de
Telefone
matricula : integer
/cargo : Classe Cargo
salrio : real
dataAdmissao : date
cdigo : string
/profisso : Classe Profisso
Mtodos
cadastrar
obterldade
reajustarSalario
(percentual : real)
promover(novoCargo :
Cargo)
EXERCCIO (B):
Que classes esto se relacionando com a classe Funcionrio?
RESOLUO:
Por herana da classe Pessoa: Endereo e Telefone. Relacionando-se
diretamente com Funcionrio: Cargo.
EXERCCIO (C):
Que classes esto se relacionando com a classe Cliente?
RESOLUO:
Por herana da classe Pessoa: Endereo e Telefone. Relacionando-se
diretamente com Cliente: Profisso.
Captulo J^B
CONVENES m CAPITULO:
- Todas as classes contm atributos (com seus tipos), mtodos (com seus
parmetros e tipo de retomo) e relacionamentos (com suas multiplicidades);
- Atributos derivados ou de classe tambm so representados. Atributos e
mtodos de classe so representados sublinhados;
- O diagrama de classes da fase de anlise. Sendo assim, no aparecero atributos derivados que representem relacionamentos;
- Os mtodos descritos foram deduzidos a partir do cenrio. Entretanto, a
lista completa dos mtodos s possvel obter a partir de um diagrama de
24
sequncias, que tem por objetivo identificar a troca de mensagens existente entre objetos, em cada caso de uso;
- Os casos de uso Manter XXX indicam que o caso de uso tratar da consulta, incluso, alterao e excluso de XXX. Exemplo: Caso de Uso Manler Cliente responsvel pela consulta, incluso, alterao e excluso dos
dados cadastrais de cliente;
- Os atributos e mtodos seguem a nomenclatura da UML. ou seja, iniciam
com letra minscula, tendo a primeira letra de cada palavra (a partir da
segunda) em maiscula;
- Todo atributo cujo tipo seja uma classe enumeration no definido como
um atributo derivado, visto a classe enumeration atuar com um tipo de dado e no como um relacionamento.
Vamos exercitar nosso poder de abstrao!
EXERCCIO:
1. Desenhe o diagrama de casos de uso.
2. Desenhe o diagrama de classes completo.
extends.
extends
Pessoa
Verificar
Concluso da Tarefa
oenumarateda
EnumStatusTarefa
0..*
percentual: real
descrio: string
data Execuo: date
Somatrio de HEmExecucao.Percentual,
quando ItEmExecucao.dataExeciicao <> null
ai i v
concluda
concluda, o ator volta nesse caso de uso para lanar a data de execuo.
O item de tarefa considerado como concludo se tiver uma data de execuo cadastrada.
Exemplo:
Ligao de 2m
Ligao de 4m30s
- 1 pulso
- 2 pulsos
Ligao de 8m
- 3 pulsos
iqclude
N
\
"i
Pessoa
include
Calcular pulsos
Cadastrar valores
variveis para regra
de clculo
Agenda
O..*
nomeContalo: string
OddTeleooe: string
telefone: string
O..'
data: date
hora Inicio: lima
horaTerrnino: time
flernpoGasto: real
MumeroPulsos: Integer
telefoneDiscado: string
RegraCalculo
valorPulso: real
inlervaloPulso: Integer
calcuiarPulsos(cJ9la: dale.
lempoLigacao: neal): Integer
calcularTempo(horalnicio: time,
horaTernino: Hme): raal
discar
encerrariJgacao
Professor
exlends
exiends
Questo.numero. Questo.enunciado
Questo
Questo.matria.disciplina.nome = "MATEMTICA"
Questo.matria.serie = l
b) Como o nico usurio dessa aplicao a Mariana, e ela assume o papel de professora particular ao preparar os testes para as filhas, o ator foi
identificado como Professor.
Questo
numero: inleger
enunciado : string
gabarito : string
bimestre: nteger
geraQuestaoA!ealoria(disciplina:
Disciplina)
0..'
Disciplina
M ale ria
nome; string
descrio : string
serie: integer
O
nome: strirtg
RESOLUO:
Na classe Questo so includos dois atributos:
-fatorAparecimentoNumerador: integer
- fatorAparecimentoDenominador: integer
Para cada tema, preciso controlar: a lista de itens que compem o tema
(ex: castelo, boneca da Cinderela, bruxa etc.), o valor do aluguel e a cor da
toalha da mesa que deve ser usada com o tema.
EXERCCIO:
1. Desenhe o diagrama de casos de uso.
2. Desenhe o diagrama de classes completa_
ItemTema
1..*
nome: string
valorAluguel: real
corToalfia: string
nome: string
descrio: string
O..'
Aluguel
dataFesta: date
horrio Inicio: time
horarioTermino: lime
v Io rCo brado: real
1..'
Cliente
nome : string
telefone: string
Endereo
endereo da lesla
logradouro: string
numero: string
complemento: string
bairro: string
cidade: string
cep: string
uf: string
Diretor
Controlar aluguel
de tema
Departamento
Administrativo
Turma
0..'
nome: string
carjaHoraria: real
contedo Programtico: slring
valor: real
dalalnicio. date
dalaTermino: da l
horalniclo: lima
horaTemiino: lime
Q..'
Pmfessor
nome: strng
telefone: siring
valorHoraAula: real
Departamento
Administrativo
Curso
nome: slring
carga Horria : real
conleudoProgramaUco:
valor: real
ddti: slring
numero : slring
t p : slrng
Turma
Aluno
dalalnido: date
-:, " ---.P - : -; :iharalnlciQ : lime
horgTermino : rjma
Professor
nome: Elring
telefone: stnng
valorHoraAula : real
nome: S
identidade: Slring
cpf: slring
dataNascimenlo : dale
Endereo
Matricula
(Jala : date
ualorPago : real
logradouro : srtng
numenj : sLring
complemento ; atrng
bairro : slring
uf : string
5
1
1
computador
olaca vdeo
cen drive
DVD
imvel venda
imvel aluguel
2
1
2
35
comoutador
Dlaca vdeo
oen drive
imvel venda
imvel aluauel
3
2
5
/
O anncio segue o formato desse exemplo:
Seco Computador
Pentium 4 3.0 Ghz
RS 1.300,00
2222-1111/2111-2222
noite
inserido em:
EXERCCIO:
1. Desenhe o diagrama de casos de uso.
2. Desenhe_o_diagrarna dg c[asses_CQrnpleto.
01/08/2005
exlends
Manter E a ces da
interesse do cliente
SUBO
nome '. string
nome : siri na
qldPelavras : inlEger
com Imagem : boolean
(otahiaAnunciOs
o..-
-'
Seo da Interesse
Anuncio
lextTltulo : slrtng
preo : real
teirtoAnuncio : string
nomeConlalo : strlng
telefonei - strlng
telefane2: strlng
obsTelefone : slring
Imagem : Pictura
dalalnsercao : date
0..'
Cliente
0..'
1
nome : strlng
telefone islrlng
eMail : alring
aGinan!e . boolean
Jogador
Administrador
mxne: slring
0.,'
Rodada
BancoPalavra
paiavraOuFrase: slring
/ehPrasa:boolean
o..-
o
ConlroteRoflada
telrasErradas: slring
siluacaofalavra: slring
exibeBoneco
vedficaLetra (tetraJogads: sr-mg i
Desenhar rvore
Hierrquica
Analista
enumera te d
EnumStatus
mostra rArvore
1..*
naolniciado
a m Desenvolvimento
finalizado
a provadoPel oLIsu ario
C aso Uso
/identificao : strirtQ
nome : string
s tatus : EnumStatus
nomeTemnlatB girino
eti Caso UsoExten so : Doolean
renomaar (novoNome : string)
mudarPacote (novoPacote : Pacote)
a) O atributo identificao um atributo derivado, cujo valor obtido a partir da regra de negcio que determina o prefixo de um caso de uso (UC ou
UCE).
b) O atributo nomeTemplate um atributo de classe, que contm o nome
do arquivo de template utilizado para criar novos casos de uso.
c) As tarefas de renomear um caso de uso e mudar um caso de uso de
pacote esto implcitas dentro do caso de uso Manter caso de uso.
entenda
Manter emprstimo}^
Bibliotecrio
nome ; slring
Revrala
Amigo
nojne;E[rinfl
numeroEdicao: m tcgw
ano: intfler
telefona: suna
gnjpc: EfiumGnJpoAmlgo
numero: rnlegar
IdenljficacaoEliquebi'. ilring
cor: slriOQ
prdio
escola
200,00/10x2=
200,00/10x3=
200,00/10x2=
200,00/10x3=
40,00
60,00
40,00
60,00
- Para cada item do condomnio, cadastra-se a referncia (ex: mar/05 referente ao ms da conta; 1/3 - fator de parcelamento);
- O condomnio pago diretamente com a Sndica. Se for pago com atraso, cobra-se multa de 2%. O condmino pode optar em pagar a multa no
ms seguinte. Nesse caso, o percentual passa para 5% e lanada como
despesa do prximo condomnio.
Completa-se, ento, para o cadastro de cada condomnio de apartamento,
a data do pagamento e o valor pago.
EXERCCIO:
1. Desenhe o diagrama de casos de uso.
2. Desenhe o djagrama de classes completo.
Proprietria
numero: Inleger
qLdQuartos: integer
ocupao: EnumTrpoOcupaao
nome:stnng
telefone - :-:nr.q
jnesAno . slrlng
cifl: slritig
valor: real
: real
.--':;-:: : in
"npoDespeaa
O,.
nome : ainng
: boolean
EnumlipoOcupacao
(nqulllno
Vazo
mesAno: atring
valor: rc&1
R$ 20,00
R$ 40,00
R$ 25,00
R$ 85,00
R$ 30,00
R$ 60,00
R$ 90,00
Dra. Janete contratou um analista free-lancer para lhe desenvolver um sistema que controle a marcao de consultas e a ficha dos pacientes.
Para os pacientes, preciso controlar: nome, endereo, telefones de contato, data de nascimento, data da primeira consulta, e-mail, se particular
ou conveniado a plano de sade. No caso de ser conveniado, registrar
qual o plano de sade. Para cada plano de sade credenciado preciso
controlar o limite de consultas no ms, por paciente.
Dra. Janete atende no consultrio da Ilha s segundas e sextas, de 9h s
18h. Na Tijuca, ela atende tera e quarta de 10h as 18h. Na quinta, ela
atende em Bonsucesso, de 10h s 18h. O intervalo das consultas de
trinta minutos. O horrio de almoo sempre de 12h30 s 13h30. S so
permitidos trs encaixes por dia. Para clientes novos, Ana anota o nome
do cliente e o seu telefone. preciso identificar se uma consulta de reviso, como por exemplo para entrega de exames. Nesse caso, ela no
cobrada.
A marcao de consultas deve considerar uma data futura limite.
EXERCCIO:
1. Desenhe o diagrama de casos de uso.
2. Desenhe o diagrama de classes completo.
"--
includa
exlends
Secretria
Tefafona
nome: slnng
and-Braca: slnng
dalaNas&meiCo: aSn
dalaPrfmeiraCwiauCtB: date
aMall : Etring
pJan-oParticular: bootoan
numera: alring
upo: stmg
obs:stnng
EiomTipoConsuHofio
RanoSaude
Ilha
Bon
Tljuca
nome;Blrng
limteConsuIlaaMe:
Agenta
Consulta
data : dala
hora : lime
rialBLimitBMjtrcacaaFutura : dars
consultRayL&at] : brjlean
eiEncama : boolsan
NiriileEncaikfia = 3
marcarConsulIa
o..-
daSeniana Inleger
con^uIloriD : EnurnUpoConsultorta
horarinPrimairaCDnauIlH . Uma
h?rarinUlljinaConsiilla : time
mlarvaJurCofiSiilta : fnteger
htrffiOlrtldoAlmoco : Ume
horariDnrnAliTiqca : lime
Relatrio de Faturamento
Perodo: 01/07/05 - 31/07/05
Tipo
Pagamento
Particular
Unimed
Unimed
Qtd
Valor
Previso
Total
Recebimento
2000,00 em caixa
20
25
950,00
01/08/2005
1900.00
50
05/08/2005
Relatrio de Faturamento
Unimed
Unimed
Unimed
Unimed
Unimed
Cassl
Cs si
Total
Perodo: 01/07/05-31/07/05
30
1140,00
950,00
25
760,00
20
15
15
50
30
280
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:
Atualize o diagrama de casos de uso e
indique o que rnyda no modelo de classes.
Doutora
Secretria
Consulta
data : date
hora : time
d aiaLi m ite M a rcacaoF u!u r date
consultaRevisao : boolean
e h Encaixe : boolean
HmiteEnraixes = 3
valorConsulta : real
valorPago ; real
dataApresentacaoPlano : date
n orne: string
NmiteConsutasMes: integer
prazo C redito: Integer
valorConsulta : real
marcarConsulta
1
*exlends
Secrelria
peso: real
altura: real
descrio: string
Consulta
D..'
Prescrio
0..'
dosagem: strng
tempo: string
instrues: string
PlanoSaude
nome: string
NmiteConsultasMes: integer
prazoCredito: integer
vatorConsulta ; real
- _
Apostador
JogoLolerico
nome: slring
qld Mnima Aposte: inleger
qTdMaximaAposta: nleger
limileSuperioiAposta: inloger
rninimoAcertos: iniegar
mximo Acertos: Inlegei
qldNumSortBBiJos: inleger
0..'
numeroCcmcurso: inleger
data :da!e
1..*
Prerraacao
Aposta
numeroAposlado: irileger
(Concurso .JogaL.Qterlco.qldMinimaApoEta,
C on eu rso JogoLoterico .qldMaxi maAposla]
laixa: Integer
valeu: real
acumulado: boolean
riurn&FoSorteadQ: inleger
[C oncurso. JogoLole rico .qldN umSortea do s]
conferirAfldsta
Captulo
Exercitando a Identificao
de Casos de Uso
60
= altura x largura
= rea x R$ 147,30
= nmerojetras x R$ 0,32
= custojmaterial + custo_desenho
Para calcular o prazo de entrega, considera-se que ele s consegue produzir seis placas por dia.
Joo deseja que o sistema controle os pedidos, calcule o preo final das
peas e o prazo de entrega. Para cada encomenda cadastrada, deve ser
emitido um recibo em duas vias (cliente e empresa), contendo todos os
dados da encomenda e do pagamento.
EXERCCIO:
A partir do cenrio descrito, desenhe o diagrama de casos de uso e escreva
seus cenrios. Considere que s existe um ator, que o Sr. Joo, dono de sua
micro-empresa, que pode ser identificado como "Diretor da empresa".
Consultar Cliente
/ Calcular Preo de
extenua,-\Venda da Encomenda
Cadastrar Encomenda
Departamento
Administrativo
Calcular Prazo
de Entrega
Cadastrar custo para
slculo do valor de venda
Modificar Status
da Encomenda
CONSULTAR CLIENTE
Este caso de uso tem por objetivo apresentar os clientes cadastrados e
Descrio:
habilitar a incluso, alterao ou excluso de clientes.
Ator:
Diretor da empresa
Cenrio Prncjpjl:
1.
2.
3.
4.
5.
MANTER CLIENTE
Descrio:
Este caso de uso tem por objetivo permitir a incluso alterao ou excluso
de dados ligados ao cadastro de clientes.
Diretor da empresa
Ator:
Pr-condico;
Receber a identificao do tipo de operao e os dados cadastrais do cliente, no caso de alterao
ou excluso.
Cenrio Principal:
1. Manuteno do Cadastro
1.1 .Em caso de Incluso", o sistema habilita a edio dos dados.
1 2 Em caso 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 usurio informa, no caso de "Alterao" ou "Incluso":
2.1. nome do cliente
2.2. telefone de contato
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.
Cenrio Alternativo:
- Excluso no permitida
No possvel excluir um cliente que esteja associado a uma encomenda.
CADASTRAR ENCOMENDA
Descrio:
Ator:
Diretor da empresa
CenrjoPrincipal:
1. O sistema busca e exibe a lista dos clientes cadastrados, em ordem alfabtica de nome.
2. O usurio seleciona um nome de cliente da lista preexistente.
3. O sistema exibe o telefone do cliente.
4. O usurio informa os dados da encomenda:
4.1. altura da placa
4.2. largura da placa
4.3. frase para impresso
4.4. cor da placa, selecionada dentre as opes: cinza ou branca.
4.5. cor da frase, selecionada dentre as opes: azul, vermelho, amarelo, preto ou verde.
4.6. o sistema associa a data da encomenda como sendo a data atua!.
5. O sistema calcula e exibe a data prevista 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.
Ator:
Cenrio Principal:
1.
O sistema busca o total de encomendas com status = "aberto", agrupados por data, excluindose o dia atual.
2.
O sistema verifica a primeira data disponvel da lista, onde o nmero de encomendas seja
inferior a seis.
O sistema retorna a data disponvel no item 2, como a data prevista de entrega.
3.
Cenrio Alternativo:
- Nenhuma data disponvel
Se no houver nenhuma data disponvel dentro da lista recebida, o sistema deve calcular a
data prevista de entrega como sendo a maior data da lista acrescida de um dia. Se a data prevista
cair num sbado ou domingo, deve ser incrementada at a segunda-feira.
- Nenhuma encomenda cadastrada
Se no houver nenhuma encomenda cadastrada, o sistema deve calcular a data prevista
de entrega como sendo a data da encomenda acrescida de um dia. Se a data prevista cair num
sbado ou domingo, deve ser incrementada at a segunda-feira.
Este caso de uso tem por objetivo modificar o status de uma encomenda
durante a sua execuo.
Ator:
Diretor da empresa
Cenrio Principal:
1.
2.
4.
5.
3.
Cenrios Alternativos:
- Encomenda Inexistente
Quando o cliente solicitar uma corrida programada (pedidos com antecedncia maior do que meia hora), cadastra-se no controle de corridas: o
endereo de sada do carro, o bairro de destino, a data e hora de sada,
telefone de contato (se local de saida diferente do cadastro). Se o cliente
no for cadastrado, seu cadastro deve ser feito no momento da solicitao
do carro. O status dessa corrida deve ser definido como: "aguardando VR".
Uma hora antes da corrida programada, a operadora questiona, pelo rdio,
aos cooperados que estejam em trnsito, qual deseja pegar a corrida programada. Deve ser cadastrado na aplicao o nmero da VR do taxista
que se candidatou corrida. Meia hora antes do horrio, o cliente deve ser
avisado a respeito do nmero da VR. Antes de avisar ao cliente, o status
deve ser assinalado como: "aguardando aviso". Aps o aviso, o status muda para "aviso efetuado". Aps ser atendido, o status deve ser alterado
para: "tripulado". Em qualquer momento a corrida pode ser cancelada pelo
passageiro.
Se for uma solicitao de carro imediato, a operadora deve retomar tela,
informando o status dentre as opes: "aguardando aviso", "aviso efetuado", "cancelado pelo passageiro" ou "cancelado pela cooperativa por falta
de carro". Se um logradouro no estiver na lista, a solicitao no ser
atendida.
Quando o cliente for atendido, o status deve ser alterado para: "tripulado".
EXERCCIO:
A partir do cenrio descrito, desenhe o diagrama de casos de uso e escreva os
seus cenrios. Considere que: o cadastramenlo das corridas e dos clientes
feito pela Operadora da Central; o cadastramento dos cooperados feito por
qualquer funcionrio da rea Administrativa; e o controle mensal de pagamentos_de diriaA fejto peia rea Financeira.
...
CONSULTAR CLIENTE
Esle caso de uso tem por objetivo apresentar os clientes cadastrados e
Descrio:
habilitar a incluso, alterao ou excluso de clientes.
Ator:
Operadora
Cenrio Principal:
1. O sistema prepara uma lista de todos os clientes cadastrados.
2. O sistema oferece ao usurio:
2.1. selecionar um cliente, para alterar seu cadastro;
2.2.!ocalizar um cliente ou conjunto de clientes por meio de pesquisa;
2.3. selecionar a opo de "inserir cliente".
3. Pesquisa de Cliente
3.1. Para localizar um cliente, o usurio deve inserir um trecho do nome do cliente como critrio de pesquisa. O sistema far a busca parcial.
3.2.0 sistema exibe a lista de clientes que satisfaa 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 Cliente]
5. Seleo de Cliente
5.1 .Aps selecionar um cliente, o sistema habilita as opes de "alterar cliente" e "excluir cfiente".
5.2.Se o usurio selecionar uma dessas opes, o sistema aciona o cadastro de cliente. [Include Caso de Uso Manter Clienle]
MANTER CLIENTE
Descrio:
Ator:
Pr-condlo:
Este caso de uso tem por objeivo permitir a incluso, alterao ou excluso
de dados ligados ao cadastro de clientes.
Diretor da empresa
Manuteno do Cadastro
2.
3.
5.
rea Administrativa
Cenrio Principal:
1.
2.
3.
4.
5.
MANTER COOPERADO
Este caso de uso tem por objetivo permitir a incluso ou alterao de dados
Descrio:
ligados ao cadastro de cooperados.
Ator:
rea Administrativa
Pr-condio:
Receber a identificao do tipo de operao e os dados cadastrais do cooperado, no caso de alterao ou excluso.
Cenrio Principal:
1.
2.
3.
Manuteno do Cadastro
1.1 .Em caso de "Incluso", o sistema habilita a edio dos dados.
1 .z Em caso 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.
O sistema prepara uma lista de logradouros cadastrados.
O usurio informa, no caso de "Alterao" ou "Incluso":
3.1.CPF
3.2.nome do cooperado
3.3.dados da carteira de motorista: nmero, categoria e data de validade
3.4.dados do veculo: nmero da VR {identificao do veiculo na cooperativa), nmero da placa, modelo, fabricante
3.5.endereo completo, considerando que o logradouro selecionado de uma lista preexistente. Ao selecionar o logradouro, o sistema exibe o bairro, a cidade e o estado. O usurio
completa o cadastro do endereo com o nmero e complemento.
4.
5.
MANTER LOGRADOURO
Este caso de uso tem por objetivo apresentar os logradouros atendidos pela
Descrio:
cooperativa e habilitar a incluso, alterao ou excluso de logradouros.
Ator:
rea Administrativa
Cenrio Principal:
1.
2.
CADASTRAR CORRIDA
Este caso de uso tem por objetivo cadastrar a solicitao dos clientes de
corridas
programadas (que so pedidas com antecedncia maior do que
Descrio:
meia hora) ou imediatas.
Ator:
Operadora da central
Cenrio Principal:
1. O usurio informa o cdigo de identificao do cliente.
1.1.0 sistema pesquisa o cdigo e exibe: o nome do cliente, seu endereo e telefones.
1.2.0 sistema exibe a lista de corridas programadas.
1.3.0 sistema oferece ao usurio:
1.3.1. selecionar uma corrida, para alterar seu cadastro;
1.3.2. alterar o cadastro do cliente;
1.3.3. selecionar a opo de Inserir corrida".
2. Manuteno do Cadastro
2.1 .Em caso de "Incluso", o sistema 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 cadastrados desabililados para edio.
3. Alterao 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 endereo:
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 preexistente.
4.2.3. o usurio informa o nmero e o complemento do logradouro, alm de um telefone
de contato.
4.3.0 usurio informa o bairro de destino da corrida.
4.4.0 usurb informa a data e a hora para a qual a corrida deve ser programada; ou se uma
corrida imediata.
5. Somente para "Alterao" de corrida:
5.1. o sistema prepara uma lista de veculos cadastrados.
5.2. o usurio informa o nmero da VR escolhida para a corrida.
5.3. se a VR tiver sido informada, o usurio poder alterar o status 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 alterar o status da corrida para:
5.4.1. "cancelado pelo passageiro";
5.5.No caso de corrida imediata e no tendo sido informada a VR, o usurio poder alterar o
status da corrida para:
5.5.1. "cancelado pela cooperativa por falta de carro".
6.
7.
Tcr,
MANTER JOGO
Descrio:
Este caso de uso tem por objetlvo permitir a incluso ou alterao de dados
ligados ao cadastro de jogos (competies).
Ator:
Apoio Tcnico
Cenrio Principal:
1. O sistema prepara uma lista de todos os jogos cadastrados.
2. O sistema oferece ao usurio:
2.1 .selecionar um jogo, para alterar seu cadastro;
2.2. localizar um jogo ou grupo de jogos por meio de pesquisa;
MANTER JOGADOR
Descrio:
Este caso de uso tem por objetivo permitir a incluso ou alterao de dados
referentes ao cadastro de jogadores.
Ator:
Apoio Tcnico
Cenrio Principal:
1. O sistema prepara uma lista de todos os jogadores cadastrados.
2. O sistema oferece ao usurio:
2.1 .selecionar um jogador, 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 jogador, o usurio deve inserir um trecho do nome como critrio de pesquisa. O sistema far a busca parcial.
3.2.0 sistema exibe a lista de jogadores que satisfaa o critrio, exibindo para cada um:
3.2.1. nome do jogador
3.2.2. nmero da camisa
4.
Manuteno do Cadastro
para edio.
4.4.1. No caso de excluso, o sistema solicita a confirmao.
O usurio informa, no caso de "Alterao" ou "Incluso":
5.1.nome do jogador
5.2. nmero da camisa
Este caso de uso tem por objetivo fazer o controle do placar de um determinado jogo, desde o primeiro set at o ltimo.
Ator:
Auxiliar Tcnico
Cenrio Principal:
1. O sistema prepara uma lista de todos os jogos cadastrados que ainda no tiveram seu placar
registrado.
2. O usurio informa o jogo para o qual ser controlado o placar, seiecionando de uma lista preexistente.
2.1. O sistema exibe a data e hora do jogo, o nome do adversrio, o nome do juiz principal e o
nome do juiz auxiliar.
3. O sistema exibe o placar e habilita a opo de Iniciar Set".
3.1. [Extends Iniciar Set]
3.2. O sistema obtm o placar e o associa ao sei jogado.
3.3. O sistema verifica quem foi o ganhador do set, incrementando no placar o nmero de sets
INICIAR SET
Descrio:
Este caso de uso tem por objetivo dar incio ao controle de umsetdevlei.
Ator:
Auxiliar Tcnico
Pr-condio;
Receber a identificao se o set de tie-break.
Cenrio Principal:
1. O sistema prepara uma lista de jogadores do time.
2. O usurio seleciona os jogadores que iniciaro a partida, cadastrando-os na seguinte ordem:
rede - ataque - esquerda, rede - ataque - meio, rede - ataque - direita, defesa - esquerda,
defesa - meio, defesa - direita).
3. O usurio informa qual time iniciar o jogo.
4. O sistema controla cada ponto do sei.
4.1.[Extends Caso de Uso Registrar Ponto]
4.2.Se o set no for de tie-break, os pontos so controlados at que um dos times atinja 25
pontos, tendo dois pontos do diferena para o time adversrio. Se no houver essa diferena, a pontuao prossegue at que essa diferena seja atingida.
4.3. Se o set for de tie-break, os pontos so controlados at que um dos times atinja 15 pontos, tendo dois pontos de diferena para o time adversrio. Se no houver essa diferena, a pontuao prossegue at que essa diferena seja atingida.
5. O sistema retoma o placar do set.
Ps-condig;
Retomar o placar do set.
REGISTRAR PONTO
Este caso de uso tem por objetivo identificar quem foi responsvel por um
Descrio:
ponto num determinado set, e reqistrar o tipo de ponto.
Auxiliar Tcnico
Ator:
Pr-condio_;
Receber a informao de que time encontra-se com a vantagem no jogo.
Cenrio Principal:
1. O sistema prepara uma lista dos jogadores do time.
2. O usurio inlorrna quem fez o ponto, selecionando entre as opes: nosso time e time adversrio.
3. O usurio informa o tipo de ponto, selecionando dentre as seguintes opes:
3.1. Se o time pontuador estava com a vantagem:
3.1.1. pontodesaque
3.1.2. ponto de ataque
3.1.3. ponto de bloqueio
Este caso de uso tem por objeth/o oferecer uma consulta dos maiores pontuadores de um jogo e o somatrio de pontos, por tipo, do jogo.
Auxiliar 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 adversrio).
CONSULTAR PRODUTO
Descrio:
Ator:
Cenrio Principal:
1.
2.
3.
3.1. Para localizar um produto, o usurio deve inserir um trecho do nome do produto como critrio de pesquisa. O sistema far a busca parcial.
3.2.0 sistema exibe a lista de produtos que satisfaa o critrio, exibindo para cada um:
4.
5.
MANTER PRODUTO
Descrio:
Ator:
Prgondig;
Este caso de uso tern por objetivo permitir a manuteno dos dados cadastrais de produto (incluso, alterao e excluso).
Responsvel pela obra
2.1.nome do produto
2.2.descrio do produto
2.3.medida de venda do produto, escolhido entre as opes: peso (kg), volume (ml) ou comprimento (m)
2.4. valor da medida de venda, como por exemplo 1,5
3. O usurio confirma a operao realizada.
4. O sistema atualiza os dados cadastrais do produto.
4.1. No caso de incluso, o sistema gera automaticamente um cdigo de identificao.
Cenrio Alternativo:
- Excluso no permitida
No possvel excluir um produto que esteja associado a uma solicitao de compra.
MANTER SOLICITAO DE COMPRA
Este caso de uso tem por objetivo permitir a manuteno das solicitaes
Descrio:
de compras (incluso, alterao e excluso)
Responsvel pela obra
Ator:
Cenrio Principal:
1. O sistema prepara uma lista de todas as solicitaes cadastradas, que ainda no tenham sido
fechadas (status = "aberto").
2. O sistema oferece ao usurio:
2.1.selecionar uma solicitao, para alterar seu cadastro;
2.2. localizar uma solicitao ou grupo de solicitaes por meio de pesquisa;
2.3.selecionar a opo de Inserir solicitao de compra".
3. Pesquisa de Solicitao de Compra
3.1. Para localizar um produto, o usurio deve inserir a data da solicitao e/ou um trecho do
nome de algum produto que conste da solicitao como critrio de pesquisa. O sistema
far a busca parcial.
3.2.0 sistema exibe a lista de solicitaes de compra que satisfaam o critrio, exibindo para
cada um:
3.2.1. data da solicitao
3.2.2. lista de produtos que fazem parte da solicitao
4. Manuteno do Cadastro
4.1.Aps selecionar uma solicitao de compra, o sistema habilita as opes de "Alterao",
"Consulta" ou "Cancelamento".
4.2. Em caso de "Incluso", o sistema habilita a edio dos dados.
4.3. Em caso de "Alterao", o sistema exibe os dados cadastrados e os habilita para edio.
4.4. Em caso de "Consulta" ou "Cancelamento", o sistema exibe os dados cadastrados desabilitados para edio.
4.4.1. No caso de cancelamento, o sistema solicita a confirmao.
5. O usurio informa, no caso de "Alterao" ou Incluso":
5.1.data da solicitao
5.2. itens da solicitao
Cenrio Aj_ternal|vo:
- Excluso no permitida
No possvel excluir um item que esteja associado a uma compra efetuada.
Este caso de uso tem por objetivo registrar as compras que foram efetuadas
para atender a uma determinada solicitao de compra.
Responsvel pela obra
Cenrio Principal:
1. O sistema apresenta todos os itens de compra que ainda no foram atendidos, agrupando-os e
totalizando a quantidade daqueles que sejam do mesmo produto,
2. O sistema deve preparar urna lista dos locais cadastrados.
3. Para cada item de compra do qual o usurio queira registrar a aquisio:
3.1.0 usurio seleciona um dos itens de compra para registrar sua aquisio.
3.2. O usurio informa:
3.2.1. a quantidade adquirida.
3.2.2. s forma de pagamento, selecionada entre as opes: dinheiro, cheque, cheque pr
ou carto.
3.2.3. a data da compra.
3.2.4. local da compra, seleconado de uma lista preexistente.
4. O usurio confirma a operao realizada.
5. O sistema atualiza os dados cadastrais do item de compra.
Cenrio Alternativo:
- Local Inexistente
Se no existir um local cadastrado, permitir a incluso de um local. Include [Caso de Uso
Manter Local de Compra]
- Quantidade adquirida diferente da quantidade solicitada
Se a quantidade adquirida for inferior quantidade solicitada, o sistema deve aceitar e no
fechar o item de compra como atendido. No prximo Registro de Compra, este item deve aparecer
somente com a quantidade faltante.
MANTER LOCAL DE COMPRA
Este caso de uso tem por objetivo permitir a manuteno dos locais de
Descrio:
compra onde so adquiridos os itens da obra.
Responsvel pela obra
Ator:
Cenrio Principal:
1. O sistema prepara uma lista de locais de compra cadastrados.
Z. O sistema oferece ao usurio:
Cenrio Principal:
1. O sistema obtm a lista de todos os itens de compra que ainda no foram atendidos, agrupando e totalizando a quantidade daqueles que sejam do mesmo produto,
2. Para cada item de compra obtido:
2.1. O sistema busca todas as compras j realizadas para o referido item.
2.2. Desse conjunto, o sistema obtm os trs menores valores j pagos para aquele item, trazendo para cada valor, a data de aquisio e o local de compra.
3. O sistema exibe um relatrio contendo:
3.1. item de compra
3.2. quantidade total solicitada
3.3. valor, data e local dos trs menores preos'
1.
2.
O usurio informa o perodo desejado para o relatrio (data de incio e data de trmino).
O sistema busca todos os itens de compra que j foram adquiridos, que estejam dentro do
perodo informado pelo usurio.
2.1.0 sistema agrupa todos os produtos comprados, calculando o que foi gasto para cada produto.
3. O sistema emite um relatrio contendo os seguintes dados:
3.1. nome do produto;
3.2. total adquirido do produto;
3.3. total gasto na aquisio;
RESOLUO:
EXERCCIO:
A partir do cenrio descrito, desenhe o diagrama de casos de uso desse sistema. Escreva, tambm, os cenrios. Considere que as tarefas de controlar os
.assuntos e os caixas, obter estatstica e relatrios so do Setor Administrativo.
O Caixa se responsabiliza por controlar a prxima senha e o Balco de Informaes que gera novas senhas.
RESOLUO (DIAGRAMA DE CASOS DE Uso E DESCRIO DOS CENRIOS):
Admlnlairailvn
MANTER ASSUNTOS
Descrio:
Este caso ds uso tem por objetivo permitir a manuteno (incluso alteraco e excluso) dos assuntos controlados no atendimento.
Administrativo
Ator:
Cenrio Principal:
1. O sistema prepara uma lista da assuntos cadastrados.
2. O sistema oferece ao usurio:
3.
4.
5.
6.
7.
8.
Cenrio Alternativo:
- Excluso no permitida
Este caso de uso tem por objetivo permitir a manuteno (incluso, alteraco e excluso) dos caixas.
Ator:
Administrativo
Cenrio Principal:
1.
2.
Pesquisa de Caixa
3.1. Para localizar um caixa, o usurio deve inserir um trecho do nome do atendente como critrio de pesquisa. O sistema far a busca parcial.
3.2. O sistema exibe a lista de caixas que satisfaa o critrio, exibindo para cada um:
3.2.1. nmero do caixa
3.2.2. atendente responsvel
4.
Manuteno do Cadastro
5.
Administrativo
Cenrio Principal:
1. O sistema busca a lista de todos os assuntos cadastrados.
2. Para cada assunto, o sistema exibe:
2.1. a ltima senha liberada;
2.2. a ltima senha atendida;
2.3. o caixa que est atendendo ou que atendeu a ltima senha;
2.4. horrio de inicio do ltimo atendimento;
2.5. horrio de trmino (se houver) do ltimo atendimento.
Este caso de uso tem por objetivo permitir a consulta ao histrico de atendimentos, qerando estatstica de tempo gasto para cada atendimento.
Ator:
Administrativo
Cenrio Principal;
1.
2.
3.
4.
5.
6.
Este caso de uso tem por objetivo verificar para um determinado caixa e assunto
que ele trata, qual a prxima senha de atendimento, exibindo-a para os clientes.
Caixa
Pr-condlco:
Este caso de uso tem por objetivo permitir a gerao de uma senha baseada numa lista de assuntos.
Balco de Informaes
Cenrio Principal:
1. O sistema prepara uma lista de todos os assuntos cadastrados.
2. O usurio Informa um assunto, selecionado de uma lista preexistente.
3. O sistema obtm a ltima senha gerada para aquele assunto e Incrementa esse valor em uma
unidade.
4. O sistema atualza o cadastro de senhas geradas, colocando o novo valor associado ao assunto.
5. O sistema emite um ticket impresso informando:
5.1. data do atendimento
5.2. assunto
5.3. senha gerada
Cenrio Alternativo:
- Primeiro acesso do dia
O sistema verifica se o primeiro acesso do dia para gerao de senhas, Se for, todas as
senhas associadas a todos os assuntos so zeradas.
Controlar
participantes e pagta
ds contes
Gestor da BolSo
Cenrio Principal;
1. O sistema prepara uma lista de participantes cadastrados.
2. O sistema oferece ao usurio:
2. l .selecionar um participante, para alterar seu cadastro;
2,2, localizar um participante por meio de pesquisa;
2.3.selecionar a opo de "inserir participante".
3. Pesquisa de Participante
3.1. Para localizar um participante, o usurio deve inserir um trecho do nome como critrio de
pesquisa. O sistema far a busca parcial.
3.2.0 sistema exibe a lista de participantes que satisfaa o critrio, exibindo para cada um:
3.2.1. nome do participante
3.2.2. ramal
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 datos cadastrados e os habilita para edio,
Este caso de uso tem por objetivo permitir a manuteno (incluso, alterao e excluso) de um bolo. habilitando para outras tarefas como gerenciar os participantes, as cotas pagas e as apostas.
Gestor do Bolo
Cenrio Principal:
1. O sistema prepara uma lista de todos os boles cadastrados.
2. O sistema oferece 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 apostas
2.4.selecionar um bolo, para realizar as seguintes operaes, em qualquer situao do bolo:
2.4.1. imprimir lista de no-pagantes
2.4.2. gerar pgina web 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 jogo como
critrio de pesquisa
3.2.0 sistema exibe a lista de boles que satisfaam o critrio, exibindo para cada um:
3.2.1. tipo do jogo 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 sistema habilita a edio dos dados.
4.2.Em caso de "Alterao", o sistema exibe os dados cadastrados e os habilita para edio.
4.3.
4.4.
4.5.
4.6.
data do concurso
valor da cota
lista de participantes, com nome, ramal, nmero de cotas e situao de pagamento das cotas
lista de apostas, mostrando os nmeros para cada aposta e o valor apostado.
Este caso d0 uso tem por objetivo mprimir um reatrio com os participantes de um boo que no efetuaram o pagamento de suas cotas.
Gestor do Bolo
Prjiondljg:
Ao retomar ao estacionamento, o cliente entrega o ticket. O tempo de permanncia calculado. Considerando esse tempo de permanncia, aplicada a tabela de preos, sabendo-se que a tabela de sbado no a
mesma dos dias teis e, s vezes, dependendo da poca do ano, os donos
lanam promoes durante os dias teis. Veja exemplo das tabelas de
preo:
Segunda sexta
1a hora = R$2,00
a partir da 2a hora (inteiro ou
frao) = + R$ 1,00
Sbado
Preo nico = RS 3,00
Dilatria
Atenderrte
Este caso de uso tem por objetivo emitir um relatrio com o faturamento
dirio do estacionamento.
Diretoria
Cenrio Principal:
1.
2.
3.
Xo
o 0 \//\
\/
/
\/
/\
.nextends
Jogador
INICIAR TORNEIO
Descrio:
Este caso de uso tem por objetivo dar inicio a um torneio de jogos da velha.
Ator:
Jogador
Cenrio Principal;
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 preexistente.
2.2. o smbolo usado pelo jogador lsico (crculo ou cruz).
2.3. o nome do jogador virtual, selecionado de uma lista preexistente.
2.4. o sistema associa automaticamente o smbolo usado pelo jogador virtual (crculo ou cruz).
3. O sistema define o jogador 1 como sendo o jogador lsico e zera seu score.
4. O sistema define o jogador 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.Extends [Caso de Uso Jogar]
MANTER JOGADOR
Descrio:
Ator:
Este caso de uso tem por objetivo permitir a manuteno do jogador que
participa de um torneio.
Jogador
Cenrio Principal;
1. O sistema prepara uma lista de jogadores cadastrados.
2. O sistema oferece ao usurio:
2.1 selecionar um jogador, 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 caso de "Alterao", o sistema exibe os dados cadastrados e os habilita para edio.
3.3 Em caso de "Excluso", o sistema exibe os dados cadastrados desabilitados para edio.
3.3.1 No caso de excluso, o sistema solicita a confirmao.
4. O usurio informa, no caso de "Alterao" ou "Incluso":
4.1 nome do jogador
5. O usurio confirma a operao realizada.
6. O sistema atualiza os dados cadastrais do jogador.
6.1 No caso de incluso, o sistema gera automaticamente um cdigo de identificao.
JOGAR
Descrio:
Ator:
Pr-condio:
Receber a identificao do ltimo vencedor.
Cenrio Principal:
1. O sistema define de quem a vez da jogada.
1.1 .Se o ltimo vencedor tiver sido o jogador virtual ou for a primeira partida, a vez do jogador fsico. Caso contrrio, a vez do jogador virtual.
2. Enquanto existir quadrado livre e nenhum dos jogadores ganhou o jogo:
2.1 .Se a vez for do jogador fsico:
2.1.1. O usurio informa a posio em que colocar o seu smbolo.
2.2.Se a vez for do jogador virtual, somente uma dessas operaes ser feita, na ordem:
Jogador
Administrador
INICIAR PARTIDA
Descrio:
Ator:
Este caso de uso tem por orjjetivo dar incio a uma partida.
Jogador
Cenrio Principal:
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 guarda a posio de todas as figuras no jogo.
4.2.0 sistema aguarda as jogadas. Extends [Caso de Uso Efetuar Jogada]
4.3.0 sistema obtm o score mximo j alcanado.
4.4.0 sistema guarda e exibe o score do jogador.
4.4.1. O sistema verifica se o score do jogador maior que o score mximo j alcanado.
Se for, o usurio informa o seu nome e o score do jogador substitui o score mximo
j alcanado.
EFETUAR JOGADA
Descrio:
Ator:
Este caso de uso tem por objetivo receber e controlar uma jogada para
tentar descobrir um par no jogo da memria.
Jogador
Cenrio Principal:
1. O sistema verifica a pontuao para cada acerto e o decrscimo para cada erro.
2. Enquanto houver par coberto:
2.1. O usurio escolhe um loca! que esteja coberto.
2.2.0 sistema exibe a figura do local escolhido.
2.3. O usurio escolhe um outro local que esteja coberto.
2.4. O sistema exibe a figura do local escolhido.
2.5. Se as figuras forem iguais:
2.5.1. O sistema acrescenta no score do jogador a pontuao de acerto.
2.6.Se as figuras no forem iguais:
2.6.1. O sistema cobre as figuras novamente.
2.6.2. O sistema decrementa da pontuao para cada acerto o valor do decrscimo por erro, limitado ao valor de 10 pontos.
Ps-condio:
Retomar o score do jogador, aps trmino da partida.
Captulo
Exercitando a Identificao de
Classes a partir de Casos de Uso
107
Encomenda
Cfente
numero : kilagef
/diante : Cliente
slturaPlaca : r.larguraPlaca - real
frase : slrlng
eorFrase : EnumCoiPlaca
-i ~ : EnumCocFrase
dalBErieomenda : dato
dalaEntega : date
cdigo : Inleger
ntxne ; strng
telefone : slring
valorSinal. real
' : : I.M; ;' '^L--.1 :r-.'.r:"L
nalytFifQtAaiErizLJsat = 147.30
valorFi*r>l pira jp.a - 0 .1?
aberto
pronto
cancelado
azul
vermelho
a mareio
pato
vsrde
enurnefatei.
EnUmSfglusEncoTirKla
Bnuirarate*
EnumCurPlaca
branca
cinza
1..*
Cliente
EXERCCIO f Al:
Endareca
/logradouro : Logradouro
numen" ^ Etring
complemento ; slring
cep : sWng
CartelraMoloriata
numefP - string
categoria . string
Ccurida
/cliente : Olente
/enderecoSaida : Endereo
balrraDeslina ; etring
data i date
hora : Ume
/lElCanlatD . Telefone
satus : EnumStgtusConTda
/carroProg ramado . Veiculo
Telefone
prefixo ; sbing
numero : string
tipo : numTlpoTelefone
Logradouro
numeLogadouro : Bbing
bairro : strtng
cidade : slring
eSlado ' slring
cepUnbco : atring
Veculo
numeroVR : slring
placa : string
modela : string
!,-,|-n --i'1,!- : slrtng
En umTtpoTelefone
residencial
comercial
celular
recado
Cooperado
cof : slring
nome : slring
/enfloro co . Endereo
.- .i -.'..-. : n-,. - de Telefone
dataEnlrada j .--:
dataSaida : dale
/caitMolorisTa : CartetraMoEcrista
/vebcufo : Veicula
lenumeratedo
Em ir. -: i ^ - 1 , , C 1 1 . L,
aguardando VR
aguardando aviso
aviso efetuatia
tripulado^
cancelado passageiro
cancelada falEa cano
(RDIO TAXI):
0..1
46. CENRIO:
TREINADOR DEVLEI
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 completo, incluindo os atributos, mtodos e relacionamentos.
3..5
data: date
hora :tima
local: Btring
adversrio: Glring
juiz: slring
auxiliar: sbing
da J
O
1-*
Jogador
D,t
nome: slring
carnia: tnegar
EipoPonLo: EnumTrpoPonLo
EnumTipoQlociueio
EnumUpoPonto
Se Barr.tipaPnlo = bloqueto
individual
duplo
triplo
bloqueD
0..-
Bolao
concurso: inleger
d.iia Sc rie ,-. . date
valorCota: real
numColas: .T.eger
gerarPagmaWebBalaa
gera r Li staN ao Pag ante 5
sincroncarCotasApostas
1
TipoJogn
nome: string
qtdMinimaAposta : Inleger
qtdMaximaAposta: Inleger
Aposta
valorAposta : real
numeroApostado . integer
[Bo Ia o.Ti p Jogo. qtd M inimaAposta,
Bolan.TipoJogo.qldMaiiimaAposlaj
Partida
D..*
scoreFinalJogadorl : In legar
score Final Jogador2 : integer
0..'
D..*
Smbolo O
Smbolo X
1
Jogador
nome: string
ehVirtiial: boolaan
Captulo
{concluso = 100%]
114
Cancelando encomenda
Apndice
1-
2-
c) Ml e IV
a) classe
c) polimorfismo
3-
b) II e III
e) II e IV
b) herana
d) encapsulamento
117
c) somente III
(Eletrobrs) Em relao tecnologia de orientao a objetos, a afirmativa de que o estado de um objeto no deve ser acessado diretamente,
mas sim por intermdio de mtodos de acesso (ou propriedades) est
diretamente relacionada ao conceito de:
a) herana
d) polimorfismo
5-
b) somente M
e) somente II e III.
b) Interface
e) encapsulamento
c) classe
6-
(Eletrobrs) Observe o seguinte diagrama de transio de estados. Suponha que o sistema se encontra no estado EstadoO, e que ocorra a seguinte sequncia de eventos:
a b c b b b c a
b) Estadol
e) Estado4
c) Estado2
fEletrobrs) Modelo de Casos de Uso: Considere as seguintes assertivas sobre casos de uso:
I. descrevem uma sequncia de passos iniciada por um ator.
II. o estado em que o mundo deve se encontrar para que o caso possa ser
executado chamado de pr-condio
III. o caso de uso no descreve as respostas do sistema aos estmulos enviados pelo ator
IV. a recuperao de falhas na execuo de um passo descrita nas exceQes
(Eletrobrs) Considere as seguintes assertivas sobre o modelo de classes mostrado abaixo (notao UML padro):
I. um objeto livro pode ser associado a mais de um objeto leitor
II. um objeto leitor est associado a no mximo um nico objeto livro
III. nenhum objeto emprstimo est associado a uma associao entre livro e
leitores
Livro
Leitor
_
0..1
0..*
Emprstimo
cntEmprestimo
leitor
TCNTEMPRESTIMO
:LEITOR
frmEmprestimo
TFRMEMPRESTIMO
Create
ObterCodLeitor
NomeLeitorfcod: string)
MostraNome Leitor
e) l, II, III e IV11- (IBGE) Considere as seguintes assertivas sobre a tcnica de especificao de requisitos conhecida como casos de uso:
l. todo caso de uso possui um roteiro;
II. o roteiro urna sequncia de passos executados por um ater:
III. uma exceo descreve a recuperao da falha de um passo de um caso
de uso.
As assertivas correias so:
(A)
(B)
(C)
(D)
(E)
somente a l;
somente a II;
somente a III;
somente l e li;
l, II e III.
I. classes
II. associaes
III. mensagem
IV. estado
V. transio
Os elementos que fazem parte de um diagrama de ciasses so:
(A)
(B)
(C)
(D)
(E)
somente l e II;
somente t, II e III;
somente l, 111 e IV;
somente II, III e IV;
somente III, IV e V.
GABARITO
01
02
03
04
05
06
07
08
(A)
(A)
(B)
(E)
(A)
(E)
(B)
(D)
09
10
(C)
(B)
11
12
13
14
(E)
(A)
Errado
Errado
Exercitando
modelagem
emUML
/
exerccios
resolvidos
Aps escrever seu primeiro livro, Desenvolvendo Aplicaes com UML - do conceituai implementao, atuaiiz-lo para
Desenvolvendo Aplicaes com UML2.0,
a autora, ao basear-se na experincia em
leeionar disciplinas de modelagem de
desenvolvimento de sistemas, percebeu
que surgia uma nova demanda em sala
de aula: um material de apoio prtico,
que pudesse ser usado para fixao da
matria.
ssim. percebendo essa necessidade como no exclusiva da docncia, mas lambem do aluno
i que entende a teoria, contudo no consegue sair do ponto zero; e do profissional, que tem
.brasport.c