CENTRO UNIVERSITÁRIO ADVENTISTA DE SÃO PAULO CAMPUS ENGENHEIRO COELHO ARMANDO HENRIQUE PACANARO JAIRO DA SILVA LEITE TECNOLOGIA DE COMUNICAÇÃO CLIENTE SERVIDOR ENGENHEIRO COELHO 2012 ARMANDO HENRIQUE PACANARO JAIRO DA SILVA LEITE TECNOLOGIA DE COMUNICAÇÃO CLIENTE SERVIDOR Trabalho de Conclusão de Curso do Centro Universitário Adventista de São Paulo do curso de Tecnólogo em Sistema Para Internet, sob orientação do professor Me. Percival Lucena. ENGENHEIRO COELHO 2012 Dedicamos aos nossos familiares por nos ter apoiado e nos ter ajudado nos momentos que mais precisamos. E a Deus pela oportunidade de estar aqui nos formando. AGRADECIMENTOS • Agradecemos primeiramente a Deus pela oportunidade de estarmos nos formando e de estar tendo privilégio de estudarmos em uma instituição abençoada e com ensino de qualidade. • Também agradecemos aos professores por ter sempre nos apoiados. Também pelos nossos familiares que sempre ajudou-nos, obrigado a todos que nos apoiaram para que este trabalho fosse realizado. “Desejar é o primeiro passo para a conquista de nossos sonhos.” Autor desconhecido. RESUMO A popularização dos dispositivos móveis como smartphones e tablets e o amplo acesso a redes 3G tem criado um grande mercado para aplicações móveis. A evolução dos processadores presentes em aparelhos móveis permite executar os mesmos aplicativos presentes em computadores pessoais, exceto pela resolução diminuta do display. Um exemplo de uso de tecnologia mobile são os sistemas de autoatendimento. Algumas redes de cinema permitem comprar ingressos através de dispositivos móveis evitando filas e aumentando a satisfação dos clientes. Este trabalho visa atender a área de controle de acesso a estacionamentos, onde a disponibilidade de um serviço de autoatendimento pode aumentar a eficiência operacional da empresa. O projeto também visa facilitar o acesso dos clientes a estes estabelecimentos. O protótipo de aplicativo será um aplicativo Java Wi-Fi cliente servidor, baseado na linguagem Java e o framework ZK. Palavras Chave: Wi-Fi; Estacionamento; computação Móvel. ABSTRACT The popularity of mobile devices like smart phones and tablets and wide access to 3G and 4G networks has created a huge market for mobile applications. The evolution of cell phone processors allows running the same applications found in personal computers, except for the tiny display resolution. The new technology available and the new applications created allows immediate access to personal and business information enabling to search for information at any time any place quickly and effectively. Examples of use of mobile technology are self-service systems. Some movie theaters allow purchasing movie tickets via mobile devices avoiding queues and increasing customer satisfaction. This work aims to create a self-service solution to parking lots, increasing its operational efficiency. The project also aims to facilitate customers' access to such facilities. The prototype application is a Java App Wi-Fi client server based on Java and ZK framework. Keywords: Wi-Fi, Parking, Mobile. LISTA DE FIGURAS Figura Astah Community .................................................................................................. 20 Figura Servidor Glassfish .................................................................................................. 23 Figura Sistema de Controle de Rede WIFI .......................................................................... 25 Figura Diagrama de Classes .............................................................................................. 28 Figura Diagrama de Casos de Uso ..................................................................................... 29 Figura Banco de Dados Modelo (MER) .............................................................................. 28 Figura Telas de login......................................................................................................... 31 Figura Telas de Cadastro de login ...................................................................................... 31 Figura Telas do Administrador .......................................................................................... 32 Figura Telas de Cadastro do Cliente .................................................................................. 32 LISTA DE ABREVIATURAS, SIGLAS OU TERMOS OPERACIONAIS. UNASP-EC – Centro Universitário adventista de São Paulo Campus Engenheiro Coelho WI-FI – Wireless Fidelity App – Applications CSS - Cascading Style Sheets CPF - Cadastro de Pessoa Física OOP - Object Oriented Programming UML - Unified Modeling Language OMT - Object Modeling Technique JDBC - Java Database Connectivity RMI - Remote Method Invocation JMS - Java Message Service JMX - Java Management Extensions JSF - JavaServer Faces PHP - Personal Home Page DB – Banco de Dados Free – Livre, gratis. IrDA - Infrared Data Association WPAN - Wireless Personal Area Network WLAN - Wireless Local Area Network WMAN - Wireless Metropolitan Area Network TAGS – Linguagem de Marcação HTML - HyperText Markup Language EJB - Enterprise JavaBean J2EE - Java 2 Enterprise Edition IBM - International Business Machines HP - Hewlett-Packard Company JCP - Java Community ProcessSM XML - Extensible Markup Language PC – Computadores ZK – Programa Framework ZK URL - Uniform Resource Locator ID - Chave de Identificação 12 SUMÁRIO 1 INTRODUÇÃO .............................................................................................................. 12 1.1 Contextualizações Temáticas ............................................................................................ 12 1.2. Problemática da pesquisa................................................................................................. 13 1.3. Hipóteses .......................................................................................................................... 13 1.4 Objetivos ............................................................................................................................ 13 1.4.1. Objetivo geral ................................................................................................................ 14 1.4.2. Objetivos específicos ..................................................................................................... 14 2 METODOLOGIA ............................................................................................................ 15 2.1. Métodos............................................................................................................................ 15 2.2 Materiais ............................................................................................................................ 15 3. REVISÃO BIBLIOGRÁFICA ............................................................................................ 16 3.1 - Unified Modelling Language (UML)................................................................................. 16 3.2 - Java Enterprise Edition e Framework ZK ......................................................................... 17 3.3 HTML, CSS, AJAX. ............................................................................................................... 18 3.4 EJB Java beans ................................................................................................................... 18 3.5 Servidores de aplicação Glassfish ...................................................................................... 19 3.6 Banco de Dados e Modelagem .......................................................................................... 20 3.7 Conexões via Wireless ....................................................................................................... 21 4 DESENVOLVIMENTO .................................................................................................... 24 4.1 Arquitetura do Sistema ..................................................................................................... 24 4.2 Diagramas de Classes ........................................................................................................ 25 4.3 Diagramas de Casos de Uso ............................................................................................... 26 4.4 Mapeamentos de Banco (MER Modelo de Entidade de Relacionamento)....................... 27 4.5 Telas do Sistema ................................................................................................................ 28 5 CONCLUSÃO ................................................................................................................ 31 5.1 Trabalhos Futuros .............................................................................................................. 32 6 REFERÊNCIAS ............................................................................................................... 33 13 1 INTRODUÇÃO Hoje existem mais de um bilhão de telefones celulares no mundo e esse número cresce a cada dia. (EQUIPE DEVMEDIA, 2011). Dispositivos móveis com acesso a Internet como smartphones e tablets, permitem aos usuários manter-se informados a qualquer hora e em qualquer lugar. Os dispositivos mais modernos podem executar os mesmos aplicativos disponíveis em computadores, potencializando o desenvolvimento de aplicativos para fins de entretenimento, serviços e também de trabalho. (EQUIPE DEVMEDIA, 2011). Os aplicativos móveis costumam depender de informações armazenadas em servidores de aplicação. No caso de um sistema de autoatendimento o servidor é responsável por armazenar todas as transações do estabelecimento. Existem diversas linguagens e tecnologias maduras disponíveis para o desenvolvimento das aplicações mobile. O protótipo desta aplicação de estacionamento optou por utilizar um servidor Glassfish com a ferramenta framework ZK, adaptado ao desenvolvimento de clientes com seus aplicativos móveis de vários dispositivos, baseado em HTML 5. O projeto do protótipo envolveu um ciclo completo de desenvolvimento incluindo as fases de análise de requisitos, modelagem, implementação, testes e validação, integrando conceitos de programação, modelagem, bancos de dados e redes de computadores. Quais as vantagens de se usar o framework ZK? • Facilidade de utilização: simplicidade é um dos valores de base do ZK; • Independência de plataforma: O ZK Móbile possui vários componentes já de bandeja: listbox, listitem, textbox, image, label, command, datebox, decimalbox, intbox, frame e etc; • Facilita Incorporação de AJAX nas aplicações Web; • Dispensa conhecimentos em Java script; • Possui uma linguagem de marcação similar ao HTML de denominação ZUML. 1.1 Contextualizações Temáticas 14 Este trabalho visa criar uma solução móvel para o uso em estacionamento de veículo. O cliente chegará ao estabelecimento onde existirá uma rede Wifi disponível para o seu acesso. Os clientes cujo CPF estejam pré-cadastrados no sistema, poderão ser direcionados para a autenticação via usuário e senha, podendo assim acessar o sistema. A tela inicial do sistema exibirá o nome e os dados do devido cliente além do tempo gasto pelo cliente no estacionamento. O administrador do estacionamento poderá visualizar os automóveis cadastrados que se encontram no estacionamento, seu tempo de uso e valor devido. 1.2. Problemática da pesquisa A maioria dos estacionamentos possui apenas um funcionário para controlar a entrada dos veículos e o caixa. Nos horários de maior movimento, formam-se filas para atendimento e os novos clientes que chegam precisam esperar a entrada manual dos dados do veículo, acarretando perda de tempo e espera desnecessária para os clientes. 1.3. Hipóteses Estivemos observando os problemas enfrentados nos estacionamentos da região de campinas, são recorrentes de muitas carências: a principal delas, flexibilidade no atendimento. A entrada e saída de veículos do estabelecimento e o processo de pagamento são processos que mesmo automatizados tomam tempo dos clientes e funcionários. Uma solução de autoatendimento poderia ser mais eficiente provendo maior agilidade e menor custo. 1.4 Objetivos O protótipo do sistema desenvolvido pretende eliminar os problemas decorrentes do atendimento ao cliente em horários de pico e a facilidade de controle das operações do estacionamento. 15 1.4.1. Objetivo geral O objetivo deste trabalho é desenvolver um aplicativo cliente servidor que apresente soluções para tentar sanar as deficiências observadas no controle de acesso e do caixa nos estacionamentos. É esperada a melhoria dos trâmites no mecanismo de entrada e saída de fluxo caixa, evitando-se o excesso de notas e reduzindo-se o número de funcionários no local. O projeto visa auxiliar o autoatendimento do cliente, provendo velocidade na geração de notas e pagamentos pontuais ou mensais através de boletos. 1.4.2. Objetivos específicos • Auxiliar o autoatendimento, obtendo velocidade para emissão de notas para pagamentos; • Melhoria na entrada e saída dos clientes no estabelecimento; • Acesso do Cliente aos seus dados via Wi-Fi; • Ganho de tempo no estabelecimento (estacionamento). 16 2 METODOLOGIA A realização deste projeto segue a mesma metodologia empregada aos trabalhos científicos. O conhecimento cientifico não é algo acabado, permite que os contextos já interpretados e utilizados tenham jeitos e modos diferentes para cada pessoa ou estabelecimento conforme o projeto que o cliente pedirá. A modelagem de dados é a primeira etapa de um projeto que envolva banco de dados e tem como seu principal objetivo o desenvolvimento de um modelo que contenha entidades e relacionamentos, e que com isso seja possível representas as especificações das informações do negócio (OLIVEIRA, 2002). 2.1. Métodos O desenvolvimento seguiu um modelo simples do tipo cascata incluindo as fases de análise de requisitos, modelagem, implementação, testes e validação. 2.2 Materiais O projeto foi desenvolvido em 1 PC com sistema operacional Windows 7. O protótipo utilizou as ferramentas de modelagem Astah Community 6.6.3 e BrModelo 1.0.1. A IDE de programação escolhida foi o Eclipse Indigo Service Release 2. O desenvolvimento do banco de dados relacional utilizou o MYSQL 5.5.25, versão 2008. 17 3. REVISÃO BIBLIOGRÁFICA Auto Atendimento O Sistema de autoatendimento ajuda a melhorar a produtividade e o serviço ao usuário dos diversos softwares e com grande circulação. O sistema continuará funcionando automaticamente mesmo os estabelecimentos com seus servidores ficando off-line. (REVISTA 3M, 2009). Temos Exemplos de alguns tipos de site que são de autoatendimentos como Sky, Ingresso Fácil, MercadoLivre, Netshoes entre outros. Estes sites utilizam muito sua parte de autoatendimento, o Netshoes, por exemplo, destaca muito esta parte, sendo um site de loja virtual voltada para autoatendimento, pois ali o cliente pode ter certeza que a qualquer momento que ele entra no site e utilizar as ferramentas de compra isso estará disponível pelo atendimento automático. 3.1 Unified Modelling Language (UML) Segundo a OMG, a Unified Modeling Language é uma linguagem visual para especificação, construção e documentação de artefatos de software. O propósito da modelagem (criação de esquemas UML) é, principalmente, para entender e não para documentar. UML sozinha não resolve nada. Ela deve ser usada dentro de um processo de desenvolvimento, serve para desenvolver documentação do sistema. No projeto proposto, a utilização da UML tem como função descrever a arquitetura e requisitos do sistema. Foram desenvolvidos diagramas de classe e casos de uso utilizando a ferramenta Astah Comunitty 6.6.3. (Queiroz , Gilberto Ribeiro de; 2008). 18 Figura Astah Community 3.2 Java Enterprise Edition e Framework ZK Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90, por uma equipe de programadores chefiada por James Gosling, na empresa Sun Micros systems. Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para bytecodes executados por uma máquina virtual. (J2EE WEB SERVER OR CONTAINER, 2012). A arquitetura inovadora do ZK fornece os meios para maximizar completamente todas as tecnologias disponíveis tanto no lado do servidor quanto do cliente. Você pode acessar os widgets do lado do cliente diretamente se quiser. Esta seção esclarece alguns dos benefícios da arquitetura de fusão servidor + cliente do ZK. (J2EE WEB SERVER OR CONTAINER, 2012). O Zk tem sua facilidade de utilização, simplicidade é um dos valores de base do ZK, ele também facilita Incorporação de AJAX nas aplicações Web, dispensa conhecimentos em Java script. 19 3.3 HTML, CSS, AJAX. HTML é uma linguagem com a qual se definem as páginas web. Basicamente trata-se de um conjunto de etiquetas (tags) que servem para definir a forma na qual se apresentará o texto e outros elementos da página. O HTML é a linguagem base da internet. Foi criada para ser de fácil entendimento por seres humanos e também por máquinas, como por exemplo, o Google ou outros sistemas que percorrem a internet capturando informação. (MIGUEL ANGEL ALVAREZ, 2004). O Cascading Style Sheets (CSS) é uma "folha de estilo" composta por “camadas” e utilizada para definir a apresentação (aparência) em páginas da internet que adotam para o seu desenvolvimento linguagens de marcação (como XML, HTML). O CSS define como serão exibidos os elementos contidos no código de uma página da internet e sua maior vantagem é efetuar a separação entre o formato e o conteúdo de um documento. (ANA PAULA PEREIRA, 2009). Em meados dos anos 90, época na que Internet apenas assomava em nossas vidas cotidianas, e muitos eram os que ainda poderiam prescindir dela, era muito comum ouvir falar da linguagem Java. Nenhuma publicação especializada escapava ao fenômeno: as revistas se enchiam de artigos elogiando aquela tecnologia, e prevendo como guru, que, no futuro, a linguagem de programação que mudaria nossas vidas seria o homônimo de um café típico de uma desconhecida ilha de Indonésia. (SERVIWEB, 2008) 3.4 EJB Java beans EJB é um dos principais componentes da plataforma J2EE (Java 2 Enterprise Edition). Os principais objetivos da tecnologia EJB são fornecer um rápido e simplificado desenvolvimento de aplicações Java baseado em componentes distribuídos, transacionais, seguros e portáveis. Atualmente ele encontra-se na versão 3.1 e o seu futuro é definido pelo JCP. A grande mudança entre a versão 2.1 e a versão 3.0 é a introdução de anotações Java. 20 As anotações facilitam o desenvolvimento diminuindo a quantidade de código e o uso de arquivos de configuração XML. A plataforma J2EE providencia algumas facilidades dedicadas à camada de lógica de negócio e para o acesso a banco de dados. Através do EJB o programador utiliza a infraestrutura do servidor de aplicação voltada para o desenvolvimento de aplicações de missão crítica (de alta importância para a empresa) e de aplicações empresariais em geral. (BILL BURKE & RICHARD MONSON Titulo: Enterpirse Java Beans 3.0, Editora: Prentice-Hall ano: 2007) 3.5 Servidores de aplicação Glassfish As duas últimas décadas o conceito de rede transformou-se em uma alternativa prática de organização, possibilitando processos capazes de responder às demandas de flexibilidade, conectividade e descentralização das esferas contemporâneas de atuação e articulação social (FOROUZAN, 2006). Um programa Servidor é um software executado na máquina remota oferecendo serviços aos clientes. Quando este programa é inicializado este abre portas para que os clientes possam fazer suas solicitações ao servidor. O programa servidor funciona de forma passiva atendendo requisições de seus clientes (FOROUZAN, 2006). Glassfish é um servidor de aplicação open source disponibilizado pela Oracle para a plataforma Java EE. Glassfish é software livre, sendo duplamente licenciado sob duas licenças de software livre: Common Development and Distribution License (CDDL) e GNU General Public License (GPL) alterada exceção para classpath. Glassfish suporta todas as especificações da API Java EE, tais como JDBC, RMI, JavaMail, JMS, JMX etc. e define como coordená-las. Glassfish também suporta algumas especificações específicas para componente Java EE, como Enterprise JavaBeans, conectores, servlets, portlets, JSF e diversas tecnologias de web service. Isto permite que desenvolvedores criem aplicações corporativas portáveis, escaláveis e fácies de integrar com código legado. O servidor Glassfish utiliza uma variante do Apache Tomcat como Server, com um componente adicional chamado Grizzly. 21 Figura: Servidor com Glassfish. 3.6 Banco de Dados e Modelagem O MySQL foi criado na Suécia por David Axmark, Allan Larsson e Michael Widenius, que têm trabalhado juntos desde a década de 1980. O banco de dados MySQL tornou-se banco de dados do mundo open source mais popular por causa de seu alto desempenho, alta confiabilidade e facilidade de uso. É também o banco de dados de escolha para uma nova geração de aplicativos criados na pilha LAMP (Linux, Apache, MySQL, PHP / Perl / Python.) Muitas das organizações maiores e que mais cresce no mundo, incluindo Facebook, Google, Adobe, Alcatel Lucent . (Mysql oficial, 2007) Mysql é executado em mais de 20 plataformas, incluindo Linux, Windows, Mac, Solaris, IBM AIX, dando-lhe o tipo de flexibilidade que coloca você no controle. Se você é 22 novo na tecnologia de banco de dados ou um desenvolvedor experiente ou DBA, MySQL oferece uma gama abrangente de ferramentas de banco de dados, serviços de treinamento, suporte e consultoria para fazer sucesso. (Mysql oficial, 2007) 3.7 Conexões via Wireless As redes locais sem fio (WLANs) constituem-se como uma alternativa às redes convencionais com fio, fornecendo as mesmas funcionalidades, mas de forma flexível, de fácil configuração e com boa conectividade em áreas prediais ou de campus. Dependendo da tecnologia utilizada, rádio frequência ou infravermelho, e do receptor, as rede WLANs podem atingir distâncias de até 18 metros. Sendo assim, as WLANs combinam a mobilidade do usuário com a conectividade a velocidades elevadas de até 155 Mbps, em alguns casos. (ADAILTON J. S. SILVA, 1998). O funcionamento de uma rede wireless é bastante simples, é necessário apenas a utilização de um aparelho chamado Acess Point, assim, ele transforma os dados da rede em ondas de rádio e o transmite por meio de antenas. Quando nos referimos a aplicações, existem dois grupos: as chamadas aplicações indoor e aplicações outdoor. Assim sendo, se a rede precisa de comunicação entre dois ambientes, a comunicação é feita por uma aplicação outdoor. Diferentemente é o caso da aplicação indoor, que acontece dentro de um local. Da mesma forma que as redes movidas a cabo, as redes sem fio podem ser de dois tipos: LAN e WAN. (RAFAELA POZEBOON, 2012) Sistema de controle de rede Wifi 23 Existem 3 padrões principais para as Redes Wireless: 802.11a, 802.11b, 802.11g e a 802.11n. Cada padrão tem vantagens e desvantagens. Ao escolher um padrão, alcance, estrutura do local, custos, deve ser considerada. • 802.11a - Opera numa frequência de 5Ghz, o que oferece grande confiabilidade, por ser uma frequência menos utilizada. Fornece uma velocidade mais rápida que o padrão 802.11b (até 54 Mbps), porém com um alcance operacional menor. A partir de 30 metros há redução de velocidade, mas em alcances menores fica entre 22 e 40 Mbps. • 802.11b - é o tipo de rede wireless mais popular, com velocidade máxima de 11 Mbps e alcance máximo operacional de 100 metros em ambiente fechado e 180 metros em área aberta. A velocidade de acesso depende bastante da distância ao ponto de acesso. A 20 metros a velocidade gira em torno de 11 Mbps. Em alcances de 80 a 100 metros a velocidade pode cair para 1 Mbps ou menos, o que pode causar perda de sinal e lentidão na conexão. A frequência é de 2.4 Ghz, o que pode ocasionar problemas com telefones sem fio ou fornos de micro-ondas; • 802.11g - é uma linha de produtos de fabricantes de rede sem fio que combina conceitos das 802.11a e 802.11b, conhecida como tecnologia “G”, apresenta velocidade dos 802.11a, mas é totalmente compatível com redes 802.11b existentes. É mais barato que a tecnologia 802.11a, mas ainda usa a frequência de 2.4 Ghz, o que ainda pode ocasionar interferências de outros dispositivos. É uma ponte entre 802.11a e b ao mesmo tempo em que fornece uma versão melhorada para uma rede “b”. O alcance é o mesmo que 802.11b, não são compatíveis com o padrão “a”; • 802.11n - O IEEE aprovou oficialmente a versão final do padrão para redes sem fio 802.11n em 2009. Vários produtos 802.11n foram lançados no mercado antes de o padrão IEEE 802.11n ser oficialmente lançado, e estes foram projetados com base em um rascunho (draft) deste padrão. Há a possibilidade de equipamentos IEEE 802.11n que chegaram ao mercado antes do lançamento do padrão oficial ser incompatíveis com a sua versão final. Basicamente todos os equipamentos projetados com base no rascunho 2.0 serão compatíveis com a versão final do padrão 802.11n. Além disso, os equipamentos 802.11n possivelmente precisarão de um upgrade de firmware para ser 100% compatíveis com o novo padrão. As principais especificações técnicas do padrão 24 802.11n incluem: - Taxas de transferências disponíveis: de 65 Mbps a 300 Mbps. Método de transmissão: MIMO-OFDM - Faixa de frequência: 2,4 GHz e/ou 5 GHz. (RAFAELA POZEBOON, 2012). 25 4 DESENVOLVIMENTO Um exemplo de autoatendimento é um caixa eletrônico de bancos. 4.1 Arquitetura do Sistema O mecanismo wireless predominará por toda a área do estacionamento, gerado por um roteador, onde esse sinal será disponibilizado para cada dispositivo móvel dos clientes. Todos os dados estarão armazenados no servidor do próprio estacionamento, juntamente com o banco de dados utilizando (MYSQL), o servidor por sua vez utilizara o (GLASSFISH) que aceitará conexões HTTP dos browsers dos dispositivos móveis. Para as pessoas que não são cadastradas o acesso a pagina de login será visualizada normalmente, mas terá uma senha para o acesso ao sistema, por tanto quem for cliente obterá a senha para utilizá-la. O cadastro será efetuado com o administrador do sistema onde os campos necessários para o cadastro poderão ser inseridos obtendo o CPF como campo base para a identificação. O administrador será responsável por todas as movimentações dos clientes em termo de entrada no estacionamento e saída sendo assim função do próprio estabelecer, o controle por a placa e nome de cada cliente cadastrado no estacionamento. Após os clientes estarem no perímetro do estacionamento, estando seu cadastro efetuado poderá acessar a sua conta com seus dados e suas respectivas ações registradas no estabelecimento. 26 4.2 Diagramas de Classes A figura Diagrama de Classes apresenta funcionalidades de uso gerado do sistema a partir do programa Astah Community 6.6.3, onde as 3 classes como Cliente, administrador, login, onde cada classe tem seus atributos e seus métodos gerados na execução do sistema. Figura Diagrama de Classes. • Atributo: Guarda informações do estado do objeto, simbolizado pelo (-). • Método: A ação em que a classe será submetida, simbolizado pelo (+). Existem três classes que compõe o sistema de estacionamento, contendo assim a classe cliente com seus respectivos métodos e atributos: nome, idade, telefone, cidade e CPF. Os métodos cadastrar cliente e selecionar cliente será apresentado ao solicitar o cadastro. 27 Segunda classe pendências que fará relação direta com cliente, todos os clientes terão suas pendências contendo como atributo conta data da pendência, atraso, e tempo. E como métodos visualizar pendência e pendência por cliente. Terceira classe login que corresponde a todos os logins do cliente com o atributo: foreign key (chave estrangeira da linguegem de banco de dados) do cliente para identificar de quem é aquele login. 4.3 Diagramas de Casos de Uso A figura Diagrama de Casos de Uso apresenta funcionalidades de uso gerado do sistema a partir do programa Astah Community 6.6.3, onde o autor como Cliente e administrador obtém suas funcionalidades e suas atividades dentro do Sistema. Figura Diagrama de Casos de Uso. • Ator Cliente: Cliente do estacionamento • Ator Administrador: Administrador do estacionamento 28 o Caso de uso fazer login: O usuário digitará o CPF e senha; o Caso de uso Visualizar conta: Visualização da conta do cliente e suas respectivas informações; o Caso de uso cadastrar cliente: Inserir nome, idade, telefone, cidade, CPF. Logo após clicar em salvar para cadastrar o cliente; o Caso de uso Visualiza processos Hora data: Visualiza horas e datas de acesso ao estacionamento; o Caso de uso visualizar pendências: Visualiza todas as respectivas datas pendentes de cada cliente do estacionamento. 4.4 Mapeamentos de Banco (MER Modelo de Entidade de Relacionamento) O Mapeamento do banco (MER) contém três entidades: cliente, pendências e login ambos relacionados. O cliente contêm seus atributos sendo eles: nome, idade, telefone cidade e CPF. O cliente é relacionado com o login e as pendências, cada cliente possui várias pendências e cada pendência sendo de um só cliente, por sua vez o cliente poderá ter um login e cada login será respectivamente de um cliente. O id (Chave de identificação) do cliente será obtido pelo login e pendência, tendo assim para cada login seu respectivo cliente, e todas as pendências também seus respectivos clientes. Onde pendência pode ser de um ou mais cliente finalizando assim o ciclo de relacionamento entre: Cliente, Login e Pendências. FIGURA Banco de Dados Modelo MER 29 4.5 Telas do Sistema o Tela de login Usuário irá logar no sistema, obtendo dois campus para ele digitar login e senha que será o (cpf). Tela Cadastro Cadastro dos clientes colocando seus campos bases. FIGURA Telas do Sistema o Tela do Cadastro de Login Cadastro de senha e login sendo o a senha o CPF do cliente. FIGURA Telas do Sistema 30 o Tela do Administrador O administrador terá acesso a essa tela e o cliente a parte dela, só para visualização. Podendo assim o administrador cadastrar a hora de entrada e saída dos clientes, visualizará automaticamente os que estiverem com a entrada cadastrada. FIGURA Telas do Sistema 31 o Tela de cadastro de Cliente Cadastro de cliente, para os que já não são cadastrados, podendo também passar para tela de cadastro de senha e login. FIGURA Telas do Sistema 32 5 CONCLUSÃO Constatamos a evolução da comunicação móvel bem como o crescente aumento na utilização de dispositivos móveis em conjunto com sistemas distribuídos. A agilidade de um sistema móvel permite reduzir custos e melhorar a eficiência dos processos produtivos. As novas tecnologias apresentadas estão começando a ser aplicadas no dia a dia das pessoas e negócios. Existem grandes oportunidades para novos sistemas nesta área. É esperado que o protótipo desenvolvido contribuísse com uma solução útil e possa apresentar recursos que possam ser utilizadas também em outras áreas de negócio. Foram declarados alguns métodos de transmissão como Wi-Fi, foram apresentados métodos de rede como um Servidor que ficará locado dentro do estabelecimento. E apresentamos a evolução da tecnologia mobile até o presente momento, enfatizando que estão saindo várias linguagens de programação para sistemas móbile, mas o Java hoje tem sido a mais utilizada, porém no nosso trabalho utilizou também o Framework ZK. Com esse sistema o cliente pode fazer uso da tecnologia que ele tem disponível em suas mãos. Com um simples aparelho celular ou outro tipo de tecnologia disponível obtendo a conexão Wi-Fi ele pode acessar sua conta e desfrutar do sistema obtendo o horário de entrada e saída e suas consultas básicas. Chegamos à conclusão definitiva de que nossas experiências adquiridas durante o processo de desenvolvimento deste trabalho será de fundamental uso para a vida social e a satisfação dos clientes, pois podendo ainda atribuir mais coisas ao sistema. 33 5.1 Trabalhos Futuros Como opção e observação, para trabalhos futuros podem-se desenvolver meios de pagamentos por cartão ou mesmo um estacionamento que tenha sensores para as vagas de alocadas no estabelecimento. Os sensores podem acusar se a vaga no local estando verde ou não havendo vaga no local ficar em vermelho. Existem variações de trabalhos futuros e com a tecnologia só aumentando o crescimento de ideias vão cada vez mais crescendo e com isso os estabelecimentos vão ganhando cada vez mais. Podem ainda ser ainda a parte de segurando de dados e do estacionamento, obtendo mais segurança para o local e inibindo roubos de veiculou ate de dados do Servidor. Um exemplo são shoppings aderindo cada vez mais às tecnologias apresentadas de estacionamentos, o shopping Morumbi-SP aderiu um sistema de controle de estacionamento via sensores, assim podendo avisar aos clientes quando há vaga no local com uma luz verde visualizada na parede enfrente à vaga. 34 6 REFERÊNCIAS • ANA PAULA PEREIRA, Disponível em: O que é CSS? <http://www.tecmundo.com.br/programacao/2705-o-que-e-css-.htm>. Acesso em: 1 maio 2012. • BURKE, Bill; MONSON, Richard. Enterprise JavaBeans 3.0. 5ª Ed.: 2007. • CAMARGO, Vicente Paulo de. Ria com Framework ZK. 1ª Ed.: 2010. • EQUIPE DEVMEDIA. Título: DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR – JAVA 2 MICRO Disponível em:< http://www.devmedia.com.br/desenvolvimento-deaplicativos-para-celular-java-2-micro/5166> Data de acesso: 24/05/2012. • Gilberto Ribeiro de Queiroz Disponível em: UML visão Geral <http://www.dpi.inpe.br/~gribeiro/apresentacoes/uml_2008_02_29.pdf>. Acesso em: 09 junho 2012. • Título: J2EE WEB SERVER OR CONTAINER, Disponível em: www.service- architecture.com. Página visitada em 27 de maio de 2012. • MIGUEL ANGEL ALVAREZ, 2004) Disponível em: O que é HTML? <http://www.criarweb.com/artigos/7.php>. Acesso em: 10 junho 2012. 35 • Mysql Disponível em: <http://www.mysql.com/why-mysql/>. Acesso em: 12 maio 2012. • RAFAELA POZEBOON: Disponível em:< http://www.oficinadanet.com.br/artigo/redes/o-que-e-wireless-e-como-funciona >. Acesso em: 8 abril 2012. • RAFAELA REVISTA 3M, Sistema de Autoatendimento 3M - Série C Disponível Data. • SERVIWEB, 2008 Disponível em: <http://www.criarweb.com/artigos/o-que-e- ajax.html>. Acesso em: 1 maio 2012. • SIERRA, Kathy; BATES, Bert. Head First Java. 2ª Ed. Final.