Páginas

terça-feira, 23 de outubro de 2012

Desenvolvimento de aplicativo em Java


UNISAL – Centro Universitário Salesiano de São Paulo
Desenvolvimento de Ferramenta computacional para Finanças Pessoais
Luiz Henrique Buris

Unisal – Lorena
Curso Ciência da Computação





Abstract

Planning is a process of extreme importance in the life of each. Many people do not know how much they spend on day to day and lose financial control. Maintain a habit, discipline of your personal finances is not an easy task.
Learn how to make a budget and track expenses takes time and dedication needs to control the urge to spend. It is essential to understand consumer habits in order to manage your money the right way and it should be a goal of a lifetime, because we have to predict possible unexpected events.
Many people find it unnecessary to make a finding that a control has little expense and think they have control of the situation and thus end up going into debt.
Having a balanced budget plan requires a lot of willpower, but it will bring many benefits, savers spend according to who wins and has saved economies, have better quality of life and can purchase more goods and will be ready for unexpected situations.
This software is designed to control spending everyday controlling all the money comes in and what goes out. With that track expenses daily.
The project presented describes the operation of an automated dispensing handling spreadsheet user. Thus, minimizes errors that can cause welcome distraction while performing any operation.

Due to the simple and intuitive interface, it is possible to have an involvement that makes the person register and track their financial transactions.

Resumo

        Planejar é um processo de extrema importância na vida de cada pessoa. Muitos indivíduos não sabem quanto gastam no dia a dia e perdem o controle financeiro. Manter o hábito, a disciplina de suas finanças pessoal não é uma tarefa que exige uma ferramenta de acompanhamento. Aprender a fazer um orçamento e controlar as despesas levam tempo e precisa de dedicação para controlar o desejo de gastar. É fundamental compreender os hábitos de consumo para poder administrar o seu dinheiro da maneira correta e isso deverá ser uma meta de uma vida inteira, pois, temos que prever possíveis eventos inesperados. Muitas pessoas acham desnecessário fazer um controle por pensa que tem pouca despesa e pensarem que tem o controle da situação e com isso acabam entrando em dívidas. Ter um orçamento equilibrado, planejado requer muita força de vontade, mas que trará diversos benefícios, quem poupa gasta de acordo com que ganha e tem economias guardadas, tem melhor qualidade de vida e pode adquirir mais bens e estará pronto para situações inesperadas.

            Este software tem por objetivo controlar os gastos do dia a dia controlando todo o dinheiro que entra e que sai. Com isso controlar as despesas de cada dia. O projeto apresentado descreve o funcionamento de uma planilha automatizada dispensando o manuseio do usuário. Dessa forma, minimiza os erros que podem ocasionar vindos por distração ao realizar qualquer operação. Devido à interface simples e intuitiva, é possível ter um envolvimento que facilita a pessoa cadastrar e acompanhar suas movimentações financeiras.

Palavra Chave: Finança Pessoal, Java, Padrão de projeto, Reuso de código.

 Introdução

Ter o controle do patrimônio é uma preocupação do homem desde a antiguidade, e com a modernização, evolução de tecnologias, globalização e disseminação cada vez mais rápida das informações está tornando cada vez mais difícil para o homem digerir esta dificuldade.
Com tudo cada dia mais pessoas entra na linha vermelha do orçamento familiar, chegando de tal forma que recorrem aos bancos que contem juros altíssimos se afundando mais ainda.
De acordo com Terra Economia ( 16 de julho de 2012 ) cerca de 62,5% das famílias das capitais brasileiras estiveram endividadas em 2011, um avanço de 6% segundo pesquisa divulgada nesta segunda-feira pela Federação do Comércio, Serviço e Turismo do Estado de São Paulo (FecomercioSP). Na comparação com 2010, o volume total das dívidas cresceu 11,57%. A inadimplência (não pagamento de contas e débitos) diminuiu 0,9%.
Com estes dados não são apenas necessário um controle de patrimônio, e sim a manutenção de sistema de planejamento capaz de projetar uma situação desse patrimônio para períodos futuro.
Organizar despesas é uma questão de avaliar se realmente deve ser despendido com o objetivo de chegar ate o final do mês com um saldo positivo, obtendo-se um excedente monetário que pode ser aplicado em projetos pessoais e familiares.

Desenvolvimento

Para o desenvolvimento desse sistema de finança pessoais foram utilizadas ferramentas de altíssimos nível muito conhecidas e utilizadas no mercado de trabalho. Entre elas o Netbeans um ambiente IDE de desenvolvimento integrado de código-fonte aberto gratuito para desenvolvedores de software. A linguagem de programação utilizada foi Java, por se tratar de uma linguagem de alto nível, independe de plataforma de sistema operacional, pode ser utilizado para facilitar o desenvolvimento de interface através de framework de objetos gráficos. O banco de dados utilizado foi o Mysql por ser leve e simples, mas embora sua característica simples muito utilizada em organizações mundialmente conhecidas. O MySQLWorkbench e PHPMyAdmin embora muito parecido pelas sua funções de administrador de banco de dados do Mysql o MySQLWorkbench trata-se com mais precisão a programação implementada em relação ao encapsulamento dos dados pela DAO no acesso ao banco de dados, pois uma programação mal desenvolvida pode custa muita conexões abertas “query” no banco de dados provocando uma quebra de sua linha de comunicação, alem  de uma aplicação de padrões de projetos de estruturas nas organizações dos códigos mais sustentável.

O projeto foi construído sobre orientado objeto com padrões de projetos MVC, DAO “data access object” e Conectofactores, já com o uso do MVC pode-se cria uma programação mais eficaz, pois tende a separar Views que são a parte de aplicação ou tela dos códigos do Model ou conhecido como javabean a parte que contem os métodos construtores get e set responsáveis pelo tratamento das informações entre a camada de aplicação e a data access object. DAO é um padrão que faz o encapsulamento dos dados que sejam inseridos no banco de dados, podemos dizer assim que a DAO e responsável pelas regras de negocio do banco de dados e a controler que contem todas as regras de negocio.

 A Conectofactores é a classe responsável pela abertura de conexão com o banco de dados com seu método de conexão API JDBC, dispensando a criação de varias linhas de código de chamada nas demais classes.
  
Com o uso do framework MVC e DAO, a programação fica mais organizada, pois isso utiliza as dependência da orientação objeto onde cada classe java do código fonte ficam de forma fácil e legível de entendimento e manutenção, além que quando se utiliza os padrões de projeto ágil no desenvolvimento abstraindo as regra de negocio e a SQL da conexão do banco de dados da Views pode-se com muitas facilidade mudar o tipo de  tecnologia empregada nas telas da aplicação, já que no nossa caso a programação nativa e desktop.
Sendo que na construção do projeto podemos visualizar os padrões de projetos sendo empregado com sua respectiva classe, conforme Figura 1.
 
Figura 1  – Projeto
Fonte: Autor.


Algumas das classes do projeto como Model lançamento que faz parte do padrão MVC são construídas com métodos get e set, também conhecida como classe método construtora, que faz a comunicação entre a views e DAO.

Classe do Model da MVC Lançamento
public class Lançamento {
   
    private int codigo;
    private String data;
    private float valor;
    private String inf;
    private String receita;
   

    public String getReceita() {
        return receita;
    }
   
    public void setReceita(String receita) {
        this.receita = receita;
    }


Classe Dao Lançamento contem instruções de conexão e sql com o bando de dados encapsulando seu dados que são obtidas da classe modelo que são passados do model lançamento.

Classe do DAO Lançamento do padrão
public void cadReceita(Lançamento receita){

     String sql = "insert into receita(codigo,data,valor,info) values (?,?,?,?)";

     try {
         PreparedStatement stmt = connection.prepareStatement(sql);

         stmt.setInt(1, receita.getCodigo());
         stmt.setString(2, receita.getData());
         stmt.setFloat(3, receita.getValor());
         stmt.setString(4, receita.getInf());
       
         stmt.execute();
         stmt.close();

     }catch(SQLException e){
         throw new RuntimeException(e);
     }
   }

As vantagens de se fazer isso são infinitamente essenciais, pois a eliminação de dependência em tempo de compilação das implementações e detalhes de implementação totalmente inacessível ao cliente.

Na criação do banco de dado o uso do MySQL foi essencial, por ser um SGBD livre e que pode ser utilizado em qualquer sistema operacional, mas com algumas limitações particulares, não deixando a desejar na velocidade na hora de realizar as operações, torna-se um excelente gestor de banco de dados, obtendo-se um bom rendimento. Sua baixa aquisição de recurso computacional faz apta sua execução em computadores com escassos de recursos sem nenhum problema, com boa interação com qualquer tipo de plataforma de código aberto. Neles serão contido todas as informações que o usuário pode estar cadastrando no software pelas SQL previamente configuradas em cada classe DAO que e transparente para o usuário, além disso, foi utilizada duas ferramentas de administração de banco de dados, phpmyadmin que foi a ferramenta de administração gráfica, responsável pela criação dos bancos de dados facilitando muito e MySQLWorkbench uma ferramenta para modelagem de dados que alem de gerenciar a query e projeta a MER pelo recurso de engenharia reversa do banco de dados do aplicativo. A ferramenta substitui uma das mais conhecidas ferramentas gratuitas em MER de dados, o DBDesingner4. Além disso, o Workbench tem muitas vantagens como é gratuito, funciona em Windows, Linux e Mac, pouco consumo de memória, permite fazer engenharia reversa e conexão direta com o banco de dados.
Na figura 2 foi realizada a utilização do aplicativo para geração do modelo de dado pela engenharia reversa.
 
Figura 2 – MER do BD fpsoft
Fonte: Autor.

Funcionamento da aplicação de finanças pessoal

Após o termino de todo o levantamento de requisitos funcionais e não funcionais e interação dos atores foi realizado a implementação do código.

O processo de utilização do software inicia-se na tela de login, muito amigável e intuitiva de se usar, essa parte do software possui um sistema de acesso onde será responsável pela proteção das informações pessoais relacionado às finanças pessoais, nela podemos observar um botão de cadastro de usuário que será melhor explicado a segui e os campos login e senha que serão o identificador do usuário, para o acesso ao sistema principal do software.  Conforme figura 3.

 
Figura 3 – Sistema de Login
Fonte: Autor.

É de suma importância a preservação dos dados, pois contem informações sobre receita, despesas, caixa, poupanças é saldos positivo e negativo do mês. No principio o usuário não terá o acesso ao sistema a não ser pela chave do administrador do software, pois será necessário o cadastro de login e senha conforme a figura 4.
 
Figura 4 – Sistema Cadastro de Usuário
Fonte: Autor.

Uma vez que realizando este cadastro o usuário só poderá trocar sua senha no painel de controle “opções” do software.

Bem como a necessidade de uma chave de segurança fornecida junto ao software que será um KeyID do usuário para controle do mesmo, KeyID é importante chave pois garante que outros usuários não tenham acesso as informações, pois um id simples pode comprometer a seguranças da informações, alem disso o KeyID possibilita a aplicação ter inúmeros usuários sem ter seus dados misturados.

O processo seguinte e a tela principal, conforme a figura 5

Figura 5 – Tela Principal
Fonte: Autor.

Onde ficam todas as opções da ferramenta de acesso às funções do aplicativo, nesta tela se encontram algumas informações de uso do software, e será abordada uma breve descrição dos menus, o primeiro e o lançamento responsável pelo cadastro de receitas e despesas do dia, categoria nesta tela pode-se fazer o cadastro dos lugares onde teve seus gasto ou receitas, cartão de credito cadastra suas despesas dos cartões, conta corrente controle de saída e entrada, consulta pode-se consultar os antecedentes dos meses detalhados de seu gasto ou receitas, cofrinho administrador de seu lucro no final do mês, opções administrador do software com sub-menus com reset do software, alteração da senha, ajuda a usuário e saída para encerrar sua sessão no software de finança pessoal.

Na tela lançamento tem a importância particular, pois nesta tela será feito os lançamentos de gasto e entradas, data que foi feita a operação podendo ser alterada mesmo se for feito o gasto no dia anterior, valor da despesa ou receita em real, informação complementar, calculadora e um retorno total da receita, total das despesas e o saldo total do mês. Conforme figura 6.

 
Figura 6 – Tela Lançamento
Fonte: Autor.

Nesta tela contem a categoria receita ou despesa, e caso queira adicionar um novo tipo de categorias, há uma opção de adicional novas categorias no sinal de mais a direita da caixa de seleção categoria. Conforme figura 7.
 
Figura 7 – Tela Cad Categoria
Fonte: Autor.

Nesta janela são realizados os cadastros das categorias receitas ou despesas, se for do tipo receita selecione receitas e insira a categorias a ser cadastrada se for despesas o mesmo procedimento selecionando a opção despesas, é uma interface simples e muito amigável tornando sua utilização fácil e agradável.

A tela consulta de categorias é possível a consultas de todas as categorias de receitas e despesas cadastradas no sistema, tem á possibilidade de editar as categorias, selecionando o código do respectivo item a ser editado e adicionando o código na janela correspondente, a etapa de remover segue o mesmo principio do editar observando apenas o código em vista para remoção, conforme já abordado, para se fazer um cadastro de categoria basta clicar no sinal de (+) para que possam ser inseridas novas categorias de gasto ou receitas. Conforme figura 8.
 
Figura 8 – Tela Consulta Categoria
Fonte: Autor.

A tela de consulta é realizada para que o usuário faça um controle de utilização de seus recursos financeiros, essa parte do software é responsável pela consulta de sua receita e despesa cadastrada no mês, foi simplificada a consulta separando o tipo de contas, em tabelas para melhor visualização dos gastos ou entradas, podendo também realizar consultas do dia , mês anteriores e categoria. Conforme figura 9.
 
Figura 9 – Tela Consulta de Lançamento
Fonte: Autor.

As demais telas têm suas funções que auxiliam usuário como o de cartão de credito, que será uma item onde o usuário poderá estar cadastrando os tipos de cartão que possui escolhendo a bandeira e o banco prestadora de serviço e qual deles têm despesas para ter um controle mais eficaz das finanças, o pagamento parcelado pode estar cadastrando sua despesa por outro tipo de compram, e ambos as aplicação disparam uma mensagem quando esta para vencer a data das parcelas no mês alertando o usuário de conta pendente, no item cofrinho tem possibilidade de controlar apenas o lucro do fim do mês apenas para manter um aspecto de controle do caixa local mas também possível fazer saque do cofrinho mas fica um historico para qual o fim do dinheiro retirado do cofrinho e por ultimo a opção onde pode ter o controle de alterar a senha, reiniciar o software e um sobre que informar algumas informações do aplicativos.

Resultados e Discussões

Os resultados obtidos a partir dos testes são apresentados de maneira que o próprio desenvolvedor e algumas pessoas foram, que se tornou mais fácil e ágil o controle de sua despesa pelo software, pois trocaram as planilhas de Excel é ate mesmo o caderno de despesas e receitas, pelo software que corresponderam e muito as necessidades pois, deixa muito a desejar a tempo de ser feito a utilização de método matemático financeiro, portando a muito software no mercado, mas a maioria e muito complicado e confuso de ser utilizar.
Trabalho Futuro
Atualmente esse aplicativo esta na versão desktop, porem no futuro o mesmo terá versão para web e sistema movel interligado com recurso de compras via WebService.

Conclusão

O intuito deste estudo e pesquisas pode se chega a um resultado final, que alem de se produzir um software para atender as necessidades básicas da pessoa no monitoramento de suas finanças, pode-se ter o controle melhor dos seus gastos e uma visão mais ampla em questão de suas movimentações financeira.
            Por uma analisa no lado do desenvolvimento do software, foi feito um excelente controle de codificação utilizado padrões de projeto, orientação objeto e reutilização de códigos, pois na hora do desenvolvimento pode se manter muito mais organizado os códigos separados por classe, facilitando uma manutenção e até mesmo uma nova implementação, alem de podendo ser facilmente reutilizado todos os código para outro tipo de aplicação passando de desktop para web sem problema algum já que toda parte da codificação fica sobre orientação dos padrões de projetos, além disso, o software funcionar em qualquer sistema operacional que tenha Java, tornando este método de programação muito mais eficaz não tendo a necessidade de criar nosso software para se adequar a plataforma existente.

Referência Bibliográfica
[1] Terra Econimia

[2] Douglas Rochas Mendes, Programação Java – com ênfase em orientação a objeto, cap 1 p17 a 22, cap 9 e cap 10.

[3] Caelum Java para desenvolvimento web - www.caelum.com.br, cap 2 pag 3 a 25. cap 9 pag94 e 98.

[4] Caelum Java e orientação a objeto - www.caelum.com.br, cap 2,3,4,5,6,7,9 e 10.

[5] MySQL.com



Nenhum comentário:

Postar um comentário