Você está na página 1de 15

LOCADORA DE VECULOS

!
"
$
%

&

!
'

(
)

'$
+

)
$

,
-

&

&

$
!1

"

&
!/

&
!
!
!

&

2 /3

&

)
&

&

&

0
&

&

&

*
'

)
)

) $

0
#
#
#

!"# $ %
#

&!'

'

'

%
*

()

&

"

$
& () # &

*+ ( ,

!1

-. /"

#&

0 &1

&
!/

&

2
!
!

&

)
&

.
)

&

)
2/("& & $ %"/"$ , $% 3% # -",&(", ,&4
2! ("/"
#

/ &3 %" ,& +&5/.( 4


&

*
6

&

&
& )'

&

2+"!. ("6 %,& ()&!, +&5/.( 4


2&!/ () , +&5/.( 4
#

&

*
'

)
)

)
+

) $

*
0

#
#
#
#

&
)

2& +" %/

* )
-"%# 78 4

9'

,& &: & !8 2/("& & $ %"/"$ , $% 3% # ,& -",&(", ,&4


)

&

;'

,& &: & !8 2+"!. ("6 %,& ()&!, +&5/.( 4


0 )

&

&

<'& %& !$

!,& &: & !8 2! ("/"


0

#
&

/ &3 %" ,& +&5/.( 4 & 2&!/ () , +&5/.( 4


&

&

#
#

&

&
8

&

&

='

,& &: & !8 2& +" %/

-"%# 78 4
$

1>/>, ,& "-"/ %>-"(% % !/( !!&!,&

?("!& & ,&!/%&+&% !%&!$

1 : %)

! 1"(", ,&!

!
4
<

&

=
*
?

4 14 4

&

>1

>4

'

A
+

)
"! ,& !.1!

"+ !*&# 6.(/( !!&!!&(&/"

&

'

&

&

'

&

("& &'!"# )
)

!
!

)
!

,!

)'

!
"(" (* ,"/"

, '

&

.
&

&

&

&
,

)'

+& ?%" ,& +&5/.( !!


&
&
C

&

&
)

<

!
!

)'

&
)'

)'

&%-"(, /("& &'


4

% 3% # ,& -",&(", ,&'

&!&%+ !

)'

E
&
.

&5/.( !

'

*
* )

)
&

)'

&
*

)
)

:
&

% &78 !
)

&
D

'

*
&

&
&

'

&

G
?
+
+
E
4

G
G
G
*

G
)

class Analysis Model

Proteo
(from Reservar Veculo)
IUReserva
(from Reservar Veculo)

PerfilCliente

ProgramaFidelidade

(from Reservar Veculo)


(from Reservar Veculo)

CtrlReserva
(from Reservar Veculo)

Inventrio
(from Reservar Veculo)

Cliente

Filial

(from Reservar Veculo)

(from Reservar Veculo)

Reserva
(from Reservar Veculo)

Veculo
(from Reservar Veculo)

!
+

'

'

)
)

0&
*

'

0
%

)
+

B-

&

$
&

0
G%

%"1. !" "/" "!, !/( !!&!

sd Seq Reserv ar Veculo

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.

solicitar dados cliente, protees


dados cliente, protees?
escolhas proteo

popular com info. recebidas


obter email
enviar reserva por email

obter nmero confirmao


mostrar reserva e confirmao
reserva e confirmao

class Analysis Model


entity
Cliente

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
,

&( 7@&!& %& /( !!&!,&

)
?("!& */ $5.(

A &:&%/5/" B

class Classes de anlise (completo)

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 &

"
%

deployment proj eto casos de uso

Serv idor WEB

http

http
http

Nav egador 1

Nav egador N-1

Nav egador 2

Nav egador N

http

* )

SD

&

0)

&
&

10

sd Reserv ar Veculo (prj )


jsp page

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)

armazena coleo veics. na sesso

forward pg. inventario

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

sd Efetiv arReserv a (prj delta2)


jsp page

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

atualizar cliente e perfil

POST confirmao realizada

!"

$ %

&'

(+
,
%

,
,

/
.

0
.

( 0

'0 , -

,)
1

13

class Classes proj eto (delta 2)


DataAccess

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
)

?1%"/ ,& 1C& !


T

$% :D!

)'

'

'

&
H C)

<

'
,

0
0

&

K!
D

)
0

, ), &
%

0
D

1C&

+
+

entity
Filial

instantiate

entity
Inv entario

0)
$

class Classes proj eto (delta 3)

FabricaObj etos

BDCliente

InPersist

Conexao

RegistroBD

Statement

InSGBDR

14

sd Reserv ar Veculo (com camada de persistncia)


servlet

: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

obter valor de cada campo

setar campos com valores de registro BD

ok
retorna obj Cliente

15

Você também pode gostar