sistema web para aluguel de roupas
Post on 03-Jun-2018
226 Views
Preview:
TRANSCRIPT
-
8/12/2019 Sistema Web Para Aluguel de Roupas
1/51
UNIVERSIDADE TECNOLGICA FEDERAL DO PARANCURSO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE
SISTEMAS
CSSYO JUNIOR REBONATO KIST
SISTEMA WEB PARA LOJAS DE ALUGUEL E VENDA DE ROUPAS
TRABALHO DE CONCLUSO DE CURSO
PATO BRANCO2012
-
8/12/2019 Sistema Web Para Aluguel de Roupas
2/51
CSSYO JUNIOR REBONATO KIST
SISTEMA WEB PARA LOJAS DE ALUGUEL E VENDA DE ROUPAS
Trabalho de Concluso de Curso degraduao, apresentado disciplina deTrabalho de Diplomao, do Curso Superiorde Tecnologia em Anlise e Desenvolvimentode Sistemas, da Universidade TecnolgicaFederal do Paran, Cmpus Pato Branco, comorequisito parcial para obteno do ttulo deTecnlogo.
Orientadora: Profa. Beatriz Terezinha Borsoi
PATO BRANCO2012
-
8/12/2019 Sistema Web Para Aluguel de Roupas
3/51
-
8/12/2019 Sistema Web Para Aluguel de Roupas
4/51
RESUMO
KIST, Cssyo Junior Rebonato. Sistema web para lojas de aluguel e venda de roupas. 2012.50 f. Trabalho de concluso de curso - Curso Superior de Tecnologia em Anlise e
Desenvolvimento de Sistemas, Universidade Tecnolgica Federal do Paran, Cmpus PatoBranco. Pato Branco, 2012.
As aplicaes web facilitam o acesso dos usurios porque as exigncias bsicas para usodessas aplicaes um computador com acesso Internet e com um navegador webinstalado.Esse tipo de aplicao tambm til para empresas que possuem filiais. Com uso da Internetno h necessidade de uma rede dedicada para conectar os computadores da matriz e dasfiliais. Considerando esse contexto, verificou-se que o desenvolvimento de um sistema webpoderia ser relevante para o gerenciamento de uma empresa de aluguel e venda de roupas quepossua filiais. A implementao desse sistema tambm tem o objetivo de apresentar a formade uso das tecnologias empregadas, destacando-se a linguagem Java para web, osframeworks
Hibernate e PrimeFaces e a biblioteca JQuery.
Palavras-chave: Java para web. Aplicaes web. PrimeFaces. JQuery
-
8/12/2019 Sistema Web Para Aluguel de Roupas
5/51
ABSTRACT
KIST, Cssyo Junior Rebonato. Web application to manage rental and sale of clothes. 2012.50 f. Relatrio de Estgio Supervisionado - Curso Superior de Tecnologia em Anlise e
Desenvolvimento de Sistemas, Universidade Tecnolgica Federal do Paran, Cmpus PatoBranco. Pato Branco, 2012.
The web applications provide easy access for users because the basic requirement to accessthese applications is a computer with Internet access and a web browser installed. This type ofapplication is also useful for companies that have branches. With use of the Internet there isno need for a dedicated network to connect computers and array of subsidiaries. Consideringthis context, it was found that the development of a web-based system could be relevant to themanagement of a company that rents and sells clothes and has offices. The implementationaims to show how to use the technologies employed, especially Java web and the frameworksPrimeFaces and Hibernate, and the JQuery library.
Keywords: JavaEE. Web applications. PrimeFaces. JQuery.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
6/51
LISTA DE FIGURAS E QUADROS
Figura 1 - Apresentao das camadas e dos contineres ....................................................... 13
Figura 2 Arquitetura MVC com JSP.................................................................................. 16Figura 3 Diagrama de casos de uso.................................................................................... 26Figura 4 Diagrama de classes do sistema........................................................................... 27Figura 5 Diagrama de sequncia para o processo de aluguel de roupas.............................. 28Figura 6 Diagrama de sequncia para login no sistema............................... ....................... 28Figura 7 Diagrama de sequncia para cadastro de clientes.......................... ....................... 29Figura 8 Diagrama de sequncia para cadastro de uma despesa ......................................... 29Figura 9 Diagrama de sequncia para a venda de roupas ................................................... 30Figura 10 Diagrama de sequncia para cadastrar uma roupa no sistema............................. 30Figura 11 Tela de login no sistema.................................................................................... 31Figura 12 Tela inicial do sistema....................................................................................... 31Figura 13 Cadastro de usurio ........................................................................................... 32
Figura 14 Tela de cadastro de usurios.............................................................................. 32Figura 15 Cadastro de Aluguel.......................................................................................... 33Figura 16 Tela para efetuar aluguis.................................................................................. 33
Quadro 1 Suporte a tributos de qualidade em JavaEE utilizando MVC.............................. 15Quadro 2 Tecnologias utilizadas na definio, implementao e execuo do sistema....... 19
-
8/12/2019 Sistema Web Para Aluguel de Roupas
7/51
LISTAGENS DE CDIGO
Listagem 1 Cdigo para login ao sistema .......................................................................... 34Listagem 2 Classe Form.................................................................................................... 35
Listagem 3 Login ao sistema............................................................................................. 36Listagem 4 Cdigo para consulta de usurio ao banco de dados ........................................ 37Listagem 5 Cdigo para cadastro de usurio...................................................................... 38Listagem 6 Cdigo para salvar o cadastro de usurio......................................................... 39Listagem 7 Cdigo para chamar mtodos de incluso, excluso e edio de objetos .......... 39Listagem 8 Cdigo para salvar cadastro ............................................................................ 40Listagem 9 Cdigo para efetuar aluguel ............................................................................ 43Listagem 10 Cdigo do Managed Bean para efetuar o aluguel e outras funcionalidades .... 45Listagem 11 Cdigo para chamar mtodos de listagem, desativao, ativao e efetuao doaluguel e autocomplete do cliente......................................................................................... 45Listagem 12 Cdigo para efetuar o aluguel no banco de dados ................... ....................... 46
-
8/12/2019 Sistema Web Para Aluguel de Roupas
8/51
LISTA DE SIGLAS
API Application Programming InterfaceCGI Common Gateway Interface
CSS Cascading Style SheetDAO Data Access ObjectsDDL Data Definition LanguageDOM Document Object ModelEIS Executive Information SystemEJB Enterprise JavaBeansEJB Enterprise Java BeansFTP File Transfer ProtocolHTML Hyper Text Markup LanguageIBM International Business MachinesIDE Integrated Development EnvironmentIIS Internet Information Services
JavaEE Java Enterprise EditionJDBC Java Database ConnectivityJIT Just Int TimeJNDI Java Naming and Directory InterfaceJSF Java Server FacesJSP Java Server PageJTA Java Transaction APIJVM Java Virtual MachineMVC Model-View-ControllerPHP PHP Hypertext PreprocessorRIA Rich Internet ApplicationSQL Structured Query LanguageUML Unified Modeling LanguageURL Uniform Resource LocatorW3C World Wide Web ConsortiumXHTML eXtensible Hyper Text Markup LanguageXML eXtensible Markup LanguageXSD XML Schema Document
-
8/12/2019 Sistema Web Para Aluguel de Roupas
9/51
SUMRIO
1 INTRODUO.........................................................................................................91.1 CONSIDERAES INICIAIS ........................................................................................91.2 OBJETIVOS.................................................................................................................. 101.2.1 Objetivo Geral............................................................................................................. 101.2.2 Objetivos Especficos .................................................................................................. 101.3 JUSTIFICATIVA .......................................................................................................... 111.4 ESTRUTURA DO TRABALHO ................................................................................... 112 JAVA PARA WEB .................................................................................................132.1 A PLATAFORMA JAVAEE ......................................................................................... 132.2 Padro de projetos MVC................................................................................................ 153 MATERIAIS E MTODO........................................................................................183.1 MATERIAIS.................................................................................................................. 183.1.1 Astah Community ....................................................................................................... 19
3.1.2 IDE Eclipse................................................................................................................. 193.1.3 Linguagem Java .......................................................................................................... 193.1.4 JavaServer Faces......................................................................................................... 203.1.5 PrimeFaces.................................................................................................................. 203.1.6 jQuery ......................................................................................................................... 203.1.7 MySQL....................................................................................................................... 213.1.8 Hibernate .................................................................................................................... 213.1.9 Apache Tomcat ........................................................................................................... 223.1.10 DeZign For Database v6............................................................................................ 223.2 MTODO...................................................................................................................... 234 RESULTADO.........................................................................................................254.1 APRESENTAO DO SISTEMA ................................................................................ 25
4.2 MODELAGEM DO SISTEMA...................................................................................... 264.3 DESCRIO DO SISTEMA......................................................................................... 314.4 IMPLEMENTAO DO SISTEMA............................................................................. 345 CONCLUSO........................................................................................................ 47REFERNCIAS.........................................................................................................49
-
8/12/2019 Sistema Web Para Aluguel de Roupas
10/51
9
1 INTRODUO
Este captulo apresenta o contexto do sistema desenvolvido como resultado deste
trabalho, os seus objetivos e a sua justificativa. E por fim est a organizao dos captulos que
compem o texto.
1.1 CONSIDERAES INICIAIS
Uma empresa que fabrica e aluga roupas, comumente denominada de atelier de costura
ou de locao, geralmente disponibiliza um grande nmero de peas para que seus clientes
possam escolher. Alm de locar peas prontas e de solicitar a confeco de peas que
adquirir, o cliente pode solicitar a confeco de uma pea que alugar. A solicitao de
confeco pelo cliente de uma pea que ele alugar definida como primeira locao.
Para as peas locadas importante manter o histrico das locaes para que o cliente
possa ser informado dos usos anteriores da respectiva pea. Para determinadas peas,
especialmente confeces de vesturio feminino, necessrio haver um controle para que a
locao no se torne repetida em eventos semelhantes ou eventos de pblico semelhante, por
exemplo.
A existncia de matriz e filiais nesse tipo de negcio aumenta a vida til das peas a
serem locadas. Isso porque as peas que j foram alugadas em uma das lojas podem ser
disponibilizadas para aluguel em outras lojas, proporcionando maior rentabilidade para o
empresrio.
O gerenciamento das peas locadas e mesmo da confeco, quando a empresa possui
matriz e filiais, pode ser facilitado pelo uso de um sistema web. Assim, este trabalho se refere
ao desenvolvimento de um sistema webcontar com um servidor (computador na matriz) que
disponibilizar acesso aos terminais (cliente web) nas filiais. O controle de estoque e o
gerenciamento do banco de dados so centralizados, mas o acesso e a manuteno do sistema
so distribudos. A manuteno, nesse caso, se refere s operaes realizadas no banco de
dados, como os cadastros e o controle das locaes.
O sistema desenvolvido composto basicamente de cadastros, controle de aluguel e de
distribuio das peas entre a matriz e as filiais da empresa. A implementao do sistema est
-
8/12/2019 Sistema Web Para Aluguel de Roupas
11/51
10
baseada no padro de projetos MVC (Model-View-Controller). Esse padro ser usado para
facilitar a implementao e mesmo a manuteno, em termos de cdigo, do sistema
desenvolvido. Os dados para a modelagem do sistema so provenientes de uma empresa de
aluguel e confeco de roupas que possui matriz e filiais.
O desenvolvimento desse sistema uma oportunidade de aprendizado pelas
tecnologias utilizadas na implementao, destacando-se a linguagem Java, os frameworks
Hibernate e PrimeFaces, a biblioteca JQuery e o padro de projetos MVC. Alm de fornecer
uma forma de controle e gerenciamento para empresas de aluguel e venda de roupas sob
medida.
1.2 OBJETIVOS
O objetivo geral se refere ao resultado principal a ser obtido com a realizao deste
trabalho. Os objetivos especficos complementam o objetivo geral.
1.2.1 Objetivo Geral
Implementar um sistema web para gerenciar aluguel e venda de roupas de umaempresa com matriz e filiais utilizando a linguagem Java.
1.2.2 Objetivos Especficos
Dentre os objetivos especficos, destacam-se:
Apresentar a forma de uso do padro de projetos MVC no desenvolvimento deuma aplicao Java para web.
Apresentar a forma de uso das tecnologias de suporte ao desenvolvimento Javapara web, incluindo oframeworkPrimeFaces e a biblioteca JQuery.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
12/51
11
1.3 JUSTIFICATIVA
O desenvolvimento de um sistema webpara uma empresa de aluguel e de venda de
roupas se justifica fortemente quando a empresa composta por matriz e filiais. Com um
sistema web, a comunicao entre elas fica mais eficaz. Alm da comunicao, o controle das
operaes realizadas e a viso geral do negcio se tornam mais fceis e efetivas. tambm
uma possibilidade de aumentar a vida til das peas locadas porque elas podem ser
redistribudas entre a matriz e as filiais.
Para o desenvolvimento de aplicaes para web, diversas tecnologias podem ser
utilizadas incluindo dos CGIs (Common Gateway Interface) com HTML (HyperText Markup
Language) s aplicaes Internet ricas. As linguagens de programao tambm so distintas,
como, por exemplo, .Net, Java e PHP (PHP Hypertext Preprocessor).Para a implementao do sistema resultado deste trabalho, optou-se pela linguagem
Java pelas funcionalidades que a mesma oferece no desenvolvimento de sistemas para web.
Essas funcionalidades esto, tambm, relacionadas s tecnologias agregadas ao uso da
linguagem. Dentre essas tecnologias esto osframeworkse os padres de projeto.
Os padres de projeto, embora sejam conceituais, definem a forma de empregar
tecnologias na resoluo de determinados problemas. Esses padres no esto relacionados
linguagem, mas fornecem uma maneira de resolver problemas recorrentes em programao,
otimizando o uso dos recursos que as linguagens e as tecnologias possuem.Para o desenvolvimento deste trabalho sero utilizados os frameworksPrimeFaces e
Hibernate, a biblioteca JQuery para interface e o padro de projetos MVC. Eles sero
utilizados visando agilizar a implementao do sistema e prover facilidade de interatividade
do usurio.
Este trabalho est centrado na implementao do sistema, uma primeira verso da
modelagem foi desenvolvida como trabalho de estgio. No estgio tambm foram
implementados alguns cadastros, mas houve mudanas nas tecnologias e toda a codificao
foi refeita.
1.4 ESTRUTURA DO TRABALHO
Este trabalho est organizado em captulos, dos quais este o primeiro. O Captulo 2
apresenta o referencial terico que fundamenta as tecnologias e os conceitos utilizados no
-
8/12/2019 Sistema Web Para Aluguel de Roupas
13/51
12
desenvolvimento do trabalho. O Captulo 3 apresenta os materiais e o mtodo empregado na
modelagem e na implementao do sistema. No Captulo 4 est a modelagem e a
implementao obtidas como resultado da realizao deste trabalho. No Captulo 5 est a
concluso e por fim esto as referncias utilizadas.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
14/51
13
2 JAVA PARA WEB
Este captulo apresenta os conceitos relacionados plataforma JavaEE (Java
Enterprise Edition) no desenvolvimento de aplicaes webe ao padro de projetos MVC, que
so utilizados na implementao do sistema resultado deste trabalho.
2.1 A PLATAFORMA JAVAEE
A plataforma JavaEE, tambm conhecida como J2EE ou JEE, est voltada para o
desenvolvimento de aplicaes multicamadas, baseadas em componentes que so executadosem um servidor de aplicaes. A plataforma JavaEE considerada um padro de
desenvolvimento porque necessrio seguir determinadas regras para que o produto de
software gerado seja compatvel com JavaEE. O desenvolvimento de software para esse
ambiente realizado por meio da linguagem de programao Java e de um conjunto de
ferramentas de desenvolvimento e de tecnologias associadas.
A plataforma JavaEE multicamadas, cujas camadas podem estar distribudas em
vrias mquinas. Geralmente conhecida como trs camadas, mas no necessariamente
somente trs. Por exemplo: camada cliente que executa na mquina do cliente; camada webque executa no servidor JavaEE; camada de negcio que executa no servidor JavaEE; e
camada EIS (Executive Information System) que executa no servidor EIS. A Figura 1
apresenta uma viso geral das camadas tpicas desse padro.
Figura 1 - Apresentao das camadas e dos contineresFonte: Adaptado de Miranda e Silva (2006).
Camada deapresentao
Servidor JavaEE
-
8/12/2019 Sistema Web Para Aluguel de Roupas
15/51
14
A plataforma JavaEE trabalha com o conceito de continer de componentes. Um
continer fornece servios aos componentes, tais como, segurana. Dentre os exemplos de
continer esto o servidor JavaEE; continer EJB (Enterprise JavaBeans); continer web;
continer aplicao cliente; e continer applet.
A plataforma JavaEE aberta, baseada em padres, independente de hardwaree de
sistema operacional que as aplicaes desenvolvidas executaro. As aplicaes webbaseadas
na plataforma JavaEE usam o padro de projetos MVC que composto por trs componentes
arquiteturais (GAMMA et al., 2000):
a) lgica de apresentao que define a viso e est relacionada a exibir os dados ou
informaes da aplicao.
b) lgica de controle - coordena o modelo e a viso e exibe a interface.
c) lgica de negcio que representada pelo modelo. O modelo encapsula os dadosdo aplicativo e as regras de negcio.
Para Prajapati e Dabhi (2009), aplicaes webdesenvolvidas em plataforma JavaEE
possuem alta qualidade e atendem mudanas de requisitos de negcio e do cliente. Chung e
Lee (2003) exemplificam o desenvolvimento de aplicaes webcom o uso da linguagem Java
e de tecnologias relacionadas a XML (eXtensible Markup Language). Para a camada de
apresentao eles citam o uso de: eXtensible Hyper Text Markup Language (XHTML),
Cascading Style Sheet (CSS), JavaScript, XML, XML Schema Document (XSD) e Java
Server Page(JSP). Para a camada de negcios citam o uso de JavaBean. E para a camada deacesso a dados, o MySQL como sistema de gerenciamento de banco de dados e o driver
Database Connectivity. Como servidor webeles incluem o Apache, JSP e Tomcat.
Como a tecnologia Java orientada a objetos e independente de plataforma,
caractersticas, como escalabilidade, portabilidade, reusabilidade, segurana, alto desempenho
e flexibilidade so inerentes as suas classes e componentes (PRAJAPATI; DABHI, 2009).
Servlet, componentes JavaBeans e EJB (Enterprise Java Beans), por exemplo, so classes
Java. A linguagem de script JSP usada para criar pginas web. Esses elementos so
utilizados para implementar o padro de projetos MVC na plataforma JavaEE.O Quadro 1 apresenta uma anlise de como os atributos de qualidade de
componentes so atendidos na plataforma JavaEE, considerando o padro de projetos MVC.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
16/51
15
Atributos Suporte para atributos de qualidade para componentes MVCModelo Viso Controle
Desempenho Compilador JIT (Just Int Time) para compilao rpida de byte code. Separathreadpara requisio de usurios. Componentes EJB locais para melhorardesempenho.
Extensibilidade Todos os componentes so orientados a objetos.Escalabilidade Componentes EJB so
acessveis por meio daviso/controle
Usa mscara URL(Uniform ResourceLocator)
Segurana paracomponentes Servletrealizada porprogramao
Robustez Componentes executam sob o controle de JVM (Java Virtual Machine), asclasses so carregadas e byte code verificado dinamicamente.
Flexibilidade Usa JNDI (JavaNaming and
Directory Interface)baseada emconfigurao de acessoa banco de dados
Usa pginas principais,incluso dearquivos/pginas.
Usa mtodos derequisio e resposta ecadeias de filtros.
Modularidade MdulosjarEJB Bibliotecas de tags Filtros.Reuso Suporte a objetos EJB
remotosBiblioteca de tagscustomizadas, inclusode pginas/arquivos elinks.
Usando mtodos derequisio e resposta ecadeias de filtros
Quadro 1 Suporte a tributos de qualidade em JavaEE utilizando MVC
Fonte: traduzido de Prajapati e Dabhi (2009, p. 1668).
2.2 Padro de projetos MVC
Uma aplicao JavaEE usa o modelo trs camadas: apresentao, negcio e
persistncia. Na camada de apresentao esto as pginas JSP, a camada de negcio contm a
modelagem do domnio do problema e a camada de persistncia contm as classes com
conhecimento sobre a persistncia de objetos no banco de dados.
O Model-View-Controller um padro de arquitetura que divide a aplicao em
controladores que tratam as entradas dos usurios, no modelo que prove as funcionalidades
principais e nas vises que apresentam as informaes para os usurios (SOUZA, 2008).
Em aplicaes complexas, que enviam uma srie de dados para o usurio, odesenvolvedor frequentemente necessita separar os dados (model) da interface (view).
Utilizando MVC, alteraes feitas na interface no afetaro a manipulao dos dados e estes
podero ser reorganizados sem alterar a interface do usurio. O MVC resolve esse problema
por meio da separao das tarefas de acesso aos dados e a lgica do negcio da apresentao e
da interao com o usurio. Isso feito por meio da insero de um componente entre modele
wiew. Esse componente o controller.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
17/51
16
O objetivo bsico do padro de projeto MVC separar dados ou lgica de negcios
(model) da interface do usurio (view) e do fluxo da aplicao (controller). Assim, uma
mesma lgica de negcios pode ser acessada e visualizada por interfaces distintas. Na
arquitetura MVC, a lgica de negcios (modelo) no sabe quantas nem quais interfaces com o
usurio esto exibindo seu estado. A Figura 2 apresenta um esquema de representao da
arquitetura MVC utilizando JSP para a camada de interface.
Figura 2 Arquitetura MVC com JSP
Fonte: traduzido de Khin (2009, p. 280).
Na Figura 2, os nmeros indicam (KHIN, 2009):
1) A requisio enviada pelo usurio por meio de um navegador web(o browser),para o controle que tratar essa requisio.
2) O controle (servlet) instancia o modelo, realiza as aes necessrias e faz asdevidas conexes com o JavaBean para obter as informaes solicitadas.
3) O controle envia a representao para a viso por meio das pginas JSP, com asrespostas conforme a solicitao do usurio.
4) A pgina JSP atualizada ou composta com informaes provenientes do modelo.5) A resposta enviada ao cliente por meio de uma pgina JSP, com todos os dados
que os mtodos produziram ao executar o cdigo do sistema.
De acordo com a representao da Figura 2, o servlet age como o controle e estencarregado do processamento das requisies e da criao de quaisquer beans ou objetos
usados pelo JSP, bem como decidir, dependendo das aes do usurio, quais pginas JSP
devem ser encaminhadas para atender a requisio solicitada. Neste modelo no h lgica de
processamento na pgina JSP. Esta simplesmente responsvel por recuperar qualquer objeto
ou beanque pode ter sido previamente criado pelo servlete extrair o contedo dinmico do
servletpara insero em modelos (templates) estticos. Essa abordagem resulta tipicamente
-
8/12/2019 Sistema Web Para Aluguel de Roupas
18/51
17
na separao da apresentao do contedo, deixando clara a delimitao dos papis e
responsabilidades dos programadores e dos projetistas das pginas (KHIN, 2009).
Na Figura 2, o browserrepresenta a viso definida em JSP e fornece a interao do
usurio com a viso elaborada em JSP. A viso envia informaes para o controlador
(controller) que altera o modelo. O modelo (model) representa a lgica de negcio e envia
eventos para a viso (view) indicando as mudanas.
As funcionalidades de cada uma das trs partes do modelo MVC, de acordo com
Bianchini (2008), Prajapati e Dabhi (2009) e Wang (2011) so:
a) Modelo - representa os dados da aplicao e a sua lgica de negcio que determina
o acesso aos dados. O modelo mantm o estado persistente dos dados e fornece ao controlador
a possibilidade de acesso s funcionalidades da aplicao. Essas funcionalidades so
encapsuladas pelo prprio modelo. O modelo notifica a viso que recebe solicitaes dealteraes e l o contedo do modelo para ser atualizada.
b) Viso - a camada de interface com o usurio. Nesta camada o usurio v o estado
do modelo e pode manipular a interface para ativar a lgica do negcio. A viso apresenta o
contedo de um modelo, coleta os dados para o modelo, especifica como esses dados devem
ser apresentados e encaminha para o controlador as aes do usurio.
c) Controle - o componente que define o comportamento da aplicao. Ele recebe e
interpreta as aes do usurio e as traduz para aes de atualizao do modelo que, por
exemplo, ativam processos da lgica de negcio ou alteram o estado do modelo. Ocontrolador se encarrega de selecionar a visualizao que ser mostrada a partir da interao
com o usurio, atualizando a viso apresentada ao usurio. O controlador transforma eventos
gerados pela interface em aes de negcio, alterando o modelo.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
19/51
18
3 MATERIAIS E MTODO
Neste captulo esto os materiais e o mtodo utilizados no desenvolvimento deste
trabalho. Os materiais se referem s tecnologias e s ferramentas utilizadas na modelagem e
na implementao do sistema e o mtodo apresenta a sequncia das principais atividades
realizadas para desenvolvimento do trabalho.
3.1 MATERIAIS
As seguintes ferramentas e tecnologias foram utilizadas para modelar e exemplificar a
implementao do sistema:
a) Astah* Community (ASTAH, 2012) para a documentao da modelagem que
baseada na UML (Unified Modeling Language).
b) Eclipse (ECLIPSE, 2012) IDE (Integrated Development Environment) para
desenvolvimento.
c) Linguagem Java (JAVA, 2012) para a implementao do sistema, complementada
por HTML por ser desenvolvimento para web.
d) JavaServer Faces 2.0 (JSF, 2012) para controle entre as classes Java e os JSPs.
e) PrimeFaces (PRIMEFACES, 2012) para desenvolvimento da interface.
d) Jquery (JQUERY, 2012) componentes para os scriptsda interface.
f) MySQL 5 (MYSQL, 2012) como banco de dados.
g) Hibernate (HIBERNATE, 2012) frameworkpara o mapeamento objeto relacional.
h) Apache Tomcat (TOMCAT, 2012) como continer/servidor web.
i) DeZign (DEZIGN, 2012) para modelagem do banco de dados.
O Quadro 2 apresenta as tecnologias utilizadas para modelagem, implementao e
execuo do sistema. Elas esto distribudas nas camadas de interface, aplicao (lgica de
negcio) e dados.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
20/51
19
Modelagem Implementao ExecuoInterface (viso) No realizada IDE Eclipse
JSF, PrimeFaces,JQuery, (JavaScript,HTML, CSS)
Navegador web comsuporte a HTML eJavaScript
Lgica de negcio(controle)
Astah Community IDE EclipseJava,
Apache Tomcat
Banco de dados(modelo)
DeZign for Databasev6
MySQLHibernate
MySQL AdminApache Tomcat
Quadro 2 Tecnologias utilizadas na definio, implementao e execuo do sistema
3.1.1 Astah Community
A ferramenta Astah Commuity a sucessora da ferramenta Jude Community. uma
ferramenta para modelagem de sistemas com suporte para a UML 2.1 (ASTAH, 2012). Os
diagramas podem ser impressos ou exportados como imagem.
3.1.2 IDE Eclipse
A IDE Eclipse (ECLIPSE, 2012) uma ferramenta de desenvolvimento de cdigo
aberto para a construo de programas de computador desenvolvida em Java pela empresa
IBM (International Business Machines). Com o uso deplugins, a IDE Eclipse pode ser usada
no somente para desenvolver em Java, mas tambm em, por exemplo, C, C++, PHP,
ColdFusion, Python e Flex.
3.1.3 Linguagem Java
Java uma linguagem de programao orientada a objetos, sendo assim, a maior parte
dos elementos de um programa Java so objetos (JAVA, 2012). Dentre os elementos que no
so objetos esto os tipos bsicos, como o inte ofloat. O cdigo organizado em classes, que
permite somente relacionamentos de herana simples entre si.
Chamadas a funes de acesso remoto (sockets) e os protocolos Internet mais comuns
(HTTP, FTP (File Transfer Protocol), Telnet, etc.) so suportados em Java, facilitando a
implementao de aplicativos baseados na arquitetura cliente/servidor e o desenvolvimento de
aplicaes web. Em aplicaes web, a camada de interao com o usurio geralmente
desenvolvida em tecnologias agregadas como, por exemplo, JSF (Java Server Faces), Flex ou
HTML.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
21/51
20
3.1.4 JavaServer Faces
JavaServer Faces (JSF) um frameworkpadro orientado a componentes de interface
com o usurio para a plataforma JavaEE e comumente referenciando como um framework
webbaseado em Java (JSF, 2012).
A tecnologia JavaServer Faces simplifica a construo de interfaces com o usurio
para aplicaes JavaServer. Isso porque os desenvolvedores podem construir aplicaes web
por meio da composio de componentes de interface com o usurio reusveis, conectar esses
componentes com um banco de dados e vincular os eventos gerados no cliente com os
manipuladores de eventos que esto no servidor (GLASSFISH, 2012).
3.1.5 PrimeFaces
PrimeFaces uma sute de componentes de cdigo fonte aberto para Java Server Faces
2.0 com um conjunto de mais de cem componentes JSF para o desenvolvimento de interfaces
ricas (PRIMEFACES, 2012). Dentre as caractersticas de PrimeFaces, destacam-se
(PRIMEFACES, 2012):
a) Possui um conjunto de componentes de interface grfica para implementao de
Rich Internet Application(RIA), como, por exemplo,DataTable,AutoComplete,HtmlEditore
Charts(grficos).b) No h necessidade de configurao XML extra e no h dependncias requeridas
de outras tecnologias.
c) A construo de Ajax baseada no padro JSF 2.0 Ajax APIs (Application
Programming Interface).
d) Possui um skinning Frameworkcom mais de 25 temas.
3.1.6 jQuery
jQuery (JQUERY, 2012) uma biblioteca JavaScript que simplifica a identificao de
tagsem documentos HTML, a manipulao de eventos, o desenvolvimento de animao e de
interaes Ajax, facilitando o desenvolvimento web. jQuery possui as seguintes caractersticas
(SILVA, 2010):
a) Uso de seletores CSS para localizar elementos da estrutura de marcao HTML da
pgina;
-
8/12/2019 Sistema Web Para Aluguel de Roupas
22/51
21
b) Arquitetura compatvel com instalao depluginse extenses em geral;
c) Indiferena s inconsistncias de renderizao entre navegadores;
d) Oferece interao implcita, isto , no h necessidade de construo de estruturas
de repetio para localizao de elementos no documento;
e) Admite programao encadeada, ou seja, cada mtodo retorna um objeto;
f) extensvel, permite a criao e a insero de novas funcionalidades em bibliotecas
existentes.
jQuery se destina a adicionar interatividade e dinamismo s pginas webe proporciona
facilidades como: adicionar efeitos visuais e animaes; acessar e manipular o DOM
(Document Object Model); buscar informaes no servidor sem necessidade de recarregar a
pgina; prover interatividade; alterar contedos; modificar apresentao e estilo; e simplificar
tarefas especficas de JavaScript.jQuery foi criada com a preocupao de ser uma biblioteca em conformidade com os
padres web, ou seja, compatvel com qualquer sistema operacional, navegador e com suporte
total para a biblioteca CSS3. Essa biblioteca foi criada e est em acordo com as diretrizes do
W3C (World Wide Web Consortium), mas cabe ao desenvolvedor escrever os scripts de
maneira a atender essa conformidade (SILVA, 2010).
3.1.7 MySQL
O MySQL um servidor e gerenciador de banco de dados relacional, que utiliza a
linguagem SQL (MYSQL, 2012). O MySQL possui licena como software livre e licena
paga. Atualmente esse servidor e gerenciador de banco de dados atende tambm aplicaes de
grande porte, embora tenha sido inicialmente projetado e desenvolvido para aplicaes de
pequeno porte.
3.1.8 Hibernate
O Hibernate (HIBERNATE, 2012) um framework para o mapeamento objeto-
relacional escrito na linguagem Java e tambm disponibilizado em .Net com o nome
NHibernate. Esse framework facilita o mapeamento dos atributos entre uma base de dados
relacional e o modelo de objetos de uma aplicao por meio do uso de arquivos XML.
O Hibernate visa minimizar a complexidade dos programas Java baseados no modelo
orientado a objeto que trabalham com banco de dados no modelo relacional. O Hibernate
-
8/12/2019 Sistema Web Para Aluguel de Roupas
23/51
22
transforma os dados tabulares de um banco de dados em um grafo de objetos definido pelo
desenvolvedor. Sua principal caracterstica a transformao das classes Java para tabelas de
dados e dos tipos de dados Java para tipos SQL (Structured Query Language). O Hibernate
gera as sentenas SQL, mantendo o programa portvel para qualquer banco de dados padro
SQL.
Em aplicaes construdas para serem executadas em servidores, o gerenciamento das
transaes realizado segundo o padro JTA (Java Transaction API). Nas aplicaes desktop,
o tratamento transacional realizado pelo driver JDBC (Java Database Connectivity).
Hibernate pode ser utilizado em aplicaes Java desktopou em aplicaes JavaEE, utilizando
servletou sesses EJB.
3.1.9 Apache Tomcat
O Apache Tomcat (TOMCAT, 2012) um continer servlet,ou seja, um servidor de
aplicaes utilizado para interpretar aplicaes escritas em Java para web. Ele no implementa
um continer EJB, mas abrange parte da especificao JEE com tecnologias como servlete
JSP e tecnologias de apoio relacionadas, como segurana, JNDIResources(API para acesso a
diretrios) e JDBCDataSources.
O Tomcat pode atuar tambm como servidor web, ou pode funcionar integrado a um
servidor web dedicado como o Apache ou o IIS (Internet Information Services). Comoservidor web, ele prov um servidor HTTP puramente em Java. O servidor inclui ferramentas
para configurao e gerenciamento, o que tambm pode ser feito editando-se manualmente
arquivos de configurao formatados em XML.
3.1.10 DeZign For Database v6
DeZign for Databases (DEZIGN, 2012) uma ferramenta para projeto de banco de
dados que auxilia a criar e a manter bancos de dados. Essa ferramenta utiliza diagramas deentidade e relacionamentos para projetar e gerar bases de dados graficamente e sentenas
SQLs.
Os principais recursos da ferramenta DeZign for Databases so (DEZIGN, 2012):
a) Modelar visualmente bancos de dados a modelagem feita graficamente por meio
de diagramas de entidades e relacionamentos. O projeto pode ser apresentado em nveis de
detalhes distintos.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
24/51
23
b) Gerar bancos de dados gerar scriptsDDL (Data Definition Language) completos
para criar o banco de dados ou ger-lo diretamente.
c) Importar base de dados derivar um modelo grfico a partir de um banco de dados
existente. A engenharia reversa feita diretamente a partir do banco de dados ou importada de
scriptsSQL.
d) Sincronizar modelos ou bancos de dados as funcionalidades de sincronizao e
comparao so possveis para todos os casos de uso: do modelo para a base de dados, do
modelo para script, da base de dados para o modelo, do scriptpara o modelo e do modelo
para o modelo.
3.2 MTODO
No mtodo utilizado para o desenvolvimento do sistema so consideradas as trs
fases anlise, projeto e implementao propostas por Rumbaugh, et al. (1997) e as fases de
anlise, projeto, codificao e testes do modelo sequencial linear de Pressman (2005).
Contudo, so acrescentadas outras denominaes e mesmo fases visando explicitar as
atividades realizadas. As fases definidas para o desenvolvimento do projeto foram:
a) Reviso da modelagem
A modelagem do sistema foi realizada como trabalho de estgio. Para o trabalho de
concluso de curso essa modelagem foi revisada e ajustes foram realizados. A reviso teve
como base os processos de negcio de uma empresa de confeco e locaoderoupas.
A definio dos requisitos foi baseada nas necessidades e interesse de uma empresa
(loja) que fabrica e aluga roupas. No foram realizadas entrevistas formais ou mesmo
questionrios porque o autor desse trabalho conhece os procedimentos dessa empresa. E
conversas informais foram realizadas com o proprietrio e com outros funcionrios.
b) Implementao
Para o trabalho de estgio, alm da modelagem, tambm foram implementados alguns
cadastros visando estudar as tecnologias que eram, basicamente, Java com VRaptor. No
trabalho de estgio foi utilizado o VRaptor para o controle entre as classes Java e os JSPs.
Contudo, no prosseguimento da implementao, como trabalho de concluso de curso, muitas
dificuldades foram encontradas com o uso do VRaptor. Assim, fez-se um levantamento de
outrosframeworksque poderiam ser utilizados. As pesquisas indicaram que o uso de JSF com
PrimeFaces, IceFaces ou RichFaces facilitaria a implementao.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
25/51
24
Optou-se pelo uso de PrimeFaces juntamente com JSF pelos vrios comentrios
favorveis postados em blogs tcnicos, ou seja, de programadores. Com o desenvolvimento
do trabalho percebeu-se que, efetivamente, o uso do PrimeFaces relativamente mais fcil, se
comparado com o VRaptor. Assim, os cadastros implementados como trabalho de estgio
foram completamente refeitos.
c) Testes
Em termos de testes eles estiveram centrados em verificar o cdigo e foram realizados
pelo prprio autor deste trabalho. Os testes de requisitos e mesmo de usurio sero realizados
posteriormente. Isso porque h interesse em implantar esse sistema em uma empresa de
confeco e aluguel de roupas. Essa empresa serviu de base para a definio dos requisitos.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
26/51
25
4 RESULTADO
Este captulo apresenta o sistema obtido como resultado da realizao deste trabalho.
4.1 APRESENTAO DO SISTEMA
O sistema gerenciar os aluguis de roupas da empresa. As roupas de aluguis podem
ser fabricadas sob medida, mas, neste caso, o valor do primeiro aluguel da roupa mais
elevado. As roupas para locao tambm podem ser ajustadas s medidas do cliente.
Depois de realizada uma locao, o cliente tem trs dias para cancelar o aluguel. Se a
locao for cancelada aps esse perodo ser cobrado 50% do valor da locao. As roupas
disponibilizadas para locao podero ser vendidas, caso o cliente deseje compr-las. No caso
de venda, h cobrana de juros se houver atraso no pagamento.
Ao ser efetuado um aluguel definido um valor de entrada. Esse valor destinado
para compra de materiais, quando o primeiro aluguel ou simplesmente como garantia. O
restante do pagamento realizado na entrega da pea ao cliente. A data de devoluo
informada pelo cliente. Se essa data ultrapassar um final de semana, o cliente dever pagar
mais um aluguel da roupa, podendo ser 30% a menos, caso a roupa no tenha sido reservada
para locao para outro cliente. Se na devoluo a roupa retornar com danos, como rasgos e
manchas impossveis de serem retiradas, ser cobrado o valor da roupa do cliente, aps ser
feita uma avaliao dos danos.
O sistema contar com um controle de estoque das roupas j confeccionadas, as roupas
tero referncia prpria e dados adicionais como cor e tamanho (um vestido curto ou longo,
por exemplo).
O controle financeiro da empresa ser tratado pelo sistema como entradas e sadas.
Contando com um cadastro de contas, boletos, tarifas e despesas em geral. O sistema emitir
um alerta (por email) para o cliente das contas a serem pagas com at uma semana de
antecedncia e o informar tambm sobre contas vencidas.
O sistema gerenciar tambm a devoluo de roupas danificadas que no tenham
conserto. Haver uma opo para dar baixa na roupa e tir-la do cadastro de aluguis. Porm
-
8/12/2019 Sistema Web Para Aluguel de Roupas
27/51
26
ficar gravado no sistema qual foi o cliente responsvel pelo dano, a data e o valor da roupa,
alm da identificao da roupa e do valor pago pelo cliente.
O acesso ao sistema ser feito por meio de login. O cadastro dos usurios realizado
pelo administrador do sistema.
4.2 MODELAGEM DO SISTEMA
A Figura 3 contm o diagrama de casos de uso definido para o sistema. Esse diagrama
tambm mostra que todas as operaes sero feitas aps o usurio estar logado no sistema.
Por meio desse diagrama possvel, tambm, verificar que o gerente da empresa herda todasas funcionalidades da classe funcionrio e assim tem acesso a todas as funcionalidades do
sistema.
Figura 3 Diagrama de casos de uso
-
8/12/2019 Sistema Web Para Aluguel de Roupas
28/51
27
A Figura 4 contm o diagrama de classes do sistema. Por meio desse diagrama
possvel verificar que a nica maneira de acesso ao sistema por login. O acesso realizado
por meio da classe login. Por questo de segurana somente podero fazer loginos usurios
que forem cadastrados pelo gerente da empresa usuria. O gerente tem permisses de
administrador do sistema.
Figura 4 Diagrama de classes do sistema
O sistema implementado realiza processos para chegar a resultados. Para exemplificaras funes representadas por esses processos foram utilizados diagramas de sequncia. A
Figura 5 contm o diagrama de sequncia do processo de aluguel de roupas.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
29/51
28
Figura 5 Diagrama de sequncia para o processo de aluguel de roupas
A Figura 6 ilustra o processo para efetuar loginno sistema. Se o loginest correto, o
sistema realiza o logine informa que o mesmo foi efetuado.
Figura 6 Diagrama de sequncia para login no sistema
Na Figura 7 est o processo de registro do cliente. Nesse processo, o cliente informa
os seus dados ao funcionrio que o cadastra no sistema. O sistema faz a verificao se o
cliente j est cadastrado, caso ele no esteja permitido o cadastro do mesmo.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
30/51
29
Figura 7 Diagrama de sequncia para cadastro de clientes
O diagrama da Figura 8 mostra o processo para cadastro de uma despesa. O gerente da
empresa foi tratado como um funcionrio neste diagrama, porm somente o gerente poder
cadastrar estas despesas. O sistema recebe os dados da despesa, verifica se ela j existe, caso
no exista permite o cadastro da mesma.
Figura 8 Diagrama de sequncia para cadastro de uma despesa
O diagrama da Figura 9 representa a venda de uma roupa. Nessa venda o cliente
informa a roupa e o cliente. Se o cliente no estiver cadastrado, o sistema solicita seu registro
e aps isso solicitada a data da compra da roupa para registrar a venda no sistema.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
31/51
30
Figura 9 Diagrama de sequncia para a venda de roupas
Na Figura 10 est o diagrama que representa a sequncia de aes para o registro deuma roupa. Para cadastrar uma roupa, o funcionrio informa os dados e o sistema verificar se
a mesma j est cadastrada. Caso no esteja, permitir fazer o cadastro da mesma, informando
se o cadastro foi efetuado com sucesso.
Figura 10 Diagrama de sequncia para cadastrar uma roupa no sistema
-
8/12/2019 Sistema Web Para Aluguel de Roupas
32/51
31
4.3 DESCRIO DO SISTEMA
Ao acessar o sistema apresentada uma tela de login. Nessa tela, o usurio informa
os dados para acesso que so o identificador do usurio (login) e a respectiva senha. A Figura
11 apresenta a tela de login.
Figura 11 Tela de login no sistema
Caso os dados informados para login estejam corretos, o sistema redirecionar o
usurio para a tela inicial do sistema (Figura 12). Nessa tela h um menu de opes que
apresentam as funcionalidades disponveis do sistema.
Figura 12 Tela inicial do sistema
-
8/12/2019 Sistema Web Para Aluguel de Roupas
33/51
32
A Figura 13 apresenta a forma de cadastro de usurio. Para isso basta estar logado
com um usurio administrador (Admin) e selecionar a opo Usurios - Cadastrar que o
sistema mostrar a tela de cadastro de usurio.
Figura 13 Cadastro de usurio
Nesta tela aps serem informados os dados do usurio e clicar em Salvar, o sistema
efetuar o processo de incluso do usurio no banco de dados. Caso este processo tenha sido
efetuado sem nenhum problema, o sistema redirecionar o contedo da pgina via Ajax para a
listagem de usurios cadastrados e ser emitida uma mensagem de que o usurio foi
cadastrado com sucesso, como mostra a Figura 14.
Figura 14 Tela de cadastro de usurios
-
8/12/2019 Sistema Web Para Aluguel de Roupas
34/51
33
A Figura 15 apresenta a forma de cadastro de aluguel. Para isso basta estar logado
com um usurio administrador (Admin) ou um usurio (User).
Figura 15 Cadastro de Aluguel
Para efetuar um aluguel (Figura 16) basta selecionar o cliente, digitando as iniciais
do nome. Se o cliente estiver cadastrado aparecer no auto-complete do campo as opes
para selecionar. Em seguida necessrio escolher a filial que o usurio deseja efetuar o
aluguel. Selecionados cliente e filial, clicando no cone com o smbolo + acima da tabela
podem ser adicionadas as peas para aluguel. Depois de adicionadas todas as peas desejadas,
basta clicar em Efetuar Aluguel que o sistema salvar o registro do aluguel.
Figura 16 Tela para efetuar aluguis
-
8/12/2019 Sistema Web Para Aluguel de Roupas
35/51
34
4.4 IMPLEMENTAO DO SISTEMA
As listagens de cdigo a seguir visam exemplificar a forma de implementao dosistema. O objetivo mostrar o uso das tecnologias empregadas na implementao do
sistema. A Listagem 1 apresenta o cdigo para login ao sistema. Na tela de login so
informados dados para acesso ao sistema.
Login
Bem Vindo, informe seu usurio e senha para entrar no sistema.
Listagem 1 Cdigo para login ao sistema
-
8/12/2019 Sistema Web Para Aluguel de Roupas
36/51
35
O cdigo da Listagem 1 est em HTML, com sua estrutura bsica head e body.
Todos os cdigos relacionados ao sistema so colocados na tagbody. O formulrio que est
denominado com a tagformnecessita de um actione um method,que por padro o POST,
para funcionar. Os campos Login e Senha usaro uma caixa de texto com a estrutura
HTML , para que o usurio informe os respectivos dados. No action
informado o caminho que o sistema acessar a pgina. O methodespecifica a forma que os
dados sero transferidos para o servidor, podendo ser post ou get. Neste projeto foi optado
pelo postporque os dados no so mostrados na URL. Desta forma, eles no ficam visveis
para o usurio e mantido o conceito de URL clean, que se baseia em manter a URL o mais
legvel possvel.
Na tag h uma varivel chamada messages. Essa varivel
interpretada pelo PrimeFaces, que carrega uma mensagem de retorno que includa navarivel FacesContextdo JSF na classe Managed Bean. Na tag do logine da
senha informado um value.Esse value informado para que o JSF vincule os dados com
umform(Listagem 2), que nada mais que uma classe com os getse setsdos atributos que a
pgina conversa com o Managed Bean, o real motivo do form existir e manter os dados
encapsulados noManaged Beanque contem os mtodos das conexes com o banco de dados
para capturar os dados da tabela User.
packagebr.com.usandoprimefaces.form.user;
importjava.io.Serializable;
importbr.com.usandoprimefaces.bean.user.User;publicclassUserForm extendsUser implementsSerializable{
/**
*
*/
privatestaticfinallongserialVersionUID = 1L;
publicUserForm() {
super();
}
}
Listagem 2 Classe Form
A Listagem 3 apresenta o cdigo responsvel por apanhar os dados informados na
tela do login e verificar no banco de dados se esses dados esto corretos, para assim ser
possvel o acesso ao sistema.
publicString login() {
User usuarioLogado = null;
-
8/12/2019 Sistema Web Para Aluguel de Roupas
37/51
36
try{
LoginDAO dao = newLoginDAOImpl();
usuarioLogado = dao.efetuaLogin(lf);
if(usuarioLogado != null) {
HttpSession session = (HttpSession) FacesContext
.getCurrentInstance().getExternalContext()
.getSession(false);session.setAttribute("usuarioLogado", usuarioLogado);
return"/protected/index.xhtml";
} else
FacesContext.getCurrentInstance().addMessage(null,
newFacesMessage("Usurio no autenticado!"));
}
} catch(Exception e) {
e.getMessage();
}
returnnull;
}
Listagem 3 Login ao sistema
No cdigo apresentado na Listagem 3, as informaes de loginso enviadas para o
mtodo que carregado da classe DAOImpl. Esse mtodo espera como parmetro um objeto
do tipo usere verifica se ele est correto. Caso o mtodo carregado retorne null, significa que
o loginou a senha informados so invlidos. E ento o mtodo redireciona o usurio para a
pgina do logindo sistema com uma mensagem de erro. Se as informaes de login esto
corretas, o usurio adicionado em uma session com o nome de usuarioLogado e
redirecionado para a pgina index, que a tela inicial do sistema. Nessa listagem de cdigo
tambm so efetuados os tratamentos de erros que podem ser gerados. Caso um erro ocorrauma mensagem adicionada na FacesContextdo JSF e o usurio redirecionado para a tela
de logindo sistema.
Na Listagem 4 est o cdigo que cria a queryde consulta para verificao dos dados
e retorna o usurio caso encontrado, ou uma mensagem de erro.
packagebr.com.usandoprimefaces.daoimpl.login;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.criterion.Restrictions;
importbr.com.usandoprimefaces.bean.user.User;importbr.com.usandoprimefaces.dao.login.LoginDAO;
importbr.com.usandoprimefaces.form.login.LoginForm;
importbr.com.usandoprimefaces.util.HibernateUtils;
publicclassLoginDAOImpl implementsLoginDAO {
/* Mtodo que verifica o usuario no banco */
@Override
publicUser efetuaLogin(LoginForm form) {
User usuario = null;
-
8/12/2019 Sistema Web Para Aluguel de Roupas
38/51
37
SessionFactory session = HibernateUtils.getSessionFactory();
Session sess = session.openSession();
try{
sess.beginTransaction();
usuario = (User) sess.createCriteria(User.class)
.add(Restrictions.eq("usuario", form.getUsuario()))
.add(Restrictions.eq("senha", form.getSenha()))
.uniqueResult();
sess.getTransaction().commit();
} catch(Exception ex) {
System.out.println("Erro ao conectar "+ ex.getMessage());
sess.close();
} finally{
if(sess != null) {
sess.close();
}
}
returnusuario;
}
}
Listagem 4 Cdigo para consulta de usurio ao banco de dados
No cdigo apresentado na Listagem 4 est o tratamento do mtodo que carrega a
classe DAOImpl.Nesse mtodo verificado se o usurio informado est correto. Primeiro,
utiliza-se uma varivel usuario do tipo User e uma SessionFactory do Hibernate para
pesquisar no banco de dados. Com a criteria query criado o cdigo SQL de consulta no
banco para verificar se os dados do usurio esto corretos. Em seus parmetros so passados
os dados recuperados da pgina que foram informados pelo usurio e adicionado em forma de
restrictions, e esperado um UniqueResultque ir retornar um resultado nico do banco dedados. Se atender essas condies, as excees so tratadas e o usuario retornado.
Na Listagem 5 apresentado o cdigo para capturar os dados informados pelo
usurio Administrador, para assim ser efetuado o cadastro do usurio.
Cadastro e Edio de Usurio
-
8/12/2019 Sistema Web Para Aluguel de Roupas
39/51
38
Listagem 5 Cdigo para cadastro de usurio
O cdigo constante na Listagem 5 segue o mesmo padro da Listagem 1 Cdigo
para loginao sistema. Para cada campo do cadastro de usurios foi utilizado um labelpara
informar o campo e um inputpara informar ao usurio e uma caixa de texto para informar os
dados. Essa caixa contm um nome e um valuepara ser utilizado peloManage Beane para
que esses dados possam ser utilizados na pgina JSF.
Na Listagem 6 informado o cdigo em que o usurio passado para a classe
responsvel por chamar os mtodos que salvam o usurio no banco de dados.
publicString salvar() {
UserDAO dao = newUserDAOImpl();
User user = newUser();
HttpSession session = (HttpSession) FacesContext.getCurrentInstance()
.getExternalContext().getSession(false);
User usuario = (User) session.getAttribute("usuarioLogado");
try{
// Funo usada para passar os dados do Object UserForm para o User
if(usuario.getRole().name().equalsIgnoreCase(Role.ADMIN.name())) {
-
8/12/2019 Sistema Web Para Aluguel de Roupas
40/51
-
8/12/2019 Sistema Web Para Aluguel de Roupas
41/51
40
Na Listagem 8 est o cdigo do mtodo para salvar o cadastro invocado.@Override
publicUser save(User user) {
SessionFactory session = HibernateUtils.getSessionFactory();
Session sess = session.openSession();try{
sess.beginTransaction();
sess.merge(user);
sess.getTransaction().commit();
returnuser;
} catch(HibernateException ex) {
System.out.println("Erro ao salvar objeto: "+
ex.getMessage());
sess.getTransaction().rollback();
sess.close();
} finally{
if(sess != null) {
sess.close();
}}
returnnull;
}
Listagem 8 Cdigo para salvar cadastro de usurio invocado
Na Listagem 8 est o mtodo saveinvocado na Listagem 6. Esse mtodo inicia uma
transao com o banco de dados por meio de uma SessionFactorydoHibernate. Na execuo
dessa transao atribuda a entidade User, que foi passada por parmetro na chamada do
mtodo. Aps isso utilizado o mergepara gravar no banco de dados. O mergeverifica se o
registro sendo salvo j est no banco. Se no estiver o mesmo cadastrado e realizado umcommitda transao, retornando o registro que foi cadastrado.
Na Listagem 9 apresentado o cdigo para capturar os dados informados pelo
usurio do sistema para ser efetuado o cadastro do aluguel.
A
-
8/12/2019 Sistema Web Para Aluguel de Roupas
42/51
41
A
-
8/12/2019 Sistema Web Para Aluguel de Roupas
43/51
42
E
-
8/12/2019 Sistema Web Para Aluguel de Roupas
44/51
43
Listagem 9 Cdigo para efetuar aluguel
No cdigo da Listagem 9, o actiondo boto Efetuar Aluguel na pgina JSF contm
oManaged beane o nome do mtodo que existe nele e responsvel para efetuar o aluguel.
Logo aps o mtodo ser invocado, o sistema verifica se o usurio conectado um
administrador (Admin) ou um usurio (User), caso seja executada uma funo da
BeanUtils.copyProperties que apanha os dados do forme os passa para o objeto aluguel. Em
seguida so atribudos valores aos campos e chamado o mtodo efetuarALuguel da classe
DAO que recebe como parmetro o aluguel que foi criado e populado. Em seguida
adicionada a mensagem de sucesso no cadastro e ento o sistema redireciona o usurio atravs
do return para a pgina de listagem de aluguis ativos e pendentes que o padro dos novos
aluguis.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
45/51
44
Na Listagem 10 informado o cdigo em que o aluguel passado para a classe
responsvel por chamar os mtodos que efetuam o aluguel no banco de dados.
A()
ADAO = ADAOI();EDAO E = EDAOI();
A = A();
H = (H) FC.C().EC().(); = () .A("L");
/** ADMIN E */
(.().().IC(.AD.()) .().().IC(.E.())) // F O AF // // AB.(, );
// .(());.().A(());.C(C);.E(E.BI(.E().I()));
.P();.D();
// E .A();
FC.C().M(,FM("E !!!"));"///AAP."; FC.C().M(,
FM(" !!!"));
(IAE ) FC.C().M(,FM("N : "+ .M())); (IE ) FC.C().M(,
-
8/12/2019 Sistema Web Para Aluguel de Roupas
46/51
45
FM("N : "+ .M()));
;
Listagem 10 Cdigo do Managed Bean para efetuar o aluguel e outras funcionalidades
No cdigo apresentado na Listagem 10 criada uma instncia de Aluguel para
armazenar os dados recebidos da pgina JSF, uma instncia do DAO para acessar os mtodos
existentes e uma HttpSession para obter o usurio logado.
O cdigo apresentado na Listagem 11 responsvel por chamar os mtodos para as
listagens, auto-complete do cliente, efetuao de aluguis, desativao de aluguis e
ativao de aluguis. No pacote DAO esto todas as interfaces do sistema. Na interface
apresentada na Listagem 11 invocado o mtodo efetuarALuguelpara salvar o aluguel no
banco de dados.
publicbr.com.usandoprimefaces.dao.aluguel;
importjava.util.List;
importbr.com.usandoprimefaces.bean.aluguel.Aluguel;importbr.com.usandoprimefaces.bean.cliente.Cliente;
publicinterfaceAluguelDAO {publicList listarAtivoPendente();publicList listarAtivoBaixado();publicList listarDesativados();publicList autoCompleteCliente(String strPesquisa);publicAluguel efetuarAluguel(Aluguel aluguel);publicvoiddesativarAluguel(Aluguel aluguel);publicvoidativarAluguel(Aluguel aluguel);publicvoidbaixarAluguel(Aluguel aluguel);
}Listagem 11 Cdigo para chamar mtodos de listagem, desativao, ativao e efetuao do aluguel eautocomplete do cliente
Na Listagem 12 representado o mtodo efetuarALuguel invocado na Listagem 11.
Esse mtodo inicia uma transao com o banco de dados por meio de uma SessionFactorydo
Hibernate. Na execuo dessa transao atribuda a entidade Aluguel, que foi passada por
parmetro na chamada do mtodo. Aps isso utilizado o mergepara gravar no banco de
dados. O mergeverifica se no local em que ser salvo o aluguel no banco no h registro. Se
no houver cadastra e faz um commitda transao, retornando o aluguel que foi cadastrado.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
47/51
46
@OA A(A )
F = H.F(); = .();
.();.();.().();; (HE ) ..("E : "+ .M());.().();.(); ( != ) .();;
Listagem 12 Cdigo para efetuar o aluguel no banco de dados
-
8/12/2019 Sistema Web Para Aluguel de Roupas
48/51
47
5 CONCLUSO
O objetivo deste trabalho de concluso de curso foi a implementao de um sistema
para aluguel e venda de roupa. A aplicao desenvolvida voltada para web, utilizando
recursos que caracterizam uma aplicao Internet como rica, as denominadas RIAs. Dessa
forma, o referencial terico do trabalho esteve centrado em conceitos relacionados a esse tipo
de aplicao e tecnologias para o seu desenvolvimento.
Como estgio, o autor deste trabalho fez uma primeira verso da modelagem e
implementou alguns cadastros. Com o decorrer do desenvolvimento, especialmente para
funcionalidades mais complexas, ou seja, no cadastros simples, muitas dificuldades foram
encontradas na implementao. Assim, decidiu-se buscar alternativas tecnolgicas para a
implementao do sistema. Optou-se pelo uso de JSF com PrimeFaces pelas muitas
referncias favorveis ao uso dessas tecnologias encontradas na Internet e pelas opinies de
programadores conhecidos. Desta forma, a codificao do sistema teve que ser reiniciada.
Com as mudanas realizadas em termos de tecnologias, para o desenvolvimento do
sistema foram utilizadas as tecnologias Java para web, com frameworks que facilitam o
desenvolvimento como o Hibernate para persistncia de dados no banco, Java Server Faces
2.0 que procura encapsular toda a API e PrimeFaces que disponibiliza uma grande facilidade
para implementao da interface utilizando Java Script, Ajax e Jquery, assim como suas
validaes.
Optou-se pelo desenvolvimento para webpelo fato da facilidade de interligar as filiais
e a matriz e por ter um nico banco de dados para toda a rede de lojas. Isso porque a empresa
que utilizar esse sistema composta por matriz e filiais. Assim, os gerentes podem fazer
consultas e anlises da sua loja sem precisar entrar em contato direto com outras pessoas,
agilizando o processo.
Com o decorrer do desenvolvimento deste projeto foi adquirido muito conhecimento
em Java para web e nas outras tecnologias utilizadas. A necessidade de pesquisar sobre astecnologias que foram utilizadas permitiu analisar os cdigos elaborados de outra maneira.
Verificou-se nessa busca pelo aprendizado que uma boa maneira de melhorar a elaborao do
prprio cdigo utilizar APIs, sem esquecer que importante o conhecimento dos conceitos
fundamentais. Dentre esses conceitos destacam-se os relacionados orientao a objetos e das
prprias linguagens, incluindo o Jquery e JavaScript.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
49/51
48
Com o desenvolvimento deste trabalho percebeu percebeu-se que muitas vezes
necessrio projetar o desenvolvimento do restante do sistema para que as interferncias entre
as funcionalidades sejam visualizadas e analisadas.
Como trabalhos futuros, destacam-se especialmente a implementao de todas as
funcionalidades definidas para o sistema, inclusive as que surgiro com a realizao dos
testes. Os testes de usurios sero realizados pela empresa que utilizar o sistema. Os testes
para verificar consistncia e validaes do sistema sero realizados pelo prprio autor deste
trabalho.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
50/51
49
REFERNCIAS
ASTAH. Astah community. Disponvel em: . Acesso em: 08 ago. 2012.
BIANCHINI, Sandro. Avaliao de mtodos de desenvolvimento de aplicaes web.Dissertao ICMC/USP, 2008.
CHUNG, Sam; LEE, Yun-Sik. Modeling web applications using Java and XML relatedtechnologies. Proceedings of the 36th Hawaii International Conference on System Sciences(HICSS03), 2003, p. 322-331.
DEZIGN. DeZign for databases. Disponvel em:. Acesso em: 25 ago. 2012.
ECLIPSE. Eclipse IDE. Disponvel em: . Acesso em: 05 set. 2012.
GAMMA, Erich; JOHNSON, Ralph; HELM, Richard; VLISSIDES, John. Padres deprojeto: solues reutilizveis de software orientado a objetos.Porto Alegre: Bookman,2000.
GLASSFISH. JavaServer Faces specification. Disponvel em: . Acesso em: 10 ago. 2012.
HIBERNATE, Hibernate - JBoss community. Disponvel em: .Acesso em: 02 ago. 2012.
JAVA. Java. Disponvel em: http://www.oracle.com/us/technologies/java/index.html. Acesso
em: 12 ago. 2012.JQUERY, Jquery. Disponvel em: . Acesso em: 12 ago. 2012.
JSF. JavaServer Faces. Disponvel em: . Acesso em: 20set. 2012.
KHIN, Su Su. Business processes solution with apache struts framework. 2009International Conference on Computer Engineering and Technology (ICCET). IEEEComputer Society, 2009, p. 280-282.
MIRANDA, Divino Gomes; SILVA, Marcos Alberto Lopes da. Novos recursos paradesenvolvimento na plataforma JavaEE 5 com a especificao EJB 3.0 , 2006. Disponvelem: http://www.linhadecodigo.com.br/Artigo.aspx?id=1085. Acesso em: 09 jul. 2012.
MYSQL. MySQL. Disponvel em: . Acesso em: 10 de set. 2012.
PRAJAPATI, Harshad B.; DABHI, Vipul K. High quality web-application development onJavaEE platform. IEEE International Advance Computing Conference (IACC 2009), 2009,p. 1664-1669.
PRESSMAN, Roger. Engenharia de software. Rio de Janeiro: MacGraw-Hill, 2005.
-
8/12/2019 Sistema Web Para Aluguel de Roupas
51/51
50
PRIMEFACES. PrimeFaces quickstart tutorial-part1. Disponvel em:http://java.dzone.com/articles/primefaces-quickstart-tutorial. Acesso em: 18 ago. 2012.
RUMBAUGH, James; BLAHA, Michael; PREMERLANI, William; EDDY, Frederick;LORENSEN, William. Modelagem e projetos baseados em objetos. Rio de Janeiro:
Campus, 1997.SILVA, Maurcio Samy. JQuery. A biblioteca do programador JavaScript. Novatec, 2010.
SOUZA, Vtor. Introduo ao desenvolvimento web em Java, 2008. Disponvel em:http://creativecommons.org/licenses/by-nc-sa/2.5/deed.pt. Acesso em: 7 set. 2011.
TOMCAT. Apache Tomcat. Disponvel em: . Acesso em: 12 set.2011.
WANG, Guanhua. Application of lightweight MVC-like structure in PHP. 2011International Conference on Business Management and Electronic Information (BMEI 2011),IEEE, 2011, p. 74-78.
top related