Documento de Diagrama de Classes MC436 Introdução à Engenharia de Software Profª Ariadne Maria Brito Rizzoni Carvalho
1. Índice 2. Introdução 3 3. Diagrama de casos de uso simplificado 3 4. Dicionário de dados 4 5. Diagrama de classes 6 6. Casos de uso selecionados 7 6.1 Cadastrar cliente 7 6.2 Cadastrar destino 8 6.3 Comprar pacote 10 6.4 Selecionar pacote 12 6.5 Visualizar pacote 14 2
2. Introdução Um diagrama de classes é uma representação da estrutura e relações das classes que servem de modelo para objetvos. Trata-se de uma modelagem muito útil para o sistema, que define todas as classes que o sistema necessita possuir e é a base para a construção dos diagramas de comunicação, sequência e estados. Neste documento faremos uma melhor especificação dos requisitos do sistema, segundo a metodologia apresentada. 3. Diagrama de casos de uso simplificado Abaixo está o diagrama simplificado de casos de uso do sistema ViajarFácil. Os 5 casos de uso escolhidos para melhor descrição foram: visualizar pacotes, selecionar pacote, comprar pacote, cadastrar destino, cadastrar cliente. 3
4. Dicionário de dados 4.1 Usuário: Classe entidade que materializa um usuário base do sistema. Possui os atributos de nome, RG, CPF, Data de Nascimento, Estado Civíl, Endereço, Telefone, Celular, Login, Senha, E-mail e IdUsuário. Realiza os métodos de ObterUsuário e MostrarErro. 4.2 Operador: Classe entidade que herda de usuário e materializa um operador do sistema em si. 4.3 Admin: Classe entidade que herda de Operador e possui acesso ao log do sistema e cadastrar novos operadores 4.4 Cliente: Classe entidade que herda de Usuário e pode visualizar/montar pacotes e realizar uma compra. 4.5 Controlador de Usuários: Classe que controla a criação e acesso aos cadastros dos usuários do sistema. Possui os métodos de CriarUsuário, AlterarCadastro e PesquisarUsuário. 4.6 Compra: Classe entidade que materializa a compra de um pacote e envia os dados para Pagamento. Possui os atributos de IdProtocolo (gerado a cada compra), data, hora, IdUsuário que realizou a compra e IdPacote (Id do pacote montado que está sendo adquirido) 4.7 Pagamento: Classe entidade que materializa o pagamento feita pela compra de um pacote. Possui os atributos IdPagamento, data, forma, valor e parcela. Possui os métodos de obterpagamento e MostrarErro 4.8 Página de Cadastro: Classe de fronteira que realiza os métodos de FazerCadastro, FazerLogin, EditarCadastro e CancelarCadastro. 4.9 Guia: Classe entidade que materializa o guia em si, possuindo os atributos de IdGuia, nome, RG, CPF, endereço, preço, local, DiasDisponíveis,telefone, LinguasFluentes e os métodos ObterGuia e Mostrar Erro. 4.10 Transporte: Classe entidade que materializa o trasporte. Os atributos da classe são IdTransporte, origem, destino, horário, preço, tipo, empresa, AssentoOuQuarto e os métodos ObterTrasporte e MostrarErro 4.11 Passeios: Classe entidade que representa um passei opcional no destino escolhido pelo usuário. Possui os atributos de IdPasseio, tipo, preço, local e os métodos de obter passeio e MostrarErro. 4.12 Hotel: 4
Classe que materializa o hotel e possui os atributos de IdHotel, Estrela, Nome, preço, quarto, período e os métodos de ObterHotel e MostrarErro. 4.13 Pacote: O pacote é a entidade que materializa o pacote de viagem e engloba as informações do hotel, guia, transporte e passeios. Possui os atributos idpacote, origem, destino, PreçoTotal, TipoDeTrasporte e EstrelasDoHotel. Executas os métodos ObterPacote e MostrarErro 4.14 Controlador de Compra: Classe que controla a parte de aquisições do sistema e executa os métodos PesquisarCompra. 4.15 Página de Compra: Classe de fronteira que é a interface do usuário com a parte de compras do sistema. Possui os métodos de RealizarCompra e FazerPagamento. 4.16 Controlador de pacotes: Classe de controle da parte da parte de montagem de pacotes do sistema. Possui os métodos de MontarPacote e PesquisarPacote. 4.17 Página para seleção de pacote: Classe de fronteira da parte de montagem de pacotes do sistema. Possui os métodos de SelecionarPacote, VisualizarPacote, CancelarPacote e SelecionarExtra. 4.18 Sistema: Classe de controle que representa o sistema como um todo. Possui os métodos de RegistrarLog e PesquisarLog. 4.19 Página do Sistema Classe de fronteira do sistema com o usuário. Possui os métodos de Acessarlog e TratarErro 4.20 Erros: Classe entidade que materializa os erros do sistema. Possui os atributos nome e PaginaRedirecionamento e o método de ObterErro 4.21 Log do sistema: Classe que materializa todas as transações e ações tomadas por um usuário do sistema ViajarFacil.com.br. Possui os atributos data, horário, NomeUsuario, AcaoExecutada e o método de MostrarLog. 5
5. Diagrama de classes Anexo I. 6. Casos de uso selecionados 6.1 Cadastrar cliente a. Breve descrição O cliente Visitante do ViajarFacil.com.br pode se cadastrar no site, tendo então acesso liberado à aquisição de pacotes de viagem. b. Atores Cliente Visitante c. Pré-condições Cliente Visitante deve ter entrado no site do ViajarFacil.com.br e acessado a página de cadastro d. Pós-condições Liberada a aquisição de pacotes para o usuário, log do sistema é atualizado. e. Requisitos funcionais Cadastrar Cliente, Visualizar pacotes. f. Requisitos não funcionais Cliente deve ser capaz de se cadastrar em, no máximo 5 minutos. 2. Fluxo básico a. Cliente visitante acessa a página de cadastro do ViajarFácil.com.br b. Cliente preenche o formulário 1. Nome completo; 2. RG; 3. CPF; 4. Data de Nascimento; 5. Estado Civil; 6. Endereço residencial; 7. Telefone fixo; 8. Celular; 9. Nome de Usuário; 10. E-mail; 11. Senha de login; 12. Como conheceu o site; c. Cliente recebe confirmação por e-mail d. Log do sistema é atualizado e. Cliente ganha acesso à aquisição de pacotes 3. Fluxos alternativos 6
a. O passo b pode não ser concluído, neste caso o cadastro não é realizado e o cliente volta para a página inicial b. O passo c pode não se completar por problemas com e-mail inválido do cliente, neste caso, o cliente terá de fazer um cadastro novo, com um e-mail válido. Diagrama de Sequência de Sucesso Diagrama de Sequência Refinado Anexo II. 6.2 Cadastrar destino a. Breve descrição O Operador do Sistema poderá cadastrar novos destinos para a venda dos pacotes turísticos. O Sistema de Reserva do Hotel receberá as informações do novo destino cadastrado para fornecer a lista de vagas disponíveis para o mesmo. b. Atores Operador do Sistema c. Pré-condições O Operador deve estar logado na parte de administração do sistema. d. Pós-condições Após o cadastro, o novo destino ficará disponível para escolha dos clientes do 7
ViajarFacil.com.br. Log do sistema é atualizado. e. Requisitos funcionais Cadastrar destino, cadastrar passeio e cadastrar guia. f. Requisitos não funcionais Cadastro deve ser preenchido em, no máximo, 15 minutos. 2. Fluxo básico a. Operador do Sistema insere os seguintes dados do novo destino: 1. Nome do local; 2. País; 3. Clima; 4. Pontos turísticos; b. Operador do sistema insere novo extend<cadastrar Guia>; c. Operador do sistema insere novo extend<cadastrar Passeio>; d. Informações do destino são enviadas para o Sistema de Reserva de Hotel; e. Novo destino fica disponível na lista de pacotes para venda; 3. Fluxos alternativos a. O passo c é opcional, sendo que o Operador do sistema pode cadastrar um novo Guia (através de extend<cadastrar Guia>) em qualquer momento posterior ao cadastro do Destino. b. O passo d é opcional, sendo que o Operador do sistema pode cadastrar em novo Passeio (através de extend<cadastrar Passeio>) em qualquer momento posterior ao cadastro do Destino. Diagrama de Sequência de Sucesso 8
Diagrama de Sequência Refinado Anexo III. 6.3 Comprar pacote a. Breve descrição O cliente cadastrado, após selecionado o pacote, faz a compra do mesmo. O sistema registra a compra e informa ao cliente que só será confirmado as reservas após a confirmação da primeira parcela. b. Atores Cliente Cadastrado. c. Pré-condições O cliente cadastrado deve estar logado no site e já ter selecionado o pacote desejado. d. Pós-condições O sistema registra a compra no log e o cliente é redirecionado para visualizar sua aquisição. e. Requisitos funcionais Comprar pacote, selecionar pacote, visualizar pacote, selecionar opções de hotel, imprimir roteiro e executar pagamento. f. Requisitos não funcionais Confirmar a compra de pacote em até 5 minutos após o cliente clicar no botão de confirmar a compra. Os dados preenchidos pelo cliente deverão ser guardados com o padrão de segurança ABNT NBR ISO/IEC 17799 : 2005. 2. Fluxo básico a. Será mostrada uma tela com todas as escolhas dele: i. Hotel com estrelas e faixa de preço ii. Destino, origem, período iii. Avião ou cruzeiro selecionado iv. Opções de passeio (caso tenha sido escolhido) v. Guia (caso tenha sido escolhido) vi. Preço total b. O cliente confirma as opções. c. É direcionado para <Include>(Executar Pagamento). d. Após confirmar o pagamento será feito <Include>(Reservar Pacote). e. Os dados da compra do cliente são registrados no log do sistema. f. O cliente é redirecionado para a tela de (Visualizar Aquisições), onde pode verificar o status da sua compra. 3. Fluxos alternativos a. No passo b o cliente poderá não confirmar as opções e então será redirecionado para a tela de (Visualizar pacotes). b. No passo c, o pagamento pode não ter sido efetuado e as reservas 9
não são feitas. O sistema atualiza o status de (Visualizar Aquisições) para cancelamento de compra. O cliente pode fazer um novo (Selecionar Pacote) e começar o processo de novo. c. No passo d alguma reserva pode não ser realizada e então a compra é cancelada e o dinheiro é devolvido ao cliente. Diagrama de Sequência de Sucesso Diagrama de Sequência Refinado Anexo IV. 6.4 Selecionar pacote a. Breve descrição O cliente após estar logado no sistema pode montar o seu pacote de viagem selecionando várias opções que o pacote pode oferecer, como: origem, destino, hotel, período, transporte, passeios locais e guia. b. Atores Cliente Cadastrado c. Pré-condições O cliente cadastrado deve estar logado no sistema. d. Pós-condições O sistema abre uma tela com a lista final das opções selecionadas sobre o pacote, registra o pacote no log do sistema, coloca os dados do pacote em (Visualizar Aquisições) e redireciona o cliente para (Comprar Pacote). 10
e. Requisitos funcionais Selecionar pacote, comprar pacote. visualizar pacotes. f. Requisitos não funcionais As opções devem ser de fácil entendimento, a lista final deve ser mostrada em no máximo 10 segundos e ela deve ser simples e intuitiva. 2. Fluxo básico a. Será mostrado na tela uma lista de opções simplificadas e intuitivas sobre cada item a seguir: i. Origem; ii. Destino; iii. Período; iv. Hotel; v. Transporte; vi. Passeio (sim ou não); vii. Guia (sim ou não); b. Após selecionadas as opções simplificadas passa-se para uma nova pagina com opções mais detalhadas e específicas de cada item da lista anterior selecionada. Caso não haja um opção mais detalhada mostra-se somente a opção anteriormente escolhida. c. Após a seleção do item b mostra-se o pacote final e o cliente deve confirmá-lo. d. Após a confirmação, o cliente é redirecionado para (Comprar Pacote). e. O sistema registra no log o pacote selecionado pelo cliente. f. O sistema manda os dados do pacote para (Visualizar Aquisições). 3. Fluxo alternativo a. Quando o cliente entrar no item b do fluxo básico ele pode querer modificar algo já selecionada anteriormente pelo item a. Voltando para a pagina anterior todos o itens selecionados pelo cliente ainda estará selecionado. b. No item c do fluxo básico o cliente pode não confirmar o pacote final podendo assim retornar tanto para o item a ou item b do fluxo básico. Diagrama de Sequência de Sucesso 11
Diagrama de Sequência Refinado Anexo V. 6.5 Visualizar pacote a. Breve descrição Os clientes, cadastrados ou visitantes, poderão visualizar os pacotes oferecidos pelo ViajarFacil.com assim que acessarem o site. b. Atores Cliente Cadastrado e Visitante c. Pré-condições O cliente deve entrar na seção do site correspondente à visualização dos pacotes. d. Pós-condições Selecionado o pacote, o cliente é redirecionado para página de login do sistema, com a finalidade de dar continuidade ao processo de compra do pacote. e. Requisitos funcionais Visualizar pacotes f. Requisitos não funcionais As informações dos pacotes devem ser claras e objetivas. O sistema deverá mostrar datas de viagem marcadas para o pacote, meio de transporte, passeios e principais locais de visita. A diagramação e restrição de espaço devem ser respeitadas, de tal forma que o número de informações seja restrito, podendo o cliente averiguar as demais assim que clicar no pacote para mais detalhes. Além disso, deve haver paginação se o número de pacotes ultrapassar 10, de tal forma que a estética do 12
site seja preservada. 2. Fluxo básico a. Cliente entra no site b. Seleciona a seção de pacotes. c. Cliente seleciona o pacote que lhe interessa, clicando no botão "informações" para conhecer os detalhes do pacote (período de viagem, origem, destino, vôo ou cruzeiro, hotel, guia e preço). 3. Fluxos alternativos O passo "c" pode não ser concluído, de tal forma que o sistema não exiba as informações do pacote. Neste caso, deve retornar à tela de pacotes e exibir uma janela de erro ao usuário, solicitando-lhe nova tentativa. Diagrama de Sequência de Sucesso Diagrama de Sequência Refinado Anexo VI. Diego Fabiano Zilioti de Sousa - RA: 090914 Diego Sanches Rubini - RA: 090927 Murilo Travarelli - RA: 094985 Roberto Hirokazu Usui - RA: 095960 Tiago de Lima Ferreira - RA: 093120 13
Anexo I
Anexo II 15
Anexo III 16
Anexo IV 17
Anexo V 18
Anexo VI 19