Engenharia de Software Trabalho 2 Modelagem Dinâmica do Sistema ViajarFácil.com.br Disciplina: INF318 - Modelagem Orientada a Objetos e Projeto Arquitetural Profa. Dra. Cecília M. F. Rubira Equipe 5 Jeniffer Viera de Deus Jonatan Geraldo de Souza Lucio Zanferdini de Toledo Moacir Emídio dos Santos Junior Suzi Kétly da Costa Reginaldo
1. Introdução O escopo desta análise se limitará aos seguintes Casos de Uso: Reservar pacotes; Contratar passeios extras; Contratar guia turístico; Reservar transporte; Reservar hotéis.
2. Diagrama de Casos de Uso e Refinamento Os casos de uso permanecerão com a mesma numeração do documento de projeto padrão selecionado para esta disciplina. Abaixo segue o diagrama de Casos de Uso utilizado para a realização deste trabalho: Como a imagem está reduzida e pode dificultar o entendimento, ela será enviada junto com este documento para o repositório Web da disciplina. 2.1. Reservar Pacote Feito por Jonatan Geraldo de Souza Caso de Uso #04 Reservar pacote Atores: Cliente. Descrição: Este é o processo no qual o cliente reserva um pacote. A reserva se inicia com a escolha de um pacote pelo cliente e a customização do mesmo, caso o cliente deseje contratar guias turísticos e passeios extras. Em seguida, o cliente solicita ao sistema o fechamento da reserva do pacote. Encerra quando o sistema registra a reserva e fica aguardando o pagamento. Pré-condições: O cliente deve ter escolhido um pacote e feito a autenticação no sistema. Pós-condições: Ao final do processo, uma reserva de pacote deverá ser registrada para o cliente e o sistema ficará aguardando o pagamento da reserva.
Requisitos Especiais: Segurança (RNF001), Usabilidade (RNF002), Performance (RNF003) Disponibilidade de Guia Turístico (RNF004). Requisitos Funcionais: RF001 (Consultar pacotes), RF002 (Consultar hotéis), RF004 (Comprar pacotes), RF005 (Contratar guia turístico), RF006 (Contratar passeios extras). Fluxo de Eventos Fluxo Básico 1. O cliente seleciona um pacote de sua preferência; 2. O sistema fornece opções de hotéis; 3. O cliente escolhe o hotel por número de estrelas ou faixa de preço; 4. O sistema fornece opções de transporte; 5. O cliente escolhe o meio de transporte que deseja utilizar; 6. Se o pacote escolhido pelo cliente possuir opção de contratar guia turístico: 6.1 O sistema oferece ao cliente a opção para escolher o guia por idioma e o número de dias que o guia acompanhará o grupo, desde que não exceda o período inteiro da viagem; 7. Se o pacote escolhido pelo cliente possuir opção de contratar passeios extras: 7.1 O sistema oferece ao cliente a opção para escolher contratar passeios extras como visitas a museus, locais históricos, shows locais ou jantares; 8. O cliente confirma a escolha do pacote e dos serviços relacionados; 9. O sistema registra a reserva do cliente; 10. O sistema atualiza seu banco de dados com a informação de que a reserva está aguardando o pagamento. Fluxo Alternativo 1 1. No passo 1, se o cliente escolher um pacote onde não existe disponibilidade de vôo ou hotel, então ele será informado e será solicitada a escolha de outro pacote. Vá para o passo 1 do Fluxo básico. Fluxo Alternativo 2 1. No passo 3, caso o cliente não concordar com o hotel oferecido, o cliente poderá cancelar a operação. 2. Se o cliente cancelar a operação, vá para o passo 2 do fluxo básico. Fluxo Alternativo 3 1. No passo 5, caso o cliente não concordar com o transporte oferecido, o cliente poderá cancelar a operação. 2. Se o cliente cancelar a operação, vá para o passo 4 do fluxo básico. Fluxo Alternativo 4 1. No passo 8 caso o cliente não concordar com o pacote montado, poderá cancelar a operação. 2. Se o cliente cancelar a operação, vá para o passo 1 do fluxo básico. 3. Se o cliente concordar com o pacote montado, avança a operação (<<extend>> Efetuar pagamento). 2.2. Contratar passeios extras Feito por Jeniffer Vieira de Deus Caso de Uso #7 Contratar Passeios Extras Ator: Cliente.
Descrição: Representa o processo de contratação de um passeio extra no portal. Durante o processo de reserva do pacote, o cliente pode optar pela contratação de passeios extras que estão disponíveis para a localidade destino. O cliente escolhe contratar passeios extras, o sistema obtém a lista de passeios disponíveis na localidade destino e o cliente escolhe os passeios desejados. Pré-condições: O cliente deve ter escolhido um pacote e feito a autenticação no sistema. Pós-condições: Passeios extras associados ao pacote escolhido. Requisitos Especiais: Segurança (RNF001), Usabilidade (RNF002), Performance (RNF003). Requisitos Funcionais: RF003 (Criar conta única), RF004 (Comprar pacotes), RF006 (Contratar passeios extras). Fluxo de Eventos Fluxo Básico 1. O cliente opta por contratar passeios extras para o seu pacote. 2. O sistema apresenta a lista de passeios extras disponíveis para a localidade destino do pacote escolhido pelo cliente. 3. O cliente escolhe os passeios desejados. 4. O sistema associa os passeios extras selecionados ao pacote do cliente e informa ao mesmo sobre a associação. Fluxo Alternativo 1 1. No passo 2, o sistema não encontra nenhum passeio extra disponível para a localidade destino do pacote escolhido pelo cliente. O caso de uso termina. Fluxo Alternativo 2 1. No passo 3, o cliente desiste da contratação e não seleciona nenhum passeio extra. O caso de uso termina. 2.3. Contratar guia turístico Feito por Suzi Kétly da Costa Reginaldo Caso de Uso 3# Contratar Guias turísticos Atores: Cliente. Descrição: Representa o processo de contratação de um guia turístico no portal. O processo se inicia quando o cliente opta pela contratação de um guia turístico. Pré-Condições: Para a execução desse cenário considera-se: a) que o cliente está logado no sistema através de uma conta criada previamente, cujo nome de usuário e senha foram validados pelo próprio sistema; b) que o cliente já tenha escolhido um pacote de viagem; c) que o prazo estipulado para a confirmação do pacote está vigente. Pós-Condições: Ao término da execução, o sistema do portal registrará em seu banco de dados a opção do cliente em ter ou não um guia turístico no destino. Requisitos Especiais: Segurança (RNF001), Usabilidade (RNF002), Performance (RNF003)
Requisitos Funcionais: RF003 (Criar conta única), RF004 (Comprar pacotes), RF005 (Contratar guia turístico) Fluxo de Eventos Fluxo Básico 1. O cliente decide contratar um guia turístico; 2. O sistema verifica a disponibilidade de guias turísticos na localidade de destino; 3. O sistema exibe ao cliente uma lista dos idiomas falados pelos guias turísticos; 4. O cliente escolhe um idioma; 5. O sistema registra a opção do cliente e reserva o serviço do guia turístico até o prazo máximo estabelecido para a reserva. Fluxo Alternativo 1 1. No passo 2 do fluxo básico, se não houver disponibilidade de guias turísticos no local de destino, o sistema informa ao cliente; 2. O cliente cancela a operação. Fluxo Alternativo 2 1. No passo 3 do fluxo básico, se não houver disponibilidade do idioma desejado pelo cliente, ele pode cancelar a operação ou escolher outro idioma; 2. Se o cliente escolher outro idioma, vai para o Passo 5 do Fluxo Básico. 2.4. Reservar transporte Feito por Moacir Emídio dos Santos Junior Caso de Uso #14 Reservar Transporte Atores: Cliente, Sistema de Transporte Descrição: Este é o processo pelo qual o cliente reserva o transporte (passagem aérea ou marítima) no parceiro. A reserva se inicia com a escolha do transporte pelo cliente que, após a confirmação da reserva do pacote, é feita a reserva com o parceiro Sistema Transporte. O processo é finalizado com o sistema aguardando o pagamento. Pré-condições: O cliente deve ter selecionado um pacote e feito a autenticação no sistema. Pós-condições: Ao final do processo, uma reserva de pacote deverá ser registrada para o cliente e o sistema ficará aguardando o pagamento da reserva. Requisitos Especiais: Segurança (RNF001), Usabilidade (RNF002), Performance (RNF003). Requisitos Funcionais: RF001 (Consultar pacotes), RF004 (Comprar pacotes). Fluxo de Eventos Fluxo Básico 1. O cliente seleciona um pacote de sua preferência; 2. O sistema fornece opções de transporte; 3. O cliente escolhe o transporte aéreo ou transporte marítimo; 4. O cliente confirma a escolha do pacote; 5. O sistema registra a reserva do cliente;
6. O sistema atualiza o banco de dados com a informação de que a reserva está aguardando o pagamento. Fluxo Alternativo 1 1. No passo 1, se o cliente escolher um pacote onde não existe disponibilidade de vôo ou cruzeiro, então ele será informado e será solicitado a escolha de outro pacote. Vá para o passo 1 do Fluxo básico. Fluxo Alternativo 2 1. No passo 3, caso o cliente não concordar com os transportes oferecido, o cliente poderá cancelar a operação. 2. Se o cliente cancelar a operação, vá para o passo 2 do fluxo básico. Fluxo Alternativo 3 1. No passo 4 caso o cliente não concordar com o pacote montado, poderá cancelar a operação. 2. Se o cliente cancelar a operação, vá para o passo 1 do fluxo básico. 3. Se o cliente concordar com o pacote montado, avança a operação (<<extend>> Efetuar pagamento). 2.5. Reservar hotéis Feito por Lucio Zanferdini de Toledo Caso de Uso #15 Reservar Hotel Descrição: O cliente escolhe o hotel desejado após ter efetuado a consulta de hotéis e o portal reserva o hotel com o sistema de hotelaria onde ficará reservado durante um determinado tempo até que o pagamento seja efetivado. Caso o pagamento não seja efetuado no prazo estipulado a reserva será cancelada Atores: Cliente, Sistema de Hotelaria. Pré-condições: O cliente deverá estar cadastrado no sistema e ter efetuado a escolha de um hotel pertencente ao seu pacote desejado. Pós-condições: O cliente deve ter efetuado o pagamento da primeira parcela ou pagamento total à vista, do seu pacote de viagem escolhido. Requisitos funcionais: RF001 (Consultar pacotes), RF002 (Consultar hotéis), RF004 (Comprar pacotes). Requisitos não funcionais: Segurança (RNF001), Usabilidade (RNF002), Performance (RNF003). Fluxo de Eventos Fluxo Básico O cliente escolhe um hotel dentre os disponibilizados pelo portal; O cliente submete seu aceite; O sistema armazena o pedido do cliente e fica aguardando uma resposta do sistema financeiro para a confirmação do pagamento da primeira parcela ou pagamento total do pacote escolhido. Fluxo Alternativo 1 No passo 2, se o cliente não concordar com as opções, poderá sair e voltar ao passo 1 do fluxo básico;
Fluxo Alternativo 2 No passo 3, se o cliente desistir de submeter o aceite, volta ao passo 2 do fluxo básico; Fluxo Alternativo 3 No passo 3, se o cliente perder comunicação ou resolver submeter o aceite posteriormente, poderá fechar o navegador e sair do site, pois seus dados e sua operação estão gravados em função da sua autenticação prévia no site. Volta para o passo 2 do fluxo básico. 3. Diagramas de Seqüência Refinados Abaixo, seguem-se os diagramas de seqüência refinados para os Casos de Uso selecionados pela equipe. Foi seguida a mesma ordem utilizada para a descrição dos Casos de Uso acima. Todas as imagens serão enviadas juntamente com este documento ao repositório Web da disciplina para melhor visualização. Diagrama de Seqüência Reservar Pacote
Diagrama de Seqüência Contratar Passeios Extras Diagrama de Seqüência Contratar Guia Turístico
Diagrama de Seqüência Reservar Transporte Diagrama de Seqüência Reservar Hotel
4. Diagrama de Classes Revisado no padrão MVC