Analise Sistema de Hotel

24
C ategorias C odigoCategoria Descricao Rem overCategoria() AlterarC ategoria() C riarC ategoria() V erifC ategoria() VerificarC ategoria() ItensConsum o CodigoItem Consum o Descricao Valor CriarItem Consum o() ModificarItem Consum o() Rem overItem Consum o() ConsultarItemConsum o() ListarItemConsumo() ValidarC odigoItem () VerificarItem Consum o() MostrarItem Consum o() 1..* 1 1..* 1 pertence ItensP edido Q tdade ValorU nitario IncluirItensP edido() AlterarItensP edido() RemoverItensPedido() VerificarItensPedido() CalcularItem Pedido/C ategoria() 1 0..* 1 0..* tem Faturas Num ero DataVencim ento D ataPagto ValorTotal Juros M ulta Em itirFaturaP eriodo() Q uitarF atura() ListarFaturasAtrasadas() ListarFaturam entoPeriodo() Acom panhantes N om e Idade BuscarAcom panhantes() IncluirAcompanhante() Funcionarios CodigoFuncionario N om e Endereco Cidade Estado fone Nascimento Senha C riarFuncionario() M odificarFuncionario() RemoverFuncionario() ListarFuncionario() C onsultarFuncionario() P edidosConsum o CodigoPedido Data IncluirPedido() AlterarP edido() Rem overPedido() ListarPedidos() ConsultarPedidos() VerificarPedidos() CalcularPedidosHospedagem() 1..* 1 1..* 1 1 0..* 1 0..* atendido R eservasAcom panhante N om e Idade InserirR eserAcom p() R em overReserAcom p() ModificarR eserAcom () Hospedes CodigoH ospede N om e Endereco Cidade Estado Pais Fone Email NroD ocum ento TipoDocum ento Nascimento N om eP ai N om eM ae NroC artaoCredito senha ListarHospedes() ListarH istoricoE stadia() IncluirH ospede() AlterarH ospede() R em overH ospede() VerificarC adastro() O bterH ospede() Hospedagens D ataC hegada H oraC hegada D ataPrev istaSaida H oraPrev istaSaida dataS aida HoraSaida D esconto TipoPagto N roDocPagto R egistrarEntrada() R egistrarSaida() TotalizarD espesas() ListarHospedes() Em itirCom provanteSaida() ObterHospedagem () ListarHospedagensAtuais() Com pletarDatasHoras() C alcularD iarias() A tualizarPagtoH ospedagem () 0..1 1 0..1 1 relativa 0..* 1 0..* 1 pos s ui 1 0..* 1 0..* aluga efetua 1 0..* 1 0..* c ons umido R eserv asAcom odacao D ataC hegada H oraC hegada DataSaida HoraSaida DataCancelam ento ValorM ulta C artaoCredito D esconto FazerR eserva() C ancelarReserva() ListarR eserva() ListarR eservaD ataAtual() C onsultarR esrvas() EncontrarR eservasH oje() 1 0..* 1 0..* pos s ui 1 0..* 1 0..* faz 1 1..* 1 1..* gera Acom odacoes C odigoAcom odacao A ndar S ituacao A lterarSituacao() CriarAcom odacao() A lterarAcom odacao() R em overAcom odacao() BuscarAcom odacoes() 0..* 1 0..* 1 aloc ada por T iposA com odacao CodigoTipoAcom odacao Descricao N roAcom odacoes ValorD iaria N roAdultos NroC riancas CriarTipoAcomodacao() Rem overTipoAcom odacao() AlterarTipoAcomodacao() ListarTiposAcomodacao() ConsultarTiposAcomodacao() ObterTipoAcom odacao() ExibirM ulta() ExibirD esconto() 1 0..* 1 0..* res erv a 1..* 1 1..* 1 tem Diagrama de Classes do Sistema de Hotel 1

Transcript of Analise Sistema de Hotel

Page 1: 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

Page 2: Analise Sistema de Hotel

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

Page 3: Analise Sistema de Hotel

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

Page 4: Analise Sistema de Hotel

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

Page 5: Analise Sistema de Hotel

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

Page 6: Analise Sistema de Hotel

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

Page 7: Analise Sistema de Hotel

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

Page 8: Analise Sistema de Hotel

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

Page 9: Analise Sistema de Hotel

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

Page 10: Analise Sistema de Hotel

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

Page 11: Analise Sistema de Hotel

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

Page 12: Analise Sistema de Hotel

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

Page 13: Analise Sistema de Hotel

Diagrama de Sequencia CA2

Funcionario : AtorFuncionario

ItemConsumo : ItensConsumo

codigo

VerificarItemConsumo( )

msg "ItemConsumo nao existe"

13

Page 14: Analise Sistema de Hotel

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

Page 15: Analise Sistema de Hotel

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

Page 16: Analise Sistema de Hotel

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

Page 17: Analise Sistema de Hotel

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

Page 18: Analise Sistema de Hotel

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

Page 19: Analise Sistema de Hotel

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

Page 20: Analise Sistema de Hotel

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

Page 21: Analise Sistema de Hotel

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