Analise Sistema de Hotel
Transcript of Analise Sistema de Hotel
Categorias
CodigoCategoriaDescricao
Remov erCategoria()AlterarCategoria()CriarCategoria()Verif Categoria()Verif icarCategoria()
ItensConsumo
CodigoItemConsumoDescricaoValor
CriarItemConsumo()Modif icarItemConsumo()Remov erItemConsumo()ConsultarItemConsumo()ListarItemConsumo()ValidarCodigoItem()Verif icarItemConsumo()MostrarItemConsumo()
1..*1 1..*1
pertence
ItensPedido
QtdadeValorUnitario
IncluirItensPedido()AlterarItensPedido()Remov erItensPedido()Verif icarItensPedido()CalcularItemPedido/Categoria()
1
0..*
1
0..*tem
Faturas
NumeroDataVencimentoDataPagtoValorTotalJurosMulta
EmitirFaturaPeriodo()QuitarFatura()ListarFaturasAtrasadas()ListarFaturamentoPeriodo()
Acompanhantes
NomeIdade
BuscarAcompanhantes()IncluirAcompanhante()
Funcionarios
CodigoFuncionarioNomeEnderecoCidadeEstadof oneNascimentoSenha
CriarFuncionario()Modif icarFuncionario()Remov erFuncionario()ListarFuncionario()ConsultarFuncionario()
PedidosConsumo
CodigoPedidoData
IncluirPedido()AlterarPedido()Remov erPedido()ListarPedidos()ConsultarPedidos()Verif icarPedidos()CalcularPedidosHospedagem()
1..*1 1..*1
1
0..*
1
0..*
atendido
Reserv asAcompanhante
NomeIdade
InserirReserAcomp()Remov erReserAcomp()Modif icarReserAcom()
Hospedes
CodigoHospedeNomeEnderecoCidadeEstadoPaisFoneEmailNroDocumentoTipoDocumentoNascimentoNomePaiNomeMaeNroCartaoCreditosenha
ListarHospedes()ListarHistoricoEstadia()IncluirHospede()AlterarHospede()Remov erHospede()Verif icarCadastro()Obter Hospede()
Hospedagens
DataChegadaHoraChegadaDataPrev istaSaidaHoraPrev istaSaidadataSaidaHoraSaidaDescontoTipoPagtoNroDocPagto
RegistrarEntrada()RegistrarSaida()TotalizarDespesas()ListarHospedes()EmitirComprov anteSaida()ObterHospedagem()ListarHospedagensAtuais()CompletarDatasHoras()CalcularDiarias()AtualizarPagtoHospedagem()
0..1
1
0..1
1
relativa
0..*
1
0..*
1
possui
1
0..*
1
0..*
aluga
efetua
1
0..*
1
0..*
consumido
Reserv asAcomodacao
DataChegadaHoraChegadaDataSaidaHoraSaidaDataCancelamentoValorMultaCartaoCreditoDesconto
FazerReserv a()CancelarReserv a()ListarReserv a()ListarReserv aDataAtual()ConsultarResrv as()EncontrarReserv asHoje()
1
0..*
1
0..*possui
1
0..*
1
0..*
faz
1
1..*
1
1..*
gera
Acomodacoes
CodigoAcomodacaoAndarSituacao
AlterarSituacao()CriarAcomodacao()AlterarAcomodacao()Remov erAcomodacao()BuscarAcomodacoes()
0..*1 0..*1
alocada por
TiposAcomodacao
CodigoTipoAcomodacaoDescricaoNroAcomodacoesValorDiariaNroAdultosNroCriancas
CriarTipoAcomodacao()Remov erTipoAcomodacao()AlterarTipoAcomodacao()ListarTiposAcomodacao()ConsultarTiposAcomodacao()ObterTipoAcomodacao()ExibirMulta()ExibirDesconto()
1
0..*
1
0..*
reserva
1..*
1
1..*
1
tem
Diagrama de Classes do Sistema de Hotel
1
Diagrama de Use Cases
ListarHospedagensAtuais
ListarReservasEfetuadasDataAtual
IncluirItemConsumo
AlterarItemConsumo
RemoverItemConsumo
RegistrarPedidoConsumo
ConsultarAcomodações
AtorFuncionario
solicitacao
ReservasHoje
msg
msg
IncluirHospede
AlterarHospede
RemoverHospede
ReservarAcomodação
<<extend>>
RegistrarHospedagem
<<extend>>
FinalizarHospedagem
QuitarFatura
ImprimirHistorico
AtorHospede
2
Descrição de Use Cases 1- Reservar AcomodaçãoCurso Normal
1. Hospede informa sua identificacao2. Hospede informa a data e hora de chegada, data e hora de saida3. Hospede informa tipo de acomodacao4. Hospede informa acompanhantes, chamar use case IncluirReservasAcompanhante5.Informar hospede sobre multa em caso de desistencia6. Informar hospede sobre desconto7. Hospede informa dados cartao de credito8. Efetuar ReservaAcomodacao9. Encerrar use case
Cursos Alternativos1. Hospede nao cadastrado1.1. Chamar o use case IncluirHospede
2. Data chegada > Data Saida2.1. Enviar Msg: "Datas inconsistentes"2.2. Abandonar use case.
3. Nao existe tipo de acomodacao solicitada3.1. Enviar Msg: "Tipo de acomodacao nao disponivel"3.2. Abandonar use case
4. Hospede nao tem acompanhantes
5. Nao há multa para desistencia5.1. Enviar Msg: "Nao existe multa para desistencias"
6. Nao há descontos concedidos6.1. Enviar Msg: "Nao existem descontos concedidos"
7. Hospede nao possui cartao de credito7.1. Enviar Msg: "Pagamento de hospedagem a vista (cheque ou dinheiro)"
3
Diagrama de Seqüência1- Reservar Acomodação - Curso Normal
Hospede : AtorHospede
ReservaAcomod : ReservasAcomodacao
Hospede : AtorHospede
Acompanhante : AcompanhantesReserva
TipoAcom : TiposAcomodacao
ID
ConsultarHospede( )
info reserva
IncluirAcompReserva( )
EfetuarReserva( )
ConsultarTpAcom( )
ExibirMulta( )
MultaExibirDesc( )
Desc
4
1- Reservar Acomodação - Curso Alternativo 1
Hospede : AtorHospede
Hospede : AtorHospede
Acompanhante : Acompanhantes
TipoAcomodacao : TiposAcomodacao
ReservaAcomodacao : ReservasAcomodacao
ID
VerificarCadastro( )
IncluirHospede( )
infoReserva
ConsultarTiposAcomodacao( )
ExibirMulta( )
multa
ExibirDesconto( )
Desconto
IncluirAcompanhante( )
FazerReserva( )
5
2- Curso Alternativo 2
ReservarAco : ReservasAcomodacao
Sistema : Sistema
Hospede : AtorHospede
Hospede : AtorHospede ID
VerificarCadastro( )
infoReserva
ValidarData( )
"DatasInconsistentes"
3- Listar Hospedes AtuaisCurso Normal
1. Obter hospedagem em Hospedagens com DataSaida em branco2. Para cada hospedagem encontrada em Hospedagens obter Hospede em Hospedes3. Para cada hospedagem encontrada em Hospedagens obter Acompanhantes e Acomodacoes4. Imprimir relatorio com as informacoes:Nome do hospede principal, Nome dos Acompanhantes, Data de Entrada, Data Prevista Saida e o numero da acomodacao.5.Encerrar use case
Curso Alternativo1. Nao há DataSaida em branco em Hospedagens1.1 Imprimir Msg: "Nao há hospedes no hotel no momento"1.2. Abandonar use case
3. Não há acompanhantes para Hospedes.3.1. Imprimir msg "Esse hospedagem não tem acompanhantes".3.2. Imprimir relatorio com as informações: Nome do Hospede Principal, Data de Entrada, Data Prevista para Saída e o número de Acomodação. 3.3 Abandonar use case.
6
DIAGRAMA DE SEQUENCIA: LISTAR HOSPEDES ATUAIS CN
Funcionario : AtorFuncionario
Hospedagem : Hospedagens
Hospede : Hospedes
Aompanhante : Acompanhantes
Acomodacao : Acomodacoes
solicitacao
ObterHospedagem( )
Obter Hospede( )
BuscarAcompanhantes( )
BuscarAcomodacoes( )
relatorioHAtuais
ListarHospedagensAtuais( )
DIAGRAMA DE SEQUENCIA: LISTAR HOSPEDES ATUAIS CA1
Funcionario : AtorFuncionario
Hospedagem : Hospedagens
Solicitacao
ObterHospedagens( )
Msg: "Nao há hospedes no hotel no momento"
7
DIAGRAMA DE SEQUENCIA: LISTAR HOSPEDES ATUAIS CA3
Funcionario : AtorFuncionario
Hospedagem : Hospedagens
Hospede : Hospedes
Acompanhante : Acompanhantes
Acomodacao : Acomodacoes
Solicitacao
ObterHospedagens( )
ImprimirHospAtuais( )
RelatorioHospAtuais
ObterHospede( )
BuscarAcomp( )
BuscarAcomod( )
Msg: "Essa hospedagem nao tem acompanhantes"
Listar Reservas para data atual.Curso Normal
1. Obter em ReservasAcomodacoes, reservas cuja DataChegada = DataAtual2. Para cada ReservasAcomodacoes, obter Hospede dessa reserva em Hospedes.3. Para cada ReservasAcomodacoes obter TiposAcomodacao.4. Imprimir Relatorio com as informações: data atual, nome do hospede principal, telefone para contato, tipo de acomodaçao e data prevista para saida.
Curso Alternativo1. Não há ReservasAcomodação para essa data.1.1. Emitir msg "Não há reservas para data de hoje"1.2. Abandonar use case.
8
Diagrama de Sequencia – CN
Funcionario : AtorFuncionario
ReservaAcomodacao : ReservasAcomodacao
Hospede : Hospedes
Acomodacao : Acomodacoes
TipoAcomodacao : TiposAcomodacao
solicitacao
EncontrarReservasHoje( )
Obter Hospede( )
BuscarAcomodacoes( )
ObterTipoAcomodacao( )
Relatorio ReservasparaHoje
Diagrama de Sequencia CA
Funcionario : AtorFuncionario
ReservaAcomodacao : ReservasAcomodacao
solicitacao
EncontrarReservasHoje( )
msg"Nao ha reservas para data de hoje""
9
Incluir Item ConsumoCurso Normal
Curso Normal
1. Obter DescricaoItemConsumo.2. Verificar que ItemConsumo não existe.3. Gerar CodigoItemConsumo4. Obter Categoria do item de consumo.5. Obter descricao, preco de venda do item de consumo.6. Emitir msg "Item de consumo cadastrado".7. Encerrar use case
Curso Alternativo2. Item de consumo já cadastrado.2.1. Emitir msg "Item de consumo já tem cadastro".2.2. Abandonar use case.
4. Categoria não existe.4.1. Enviar msg "Categoria não existe"4.2. Abandonar use case.
Diagrama de Sequencia CN
Categoria : Categorias
Funcionario : AtorFuncionario
ItemConsumo : ItensConsumo
DescricaoItemConsumo
VerificarItemConsumo( )
DadosItemConsumo
CriarItemConsumo( )
msg
VerifCategoria( )
GerarCodigo( )
10
Diagrama de Sequencia – CA2
Funcionario : AtorFuncionario
ItemConsumo : ItensConsumo
CodigoItemConsumo
VerificarItemConsumo( )
msg: itemConsumoja cad
Diagrama de Sequencia – CA4
Funcionario : AtorFuncionario
ItemConsumo : ItensConsumo
Categoria : Categorias
CodigoItemConsumo
VerificarItemConsumo( )
DadosItemConsumo
msg: Categoria nao existe
VerifCategoria( )
11
Alterar Item de ConsumoCurso Normal
Curso Normal
1. Obter CodigoItemConsumo.2. Verificar que ItemConsumo existe.3. Mostrar dados ItemCosumo.4. Obter dados para alteração5. Emitir msg "Item consumo alterado".
Curso Alternativo2. ItemConsumo não existe2.1. Emitir msg "ItemConsumo não tem cadastro".2.2. Abandonar use case.
Diagrama de Sequencia – CN
Funcionario : AtorFuncionario
ItemConsumo : ItensConsumo
codigo
VerificarItemConsumo( )
MostrarItemConsumo( )
DadosAlteracao
ModificarItemConsumo( )
msg"Alteracao Realizada"
12
Diagrama de Sequencia CA2
Funcionario : AtorFuncionario
ItemConsumo : ItensConsumo
codigo
VerificarItemConsumo( )
msg "ItemConsumo nao existe"
13
Use Case Remover Item de consumoCurso Normal
1. Obter CodigoItemConsumo.2. Verificar que ItemConsumo existe.3. Verificar que não existe PedidoConsumo com ItemPedido = ItemConsumo4. Remover ItemConsumo.5. Emitir msg "ItemConsumo removido"
Curso Alternativo2. ItemConsumo não cadastrado.2.1. Emitir msg "ItemConsumo inexistente"2.2. Abandonar use case.
4. Verificar que existe PedidoConsumo com ItemPedido = ItemConsumo4.1. Emitir msg "ItemConsumo não pode ser removido"
Diagrama de Seqüência – CN
Funcionario : AtorFuncionario
ItemConsumo : ItensConsumo
PedidoConsumo : PedidosConsumo
ItemPedido : ItensPedido
codigo
VerificarItemConsumo( )
VerificarPedidos( )
VerificarItensPedido( )
RemoverItemConsumo( )
msg "ItemConsumo removido"
14
Diagrama de Seqüência CA2
Funcionario : AtorFuncionario
ItemConsumo : ItensConsumo
codigo
VerificarItemConsumo( )
msg "ItemConsumo Inexistente"
Diagrama de Seqüência CA4
Funcionario : AtorFuncionario
ItemConsumo : ItensConsumo
PedidoConsumo : PedidosConsumo
ItemPedido : ItensPedido
codigo
VerificarItemConsumo( )
VerificarPedidos( )
VerificarItensPedido( )
msg "ItemConsumo nao pode ser removido"
15
Finalizar Hospedagem Curso Normal
1. Hospede informa nro acomodacao.2. Encontrar em Hospedes o nome do hospede e nro de documento da Hospedagem.3. Obter data e hora atual e atribuir a DataSaida e HoraSaida da Hospedagem.4. Calcular nro de diarias.5. Para cada pedido de consumo da Hospedagem obter data e os itens pedido.5.1. Para cada item pedido obter a quantidade pedida e o preco unitário; calcular total de consumos por categoria.6. Calcular total da hospedagem.7. Hospede realiza pagamento à vista.8. Atualizar Hospedagem.9. Emitir Comprovante de Saída de Hospede. 10. Encerrar use case
Cursos alternativos
5. Não existem PedidosConsumo6. Calcular total da hospedagem.7. Hospede realiza pagamento a à vista 8. Atualizar Hospedagem.9. Emitir Comprovante de Saída de Hospede. 10. Encerrar use case
7. Hospede realiza pagamento a prazo 7.1. Gerar e Imprimir Fatura.8. Atualizar Hospedagem.9. Emitir Comprovante de Saída de Hospede.10. Encerrar use case
16
Curso Alternativo 5
Hospede : AtorHospede
Hospedagem : Hospedagens
Hospede : AtorHospede
Sistema : Sistema
PedidoConsumo : PedidosConsumo
CalcularDiarias( )
TotalizarDespesas( )
pagamento
recibo/comprovante
informacoes
Obter Hospede( )
ObterData/Hora( )
CompletarDatasHoras( )
CalcularPedidosHospedagem( )
"Nao existemPedidoConsumo
AtualizarPagtoHospedagem( )
17
Curso Normal
Hospede : AtorHospede
Hospede : AtorHospede
Hospedagem : Hospedagens
PedidoConsumo : PedidosConsumo
ItemPedido : ItensPedido
Sistema : Sistema
CalcularDiarias( )
CalcularPedidosHospedagem( )
TotalizarDespesas( )
pagamento
recibo/comprovante
CalcularItemPedido/Categoria( )
informacoes
Obter Hospede( )
CompletarDatasHoras( )
AtualizarPagtoHospedagem( )
ObterData/Hora( )
18
2- Incluir HospedeCurso Normal
1. Hospede informa sua identificacao2. Verificar que hospede nao existe3. Hospede informa restante dos dados4. Gerar senha de acesso5. Gerar identificacao6. Emitir msg: "Hospede cadastrado"7. Encerrar o use case
Curso Alternativo2. Hospede existe2.1. Enviar msg "Hosp. existe"2.2. Abandonar use case
Curso Alternativo2. Hospede existe2.1. Enviar msg "Hosp. existe"2.2. Hospede confere seus dados2.3. Abandonar use case
3) Alterar HospedesCurso Normal
1. Obter NroDocumento, identificação do hospede 2. Verificar que Hospede existe.3. Mostrar dados hospede.4. ObterDadosHospede.5. Emitir msg "Hospede alterado".
Curso Alternativo
2. Hospede não existe2.1. Emitir msg "Hospede não tem cadastro".2.2. Abandonar use case.
4)Remover HospedeCurso Normal
1. Obter NroDocumento, identificação do hospede 2. Verificar que Hospede existe.3. Remover Hospede.4. Emitir msg "Hospede removido"
19
Curso Alternativo
2. Hospede não cadastrado.2.1. Emitir msg "Hospede não tem cadastro".2.2. Abandonar use case.
RegistrarHospedagem
Curso Normal
1. Hospede informa sua identificação.2. Hospede tem reserva.3. Informar funcionario responsavel pela hospedagem. 4. Efetuar hospedagem.
Cursos altenativos
1. Hospede não cadastrado1.1. Chamar use case IncluirHospede.
2. Hospede nao tem reserva2.1.Chamar use case ReservarAcomodacao
Registrar Pedido de Item de consumoCurso Normal
1. Informar nro da acomodação. 2. Informar data do consumo, nome do funcionario responsavel.3. Informar ItensConsumidos com respectiva quantidade.4. Para cada item consumido incluir em ItemPedido com valor unitario = Valor de ItensConsumidos5. Registrar Pedido Consumo.
Cursos Alternativos1. Nro de acomodaçao nao existe.1.1. Abandonar use case.
Use Case – Quitar FaturaCurso Normal
1. Informar nro da fatura2. Verificar Datahoje <= Datafatura3. Receber valor4. Dar baixa na fatura
Curso Alternativo
2. Datahoje > Datafatura2.1. Calcular juros e multa
20
2.2. Informar hospede sobre valor total = total fatura+juros+multa
5) Imprimirhistorico
1. Informar codigo de identificação do hospede2. Informar senha3. Obter em Hospedagens todas as hospedagens desse hospede. 4. Para cada hospedagem obter as datas de entrada e saida e os totais pagos em cada ocasião. 5. Listar informações
Curso Alternativo1. Hospede não é cadastrado. 1.1 Chamar usecase IncluirHospede
2. Senha do hospede não está correta. 2.1. Enviar msg "senha incorreta"2.2. Abandonar use case.
3. Hospede nao possui hospedagens anteriores3.1. Enviar msg "Primeira hospedagem do hospede"3.2. Abandonar use case.
21