gef: gerenciador financeiro · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense -...

37
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CATARINENSE - CAMPUS AVANÇADO SOMBRIO RAQUEL FERREIRA PEREIRA GEF: GERENCIADOR FINANCEIRO Sombrio (SC) 2014

Upload: tranmien

Post on 10-Dec-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA

CATARINENSE - CAMPUS AVANÇADO SOMBRIO

RAQUEL FERREIRA PEREIRA

GEF: GERENCIADOR FINANCEIRO

Sombrio (SC)

2014

Page 2: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

2

RAQUEL FERREIRA PEREIRA

GEF: Gerenciador Financeiro

Trabalho de Conclusão de Curso apresentado como requisito para a obtenção do título de Técnico em Informática Integrado ao Ensino Médio, no Curso de Técnico em Informática Integrado ao Ensino Médio, do Instituto Federal de Educação, Ciência e Tecnologia Catarinense – Campus Avançado Sombrio.

Orientador: Prof. Me. Iuri Sônego Cardoso

Sombrio (SC)

2014

Page 3: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

3

RAQUEL FERREIRA PEREIRA

GEF: Gerenciador Financeiro

Esta Produção Técnico-Científica foi julgada adequada para obtenção do título de Técnico em Informática Integrado ao Ensino Médio e aprovada pelo Curso de Técnico de Informática Integrado ao Ensino Médio do Instituto Federal de Educação, Ciência e Tecnologia Catarinense – Campus Avançado Sombrio.

Área de Concentração: Desenvolvimento de Softwares

Sombrio, 01 de dezembro de 2014.

Prof. Me. Iuri Sônego Cardoso

Instituto Federal Catarinense – Campus Avançado Sombrio

Orientador

Prof. Cristina Amboni da Silva

Instituto Federal Catarinense – Campus Avançado Sombrio

Membro

Prof. Me. Marleide Coan Cardoso

Instituto Federal Catarinense – Campus Avançado Sombrio

Membro

Page 4: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

4

DEDICATÓRIA

Dedico este trabalho a meus amigos,

que transformaram minha vida e me ajudaram a amadurecer.

Page 5: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

5

AGRADECIMENTOS

Agradeço primeiramente ao professor e orientador Iuri Sônego Cardoso, que

acreditou em mim e me ajudou com a maior paciência. Também agradeço aos

amigos e a família que acreditaram em mim, quando nem mesmo eu acreditava.

Page 6: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

6

EPÍGRAFE

“Um dos momentos mais assustadores da vida é quando você

percebe que a única pessoa que pode te salvar é você mesma”

Demi Lovato

Page 7: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

7

RESUMO

Este trabalho apresenta a elaboração do projeto e o desenvolvimento do

software GeF: Um programa voltado para o registro de finanças de uso pessoal.

Contém registrado os principais passos para desenvolver um software, desde o

levantamento de requisitos até os resultados finais. No desenvolvimento deste

trabalho foram utilizadas aplicações de técnicas estudadas durante o curso técnico,

como a programação de computadores, a modelagem e implementação de banco de

dados, projetos de softwares e metodologia.

Palavras-chave: Software. Requisitos. Banco de dados.

Page 8: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

8

ABSTRACT

This work presents the development of the project and the development of

GeF software: a program for the registration of finance for personal use. Contains

recorded the major steps to develop a software, since the lifting of requirements until

the final results. In the development of this work were used applications of

techniques studied during the course, as the computer programming, modeling, and

implementation of database, projects of software and methodology.

Keywords: Software. Requirements. Database.

Page 9: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

9

LISTA DE FIGURAS

Figura 1: Exemplos de cálculo em Algoritmos ...................................................................................... 16

Figura 2: Exemplo de código Java ........................................................................................................ 18

Figura 3: Exemplo de Modelo ER ......................................................................................................... 19

Figura 4: Exemplo de Modelo Conceitual ............................................................................................. 20

Figura 5: Exemplo SQL ......................................................................................................................... 20

Figura 6: Diagrama ER .......................................................................................................................... 23

Figura 7: Strutured Query Language..................................................................................................... 24

Figura 8: Painel de exibição das contas ............................................................................................... 26

Figura 9: Tela de Cadastro de Contas .................................................................................................. 27

Figura 10: Tela de Detalhes da Conta .................................................................................................. 28

Figura 11: Painel de exibição dos Bancos ............................................................................................ 29

Figura 12: Tela de Cadastro de Banco ................................................................................................. 29

Figura 13: Painel de exibição de Categorias para transações ............................................................. 30

Figura 14: Tela de Cadastro de Categoria ............................................................................................ 31

Figura 15: Painel de exibição dos favorecidos ...................................................................................... 32

Figura 16: Tela de Cadastro de Favorecido .......................................................................................... 32

Figura 17: Painel de exibição das Movimentações financeiras ............................................................ 34

Figura 18: Tela de Cadastro de Movimentação .................................................................................... 35

Figura 19: Painel de exibição de Relatórios de movimentações das contas ........................................ 35

Page 10: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

10

LISTA DE SIGLAS

GEF: Gerenciador Financeiro

BD: Banco de Dados

SGBD: Sistema Gerenciador de Banco de Dados

SQL: Linguagem de Consulta Estruturada (Strutured Query Language)

ER: Entidade-Relacionamento

DER: Diagrama Entidade-Relacionamento

DDL: Linguagem de Definição de Dados (Data Definition Language)

DML: Linguagem de Manipulação de Dados (Data Manipulation Language)

IDE: Ambiente Integrado de Desenvolvimento (Integrated Development

Environment)

GUI: Interface Gráfica do Usuário (Graphical User Interface)

Page 11: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

11

Sumário 1. INTRODUÇÃO ...................................................................................................... 13

2. OBJETIVOS .......................................................................................................... 14

2.1. Objetivo Geral ..................................................................................................... 14

2.2. Objetivos Específicos .......................................................................................... 14

3. REFERENCIAL TEÓRICO ................................................................................... 15

3.1. Levantamento de Requisitos ............................................................................... 15

3.1.1.Requisitos Funcionais ...................................................................................... 15

3.1.2.Requisitos Não funcionais ................................................................................ 15

3.2. Programação de Computadores ......................................................................... 16

3.2.1.Algoritmos ........................................................................................................ 16

3.2.2.Linguagens de Programação ........................................................................... 17

3.2.3.Java .................................................................................................................. 17

3.3. Banco de Dados ................................................................................................. 18

3.3.1.Modelo Entidade-Relacionamento ................................................................... 18

3.3.2.Modelo Relacional ............................................................................................ 19

3.3.3.Strutured Query Language (SQL) .................................................................... 20

3.3.4.Sistema Gerenciador de Banco de Dados (SGBD) .......................................... 21

4. MATERIAIS E MÉTODOS .................................................................................... 22

4.1. Materiais ............................................................................................................. 22

4.1.1.NetBeans IDE 8.0 ............................................................................................. 22

4.1.2.MySQL Workbench 6.1 .................................................................................... 22

4.1.3.BrModelo .......................................................................................................... 22

4.2. Métodos .............................................................................................................. 23

4.2.1.Definição de requisitos ..................................................................................... 23

4.2.2.Modelagem do Banco de Dados ...................................................................... 23

4.2.3.Desenvolvimento e Testes do Sistema ............................................................ 25

5. RESULTADOS E DISCUSSÕES .......................................................................... 26

5.1. Tela principal/ Painel Contas .............................................................................. 26

5.2. Cadastro de Contas/ Editar Contas .................................................................... 27

5.3. Detalhes da conta ............................................................................................... 28

5.4. Painel Bancos ..................................................................................................... 28

5.5. Cadastro de Banco/ Editar Bancos ..................................................................... 29

5.6. Painel Categorias ................................................................................................ 30

5.7. Cadastro de Categorias/ Editar Categoria .......................................................... 31

Page 12: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

12

5.8. Painel Favorecidos ............................................................................................. 31

5.9. Cadastrar Favorecidos/Editar Favorecidos ......................................................... 32

5.10. Painel Movimentações ..................................................................................... 33

5.11. Nova Movimentação/ Editar Movimentação ..................................................... 34

5.12. ainel Relatório de Movimentações ................................................................... 35

6. CONSIDERAÇOES FINAIS .................................................................................. 36

REFERÊNCIAS ................................................................................................................... 37

Page 13: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

13

1. INTRODUÇÃO

Para este trabalho foi desenvolvido o software GeF, um programa voltado

para a área de finanças pessoais, que busca o registro de movimentações de

dinheiro em uma determinada conta. O gerenciador financeiro registra

movimentações e com elas é possível visualizar alguns relatórios financeiros, como

listas que exibem as transações por meio de filtros. Este tema foi escolhido pelo fato

de que, mesmo já havendo software semelhante no mercado, este seria na sua

forma gratuita, limitado quanto ao número de contas que podem ser registradas e

com algumas utilidades desnecessárias ou complexas demais para uso trivial, como

taxas de câmbio e investimentos. A partir destas considerações, optou-se neste

projeto pela criação de um software mais simples sem limites na quantidade de

contas cadastradas.

Page 14: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

14

2. OBJETIVOS

Neste capitulo são apresentados os objetivos deste trabalho.

2.1. Objetivo Geral

Desenvolver um software para controle de finanças pessoais, aplicando

conhecimentos em diversas áreas estudadas durante o curso, como programação

de computadores, banco de dados, projeto de software e metodologia.

2.2. Objetivos Específicos

Definir os requisitos do software.

Aplicar programação na linguagem Java para: Registrar contas

bancarias, movimentações de deposito ou retirada, exibir relatórios de

movimentações.

Projetar um banco de dados: Modelo-o por meio de diagramas,

implementando-o para ser capaz de armazenar e buscar os dados

necessários para o software.

Page 15: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

15

3. REFERENCIAL TEÓRICO

Este capítulo aborda a pesquisa bibliográfica feita para o trabalho. Nela

encontra-se o conhecimento que auxilia no melhor entendimento de como foi feito o

projeto e desenvolvimento do software.

3.1. Levantamento de Requisitos

O levantamento de requisitos é a primeira parte no desenvolvimento de um

software, nele são levantadas questões como: quais funcionalidades deve ter, o que

ele deve fazer, aparência desejada, entre outras características. Geralmente o

levantamento de requisitos é feito através de entrevistas com o cliente, ou no caso

de não haver um cliente através de pesquisa de mercado. Após o levantamento de

requisitos estes são definidos como funcionais e não funcionais. (BEZERRA, 2007)

3.1.1. Requisitos Funcionais

Os requisitos funcionais são declarações de como o software deve reagir a

determinadas entradas e como deve se comportar em certas situações. Ele também

pode explicitar o que o software não deve fazer. (SOMMERVILLE, 2011)

Exemplos: “O software deve cadastrar notas dos alunos”;

“O software deve calcular a média aritmética das notas por aluno”;

3.1.2. Requisitos Não funcionais

Os requisitos não funcionais são limitações ou funções do software. Incluem

restrições no processo de desenvolvimento e restrições impostas por normas. Eles

aplicam-se ao software como um todo. (SOMMERVILLE, 2011)

Exemplos:

“O sistema deve ser em Java”;

“O sistema deve rodar em tela cheia”;

Page 16: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

16

3.2. Programação de Computadores

O desenvolvimento de um programa necessita de três etapas: a análise, que

neste trabalho estaria ligado ao levantamento de requisitos citado anteriormente, e

também o algoritmo e a programação que serão apresentados neste tópico.

(ASCENCIO, 2007)

3.2.1. Algoritmos

Algoritmos são sequencias de comandos que devem ser executados,

resultando em determinada ação. Nesses comandos tem de ser definidos

exatamente o que deve, e como deve ser feito. Existem várias formas de

representação de algoritmos, sendo as mais utilizadas: descrição narrativa,

fluxograma e pseudocódigo. (ASCENCIO, 2007)

A descrição narrativa consiste em escrever os algoritmos em texto, utilizando

uma linguagem natural (por exemplo, língua portuguesa). O Fluxograma consiste em

escrever os algoritmos com símbolos gráficos pré-definidos, seu entendimento é

mais fácil que a descrição narrativa. O pseudocódigo consiste em escrever o

algoritmo por meios de regras pré-definidas, ele é o mais fácil de passar para a

linguagem de programação. (ASCENCIO, 2007)

Figura 1: Exemplos de cálculo em Algoritmos

Fonte: A autora, 2014.

(B)

Algoritmo “Nota_semestral”

Var

Nota1, nota2, Media: real

Inicio

Escreva (“Digite a primeira nota: ”)

Leia (nota1)

Escreva (“Digite a segunda nota: ”)

Leia (nota2)

Media <= (nota1 + nota2) /2

Escreva (“A media é ”, media)

fimalgoritmo

(A)

Pegue a primeira nota;

Pegue a segunda nota;

Some as notas;

Divida o resultado por

dois;

Mostre o resultado;

(C)

Inicio

Nota1, Nota2

Media = (Nota1+Nota2) /2

“A media é ” Media

Fim

Page 17: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

17

O exemplo que aparece na Figuras 1, A, B e C, descreve como deve ser feita

a média de duas notas, e apresentar o resultado.

3.2.2. Linguagens de Programação

Linguagem de programação são instruções que fazem a comunicação entre

usuário e computador. Estas instruções são interpretadas pela máquina de forma

binária, ou seja, zero e um. Atualmente é possível dividir as linguagens de

programação em dois níveis: as de baixo nível e as de alto nível. (DEITEL, 2010)

Linguagens de baixo nível são linguagens interpretadas diretamente pelo

computador, sendo mais rápida, porém com maior dificuldade de compreensão para

o programador. Exemplos destas linguagens são a linguagem de máquina (ou

binária), que consiste em códigos formados por zeros e uns, e a assembly, que era

composta por abreviações do inglês que representam as operações e são

convertidos em linguagem binária por programas tradutores chamados assemblers.

(DEITEL, 2010)

Já as linguagens de alto nível são de mais fácil utilização dos programadores,

por ser formada por instruções parecidas com o inglês cotidiano e ainda possuir

conotações matemáticas comuns. As preferidas pelos profissionais são o C, C++ e a

mais utilizada de todas, o Java. Essas linguagens são traduzidas para linguagem de

máquina por programas compiladores. (DEITEL, 2010)

3.2.3. Java

É uma linguagem de alto nível, criada em 1991, baseada em C++. Mas

somente chamou a atenção quando resolveram utilizá-la para adicionar conteúdo

dinâmico à internet, em 1995. É usada atualmente para programas de grande porte,

aplicativos móveis, aplicativos e funcionalidades da web. (DEITEL, 2010. p.6) Possui

como características a simplicidade, orientação a objetos, portabilidade e segurança.

(ASCENCIO,2007. p.10) O código do exemplo na Figura 4, é equivalente ao

exemplo de algoritmo.

Page 18: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

18

Figura 2: Exemplo de código Java

Fonte: A autora, 2014.

3.3. Banco de Dados

O banco de dados é uma base de armazenamento de dados, ou informações

que podem ser coletadas em um ambiente, por exemplo: a altura de uma pessoa é

uma informação dela. Ou seja, o banco de dados guarda em registros as

informações que são coletadas no programa para um uso futuro (ANGELOTTI,

2010).

3.3.1. Modelo Entidade-Relacionamento

Também chamado de modelo ER (Entidade-Relacionamento), o modelo

entidade-relacionamento preocupa-se em estar graficamente o mais próximo

possível da visão do usuário. Ele pode ser utilizado para modelagem conceitual, que

segundo Heuser (2009, p.25) registra os dados que podem aparecer no banco de

dados, mas não registra como estão armazenados no SGBD (Sistema Gerenciador

de Banco de Dados), e tem por objetivos descrever os dados que serão

armazenados e a quais outros dados ou tabelas estão relacionados. Toda essa

representação gráfica é chamada de Diagrama de Entidade e Relacionamento

(DER). (ANGELOTTI, 2010)

import java.util.Scanner; public class calculoMedia { public static void main(String[] args) { float nota1, nota2, media; Scanner teclado = new Scanner(System.in); System.out.println(“Digite a primeira nota: “); nota1 = teclado.nextInt(); System.out.println(“Digite a segunda nota: ”); nota2 = teclado.nextInt();

media = (nota1+nota2)/2); System.out.println(“A media é “+ media);

} }

Page 19: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

19

O DER é constituído por entidades, atributos e relacionamentos. Uma

entidade representa um objeto sobre o qual se quer armazenar dados (exemplo:

funcionário). O atributo é uma propriedade ou característica da entidade, um dado

que a descreve. Em uma entidade chamada Funcionário, seus atributos poderiam

ser: nome, CPF, RG, endereço, entre outros. Relacionamentos são as ligações entre

entidades. Como demostra a Figura 5: a entidade Funcionário tem um

relacionamento chamado Pertence com a entidade Setor. (ANGELOTTI, 2010)

Figura 3: Exemplo de Modelo ER

Fonte: A autora, 2014.

3.3.2. Modelo Relacional

O Modelo Relacional é utilizado para criar um modelo lógico de banco de

dados. Ele preocupa-se em como os dados devem ser armazenados, também é

definido os tipos de dados para cada atributo. Este modelo tem como objetivo

representar os dados como uma coleção de tabelas, que devem apresentar atributos

(colunas), seguidos do tipo de atributo e referências. (ANGELOTTI, 2010)

Dois importantes atributos em uma tabela são a chave primaria (primary key)

e a chave estrangeira (foreign key). A chave primaria será um elemento único na

tabela, não podendo repetir valores, sendo estes obrigatórios (não nulos). A chave

primária é responsável pela identificação dos registros (linhas) armazenados na

tabela. A chave estrangeira é um atributo que fará referência à chave primária de

outra tabela, fazendo assim uma relação entre tabelas. (ANGELOTTI, 2010)

No exemplo da Figura 6, a tabela Funcionário possui chave primária código, o

atributo nome, e uma chave estrangeira chamada Setor_códigoSetor, que faz

referência a chave primária da tabela Setor.

(0,n) (1,1)

código codigoSetor

nome nome

caracteristica

Funcionário Setor Pertence

Page 20: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

20

Figura 4: Exemplo de Modelo Conceitual

Fonte: A autora, 2014.

3.3.3. Strutured Query Language (SQL)

Linguagem de consulta estruturada ou SQL (Strutured Query Language), é a

linguagem padrão para banco de dados relacional. Embora “consulta” faça parte do

nome, ela inclui operações de definição (DDL) e manipulação (DML) de dados. O

conjunto de comandos DDL contém os comandos de definição e criação de uma

base de dados, comandos estes que servem para criar, alterar e excluir objetos no

banco (exemplo tabelas), e possui também comandos para especificação de direitos

de acesso e para a criação de restrições de integridade. Já a DML possui comandos

para consultar, inserir, alterar e excluir somente dados do banco de dados. (DATE,

2004)

Figura 5: Exemplo SQL

Fonte: A autora, 2014.

CREATE DATABASE Empresa;

USE Empresa;

CREATE TABLE Setor (

CodigoSetor INT,

Nome VARCHAR(45),

Categoria VARCHAR(20),

PRIMARY KEY (CodigoSetor) ); CREATE TABLE Funcionario (

Codigo INT,

Nome VARCHAR(45),

CodigoSetor INT,

PRIMARY KEY (Codigo),

FOREING KEY (CodigoSetor) REFERENCES Setor (CodigoSetor)

);

Page 21: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

21

O exemplo da Figura 7 demonstra a criação do Banco de Dados chamado

Empresa, e após selecioná-lo, são criadas as tabelas Setor e Funcionário, com seus

atributos e seus respectivos tipos de variáveis.

3.3.4. Sistema Gerenciador de Banco de Dados (SGBD)

O SGBD é uma ferramenta usada para melhor controle ao acesso e

manutenção de dados armazenados em um banco. Tem como funções a definição e

a manipulação de dados. Ele deve incluir um processador ou compilador DDL (Data

Definition Language) para entender o formato dos dados e convertê-los para o

apropriado. Também deve incluir um processador ou compilador DML (Data

Manipulation Language) para poder buscar, atualizar, excluir ou acrescentar dados

no banco de acordo com as necessidades do usuário. (ANGELOTTI, 2010)

Ele possui como principais características o Acesso Concorrente, o

Gerenciamento de Transações, a aplicação de regras de Segurança e regras para a

garantia de Integridade da base de dados. O Acesso Concorrente permite que mais

de uma pessoa possa acessar o banco de dados ao mesmo tempo, sem que haja

interferência. O Gerenciamento de Transações cuida das transações no banco de

dados. Estas são divididas em várias operações, e em caso de erro em alguma

dessas operações, desfaz a transação afim de manter integridade do banco.

A Segurança é feita por mecanismos do SGBD para a criação de regras.

Estas podem abranger definição de login e senha para os usuários, de permissões

de acesso ao SGBD, o que cada usuário pode fazer – só ler ou também alterar os

dados – ou quais dados ele pode ou não ter acesso. As regras de Integridade são

feitas para verificar se os dados que estão sendo adicionados ao banco de dados

estão corretos, protegendo assim o usuário de si mesmo impedindo que aconteçam

erros. (DATE, 2004)

Page 22: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

22

4. MATERIAIS E MÉTODOS

Este capítulo apresenta os materiais e os métodos utilizados no

desenvolvimento do projeto. Esta é a parte do projeto em que aplica-se o que foi

estudado durante o curso.

4.1. Materiais

Esta seção apresenta um breve resumo sobre os softwares usados para o

desenvolvimento do projeto.

4.1.1. NetBeans IDE 8.0

O NetBeans IDE1 é um ambiente de desenvolvimento que trabalha com várias

linguagens, como: Java, HTML, JavaScript, e CSS. Neste projeto ele foi utilizado

para a programação na linguagem Java. Ele foi escolhido para o trabalho por ser um

software gratuito, e por ser o programa que é utilizado no curso para as aulas de

programação.

4.1.2. MySQL Workbench 6.1

O MySQL Workbench2 é uma ferramenta usada para a modelagem de dados,

que trabalha com diagramas ER e scripts SQL. Foi utilizado para a maior parte do

desenvolvimento do Banco de Dados. Ele é gratuito e de fácil utilização, por isso foi

escolhido para o desenvolvimento deste trabalho.

4.1.3. BrModelo

O BrModelo3 é um programa para a criação de modelos relacionais de forma

visual. Ele foi usado no início do desenvolvimento do Banco de Dados. Foi escolhido

por ser simples, de fácil utilização e portátil. Além de ser um software gratuito que foi

utilizado no curso.

1 IDE Recursos do Netbeans. Disponível em: <https://netbeans.org/features/index.html>. Acesso em 17 de

dezembro de 2014.

2 XAVIER, Andressa. MySQL Workbench. Disponível em: <http://www.baixaki.com.br/download/mysql-

workbench.htm>. Acesso em: 17 de dezembro de 2014. 3 MARTINS, Elaine. brModelo. Disponível em: <http://www.baixaki.com.br/download/brmodelo.htm>. Acesso em:

17 de dezembro de 2014.

Page 23: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

23

4.2. Métodos

Neste trabalho foram utilizadas as metodologias de Pesquisa Bibliográfica

(Referencial Teórico) e Pesquisa Descritiva que emprega a elaboração e

desenvolvimento do projeto, neste trabalho ela é apresentada nesta seção que

relata o desenvolvimento do projeto, com as seguintes etapas: definição dos

requisitos, modelagem do banco de dados, desenvolvimento e testes do sistema.

4.2.1. Definição de requisitos

Os requisitos do software foram definidos em reuniões com o orientador, pois

o software não é voltado para um cliente específico. Com as reuniões foi definido

que o software deveria: exibir relatórios das movimentações, podendo estes serem

filtrados por alguma característica em comum; fazer registros de contas, bancos,

categorias, favorecidos, e as próprias movimentações; calcular os saldos totais das

movimentações por conta ou outro ponto em comum entre as transações.

4.2.2. Modelagem do Banco de Dados

Com os requisitos definidos foi criado o diagrama ER, que está na Figura 8,

utilizando o BrModelo, para um entendimento de quais dados seriam armazenados

no banco de dados.

Figura 6: Diagrama ER

Fonte: A autora, 2014.

Page 24: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

24

Após as entidades possuírem seus atributos e os relacionamentos serem

definidos no diagrama ER, isso foi implementado em SQL, utilizando o MySQL

Workbench 6.1, como mostra a Figura 9.

Figura 7: Strutured Query Language

Fonte: A autora, 2014.

CREATE DATABASE GeF;

USE GeF;

CREATE TABLE Banco ( codbanco INT AUTO_INCREMENT,

nome VARCHAR(50),

fone INT,

site VARCHAR(70),

PRIMARY KEY (codbanco));

CREATE TABLE Conta ( codconta INT AUTO_INCREMENT,

num_agencia VARCHAR(8)NOT NULL,

num_conta VARCHAR(8) NOT NULL,

codbanco INT,

nome VARCHAR(50) NOT NULL,

tipoConta VARCHAR(30),

CONSTRAINT fk_banco_cod FOREIGN KEY (codbanco)

REFERENCES Banco (codbanco),

PRIMARY KEY (codconta),

UNIQUE INDEX id_conta (num_agencia,num_conta,codbanco));

CREATE TABLE Categoria ( codcategoria INT AUTO_INCREMENT,

nome VARCHAR(50) NOT NULL,

PRIMARY KEY (codcategoria));

CREATE TABLE Favorecidos ( codfavorecido INT AUTO_INCREMENT,

fone INT,

nome VARCHAR(50) NOT NULL,

email VARCHAR(70),

PRIMARY KEY (codfavorecido));

CREATE TABLE Movimentacao ( codmovimentacao INT AUTO_INCREMENT,

data DATE NOT NULL,

tipo VARCHAR(30) NOT NULL,

valor DOUBLE NOT NULL,

codcategoria INT,

codfavorecido INT,

codconta INT,

PRIMARY KEY (codmovimentacao),

CONSTRAINT fk_categoria_cod FOREIGN KEY (codcategoria)

REFERENCES Categoria (codcategoria),

CONSTRAINT fk_favorito_cod FOREIGN KEY (codfavorecido)

REFERENCES Favorecidos (codfavorecido),

CONSTRAINT fk_conta_cod FOREIGN KEY (codconta)

REFERENCES Conta (codconta) ON DELETE CASCADE);

Page 25: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

25

4.2.3. Desenvolvimento e Testes do Sistema

Com o banco de dados criado, foi utilizado o IDE NetBeans 8.0 para a

programação Java. Usando componentes Graphical User Interface (GUI), que já

vem pré-instalados no programa, foram criadas, antes de tudo, as telas do software,

sem programação alguma, para ter uma organização do que fazer, como quais

funções seriam feitas e qual a ordem que seriam feitas. Depois das janelas prontas a

parte de programação e conexão com o banco de dados foi iniciada.

A programação foi dividida em partes, com a parte visual pronta, foram feitas

primeiro as ligações entre a tela principal e os painéis, que permite que a janela

principal seja única, porém diferentes painéis com conteúdo distinto são exibidos

nela dependendo do botão selecionado no menu principal. Então as funcionalidades

do software começaram a serem programadas fazendo conexões ao banco de

dados, para o programa poder criar, excluir e buscar dados. Todas as funções de

cadastrar, de excluir, visualizar, pesquisar e editar foram feitas em uma única etapa,

uma após a outra.

Page 26: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

26

5. RESULTADOS E DISCUSSÕES

Este tópico apresenta o resultado do trabalho, com uma explicação de como

funciona cada tela do programa.

5.1. Tela principal/ Painel Contas

Figura 8: Painel de exibição das contas

Fonte: A autora, 2014.

A tela principal do programa possui um menu principal, com o qual é possível

escolher qual painel deverá ser apresentado. Isto funciona como um sistema de

guias, cada item do menu muda o conteúdo da janela.

O programa inicia com o painel Contas, ele possui uma tabela, posicionada

no centro da tela, que serve para exibir nomes das contas que estão cadastradas e

a soma dos seus respectivos saldos. Esta tabela é atualizada automaticamente

sempre que a janela é aberta ou quando alguma mudança no banco de dados é

feita.

No lado direito da tela, encontra-se os botões de criação, edição, exclusão e

consulta das informações no banco de dados. Ao clicar no botão Nova Conta, é

Page 27: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

27

aberta uma pequena janela sobreposta à principal para o cadastro de uma nova

conta. O botão Editar Conta abre uma janela semelhante à de cadastro de contas,

mas para isto primeiramente deve estar selecionado uma conta na tabela. Com o

botão Excluir Conta, uma janela de confirmação é aberta para ter certeza de que

deseja excluir permanentemente a conta selecionada na tabela do banco de dados.

O botão Detalhes abre uma janela, sobreposta à principal, para exibição das

informações da conta selecionada na tabela.

5.2. Cadastro de Contas/ Editar Contas

Figura 9: Tela de Cadastro de Contas

Fonte: A autora, 2014.

A janela de Cadastro de Contas possui campos de preenchimento para o

nome, o número da conta e o número da agência bancária, a qual a conta pertence.

Ela também possui duas listas de seleções: uma para a escolha de um banco já

cadastrado; e outra para escolha do tipo de conta que será, Conta Poupança ou

Conta Corrente. A tela Editar Conta é uma janela semelhante a Cadastro de Contas,

mas que ao ser aberta, os campos são preenchidos automaticamente com os dados

que a conta selecionada antes de abrir a janela possui.

Page 28: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

28

O botão Cancelar nas duas janelas serve para fechar a tela aberta. Já o

Salvar, em Cadastro de Contas, tem função de adicionar as informações no banco

de dados, enquanto em Editar Contas, tem função de modificar as informações da

conta já cadastrada.

5.3. Detalhes da conta

Figura 10: Tela de Detalhes da Conta

Fonte: A autora, 2014.

A janela Detalhes da Conta é uma tela estática que apenas exibe os dados da

conta que está selecionada na tabela da janela Contas. Ela faz uma consulta no BD

automaticamente ao abri-la, para que o usuário do programa possa olhar os dados

que inseriu ao cadastrar a conta, já que a tabela só apresenta nome e o saldo.

5.4. Painel Bancos

O painel Bancos possui uma tabela para exibição de informações cadastradas

dos bancos, como: o nome, o telefone e o site. Ele possui também três botões para

criar, alterar e excluir dados. O botão Novo Banco abre a janela Cadastro de Banco,

onde é possível adicionar novas informações no BD (Banco de Dados). Enquanto o

botão Editar Banco abre uma janela semelhante à de cadastros, porém, preenchida

com os dados do banco que estiver selecionado na tabela de Bancos para

modificação. O botão Excluir Conta pede uma confirmação para excluir do registro o

banco que estiver selecionado na tabela.

Page 29: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

29

Figura 11: Painel de exibição dos Bancos

Fonte: A autora, 2014.

5.5. Cadastro de Banco/ Editar Bancos

Figura 12: Tela de Cadastro de Banco

Fonte: A autora, 2014.

A janela Cadastro de Banco possui três campos, um para escrever o nome,

um para escrever o site e outro para escrever o telefone do banco a ser cadastrado.

Os campos Site e Telefone não são obrigatórios para o cadastramento do banco. A

Page 30: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

30

janela Editar Banco é semelhante à de cadastro, porém ela já é preenchida ao abrir

com os dados do banco que estiver selecionado na tabela em Bancos.

O botão Cancelar, das duas janelas, fecha a janela aberta. Já o botão Salvar,

na janela de cadastro, adiciona o novo Banco no banco de dados, enquanto que na

janela de edição, modifica e/ou adiciona novos dados do Banco aos que já estiverem

cadastrados.

5.6. Painel Categorias

Figura 13: Painel de exibição de Categorias para transações

Fonte: A autora, 2014.

O painel Categorias possui uma tabela que lista os nomes das categorias

cadastradas. Ele possui também os botões: Nova Categoria, Editar Categoria e

Excluir Categoria. O botão Nova Categoria abre uma janela para o cadastro de uma

nova categoria. Os botões de editar e excluir necessitam que alguma categoria

esteja selecionada na tabela, pois será esta categoria selecionada que receberá

modificação; no caso do botão excluir, será o registro que pedirá confirmação para

exclusão, e no caso do botão editar, será o registro que preencherá o campo da

janela.

Page 31: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

31

5.7. Cadastro de Categorias/ Editar Categoria

Figura 14: Tela de Cadastro de Categoria

Fonte: A autora, 2014.

A janela Cadastro de Categoria possui apenas um campo, pois somente o

nome é preciso. A tela Editar Categoria é semelhante à de cadastro porém quando é

aberta, ela é carregada automaticamente com o nome que está selecionado na

tabela do painel Categorias. O botão Cancelar fecha a janela aberta, e o Salvar

adiciona ou modifica o dado no banco de dados, dependendo de qual das duas está

aberta.

5.8. Painel Favorecidos

O Favorecido é a pessoa ou empresa que está relacionada a transação

bancária. Pode ser uma pessoa com quem foi gasto ou quem forneceu o dinheiro.

No caso de uma empresa pode ser um supermercado ou uma clínica médica em

que é gasto com alimentos e consultas.

O painel Favorecidos (apresentado na Figura 17) possui uma tabela de leitura

que exibe os favorecidos cadastrados no BD, com seus respectivos telefone e e-mail

de contato. Ele também possui botões ao lado direito da tela, onde é possível

cadastrar novos favorecidos, atualizar e excluir registros mais antigos. O botão Novo

Favorecido e Editar Favorecido abrem, respectivamente, uma janela sobreposta a

primeira para o cadastro ou edição de um registro. O botão Excluir Favorecido abre

uma janela de confirmação, para então excluir o favorecido do BD

permanentemente. Os botões Editar e Excluir são habilitados somente se houver

algum favorecido selecionado na tabela.

Page 32: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

32

Figura 15: Painel de exibição dos favorecidos

Fonte: A autora, 2014.

5.9. Cadastrar Favorecidos/Editar Favorecidos

Figura 16: Tela de Cadastro de Favorecido

Fonte: A autora, 2014.

A janela Cadastro de Favorecido (apresentado pela Figura 18) tem três

campos: Nome, Telefone (para registrar um contato de ligação para transações) e E-

Page 33: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

33

mail. Os campos para o telefone e e-mail não são obrigatórios, somente o nome

precisa estar preenchido para que o registro possa ser feito. A tela também possui

dois botões: Cancelar para fechar a janela, e Salvar que efetua o registro no BD.

A janela Editar Favorecido é semelhante a de cadastro, porém, ao abrir é

preenchida automaticamente com os dados do favorecido que estiver selecionado

na tabela do Painel Favorecidos. O botão Salvar, nesta janela, atualiza no BD, o

dado que foi editado no campo. O botão Cancelar possui a mesma função do seu

equivalente da janela de cadastro.

5.10. Painel Movimentações

O painel Movimentações possui em seu interior uma tabela, que exibe todas

as movimentações registradas para uma determinada conta selecionada, com os

respectivos dados: o número da movimentação, que é gerado automaticamente pelo

banco de dados ao cadastrá-la, a data em que foi registrada, categoria, favorecido, o

tipo de movimentação e o valor da transação. A tabela deste painel difere das outras

tabelas do programa por ter como filtro uma lista de seleção com o nome das

contas, assim, a tabela exibe somente as movimentações da conta selecionada.

Abaixo da tabela é exibido o saldo total das transações que estão na tabela, este

saldo é atualizado toda vez que uma modificação for feita no banco, ou seja, um

novo registro ou a exclusão de um antigo, ela também muda de acordo com a conta

selecionada na lista selecionável.

O painel ainda possui botões que possibilitam alterações no banco, como:

criar, alterar e excluir uma transação. O botão Nova Movimentação abre a janela de

mesmo nome, para a criação de um novo registro de transação. O botão Editar

Movimentação abre a janela de mesmo nome, permitindo que algo possa ser

alterado em uma movimentação cadastrada. O botão Excluir abre uma caixa de

diálogo que pede confirmação para excluir um registro. Para que os botões Editar e

Excluir funcionem, uma movimentação deve estar selecionada na tabela.

Page 34: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

34

Figura 17: Painel de exibição das Movimentações financeiras

Fonte: A autora, 2014.

5.11. Nova Movimentação/ Editar Movimentação

A janela Nova Movimentação é uma das telas mais importantes para este

programa, que tem por objetivo registrar movimentações feitas em determinada

conta. Para que este registro possa ser feito, a tela possui: campo de data formatado

com as barras, para que somente números sejam colocados, campo para o valor da

transação, listas de seleção de contas, favorecidos e categorias, e possui também

botões de seleção Retirada e Depósito, para marcar se o dinheiro está sendo

retirado ou colocado na conta. Se o botão Retirada estiver selecionado o número

inserido no campo valor será convertido e armazenado no Banco de Dados como

negativo. O botão Cancelar fecha a janela e o botão Salvar adiciona o registro ao

banco de dados.

A janela Editar Movimentação é semelhante à tela de cadastro, porém quando

é aberta todos os campos estão preenchidos com o que foi cadastrado

anteriormente. Todos os campos são obrigatórios, portanto, ao clicar em Salvar,

Page 35: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

35

tanto na janela de Cadastro como na janela Editar, ele informará qual campo não

está preenchido, para só então modificar ou criar o registro.

Figura 18: Tela de Cadastro de Movimentação

Fonte: A autora, 2014.

5.12. Painel Relatório de Movimentações

Figura 19: Painel de exibição de Relatórios de movimentações das contas

Fonte: A autora, 2014.

Page 36: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

36

O painel Relatório tem por objetivo a visualização das movimentações

registradas, todas juntas ou filtradas por uma característica em comum, em uma

tabela. Ele também exibe, abaixo da tabela, o saldo total das transações

apresentadas na tabela, que se atualiza sempre que um filtro é utilizado. Os filtros

são compostos por um campo de data, para buscar por movimentações feitas no

mesmo dia, e pelas listas de seleção: Conta, Categoria e Favorecido. Os botões OK

fazem uma busca no banco de dados, de acordo com o campo ou a lista que está ao

seu lado.

6. CONSIDERAÇOES FINAIS

Este trabalho permitiu o levantamento de requisitos, que foi feito com o

orientador, a criação de um banco de dados, que foi modelado e depois

implementado, e o desenvolvimento de um programa que realizasse o cadastro de

contas, de movimentações feitas nestas contas e as exibisse num relatório que

pudesse utilizar filtros. O programa final realiza o cadastro também de categorias,

favorecido e banco que são informações importantes para o cadastro da conta e das

movimentações. O relatório pode utilizar quatro filtros diferentes e exibir um saldo.

As maiores dificuldades do trabalho foram: o tempo, alguns problemas

técnicos como travamentos e complicações com o uso do editor de texto e outros

programas utilizados, e também o fato de ter sido feito por uma única pessoa, que

não possuía muitos conhecimentos no assunto, o que resultou em um programa

simples. Como trabalhos futuros, sugere-se: complementar o software com um login

com senha, para dar mais segurança às informações, uma função que importe

arquivos de extrato de banco para o programa, trocar o banco de dados por

armazenamento em arquivos, para que não seja necessário ter um Sistema

Gerenciador de Banco de Dados (SGBD) instalado, e que os relatórios possam ser

agrupados por categoria ao invés de filtrados.

Page 37: GEF: GERENCIADOR FINANCEIRO · instituto federal de educaÇÃo, ciÊncia e tecnologia catarinense - campus avanÇado sombrio raquel ferreira pereira gef: gerenciador financeiro

37

REFERÊNCIAS

ASCENCIO, Ana F. G.; CAMPOS, Edilene A. V. Fundamentos da programação de computadores: Algoritmos, Pascal, C/C++ e Java. 2ª ed. São Paulo: Pearson Prentice Hall, 2007.

DEITEL, Harvey M; DEITEL, Paul J. Java como programar. 8. ed. São Paulo: Pearson Prentice Hall, 2010.

DATE, C. J. Introdução a sistemas de bancos de dados. 8. ed. Rio de Janeiro: Elservier, 2004.

HEUSER, Carlos A. Projeto de banco de dados. 6. ed. Porto Alegre: Bookman, 2009.

ANGELOTTI, Elaini S. Banco de Dados. Curitiba: Livro Técnico, 2010.

SOMMERVILLE, Iam. Engenharia de software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.

BEZERRA, Eduardo. Princípios de análise e projeto de sistemas com UML. 2. ed. Rio de Janeiro: Elsevier, Campus, 2007.

IDE Recursos do Netbeans. Disponível em:

<https://netbeans.org/features/index.html>. Acessado em 17 de dezembro de 2014.

XAVIER, Andressa. MySQL Workbench. Disponível em:

<http://www.baixaki.com.br/download/mysql-workbench.htm>. Acessado em: 17 de

dezembro de 2014.

MARTINS, Elaine. brModelo. Disponível em:

<http://www.baixaki.com.br/download/brmodelo.htm>. Acessado em: 17 de

dezembro de 2014.