Você está na página 1de 11

Tourist Information Guide

Documento de Anlise e Projeto


Baseado no documento datado em
31 de julho de 2004
Modificaes feitas para uso na disciplina de ESS

Equipe:
Erick Lopes da Silva (els2)
Bruno Costa Bourbon (bcb)
Lamartine Almeida Teixeira (lat2)
Ricardo Rolim Cordeiro (rrc2)

1. Introduo
Neste documento sero apresentadas as anlises dos seguintes casos de
uso: Cadastrar Hospede, Cadastrar Informaes do Hotel, Consultar Informaes
teis, Consultar Extrato e Consultar Informaes do Hotel juntamente com o
Projeto da Arquitetura do mesmo.
Esta anlise consiste na identificao das classes de anlise, elaborao
dos diagramas de seqncia e elaborao dos diagramas de classes. J na parte
de projeto a definio da arquitetura, dos casos de usos selecionados, ser
mostrada.
2. Anlises dos Casos de Uso
2.1

CASO DE USO CADASTRAR HSPEDE

Descrio:
O administrador do sistema poder cadastrar um novo hspede na base de dados.
Para efetuar esse cadastro sero necessrios apenas os nmeros do quarto e a
senha do usurio. Uma mensagem deve ser exibida caso o hspede j exista.
Diagrama de Seqncia:

: AdmSistema

: TelaCadastroHospedes

: Hospede

:
ControladorCadastroUsurios

: CadastroHospedes

cadastrarHospede(quarto, senha)
criaHospede()
cadastrarHospede(hospede)
cadastrarHospede(hospede)
existeHospede(hospede)

Diagrama de Classes:
<<boundary>>
TelaCadastroHospedes
cadastrarHospede()
opname()
0..n

<<entity>>
Hospede
quarto
senha

1
<<control>>
ControladorCadastroUsurios
cadastrarHospede()
0..n

getQuarto()
getSenha()

1
<<entity collection>>
CadastroHospedes
existeHospede()

2.2

CASO DE USO CADASTRAR INFORMAES DO HOTEL

Descrio:
O administrador do sistema poder cadastrar informaes sobre os servios do
hotel. Para esse cadastro ser necessrio o nome e a descrio do servio.
Dever ser mostrada uma mensagem de erro caso o servio j esteja cadastrado.
Diagrama de Seqncia:

: Hospede

: TelaCadastro

: InformacaoHotel

: ControladorCadastro

: CadastroHospedes

adicionarInformacao(informacao)
validarInformao(informacao)
adicionarInformacao(informacao)

adicionarInformacao(informacao)

Diagrama de Classes
<<boundary>>
TelaCadastro
adicionarInformacao()
0..*

1
<<control>>
ControladorCadastro

<<entity>>
InformacaoHotel
Informacao

adicionarInformacao()

getInformacao()

0..*

1
<<entity collection>>
CadastroInformacoes
adicionarInformacao()

2.3

CASO DE USO CONSULTAR INFORMAES TEIS

Descrio:
O hspede poder consultar as informaes teis como horrio de mars,
informaes de cmbio e previso do tempo. Essa consulta ser feita por um outro
sistema que se encarregar de retornar tais informaes.
Diagrama de Seqncia:

: Hospede

: TelaInformacoesUteis

: ControladorInfoUteis

: ServicoInformacoesUteis

consultarInformacoesUteis
consultarInformacoesUteis

getInformacoesUteis

Diagrama de Classes:
<<boundary>>
TelaInformacoesUteis
consultarInformacoesUteis()
0..n

1
<<control>>
ControladorInfoUteis
consultarInformacoesUteis()
1

<<entity>>
InformacaoUtil
nome
descricao
getNome()
getDescricao()

1
<<boundary>>
ServicoInformacoesUteis
getInformacoesUteis()

<<subsystem>>
InformacoesUteis

2.4

CASO DE USO CONSULTAR INFORMAES DO HOTEL

Descrio:
No sistema estaro cadastradas informaes sobre o hotel tais como horrio de
funcionamento dos servios, localizao, estrutura do hotel e quaisquer outras
informaes necessrias, todas disponveis para consulta.

Diagrama de Seqncia:

: Hospede

: TelaConsultaInfHotel

:
ControladorConsultaInf...

: CadastroHotel

: CadastroServico

consultarInfHotel( )
consultarInfHotel( )

consultarHotel()
consultarServicos()

Diagrama de Classes
<<boundary>>
TelaConsultaInfHotel

<<entity collection>>
CadastroServico
<<entity>>
Hora
hora : int
minuto : int
segundo : int

<<control>>
ControladorConsultaInfHotel

<<entity>>
Hotel
nome : String
endereco : String
0..n
telefone : String
fax : String
email : String
servicos : Servico[]

0..n

<<entity collection>>
CadastroHotel

<<entity>>
Servico
setorHotel : String
horaInicio : Hora
horaTermino : Hora
nome : String

2.5

CASO DE USO CONSULTAR EXTRATO

Descrio:
O hspede poder consultar o extrato de sua conta no hotel, o que poder ser
realizado apenas aps o usurio tiver logado no sistema. Mediante uma senha
errada ou nmero de quarto errado a consulta ser rejeitada.
Diagrama de Seqncia:

: Hospede

: TelaExtrato

solicitarExtrato(:Login)

: ControladorExtrato

: CadastroHospedes

solicitarExtrato(:Login)
existeHospede(:Login)

getExtrato(quarto)

: ComunicacaoSistemaHotel

Diagrama de Classes
<<boundary>>
TelaExtrato
solicitarExtrato()
0..*
1
<<control>>
ControladorExtrato
SolicitarExtrato()

<<boundary>>
ComunicacaoSistemaHotel
1

getExtrato()

1
<<entity>>
Hos pede

1
<<entity collection>>
CadastroHospedes
existeHos pede()

0..n

quarto
senha
getQuarto()
getSenha()

<<entity>>
Des pesa

<<entity>>
Extrato
1

1..*

horario
despesas

0..n

getHorario()
getDespesas()

horario
item
preco
getHorario()
getItem()
getPreco()

0..*

0..*
1
<<entity>>
Horario
dia
mes
ano
hora
minuto
segundo
getDia()
getMes()
getAno()
getHora()
getMinuto()
getSegundo()

3. Projeto da Arquitetura

3.1 Arquitetura

Para a elaborao da arquitetura, fez-se o mapeamento das classes


identificadas na fase de anlise de casos de uso em elementos de projeto. Esse
mapeamento apresentado na Tabela 1.
Tabela 1. Mapeamento de classes de anlise em elementos de projeto.

Classes de Anlise
TelaCadastroHospedes
Hospede
CadastroHospedes
ControladorCadastroUsuarios
TelaCadastroInformacoes
ControladorCadastroInformacoes
CadastroInformacoes
Informao
TelaConsultaInfHotel
ControladorInfHotel
TelaExtrato
Extrato
Despesa
Horrio
ComunicacaoSistemaHotel
TelaInformacoesUteis
ControladorInfoUteis
ServicoInformacoesUteis
InformacaoUtil

Elementos de Projeto
TelaCadastroHospedes
ComunicacaoCadastroHospedes
Hospede
CadastroHospedes
RepositorioHospedes
RepositorioHospedesBD
TelaCadastroInformacoes
ComunicacaoCadastroInformacoes
CadastroInformacoes
RepositorioInformacoes
RepositorioInformacoesBD
Informao
TelaConsultaInfHotel
ComunicacaoConsultaInfHotel
TelaExtrato
ComunicacaoExtrato
Extrato
Despesa
java.util.Date
ComunicacaoSistemaHotel
TelaInformacoesUteis
ComunicacaoInformacoesUteis
ControladorInfoUteis
ComunicacaoInfoUteis
InformacaoUtil
Fachada
Timer
AtualizacaoInfoUteis

A Figura 1 mostra a arquitetura do TIG, com os relacionamentos entre os


elementos (classes, cpsulas, subsistemas, etc.) identificados.

TelaExtrato

TelaCadastroHospedes
TelaCadastro

solicitarExtrato()

TelaConsultaInfHotel

adicionarInformacao()

0..n

0..*

consultarInfHotel()

0..*
1
Fachada

CadastroHospedes
existeHospede()
cadastrarHospede()

1..*
Extrato
horario : java.util.Date
despesas : Despesa[]

1
1
1
ControladorInfoUteis

SolicitarExtrato()
1

consultarInformacoesUteis()
1

1
<<Interface>>
ComunicacaoSistemaHotel
getExtrato()

1
<<subsystem>>
sistemaHotel

CadastroInformacoes

Despesa

Informacao
nome : String
descricao : String
fotos : java.util.Vector
informacoes : java.util.Vector

0..n
0..n

0..n
1

getHorario()
getItem()
getPreco()
setHorario()
setItem()
setPreco()

<<Interface>>
ServicoInformacoesUteis

cadastrarInformacao()
consultarInfHotel()

horario
item
preco

getHorario()
getDespesas()
setHrario()
setDespesas()

java.util.Date

0..n

1
ControladorExtrato

consultarInformacoesUteis()

consultarInfHotel()
solicitarExtrato()
cadastrarHospede()
cadastrarInformacao()
1

Hospede
quarto
senha
getQuarto()
getSenha()
setQuarto()
setSenha()

TelaInformacoesUteis

cadastrarHospede()

<<Interface>>
RepositorioInformacoes

InformacaoUtil
nome : String
descricao : String
getNome()
getDescricao()
setNome()
setDescricao()

<<Interface>>
RepositorioHospedes
RepositorioInformacoesBD

RepositorioHospedesBD

Figura 1. Arquitetura do TIG

A Figura 2 apresenta o diagrama com os relacionamentos entre os pacotes


do sistema. O critrio utilizado para empacotamento foi de acoplamento e coeso.

<<subsystem>>
InformacoesUteis

gui

informacao

protocolos

FachadaTIG

informacaoUtil

hospede

extrato

Figura 2. Diagrama de pacotes

A distribuio das classes nos pacotes est expressa na Tabela 2.


Tabela 2. Distribuio das classes nos pacotes.

Pacote
com.techtour.tig
com.techtour.tig.hospede

com.techtour.tig.informacao

com.techtour.tig.informacaoUtil
com.techtour.tig.extrato

com.techtour.tig.gui

com.techtour.tig.protocolos

Classes
FachadaTIG
Hospede
CadastroHospedes
RepositorioHospedes
RepositorioHospedesBD
Informao
CadastroInformacoes
RepositorioInformacoes
RepositorioInformacoesBD
InformacaoUtil
ControladorInfoUteis
Extrato
ControladorExtrato
Despesa
TelaExtrato
TelaCadastroHospedes
TelaCadastroInformacoes
TelaConsultaInfHotel
TelaInformacoesUteis
ComunicacaoCadastroHospedes
ComunicacaoCadastroInformacoes
ComunicacaoConsultaInfHotel
ComunicacaoExtrato
ComunicacaoSistemaHotel
ComunicacaoInformacoesUteis
ComunicacaoInfoUteis

Você também pode gostar