56
FACULDADE DO LITORAL SUL PAULISTA FALS TARDELLI AGUIAR MOURA APLICATIVO WEB / MOBILE PARA CONTROLE DE DESPESAS PESSOAIS PRAIA GRANDE 2013

TCC Aplicativo Web Mobile Controle Despesas Pessoais

Embed Size (px)

DESCRIPTION

Esta pesquisa tem como objetivo desenvolver um aplicativo web / mobile para o gerenciamento das despesas pessoais utilizando a Tecnologia Java, o módulo mobile funciona como uma extensão do módulo completo web, ambos comunicam-se através de um Web Service, permitindo assim que o usuário possa ter acesso as suas informações financeiras ou lançar despesas de modo rápido e simplificado através de dispositivos móveis ou de modo mais detalhado através dos navegadores de internet, centralizando as informações em um Servidor de Banco de Dados Web.Palavras Chave: Java, Aplicativo Controle de Despesas Mobile / Web.This research aims to develop a web / mobile application for managing personal expenses, using Java technology. The mobile module works as an extension of the complete module web, both communicate through a Web Service, enabling the user to access your financial information or launch expenses in a quickly and simplified way through mobile devices or in more detailed way through internet browsers, centralizing the information in a Web Server Database.Keywords: Java, Control Expenses Mobile Application, Web

Citation preview

Page 1: TCC Aplicativo Web Mobile Controle Despesas Pessoais

FACULDADE DO LITORAL SUL PAULISTA – FALS

TARDELLI AGUIAR MOURA

APLICATIVO WEB / MOBILE PARA CONTROLE DE DESPESAS

PESSOAIS

PRAIA GRANDE

2013

Page 2: TCC Aplicativo Web Mobile Controle Despesas Pessoais

TARDELLI AGUIAR MOURA

APLICATIVO WEB / MOBILE PARA CONTROLE DE DESPESAS

PESSOAIS

Monografia apresentada como exigência para

obtenção do grau de Bacharelado em Sistemas

de Informação da FALS – Faculdade do Litoral

Sul Paulista.

Professor orientador pleiteado: Profº Caio Sales

Praia Grande

2013

Page 3: TCC Aplicativo Web Mobile Controle Despesas Pessoais

DEDICATÓRIA

A minha família com muita gratidão pelo seu

incansável apoio ao longo do período de

elaboração deste trabalho.

Page 4: TCC Aplicativo Web Mobile Controle Despesas Pessoais

AGRADECIMENTOS

Primeiramente a Deus, pela oportunidade e chance de realizar um sonho.

A minha família e a minha namorada Débora pelo apoio e motivação nas

horas mais difíceis.

Ao meu professor orientador Caio Sales, por todos os conselhos e ajuda

durante cada fase do projeto.

Aos professores da faculdade que com ética, amor e dedicação nos ensinam

não só uma profissão, nos ensinam também a sermos pessoas melhores.

Aos amigos e colegas de faculdade, pois foram 4 anos compartilhando

histórias, vitórias e algumas derrotas.

Page 5: TCC Aplicativo Web Mobile Controle Despesas Pessoais

A mente que se abre a uma nova ideia

jamais volta ao seu tamanho original.

(Albert Einsten)

Page 6: TCC Aplicativo Web Mobile Controle Despesas Pessoais

RESUMO

Esta pesquisa tem como objetivo desenvolver um aplicativo web / mobile para o

gerenciamento das despesas pessoais utilizando a Tecnologia Java, o módulo

mobile funciona como uma extensão do módulo completo web, ambos comunicam-

se através de um Web Service, permitindo assim que o usuário possa ter acesso as

suas informações financeiras ou lançar despesas de modo rápido e simplificado

através de dispositivos móveis ou de modo mais detalhado através dos navegadores

de internet, centralizando as informações em um Servidor de Banco de Dados Web.

Palavras Chave: Java, Aplicativo Controle de Despesas Mobile / Web.

Page 7: TCC Aplicativo Web Mobile Controle Despesas Pessoais

ABSTRACT

This research aims to develop a web / mobile application for managing personal

expenses, using Java technology. The mobile module works as an extension of the

complete module web, both communicate through a Web Service, enabling the user

to access your financial information or launch expenses in a quickly and simplified

way through mobile devices or in more detailed way through internet browsers,

centralizing the information in a Web Server Database.

Keywords: Java, Control Expenses Mobile Application, Web

Page 8: TCC Aplicativo Web Mobile Controle Despesas Pessoais

LISTA DE FIGURAS

FIGURA 1 – PLATAFORMAS JAVA .......................................................................... 17

FIGURA 2 - JAVA VIRTUAL MACHINE ..................................................................... 18

FIGURA 3 – ARQUITETURA JAVA EE ..................................................................... 19

FIGURA 4 - EXEMPLO DIAGRAMA FLUXO DO CICLO DE VIDA JSF...................... 20

FIGURA 5 - CAMADAS DA ARQUITETURA ANDROID ............................................ 21

FIGURA 6 - DALVIK VM ............................................................................................ 22

FIGURA 7 - ARQUITETURA SIMPLIFICADA DO HIBERNATE ................................. 24

FIGURA 8 - EXEMPLO MOR HIBERNATE ................................................................ 24

FIGURA 9 - EXEMPLO REQUISIÇÃO E RESPOSTA WEBSERVICE ....................... 25

FIGURA 10 - ESTRUTURA DE UMA MENSAGEM SOAP ......................................... 26

FIGURA 11 - CASO DE USO REALIZAR LOGIN ....................................................... 27

FIGURA 12 - CASO DE USO REALIZAR CADASTRO .............................................. 28

FIGURA 13 - CASO DE USO MANTER CONTAS ..................................................... 29

FIGURA 14 - CASO DE USO MANTER CATEGORIAS ............................................. 30

FIGURA 15 - CASO DE USO MANTER LANÇAMENTOS ......................................... 31

FIGURA 16 - CASO DE USO REALIZAR LOGIN MOBILE ........................................ 32

FIGURA 17 - CASO DE USO REALIZAR CADASTRO MOBILE ................................ 33

FIGURA 18 - CASO DE USO LISTAR LANÇAMENTOS MOBILE ............................. 33

FIGURA 19 - CASO DE USO MANTER LANÇAMENTOS MOBILE ........................... 34

FIGURA 20 - CASO DE USO MOSTRAR SALDOS ................................................... 35

FIGURA 21 - DER - DIAGRAMA DE ENTIDADE RELACIONAL ................................ 36

Page 9: TCC Aplicativo Web Mobile Controle Despesas Pessoais

LISTA DE QUADROS

QUADRO 1 - EXEMPLO ENVELOPE SOAP ............................................................. 26

QUADRO 2 - CHAMADA DE MÉTODO DA CAMADA WEB SERVICE ...................... 37

Page 10: TCC Aplicativo Web Mobile Controle Despesas Pessoais

LISTA DE IMAGENS

IMAGEM 1 - CHAMADA CASO USO REALIZAR CADASTRO WEB ......................... 38

IMAGEM 2 - CADASTRO DE USUÁRIO WEB ........................................................... 39

IMAGEM 3 - REALIZAR LOGIN WEB ........................................................................ 39

IMAGEM 4 - PÁGINA PRINCIPAL WEB .................................................................... 40

IMAGEM 5 - PÁGINA CADASTRO DE CONTAS ....................................................... 41

IMAGEM 6 - PÁGINA CATEGORIAS ........................................................................ 42

IMAGEM 7 - PÁGINA PRINCIPAL WEB .................................................................... 43

IMAGEM 8 - LOGIN MOBILE ..................................................................................... 44

IMAGEM 9 - ERRO LOGIN MOBILE .......................................................................... 45

IMAGEM 10 - FORMULÁRIO DE CADASTRO NO NAVEGADOR MOBILE .............. 46

IMAGEM 11 - LISTAR LANÇAMENTOS MOBILE ..................................................... 47

IMAGEM 12 - MENU CONTEXTO ............................................................................. 48

IMAGEM 13 - NOVO LANÇAMENTO MOBILE .......................................................... 49

IMAGEM 14 - POP-UP REMOVER OU EDITAR ........................................................ 49

IMAGEM 15 - EDITAR LANÇAMENTO MOBILE ....................................................... 50

IMAGEM 16 - REMOVER LANÇAMENTO MOBILE .................................................. 51

IMAGEM 17 - MOSTRAR SALDOS MOBILE ............................................................. 52

Page 11: TCC Aplicativo Web Mobile Controle Despesas Pessoais

SUMÁRIO

1. INTRODUÇÃO ................................................................................................... 12

2. CONCEITOS ...................................................................................................... 15

3. FERRAMENTAS E TECNOLOGIAS PARA DESENVOLVIMENTO .................. 16

3.1. JAVA ........................................................................................................... 16

3.1.1. JVM – JAVA VIRTUAL MACHINE ....................................................... 18

3.1.2. JAVA ENTERPRISE EDITION (JAVA EE) .......................................... 18

3.2. JAVA SERVER FACES (JSF) ..................................................................... 19

3.3. PLATAFORMA ANDROID .......................................................................... 21

3.3.1. JAVA PARA ANDROID ........................................................................ 22

3.4. TOMCAT - SERVIDOR DE APLICAÇÃO .................................................... 23

3.5. BANCO DE DADOS MySQL ....................................................................... 23

3.6. HIBERNATE ............................................................................................... 23

3.7. WEB SERVICE ........................................................................................... 25

3.7.1. PROTOCOLO SOAP ........................................................................... 25

4. DESENVOLVIMENTO E METODOLOGIA ........................................................ 27

4.1. ARTEFATOS – CASOS DE USO DO MÓDULO WEB ............................... 27

4.2. ARTEFATOS – CASOS DE USO DO MÓDULO MOBILE .......................... 32

4.3. MODELAGEM DO BANCO DE DADOS RELACIONAL ............................. 36

4.4. INTEGRAÇÃO DOS MÓDULOS WEB / MOBILE ....................................... 37

5. VALIDAÇÃO DO PROJETO PROPOSTO ......................................................... 38

5.1. CADASTRO DE USUÁRIOS - WEB ........................................................... 38

5.2. REALIZAR LOGIN - WEB ........................................................................... 39

5.3. CADASTRO DE CONTAS - WEB ............................................................... 41

5.4. CATEGORIAS - WEB ................................................................................. 42

5.5. LANÇAMENTOS - WEB ............................................................................. 43

5.6. REALIZAR LOGIN – MOBILE ..................................................................... 44

5.7. REALIZAR CADASTRO – MOBILE ............................................................ 45

5.8. LISTAR LANÇAMENTOS – MOBILE .......................................................... 46

5.9. INCLUIR LANÇAMENTO – MOBILE .......................................................... 47

5.10. REMOVER OU EDITAR UM LANÇAMENTO - MOBILE ............................ 49

5.11. MOSTRAR SALDOS - MOBILE .................................................................. 51

5.12. AMBIENTE DE DESENVOLVIMENTO / TESTES ...................................... 52

6. CONCLUSÃO .................................................................................................... 53

7. REFERENCIAS BIBLIOGRÁFICAS ................................................................... 54

Page 12: TCC Aplicativo Web Mobile Controle Despesas Pessoais

12

1. INTRODUÇÃO

O conteúdo desse trabalho apresenta o desenvolvimento de um aplicativo

para gerenciamento das despesas pessoais, um aplicativo simples que possa ser

utilizado por qualquer pessoa em seu computador e/ou dispositivo móvel.

Com um crescente número de usuários de dispositivos móveis (tablets,

smartphones, netbooks), criou-se uma oportunidade para um aplicativo diferenciado

onde o usuário poderá controlar suas despesas diárias diretamente em seu

dispositivo móvel de modo simples e rápido, podendo assim aproveitar

oportunidades imediatas de promoções e planejar gastos, poderá ainda acessar

essas informações detalhadamente em seu computador pessoal podendo gerar

diversos tipos de relatórios.

O aplicativo estará disponível ao público de forma gratuita e seu uso visa

atender usuários comuns, que não precisam de um conhecimento muito amplo das

burocracias e complexidades comumente encontradas em outros sistemas

financeiros.

A partir de casos reais de usuários de ferramentas para controle de despesas

pessoais (exemplo: planilhas, softwares, aplicativos etc.) e pessoas que jamais

utilizaram algum método para gerenciamento dos gastos, identificou-se que seria

interessante uma ferramenta simples onde o usuário pudesse obter informações

atualizadas sobre seus gastos diários, semanais e mensais em seu próprio

dispositivo móvel ou qualquer computador com acesso a Internet e a qualquer

momento, podendo auxiliá-lo na escolha do melhor momento para realizar uma

compra ou até mesmo aproveitar uma promoção a cerca das oportunidades

imediatas comumente encontradas em nosso dia-a-dia.

Surgiu então a ideia do desenvolvimento de um aplicativo para as plataformas

Mobile e Web, compatível com diversos dispositivos móveis e navegadores de

internet com objetivo de gerenciar as despesas diárias do usuário.

O objetivo geral deste trabalho é, utilizando tecnologias de desenvolvimento

de sistemas de informação para navegadores web e dispositivos móveis,

desenvolver um aplicativo web / mobile para gerenciamento de despesas pessoais

compatível com os navegadores web atuais e dispositivos móveis encontrados no

mercado, fazer com que o módulo mobile do aplicativo seja uma extensão do

Page 13: TCC Aplicativo Web Mobile Controle Despesas Pessoais

13

módulo web, possibilitando dessa forma que haja uma centralização dos dados do

usuário em um Servidor, agregando maior precisão e controle das informações

tornando a interação dos módulos mobile, web e usuário mais dinâmica.

Como objetivos específicos, desenvolver um sistema seguro onde o usuário

possa administrar seus gastos diários de maneira simples, fácil e em tempo real,

centralizar as informações do usuário em um servidor e disponibiliza-las de maneira

simples e interativa para o usuário em diferentes plataformas, testar e implementar a

ferramenta afim de avaliar a usabilidade da mesma permitindo ter uma estimativa

dos resultados esperados, detalhar funcionamento do aplicativo através de

instruções.

Este trabalho se justifica na pesquisa de campo (PESQUISA, 2013), foram

entrevistadas mais de 120 pessoas, abaixo os dados mais relevantes da pesquisa:

Dos entrevistados apenas 4% não possuem acesso à internet em suas casas.

Dos entrevistados apenas 9% não possuem acesso à internet em seus

dispositivos móveis.

Grande parte dos entrevistados que tem o costume de gerenciar seus gastos

mensais utilizam planilhas e cerca de 6% utilizam softwares ou aplicativos.

Apenas 23% dos entrevistados que utilizam alguma ferramenta para gerenciar

seus gastos estão completamente satisfeitos.

As questões 6 e 7 fazem referencia ao nosso projeto para gestão financeira, e

ficou comprovado que o projeto é viável e teria boa aceitação entre os

entrevistados.

Os entrevistados foram questionados sobre o que mais levariam em

consideração para começar a utilizar alguma ferramenta de gestão para seus

gastos e 9% optaram pela simplicidade do aplicativo, e 61% optaram pela

mobilidade do aplicativo.

Questionados sobre a ideia de um aplicativo simples e gratuito onde possam

gerenciar suas finanças pessoais de qualquer lugar, 55% respondeu que

seria uma ótima opção para gerenciar os gastos e com certeza iriam utilizar,

outros 42% responderam que seria uma ótima opção e talvez pudessem

utilizar. Apenas 3% responderam que o aplicativo não seria útil.

Page 14: TCC Aplicativo Web Mobile Controle Despesas Pessoais

14

Levando em consideração os resultados gerados pela pesquisa de campo

(RESPOSTAS, 2013) e o aumento significativo da utilização de smartphones e

tablets nos últimos anos (CAMPI, 2013), justifica-se o desenvolvimento do aplicativo

para as plataformas web e mobile com objetivo de auxiliar o usuário no controle e

gestão de seus gastos em um dia-a-dia cada vez mais corrido e de uma geração que

necessita consumir informações em tempo real, nos capítulos à frente serão

abordados os detalhes do desenvolvimento e funcionamento do Aplicativo Web /

Mobile para Controle de Despesas Pessoais batizado com o nome de “Gasto Seguro

App”.

Page 15: TCC Aplicativo Web Mobile Controle Despesas Pessoais

15

2. CONCEITOS

O Aplicativo Web / Mobile para Controle de Despesas Pessoais Gasto Seguro

App permite que o usuário cadastre-se informando seu e-mail e senha no módulo

Web do Sistema que será disponibilizado em um website ou no próprio aplicativo

mobile, após o cadastro o usuário terá acesso a todas as funcionalidades para

gestão dos seus gastos pessoais como inclusão, alteração, remoção de um

lançamento, impressão e exportação de alguns relatórios referentes à gestão de

seus gastos, o Aplicativo Mobile que é o módulo portátil será totalmente integrado ao

módulo Web através da comunicação feita por um Web Service (que será detalhado

no próximo capítulo), no módulo Mobile o usuário devera informar seu e-mail e

senha já cadastrados ou poderá se cadastrar selecionando a opção “Registrar-se”,

na primeira tela ele irá visualizar um resumo de seus gastos durante o mês e

opções para lançar novos gastos.

Será utilizada no módulo Web a linguagem Java juntamente com Framework

JavaServer Faces (JSF) e Banco de Dados MySQL Server, no módulo Mobile

também será utilizada a linguagem Java para consumir um Web Service SOAP

(ferramentas e tecnologias serão detalhados no próximo capítulo).

Page 16: TCC Aplicativo Web Mobile Controle Despesas Pessoais

16

3. FERRAMENTAS E TECNOLOGIAS PARA DESENVOLVIMENTO

Capítulo dedicado a embasar as Tecnologias de Informação e ferramentas

utilizadas no desenvolvimento do aplicativo.

3.1. JAVA

De acordo com a GlobalCode (2013), a linguagem Java, atualmente na

versão 7 foi desenvolvida na década de 90 por uma equipe de programadores da

Sun Microsystems que tinha James Gosling a frente do projeto, a ideia era uma

linguagem de programação que pudesse ser utilizada em diversas plataformas.

Em resumo Java é uma poderosa linguagem de programação para

computadores orientada a objeto, o que difere o Java das outras linguagens é o

modo como é compilado, para um bytecode e este executado por uma máquina

virtual (“Java Virtual Machine”), aplicando assim os conceitos de Portabilidade, ou

seja, independência de plataforma, escreva uma vez, execute em qualquer lugar

(“write once, run anywhere” – termo difundido entre os programadores e slogan que

a Sun Microsystems usa para o Java). (GlobalCode, 2010)

A plataforma de desenvolvimento Java é composta por:

Linguagem de programação Java.

Ferramentas de desenvolvimento: compiladores, depuradores e outros.

Bibliotecas para desenvolvimento de aplicações desktop, web, dispositivos

móveis, cartões inteligentes, entre outras.

Máquina virtual Java (JVM – Java Virtual Machine) responsável pela

execução de um programa Java em um sistema operacional.

Page 17: TCC Aplicativo Web Mobile Controle Despesas Pessoais

17

Devido à grande amplitude das bibliotecas disponíveis, a plataforma Java foi

subdividida da seguinte forma: (GlobalCode, 2010).

FIGURA 1 – PLATAFORMAS JAVA Fonte: GlobalCode, 2010

Java Standard Edition (JavaSE) – Especificação do Java com as funções

básicas do Java.

Java Micro Edition (JavaME) – Especificação do Java com funcionalidades

para o desenvolvimento de aplicações para pequenos dispositivos como

aparelhos celulares e eletrônicos em geral que possuam uma JVM (Máquina

Virtual Java para pequenos dispositivos).

Java Enterprise Edition (JavaEE) – Especificação do Java com

funcionalidades especificas para o desenvolvimento de aplicações para

servidores tais como, Servelets e JSF (JavaServer Faces).

O Java é a base para praticamente todos os tipos de aplicações em rede e é

o padrão global para o desenvolvimento e distribuição de aplicações móveis,

jogos, conteúdo baseado na Web e softwares corporativos. Com mais de 9

milhões de desenvolvedores em todo o mundo, de forma eficiente, o Java

permite que você desenvolva, implante e use aplicações e serviços

estimulantes. De laptops a datacenters, consoles de games a

supercomputadores científicos, telefones celulares à Internet, o Java está em

todos os lugares! (ORACLE. Acesso em 14 agosto 2013).

Page 18: TCC Aplicativo Web Mobile Controle Despesas Pessoais

18

3.1.1. JVM – JAVA VIRTUAL MACHINE

De acordo com a definição da Oracle / Sun (JAVA, 2013), a Máquina Virtual

Java é um conjunto de programas de software que permite a execução de instruções

geralmente escritas em bytecode Java. Os JVMs estão disponíveis para todas as

plataformas de software e hardware mais comuns.

Em resumo, a Máquina Virtual Java (JVM) converte os bytecodes dos

aplicativos Java em código executável de máquina, através da JVM obtemos a

portabilidade do código Java, ou seja, um arquivo compilado pode ser executado em

qualquer sistema operacional, desde que exista uma JVM para ele.

FIGURA 2 - JAVA VIRTUAL MACHINE Fonte: GlobalCode (2010)

3.1.2. JAVA ENTERPRISE EDITION (JAVA EE)

Será utilizada neste projeto a especificação Java Enterprise Edition, que é a

especificação Java que fornece funcionalidades para implementação de software

distribuído, arquitetura multicamada, mapeamento objeto-relacional e web services

baseados na Web e executados em Servidores de Aplicação.

Com base nos artigos da Caelum (2013), atualmente na versão 7, o Java EE

implementa toda infraestrutura necessária para que os desenvolvedores não se

preocupem com grande parte da codificação que demandaria muito trabalho,

mantendo o foco em simplificar o desenvolvimento através de padrões e API’s.

Page 19: TCC Aplicativo Web Mobile Controle Despesas Pessoais

19

Existem 4 camadas básicas no modelo de aplicação JAVA EE:

FIGURA 3 – ARQUITETURA JAVA EE Fonte: Devmedia

Camada Cliente – Parte do software que roda no computador do usuário.

Camada Web – Parte do software que roda em um servidor de aplicações

web.

Camada de negócios – Parte do software que roda no servidor de aplicações.

Camada de dados – Banco de dados e sistemas externos.

3.2. JAVA SERVER FACES (JSF)

Segundo Luckow (2012), Java Server Faces (JSF) é um Framework MVC

(Model – View - Controller) de interface de usuário (UI) baseado em Java de

componentes para desenvolvimento Web, foi projetado para facilitar e simplificar a

tarefa de escrever sistemas que são executados em um servidor de aplicação Java,

a especificação deste Framework foi definida pelo JCP (Java Community Process),

Page 20: TCC Aplicativo Web Mobile Controle Despesas Pessoais

20

entidade que tem como objetivo especificar a evolução da linguagem Java de acordo

com mercado.

Abaixo veremos a imagem que exemplifica o ciclo de vida do JSF:

FIGURA 4 - EXEMPLO DIAGRAMA FLUXO DO CICLO DE VIDA JSF Fonte: LUCKOW, 2012, p. 101

Atualmente na versão 2.2 o JSF se tornou um padrão de mercado e possui

apoio de grandes empresas no mercado de desenvolvimento de software como IBM,

Apache, Macromedia, Oracle, Hewlett-Packard entre outras.

O JSF tem como implementação padrão Sun Mojarra e diversas bibliotecas

de componentes, as mais populares são:

RichFaces, da JBoss.

ICEFaces, da ICESoft.

PrimeFaces, da PrimeFaces.

Tomahawk, da Apache MyFaces.

Trinidad, da Apache MyFaces.

Tobago, da Apache MyFaces.

“Outra vantagem de o JSF ser um padrão de mercado é a possibilidade de

empresas investirem no desenvolvimento de componentes para o JSF. ” (LUCKOW,

2012, p. 73).

O JSF é considerado atualmente pela Java Community Process (JCP, 2013) o

Page 21: TCC Aplicativo Web Mobile Controle Despesas Pessoais

21

melhor Framework de desenvolvimento para aplicações Web utilizando Java,

resultado da evolução e maturidade adquiridas com o JSP/Servelet, MVC e Struts.

3.3. PLATAFORMA ANDROID

O Sistema Operacional Android é uma plataforma de software que permite

criar aplicativos para dispositivos móveis, como smartphones e tablets. O Android foi

desenvolvido pela Google, e posteriormente pela OHA (Open Handset Alliance),

uma organização que une várias empresas com o objetivo de criar padrões abertos

para dispositivos móveis (K19, 2012).

FIGURA 5 - CAMADAS DA ARQUITETURA ANDROID Fonte: IBM

Page 22: TCC Aplicativo Web Mobile Controle Despesas Pessoais

22

O Android é executado sobre um kernel Linux. Os aplicativos Android são

gravados na linguagem de programação Java e são executados em uma

máquina virtual (VM). É importante observar que a VM não é uma JVM, como

você pode esperar, mas é uma Dalvik Virtual Machine, uma tecnologia de

software livre. Cada aplicativo Android é executado em uma instância da

Dalvik VM, que, por sua vez, reside em um processo gerenciado por kernel

Linux, conforme mostrado abaixo (IBM. Acesso em 14 agosto 2013).

FIGURA 6 - DALVIK VM Fonte: IBM

3.3.1. JAVA PARA ANDROID

No módulo Mobile do aplicativo será utilizada a linguagem Java para

plataforma Android, a plataforma Android oferece diversas vantagens para

desenvolvimento de aplicativos móveis, as principais vantagens são:

Diversas bibliotecas e frameworks gratuitos para desenvolvimento.

Grande comunidade de desenvolvedores pelo mundo e fóruns especializados.

Utiliza linguagem Java e todos os seus conceitos de programação como

Orientação a Objetos e reaproveitamento de código.

Boas IDE’s para desenvolvimento como Eclipse e PhoneGap.

Page 23: TCC Aplicativo Web Mobile Controle Despesas Pessoais

23

3.4. TOMCAT - SERVIDOR DE APLICAÇÃO

O Apache Tomcat é um contêiner Java e um Servidor Web ao mesmo tempo.

Ele suporta a execução das tecnologias Java Servelet e JavaServer Pages (JSP), o

que permite que o Java funcione para um ambiente web. (LUCKOW e MELO, 2012,

p. 33).

Utilizaremos neste projeto o Tomcat 6, em resumo, ele implementa as

especificações Servlet e JSP necessárias para o funcionamento do JavaServer

Faces.

3.5. BANCO DE DADOS MySQL

Para armazenar os lançamentos e dados do usuário será necessário um

Banco de Dados confiável que funcione em um Servidor Web, utilizaremos o

MySQL.

O MySQL é um sistema gerenciador de banco de dados relacional de código

aberto usado na maioria das aplicações gratuitas para gerir suas bases de

dados. O serviço utiliza a linguagem SQL (Structure Query Language –

Linguagem de Consulta Estruturada), que é a linguagem mais popular para

inserir, acessar e gerenciar o conteúdo armazenado num banco de dados.

(PISA. Acesso em 25 agosto 2013).

De acordo com a Oracle (MYSQL, 2013) e Luckow e Melo (LUCKOW, p. 63) o

MySQL é o banco de dados de código-fonte aberto mais popular do mundo e um

dos mais confiáveis.

3.6. HIBERNATE

O Hibernate é um Framework de Mapeamento Objeto Relacional (ou ORM –

Object Relational Mapping), será a camada responsável por gerenciar a persistência

dos dados entre Aplicação e o Banco de Dados, abaixo figura que demonstra a

arquitetura simplificada do Hibernate:

Page 24: TCC Aplicativo Web Mobile Controle Despesas Pessoais

24

Fonte: LUCKOW, 2012, p. 123.

De acordo com a documentação oficial do Hibernate (HIBERNATE, 2013), em

breve resumo, o Hibernate transforma os dados de um objeto em uma linha de uma

tabela de um banco de dados, ou de forma inversa, com a transformação de uma

linha da tabela em um objeto da aplicação, exemplo na imagem abaixo:

Fonte: FERNANDES, 2007, p. 6.

FIGURA 7 - ARQUITETURA SIMPLIFICADA DO HIBERNATE

FIGURA 8 - EXEMPLO MOR HIBERNATE

Page 25: TCC Aplicativo Web Mobile Controle Despesas Pessoais

25

3.7. WEB SERVICE

Web Services, são uma ótima prática para integração de sistemas. Seu uso é

cada vez maior e recorrente, já que atualmente o conceito de SOA (Service Oriented

Architecture) é a palavra da vez no setor de TI. (LUCKOW, 2012, p. 543).

Neste projeto será utilizado um Web Service para que os módulos Web e

Mobile sejam integrados e possam trocar informações, o Web Service utiliza para

troca de informações o formato eXtendable Markup Language, mais conhecido como

XML, segundo Reverbel (2006), é uma linguagem para representação de dados que

é extensível e naturalmente independente de plataforma.

A linguagem XML é amplamente difundida e utilizada na indústria de Software

tornando assim o uso de Web Services um padrão de mercado para integração de

sistemas.

Abaixo um exemplo de troca de informações através de um Web Service:

Fonte: DECOM

3.7.1. PROTOCOLO SOAP

Segundo Haddad (2013), Simple Object Access Protocol, mais conhecido

como SOAP é um protocolo padrão de comunicação baseado em XML utilizado em

Web Services, criado pela Microsoft, Ariba e IBM para padronizar a transferência de

dados em diversas aplicações.

FIGURA 9 - EXEMPLO REQUISIÇÃO E RESPOSTA WEBSERVICE

Page 26: TCC Aplicativo Web Mobile Controle Despesas Pessoais

26

A seguir um exemplo da estrutura de uma mensagem SOAP:

FIGURA 10 - ESTRUTURA DE UMA MENSAGEM SOAP Fonte: OFICINA DA NET

Envelope – Toda mensagem deve contê-lo, é o elemento raiz do XML.

Header – Cabeçalho opcional, carrega informações adicionais do XML.

Body – Elemento obrigatório, contém a informação a ser transportada para o

destino (Payload), pode conter um elemento opcional denominado Fault ou

Falha, usado para carregar erros retornados pelos Web Services ao

processarem a mensagem XML.

QUADRO 1 - EXEMPLO ENVELOPE SOAP

Page 27: TCC Aplicativo Web Mobile Controle Despesas Pessoais

27

4. DESENVOLVIMENTO E METODOLOGIA

Capítulo dedicado ao detalhamento referente à construção do aplicativo

proposto, destacando casos de uso dos módulos Web e Mobile, metodologias e

técnicas de desenvolvimento, modelagem do banco de dados do aplicativo e a

integração dos módulos utilizando Web Services.

4.1. ARTEFATOS – CASOS DE USO DO MÓDULO WEB

O módulo Web do aplicativo implementa os seguintes casos de uso:

Realizar Login: Recebe os dados do usuário (e-mail e senha) e efetua a

validação, liberando ou não acesso ao aplicativo.

Abaixo, diagrama de caso de uso demonstrando a realização do login:

FIGURA 11 - CASO DE USO REALIZAR LOGIN

CONTRATO:

Nome: Realizar login.

Ator Principal: Usuário.

Pré Condições: Possuir usuário e senha cadastrados e estar conectado à

internet.

Pós Condições: Login efetuado.

Page 28: TCC Aplicativo Web Mobile Controle Despesas Pessoais

28

Realizar Cadastro: Disponibiliza uma interface com o formulário para que o

novo usuário possa se cadastrar informando seus dados pessoais, login,

senha e uma conta inicial.

Abaixo, diagrama de caso de uso demonstrando a realização do cadastro:

FIGURA 12 - CASO DE USO REALIZAR CADASTRO

CONTRATO:

Nome: Realizar cadastro.

Ator Principal: Usuário.

Pré Condições: Estar conectado à internet e não possuir e-mail já cadastrado

no sistema.

Pós Condições: Cadastro Realizado.

Manter Contas: Gerenciar e manter as contas cadastradas pelo usuário,

segue detalhes do caso de uso:

Listar Contas: Exibe uma lista com as contas que já foram

cadastradas pelo usuário.

Incluir Contas: Disponibiliza uma interface com o formulário para que

o usuário possa realizar a inclusão de uma nova conta.

Editar Contas: Disponibiliza os dados para edição de acordo com a

conta selecionada pelo usuário.

Remover Contas: Efetua a remoção de uma conta selecionada na lista

pelo usuário.

Emitir Relação de Contas: Efetua a emissão de documento com a

lista de contas cadastradas pelo usuário.

Page 29: TCC Aplicativo Web Mobile Controle Despesas Pessoais

29

Abaixo, diagrama de caso de uso manter contas:

FIGURA 13 - CASO DE USO MANTER CONTAS

CONTRATO:

Nome: Manter Contas.

Ator Principal: Usuário.

Pré Condições: Estar conectado à internet, possuir usuário e senha

cadastrados e estar autenticado no aplicativo.

Pós Condições: Mostrar posição atualizada das contas.

Manter Categorias: Gerenciar e manter as categorias cadastradas pelo

usuário, segue detalhes do caso de uso:

Listar Categorias: Exibe as categorias de Despesas e Receitas

cadastradas pelo usuário.

Incluir Categoria: Disponibiliza uma interface com o formulário para

que o usuário possa realizar a inclusão de uma nova categoria.

Editar Categoria: Disponibiliza os dados para edição de acordo com a

categoria selecionada pelo usuário.

Remover Categoria: Efetua a remoção de uma categoria selecionada

pelo usuário.

Page 30: TCC Aplicativo Web Mobile Controle Despesas Pessoais

30

Abaixo, diagrama de caso de uso manter categorias:

FIGURA 14 - CASO DE USO MANTER CATEGORIAS

CONTRATO:

Nome: Manter Categorias.

Ator Principal: Usuário.

Pré Condições: Estar conectado à internet, possuir usuário e senha

cadastrados e estar autenticado no aplicativo.

Pós Condições: Mostrar posição atualizada das categorias.

Manter Lançamentos: Gerenciar e manter os lançamentos efetuados pelo

usuário, segue detalhes do caso de uso:

Exibir Lançamentos: Exibe uma lista com os lançamentos efetuados

pelo usuário de acordo com a conta selecionada.

Incluir Lançamento: Disponibiliza uma interface com o formulário para

que o usuário possa realizar a inclusão de um novo lançamento.

Editar Lançamento: Disponibiliza os dados para edição de acordo

com o lançamento selecionado pelo usuário.

Remover Lançamento: Efetua a remoção de um lançamento

selecionado pelo usuário.

Page 31: TCC Aplicativo Web Mobile Controle Despesas Pessoais

31

Emitir Relação de Lançamentos: Efetua a emissão de documento

com a lista de lançamentos efetuados pelo usuário.

Abaixo, diagrama de caso de uso manter lançamentos:

FIGURA 15 - CASO DE USO MANTER LANÇAMENTOS

CONTRATO:

Nome: Manter Lançamentos.

Ator Principal: Usuário.

Pré Condições: Estar conectado à internet, possuir usuário e senha

cadastrados e estar autenticado no aplicativo.

Pós Condições: Mostrar posição atualizada dos lançamentos.

Page 32: TCC Aplicativo Web Mobile Controle Despesas Pessoais

32

4.2. ARTEFATOS – CASOS DE USO DO MÓDULO MOBILE

O módulo Mobile do aplicativo implementa os seguintes casos de uso:

Realizar Login: Recebe os dados do usuário (e-mail e senha) e efetua a

validação, liberando ou não acesso ao aplicativo.

Abaixo, diagrama de caso de uso demonstrando a realização do login:

FIGURA 16 - CASO DE USO REALIZAR LOGIN MOBILE

CONTRATO:

Nome: Realizar login.

Ator Principal: Usuário.

Ator de Suporte: WebService.

Pré Condições: Possuir usuário e senha cadastrados e estar conectado à

internet.

Pós Condições: Login efetuado.

Realizar Cadastro: Disponibiliza acesso ao formulário de cadastro através do

Browser do dispositivo móvel para que o novo usuário possa se cadastrar

informando seus dados pessoais, login, senha e uma conta inicial.

Abaixo, diagrama de caso de uso demonstrando a realização do cadastro:

Page 33: TCC Aplicativo Web Mobile Controle Despesas Pessoais

33

FIGURA 17 - CASO DE USO REALIZAR CADASTRO MOBILE

CONTRATO:

Nome: Realizar cadastro.

Ator Principal: Usuário.

Ator de Suporte: Módulo Web.

Pré Condições: Estar conectado à internet, possuir um Browser instalado no

dispositivo móvel e não possuir e-mail já cadastrado no sistema.

Pós Condições: Realizar Login Mobile.

Listar Lançamentos: Efetua a consulta dos lançamentos tomando como

base o período do mês atual ou do mês indicado pelo usuário.

Abaixo, diagrama de caso de uso listar lançamentos:

FIGURA 18 - CASO DE USO LISTAR LANÇAMENTOS MOBILE

Page 34: TCC Aplicativo Web Mobile Controle Despesas Pessoais

34

CONTRATO:

Nome: Listar lançamentos.

Ator Principal: Usuário.

Ator de Suporte: WebService.

Pré Condições: Estar conectado à internet e autenticado no aplicativo.

Pós Condições: Mostrar posição atualizada dos lançamentos.

Manter Lançamentos Mobile: Gerenciar e manter os lançamentos efetuados

pelo usuário no dispositivo móvel integrando com o módulo web.

Incluir Lançamento: Disponibiliza uma interface com o formulário para

que o usuário possa realizar a inclusão de um novo lançamento.

Editar Lançamento: Disponibiliza os dados para edição de acordo

com o lançamento selecionado pelo usuário.

Remover Lançamento: Efetua a remoção de um lançamento

selecionado pelo usuário.

Abaixo, diagrama de caso de uso manter lançamentos mobile:

FIGURA 19 - CASO DE USO MANTER LANÇAMENTOS MOBILE

CONTRATO:

Nome: Manter lançamentos mobile.

Ator Principal: Usuário.

Ator de Suporte: WebService.

Pré Condições: Estar conectado à internet e autenticado no aplicativo.

Pós Condições: Mostrar posição atualizada dos lançamentos.

Page 35: TCC Aplicativo Web Mobile Controle Despesas Pessoais

35

Mostrar Saldos: Efetuar consulta de saldo através do WebService de acordo

com o período selecionado pelo usuário.

Abaixo, diagrama de caso de uso mostrar saldos:

FIGURA 20 - CASO DE USO MOSTRAR SALDOS

CONTRATO:

Nome: Mostrar Saldos.

Ator Principal: Usuário.

Ator de Suporte: WebService.

Pré Condições: Estar conectado à internet e autenticado no aplicativo.

Pós Condições: Mostrar posição atualizada dos lançamentos.

Realizar Operação WebService: Este é o caso de uso utilizado pelos demais

casos do módulo Mobile, este recebe os parâmetros informados pelos

métodos que utilizam este serviço e invoca os métodos correspondentes do

Web Service, trata o retorno e devolve um XML como resultado.

Page 36: TCC Aplicativo Web Mobile Controle Despesas Pessoais

36

4.3. MODELAGEM DO BANCO DE DADOS RELACIONAL

O Diagrama de Entidade Relacional (ou DER) abaixo demonstra o desenho

conceitual do esquema de Banco de Dados que será utilizado no aplicativo e os

relacionamentos entre as tabelas:

Este modelo implementa todas as especificações JPA necessárias para

integração com a camada de persistência Hibernate e o servidor de Banco de Dados

MySQL.

FIGURA 21 - DER - DIAGRAMA DE ENTIDADE RELACIONAL

Page 37: TCC Aplicativo Web Mobile Controle Despesas Pessoais

37

4.4. INTEGRAÇÃO DOS MÓDULOS WEB / MOBILE

Um dos pontos principais do aplicativo proposto é a integração dos módulos

Web e Mobile que neste caso serão executados em plataformas diferentes, esta

integração é realizada através de uma camada de acesso ao Web Service, esta

camada é responsável por enviar a requisição do serviço e os parâmetros

necessários ao Web Service e devolver o retorno obtido à função que originou esta

requisição.

A camada de acesso ao Web Service é composta por uma classe Java

chamada WebServiceCamada, responsável pela conexão com o serviço, envio de

chamadas de métodos e parâmetros e da devolução do XML que foi retornado do

Web Service.

Abaixo quadro com trecho do código para exemplificar uma chamada do

método execMetodo() da classe WebServiceCamada:

QUADRO 2 - CHAMADA DE MÉTODO DA CAMADA WEB SERVICE

O trecho de código contido na imagem acima demonstra como é feito para

invocar o método “getListaLancamentos” da classe WebServiceCamada, são

passados os parâmetros necessários e o nome do método, a classe

WebServiceCamada se encarrega de conectar no Web Service, passar os

parâmetros e o nome do método em um arquivo XML, receber uma resposta do Web

Service também em XML e devolver o resultado ao método da classe que solicitou

os dados.

Page 38: TCC Aplicativo Web Mobile Controle Despesas Pessoais

38

5. VALIDAÇÃO DO PROJETO PROPOSTO

Capítulo dedicado a demonstrar a utilização do aplicativo proposto, onde o

usuário atua na realização dos casos de uso.

5.1. CADASTRO DE USUÁRIOS - WEB

Para realizar o login e ter acesso as ferramentas do aplicativo o usuário

precisa antes fazer o seu cadastro, como podemos ver na imagem 1, na página

inicial do aplicativo existe o botão “Registre-se”:

Ao clicar no botão “Registre-se” o navegador é redirecionado para a página

de registro onde o usuário informa seus dados pessoais, informações de conta, login

único que deseja utilizar e sua senha que deverá ser composta por caracteres

alfanuméricos, conforme especificado no caso de uso realizar cadastro e

demonstrado na imagem 2 .

IMAGEM 1 - CHAMADA CASO USO REALIZAR CADASTRO WEB

Page 39: TCC Aplicativo Web Mobile Controle Despesas Pessoais

39

IMAGEM 2 - CADASTRO DE USUÁRIO WEB

5.2. REALIZAR LOGIN - WEB

Para realizar o login o usuário necessita estar previamente cadastrado, na

página inicial o usuário informa seu login e sua senha conforme especificado no

caso de uso realizar login e demonstrado na imagem 3.

IMAGEM 3 - REALIZAR LOGIN WEB

Page 40: TCC Aplicativo Web Mobile Controle Despesas Pessoais

40

Caso ambos estejam corretos (login e senha), o aplicativo será redirecionado

para a página principal contendo um resumo dos lançamentos do usuário conforme

imagem 4.

IMAGEM 4 - PÁGINA PRINCIPAL WEB

Serão exibidos os lançamentos da conta cadastrada como principal, no caso

da imagem 4, por exemplo, estão sendo exibidos os lançamentos da conta principal

“Bradesco”, nesta página também é possível que o usuário efetue a chamada de

outros casos de uso do aplicativo como:

Manter contas

Manter categorias

Manter lançamentos

Page 41: TCC Aplicativo Web Mobile Controle Despesas Pessoais

41

5.3. CADASTRO DE CONTAS - WEB

A página de Cadastro de Contas é onde o usuário realiza a gestão de suas

Contas para debitar os gastos, conforme caso de uso manter contas e demonstrado

abaixo na imagem 5, o usuário tem as opções de exibir contas cadastradas, incluir

conta, editar conta, remover conta, indicar conta como principal e emitir relatórios.

IMAGEM 5 - PÁGINA CADASTRO DE CONTAS

Nesta página também é possível que o usuário efetue a chamada de outros

casos de uso do aplicativo como:

Manter categorias

Manter lançamentos

Page 42: TCC Aplicativo Web Mobile Controle Despesas Pessoais

42

5.4. CATEGORIAS - WEB

A página de Categorias é onde o usuário realiza a gestão das Categorias que

serão utilizadas nos lançamentos, conforme caso de uso manter categorias e

demonstrado abaixo na imagem 6, o usuário tem as opções de incluir, editar ou

remover categorias e subcategorias.

IMAGEM 6 - PÁGINA CATEGORIAS

Nesta página também é possível que o usuário efetue a chamada de outros

casos de uso do aplicativo como:

Manter contas

Manter lançamentos

Page 43: TCC Aplicativo Web Mobile Controle Despesas Pessoais

43

5.5. LANÇAMENTOS - WEB

A página de Lançamentos é a principal do aplicativo proposto, ela implementa

o caso de uso manter lançamentos, como podemos ver abaixo na imagem 7, é onde

o usuário utilizando os parâmetros e as informações já lançadas em outras páginas

do aplicativo realiza diversas operações como inclusão de lançamentos, alteração de

lançamentos, remoção de lançamentos e exibição de lançamentos.

IMAGEM 7 - PÁGINA PRINCIPAL WEB

É possível também emitir relatórios em .PDF de acordo com o intervalo de

data informado pelo usuário, nesta página também é possível que o usuário efetue a

chamada de outros casos de uso do aplicativo como:

Manter contas

Manter categorias

Page 44: TCC Aplicativo Web Mobile Controle Despesas Pessoais

44

5.6. REALIZAR LOGIN – MOBILE

Para realizar o login o usuário necessita estar previamente cadastrado, na

tela inicial do aplicativo o usuário informa seu login e sua senha conforme

especificado no caso de uso do módulo mobile realizar login e demonstrado abaixo

na imagem 8.

IMAGEM 8 - LOGIN MOBILE

Neste processo de autenticação, assim como todas as implementações dos

casos de uso móbile, os dados informados pelo usuário sempre serão validados

conforme regras de negócio definidas. Abaixo na imagem 9 é demonstrada a

situação em que o usuário informa dados inválidos para realização da autenticação.

Page 45: TCC Aplicativo Web Mobile Controle Despesas Pessoais

45

IMAGEM 9 - ERRO LOGIN MOBILE

O Web Service é o responsável pelo processo de validação de dados e regras

de negócio, devolvendo ao aplicativo móbile o resultado da execução que por sua

vez encaminha o fluxo de execução do aplicativo para o próximo passo do caso de

uso.

5.7. REALIZAR CADASTRO – MOBILE

Na tela inicial do aplicativo também é possível efetuar uma chamada ao caso

de uso do módulo mobile realizar cadastro, clicando no botão Registrar-se é

disponibilizado o acesso ao formulário de cadastro do módulo web através do

Browser (Navegador de Internet) do próprio dispositivo móvel para que o novo

usuário informe seus dados, ao término do cadastro o Browser é fechado e a tela de

login do aplicativo é disponibilizada novamente. A seguir na imagem 10 é possível

visualizar o formulário do módulo web sendo acessado diretamente no Browser do

dispositivo.

Page 46: TCC Aplicativo Web Mobile Controle Despesas Pessoais

46

IMAGEM 10 - FORMULÁRIO DE CADASTRO NO NAVEGADOR MOBILE

5.8. LISTAR LANÇAMENTOS – MOBILE

Após realizar o login o usuário terá acesso por padrão à listagem de Receitas

de acordo com o mês corrente no momento do acesso e a conta cadastrada como

principal, será disponibilizado também um menu em forma de abas com outras duas

opções de listagem que são as Despesas e os Saldos além de opções para alternar

entre contas cadastradas e alterar mês de visualização dos lançamentos, conforme

demonstra a imagem 11.

Page 47: TCC Aplicativo Web Mobile Controle Despesas Pessoais

47

IMAGEM 11 - LISTAR LANÇAMENTOS MOBILE

5.9. INCLUIR LANÇAMENTO – MOBILE

A tela de Lançamentos é a principal do aplicativo proposto, ela implementa o

caso de uso do módulo mobile manter lançamentos que consiste em permitir que o

usuário possa realizar a inclusão de lançamentos de forma rápida e prática

atualizando instantaneamente os registros do banco de dados web.

Para incluir um lançamento o usuário através do menu de contexto do

aplicativo deve selecionar a opção “Adicionar Lançamento” conforme demonstrado a

seguir na imagem 12.

Page 48: TCC Aplicativo Web Mobile Controle Despesas Pessoais

48

IMAGEM 12 - MENU CONTEXTO

Ao selecionar a opção “Adicionar Lançamento” no menu de contexto do

aplicativo, será realizada uma chamada ao Web Service afim de obter as contas e as

categorias cadastradas pelo usuário no módulo web para que seja montada a tela

onde o usuário informará os dados que irão compor o registro de lançamento,

indicando:

Data do lançamento (traz como padrão a data atual).

Conta para lançamento (traz como padrão a conta principal).

Lista de categorias de despesas e receitas.

Descrição do lançamento.

Valor do lançamento.

Na imagem a seguir (imagem 13), podemos visualizar a tela para adicionar

um novo lançamento.

Page 49: TCC Aplicativo Web Mobile Controle Despesas Pessoais

49

IMAGEM 13 - NOVO LANÇAMENTO MOBILE

5.10. REMOVER OU EDITAR UM LANÇAMENTO - MOBILE

Para editar ou remover um lançamento, na lista de receitas ou despesas o

usuário deve manter pressionado o registro que deseja editar ou excluir até que

apareça uma janela pop-up conforme demonstrado na imagem 14.

IMAGEM 14 - POP-UP REMOVER OU EDITAR

Page 50: TCC Aplicativo Web Mobile Controle Despesas Pessoais

50

Caso o usuário selecione a opção “Editar Lançamento” na janela pop-up

serão mostrados na tela os dados referentes ao registro selecionado para que o

usuário realize as alterações necessárias conforme demonstrado abaixo na imagem

15.

IMAGEM 15 - EDITAR LANÇAMENTO MOBILE

Após alterações o aplicativo retorna para a lista e mostra a posição atualizada

dos lançamentos.

Caso o usuário selecione na pop-up a opção de “Remover Lançamento” o

aplicativo solicita uma confirmação para que o registro selecionado seja removido, a

seguir podemos ver a imagem 16 que demonstra a tela de confirmação.

Page 51: TCC Aplicativo Web Mobile Controle Despesas Pessoais

51

IMAGEM 16 - REMOVER LANÇAMENTO MOBILE

Após a remoção o aplicativo retorna para a lista e mostra a posição atualizada

dos lançamentos.

5.11. MOSTRAR SALDOS - MOBILE

Esta é a aba do aplicativo onde o usuário identifica se sua situação financeira

é favorável ou não com o intuito de informar se é um bom período para realizar uma

compra, são exibidas as informações de saldos totalizando as Receitas e as

Despesas do mês atual e do mês anterior ao atual, é possível também especificar

outro mês para visualizar os totalizadores. A seguir podemos ver a imagem 17 que

demonstra a tela de saldos.

Page 52: TCC Aplicativo Web Mobile Controle Despesas Pessoais

52

IMAGEM 17 - MOSTRAR SALDOS MOBILE

5.12. AMBIENTE DE DESENVOLVIMENTO / TESTES

O aplicativo proposto foi desenvolvido em uma estação de trabalho Pentium

Dual Core com 1.90GHz e 4GB de memória RAM, para o desenvolvimento foram

utilizados as seguintes IDE’S e Ferramentas:

Eclipse Java EE IDE for Web Developers. Version: Indigo Service Release 1

Build id: 20110916-0149.

NetBeans IDE 7.2.1 (Build 201210100934).

PhoneGap 2.9.0 – Release 26 jun 2013.

MySQL Workbench 6.0.

Astah Professional 6.1 (Model Version: 32).

Adobe Fireworks CS3 Version 9.0.

Oracle VM Virtual Box Version 4.1.6.

Page 53: TCC Aplicativo Web Mobile Controle Despesas Pessoais

53

Os testes do módulo Web do aplicativo foram realizados com o navegador

Google Chrome Versão 29.0.1547.66m e os testes do módulo Mobile foram

realizados com o celular LG E960 Google Nexus 4 com Android 4.3 Jelly Bean.

6. CONCLUSÃO

O aplicativo desenvolvido ao longo deste trabalho irá auxiliar o usuário no

controle e gestão de seus gastos, facilitando a administração de suas finanças

pessoais.

Através das tecnologias de sistemas de informação, foi possível desenvolver

este aplicativo, que de um modo dinâmico disponibiliza as informações referentes às

finanças do usuário.

A maior dificuldade na implementação deste projeto foi realizar a integração

entre os módulos web e mobile, se fazendo necessária a utilização de diversos

frameworks e metodologias SOA (Service Oriented Architecture).

De um modo geral, os resultados foram alcançados levando em consideração

que os dois módulos conversam entre si e disponibilizam as informações ao usuário

em tempo real, mantendo a integridade e confiabilidade da base de dados.

Para o futuro, a ideia é evoluir o módulo mobile migrando da linguagem de

programação Java para HTML 5, tornando o módulo portátil para outras plataformas

como IOS e Windows Phone, implementar um mini banco de dados no próprio

dispositivo móvel para que o aplicativo não seja dependente da internet a todo

momento ou seja, se o dispositivo móvel estiver sem internet durante o lançamento

os dados serão salvos no próprio dispositivo até que ele possua conexão com a

internet novamente para sincronizar com o banco de dados web, disponibilizar um

servidor de aplicação web robusto em nuvem e liberar o aplicativo na Apple Store e

Google Play para download, bem como buscar patrocinadores para o sistema.

Page 54: TCC Aplicativo Web Mobile Controle Despesas Pessoais

54

7. REFERENCIAS BIBLIOGRÁFICAS

CAMPI, Mônica de. Uso de Smartphones dobra no Brasil, diz pesquisa.

Disponível em: < http://info.abril.com.br/noticias/mercado/uso-de-smartphone-dobra-

no-brasil-diz-pesquisa-23042013-5.shl >. Acesso em: 23 julho 2013.

ORACLE. Obtenha Informações sobre a Tecnologia Java. Disponível em:

< http://www.java.com/pt_BR/download/faq/helpful_concepts.xml >. Acesso em: 18

agosto 2013.

JAVA. Glossário de Conceitos e Definições Úteis Java. Disponível em: <

http://java.com/pt_BR/about/ >. Acesso em: 14 agosto 2013.

PESQUISA. Pesquisa Gerenciamento Financeiro Pessoal. Questionário

disponível em:

<https://docs.google.com/forms/d/1Q5Qo5x3fxPQCDrAf7ROrdpFBXZSf5XEg-

5vQfMi4Mms/viewform >. Disponibilizada em 21 abril de 2013:

RESPOSTAS. Respostas da Pesquisa Gerenciamento Financeiro Pessoal.

Disponível em:

<https://docs.google.com/forms/d/1Q5Qo5x3fxPQCDrAf7ROrdpFBXZSf5XEg-

5vQfMi4Mms/viewanalytics >. Acesso em: 18 agosto 2013.

LUCKOW. LUCKOW, Décio; MELO, Alexandre de; (2012). Programação JAVA

para web: Novatec Editora Ltda, 2012.

GLOBALCODE (2010). Apostila Academia Java Oracle: GlobalCode

Treinamentos.

DEVMEDIA. Camadas na arquitetura de referência Java EE. Disponível em:

<http://www.devmedia.com.br/camadas-na-arquitetura-de-referencia-javaee/6037>.

Acesso em: 24 agosto 2013.

Page 55: TCC Aplicativo Web Mobile Controle Despesas Pessoais

55

CAELUM. Java para Desenvolvimento Web. Disponível em:

<http://www.caelum.com.br/apostila-java-web/>. Acesso em: 24 agosto 2013.

JCP. Community Development of Java Technology Specifications. Disponível

em: <http://www.jcp.org/en/jsr/detail?id=245>. Acesso em 25 agosto 2013.

MYSQL. O Banco de Dados de Código Aberto Mais Popular do Mundo. Disponível

em: < http://www.oracle.com/br/products/mysql/overview/index.html >. Acesso em 25

agosto 2013.

PISA, Pedro (2012). O que é e como usar o MySQL?. Disponível em: <

http://www.techtudo.com.br/artigos/noticia/2012/04/o-que-e-e-como-usar-o-

mysql.html>. Acesso em 25 agosto 2013.

FERNANDES. FERNANDES, Raphaela Galhardo; LIMA, Gleydson de A Ferreira.;

(2007). Hibernate com Anotações. Disponível em: <

http://www.futurepages.org/wiki/lib/exe/fetch.php?media=quickstart:hibernate_anotac

oes.pdf >. Acesso em 25 agosto 2013.

HIBERNATE. Hibernate Reference Documentation. Disponível em: <

http://www.hibernate.org/docs >. Acesso em 25 agosto 2013.

IBM. Ableson Frank (2009). Introdução ao Desenvolvimento Android. Disponível em:

< http://www.ibm.com/developerworks/br/library/os-android-devel/>. Acesso em 25

agosto 2013.

K19.; (2012). Apostila Desenvolvimento Mobile com Android. Disponível em:

<http://www.k19.com.br/downloads/apostilas/java/k19-k41-desenvolvimento-mobile-

com-android>. Acesso em 26 agosto 2013.

REVERBEL, Francisco. O que são Web Services. USP, São Paulo, maio 2006.

Disponível em: <http://www.ime.usp.br/~reverbel/SOD-06/trabalhos/fachadaws/

node2.html>. Acessado em: 25 agosto 2013.

Page 56: TCC Aplicativo Web Mobile Controle Despesas Pessoais

56

DECOM. Análise De Desempenho E Bateria Em Aplicações Android: Estruturas

Em Web Service X Objetos Distribuídos. UFOP, Departamento de Computação,

agosto de 2012. Disponível em:< http://www.decom.ufop.br/imobilis/?p=1220>.

Acessado em 25 agosto 2013.

HADDAD, Renato. WEB SERVICES. Microsoft MSDN. Disponível em:<

http://msdn.microsoft.com/pt-br/library/cc564893.aspx>. Acessado em 25 agosto

2013.