SOFTWARE PARA GESTÃO DO SOLLAR APART HOTEL

Documentos relacionados
STELLA DE SOUZA SILVA

ELIBERTO AUGUSTO DIAS SISTEMA GERENCIAMENTO DE PIZZARIAS

HELLEN CHRISTINE SERÓDIO THOMAZINHO

GILMAR JOSÉ CIRINO SISTEMA GERENCIADOR DE CONTROLE DE ESTOQUE LINGUAGEM JAVA. Assis 2012

JACKSON JADER BERNINI SISTEMA GERENCIADOR DE ESTOQUE E VENDAS

FERNANDO LEITE DESENVOLVIMENTO DE SOFTWARE PARA DESKTOP, USANDO JAVA. UMA APLICAÇÃO PARA GERENCIAMENTO DE LANCHONETE.

SUPERIOR DE ASSIS SISTEMA PARA GERENCIAMENTO FINANCEIRO

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO

SISTEMA DE GERENCIAMENTO DE MADEIREIRA

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA

Wesley Alves de Souza. Sistema Gerenciador de Manutenção de Equipamentos Industriais

DIEGO MENDES DE LIMA SISTEMA DE CONTROLE COMERCIAL

SISTEMA CONTROLE DE ESTOQUE PET FHSPET

FREDERICO IANNACCONE SISTEMA DE CONSULTA AO PLANO DE TRABALHO DOCENTE VIA INTERNET

ANDERSON RICARDO DOS SANTOS SISTEMA DE CONTROLE DE ESTOQUE DE BEBIDAS

DOCUMENTAÇÃO SISTEMA DE ADMINISTRAÇÃO DE CONSULTÓRIO MÉDICO

Introdução ao Desenvolvimento de

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

Alan Carlos da silva SISTEMA PARA LOJA DE ROUPAS ASSIS

DANIELLE MATIAS MATUDA SISTEMA WEB PARA GERENCIAMENTO DE SALÃO DE BELEZA DE PEQUENO E MÉDIO PORTE

UML Unified Modeling Language Linguagem de Modelagem Unificada

JOÃO PAULO MAZZO SGLI SISTEMA GERENCIAL PARA LOJA DE INFORMÁTICA

Universidade Estadual Vale do Acaraú Disciplina: Análise e Projeto Orientado a Objetos Professora: Raquel Silveira DESCRIÇÃO DO TRABALHO PARA 3ª AP

UNIVERSIDADE FEDERAL DO CEARÁ UFC CENTRO DE CIÊNCIAS DEPARTAMENTO DE COMPUTAÇÃO

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

RUBENS USSUY BRANDÃO DESENVOLVIMENTO DE SOFTWARE EM JAVA DESKTOP PARA O GERENCIAMENTO DE INFORMAÇÕES DE CONTROLE ACADÊMICO

Sistema Integrado Fiscal Móvel

Desenvolvimento Web II

MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

RAFAEL CERQUEIRA DA SILVA SISTEMA DE GERENCIAMENTO DE CLÍNICA ODONTOLÓGICA

AGUINALDO INACIO SISTEMA PARA INFORMATIZAÇÃO E GERENCIAMENTO DE OFICINA MECÂNICA

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto

SIGERIS SISTEMA DE GESTÃO DE REDES DE INFRAESTRUTURAS PREDIAIS 1 SIGERIS - SYSTEM OF MANAGEMENT OF PREDIAL INFRASTRUCTURE NETWORKS

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

INF1013 MODELAGEM DE SOFTWARE

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Nesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP

Pontifícia Universidade Católica

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Sérgio Koch Van-Dall

APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM

SGI - SISTEMA DE GERENCIAMENTO DE IGREJAS

SISTEMA PARA CADASTRO DE CLIENTES E PRODUTOS LOJA BIG S

Curso Online de E-commerce. Plano de Estudo

INFOSOFT: SOFTWARE DE GERENCIAMENTO PARA LOJAS DE INFORMÁTICA

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

JABES FELIPE CUNHA SISTEMA DE CONTROLE E GERENCIAMENTO DE ORÇAMENTOS

Gestão de Pessoas. Professor: Itair Pereira da Silva

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

2 Metodologias para Projetos de Aplicações Hipermidia

Aluno: Anderson Ribeiro Pacheco Orientador: Almir Camolesi S.A. Sistema Web para Academia

DESEVOLVIMENTO DE UM SOFTWARE EM JAVA PARA O GERENCIAMENTO DE UM PET SHOP PET HOUSE

3 Tecnologias Relacionadas

SISTEMA DE AUTOMAÇÃO DE PROCESSO DE VENDAS APLICADO À EMPRESA PINTARELLI INDUSTRIAL

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

ELABORAÇÃO DE WEBSITE COM BASE NA NECESSIDADE DA EMPRESA VISANDO BAIXOS CUSTOS E DESIGN MODERNO

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Sistema de Gestão de Clubes Recreativos e Esportivos

Facilitando sua vida com

Ambiente Educacional Interativo Móvel para atividade em sala de aula 1

Documento de Arquitetura de Software- SGE

Requisitos de Sistemas

INTRODUÇÃO A PROGRAMAÇÃO PARA WEB

SISTEMA WEB ESCOLAR PARA RESERVA DE RECURSOS DIDÁTICOS UTILIZANDO RBC

LEONARDO PERES DA SILVA SISTEMA GERENCIADOR DE BIBLIOTECA

ANDRÉ DO LAGO ZIMMERMANN SREF SISTEMA RODOVIÁRIO PARA EMISSÃO DE FRETES

UML UNIFIED MODELING LANGUAGE LINGUAGEM DE MODELAGEM UNIFICADA

Rational Unified Process (RUP)

Guilherme Fernando Gielow

APLICATIVO DE CONTROLE DE PEDIDOS EM AMBIENTE WEB Roni Rohling Orientando Prof. Ricardo de Alencar de Azambuja Orientador

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Desenvolvimento Web. Introdução Geral. Prof. Vicente Paulo de Camargo

Movimento do Caixa

FERNANDO LAIOLA SISTEMA PARA CONTROLE DE FALTAS E NOTAS DE ALUNOS DE UMA ESCOLA

ALUNO: RONI FABIO BANASZEWSKI

Documento de Visão Sistema de Apostas Palpite Certo

EDLAINE DOS SANTOS SISTEMA DE GERENCIAMENTO DE HOTEL. Assis

FERRAMENTA WEB PARA APOIAR O SETOR DE QUALIDADE NOS TESTES DE RELATÓRIOS DA LEI DE RESPONSABILIDADE FISCAL.

TÉCNICO EM INFORMÁTICA

OPORTUNIDADES: Analista de Sistemas Sênior

Ajax na Construção de uma Aplicação Web para Monitoramento de Ambientes. Marcus Vinícius Silva Gois Orientador: Paulo César Rodacki Gomes

3 Software C&L Introdução

6 Ferramenta para a Especialização de Mecanismos de Persistência

PROJETO INTEGRADO I OFICINA MECÂNICA

RAPHAEL VASQUES DE NIGRO SISTEMA DE GESTÃO DE ESTOQUE PARA EMPRESAS DE COSMÉTICOS

AVISO Nº 02 - RETIFICAÇÃO. A Companhia de Processamento de Dados do Estado do Rio Grande do Sul PROCERGS, torna público, por este Aviso, o que segue:

Introdução ao HTML André Luiz Silva de Moraes Instituto Federal de Santa Catarina

CHRONOS SISTEMA DE PLANEJAMENTO ACADÊMICO

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

Hibernate Anotations

Transcrição:

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 1 Manter Cliente... 23 Tabela 2 Efetuar Reserva.... 24 Tabela 3 Cancelar Reserva.... 25 Tabela 4 Efetuar Locação.... 26 Tabela 5 Calcular Valor de Diárias.... 27 Tabela 6 Encerrar Locação.... 28 Tabela 7 Emitir Relatórios de Consumo de Clientes.... 29 Tabela 8 Emitir Relatórios de Movimentação Diária.... 30 Tabela 9 Movimentar Estoque.... 31 Tabela 10 Emitir Nota.... 32 Tabela 11 Emitir Recibo.... 33 Tabela 12 Controlar o Caixa.... 34 Tabela 13 Consultar Disponibilidade de Quartos.... 35 Tabela 14 Emitir Relatórios de Contas a Pagar.... 36 Tabela 15 Emitir Relatório de Contas a Receber.... 37 Tabela 16 Emitir Relatório de Contas a Pagar e a Receber por Período.... 38 Tabela 17 Emitir Relatório do Estoque do Produto.... 39 Tabela 18 Emitir Relatório de Contas Atrasadas.... 40 Tabela 19 Emitir Relatório de Contas Recebidas.... 41 Tabela 20 Cadastrar Fornecedor.... 42 Tabela 21 Cadastrar Produto.... 43 Tabela 22 Movimentar Contas a Pagar aos Fornecedores.... 44 Tabela 23 Cadastrar Pedidos.... 45 Tabela 24 Cadastrar Cidade.... 46 Tabela 25 Movimentar Contas a Receber.... 47 Tabela 26 Manter Pagamento.... 48 Tabela 27 Manter Cargo.... 49 Tabela 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 Abr Mai Jun Jul Ago Set Out Nov Dez 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

4 ESPECIFICAÇÃO DO SOFTWARE PARA GESTÃO DO SOLLAR APART HOTEL 19 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.

Figura 4 Mapa Menta 20

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) Pré-Condições Cenário Principal Manter Cliente Administrador, Cliente Cadastrar um cliente ainda não cadastrado 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. Cenário Alternativo Casos de Testes 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) Pré-Condições Cenário Alternativo Cenário Principal Efetuar Reserva Administrador /Cliente Efetuar a reserva de um quarto O administrador poderá cancelar o processo durante o cadastro. 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. Casos de Testes 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) Pré-Condições Cenário Principal Cancelar Reserva Administrador/Cliente Cancelar uma reserva já efetivada e informar o motivo. 1- O sistema solicita dados necessários para efetuar a consulta. 2- O cliente informa que deseja cancelar a reserva do quarto. 3- O administrador informa ao sistema o motivo do cancelamento. 4- O sistema disponibiliza a tela de Cancelamento de reserva. 5- Sistema conclui o cancelamento, e torna o quarto disponível. Cenário Alternativo 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) Pré-Condições Cenário Principal Efetuar Locação Administrador/Clientes Confirmar locação de um quarto. 1- O administrador informa ao sistema o nome do cliente. 2- O administrador informa ao sistema qual quarto será locado. 3- O administrador informa quantos dias o quarto ficará locado. 4- O sistema emite a mensagem Reserva Confirmada! 5- O sistema reserva o quarto. Cenário Alternativo O administrador poderá cancelar o processo durante a consulta. Casos de Testes 1.1- Funcionário verifica que o cliente ainda não está cadastrado, e efetua o cadastro. 1.2- Funcionário informa ao cliente que não existem quartos disponíveis. Tabela 4 Efetuar Locação.

27 Figura 10 CSU06 Diagrama de Use Case Calcular Valor de Diárias. Nome da Use Case (CSU06) Ator (es) Pré-Condições Cenário Principal Calcular Valor de Diárias Administrador Calcular o valor total referente a diárias do cliente. 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) Pré-Condições Encerrar Locação Administrador, Cliente Confirmar o encerramento de uma locação. Cenário Principal 1- O administrador informa ao sistema o número do quarto do cliente. 2- O administrador informa ao cliente o valor total das diárias. 3- O administrador informa ao sistema o valor pago pelo cliente. 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 6 Encerrar Locação.

29 Figura 12 CSU08 Diagrama de Use Case Emitir Relatórios de Consumo de Clientes. Nome da Use Case (CSU08) Ator (es) Pré-Condições Cenário Principal Emitir Relatórios de Consumo de Clientes Administrador O administrador deverá estar logado no sistema. 1- Informar apartamento. 2- Recuperar dados de consumo no período. 3- Emitir relação de consumo. 4- Totalizar Consumos. Cenário Alternativo Casos de Testes O administrador poderá cancelar o processo durante a consulta. 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) Pré-Condições Cenário Principal Emitir Relatórios de Movimentação Diária Administrador O administrador deverá estar logado no sistema. 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 Casos de Testes O administrador poderá cancelar o processo durante a consulta. 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) Descrição Cenário Principal Movimentar Estoque Administrador A inclusão do produto no sistema deverá ser realizada logo após a chegada do mesmo no estabelecimento. 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) Pré-Condições Cenário Principal Cenário Alternativo Tabela 10 Emitir Nota. Emitir Nota Administrador O administrador deverá estar logado no sistema. 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. O sistema emite a mensagem Operação Cancelada.

33 Figura 16 CSU12 Diagrama de Use Emitir Recibo. Nome da Use Case (CSU12) Ator (es) Pré-Condições Cenário Principal Emitir Recibo Administrador O administrador deverá estar logado no sistema. 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 Tabela 11 Emitir Recibo. O sistema emite a mensagem Operação Cancelada.

34 Figura 17 CSU13 Diagrama de Use Controlar o Caixa. Nome da Use Case (CSU13) Ator (es) Pré-Condições Cenário Principal Controlar o Caixa Administrador O administrador deverá estar logado no sistema. 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. Cenário Alternativo Tabela 12 Controlar o Caixa. O sistema emite a mensagem Operação Cancelada.

35 Figura 18 CSU14 Diagrama de Use Case Consultar Disponibilidade de Quartos. Nome da Use Case (CSU14) Ator (es) Pré-Condições Descrição Cenário Principal Cenário Alternativo Casos de Testes Consultar Disponibilidade de Quartos Administrador O administrador deverá estar logado no sistema. Os números dos quartos e apartamentos deverão ser impressos conforme forem necessitados. 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. 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) Pré-Condições Descrição Cenário Principal Emitir Relatórios de Contas a Pagar Administrador O administrador deverá estar logado no sistema. Os relatórios deverão ser impressos conforme forem necessitados. 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 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) Pré-Condições Descrição Cenário Principal Emitir Relatório de Contas a Receber Administrador O administrador deverá estar logado no sistema. Os relatórios deverão ser impressos conforme forem necessitados. 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) Ator (es) Pré-Condições Descrição Cenário Principal Emitir Relatórios de Contas a Pagar e a Receber por Período Administrador O administrador deverá estar logado no sistema. Os relatórios deverão ser impressos conforme forem necessitados. 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) Pré-Condições Descrição Cenário Principal Emitir Relatório do Estoque de Produto Administrador O administrador deverá estar logado no sistema. Os relatórios deverão ser impressos conforme forem necessitados. 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 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) Pré-Condições Descrição Cenário Principal Emitir Relatório de Contas Atrasadas Administrador O administrador deverá estar logado no sistema. Os relatórios deverão ser impressos conforme necessitados. 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 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) Pré-Condições Descrição Cenário Principal Emitir Relatório de Contas Recebidas Administrador O administrador deverá estar logado no sistema. Os relatórios deverão ser impressos conforme forem necessitados. 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 19 Emitir Relatório de Contas Recebidas.

42 Figura 25 CSU21 Diagrama de Use Case Cadastrar Fornecedor. Nome da Use Case (CSU21) Ator (es) Pré-Condições Cenário Principal Cadastrar Fornecedor Administrador O administrador deverá estar logado no sistema. 1- O sistema solicita dados necessários para o cadastro do fornecedor. 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 Fornecedor cadastrado com sucesso!. 5- O sistema cadastra o fornecedor. Cenário Alternativo 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) Pré-Condições Cenário Principal Cenário Alternativo Casos de Testes Cadastrar Produto Administrador O administrador deverá estar logado no sistema. 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) Pré-Condições Cenário Principal Cenário Alternativo Casos de Testes Movimentar Contas a Pagar aos Fornecedores Administrador O administrador deverá estar logado no sistema. 1- O sistema solicita dados necessários para efetuar a consulta. 2- O administrador consulta em qual quarto o cliente está hospedado. 3- O administrador verifica se algum produto foi consumido e faz os cálculos. 4- O sistema emite uma mensagem Hospedagem Encerrada. 5- 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) Pré-Condições Cenário Principal Cenário Alternativo Casos de Testes Cadastrar Pedidos Administrador O administrador deverá estar logado no sistema. 1- O sistema solicita dados necessários para o cadastro do pedido. 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 Pedido cadastrado com sucesso!. 5- 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) Pré-Condições Cenário Principal Cenário Alternativo Casos de Testes Cadastrar Cidade Administrador O administrador deverá estar logado no sistema. 1- O sistema solicita dados necessários para o cadastro da cidade. 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 Cidade cadastrada com sucesso!. 5- 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) Pré-Condições Cenário Principal Movimentar Contas a Receber Administrador O administrador deverá estar logado no sistema. 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. Cenário Alternativo O sistema emite a mensagem Recebimento Cancelado. Tabela 25 Movimentar Contas a Receber.

48 Figura 31 CSU27 Diagrama de Use Case Manter Pagamento. Nome da Use Case (CSU27) Ator (es) Pré-Condições Cenário Principal Manter Pagamento Administrador O administrador deverá estar logado no sistema. 1 O cliente deseja efetuar o pagamento. Cenário Alternativo Tabela 26 Manter Pagamento. 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. O administrador poderá cancelar o processo durante o cadastro.

49 Figura 32 CSU28 Diagrama de Use Case Manter Cargo. Nome da Use Case (CSU28) Ator (es) Pré-Condições Cenário Principal Manter Cargo Administrador O administrador deverá estar logado no sistema. 1- O sistema solicita os dados necessários para o cadastro do cargo. 2- O administrador informa os dados de acordo com os campos a serem preenchidos. 3- O administrador clica em cadastrar. 4- O sistema emite a mensagem Cargo cadastrado com sucesso!. 5- O sistema cadastra o cargo. Cenário Alternativo 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) Pré-Condições Cenário Principal Manter Funcionário Administrador O administrador deverá estar logado no sistema. 1- O sistema solicita os dados necessários para o cadastro do funcionário. 2- O administrador informa os dados de acordo com os campos a serem preenchidos. 3- O administrador clica em cadastrar. 4- O sistema emite a mensagem Funcionário cadastrado com sucesso!. 5- O sistema cadastra o funcionário. Cenário Alternativo 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.

Figura 34 Diagrama de Classes. 52

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.

Figura 35 Diagrama Entidade Relacionamento. 54

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.

Figura 50 Diagrama de Sequência Cadastrar Contas a Receber 63

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.

Figura 52 Organização das Páginas 66

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.

Figura 54 - Tela de Consulta 70

Figura 55 - Tela de Alteração. 71