ANÁLISE ESTRUTURADA MODERNA Exemplo DFD: Sistema Hotelaria (parcial) Thelma Elita Colanzi Lopes thelma@din.uem.br
Documento de Requisitos (parcial) Deseja-se desenvolver um software para um pequeno hotel que atenda aos seguintes requisitos funcionais: 1. O sistema deve permitir que o faça reserva de quarto(s) em determinado(s) período(s). Neste momento, é averiguado se existe quarto disponível no período solicitado. Caso positivo, é feita a reserva do quarto e enviada a confirmação para o ; para isto, são necessários os seguintes itens de informação: nome do, telefone e tipo de quarto (solteiro, casal). Caso negativo, é informado ao a não disponibilidade do quarto; 2. O sistema deve permitir o cancelamento da reserva, disponibilizando o quarto, caso o solicite; 3. O sistema deve cancelar automaticamente a reserva, caso o não compareça no hotel para hospedar-se até às 12 horas do dia da reserva, disponibilizando o quarto; 2
Documento de Requisitos (parcial) cont. 4. O sistema deve permitir o registro do cliente ao ocupar um quarto, reservado previamente. Caso o quarto não esteja reservado, uma mensagem de rejeição será emitida. Caso contrário, a confirmação será fornecida ao ; 5. O sistema deve permitir a emissão da conta ao e a disponibilização do quarto para limpeza, no momento em que ele solicitar a sua saída; 6. O sistema deve permitir o registro do pagamento da conta. Ao efetivar o pagamento é gerado um recibo para o cliente; 7. O sistema deve permitir a disponibilização do quarto, por parte do Gerente, quando este estiver limpo. 3
Lista de Eventos Eventos: 1. reserva quarto 2. cancela reserva 3. É hora de cancelar reserva 4. registra-se no hotel 5. solicita saída do hotel 6. paga a conta 7. Gerente disponibiliza o quarto 4
Diagrama de Contexto pedido_saída pedido_reserva pedido_cancelamento _reserva dados_cliente Sistema de Hotelaria conta pagto_conta recibo Gerente dados_quartos_dispo 5
DFD - nível 0 dados_reserva pedido_reserva pedido_cancelamento_ reserva P1 Tratar reserva reserva_cancelada Gerente q_reservado quarto_disponível dados_quartos_dispo quartos quarto_limpo dados_cliente pedido_saída conta pagto_conta quarto_ocupado P2 Tratar cliente quarto_disp_limpeza d_cliente d_reserva_efetuada d_reserva clientes P3 Disponibilizar quarto recibo dados_cliente_cad 6
DFD nível 1 dados_reserva pedido_reserva * P1.1 Reservar quarto q_reservado pedido_cancelamento_ reserva P1.2 Cancelar reserva quarto_disponível reserva_cancelada quartos quartos_disponíveis P1.3 Cancelar não comparecimento _canceladas Refinamento 7
DFD nível 1 dados_cliente_cad dados_cliente * P2.1. Registrar hospedagem de cliente clientes quarto_ocupado conta d_reserva_efetuada quartos pedido_saída * P2.2 Providenciar saída do cliente d_reserva d_cliente quarto_disp_limpeza Refinamento 2.1 Refinamento 2.2 8
DFD nível 1 clientes pagto_conta recibo P2.3. Efetuar pagto de conta d_cli hospedagem_pg 9
DFD nível 2 : Refinamento do Processo P1.1 pedido_reserva P1.1.1 Verificar disponibilidade quarto quartos_cad quartos quarto_indisponível quartos_disp. quarto_reservado P1.1.2 Efetuar reserva q_reserv. dados_reserva Voltar 10
DFD nível 2 : Refinamento do Processo P2.1 dados_cliente cliente_rejeitado P2.1.1 Verificar reserva d cad d_cli_reserva P2.1.2 Cadastrar cliente dados_cliente_cad clientes d_reg_reserva d_reserva_cliente Voltar cliente_registrado P2.1.3 Efetuar Hospedagem cliente quarto_ocupado quartos 11
DFD nível 2 : Refinamento do Processo P2.2 clientes pedido_saída conta P2.2.1 Gerar conta d_cliente d_reserva nr_quarto quartos P2.2.2 Tornar quarto disp. p/ limpeza quarto_disp_limpeza Voltar 12