Analise Sistema de Hotel

Preview:

Citation preview

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

Recommended