Escolar Documentos
Profissional Documentos
Cultura Documentos
!
"
$
%
&
!
'
(
)
'$
+
)
$
,
-
&
&
$
!1
"
&
!/
&
!
!
!
&
2 /3
&
)
&
&
&
0
&
&
&
*
'
)
)
) $
0
#
#
#
!"# $ %
#
&!'
'
'
%
*
()
&
"
$
& () # &
*+ ( ,
!1
-. /"
#&
0 &1
&
!/
&
2
!
!
&
)
&
.
)
&
)
2/("& & $ %"/"$ , $% 3% # -",&(", ,&4
2! ("/"
#
*
6
&
&
& )'
&
&
*
'
)
)
)
+
) $
*
0
#
#
#
#
&
)
2& +" %/
* )
-"%# 78 4
9'
&
;'
&
&
<'& %& !$
#
&
&
#
#
&
&
8
&
&
='
-"%# 78 4
$
1 : %)
! 1"(", ,&!
!
4
<
&
=
*
?
4 14 4
&
>1
>4
'
A
+
)
"! ,& !.1!
&
'
&
&
'
&
("& &'!"# )
)
!
!
)
!
,!
)'
!
"(" (* ,"/"
, '
&
.
&
&
&
&
,
)'
&
&
)
<
!
!
)'
&
)'
)'
&!&%+ !
)'
E
&
.
&5/.( !
'
*
* )
)
&
)'
&
*
)
)
:
&
% &78 !
)
&
D
'
*
&
&
&
'
&
G
?
+
+
E
4
G
G
G
*
G
)
Proteo
(from Reservar Veculo)
IUReserva
(from Reservar Veculo)
PerfilCliente
ProgramaFidelidade
CtrlReserva
(from Reservar Veculo)
Inventrio
(from Reservar Veculo)
Cliente
Filial
Reserva
(from Reservar Veculo)
Veculo
(from Reservar Veculo)
!
+
'
'
)
)
0&
*
'
0
%
)
+
B-
&
$
&
0
G%
cliente
IUReserv a
CtrlReserv a
Filial
PerfilCliente
Cliente
Inv entrio
Veculo
Proteo
Reserv a
num fidelidade
num fidelidade?
fornece num
num fidelidade
obter perfil
obter cliente
solicitar locais, datas, horrios
datas, horrios e locais?
locais, datas, horrios
locais, datas, horrios
buscar veculos data e hora
buscar veculos
satisfaz critrios
mostrar veculos
lista de veculos
veculo escolhido
veculo escolhido
prepopular
obter informaes
obter informaes proteo
obter info por estado, local, etc.
boundary
IUReserv aVeic
PerfilCliente
control
CtrlReserv aVeic
+
+
fumante
preferenciaCategoriaVeic
entity
Filial
entity
Inv entrio
+
+
+
+
+
+
+
+
email
endereo
nome
telComercial
telResidencial
Reserv a
ProgramaFidelidade
endereo
estadoFederao
IDFilial
saldoPontos
+
+
+
+
+
custoEstimado
dataIncio
dataTrmino
horaIncio
horaTrmino
entity
Veculo
entity
Proteo
+
+
+
+
coberutraAdicional
custoDiario
excluses
limitesResponsabilidade
+
+
+
acessorio
categoriaVeic
estado
%
'
'
+
#
#
0
,
)
?("!& */ $5.(
A &:&%/5/" B
boundary
IUReserv aVeic
entity
Filial
control
CtrlReserv aVeic
1
1
1
1
1
+
+
+
endereo
estadoFederao
IDFilial
1
1
PerfilCliente
1
fumante
preferenciaCategoriaVeic
entity
Cliente
+
+
entity
Inv entrio
+
+
+
+
+
email
endereo
nome
telComercial
telResidencial *
entity
Veculo
reserva
*
+
+
+
acessorio
categoriaVeic
estado
Reserv a
ProgramaFidelidade
+
%/
saldoPontos
+
+
+
1 +
+
< aplicada
0..1
/(."%'
&
custoEstimado
dataIncio
dataTrmino
horaIncio
horaTrmino
entity
Proteo
+
+
* +
+
coberturaAdicional
custoDiario
excluses
limitesResponsabilidade
'
7
&
'
%
)
*
'
$ )
!&3.% 7
$ /
' " &%- /& %
&
<
&/
%
"!# ,&
D
4 + %QE: C# F ,,R /
&
* )
0)
)'
'
D$
!
&/ "!# ,& # $(&# &
6 34
HC
#
)F
)# 0
6
IJ
<
+ LMNO)C: P M + %%4
78
M
&
"
)
&!&%+ %
$ )
'
&/ "!# ,& % C&
1 3<
# # 3<
1< ,
2
4 ,4
K
,3<
?("!&
+ '
6 )6
$&%!"! "%
'
1
2
F &
"
%
http
http
http
Nav egador 1
Nav egador 2
Nav egador N
http
* )
SD
&
0)
&
&
10
jsp page
servlet
:IUReserva
:MostraInventario
:CtrlReserva
:DataAccess
:Cliente
pg. de reserva
vec, IDFilial e datas
POST veic, IDFilial e datas
:Filial
popular(IDFilial)
buscarFilial(IDFilial)
preencher(regDB)
validar(datas)
verifica se a filial estar
aberta nos dias e horrios
solicitados
ok
entity
:Inventario
popular(IDFilial, datas, catVeic)
buscarVeiculos(this)
entity
:Veiculo
preencher(regDB)
adicionar(veiculo)
mostrar inventrio
mostra todos vecs. disponveis
11
SD
*
6%
)
class Classes proj eto (delta 1)
DataAccess
+
+
jsp page
IUReserv a
buscarFilial(int) : regDB
buscarVeiculos(Inventario) : regDB
entity
Inv entario
servlet
CtrlReserv a
jsp page
MostraInv entario
+
+
instantiate
entity
Filial
instantiate
+
+
+
endereco
estadoFederecao
IDFilial
+
+
+
popular(int) : void
preencher(regDB) : void
validar(Date[2]) : boolean
adicionar(Veiculo) : void
popular(int, Date[2], int) : void
1
1
1
*
entity
Veiculo
+
+
+
acessorio
categoriaVeic
estado
preencher(regDB) : void
&,& !&'
-
SD
12
jsp page
jsp page
servlet
:IUReserva
:MostraInventario
:Confirmacao
:CtrlReserva
:DataAccess
:Cliente
:PerfilCliente
:Inv entario
:Veiculo
escolhe um vec.
POST "reservar" veicID
escolhe
um veculo
para
reservar
indisponibiliza o
veic. por perodo
de tempo = tout
marcarReservado(veicID)
marcarReservado(tout)
obterIDCli
:Cliente
popular(cliID)
buscarCliente(cliID)
preencher(regDB)
associar(PerfilCliente)
setarPai(this)
dispatcher.forward(Confirmacao)
controle
pegar obj. cliente da sesso
obter campos
obterPerfil
obter dados
mostra info. e pede para completar
continuar
poderia ser
+detalhado
!"
$ %
&'
(+
,
%
,
,
/
.
0
.
( 0
'0 , -
,)
1
13
jsp page
IUReserv a
+
+
+
+
buscarCliente(cliID) : regDB
buscarFilial(IDFilial) : void
buscarPerfil(cliID) : regDB
buscarVeiculos(Inventario) : regDB
servlet
CtrlReserv a
jsp page
MostraInv entario
instantiate
jsp page
Confirmacao
+
+
fumante: Boolean
preferenciaCategoriaVeic
+
+
+
popular(cliID) : void
preencher(regDB) : void
setarPai(Cliente) : void
1 1
+
+
+
endereco
estadoFederecao
IDFilial
+
+
+
popular(int) : void
preencher(regDB) : void
validar(Date[2]) : boolean
*
entity
Veiculo
+
+
+
+
+
email
endereo
nome
telComercial
telResidencial
+
+
+
+
+
associar(PerfilCliente) : void
Cliente()
obterPerfil() : PerfilCliente
popular(cliID) : void
preencher(regDB) : PerfilCliente
SD
3
F &
adicionar(Veiculo) : void
popular(int, Date[2], int) : void
entity
Cliente
entity
PerfilCliente
'
+
+
+
acessorio
categoriaVeic
estado
+
+
marcar(tout) : void
preencher(regDB) : void
)
0
%
3
E
0
)
$% :D!
)'
'
'
&
H C)
<
'
,
0
0
&
K!
D
)
0
, ), &
%
0
D
1C&
+
+
entity
Filial
instantiate
entity
Inv entario
0)
$
FabricaObj etos
BDCliente
InPersist
Conexao
RegistroBD
Statement
InSGBDR
14
:FabricaObjetos
:InPersist
:InSGBDR
:CtrlReserva
criar(class=Cliente, cliID)
:Cliente
BDCliente(Cliente)
:BDCliente
buscar(cliID)
connect(BD, user, pwd)
:Conexao
connect
obj conexo
getStatement
Statement
:Statement
obj. statement
executarQuery(SQLString)
exec cmdo SQL
RegistroDB
:RegistroBD
popular
registro BD
ok
retorna obj Cliente
15