Escolar Documentos
Profissional Documentos
Cultura Documentos
2º Semestre
2020
Projeto de Sistema de Software de Hotel
Descrição:
Com base no relato de: Atores, Casos de Uso e Regras de Negócio, crie o modelo lógico
(MER) e o modelo físico (script sql) de um banco de dados que suporte o Sistema de Software
de Hotel proposto.
Atores:
• Hóspede: este ator representa, como o próprio nome diz, os hóspedes que se hospedam no
hotel. O hóspede pode reservar e alugar quartos.
• Recepção: este ator representa os funcionários que também podem reservar e alugar quartos
para os hóspedes, bem como manter o cadastro de hóspedes, realizar serviços e quitar diárias.
• Sistema de Cartão: este ator representa um sistema externo apresentando integração com o
sistema do hotel para possibilitar o pagamento por meio de cartão de débito ou crédito.
• Se necessário, outro(s) ator(es), inclusive sistemas externos, podem ser identificados.
Casos de Uso:
• CSU01: Reservar Quarto: este caso de uso representa o processo pelo qual um hóspede
pode reservar um ou mais quartos no hotel.
• CSU02: Alugar Quarto: este caso de uso representa o processo pelo qual um hóspede aluga
um ou mais quartos no hotel.
• CSU03: Manter Hóspede: este caso de uso representa a manutenção do cadastro de
hóspedes. Observe que existe um relacionamento de extensão entre esse caso de uso e os
casos de uso Reservar Quarto e Alugar Quarto, uma vez que o hóspede não possua cadastro
no hotel ou seus dados tenham sofrido alguma alteração desde a última reserva ou aluguel, é
necessário registrar ou alterar seu cadastro.
• CSU04: Solicitar Serviço: este caso uso apresenta os passos necessários para que o
hóspede solicite algum dos serviços oferecidos pelo hotel.
• CSU05: Quitar Diárias: Este caso de uso apresenta os passos percorridos por um hóspede
para quitar suas diárias. A quitação das diárias não necessariamente significa o encerramento
da estadia do hotel. Na quitação das diárias é necessário quitar também quaisquer serviços
solicitados ou consumo do frigobar. Por esse motivo existe o relacionamento de extensão entre
esse caso de uso e os casos de uso Quitar Serviços e e Quitar Consumo, onde estão
detalhados os passos para que o hóspede possa quitar essas contas.
• CSU06: Encerrar Estadia: este caso de uso representa o processo pelo qual um hóspede
encerra sua estada no estabelecimento. Observe que há um relacionamento de inclusão com o
caso de uso Quitar Diárias, uma vez que ao encerrar sua estadia, o hóspede deverá quitar as
diárias ainda não pagas.
Regras de Negócio:
• RN01: Os quartos podem ser alugados quando o hóspede chega ao hotel (desde que existam
vagas) ou serem reservados via Web.
• RN02: Caso seja a primeira vez que o hóspede aluga quartos, ou seus dados tenham sofrido
alterações, o hóspede deve ser cadastrado antes de finalizar o aluguel do quarto.
• RN03: Além do aluguel do quarto, o hotel oferece serviços diversos como restaurante, lavar
e/ou passar roupas. Qualquer um desses serviços, se solicitado, será cobrado na quitação das
diárias.
• RN04: O hóspede pode também consumir os produtos contidos no frigobar, que também
serão cobrados na quitação das diárias.
• RN05: As diárias vencem ao meio-dia. A política do hotel exige que as diárias sejam quitadas
semanalmente. Quando o cliente for quitar a fatura, quitará não somente as diárias do(s)
quarto(s) que alugou, mas também qualquer serviço que tenha solicitado e os possíveis itens
consumidos no frigobar.
• RN06: O hóspede, depois de quitar a fatura, pode permanecer no hotel ou encerrar sua
estadia.
• RN07: O pagamento pode ser realizado por meio de cartão de débito ou crédito. Quando o
pagamento for à vista, deve ser aplicado 10% de desconto no valor das diárias, sendo que
esse desconto não será atribuído ao valor dos serviços e dos itens do frigobar.
1) DER do banco
e) 3 clientes
f) 4 quartos
g) 3 itens de frigobar
j) 3 itens de serviços (tais como lavagem de roupa, algum tipo de refeição servido no
quarto, etc
O banco de dados deve conter informações para que o sistema seja capaz de informar qual o
valor a ser pago pelo cliente no fechamento de sua conta de hospedagem incluindo diárias e
itens de consumo (serviço e frigobar).
1.
Model
oLógi
co-Hot
el
2.
a) O objeto database criando o banco de dados, com sua respectiva
conexão.
-- CRIANDO BANCO DE DADOS HOTEL
CREATE DATABASE DB_HOTEL;
USE DB_HOTEL;
-- INSERINDO HÓSPEDES
INSERT INTO TB_HOSPEDE (DOCUMENTO_HOSPEDE, ID_TIPO_DOCUMENTO, NOME,
SENHA) VALUES
("754.152.745-85", 1, "Luiz Araujo",
"$2a$10$KssILxWNR6k62B7yiX0GAe2Q7wwHlrzhF3LqtV"),
("787.191.444-15", 1, "Arthur Cech",
"$2a$10$KssILxWNR6k62B7yiX0GAe2Q7w"),
("133.155.785-12", 1, "Heitor Sabino",
"%fg$10$KssILxWNR6k62B7yiX0GAe2Q7wwHlrz"),
("C014215AB", 2, "Erika Mustermann",
"$2a$10$KssILxWNR6k62B7yiX0GAe2Q7wwHlrzhF3Lq");
e) 4 quartos
-- INSERINDO TIPO DE QUARTOS
INSERT INTO TB_TIPO_QUARTO (TIPO_QUARTO, DESCRICAO,
CAPACIDADE_MAXIMA) VALUES
("Solteiro", "Como o próprio nome sugere, ele é o quarto indicado para quem
viaja sozinho.", 1),
("Duplo Solteiro", "Ideal para quem viaja em grupo de amigos ou de família.",
5),
("Casal", "Possui uma cama de casal.", 2),
("Master","Quartos mais luxuosos.", 8),
("Master Superior", "Quartos mais luxusos.", 10);
-- INSERINDO QUARTOS
INSERT INTO TB_QUARTO (NUM_QUARTO, ID_TIPO_QUARTO, ANDAR, CORREDOR,
STATUS_QUARTO, VALOR_DIARIA) VALUES
("15A", 2, 1, "1B", 0, 85.00), ("179D", 1, 17, "1", 0, 450.00),
("1710", 4, 17, "1", 0, 450.00), ("178A", 3, 17, "1", 0, 450.00),
("138", 3, 13, "13", 0, 120.00), ("35A", 4, 3, "1", 0, 200.00),
("17", 2, 1, "1", 0, 450.00), ("95D", 3, 9, "1", 0, 450.00),
("25B", 1, 2, "1", 0, 450.00), ("17b", 4, 1, "1", 0, 450.00);
f) 3 itens de frigobar
-- INSERINDO FRIGOBARES EM TODOS OS QUARTOS
INSERT INTO TB_FRIGOBAR (NUM_QUARTO) VALUES ("15A"), ("179D"), ("1710"),
("178A"), ("138"), ("35A"), ("17"), ("95D"), ("25B"), ("17B");
-- INSERINDO SERVIÇOS
INSERT INTO TB_SERVICO (COD_TIPO, NOME, VALOR, DESCRICAO) VALUES
(1, "Almoço do Hotel", 52.00, "Arroz, Feijão, Batata, Frango a Milanesa, 1
bebida"),
(1, "Jantar do Hotel", 83.00, "Paeja de Frutos do Mar, 1 bebida"), (1,
"Almoço do Hotel", 52.00, "Arroz, Feijão, Batata, Frango a Milanesa, 1 bebida"),
(1, "Hotel Burguer Picanha", 26.00, "Picanha filetada temperada com alho
frito, queijo mussarela, mostarda, maionese da casa e pão com gergelim."),
(1, "Picanha Cheddar Burguer", 22.00, "Hambúrguer de picanha, queijo
cheddar, cebola caramelizada, maionese da casa e pão brioche."), (2, "Lavagem
até 10kg", 63.00, "Lavagem de roupa até 10kg"), (2, "Lavagem de 10kg a 25kg",
110.00, "Lavagem de roupa de 10kg a 25kg"),
(2, "Passadora de roupa até 10 peças", 45.00, "Passar até 10 peças de
roupa"),
(3, "Arrumar quarto fora do horário", 50.00, "Arrumar quarto fora do horário
de arrumação"),
(3, "Organização local", 65.00, "Organiza locais");
O banco de dados deve conter informações para que o sistema seja capaz de informar
qual o valor a ser pago pelo cliente no fechamento de sua conta de hospedagem
incluindo diárias e itens de consumo (serviço e frigobar).
-- QUITAR CONSUMOS
INSERT INTO TB_QUITAR_CONSUMO (NUM_ALUGA,
VALOR_TOTAL_CONSUMO)VALUES
((SELECT DISTINCT NUM_ALUGA FROM
VIEW_ITENS_CONSUMIDOS_FRIGOBAR WHERE DOCUMENTO_HOSPEDE
= "C014215AB"),
(SELECT SUM(VALOR_TOTAL) FROM
VIEW_ITENS_CONSUMIDOS_FRIGOBAR WHERE DOCUMENTO_HOSPEDE
= "C014215AB"));
-- QUITAR DIÁRIA
INSERT INTO TB_PAGAMENTO (A_VISTA) VALUES (0);
SET @pag = LAST_INSERT_ID();
SET @a_vista = (SELECT A_VISTA FROM TB_PAGAMENTO WHERE
ID_PGTO = @pag);
-- SE A VISTA IGUAL A 1 RECEBE 10% DE DESCONTO NO VALOR FINAL
INSERT INTO TB_DESCONTO (ID_PGTO, DESCONTO) VALUES(@pag,
(SELECT CASE WHEN @a_vista = 0 THEN 0 WHEN @a_vista = 1 THEN 10
END));
SET @valor_total =
(SELECT VALOR_TOTAL_DIARIA
FROM VIEW_VALOR_TOTAL_DIARIA
WHERE DOCUMENTO_HOSPEDE = "C014215AB");