DANIELA ANTONIO CAMOLESI SOFTWARE PARA GESTÃO DO SOLLAR APART HOTEL Assis 2010 Av. Getúlio Vargas, 1200 – Vila Nova Santana – Assis – SP – 19807-634 Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br DANIELA ANTONIO CAMOLESI SOFTWARE PARA GESTÃO DO SOLLAR APART HOTEL Trabalho de Conclusão de Curso apresentado ao Instituto Municipal de Ensino Superior de Assis como requisito do Curso de Graduação Orientador: Luiz Carlos Begosso Analisador (1): Luiz Ricardo Begosso Área de Concentração: Aplicação Java Web usando JSF, HIBERNATE, CSS Assis 2010 Av. Getúlio Vargas, 1200 – Vila Nova Santana – Assis – SP – 19807-634 Fone/Fax: (0XX18) 3302 1055 homepage: www.fema.edu.br DEDICATÓRIA Dedico este trabalho a Deus, ao meu esposo Almir, a minha amiga Hellen e aos meus irmãos. AGRADECIMENTOS Agradeço primeiramente a Deus, pois sem ele nem uma linha poderia ser escrita. Ao meu esposo Almir, que me proporcionou a realização de mais um sonho e que sempre se faz presente em minha vida com seu amor, carinho, companheirismo e principalmente com sua paciência. A minha querida amiga Hellen que desde o início me apoiou e sempre esteve ao meu lado para que juntas pudéssemos caminhar e trabalhar para a realização deste sonho. Ao professor Luiz Carlos (Talo), que me orientou e com sua humildade e educação passou-me a segurança necessária para que este trabalho fosse concluído. Ao querido amigo Fernando César de Lima (PP), que mesmo em suas horas de descanso se propôs a me ajudar para que este trabalho fosse concluído com sucesso. Aos meus amigos Alexandre Latuffe, Moacir Mardegan, José Ricardo Sakamoto, Josiane Souza, Maísa Andréia dos Santos pela amizade desses anos. RESUMO O sistema proposto denominado Software para Gestão do Sollar Apart Hotel é apresentado com o intuito de facilitar o dia-a-dia do usuário, para a adaptação do mundo da tecnologia sem complicações e com modernidade às suas necessidades. Para o desenvolvimento deste trabalho utilizou-se os conceitos da tecnologia JAVA para a Web, bem como as ferramentas JSF, JSP, HIBERNATE e CSS. Palavras – Chave: Java Web, JSF, Hibernate ABSTRACT The proposed system called Software Management Apart Hotel Soller is presented in order to facilitate the day-to-day user, to adapt the technology world without complications and with modern needs. In this job was used the concepts of Java Web Technology, CSS, JSP, Frameworks JSF and Hibernate. Keywords: Web Java, JSF, Hibernate "O amor é de todas as paixões a mais forte, pois ataca simultaneamente a cabeça, o coração e os sentidos." (Voltaire) LISTA DE FIGURAS Figura 1 - WBS ......................................................................................................... 17 Figura 2 - Sequenciamento de Atividades. ............................................................... 18 Figura 3 - Cronograma de atividades ....................................................................... 18 Figura 4 – Mapa Mental............................................................................................ 20 Figura 5 – CSU01 Caso de Uso Geral. .................................................................... 22 Figura 6 - CSU02 Diagrama de Use Case Manter Cliente ....................................... 23 Figura 7 – CSU03 Diagrama de Use Case Efetuar Reserva. ................................... 24 Figura 8– CSU04 Diagrama de Use Case Cancelar Reserva .................................. 25 Figura 9– CSU05 Diagrama de Use Case Efetuar Locação..................................... 26 Figura 10– CSU06 Diagrama de Use Case Calcular Valor de Diárias. .................... 27 Figura 11– CSU07 Diagrama de Use Case Encerrar Locação. ............................... 28 Figura 12– CSU08 Diagrama de Use Case Emitir Relatórios de Consumo de Clientes. ............................................................................................................. 29 Figura 13– CSU09 Diagrama de Use Case Emitir Relatórios de Movimentação Diária. ................................................................................................................. 30 Figura 14– CSU10 Diagrama de Use Movimentar Estoque. .................................... 31 Figura 15– CSU11 Diagrama de Use Emitir Nota. ................................................... 32 Figura 16– CSU12 Diagrama de Use Emitir Recibo. ............................................... 33 Figura 17– CSU13 Diagrama de Use Controlar o Caixa. ........................................ 34 Figura 18– CSU14 Diagrama de Use Case Consultar Disponibilidade de Quartos. ............................................................................................................. 35 Figura 19– CSU15 Diagrama de Use Case Emitir Relatórios de Contas a Pagar. ... 36 Figura 20– CSU16 Diagrama de Use Case Emitir Relatório de Contas a Receber. 37 Figura 21– CSU17 Diagrama de Use Case Contas a Pagar e a Receber por Período............................................................................................................... 38 Figura 22– CSU18 Diagrama de Use Case Emitir Relatório do Estoque do Produto. ........................................................................................................................... 39 Figura 23– CSU19 Diagrama de Use Case Emitir Relatório de Contas Atrasadas. . 40 Figura 24– CSU20 Diagrama de Use Case Emitir Relatório de Contas Recebidas. 41 Figura 25– CSU21 Diagrama de Use Case Cadastrar Fornecedor. ......................... 42 Figura 26– CSU22 Diagrama de Use Case Cadastrar Produto. .............................. 43 Figura 27– CSU23 Diagrama de Use Case Movimentar Contas a Pagar aos Fornecedores. .................................................................................................... 44 Figura 28– CSU24 Diagrama de Use Case Cadastrar Pedidos. ............................. 45 Figura 29– CSU25 Diagrama de Use Case Cadastrar Cidade. ................................ 46 Figura 30– CSU26 Diagrama de Use Case Movimentar Contas a Receber. ........... 47 Figura 31– CSU27 Diagrama de Use Case Manter Pagamento. ............................. 48 Figura 32– CSU28 Diagrama de Use Case Manter Cargo. ...................................... 49 Figura 33– CSU29 Diagrama de Use Case Manter Funcionário. ............................. 50 Figura 34 - Diagrama de Classes. ............................................................................. 52 Figura 35– Diagrama Entidade Relacionamento. ..................................................... 54 Figura 36– Diagrama de Atividade Cadastrar Clientes. ........................................... 55 Figura 37– Diagrama de Atividade Encerrar Locação. ............................................. 56 Figura 38– Diagrama de Atividade Cadastrar Fornecedor. ...................................... 56 Figura 39– Diagrama de Sequência Cadastrar Cargo. ............................................ 57 Figura 40– Diagrama de Sequência Cadastrar Funcionário..................................... 58 Figura 41– Diagrama de Sequência Cadastrar Cliente. ........................................... 58 Figura 42– Diagrama de Sequência Cadastrar Fornecedor. .................................... 59 Figura 43– Diagrama de Sequência Cadastrar Produto. .......................................... 59 Figura 44– Diagrama de Sequência Cadastrar Pedidos. ......................................... 60 Figura 45– Diagrama de Sequência Cadastrar Cidade. ........................................... 60 Figura 46– Diagrama de Sequência Cadastrar Pagamento. .................................... 61 Figura 47– Diagrama de Sequência Cadastrar Promoção. ...................................... 61 Figura 48– Diagrama de Sequência Consultar Quartos. .......................................... 62 Figura 49– Diagrama de Sequência Emitir Relatório de Contas a Receber. ............ 62 Figura 50 – Diagrama de Sequência Cadastrar Contas a Receber ......................... 63 Figura 51 - Organização de Pacotes. ........................................................................ 64 Figura 52 – Organização das Páginas ...................................................................... 66 Figura 53 - Tela de Cadastro.................................................................................... 69 Figura 54 - Tela de Consulta .................................................................................... 70 Figura 55 - Tela de Alteração. .................................................................................. 71 LISTA DE TABELAS Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela Tabela 1 – Manter Cliente ........................................................................................ 23 2 – Efetuar Reserva...................................................................................... 24 3– Cancelar Reserva. ................................................................................... 25 4– Efetuar Locação. ..................................................................................... 26 5– Calcular Valor de Diárias. ........................................................................ 27 6– Encerrar Locação. ................................................................................... 28 7– Emitir Relatórios de Consumo de Clientes. ............................................. 29 8– Emitir Relatórios de Movimentação Diária............................................... 30 9– Movimentar Estoque. ............................................................................... 31 10– Emitir Nota. ............................................................................................ 32 11– Emitir Recibo. ........................................................................................ 33 12– Controlar o Caixa................................................................................... 34 13– Consultar Disponibilidade de Quartos. .................................................. 35 14– Emitir Relatórios de Contas a Pagar. .................................................... 36 15– Emitir Relatório de Contas a Receber. .................................................. 37 16– Emitir Relatório de Contas a Pagar e a Receber por Período. .............. 38 17– Emitir Relatório do Estoque do Produto. ............................................... 39 18– Emitir Relatório de Contas Atrasadas. ................................................... 40 19– Emitir Relatório de Contas Recebidas. .................................................. 41 20– Cadastrar Fornecedor. .......................................................................... 42 21– Cadastrar Produto. ................................................................................ 43 22– Movimentar Contas a Pagar aos Fornecedores. ................................... 44 23– Cadastrar Pedidos. ................................................................................ 45 24– Cadastrar Cidade. ................................................................................. 46 25– Movimentar Contas a Receber. ............................................................. 47 26– Manter Pagamento. ............................................................................... 48 27– Manter Cargo......................................................................................... 49 28– Manter Funcionário................................................................................ 50 LISTA DE ABREVIATURAS E SIGLAS UML Unified Modeling Language JSF JavaServer Faces JSP JavaServer Pages CSS Cascading Style Sheets HTML Hyper Text Markup Language (Linguagem de Marcação de Hipertexto) CRUD Create, Read, Update, Delete MVC Model View Controller XML Extensible Markup Language (Linguagem de Marcações Extensível) WBS (Work Breakdown Structure /Estrutura Analítica de Trabalho) SQL Structure Query Language HQL Hibernate Query Language JCP Java Community Process SUMÁRIO 1- INTRODUÇÃO ..................................................................................11 1.1-OBJETIVOS .............................................................................................. 11 1.2 - JUSTIFICATIVA ...................................................................................... 12 2.1 - TECNOLOGIAS UTILIZADAS ................................................................. 12 2.1.1 Java ................................................................................................................. 12 2.1.2 JavaServer Pages (JSP) ................................................................................ 13 2.1.3 JavaServer Faces (JSF) ................................................................................ 13 2.1.4 Cascading Style Sheets – CSS .................................................................... 14 2.1.5 Hibernate ......................................................................................................... 14 2.1.6 Model, View, Controller (MVC)....................................................................... 15 2.1.7 IReport ............................................................................................................. 15 2.1.8 Mysql ............................................................................................................... 16 2.1.9 Tomcat............................................................................................................. 16 2.1.10 Netbeans ....................................................................................................... 17 3 – PLANEJAMENTO DO PROJETO ....................................................17 3.1 - WBS (Work Breakdown Structure /Estrutura Analítica de Trabalho) ..... 17 3.2 - SEQUENCIAMENTO DE ATIVIDADES .................................................. 18 3.3 – CRONOGRAMA DA ESTRUTURA DE DESENVOLVIMENTO ............. 18 4 – ESPECIFICAÇÃO DO SOFTWARE PARA GESTÃO DO SOLLAR APART HOTEL .......................................................................................19 4.1 - MAPAS MENTAIS ................................................................................... 19 4.2 – LISTAS DE EVENTOS ........................................................................... 21 4.3 – CASOS DE USO .................................................................................... 22 4.4 DIAGRAMA DE CLASSES ........................................................................ 51 4.5 - DIAGRAMA ENTIDADE RELACIONAMENTO ....................................... 53 4.6 - DIAGRAMA DE ATIVIDADES ................................................................. 55 4.7 – DIAGRAMA DE SEQUÊNCIA ................................................................ 57 5 - IMPLEMENTAÇÃO DA APLICAÇÃO ...............................................64 5.1 – ORGANIZAÇÃO DOS PACOTES E CLASSES DO SISTEMA .............. 64 5.2 ORGANIZAÇÃO DAS PÁGINAS DO SISTEMA ....................................... 65 CONCLUSÃO ..........................................................................................67 REFERÊNCIAS .......................................................................................68 ANEXO – INTERFACE DO SISTEMA ....................................................69 11 1- INTRODUÇÃO O avanço tecnológico, em especial a computação, possibilitou que o desenvolvimento de softwares comerciais que atendam as necessidades de cada usuário sem muita complicação, facilitando as tarefas diárias. A partir da década de 90, com a proliferação dos computadores pessoais, a disponibilidade da informação e a massificação da Internet surgiu a oportunidade de informatização das empresas. Com a informatização pode-se ter um maior controle sobre os processos diários e importantes para a organização. Este controle contribui com a qualidade da tomada de decisão por parte dos administradores. Mesmo com este avanço, ainda existem empresas que não possuem um software adequado para suas necessidades, o que dificulta as operações de compra, venda, movimentações financeiras, contábeis, etc. Com o intuito de melhorar a qualidade da informação que flui entre os processos administrativos é que a empresa Sollar Apart Hotel solicitou um software que atenda as suas necessidades de controle de entrada e saída de hóspedes. Este trabalho tem por objetivo apresentar a análise, o projeto e a implementação do sistema que será denominado de “Software para gestão do Sollar Apart Hotel”. Para o desenvolvimento da análise será utilizado os conceitos de Orientação à Objetos juntamente com as técnicas de UML (Linguagem de Modelagem Unificada). A implementação será realizada no modelo cascata, que possui as seguintes características: análise e definição dos requisitos, design de sistemas e software, implementação e testes de unidade, integração e testes do sistema, entrega, operação e manutenção. 1.1- OBJETIVOS Este Trabalho de Conclusão de Curso tem por objetivo o desenvolvimento do controle de entrada (check in) e saída (check out) de hóspedes, consumo por apartamentos, a hospedagem mensalista e diarista, emitir relatórios diários, cadastro de clientes, cadastro de empresas, reservas e controle financeiro do Sollar Apart Hotel. O sistema a ser desenvolvido será parametrizado, com o propósito de atender futuramente as necessidades de outras empresas do ramo hoteleiro. 12 1.2 - JUSTIFICATIVA Propor o desenvolvimento de um software ágil que possa facilitar as atividades da empresa e do usuário. Um software que possa se adequar as mudanças da tecnologia para seu aperfeiçoamento. 2 – TECNOLOGIAS PARA DESENVOLVIMENTO DO SISTEMA Este capítulo contém a descrição das tecnologias que serão utilizadas para o desenvolvimento do sistema. 2.1 - TECNOLOGIAS UTILIZADAS A ferramenta de desenvolvimento escolhida foi o NetBeans IDE 6.9 (www.netbeans.org), que utilizará a linguagem de programação JAVA, por ser uma linguagem open source e Orientada à Objetos, facilitará sua implantação e sua implementação. O sistema será desenvolvido para WEB. Para a Análise Orientada a Objetos, serão utilizados os conceitos do padrão de Linguagem de Modelagem Unificada (Unified Modeling Language - UML) e a ferramenta de modelagem será Astah Professional que é o novo nome da antiga ferramenta JUDE (Java and UML Developer Environment). O Banco de Dados será o MySQL. O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Structured Query Language Linguagem de Consulta Estruturada) como interface e o framework que fará o relacionamento com banco de dados será o Hibernate. 2.1.1 Java A Sun Microsystems financiou uma pesquisa corporativa interna com o codinome Green em 1991. O projeto resultou no desenvolvimento de uma linguagem baseada em C e C++.Seu criador James Gosling a chamou de OAK (carvalho), homenagem 13 a árvore que ficava embaixo da janela do seu escritório na Sun. Mais tarde descobriu-se que já existia uma linguagem de nome OAK, então se sugeriu a troca do nome e a escolhida foi Java, (cidade de origem de um café importado). Em 1995 a Sun anunciou formalmente em uma conferência a linguagem de programação Java. Entretanto, Java gerou interesse imediato na comunidade comercial por causa do interesse pela World Wide Web. Java é utilizado para criar páginas web com conteúdo interativo e dinâmico, desenvolver aplicativos de larga escala, que aprimoram a funcionalidade de servidores da World Wide Web (os computadores fornecem o conteúdo que visualizamos em nossos navegadores da Web), fornecem aplicativos para dispositivos destinados ao consumidor final (como telefones celulares, pagers e PDAs ) e assim por diante (Deitel, 2001). 2.1.2 JavaServer Pages (JSP) É uma tecnologia baseada em Java que simplifica o processo de desenvolvimento de sites da web dinâmicos. Com JSP, os designers da web e programadores podem rapidamente incorporar elementos dinâmicos em páginas da web, utilizando Java embutido e algumas tags de marcação simples. Estas tag(s) fornecem ao designer de HTML um meio de acessar dada e lógica de negócio armazenados em objetos Java sem ter que dominar as complexidades do desenvolvimento de aplicações (www.javafree.uol.com.br). 2.1.3 JavaServer Faces (JSF) Java Server Faces (JSF) é a especificação para um framework de componentes para o desenvolvimento web em Java. Essa especificação foi definida por meio do Java Community Process (JCP), que é a entidade que tem como objetivo especificar a evolução da linguagem Java de acordo com o interesse do mercado e não apenas da Sun, criadora da linguagem Java. No caso do JavaServer Faces, o fato de ser uma especificação do JCP (www.jcp.org/en/jsr) significa que grandes empresas como Apache, BEA Systems, EDS, EMC, Fujitsu, Hewlett-Packard, IBM, Macromedia, Novell, Oracle, Siemens e Sun participaram na definição do JavaServer Faces e aprovaram sua 14 especificação.Isso torna o JSF imediatamente um padrão de mercado. O fato de ser uma especificação formal e segura permite que essas empresas e outras que se interessarem invistam na tecnologia e desenvolvam ferramentas e componentes para o desenvolvimento web com JSF (Luckow; Melo (2010, p.72). 2.1.4 Cascading Style Sheets – CSS Uma folha de estilos consiste de uma ou mais definições de estilo (tamanho de fonte, estilo da fonte, alinhamento de texto, cor de texto e do fundo, margens, altura da linha, etc) para elementos HTML que podem ser linkados ou embutidos em documentos HTML. Esta funcionalidade foi criada para propiciar aos desenvolvedores e projetistas WEB a possibilidade de contar com estilos e posicionamentos consistentes nos documentos (www.slideshare.net). 2.1.5 Hibernate Hibernate é um projeto ambicioso que visa ser a solução para os problemas em persistência em Java. Ele age mediando à interação com banco de dados relacional, deixando o desenvolvedor livre para se concentrar no problema em si. Hibernate é uma solução não-intrusiva, ou seja, não é necessário que você siga todas as regras específicas e padrões de projeto quando escreve sua lógica empresarial e classes de persistência, deste modo o Hibernate se integra suavemente com a maioria das novas e já existentes aplicações e não requerem drásticas modificações nas mesmas. O Hibernate é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos definido pelo desenvolvedor. Usando o Hibernate, o desenvolvedor se livra de escrever muito do código de acesso a banco de dados e de SQL que ele escreveria não usando a ferramenta, acelerando a velocidade do seu desenvolvimento de uma forma fantástica. Mas o framework não é uma boa opção para todos os tipos de aplicação. Sistemas que fazem uso extensivo de stored procedures, triggers ou que implementam a maior parte da lógica da aplicação no banco de dados, contando com um modelo de objetos “pobre” não vai se beneficiar com o uso do Hibernate. Ele é mais indicado para sistemas que contam com um 15 modelo rico, onde a maior parte da lógica de negócios fica na própria aplicação Java, dependendo pouco de funções específicas do banco de dados. Framework para fazer mapeamentos entre objeto e a parte relacional da aplicação mantendo a independência entre os bancos de dados. Possui sua própria linguagem de Structure Query Language (SQL) chamada Hibernate Query Language (HQL), que é convertida para SQL específica de cada banco de dados (BAUER; KING, 2005). 2.1.6 Model, View, Controller (MVC) MVC é um conceito (paradigma) de desenvolvimento e design que tenta separar uma aplicação em três partes distintas. Uma parte, a Model, está relacionada ao trabalho atual que a aplicação administra, outra parte, a View, está relacionada a exibir os dados ou informações dessa aplicação e a terceira parte, Controller, em coordenar os dois anteriores exibindo a interface correta ou executando algum trabalho que a aplicação precisa completar. Model: O Model é o objeto que representa os dados do programa. Manipula os dados e controlam todas suas transformações, portanto, o Model é a classe que trabalha no armazenamento e busca de dados. View: A View é o objeto que manipula a apresentação visual dos dados representados pelo Model. Controller: O Controller é o objeto que responde as ordens executadas pelo usuário, atuando sobre os dados apresentado pelo modelo, decidindo como o modelo deverá ser alterado ou deverá ser revisto e qual apresentação deverá ser exibida (Gonçalves, Edson, 2008). 2.1.7 IReport IREPORT é um programa Open Source, capaz de criar visualmente os mais complexos relatórios para aplicações Java no formato da biblioteca JasperReports. Como é escrito em 100% Java, significa que também é multiplataforma. Além disso, seus códigos fontes são distribuídos gratuitamente de acordo com a GNU (General Public License). 16 Através de uma interface gráfica intuitiva, o desenvolvedor é capaz de criar qualquer tipo de relatório de forma simples e rápida. Mesmo sabendo que o iReport desenvolve um formato XML usado pelo JasperReports, o que não é difícil de manipular, há uma vantagem em usar esta ferramenta. Se o desenvolvedor é um usuário iniciante no formato XML do JasperReports, o iReport supre suas necessidades evitando que seja necessário fazer modificações no código fonte. Caso seja experiente neste formato, o iReport minimiza o tempo na criação dos mais complexos relatórios (Gonçalves, Edson, 2008). 2.1.8 Mysql MySQL Community Server é uma versão livre para download da base de dados mais popular do mundo open source que é apoiado por uma comunidade ativa de desenvolvedores de código aberto e entusiastas ( www.mysql.com/downloads). 2.1.9 Tomcat Servidor Web Java, mais especificamente um container de servelets. Implementação das tecnologias de Java Servlet e JavaServer Pages. Desenvolvido em ambiente aberto e participativo, tem a colaboração de todos os desenvolvedores do mundo, mas não pode ser considerado um servidor de aplicação completo, por não preencher todos os requisitos necessários. O Tomcat é robusto e eficiente o suficiente para ser utilizado mesmo num ambiente de produção. Ele tem a capacidade de atuar também como servidor web, ou pode funcionar integrado a um servidor web dedicado como o Apache ou o IIS. Como servidor web, ele provê um servidor web HTTP puramente em Java. O servidor inclui ferramentas para configuração e gerenciamento, o que também pode ser feito editando-se manualmente arquivos de configuração formatados em XML. A disponibilização de aplicações nesse servidor deve seguir um padrão rígido e bem estabelecido, garantido que uma mesma aplicação possa ser também montada em outro servidor de aplicação de forma transparente (Tomcat, 2009). 17 2.1.10 Netbeans O NetBeans IDE é um ambiente de desenvolvimento integrado award-winning disponível para Windows , Mac , Linux e Solaris. O projeto NetBeans consiste em uma IDE de código aberto e uma plataforma de aplicação que permitem que os desenvolvedores criem rapidamente Web, empresa , desktop e aplicações móveis utilizando a plataforma Java , bem como JavaFX , PHP, JavaScript e Ajax , Ruby e Ruby on Rails, Groovy e Grails , e C / C + + (http://netbeans.org/community/releases/69/). 3 – PLANEJAMENTO DO PROJETO 3.1 - WBS (Work Breakdown Structure /Estrutura Analítica de Trabalho) A WBS ou estrutura analítica de trabalho, é a estruturação do projeto inteiro com todos os produtos organizados de forma hierárquica (organograma). A WBS deve conter, sem exceção, todo o escopo do projeto. A WBS pode ser gerada de forma textual ou de forma gráfica (www.beware.com.br). Figura 1 – WBS 18 3.2 - SEQUENCIAMENTO DE ATIVIDADES O sequenciamento de atividades envolve a identificação e documentação dos relacionamentos lógicos entre as atividades do cronograma. As atividades do cronograma podem ser sequenciadas logicamente usando as relações de precedência adequadas, além de antecipações e atrasos, para dar suporte ao desenvolvimento posterior de um cronograma do projeto realista e alcançável (PMI, 2004 apud Barreto, 2007). Figura 2 - Sequenciamento de Atividades. 3.3 – CRONOGRAMA DA ESTRUTURA DE DESENVOLVIMENTO Atividades/Período Fev Mar Escrita do Pré-Projeto Levantamento de Requisitos Validação dos Requisitos WBS Sequenciamento de Atividades Orçamento Casos de Uso Diagramas UML Escrita do Documento de Qualificação Implementação Escrita do Documento Final do TCC Testes Apresentação Final do TCC Figura 3 - Cronograma de atividades Abr Mai Jun Jul Ago Set Out Nov Dez 19 4 – ESPECIFICAÇÃO DO SOFTWARE PARA GESTÃO DO SOLLAR APART HOTEL Neste capítulo será apresentada a especificação do sistema a ser desenvolvido. 4.1 - MAPAS MENTAIS O Mapa Mental é um método de armazenar, organizar e priorizar informações (em geral no papel), usando Palavras-chave e Imagens-chave, que desencadeiam lembranças específicas e estimulam novas reflexões e idéias. Cada ativador da memória em um Mapa Mental é uma chave que dá acesso a fatos, idéias e informações, além de liberar o verdadeiro potencial da mente, de modo que possamos nos tornar o que quisermos ser. Um Mapa Mental é uma ferramenta de pensamento projetada com base na eficiência dessas estruturas naturais (Buzan, Tony 1994). Com o propósito de apresentar os requisitos do sistema, levantados junto ao Sollar Apart Hotel, utilizou-se a técnica de Mapa Mental, como coadjuvante no processo de extração e representação das necessidades do usuário. O Mapa Mental do sistema para gestão do Sollar Apart Hotel é ilustrado pela Figura 4. 20 Figura 4 – Mapa Menta 21 4.2 – LISTAS DE EVENTOS Após realizar entrevista com o cliente foram obtidos os seguintes eventos: 1- Manter Clientes 2- Efetuar Reserva 3- Cancelar Reserva 4- Efetuar Locação 5- Calcular Valor de Diárias 6- Encerrar Locação 7- Emitir Relatórios de Consumo de Clientes 8- Emitir Relatório de Movimentação Diária 9- Movimentar Estoque 10- Emitir Nota 11- Emitir Recibo 12- Controlar Caixa 13- Consultar Disponibilidade de Quartos 14- Emitir Relatório de Contas a Pagar 15- Emitir relatório de Contas a Receber 16- Contas a Pagar e a Receber por Período 17- Emitir Relatório do Estoque do Produto 18- Emitir Relatório de Contas Atrasadas 19- Emitir Relatório de Contas Recebidas 20- Cadastrar Fornecedor 21- Cadastrar Produto 22- Movimentar Contas a Pagar aos Fornecedores 23- Cadastrar Pedidos 24- Cadastrar Cidade 25- Movimentar Contas a Receber 26- Manter Pagamento 27- Cadastrar Funcionário 28- Cadastrar Cargo 22 4.3 – CASOS DE USO O Diagrama de Casos de Uso é o diagrama utilizado normalmente nas fases de Levantamento e Análise de Requisitos do sistema. Esse diagrama apresenta uma linguagem simples e de fácil compreensão. Para que os usuários possam ter uma ideia inicial de como será o sistema, apresenta-se o diagrama de caso de Uso geral, conforme ilustrado pela Figura 5 (GUEDES, GILLEANES T. A. 2006). Figura 5 – CSU01 Caso de Uso Geral. A partir desse ponto, passa-se a apresentar os Diagramas de Caso de Uso e suas respectivas especificações. 23 Figura 6 - CSU02 Diagrama de Use Case Manter Cliente Nome da Use Case (CSU02) Ator (es) Manter Cliente Pré-Condições Cadastrar um cliente ainda não cadastrado Administrador, Cliente Cenário Principal Cenário Alternativo Casos de Testes 1- Cliente informa o desejo de locar um quarto. 2- Cliente informa seu NOME, CPF e RG. 3- O administrador clica em Cadastrar. 4- O sistema emite a mensagem ”Cliente cadastrado com sucesso!”. 5- O sistema cadastra o Cliente. O administrador poderá cancelar o processo durante o cadastro. 3.1- O sistema não confirma o cadastro e emite uma mensagem de erro na tela. 3.2- O sistema cancela a operação. Tabela 1 – Manter Cliente 24 Figura 7 – CSU03 Diagrama de Use Case Efetuar Reserva. Nome da Use Case (CSU03) Ator (es) Efetuar Reserva Pré-Condições Efetuar a reserva de um quarto Cenário Alternativo O administrador poderá cancelar o processo durante o cadastro. Administrador /Cliente Cenário Principal Casos de Testes 1- O cliente solicita a reserva de quarto. 2- O cliente informa quantos dias deseja ficar hospedado, o tipo do quarto desejado e o número de pessoas que ficarão hospedadas. 3- O administrador informa ao sistema todos os dados informados pelo cliente. 4- O sistema emite a mensagem ”Reservado com sucesso!” 5- O sistema reserva o quarto. 2.1 – Administrador verifica que o cliente não está cadastrado, e efetua o cadastro. 2.2- Administrador informa ao Cliente que não existem quartos disponíveis. Tabela 2 – Efetuar Reserva. 25 Figura 8– CSU04 Diagrama de Use Case Cancelar Reserva Nome da Use Case (CSU04) Ator (es) Cancelar Reserva Pré-Condições Cancelar uma reserva já efetivada e informar o motivo. Cenário Principal Administrador/Cliente 12345- Cenário Alternativo O sistema solicita dados necessários para efetuar a consulta. O cliente informa que deseja cancelar a reserva do quarto. O administrador informa ao sistema o motivo do cancelamento. O sistema disponibiliza a tela de Cancelamento de reserva. Sistema conclui o cancelamento, e torna o quarto disponível. O administrador poderá cancelar o processo durante a consulta. Tabela 3– Cancelar Reserva. 26 Figura 9– CSU05 Diagrama de Use Case Efetuar Locação. Nome da Use Case (CSU05) Ator (es) Efetuar Locação Pré-Condições Confirmar locação de um quarto. Administrador/Clientes 1- Cenário Principal 2345- O administrador informa ao sistema o nome do cliente. O administrador informa ao sistema qual quarto será locado. O administrador informa quantos dias o quarto ficará locado. O sistema emite a mensagem ”Reserva Confirmada!” O sistema reserva o quarto. Cenário Alternativo O administrador poderá cancelar o processo durante a consulta. Casos de Testes 1.11.2- Tabela 4– Efetuar Locação. Funcionário verifica que o cliente ainda não está cadastrado, e efetua o cadastro. Funcionário informa ao cliente que não existem quartos disponíveis. 27 Figura 10– CSU06 Diagrama de Use Case Calcular Valor de Diárias. Nome da Use Case (CSU06) Ator (es) Calcular Valor de Diárias Pré-Condições Calcular o valor total referente a diárias do cliente. Cenário Principal Administrador 1- O administrador informa ao sistema o número do quarto do cliente. 2- O sistema busca as informações referentes ao cliente. 3- O administrador informa ao cliente o valor total das diárias. 4- O sistema emite uma mensagem ”Hospedagem Encerrada”. 5- O sistema libera o quarto. Cenário Alternativo O administrador poderá cancelar o processo durante a consulta. Casos de Testes 1.1- O sistema não encontra informações sobre o cliente desejado. Tabela 5– Calcular Valor de Diárias. 28 Figura 11– CSU07 Diagrama de Use Case Encerrar Locação. Nome da Use Case (CSU07) Ator (es) Encerrar Locação Pré-Condições Confirmar o encerramento de uma locação. Cenário Principal Administrador, Cliente 12345- O administrador informa ao sistema o número do quarto do cliente. O administrador informa ao cliente o valor total das diárias. O administrador informa ao sistema o valor pago pelo cliente. O sistema emite uma mensagem ”Hospedagem Encerrada”. O sistema libera o quarto. Cenário Alternativo O administrador poderá cancelar o processo durante a consulta. Casos de Testes 1.1- Tabela 6– Encerrar Locação. O sistema não encontra informações sobre o cliente desejado. 29 Figura 12– CSU08 Diagrama de Use Case Emitir Relatórios de Consumo de Clientes. Nome da Use Case (CSU08) Ator (es) Emitir Relatórios de Consumo de Clientes Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Cenário Alternativo Administrador 1234- Informar apartamento. Recuperar dados de consumo no período. Emitir relação de consumo. Totalizar Consumos. O administrador poderá cancelar o processo durante a consulta. Casos de Testes 1.1 O sistema não encontra informações sobre o apartamento desejado. Tabela 7– Emitir Relatórios de Consumo de Clientes. 30 Figura 13– CSU09 Diagrama de Use Case Emitir Relatórios de Movimentação Diária. Nome da Use Case (CSU09) Ator (es) Emitir Relatórios de Movimentação Diária Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Administrador 1- Emitir relação de quartos locado. 2- Totalizar apartamentos locados. 3- Emitir relação de consumos. 4- Totalizar consumo. 5- Totalizar apartamentos e consumo. 6- Emitir relação de pagamentos efetuados. 7- Totalizar pagamentos efetuados. 8- Emitir saldo do dia. Cenário Alternativo O administrador poderá cancelar o processo durante a consulta. Casos de Testes 1.1 O sistema não encontra informações sobre o quarto desejado. Tabela 8– Emitir Relatórios de Movimentação Diária. 31 Figura 14– CSU10 Diagrama de Use Movimentar Estoque. Nome da Use Case (CSU10) Ator (es) Movimentar Estoque Descrição A inclusão do produto no sistema deverá ser realizada logo após a chegada do mesmo no estabelecimento. Cenário Principal Administrador 1- O sistema mostra os campos a serem preenchidos. 2- O administrador informa os dados de acordo com os campos a serem preenchidos. 3- O administrador clica em “Salvar”. 4- O sistema emite uma mensagem ”Salvo com Sucesso”. Cenário Alternativo O sistema emite a mensagem ”Operação Cancelada” . Tabela 9– Movimentar Estoque. 32 Figura 15– CSU11 Diagrama de Use Emitir Nota. Nome da Use Case (CSU11) Ator (es) Emitir Nota Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Administrador 1- Informar apartamento. 2- Imprimir os dados do cliente. 3- Imprimir gastos do apartamento. 4- Imprimir gastos de consumo. 5- Calcular impostos. 6- Totalizar gastos. Cenário Alternativo Tabela 10– Emitir Nota. O sistema emite a mensagem ”Operação Cancelada” . 33 Figura 16– CSU12 Diagrama de Use Emitir Recibo. Nome da Use Case (CSU12) Ator (es) Emitir Recibo Pré-Condições O administrador deverá estar logado no sistema. Administrador Cenário Principal 1- Informar o apartamento. 2- Informar valor do recibo. 3- Informar descrição do recibo. 4- Imprimir dados do cliente. 5- Imprimir dados do recibo. Cenário Alternativo O sistema emite a mensagem ”Operação Cancelada” . Tabela 11– Emitir Recibo. 34 Figura 17– CSU13 Diagrama de Use Controlar o Caixa. Nome da Use Case (CSU13) Ator (es) Controlar o Caixa Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Cenário Alternativo Administrador 1- Informar o período. 2- Recuperar o saldo base. 3- Calcular e imprimir os valores de receita e despesa geradas durante o período. 4- Calcular o saldo atual. O sistema emite a mensagem ”Operação Cancelada” . Tabela 12– Controlar o Caixa. 35 Figura 18– CSU14 Diagrama de Use Case Consultar Disponibilidade de Quartos. Nome da Use Case (CSU14) Ator (es) Consultar Disponibilidade de Quartos Pré-Condições O administrador deverá estar logado no sistema. Descrição Os números dos quartos e apartamentos deverão Administrador ser impressos conforme forem necessitados. Cenário Principal 1- O sistema disponibiliza informações necessárias para o administrador. 2- O administrador clica em visualizar apartamento. 3- O sistema emite uma mensagem “Apartamento Reservado!” ou “Apartamento Disponível”. Cenário Alternativo Casos de Testes O administrador poderá cancelar o processo durante a visualização. 3.1- O sistema cancela a operação. Tabela 13– Consultar Disponibilidade de Quartos. 36 Figura 19– CSU15 Diagrama de Use Case Emitir Relatórios de Contas a Pagar. Nome da Use Case (CSU15) Ator (es) Emitir Relatórios de Contas a Pagar Pré-Condições O administrador deverá estar logado no sistema. Descrição Os relatórios deverão ser impressos conforme Administrador forem necessitados. Cenário Principal Cenário Alternativo Casos de Testes 1- O sistema disponibiliza informações necessárias para o administrador. 2- O administrador clica em visualizar relatório. 3- O administrador clica em imprimir. 4- O sistema imprime o relatório com sucesso. O administrador poderá cancelar o processo durante a visualização. 4.1- O sistema cancela a operação. Tabela 14– Emitir Relatórios de Contas a Pagar. 37 Figura 20– CSU16 Diagrama de Use Case Emitir Relatório de Contas a Receber. Nome da Use Case (CSU16) Ator (es) Emitir Relatório de Contas a Receber Pré-Condições O administrador deverá estar logado no sistema. Descrição Os relatórios deverão ser impressos conforme Administrador forem necessitados. Cenário Principal 1- O sistema disponibiliza informações necessárias para o administrador. 2- O administrador clica em visualizar relatório. 3- O administrador clica em imprimir. 4- O sistema imprime o relatório com sucesso. Cenário Alternativo Casos de Testes O administrador poderá cancelar o processo durante a visualização. 4.1- O sistema cancela a operação. Tabela 15– Emitir Relatório de Contas a Receber. 38 Figura 21– CSU17 Diagrama de Use Case Contas a Pagar e a Receber por Período. Nome da Use Case (CSU17) Emitir Relatórios de Contas a Pagar e a Receber por Período Ator (es) Administrador Pré-Condições O administrador deverá estar logado no sistema. Descrição Os relatórios deverão ser impressos conforme forem necessitados. Cenário Principal 1- O sistema disponibiliza informações necessárias para o administrador. 2- O administrador clica em visualizar relatório. 3- O administrador clica em imprimir. 4- O sistema imprime o relatório com sucesso. Cenário Alternativo Casos de Testes O administrador poderá cancelar o processo durante a visualização. 4.1- O sistema cancela a operação. Tabela 16– Emitir Relatório de Contas a Pagar e a Receber por Período. 39 Figura 22– CSU18 Diagrama de Use Case Emitir Relatório do Estoque do Produto. Nome da Use Case (CSU18) Ator (es) Emitir Relatório do Estoque de Produto Pré-Condições O administrador deverá estar logado no sistema. Descrição Os relatórios deverão ser impressos conforme Administrador forem necessitados. Cenário Principal 1- O sistema disponibiliza informações necessárias para o administrador. Cenário Alternativo 2- O administrador clica em visualizar relatório. 3- O administrador clica em imprimir. 4- O sistema imprime o relatório com sucesso. O administrador poderá cancelar o processo durante a visualização. Casos de Testes 4.1- O sistema cancela a operação. Tabela 17– Emitir Relatório do Estoque do Produto. 40 Figura 23– CSU19 Diagrama de Use Case Emitir Relatório de Contas Atrasadas. Nome da Use Case (CSU019) Ator (es) Emitir Relatório de Contas Atrasadas Pré-Condições O administrador deverá estar logado no sistema. Descrição Os relatórios deverão ser impressos conforme necessitados. Cenário Principal Administrador 1- O sistema disponibiliza informações necessárias para o administrador. 2- O administrador clica em visualizar relatório. Cenário Alternativo Casos de Testes 3- O administrador clica em imprimir. 4- O sistema imprime o relatório com sucesso. O administrador poderá cancelar o processo durante a visualização. 4.1- O sistema cancela a operação. Tabela 18– Emitir Relatório de Contas Atrasadas. 41 Figura 24– CSU20 Diagrama de Use Case Emitir Relatório de Contas Recebidas. Nome da Use Case (CSU20) Ator (es) Emitir Relatório de Contas Recebidas Pré-Condições O administrador deverá estar logado no sistema. Descrição Os relatórios deverão ser impressos conforme Administrador forem necessitados. Cenário Principal 1- O sistema disponibiliza informações necessárias para o administrador. 2- O administrador clica em visualizar relatório. 3- O administrador clica em Imprimir. 4- Cenário Alternativo O sistema imprime o relatório com sucesso. O administrador poderá cancelar o processo durante a visualização. Casos de Testes 4.1- O sistema cancela a operação. Tabela 19– Emitir Relatório de Contas Recebidas. 42 Figura 25– CSU21 Diagrama de Use Case Cadastrar Fornecedor. Nome da Use Case (CSU21) Ator (es) Cadastrar Fornecedor Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Administrador 12345- Cenário Alternativo O sistema solicita dados necessários para o cadastro do fornecedor. O administrador informa os dados de acordo com os campos a serem preenchidos. O administrador clica em cadastrar. O sistema emite uma mensagem “Fornecedor cadastrado com sucesso!”. O sistema cadastra o fornecedor. O administrador poderá cancelar o processo durante o cadastro. Casos de Testes 3.1- O sistema verifica se os campos foram preenchidos corretamente e se o fornecedor já está cadastrado. 3.2- Caso o fornecedor esteja cadastrado, o sistema emite a mensagem “Fornecedor cadastrado no sistema”. 3.3- O sistema cancela a operação. Tabela 20– Cadastrar Fornecedor. 43 Figura 26– CSU22 Diagrama de Use Case Cadastrar Produto. Nome da Use Case (CSU22) Ator (es) Cadastrar Produto Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Cenário Alternativo Casos de Testes Administrador 1- O sistema solicita dados necessários para o cadastro do produto. 2- O administrador informa os dados de acordo com os campos a serem preenchidos. 3- O administrador clica em cadastrar. 4- O sistema emite uma mensagem ”Produto cadastrado com sucesso!”. 5- O sistema cadastra o produto. O administrador poderá cancelar o processo durante o cadastro. 3.1- O sistema verifica se os campos foram preenchidos corretamente e se o produto já está cadastrado. 3.2- Caso o produto esteja cadastrado, o sistema emite e mensagem “Produto já cadastrado no sistema”. 3.3- O sistema cancela a operação. Tabela 21– Cadastrar Produto. 44 Figura 27– CSU23 Diagrama de Use Case Movimentar Contas a Pagar aos Fornecedores. Nome da Use Case (CSU23) Ator (es) Movimentar Contas a Pagar aos Fornecedores Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Administrador 12345- Cenário Alternativo Casos de Testes O sistema solicita dados necessários para efetuar a consulta. O administrador consulta em qual quarto o cliente está hospedado. O administrador verifica se algum produto foi consumido e faz os cálculos. O sistema emite uma mensagem ”Hospedagem Encerrada”. O sistema libera o quarto. O administrador poderá cancelar o processo durante a consulta. 3.1- “O sistema não confirma o encerramento e emite uma mensagem de erro na tela”. 3.2- O sistema cancela a operação. Tabela 22– Movimentar Contas a Pagar aos Fornecedores. 45 Figura 28– CSU24 Diagrama de Use Case Cadastrar Pedidos. Nome da Use Case (CSU24) Ator (es) Cadastrar Pedidos Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Administrador 12345- Cenário Alternativo Casos de Testes O sistema solicita dados necessários para o cadastro do pedido. O administrador informa os dados de acordo com os campos a serem preenchidos. O administrador clica em cadastrar. O sistema emite uma mensagem ”Pedido cadastrado com sucesso!”. O sistema cadastra o pedido. O administrador poderá cancelar o processo durante o cadastro. 3.1-O sistema verifica se os campos foram preenchidos corretamente. 3.2- Caso ocorra erro, o sistema emite a mensagem ” Cadastro Cancelado!” 3.3- O sistema cancela a operação. Tabela 23– Cadastrar Pedidos. 46 Figura 29– CSU25 Diagrama de Use Case Cadastrar Cidade. Nome da Use Case (CSU25) Ator (es) Cadastrar Cidade Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Administrador 12345- Cenário Alternativo Casos de Testes O sistema solicita dados necessários para o cadastro da cidade. O administrador informa os dados de acordo com os campos a serem preenchidos. O administrador clica em cadastrar. O sistema emite uma mensagem ”Cidade cadastrada com sucesso!”. O sistema cadastra a cidade. O administrador poderá cancelar o processo durante o cadastro. 3.1- O sistema verifica se os campos foram preenchidos corretamente e se cidade já está cadastrada. 3.2- Caso a cidade esteja cadastrada, o sistema emite a mensagem “Cidade cadastrada no sistema”. 3.3- O sistema cancela a operação. Tabela 24– Cadastrar Cidade. 47 Figura 30– CSU26 Diagrama de Use Case Movimentar Contas a Receber. Nome da Use Case (CSU26) Ator (es) Movimentar Contas a Receber Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Administrador 1- O administrador escolhe o cliente. 2- O administrador informa os dados de acordo com os campos a serem preenchidos. 3- O administrador clica em “Salvar”. 4- O sistema emite a mensagem “Recebimento realizado com sucesso.” O sistema emite a mensagem”Recebimento Cancelado.” Tabela 25– Movimentar Contas a Receber. Cenário Alternativo 48 Figura 31– CSU27 Diagrama de Use Case Manter Pagamento. Nome da Use Case (CSU27) Ator (es) Manter Pagamento Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal 1 – O cliente deseja efetuar o pagamento. Administrador 2 – O administrador verifica o pagamento pendente. 3 – O cliente realiza o pagamento. 4 - O administrador clica em “Salvar”. 5 – O sistema emite a mensagem “Pagamento Realizado com Sucesso”. Cenário Alternativo O administrador poderá cancelar o processo durante o cadastro. Tabela 26– Manter Pagamento. 49 Figura 32– CSU28 Diagrama de Use Case Manter Cargo. Nome da Use Case (CSU28) Ator (es) Manter Cargo Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Administrador 12345- Cenário Alternativo O sistema solicita os dados necessários para o cadastro do cargo. O administrador informa os dados de acordo com os campos a serem preenchidos. O administrador clica em cadastrar. O sistema emite a mensagem “Cargo cadastrado com sucesso!”. O sistema cadastra o cargo. O administrador poderá cancelar o processo durante o cadastro. Casos de Teste 3.1- O sistema verifica se os campos foram preenchidos corretamente e se o cargo já está cadastrado. 3.2- Caso o cargo esteja cadastrado, o sistema emite a mensagem “Cargo já cadastrado no sistema!”. 3.3- O sistema cancela a operação. Tabela 27– Manter Cargo. 50 Figura 33– CSU29 Diagrama de Use Case Manter Funcionário. Nome da Use Case (CSU29) Ator (es) Manter Funcionário Pré-Condições O administrador deverá estar logado no sistema. Cenário Principal Administrador 12345- Cenário Alternativo O sistema solicita os dados necessários para o cadastro do funcionário. O administrador informa os dados de acordo com os campos a serem preenchidos. O administrador clica em cadastrar. O sistema emite a mensagem “Funcionário cadastrado com sucesso!”. O sistema cadastra o funcionário. O administrador poderá cancelar o processo durante o cadastro. Casos de Teste 3.1- O sistema verifica se os campos foram preenchidos corretamente e se o funcionário já está cadastrado. 3.2- Caso o funcionário esteja cadastrado, o sistema emite a mensagem “Funcionário já cadastrado no sistema!”. 3.3- O sistema cancela a operação. Tabela 28– Manter Funcionário. 51 4.4 DIAGRAMA DE CLASSES O Diagrama de Classes é o mais utilizado e o mais importante da UML. Serve de apoio para a maioria dos demais diagramas. Como o próprio nome diz, define a estrutura das classes utilizadas pelo sistema, determinando os atributos e métodos que cada classe possui, além de estabelecer como as classes se relacionam e trocam informações entre si (Guedes, Gilleanes T. A. 2006). Observação: Para melhor visualização o Diagrama de Classes encontra-se na próxima página. 52 Figura 34–Diagrama de Classes. 53 4.5 - DIAGRAMA ENTIDADE RELACIONAMENTO Diagrama entidade relacionamento é um modelo de diagrama que descreve o modelo de dados de um sistema com alto nível de abstração. Ele é a principal representação do Modelo de Entidades e Relacionamentos. Sua maior aplicação é para visualizar o relacionamento entre tabelas de um banco de dados, no qual as relações são construídas através da associação de um ou mais atributos destas tabelas (http://nati57.wordpress.com). Observação: Para melhor visualização o Diagrama de Entidade Relacionamento (ER) encontra-se na próxima página. 54 Figura 35– Diagrama Entidade Relacionamento. 55 4.6 - DIAGRAMA DE ATIVIDADES O Diagrama de Atividade descreve os passos a serem percorridos para a conclusão de uma atividade específica, com certo grau de complexidade. O Diagrama de Atividade concentra-se na representação do fluxo de controle de uma atividade (Guedes, Gilleanes T. A. 2006). Figura 36– Diagrama de Atividade Cadastrar Clientes. 56 Figura 37– Diagrama de Atividade Encerrar Locação. Figura 38– Diagrama de Atividade Cadastrar Fornecedor. 57 4.7 – DIAGRAMA DE SEQUÊNCIA O Diagrama de Sequência preocupa-se com a ordem temporal em que as mensagens são trocadas entre os objetos envolvidos em um determinado processo. Em geral, baseia-se em um Caso de Uso definido pelo diagrama de mesmo nome e apoia-se no Diagrama de Classes para determinar os objetos das classes envolvidas em um processo. Um Diagrama de Sequência costuma identificar o evento gerador do processo modelado, bem como o ator responsável por esse evento, e determina como o processo deve se desenrolar e ser concluído por meio da chamada de métodos disparados por mensagens enviadas entre os objetos (Guedes, Gilleanes T. A. 2006). Figura 39– Diagrama de Sequência Cadastrar Cargo. 58 Figura 40– Diagrama de Sequência Cadastrar Funcionário. Figura 41– Diagrama de Sequência Cadastrar Cliente. 59 Figura 42– Diagrama de Sequência Cadastrar Fornecedor. Figura 43– Diagrama de Sequência Cadastrar Produto. 60 Figura 44– Diagrama de Sequência Cadastrar Pedidos. Figura 45– Diagrama de Sequência Cadastrar Cidade. 61 Figura 46– Diagrama de Sequência Cadastrar Pagamento. Figura 47– Diagrama de Sequência Cadastrar Promoção. 62 Figura 48– Diagrama de Sequência Consultar Quartos. Figura 49– Diagrama de Sequência Emitir Relatório de Contas a Receber. 63 Figura 50 – Diagrama de Sequência Cadastrar Contas a Receber 64 5 - IMPLEMENTAÇÃO DA APLICAÇÃO Para a implementação do sistema foi utilizado o ambiente de desenvolvimento Netbeans IDE justamente com a linguagem de programação Java. 5.1 – ORGANIZAÇÃO DOS PACOTES E CLASSES DO SISTEMA Para uma melhor organização o sistema está organizado em pacotes: pacote padrão, br.com.hotel.beans, br.com.hotel.dao, br.com.hotel.navegação, br.com.hotel.util. Figura 51 - Organização de Pacotes. 65 Pacote padrão: Onde contém os arquivos de configuração do Hibernate. Pacote: br.com.hotel.beans: Neste pacote são definidas as classes de modelo e as classes que irão fazer a persistência com o banco de dados. Pacote: br.com.hotel.dao: Neste pacote está definido o Crud, ou seja, todas classes que serão cadastradas,consultadas, atualizadas e excluídas. Pacote: br.com.hotel.navegação: Neste pacote está definido a navegação de uma classe, é o mecanismo que permite unir algum tipo de processamento com seqüência de páginas a serem mostradas. Pacote: br.com.hotel.util: Neste pacote estão adicionadas todas as classes que farão conexão com o banco de dados através do Hibernate. 5.2 ORGANIZAÇÃO DAS PÁGINAS DO SISTEMA Para a organização das páginas, no pacote Páginas WEB foram criados diretórios para cada classe contendo uma página Cadastrar.jsp e outra página Consultar.jsp. Com a organização dos pacotes o controle do desenvolvimento das páginas é maior, o que auxilia o desenvolvedor no caso de surgir e encontrar algum erro. 66 Figura 52 – Organização das Páginas 67 CONCLUSÃO Para o desenvolvimento do sistema proposto para a empresa Sollar Apart Hotel a análise (UML) foi fundamental para o levantamento dos requisitos. Com a análise é possível ter uma visualização ampla através do Mapa Mental, pois se pode analisar corretamente o que cada Caso de Uso fará. No Diagrama de Atividades se pode observar as atividades enviadas e retornadas entre o usuário e o sistema. O Diagrama de Sequência possibilita a visualização de cada operação efetuada pelo usuário e as mensagens retornadas do sistema validando a operação. O Diagrama de Classes é muito importante, pois ele ajuda o desenvolvedor a definir o Diagrama de Entidade Relacionamento que, sem dúvida,contribui enormemente com toda a análise, pois as tabelas do Banco de Dados são definidas por ele. Para o desenvolvimento do MVC o Diagrama de Classes é fundamental, pela definição de atributos e métodos. Uma análise bem feita auxilia muito no desenvolvimento da aplicação, contudo, para o desenvolvimento do sistema algumas dificuldades foram encontradas durante o aprendizado da tecnologia. No entanto, trabalhar com a tecnologia Java é muito motivador, pois é uma tecnologia que disponibiliza muitos recursos para o desenvolvimento de qualquer aplicação sendo ela WEB ou DESKTOP. O Hibernate é uma ferramenta de mapeamento objeto/relacional para Java,sua persistência com o banco de dados é perfeita. Para as aplicações que fazem uso de stored procedures, triggers o framework não é uma boa opção, ele é mais indicado para sistemas com modelo rico, onde a lógica de negócios fica na própria aplicação Java, dependendo pouco das funções específicas do banco de dados. Nesta primeira fase do desenvolvimento do sistema foram implementadas algumas funcionalidades como: CRUD, movimentação, etc Para a segunda fase está prevista melhoria na interface, testes e implantação do sistema. 68 REFERÊNCIAS BARRETO, Daniela. Planejamento, Supervisão e Acompanhamento de Projetos de Software em Micro e Pequenas Empresas. 2007. Dissertação submetida ao Programa de Pós Graduação em Engenharia de Produção como requisito parcial à obtenção do título de Mestre em Engenharia de Produção – Universidade Federal de Itajubá, MG, Itajubá, 2007. BUZAN, Tony. - Mapas Mentais . Sextante1994. DEITEL, H. M. e DEITEL, P. J. - Como Programar Java /trad. Edson Furmankiewicz. – 3 ed.- Porto Alegre : Bookman,2001. GONÇALVES, Edson. – Desenvolvendo Aplicações Web com Netbeans IDE6, Rio de Janeiro: Editora Ciência Moderna Ltda., 2008. GONÇALVES, Edson. – Dominando JavaServer Faces e Facelets Utilizando Spring 2.5,Hibernate e JPA., Rio de Janeiro: Editora Ciência Moderna Ltda., 2008. GUEDES , Gilleanes T. A.- UML Uma Abordagem Prática. 3 ed -Novatech 2006). MER, Disponível em: http://nati57.wordpress.com/2009/01/14/mer-modelo-deentidades-e-relacionamentos-e-der-diagrama-entidade-relacionamento/. Acesso em 22 de junho de 2010. MYSQL, Disponível em: http://mysql.com/downloads. Acesso em 23 de junho de 2010. NETBEANS, Disponível em: http://netbeans.org/community/releases/69/. Acesso em 23 de junho de 2010. SUN, Disponível em : http://br.sun.com/download/. Acesso em 24 de junho de 2010. 69 ANEXO – INTERFACE DO SISTEMA Figura 53 - Tela de Cadastro. 70 Figura 54 - Tela de Consulta 71 Figura 55 - Tela de Alteração.