1
ETEP - FACULDADE DE TECNOLOGIA DE SÃO JOSÉ DOS CAMPOS
ELDER HENRIQUE FERREIRA LEMES MAGNO RODOLFO DOS SANTOS PAULO VINICIUS LEMES ALKMIN DA COSTA RICARDO CESAR ANTUNES DA SILVA THIAGO REGIS WANDERSON APARECIDO DA SILVA
TRABALHO DO PROJETO TCC
ANALISE E DESENVOLVIMENTO DE SISTEMAS
São José dos Campos 2013
2
ELDER HENRIQUE FERREIRA LEMES MAGNO RODOLFO DOS SANTOS PAULO VINICIUS LEMES ALKMIN DA COSTA RICARDO CESAR ANTUNES DA SILVA THIAGO REGIS WANDERSON APARECIDO DA SILVA
TRABALHO DO PROJETO TCC
ANALISE E DESENVOLVIMENTO DE SISTEMAS
Projeto apresentado como exigência para avaliação final da disciplina “Projeto Integrador” do Curso de Tecnologia em Análise e Desenvolvimento de Sistemas da ETEP Faculdades, sob a orientação do prof. Claudio Luiz Coutinho Rodrigues Costa.
São José dos Campos 2013
3
ELDER HENRIQUE FERREIRA LEMES ____________________________________________ MAGNO RODOLFO DOS SANTOS ____________________________________________ PAULO VINICIUS LEMES ALKMIN DA COSTA ____________________________________________ RICARDO CESAR ANTUNES DA SILVA ____________________________________________ THIAGO REGIS ____________________________________________ WANDERSON APARECIDO DA SILVA ____________________________________________ TRABALHO DO PROJETO TCC
ANALISE E DESENVOLVIMENTO DE SISTEMAS
Projeto apresentado como exigência para avaliação
final
da
disciplina
“Projeto
Integrador” do Curso de Tecnologia em Análise e Desenvolvimento de Sistemas da ETEP Faculdades, sob a orientação do prof. Claudio Luiz Coutinho Rodrigues Costa.
São José dos Campos 2013
4
AGRADECIMENTOS Agradecemos primeiramente a Deus por conseguirmos concluir mais uma fase, e também não podemos esquecer nossos familiares pela paciência e compreensão, ao corpo docente pelo apoio no decorrer do curso e a todos que colaboraram direta e indiretamente com a realização desse trabalho.
5
RESUMO O Nexus Finanças foi desenvolvido para qualquer pessoa que deseja administrar suas finanças pessoais e facilitar o controle de suas receitas. O sistema possui funções de cadastro de participantes, cadastro de categorias, cadastro de subcategorias, lançamento de receita, lançamento de despesa, relatório por receita, relatório por despesa. O Nexus Finanças apresenta uma tela de resumo geral que demonstra a situação financeira atual do usuário.
6
ABSTRACT The Nexus Finance is designed for anyone who wants to manage their personal finances and facilitate control of its revenues. The system has functions of registration of participants, registration categories, registration of subcategories launch revenue, launching expense report for expense report in spending and graphing. The Nexus Finance presents an overview screen that shows the user's current financial situation and shows projections.
7
ÍNDICE ÍNDICE .................................................................................................................................................. 7 LISTA DE FIGURAS .............................................................................................................................. 10 LISTA DE TABELAS .............................................................................................................................. 12 LISTA DE SIGLAS E ABREVIATURAS .................................................................................................... 13 1. INTRODUÇÃO AO TEMA................................................................................................................14 2. JUSTIFICATIVA DA ESCOLHA..........................................................................................................14 3. OBJETIVO GERAL...........................................................................................................................15 3.1. Objetivos Específicos............................................................................................................. 15 4. PESQUISA DE MERCADO...............................................................................................................16 5. PROBLEMAS LEVANTADOS........................................................................................................... 17 5.1. Solução...................................................................................................................................17 5.2. Vantagens.............................................................................................................................. 18 6. FASES DO PROJETO NEXUS FINANÇAS..........................................................................................19 6.1. Considerações das fases do projeto NEXUS FINANÇAS..........................................................20 7. METODOLOGIA......................................................................................................................... ....21 8. CRONOGRAMA..............................................................................................................................23 9. REQUISITOS DO SISTEMA..............................................................................................................24 10. FUNDAMENTAÇÃO TEÓRICA.......................................................................................................25 10.1. Engenharia de Software......................................................................................................25 10.2. RUP......................................................................................................................................26 10.3. Arquitetura MVC.................................................................................................................28 10.4. Programação Orientada a Objetos......................................................................................29 10.5. UML.....................................................................................................................................30 10.5.1. Diagrama de Casos de Uso.....................................................................................31 10.5.2. Diagrama de Classe.................................................................................................32 10.5.3. Diagrama de Sequência..........................................................................................33 10.5.4. Diagrama de Atividade...........................................................................................34 10.6. BANCO DE DADOS..............................................................................................................35 10.6.1. Modelo Conceitual.................................................................................................35 10.6.2. Modelo Lógico........................................................................................................35
8
10.6.3. Modelo Físico..........................................................................................................36 11. FERRAMENTAS UTILIZADAS........................................................................................................37 11.1. Java.....................................................................................................................................37 11.2. HTML...................................................................................................................................37 11.3. JavaScript............................................................................................................................38 11.4. Adobe Dreamweaver..........................................................................................................39 11.5. Astah...................................................................................................................................39 11.6. NeatBeans...........................................................................................................................40 11.7. DBDesigner..........................................................................................................................40 11.8. MYSQL.................................................................................................................................41 11.9. PhpMyAdmin......................................................................................................................41 11.10. Bizagi.................................................................................................................................41 12. DEFINIÇÃO DO SISTEMA..............................................................................................................42 12.1. Visão Geral do Sistema.......................................................................................................42 12.2. Descrição da Base de Dados...............................................................................................42 12.2.1. Tabela Conta...........................................................................................................42 12.2.2. Tabela Participante.................................................................................................43 12.2.3. Tabela Contato.......................................................................................................43 12.2.4. Tabela Categoria.....................................................................................................43 12.2.5. Tabela Subcategoria................................................................................................44 12.2.6. Tabela TipoPagamentoRecebimento......................................................................44 12.2.7. Tabela Gasto...........................................................................................................45 12.2.8. Tabela Receita........................................................................................................45 13. PROJETO DO SISTEMA................................................................................................................ 46 13.1. Esquema de Banco de Dados..............................................................................................46 13.2. Arquitetura do Sistema.......................................................................................................49 13.2.1. Diagrama de Deployment.......................................................................................49
9
13.2.2. Diagrama de Casos de Uso e Cenários....................................................................50 13.2.3. Modelagem UML (Casos de Uso)............................................................................50 13.2.4. Descrição dos Casos de Uso....................................................................................51 13.2.5. Diagrama de Classes...............................................................................................61 13.2.6. Diagrama de Atividades..........................................................................................62 13.2.7. Diagrama de Sequência..........................................................................................71 13.3. Interfase Homem-Máquina................................................................................................76 14. RESULTADOS.............................................................................................................................. 85 15. CONCLUSÃO............................................................................................................................... 86 16. REFERÊNCIAS BIBLIOGRÁFICAS.................................................................................................. 87
10
LISTA DE FIGURAS Figura 1 – RUP (Rational Unified Process) ..............................................................26 Figura 2 – Arquitetura MVC .....................................................................................28 Figura 3 – Demonstrativo Diagrama Caso de Uso ....................................................31 Figura 4 – Demonstrativo Diagrama de Classe .........................................................32 Figura 5 – Demonstrativo Diagrama de Sequência ...................................................33 Figura 6 – Demonstrativo Diagrama de Atividade ...................................................34 Figura 7 – Diagrama Conceitual Banco de Dados ....................................................46 Figura 8 – Diagrama Lógico Banco de Dados ..........................................................47 Figura 9 – Diagrama Deployment .............................................................................48 Figura 10 – Diagrama de Caso de Uso .....................................................................49 Figura 11 – Diagrama de Classe de Análise ............................................................60 Figura 12 – Diagrama de Atividade Cadastro Conta ...............................................61 Figura 13 – Diagrama de Atividade - Login ............................................................61 Figura 14 – Diagrama de Atividade - Cadastro Participante ...................................62 Figura 15 – Diagrama de Atividade - Alterar Participante ......................................62 Figura 16 – Diagrama de Atividade - Excluir Participante ......................................63 Figura 17 – Diagrama de Atividade - Cadastrar Categoria ......................................63 Figura 18 – Diagrama de Atividade - Alterar Categoria ..........................................64 Figura 19 – Diagrama de Atividade - Excluir Categoria .........................................64 Figura 20 – Diagrama de Atividade - Cadastrar Subcategoria.................................65 Figura 21 – Diagrama de Atividade - Alterar Subcategoria.....................................65 Figura 22 – Diagrama de Atividade - Excluir Subcategoria ....................................66 Figura 23 – Diagrama de Atividade - Inserir Receita. .............................................66 Figura 24 – Diagrama de Atividade - Alterar Receita .............................................67 Figura 25 – Diagrama de Atividade - Excuir Receita ..............................................67 Figura 26 – Diagrama de Atividade – Incluir Despesa ............................................68 Figura 27 – Diagrama de Atividade – Alterar Despesa ...........................................68 Figura 28 – Diagrama de Atividade – Excluir Despesa ...........................................69 Figura 29 – Diagrama de Sequência - Login............................................................70 Figura 30 – Diagrama de Sequência - Cadastro de Participante ..............................70 Figura 31 – Diagrama de Sequência – Cadastro Categoria ......................................71 Figura 32 – Diagrama de Sequência – Cadastro Subcategoria ................................71
11
Figura 33 – Diagrama de Sequência – Lançamento de Despesa..............................72 Figura 34 – Diagrama de Sequência – Lançamento de Receita ...............................72 Figura 35 – Diagrama de Sequência – Relatório......................................................73 Figura 36 – BPMN (Notação de Modelagem de Processos de Negócio) ................74 Figura 37 – Tela Inicial ............................................................................................75 Figura 38 – Tela de Login ........................................................................................76 Figura 39 – Tela Cadastro de Usuário ......................................................................77 Figura 40 – Tela de Contato .....................................................................................78 Figura 41 – Tela Cadastro de Participante ...............................................................79 Figura 42 – Tela de Cadastro de Categoria ..............................................................80 Figura 43 – Tela de Cadastro de Subcategoria .........................................................81 Figura 44 – Tela de Receita......................................................................................82 Figura 45 – Tela de Despesa ....................................................................................83
12
LISTA DE TABELAS Tabela 1 - Cronograma ..............................................................................................23 Tabela 2 - Cadastro de Conta ....................................................................................42 Tabela 3 - Cadastro de Participante...........................................................................43 Tabela 4 - Cadastro de Contato .................................................................................43 Tabela 5 - Cadastro de Categoria ..............................................................................43 Tabela 6 - Cadastro de Subcategoria .........................................................................44 Tabela 7 - Cadastro de TipoPagamentoRecebimento ...............................................44 Tabela 8 - Cadastro de Despesa(Gasto) ....................................................................45 Tabela 9 - Cadastro de Receita ..................................................................................45 Tabela 10 - Caso de Uso Logar .................................................................................50 Tabela 11 - Caso de Uso Cadastro de Usu谩rio ..........................................................51 Tabela 12 - Caso de Uso Alterar Conta.....................................................................51 Tabela 13 - Caso de Uso Cadastro de Participante ...................................................52 Tabela 14 - Caso de Uso Alterar Participante ...........................................................52 Tabela 15 - Caso de Uso Excluir Participante...........................................................53 Tabela 16 - Caso de Uso Cadastrar Categoria...........................................................53 Tabela 17 - Caso de Uso Alterar Categoria...............................................................54 Tabela 18 - Caso de Uso Excluir Categoria ..............................................................54 Tabela 19 - Caso de Uso Cadastrar Subcategoria .....................................................55 Tabela 20 - Caso de Uso Alterar Subcategoria .........................................................55 Tabela 21 - Caso de Uso Excluir Subcategoria .........................................................56 Tabela 22 - Caso de Uso Incluir Receita ...................................................................56 Tabela 23 - Caso de Uso Alterar Receita ..................................................................57 Tabela 24 - Caso de Uso Excluir Receita ..................................................................57 Tabela 25 - Caso de Uso Incluir Despesa .................................................................58 Tabela 26 - Caso de Uso Alterar Despesa .................................................................58 Tabela 27 - Caso de Uso Excluir Despesa ................................................................59 Tabela 28 - Caso de Uso Relat贸rio............................................................................59
13
LISTA DE SIGLAS E ABREVIATURAS CSS - Cascading Style Sheets HTML - HyperText Markup Language HTTP - Hyper Text Transfer Protocol ODBC - Open Database Connectivity JDBC - Java Database Connectivity MER – Modelo Entidade Relacionamento MVC - Model-view-controller API - Application Programming Interface (ou Interface de Programação de Aplicativos) RUP - Rational Unified Process (ou Processo Unificado Rational) BPMN - Business Process Modeling Notation (BPMN) (em português Notação de Modelagem de Processos de Negócio) UML - Unified Modeling Language (UML) é uma linguagem de modelagem SQL - Structured Query Language, ou Linguagem de Consulta Estruturada POO – Programação Orientada a Objetos SGBD - Sistema de Gerenciamento de Banco de Dados PHP - Personal Home Page ASP - Active Server Pages JSP - JavaServer Pages
14
1. INTRODUÇÃO AO TEMA Controle Financeiro On-line GRÁTIS, Pessoal, controla suas contas em qualquer lugar com facilidade. Tenha total controle de suas finanças! No dia a dia, sempre nos deparamos com o controle financeiro, desde uma compra de um lanche a uma compra de um imóvel, porém, muitos realizam suas compras impulsionadas pelo consumismo e desejo. Primeiro é realizada a compra, posteriormente avaliado o impacto dessa compra em suas finanças pessoais. O Nexus Finanças veio dessa demanda para facilitar a todos de forma gratuita na gestão financeira pessoal.
2. JUSTIFICATIVA DA ESCOLHA A escolha de um projeto de Gestão Financeira Web se justifica pela diversidade de ferramentas que podem ser utilizadas e pelos diversos recursos que podemos aplicar para aprimorar nossos conhecimentos, além de ser um sistema que poderá atender a todas as pessoas que procuram controlar suas finanças e também buscam uma ferramenta mais eficaz. Também escolhemos desenvolver na plataforma Java, que é a plataforma em ascendência e é o futuro na questão de desenvolvimento, e também pela facilidade de migrá-la para um aplicativo Android, esse aplicativo Android seria uma fase a ser realizada posteriormente a aceitação do sistema Web, tendo a aceitação, o aplicativo Web iria fidelizar e atrair mais usuários.
15
3. OBJETIVO GERAL Desenvolver um sistema para Gestão Financeira Web gratuito, simples e amigável com plataforma JAVA.
3.1.
Objetivos Específicos
Desenvolver um sistema Web Totalmente gratuito e Web; Desenvolver um sistema Web, sem necessidade dos dados dos clientes (Nome,CPF,RG,etc.) não queremos passar a impressão que estamos “roubando” as informações de nossos clientes. Desenvolver um sistema simples e amigável, porém com recursos avançadas quando necessários. Desenvolver um sistema Web com diversos recursos, como inclusão de participantes nos lançamentos da conta, relatórios diversificados, tendo como intuito ser um sistema Web regularmente acessado por seus usuários. Além de oferecer diversos recursos, dar indicação de melhorias em suas finanças e indicar melhores soluções financeiras aos nossos usuários. Temos também como objetivo aperfeiçoar nosso sistema com a ajuda de nossos usuários, tendo um sistema que auxilie e como uma opção certa para quem busca uma gestão financeira pessoal efetiva.
16
4. PESQUISA DE MERCADO A ideia inicial do projeto surgiu a partir de uma realidade de mercado constatada através de uma necessidade atual de todos, controle financeiro pessoal, foi realizada uma pesquisa de sistemas web e aplicativos para controle financeiro pessoal. Pesquisa realizada entre 29/04/2013 à 06/05/2013. Sistemas Web: - gBolso (www.gbolso.com.br); - Minhas Economias (www.minhaseconomias.com.br); - Organizze (www.organizze.com.br); - Bônus (www.bonusweb.com.br); - Sr. Dinheiro (www.srdinheiro.com.br); - Gestor 24 horas (www.gestor24horas.com.br). Aplicativos Android: - Controle Financeiro (Ikoa); - Gesto Financeiro (IGNMobile); - Minhas Economias (Minhas Economias); - Canarinho – Finanças (André Luiz Pires Silva ALPS).
De acordo com pesquisas feitas e testes realizados, os sistemas web para controle financeiro atualmente disponíveis no mercado, em muitos casos necessitam de certo aprendizado (tempo) para sua utilização efetiva, e nos dias atuais todos buscam sistemas e aplicativos simples e efetivos.
17
5. PROBLEMAS LEVANTADOS Os problemas mais frequentes com os sistemas que já atuam no mercado são: - Tempo razoável para aprender a utilização do sistema, e dificuldade para leigos; - Realização de pré-cadastros para utilizar o sistema, demandando tempo; - Falta de interação com os usuários; - Falta de suporte e consultores; - Falta de informações relativas para tomadas de decisão.
5.1.
Solução
A solução encontrada foi à criação do Sistema Nexus Finanças, onde o usuário poderá se cadastrar de forma simples e pode utilizar um sistema de controle financeiro sem precisar passar nenhum tempo realizando pré-cadastros e vendo tutoriais para aprender utilizar o sistema. A utilização do sistema pode ser realizada de forma intuitiva, não deixando de ser correta. Foi criada uma interface simples, e de fácil compreensão, justamente para facilitar a utilização sem desgastar o interesse dos usuários. O projeto Nexus Finanças inicialmente tem o foco de ser um sistema de controle financeiro simples e amigável e não necessitar de pré-cadastros. Doravante chamado de (Fase 1), porém um projeto de um controle financeiro Web, demanda outras faces para um projeto completo e para buscar solucionar as necessidades que os usuários possuem atualmente.
18
5.2.
Vantagens
As vantagens do Nexus Finanças são: - Totalmente Gratuito e Online; - Interface simples e amigável; - Sem necessidade de realizar pré-cadastros; - Permite cadastros para customizar as categorias e subcategorias; - Permite o cadastro de participantes para a conta cadastrada; - Apresentação da tela (Resumo), que destaca a situação financeira atual do usuário; - Geração de relatórios simples e amigáveis. A principal vantagem é a fácil utilização, a interface simples que facilita a compreensão do usuário.
19
6. FASES DO PROJETO NEXUS FINANÇAS - Fase 1 : Criação do sistema de controle financeiro Web, em plataforma JAVA, com as opções: - Cadastro de Conta e Participante; - Cadastro de Categoria e Subcategoria; - Lançamento de Receita e Despesa; - Relatórios. - Fase 2 : Geração de Gráficos de forma simples e com os resultados dos relatórios já disponíveis; - Fase 3 : Exportação dos dados e relatórios e importação de comprovantes e extratos de bancos; - Fase 4 : Envio dos relatórios e gráficos por e-mail; - Fase 5 : Entrada nas redes sociais e divulgação do Nexus Finanças; - Fase 6 : Projeções financeiras do usuário em simulações ou através das estatísticas atuais do mesmo; - Fase 7 : Feed de Notícias; - Fase 8 : Suporte On-line, através de chat, apenas para usuários Premium. Esses planos serão tratados em outra fase, o recurso ficará indisponível nessa fase; - Fase 9 : Criação das ferramentas (Consultores) e (Análise financeira), esses recursos só estarão disponíveis para usuários Premium. Os usuários Premium terão contato com consultores e análise financeira on-line, os planos serão estabelecidos em outra fase. - Fase 10 : Criação de planos para sistema web, não altera-se as ferramentas já disponíveis no módulo gratuito, será acrescentado à possibilidade de análise financeira por consultoria. -Fase 11 : Criação da página (Oportunidades), classificados (compra,venda e troca) e oportunidades de (vagas); - Fase 12 : Criação do aplicativo para Android.
20
6.1.
Considerações das fases do projeto NEXUS FINANÇAS
As fases (Fase 7, Fase 8 e Fase 9), antes de sua inicialização, devem ser aprovadas com estudo de aceitação do Nexus Finanças no mercado. Sendo necessário um estudo complexo de mercado e viabilidade. A (Fase 10), deve se inicializar em paralelo com as fases (Fase 7, Fase 8 e Fase 9), pois ao término das fases anteriores, é essencial a capitalização de recursos para os gestores do projeto. A (Fase 11), antes de sua inicialização, deve ser realizado um novo estudo da aceitação do Nexus Finanças e pesquisa de mercado com os usuários já cadastrados e outros usuários em potencial. A (Fase 12), deve se iniciar em paralelo desde a (Fase 2) sendo avançada gradativamente, pois de acordo com a aceitação do Nexus Finanças no mercado haverá uma exigência dos clientes para a utilização do sistema através de aplicativo.
21
7. METODOLOGIA A metodologia utilizada foi a de Gerenciamento de Projeto, onde, em sua primeira etapa, foi à elaboração do cronograma. O cronograma foi naturalmente limitado pelas circunstâncias envolvidas, que se configuraram como restrições: o tempo disponível, os recursos computacionais disponíveis, a equipe disponível. Após a elaboração do cronograma, foi realizada uma análise de viabilidade básica. Primeiro, para determinar o que seria factível no prazo e com os recursos disponíveis, depois, para realizar o sistema com os objetivos traçados pela equipe. O desenvolvimento técnico em si envolveu as etapas abaixo, e consistiu de uma simplificação do RUP, em função das limitações do projeto: Primeiro, foi realizado o levantamento de Requisitos. Foram estabelecidos os requisitos da aplicação, sendo elaborados então os requisitos correspondentes. O passo seguinte foi realizar a Análise de Requisitos: Os requisitos sofreram um processo de análise, sendo então elaborados os artefatos: - Diagrama de Casos de Uso: A elaboração do Diagrama de Casos de Uso permitiu que fossem estabelecidas as condições de operação do sistema a ser desenvolvido. - Diagrama de Classe de Análise: O Diagrama de Classes de Análise foi gerado a partir de uma Análise dos Casos de Uso, tais diagramas possibilitaram a primeira divisão entre as responsabilidades dos elementos a serem criados, em nível conceitual. Esta divisão auxiliou a determinar as classes de fronteira, entidade e controle do sistema. - Diagramas de Atividades: O Diagrama de Atividades foi gerado a partir de uma Análise dos Casos de Uso e das Classes, tais diagramas possibilitaram elaborar o fluxo de controle de uma atividade para outra. - Diagrama de Sequência: O Diagrama de Sequência foi gerado a partir de uma Análise dos Casos de Uso, das Classes e Atividades, tais diagramas possibilitaram elaborar a sequência de processos (mais especificamente, de mensagens passadas entre objetos) no sistema. - BPMN - Notação de Modelagem de Processos de Negócio: A Notação de Modelagem de Processos de Negócios foi gerado para auxiliar no entendimento e na abstração de como funciona um negócio.
22
Após estabelecidos e criados os Diagramas de Casos de Uso, Diagrama de Classes de Análise, Diagrama de Atividades, Diagrama de Sequência e BPMN, iniciou-se o passo de Modelagem de Dados. Foram gerados os Modelos (Conceitual) e (Lógico). Devido a decisões de projeto que levaram ao uso de uma linguagem de programação não orientada a objetos, a modelagem de dados absorveu a etapa de Modelagem Lógica do sistema. A codificação tomou lugar imediatamente após a determinação de Classes de Análise, devido ao tempo para desenvolvimento, tendo como características: - Conhecimento da linguagem de programação: devido ao conhecimento adquirido durante o curso, foi escolhida a linguagem Java; - Reaproveitamento de codificação aprendidas e feitas durante o curso; - Java é uma linguagem de programação orientada a objeto; - Facilidades de Internacionalização - Suporta nativamente caracteres Unicode; - Portabilidade - Independência de plataforma - "escreva uma vez, execute em qualquer lugar" ("write once, run anywhere"); - É distribuída com um vasto conjunto de bibliotecas (ou APIs); - Possui facilidades para criação de programas distribuídos e multitarefa (múltiplas linhas de execução num mesmo programa); - Deslocação de memória automática por processo de coletor de lixo; - Carga Dinâmica de Código - Programas em Java são formados por uma coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização; Após a definição da Linguagem de Programação Java como base do desenvolvimento do Projeto, foi estabelecido o modelo de desenvolvimento MVC (Model-view-controller), atualmente considerado um Design Pattern (padrão de projeto) utilizado na Engenharia de Software. O modelo isola a "lógica" (A lógica da aplicação) da interface do usuário (Inserir e exibir dados), permitindo desenvolver, editar e testar separadamente cada parte.
23
8. CRONOGRAMA ID
Nome da Tarefa
Duração
Início
Término
1 2 3 4
Pesquisa e Análise de Mercado Levantamento de Requisitos Planejamento Estrutural do sistema Desenvolvimento 4.1 - Cadastro de Usuário 4.1.1 - Alteração de Usuário 4.1.2 - Exclusão de Usuário 4.2 - Cadastro de Participante 4.2.1 - Alteração de Participante 4.2.2 - Exclusão de Participante 4.3 - Acesso do Usuário ao Sistema 4.4 - Acesso do Participante ao Sistema 4.5 - Cadastro de Categoria 4.5.1 - Alteração de Categoria 4.5.2 - Exclusão de Categoria 4.6 - Cadastro de Subcategoria 4.6.1 - Alteração de Subcategoria 4.6.2 - Exclusão de Subcategoria 4.7 - Lançamento de Receita 4.7.1 - Alteração de Receita 4.7.2 - Exclusão de Receita 4.8 - Lançamento de Despesa 4.8.1 - Alteração de Despesa 4.8.2 - Exclusão de Despesa 4.9 - Tela de Resumo 4.10 – Relatórios Testes Documentação Monografia Revisão da Monografia Operação Assistida
3 dias 3 dias 5 dias 41 dias 1 dia 1 dia 1 dia 1 dia 1 dia 1 dia 2 dias 2 dias 2 dias 1 dia 1 dia 2 dias 1 dia 1 dia 3 dias 1 dia 1 dia 3 dias 2 dias 2 dias 2 dias 5 dias 31 dias 35 dias 14 dias 2 dias 1 dia
29/04/2013 03/05/2013 07/05/2013 13/05/2013 13/05/2013 13/05/2013 13/05/2013 15/05/2013 17/05/2013 17/05/2013 19/05/2013 19/05/2013 22/05/2013 25/05/2013 25/05/2013 27/05/2013 30/05/2013 30/05/2013 01/06/2013 05/06/2013 05/06/2013 07/06/2013 11/06/2013 11/06/2013 14/06/2013 17/06/2013 22/05/2013 08/05/2013 31/05/2013 15/06/2013 24/06/2013
02/05/2013 06/05/2013 12/05/2013 13/05/2013 14/05/2013 14/05/2013 14/05/2013 16/05/2013 18/05/2013 18/05/2013 21/05/2013 21/05/2013 24/05/2013 26/05/2013 26/05/2013 29/05/2013 31/05/2013 31/05/2013 04/06/2013 06/06/2013 06/06/2013 10/06/2013 13/06/2013 13/06/2013 16/06/2013 22/06/2013 22/06/2013 12/06/2013 14/06/2013 17/06/2013 24/06/2013
5 6 7 8 9
Tabela 1 – Cronograma
24
9. REQUISITOS DO SISTEMA O sistema deverá conter os requisitos básicos descritos abaixo: Cadastro de Usuário; Alteração de Senha e Email do Usuário; Exclusão de Conta; Cadastro e consulta de Participante; Alteração de Participante; Exclusão de Participante; Cadastro e consulta das Categorias; Alteração de Categoria; Exclusão de Categoria; Cadastro e consulta das Subcategorias; Alteração de Subcategoria; Exclusão de Subcategoria; Cadastro e consulta de Receita; Alteração de Receita; Exclusão de Receita; Cadastro e consulta de Despesa; Alteração de Despesa; Exclusão de Despesa; Relatórios de Despesas e Receitas; Tela de Resumo (situação financeira do usuário).
25
10.FUNDAMENTAÇÃO TEÓRICA Este capítulo aborda os principais fundamentos teóricos necessários para o desenvolvimento do projeto.
10.1. Engenharia de Software Responsável por melhorar a qualidade dos produtos de software e aumentar a produtividade no processo de desenvolvimento. A engenharia de software estabelece uma sistemática abordagem de desenvolvimento através de ferramentas e técnicas apropriadas dependendo do problema a ser abordados sempre considerando restrições e recursos disponíveis e ainda estabelece processos, métodos, técnicas, ferramentas e ambientes de suporte ao desenvolvimento de software. Quando encontra-se um problema no software deve ser analisado e escalonado em partes menores, para facilitar a resolução dos mesmos. Para cada uma dessas partes, uma solução deve ser elaborada. Solucionados os subproblemas isoladamente, é necessário integrar as soluções. (PRESSMAN, ROGER S 1995).
26
10.2. RUP O processo Unificado é um conjunto de atividades executadas pra transformar um conjunto de requisitos do cliente em um sistema de software. Pode ser customizado com base nas necessidades específicas e nos recursos disponíveis (SCOTT, 2003). O RUP utiliza a UML (Unified Modeling Language) que auxilia a entender os aspectos de um sistema de software (SCOTT, 2003). A seguir são mostradas na figura 2 as fases do RUP.
Figura 1 – RUP (Rational Unified Process)
27
O RUP adota quatro etapas:
•
Concepção: Momento onde é definida a sequência de atividades necessárias para
atingir o objetivo do projeto e de como vão atingi-los com sucesso, estes deverão ser aprovados pelos stakeholders. •
Elaboração: Estabelecer a capacidade para construção do novo sistema. Tem como
objetivo capturar a maioria dos requisitos funcionais, expandir a arquitetura candidata, abordar os riscos continuamente e finalizar a análise econômica do projeto. •
Construção: Inicia-se o desenvolvimento do software (produção de código e de
•
Transição: Nesta fase ocorre à entrega do software, é também feita a capacitação dos
testes).
usuários (SCOTT, 2003). Ainda no RUP encontra-se duas dimensões, são elas estática e dinâmica, que respectivamente representam o tempo, do ciclo de vida dos processos ( eixo horizontal ) e a outra representa as disciplinas que fazem parte das atividades ( eixo vertical ).
28
10.3. Arquitetura MVC A Arquitetura Model-View-Controller (MVC) divide uma aplicação em três camadas distintas: a camada Model, responsável pela persistência de dados, a camada View, representando a interface com o usuário e a camada Controller, responsável pela regra de negócio (GAMMA, 2000). Detalhadamente, as três camadas são descritas e mostradas na Figura 1: •
A camada Model representa a informação (dados) e as regras SQL para manipular dados do
banco. Mantém o estado persistente do negócio e fornece ao controlador á capacidade de acessar as funcionalidades da aplicação. •
A camada View faz a representação com usuário, permite a entrada de dados e a
visualização de respostas geradas, nesta camada não deve conter códigos relacionados à regra de negócio. •
A camada Controller é a intermediária entra a View e o Model, ela interpreta, controla e
mapeia os eventos feitos pelos usuários, realizando a comunicação entre a camada de interface com o usuário e a camada de persistência de dados.
Figura 2 – Arquitetura MVC (DOUGDEV)
29
10.4. Programação Orientada a Objetos A Programação Orientada a Objetos (POO) ou Object Oriented Programming (OOP), é uma visão de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos (MONTENEGRO, 1994). Além de envolver a abstração de processos, a orientação a objetos envolve a abstração de dados. Em termos didáticos, um objeto pode ser considerado como um pequeno programa que guarda dentro de si, dados e as funções relativas àqueles dados. Portanto, elaborar um programa orientado a objetos consiste em criar uma série de mini programas que armazenam neles mesmo suas informações e operações (MONTENEGRO, 1994). A análise e projeto orientados a objetos, têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software, logo o funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos (MONTENEGRO, 1994). Uma definição formal para classe e objeto é dada a seguir:
Classe: é uma abstração que definirá um tipo de objeto e determinar seus atributos e também suas ações e métodos. (PACHECO, 1994).
Objeto: é a entidade que formaliza a compreensão de algo no domínio de um problema (PACHECO, 1994).
30
10.5. UML A Unifield Modeling Language (UML) ou Linguagem de Modelagem Unificada é uma linguagem visual utilizada para modelar software baseados no paradigma de orientação a objeto. Essa linguagem tornou-se, nos últimos anos, a linguagem-padrão de modelagem adotada internacionalmente pela indústria de engenharia de software (GUEDES, 2009). Deve ficar bem claro, porém, que a UML não é uma linguagem de programação, e sim uma linguagem de modelagem, uma notação, cujo objetivo é auxiliar os engenheiros de software a definirem as características do software, tais como seus requisitos, seu comportamento, sua estrutura lógica, a dinâmica de seus processos e até mesmo suas necessidades físicas em relação ao equipamento sobre o qual o sistema deverá ser implantado. Tais características podem ser definidas por meio da UML não é um processo de desenvolvimento. Além disso, cumpre destacar que a UML não é um processo de desenvolvimento de software e tampouco está ligada a um de forma exclusiva, sendo totalmente diferentes ou mesmo da forma que o engenheiro considerar mais adequada (GUEDES, 2009).
31
10.5.1.
Diagrama de Casos de Uso
O diagrama de casos de uso representa uma iteração completa entre um sistema e um ou mais agentes externos, este representa o uso de certa funcionalidade do sistema. Quando se analisa um caso de uso de um sistema pode saber quais funcionalidades são fornecidas pelo sistema e quais resultados são obtidos pelo mesmo, mas em análise ao caso de uso não se pode definir como o sistema age internamente para gerar tais resultados. O diagrama de Caso de Uso é representado por: Atores; Casos de uso; Relacionamentos entre estes elementos. Estes relacionamentos podem ser: Associações entre atores e casos de uso; Generalizações entre os atores; Generalizações, extends e includes entre os casos de uso. Os casos de uso podem opcionalmente estar envolvidos por um retângulo que representa os limites de um sistema (BEZERRA,2007).
Figura 3 – Demonstrativo Diagrama de Caso de Uso
32
10.5.2.
Diagrama de Classe
O diagrama de classes é um dos diagramas mais rico em informações existentes na UML, com ele o desenvolvedor consegue ter uma visão além das funções que um determinado sistema irá fazer, ao contrario do diagrama de casos de uso que passa uma visão superficial. Uma classe é representada por uma espécie de caixa, com no máximo três campos, são eles respectivamente, nome da classe, lista de atributos, lista de operações. Estruturalmente, as classes são feitas de atributos e de operações, onde os atributos são a descrição dos dados armazenados pelos objetos da classe. As operações são ações que os objetos de uma classe sabem realizar (BEZERRA, 2007).
Figura 4 – Demonstrativo Diagrama de Classe
33
10.5.3.
Diagrama de Sequência
Apresenta a interação entre objetos na ordem temporal que eles acontecem, como nos outros diagramas da UML o de sequência também apresenta uma série de elementos gráficos. Um diagrama de sequência tem duas dimensões: a horizontal, que nos apresenta o conjunto de objetos; e a dimensão vertical que representa o tempo (BEZERRA, 2007).
Figura 5 – Demonstrativo Diagrama de Sequencia
34
10.5.4.
Diagrama de Atividade
O Diagrama de atividade é um diagrama definido pela Linguagem
de Modelagem
Unificada (UML), e representa os fluxos conduzidos por processamentos. É essencialmente um gráfico de fluxo, mostrando o fluxo de controle de uma atividade para outra. Comumente isso envolve a modelagem das etapas sequenciais em um processo computacional. Os diagramas de atividade não são importantes somente para a modelagem de aspectos dinâmicos de um sistema ou um fluxograma, mas também para a construção de sistemas executáveis por meio de engenharia de produção reversa (BEZERRA, 2007).
Figura 6 – Demonstrativo Diagrama de Atividade
35
10.6. BANCO DE DADOS Pode-se considerar como um banco de dados qualquer tipo de sistema que reúna informações e as mantenham organizadas. Usualmente um banco de dados agrupa registros para um mesmo fim. Na maioria das vezes um Banco de Dados (BD) é gerenciado e acessado por um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). O SGBD é um conjunto de programas que permitem armazenar, modificar e extrair informação de um BD (BIANCHI WAGNER, 2012).
10.6.1.
Modelo Conceitual
O modelo conceitual é baseado no mais alto nível e deve ser usado para o envolvimento do cliente. O modelo conceitual é mais fácil de compreender, por não haver limitação ou aplicação de uma tecnologia específica. O diagrama de dados que deve ser construído aqui, se chama Diagrama de Entidade e Relacionamento, onde deverá ser identificado todas as entidades e os relacionamentos entre elas. Este diagrama é a chave para a compreensão do modelo conceitual de dados (BIANCHI WAGNER, 2012).
10.6.2.
Modelo Lógico
O modelo lógico visa algumas limitações e inclui recursos de padronização e nomenclatura. Define as chaves primárias e estrangeiras. Deve ser criado com base nas modelagens de dados criados no modelo conceitual (BIANCHI WAGNER, 2012).
36
10.6.3.
Modelo Físico
No modelo físico é feita a modelagem física do modelo de banco de dados. Visa as limitações impostas pelo SGBD escolhido e pelos requisitos não funcionais dos programas que acessam os dados, deve ser criado baseando-se nas modelagens de dados criados no modelo lógico (BIANCHI WAGNER, 2012).
37
11.FERRAMENTAS UTILIZADAS Neste capitulo são descritos as ferramentas que foram usadas no desenvolvimento do software “Gestor Financeiro Web”.
11.1. Java Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para um bytecode que é executado por uma máquina virtual. A linguagem de programação Java é a linguagem convencional da Plataforma Java, mas não sua única linguagem.
11.2. HTML HTML, linguagem dedicada à construção e exibição de páginas Web, constituído de linhas de programação em forma de texto com códigos especiais que são chamados de tags. HTML, linguagem de fácil entendimento, fácil desenvolvimento e fácil manipulação, considera-se uma linguagem global, por se tratar de uma linguagem que se adapta a vários navegadores e dispositivos utilizando de pouca alteração em sua codificação. O HTML é igual a outras linguagens onde, o programador deve escrever o código seguindo uma sequência especifica da linguagem, depois de escrito o código, o navegador é utilizado para executar o conteúdo da página, mostrando visualmente o que foi codificado na linguagem HTML. A linguagem HTML tem uma pequena diferença sobre as outras linguagens, caso ocorra um erro de sintaxe, o navegador apenas ignora o conteúdo da sintaxe continuando a execução, quando em outras linguagens a execução é interrompida sem mostrar o conteúdo.
38
O HTML que foi criado por Tim Berners-Lee, foi desenvolvida em uma estação NeXTcube utilizando o ambiente de desenvolvimento NeXTSTEP. As primeiras versões do HTML foram desenvolvidas e definidas com regras sintáticas flexíveis, que possibilitou aos que não eram familiarizados com a linguagem a conseguirem realizar a publicação na Web. Atualmente o HTML possui uma grande rigidez na sua sintaxe fazendo como o código seja mais preciso. Com o tempo, foram criadas ferramentas para criação dos códigos HTML, com isso a linguagem HTML foi tendo uma codificação cada vez mais rígida, porém, os navegadores ainda conseguem interpretar as páginas HTML antigas onde os códigos não possuíam tão rigidez. (MACORATTI C. JOSÉ, 2012)
11.3. JavaScript Linguagem de programação desenvolvida pela Netscape em 1995. JavaScript foi a primeira linguagem considerada extensão da HTML e que deu a capacidade de processamento client-side. A linguagem JavaScript possui algumas possibilidades que ultrapassam a marcação HTML e a linguagem de estilos CSS, possui a possibilidade de efetuar operações matemáticas, adaptação conforme a versão do browse do cliente, resolução de vídeo, data e hora local entres outras infinidades de adaptações, possui tratamento de eventos possibilitando a interação com o usuário, possibilita a manipulação de janelas do browse podendo trocar informações entre as janelas, pode alterar as propriedades da página dinamicamente, entre outras possibilidades que a HTML não possui.(CARVALHO ALAN, 2001).
39
11.4. Adobe Dreamweaver O Adobe Dreamweaver foi criado pela Macromedia tendo o nome de Macromedia Dreamweaver e foi comprado pela Adobe Systems e passou a ter seu nome atual. Software voltado para desenvolvimento web, mas em suas evoluções, as versões recentes possuem suporte a outras tecnologias web, como XHTML, CSS, JavaScript, Ajax, PHP, ASP, ASP.NET, JSP, ColdFusion e outras linguagens Server-side. O Dreamweaver dispõe de um modo design onde, usuários menos experientes podem criar suas páginas, seus sites ou até aplicações Web com mais facilidade. Dreamweaver possui a possibilidade de editar um trabalho no modo código, onde o usuário com um conhecimento mais aprofundado pode elaborar seus projetos ou trabalhos utilizando outras linguagens suportadas pelo software, tornando seu trabalho mais complexo contendo funções específicas, disponibilizada pela linguagem escolhida (OLIVEIRA GABRIEL, 2012).
11.5. Astah O software Astah é uma ferramenta design de sistemas, com suporte a UML, Diagrama de Relacionamento de Entidades, Fluxograma, CRUD, Diagrama de Fluxo de Dados, Tabela de Requisições e Mapas mentais. Permite que desenvolvedores, analistas, testadores e gerentes possam comunicarem-se usando diagramas criados por ele, pois os diagramas são armazenados de forma constante em um modelo (Change Vision Astah Professional, 2012).
40
11.6. NetBeans O NetBeans foi criado quando a linguagem Java ainda não era tão popular entre os programadores. Permite escrever, compilar, depurar e instalar programas. Seu código é escrito em Java, mas pode suportar qualquer outra linguagem de programa e também nos disponibiliza módulos que extendem a funcionalidade do IDE. Fornece um sólida base para criar módulos e projetos, possui uma grande quantidade de bibliotecas e APIs. Estas soluções ajudam o desenvolvedor a escrever seu software de maneira mais rápida e eficiente. É uma ferramenta Open Source que conta com o conhecimento de toda comunidade Java para que novas funcionalidades seja incorporadas à ferramenta (NetBeans, 2013).
11.7. DBDesigner O DBDesigner é uma ferramenta usada para o projeto de um banco de dados que associa a modelagem, o projeto, a implementação e a manutenção em um mesmo lugar. Foi desenvolvida por uma empresa e atualmente encontra-se na versão 4 e está disponível para download para plataformas Window e Linux (disponibilizada sob a licença GLP). Usa o banco de dados com o SGBD MySQL, portanto, para utilizarmos todas as funcionalidades da ferramenta é necessário a instalação do MySQL.
Quando se utiliza a ferramenta DBDesigner você sempre trabalha com um modelo que é uma visualização armazenada em uma base de dados (tabelas, relações, índices, etc.). Então dessa forma é possível definir e armazenar dados em tabelas diretamente no modelo.
41
11.8. MySQL O MySQL é um SGBD (Sistema de gerenciamento de banco de dados) e utiliza a linguagem SQL como interface. Atualmente é um dos bancos de dados mais usuais. Foi criado na Suécia e foi comprada pela Sun Microsystems em 2008, na época foi considerada a compra mais cara no setor de licenças livres.Um dos grandes motivos do sucesso do MySQL é a fácil integração com diversas linguagens de programação.
11.9. PhpMyAdmin Aplicativo web desenvolvido para PHP usado na administração do MySQL pela internet. Seu uso nos permite criar, remover, alterar tabelas, inserir, remover e editar campos e inserir executar códigos SQL. Utilizado principalmente por programadores web, é uma ferramenta essencial em quase todos os tipos de hospedagem.
11.10. Bizagi Bizagi é um conjunto de software com dois produtos complementares, um modelador de processos e BPM Suite. BizAgi Process Modeler é um freeware aplicativo usado para processos de diagramas e documentos usando o Process Modeling Notation Negócios (BPMN) notação padrão. Bizagi BPM Suite é um Business Process Management (BPM) e de fluxo de trabalho solução que permite às organizações automatizar processos / fluxos de trabalho. Há uma edição de nível de entrada (Xpress Edição) e duas edições corporativos (Enterprise . NET e Enterprise JEE ). Bizagi Limitada é uma empresa privada fundada em 1989, e seu nome significa agilidade nos negócios.
42
12. DEFINIÇÃO DO SISTEMA 12.1. Visão Geral do Sistema Com o sistema é possível fazer o controle financeiro, os usuários poderão realizar o controle, das receitas recebidas, receitas pendentes, das despesas pagas, das despesas pendentes, ter uma visão da situação financeira atual e também verificar os lançamentos através de relatórios e gerar gráficos. O sistema Nexus Finanças é uma aplicação simples e fácil de ser utilizada, onde ao longo do mês pelas operações do sistema introduzirá os lançamentos de despesas e receitas, demonstrando ao usuário a sua situação financeira clara e objetiva. O projeto busca contribuir para o processo de implantação de controles financeiros na vida de todos os usuários, contribuindo com a vida de muitas famílias brasileiras que buscam melhorar suas finanças e também proporcionar aos usuários um sistema fácil e que dê resultados no dia a dia de cada usuário.
12.2. Descrição da Base de Dados 12.2.1.
Tabela Conta
A Tabela 1 foi criada para realizar o cadastro da conta do usuário, para que o mesmo possa ter a acesso ao sistema de controle financeiro. NOME DO CAMPO
TIPO
DESCRIÇÃO
CONTA_ID
INTEGER
Armazena o ID do usuário
VARCHAR
Armazena o e-mail do usuário
SENHA
VARCHAR
Armazena a senha do usuário
STATUS_CONTA
INTEGER
Armazena o status do usuário
TIPO
ENUM Tabela 2 - Cadastro de Conta
Armazena o tipo de usuário
43
12.2.2.
Tabela Participante
A Tabela 2 foi criada para realizar o cadastro de participantes associados a conta, para que o mesmo possa ter a acesso ao sistema de controle financeiro, efetuando lançamentos como participante da conta. NOME DO CAMPO
TIPO
DESCRIÇÃO
PARTICIPANTE_ID
INTEGER
Armazena o ID do participante
STATUS_ID
INTEGER
Armazena o status do participante (1-Ativo/2-Cancelado)
CONTA_ID
INTEGER
Armazena o ID da conta que o participante estará associado
VARCHAR
Armazena o e-mail do participante
SENHA
VARCHAR
TIPOCATEGORIA
12.2.3.
Armazena a senha do participante Armazena o tipo de participante e os privilégios que terá no ENUM sistema Tabela 3 - Cadastro de Participante
Tabela Contato
A Tabela 3 foi criada para que usuário ou não do sistema de controle financeiro, possa enviar seu contato, em forma de comentário, sugestão, problema, etc. NOME DO CAMPO CONTATO_ID NOME EMAIL TELEFONE ASSUNTO MENSAGEM
12.2.4.
TIPO DESCRIÇÃO INTEGER Armazena o ID do contato VARCHAR Armazena o nome da pessoa VARCHAR Armazena o e-mail da pessoa VARCHAR Armazena o telefone da pessoa VARCHAR Armazena o assunto VARCHAR Armazena a mensagem Tabela 4 - Cadastro de Contato
Tabela Categoria
A Tabela 4 foi criada para o cadastro de categorias, o sistema já possui categorias padrões, porém o usuário pode cadastrar categorias que lhe atendam da melhor forma. NOME DO CAMPO IDCATEGORIA STATUS_ID CONTA_ID NOME
TIPO INTEGER INTEGER INTEGER VARCHAR
TIPOCATEGORIA
ENUM
DESCRIÇÃO Armazena o ID da categoria Armazena o status da categoria (1-Ativo/2-Cancelado) Armazena a CONTA_ID caso o usuário inclua uma categoria nova Armazena o nome da categoria Armazena o tipo de categoria (padrão - já existente no sistema / nova incluída pelo usuário Tabela 5 - Cadastro de Categoria
44
12.2.5.
Tabela Subcategoria
A Tabela 5 foi criada para o cadastro de subcategorias, o sistema já possui subcategorias padrões, porém o usuário pode cadastrar subcategorias que lhe atendam da melhor forma.
NOME DO CAMPO SUB_CATEGORIA_ID STATUS_ID IDCATEGORIA CONTA_ID NOME
TIPO INTEGER INTEGER INTEGER INTEGER VARCHAR
TIPOSUBCATEGORIA
ENUM
12.2.6.
DESCRIÇÃO Armazena o ID da subcategoria Armazena o status da subcategoria (1-Ativo/2-Cancelado) Armazena o ID da categoria associada Armazena a CONTA_ID caso o usuário inclua uma subcategoria nova Armazena o nome da subcategoria Armazena o tipo de subcategoria (padrão - já existente no sistema / nova incluída pelo usuário Tabela 6 - Cadastro de Subcategoria
Tabela TipoPagamentoRecebimento
A Tabela 6 foi criada para o cadastro de tipo de pagamento e recebimento, o sistema deve controlar a forma de pagamento e recebimento (dinheiro,cheque,cartão de débito, cartão de crédito, etc.). As informações dessa tabela são inseridas pelo sistema.
NOME DO CAMPO TIPO DESCRIÇÃO TIPOPAGAMENTORECEBIMENTOID INTEGER Armazena o ID do tipo pagamento/recebimento DESCRICAO VARCHAR Armazena a descrição do tipo pagamento/recebimento Tabela 7- Cadastro de TipoPagamentoRecebimento
45
12.2.7.
Tabela Gasto
A Tabela 7 foi criada para o lançamento de gasto para o controle financeiro, tendo o usuário os dados necessários para melhor controlar suas finanças. NOME DO CAMPO GASTO_ID STATUS_ID TIPOPAGAMENTORECEBIMENTOID SUB_CATEGORIA_ID IDCATEGORIA CONTA_ID VALOR DATA_GASTO PAGO_PENDENTE OBSERVAÇÃO EMAIL_AVISO CELULAR_AVISO NUMERO_PARCELAS REPETE_LANCAMENTO DATA_VENCIMENTO
12.2.8.
TIPO INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER DECIMAL DATE VARCHAR VARCHAR VARCHAR
DESCRIÇÃO Armazena o ID do gasto(despesa) Armazena o status do gasto (1-Ativo/2-Cancelado) Armazena o ID do tipo pagamento/recebimento associado Armazena o ID da subcategoria associada Armazena o ID da categoria associada Armazena o ID da conta associada Armazena o valor do gasto Armazena a data do gasto Armazena se o gasto está pago ou pendente Armazena a observação referente ao gasto Armazena o e-mail de aviso caso informando para o gasto Armazena o número de celular de aviso caso informado para VARCHAR o gasto Armazena o número de parcelas em caso de gasto INTEGER parcelado Armazena se o gasto se repete, caso sim, é necessário VARCHAR informar o número de parcelas DATE Armazena a data de vencimento do gasto Tabela 8 - Cadastro de Gasto
Tabela Receita
A Tabela 8 foi criada para o lançamento de Receita para o controle financeiro, tendo o usuário os dados necessários para melhor controlar suas finanças. NOME DO CAMPO RECEITA_ID STATUS_ID TIPOPAGAMENTORECEBIMENTOID SUB_CATEGORIA_ID IDCATEGORIA CONTA_ID DATA_VENCIMENTO VALOR DATA_RECEBIMENTO RECEBIDO_PENDENTE OBSERVAÇÃO EMAIL_AVISO CELULAR_AVISO REPETE_LANCAMENTO NUMERO_PARCELAS
TIPO INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER DATE DECIMAL DATE VARCHAR VARCHAR VARCHAR
DESCRIÇÃO Armazena o ID da receita Armazena o status do gasto (1-Ativo/2-Cancelado) Armazena o ID do tipo pagamento/recebimento associado Armazena o ID da subcategoria associada Armazena o ID da categoria associada Armazena o ID da conta associada Armazena a data de vencimento da receita Armazena o valor da receita Armazena a data de recebimento Armazena se a receita está recebida ou pendente Armazena a observação referente a receita Armazena o e-mail de aviso caso informando para a receita Armazena o número de celular de aviso caso informado para VARCHAR a receita Armazena se a receita se repete, caso sim, é necessário VARCHAR informar o número de parcelas Armazena o número de parcelas em caso de receita INTEGER parcelada Tabela 9 - Cadastro de Receita
46
13.PROJETO DO SISTEMA 13.1. Esquema de Banco de Dados O esquema de banco de dados do projeto “Nexus Finanças” foi desenvolvido para se ter uma relação lógica com os objetos que serão armazenados pelo sistema.
13.1.1.
Modelo Conceitual
A Figura representa a Visão conceitual da base de dados.
Figura 7 – Diagrama Conceitual Banco de Dados
47
13.1.2.
Modelo Lógico
A Figura representa a Visão lógica da base de dados.
Figura 8 – Diagrama Lógico Banco de Dados
48
13.2. ARQUITETURA DO SISTEMA 13.2.1.
Diagrama de Deployment
A Figura representa o Diagrama de Deployment do sistema Nexus Finanรงas.
Figura 9 - Diagrama de Deployment
49
13.2.2.
Diagrama de Casos de Uso e Cenários
A Figura 14 representa o Diagrama de Casos de Uso do sistema Nexus Finanças, e em seguida são apresentados os cenários correspondentes.
13.2.3.
Modelagem UML (Casos de Uso)
Figura 10 – Diagrama de Caso de Uso
50
13.2.4.
Descrição dos Casos de Uso
Este diagrama de caso de uso apresenta todos os módulos do sistema, representando as funcionalidades permitidas para cada tipo de usuário.
13.2.4.1. Caso de Uso Logar
Caso de Uso:
Logar
Atores: Sumário:
Usuário Master, Participante Este caso de uso inicia-se quando há necessidade de um usuário master ou participante logar (entrar) no sistema.
Pré-Condições:
O ator deverá estar conectado no Website
Fluxo Principal:
1- O usuário informa o login e senha pessoal; 2- O sistema realiza validação dos campos; 3- O sistema permite o acesso;
Fluxo Alternativo: Fluxo de Exceção:
3: O sistema encontra erro nas informações, não efetua a ação e exibe mensagem informativa. Tabela 10 - Caso de Uso Logar
51
13.2.4.2. Caso de Uso Cadastro de Usuário Caso de Uso:
Cadastrar Usuário
Atores: Sumário:
Usuário Master Este caso de uso inicia-se quando há necessidade de um individuo controlar suas contas pessoais
Pré-Condições:
O ator deverá estar conectado no Website 1- O usuário informa email, confirma email, senha e confirma senha;
Fluxo Principal:
2- O sistema realiza validação dos campos; 3- O sistema realiza a inclusão do usuário;
Fluxo Alternativo: Fluxo de Exceção:
3: O sistema encontra erro nas informações, não efetua a ação e exibe mensagem informativa. Tabela 11 - Caso de Uso Cadastrar Usuário
13.2.4.3. Caso de Uso Alterar Conta
Caso de Uso:
Alterar Conta
Atores:
Usuário Master Este caso de uso inicia-se quando há necessidade de um usuário master logado no sistema de alterar sua senha ou seu login.
Sumário: Pré-Condições:
Fluxo Principal:
O ator deverá estar conectado no Website 1- O usuário seleciona o menu Opções; 2- O sistema disponibiliza ao usuário o formulário de alteração; 3- O usuário informa a senha atual; 4- O sistema habilita os campos login e senha para edição; 5- O usuário preenche o formulário e seleciona o botão salvar. 6- O sistema realiza validação dos campos e efetua a alteração;
Fluxo Alternativo: Fluxo de Exceção:
6: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 12 - Caso de Uso Alterar Conta
52
13.2.4.4. Caso de Uso Cadastrar Participante Caso de Uso: Atores:
Sumário: Pré-Condições: Fluxo Principal:
Fluxo Alternativo: Fluxo de Exceção:
Cadastrar Participante Usuário Master Este caso de uso inicia-se quando há necessidade de cadastrar um participante para poder consultar e realizar lançamentos no controle financeiro da conta de um usuário master. O ator deverá estar conectado no Website 1- O usuário master informa email do participante, confirma email do participante, senha do participante e confirma senha do participante; 2- O sistema realiza validação dos campos; 3- O sistema realiza a inclusão do participante; - O usuário seleciona a opção editar do participante desejado; - O sistema libera os campos com os dados do participante para serem editados; - O Usuário edita as informações desejadas e seleciona o botão Salvar; - O sistema faz a validação dos campos e efetua a alteração; - O usuário seleciona a opção excluir do participante desejado; - O sistema exibe uma mensagem de confirmação; - O usuário confirma a exclusão; - O sistema exclui o participante selecionado. 3: O sistema encontra erro nas informações, não efetua a ação e exibe mensagem informativa. Tabela 13 - Caso de Uso Cadastrar Participante
13.2.4.5. Caso de Uso Alterar Participante Caso de Uso: Atores: Sumário: Pré-Condições:
Fluxo Principal:
Alterar Participante Usuário Master, Participante Este caso de uso inicia-se quando há necessidade de um usuário master ou participante logado no sistema de alterar a senha e login do participante. O ator deverá estar conectado no Website 1- O usuário seleciona o menu Opções; 2- O sistema disponibiliza ao usuário master ou participante o formulário de alteração; 3- O usuário master ou participante informa a senha atual; 4- O sistema habilita os campos login e senha para edição; 5- O usuário master ou participante preenche o formulário e seleciona o botão salvar. 6- O sistema realiza validação dos campos e efetua a alteração;
Fluxo Alternativo: Fluxo de Exceção:
6: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 14 - Caso de Uso Alterar Participante
53
13.2.4.6. Caso de Uso Excluir Participante
Caso de Uso:
Excluir Participante
Atores:
Usuário Master Este caso de uso inicia-se quando há necessidade de um usuário master logado no sistema de excluir um participante. O ator deverá estar conectado no Website 1- O usuário seleciona o menu Opções; 2- O sistema lista os participantes cadastrados; 3- O sistema habilita o botão excluir; 4- O usuário master clica em excluir; 5- O sistema realiza a exclusão do participante.
Sumário: Pré-Condições:
Fluxo Principal:
Fluxo Alternativo: Fluxo de Exceção:
5: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 15 - Caso de Uso Excluir Participante
13.2.4.7. Caso de Uso Cadastrar Categoria Caso de Uso: Atores:
Sumário: Pré-Condições: Fluxo Principal:
Fluxo Alternativo: Fluxo de Exceção:
Cadastrar Categoria Usuário Master, Participante Este caso de uso inicia-se quando há necessidade de usuário master ou participante ter a necessidade de cadastrar uma categoria inexistente no sistema. O ator deverá estar conectado no Website 1- O usuário informa categoria; 2- O sistema realiza validação do campo; 3- O sistema realiza a inclusão da categoria; - O usuário seleciona a opção editar da categoria desejada; - O sistema libera os campos com os dados da categoria para serem editados; - O Usuário edita as informações desejadas e seleciona o botão Salvar; - O sistema faz a validação dos campos e efetua a alteração; - O usuário seleciona a opção excluir da categoria desejada; - O sistema exibe uma mensagem de confirmação; - O usuário confirma a exclusão; - O sistema exclui a categoria selecionada. 3: O sistema encontra erro nas informações, não efetua a ação e exibe mensagem informativa. Tabela 16 - Caso de Uso Cadastro de Categoria
54
13.2.4.8. Caso de Uso Alterar Categoria
Caso de Uso:
Alterar Categoria
Atores:
Usuário Master Este caso de uso inicia-se quando há necessidade de um usuário master ou participante logado no sistema alterar uma categoria cadastrada por usuário.
Sumário: Pré-Condições:
Fluxo Principal:
O ator deverá estar conectado no Website 1- O usuário master ou participante seleciona o menu Opções; 2- O sistema disponibiliza ao usuário o formulário de alteração; 3- O sistema habilita o campo categoria; 4- O usuário preenche o campo categoria e seleciona o botão salvar. 5- O sistema realiza validação dos campos e efetua a alteração;
Fluxo Alternativo: Fluxo de Exceção:
5: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 17 - Caso de Uso Alterar Categoria
13.2.4.9. Caso de Uso Excluir Categoria
Caso de Uso:
Excluir Categoria
Atores:
Usuário Master, Participante Admin Este caso de uso inicia-se quando há necessidade de um usuário master ou participante admin logado no sistema excluir uma categoria cadastrada por usuário.
Sumário: Pré-Condições:
Fluxo Principal:
O ator deverá estar conectado no Website 1- O usuário seleciona o menu Opções; 2- O sistema lista as categorias cadastradas; 3- O sistema habilita o botão excluir; 4- O usuário master ou participante admin clica em excluir; 5- O sistema realiza a exclusão do participante.
Fluxo Alternativo:
Fluxo de Exceção:
3: O botão "Excluir" fica desabilitado quando usuário diferente de usuário master e participante admin. 3.2: O Sistema informa mensagem que não pode ser excluída categoria padrão. 5: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 18 - Caso de Uso Excluir Categoria
55
13.2.4.10. Caso de Uso Cadastro de Subcategoria Caso de Uso: Atores:
Sumário: Pré-Condições: Fluxo Principal:
Fluxo Alternativo: Fluxo de Exceção:
Cadastrar Subcategoria Usuário Master, Participante Admin Este caso de uso inicia-se quando há necessidade de usuário master ou participante admin ter a necessidade de cadastrar uma categoria inexistente no sistema. O ator deverá estar conectado no Website 1- O usuário informa subcategoria e categoria; 2- O sistema realiza validação do campo; 3- O sistema realiza a inclusão da subcategoria; - O usuário seleciona a opção editar da subcategoria desejada; - O sistema libera os campos com os dados da subcategoria para serem editados; - O Usuário edita as informações desejadas e seleciona o botão Salvar; - O sistema faz a validação dos campos e efetua a alteração; - O usuário seleciona a opção excluir da subcategoria desejada; - O sistema exibe uma mensagem de confirmação; - O usuário confirma a exclusão; - O sistema exclui a subcategoria selecionada. 3: O sistema encontra erro nas informações, não efetua a ação e exibe mensagem informativa. Tabela 19 - Caso de Uso Cadastro de Subcategoria
13.2.4.11. Caso de Uso Alterar Subcategoria Caso de Uso:
Alterar Subcategoria
Atores:
Usuário Master, Participante Admin Este caso de uso inicia-se quando há necessidade de um usuário master ou participante admin logado no sistema alterar uma subcategoria cadastrada por usuário.
Sumário: Pré-Condições:
Fluxo Principal:
O ator deverá estar conectado no Website 1- O usuário master ou participante admin seleciona o menu Opções; 2- O sistema disponibiliza ao usuário o formulário de alteração; 3- O sistema habilita o campo subcategoria e categoria; 4- O usuário preenche o campo subcategoria e/ou categoria e seleciona o botão salvar. 5- O sistema realiza validação dos campos e efetua a alteração;
Fluxo Alternativo:
Fluxo de Exceção:
3: O botão fica desabilitado em caso de subcategoria padrão. 5: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 20 - Caso de Uso Alterar Subcategoria
56
13.2.4.12. Caso de Uso Excluir Subcategoria Caso de Uso: Atores:
Sumário: Pré-Condições:
Fluxo Principal:
Excluir Subcategoria Usuário Master, Participante Admin Este caso de uso inicia-se quando há necessidade de um usuário master ou participante admin logado no sistema excluir uma subcategoria cadastrada por usuário. O ator deverá estar conectado no Website 1- O usuário seleciona o menu Opções; 2- O sistema lista as subcategorias cadastradas; 3- O sistema habilita o botão excluir; 4- O usuário master ou participante admin clica em excluir; 5- O sistema realiza a exclusão do participante.
Fluxo Alternativo:
Fluxo de Exceção:
3: O botão "Excluir" fica desabilitado quando usuário diferente de usuário master e participante admin. 3.2: O Sistema informa mensagem que não pode ser excluída subcategoria padrão. 5: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 21 - Caso de Uso Excluir Subcategoria
13.2.4.13. Caso de Uso Incluir Receita Caso de Uso:
Inserir Receita
Atores:
Usuário Master, Participante Este caso de uso inicia-se quando há necessidade de usuário master ou participante tem a necessidade de inserir uma receita no sistema.
Sumário: Pré-Condições:
Fluxo Principal:
Fluxo Alternativo: Fluxo de Exceção:
O ator deverá estar conectado no Website 1- O usuário informa Categoria,Subcategoria,vencimento,valor,tipo de recebimento,recebido/pago,lançamento se repete, avisar lançamento, data do lançamento e observações; 2- O sistema realiza validação dos campos; 3- O sistema realiza a inclusão da receita; - O usuário seleciona a opção editar da receita desejada; - O sistema libera os campos com os dados da receita para serem editadas; - O Usuário edita as informações desejadas e seleciona o botão Salvar; - O sistema faz a validação dos campos e efetua a alteração; - O usuário seleciona a opção excluir da receita desejada; - O sistema exibe uma mensagem de confirmação; - O usuário confirma a exclusão; - O sistema exclui a receita selecionada. 3: O sistema encontra erro nas informações, não efetua a ação e exibe mensagem informativa. Tabela 22 - Caso de Uso Incluir Receita
57
13.2.4.14. Caso de Uso Alterar Receita Caso de Uso: Atores: Sumário: Pré-Condições:
Fluxo Principal:
Alterar Receita Usuário Master, Participante Admin Este caso de uso inicia-se quando há necessidade de um usuário master ou participante admin logado no sistema alterar uma receita cadastrada. O ator deverá estar conectado no Website 1- O usuário master ou participante admin seleciona o menu Opções; 2- O sistema disponibiliza ao usuário o formulário de alteração; 3- O sistema habilita os campos para alteração; 4- O usuário preenche os campos(categoria,Subcategoria,vencimento,valor,tipo de recebimento,recebido/pago,lançamento se repete, avisar lançamento, data do lançamento e observações); 5- O sistema realiza validação dos campos e efetua a alteração;
Fluxo Alternativo:
Fluxo de Exceção:
3: O botão fica desabilitado em caso de usuário diferente de usuário master e participante admin. 5: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 23 - Caso de Uso Alterar Receita
13.2.4.15. Caso de Uso Excluir Receita Caso de Uso:
Excluir Receita
Atores:
Usuário Master, Participante Admin
Sumário:
Este caso de uso inicia-se quando há necessidade de um usuário master ou participante admin logado no sistema excluir uma receita cadastrada.
Pré-Condições:
O ator deverá estar conectado no Website
Fluxo Principal:
1- O usuário seleciona o menu Opções; 2- O sistema lista as receitas cadastradas; 3- O sistema habilita o botão excluir; 4- O usuário master ou participante admin clica em excluir; 5- O sistema realiza a exclusão da receita.
Fluxo Alternativo:
Fluxo de Exceção:
3: O botão "Excluir" fica desabilitado quando usuário diferente de usuário master e participante admin. 5: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 24 - Caso de Uso Excluir Receita
58
13.2.4.16. Caso de Uso Incluir Despesa Caso de Uso: Atores: Sumário: Pré-Condições:
Fluxo Principal:
Fluxo Alternativo: Fluxo de Exceção:
Inserir Despesa Usuário Master, Participante Este caso de uso inicia-se quando há necessidade de usuário master ou participante tem a necessidade de inserir uma despesa no sistema. O ator deverá estar conectado no Website 1- O usuário informa Categoria,Subcategoria,vencimento,valor,tipo de recebimento,recebido/pago,lançamento se repete, avisar lançamento, data do lançamento e observações; 2- O sistema realiza validação dos campos; 3- O sistema realiza a inclusão da despesa; - O usuário seleciona a opção editar da despesa desejada; - O sistema libera os campos com os dados da despesa para serem editadas; - O Usuário edita as informações desejadas e seleciona o botão Salvar; - O sistema faz a validação dos campos e efetua a alteração; - O usuário seleciona a opção excluir da despesa desejada; - O sistema exibe uma mensagem de confirmação; - O usuário confirma a exclusão; - O sistema exclui a despesa selecionada. 3: O sistema encontra erro nas informações, não efetua a ação e exibe mensagem informativa. Tabela 25 - Caso de Uso Incluir Despesa
13.2.4.17. Caso de Uso Alterar Despesa Caso de Uso: Atores: Sumário: Pré-Condições:
Fluxo Principal:
Alterar Despesa Usuário Master, Participante Admin Este caso de uso inicia-se quando há necessidade de um usuário master ou participante admin logado no sistema alterar uma despesa cadastrada. O ator deverá estar conectado no Website 1- O usuário master ou participante admin seleciona o menu Opções; 2- O sistema disponibiliza ao usuário o formulário de alteração; 3- O sistema habilita os campos para alteração; 4- O usuário preenche os campos ( categoria,Subcategoria,vencimento,valor,tipo de recebimento,recebido/pago,lançamento se repete, avisar lançamento, data do lançamento e observações); 5- O sistema realiza validação dos campos e efetua a alteração;
Fluxo Alternativo:
Fluxo de Exceção:
3: O botão fica desabilitado em caso de usuário diferente de usuário master e participante admin. 5: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 26 - Caso de Uso Alterar Despesa
59
13.2.4.18. Caso de Uso Excluir Despesa Caso de Uso:
Excluir Despesa
Atores:
Usuário Master, Participante Admin Este caso de uso inicia-se quando há necessidade de um usuário master ou participante admin logado no sistema excluir uma despesa cadastrada.
Sumário: Pré-Condições:
Fluxo Principal:
O ator deverá estar conectado no Website 1- O usuário seleciona o menu Opções; 2- O sistema lista as despesas cadastradas; 3- O sistema habilita o botão excluir; 4- O usuário master ou participante admin clica em excluir; 5- O sistema realiza a exclusão da despesa.
Fluxo Alternativo:
Fluxo de Exceção:
3: O botão "Excluir" fica desabilitado quando usuário diferente de usuário master e participante admin. 5: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. Tabela 27 - Caso de Uso Excluir Despesa
13.2.4.19. Caso de Uso Relatório Caso de Uso:
Relatório
Atores:
Usuário Master, Participante
Sumário:
Este caso de uso inicia-se quando há necessidade de um usuário master ou participante logado no sistema realizar consultas em relatórios.
Pré-Condições:
Fluxo Principal:
Fluxo Alternativo:
Fluxo de Exceção:
O ator deverá estar conectado no Website 1- O usuário seleciona o menu Opções > Relatórios; 2- O sistema disponibiliza ao usuário as opções de relatórios; 3- O usuário informa a opção desejada; 4- O sistema demonstra os filtros para o usuário preencher; 5- O Usuário seleciona os filtros desejados e clicar em Pesquisar;. 6- O sistema realiza validação dos campos e demonstra o resultado em formato de relatório; 3: O usuário seleciona o opção Resumo, onde terá os últimos lançamentos e situação financeira 6: O Usuário após visualizar o resultado, clica em gerar gráfico. 6: O sistema encontra erro de preenchimento, não efetua a ação e exibe mensagem informativa. 6.2: O sistema não encontra dados e retorna uma mensagem informativa. Tabela 28 - Caso de Uso Relatório
60
13.2.5.
Diagrama de Classes
A Figura representa o Diagrama de Classes do Gestor Financeiro.
Figura 11 - Diagrama de Classes de Anรกlise
61
13.2.6.
Diagramas de Atividade
As Figuras representam as visĂľes das atividades.
13.2.6.1. Diagrama de Atividade – Cadastro Conta
Figura 12 - Diagrama de Atividade Cadastro Conta
13.2.6.2. Diagrama de Atividade – Login
Figura 13 - Diagrama de Atividade Login
62
13.2.6.3. Diagrama de Atividade – Cadastro Participante
Figura 14 - Diagrama de Atividade Cadastro de Participante
13.2.6.4. Diagrama de Atividade – Alterar Participante
Figura 15 - Diagrama de Atividade Alterar de Participante
63
13.2.6.5. Diagrama de Atividade – Excluir Participante
Figura 16 - Diagrama de Atividade Excluir de Participante
13.2.6.6. Diagrama de Atividade – Cadastrar Categoria
Figura 17 - Diagrama de Atividade Cadastrar Categoria
64
13.2.6.7. Diagrama de Atividade – Alterar Categoria
Figura 18 - Diagrama de Atividade Alterar Categoria
13.2.6.8. Diagrama de Atividade – Excluir Categoria
Figura 19 - Diagrama de Atividade Excluir Categoria
65
13.2.6.9. Diagrama de Atividade – Cadastrar Subcategoria
Figura 20 - Diagrama de Atividade Cadastrar Subcategoria
13.2.6.10. Diagrama de Atividade – Alterar Subcategoria
Figura 21 - Diagrama de Atividade Alterar Subcategoria
66
13.2.6.11. Diagrama de Atividade – Excluir Subcategoria
Figura 22 - Diagrama de Atividade Excluir Subcategoria
13.2.6.12. Diagrama de Atividade – Inserir Receita
Figura 23 - Diagrama de Atividade Inserir Receita
67
13.2.6.13. Diagrama de Atividade – Alterar Receita
Figura 24 - Diagrama de Atividade Alterar Receita
13.2.6.14. Diagrama de Atividade – Excluir Receita
Figura 25 - Diagrama de Atividade Excluir Receita
68
13.2.6.15. Diagrama de Atividade – Inserir Despesa
Figura 26 - Diagrama de Atividade Inserir Despesa
13.2.6.16. Diagrama de Atividade – Alterar Despesa
Figura 27 - Diagrama de Atividade Alterar Despesa
69
13.2.6.17. Diagrama de Atividade – Excluir Despesa
Figura 28 - Diagrama de Atividade Excluir Despesa
70
13.2.7.
Diagramas de Sequência
As Figuras representam as visões das sequências.
13.2.7.1. Diagrama de Sequência – Login
Figura 29 - Diagrama de Sequência Login
13.2.7.2. Diagrama de Sequencia – Cadastro de Participante
Figura 30 - Diagrama de Sequência Cadastro de Participante
71
13.2.7.3. Diagrama de Sequencia – Cadastro de Categoria
Figura 31 - Diagrama de Sequência Cadastro de Categoria
13.2.7.4. Diagrama de Sequencia – Cadastro de Subcategoria
Figura 32 - Diagrama de Sequência Cadastro de Subcategoria
72
13.2.7.5. Diagrama de Sequencia – Lançamento de Despesa
Figura 33 - Diagrama de Sequência Lançamento de Despesa
13.2.7.6. Diagrama de Sequencia – Lançamento de Receita
Figura 34 - Diagrama de Sequência Lançamento de Receita
73
13.2.7.7. Diagrama de Sequencia – Relatório
Figura 35 - Diagrama de Sequência Relatório
74
13.2.8. BPMN - Notação de Modelagem de Processos de Negócio. A Figura representa a Visão Modelagem de Processos de Negócio.
Figura 36 – BPMN (Notação de Modelagem de Processos de Negócio)
75
13.3. Interface Homem – Máquina 13.3.1.
Tela Inicial
A Figura 36 representa a Tela Inicial do sistema Nexus Finanças.
Figura 37 - Tela Inicial
76
13.3.2.
Tela de Login
A Figura 37 representa a Tela de Login do sistema Nexus Finanças.
Figura 38 – Tela de Login
77
13.3.3.
Tela Cadastro de usuário
A Figura 38 representa a Tela de Cadastro de Usuário do sistema Nexus Finanças.
Figura 39 – Tela de Cadastro de Usuário
78
13.3.4.
Tela de Contato
A Figura 38 representa a Tela de Contato do sistema Nexus Finanças.
Figura 40 – Tela de Contato
79
13.3.5.
Tela Cadastro de Participante
A Figura 40 representa a Tela de Cadastro de Participante do sistema Nexus Finanças.
Figura 41 – Tela de Cadastro de Participante
80
13.3.6.
Tela Cadastro de Categoria
A Figura 41 representa a Tela de Cadastro de Categoria do sistema Nexus Finanças.
Figura 42 – Tela de Cadastro de Categoria
81
13.3.7.
Tela Cadastro de Subcategoria
A Figura 42 representa a Tela de Cadastro de Subcategoria do sistema Nexus Finanças.
Figura 43 – Tela de Cadastro de Subcategoria
82
13.3.8.
Tela Cadastro de Receita
A Figura 43 representa a Tela de Cadastro de Receita do sistema Nexus Finanças.
Figura 44 – Tela de Receita
83
13.3.9.
Tela Cadastro de Despesa
A Figura 44 representa a Tela de Cadastro de Despesa do sistema Nexus Finanças.
Figura 44 – Tela de Despesa
Figura 45 – Tela de Despesa
84
14. RESULTADOS A partir do problema apresentado, onde todos necessitam de um sistema simples e objetivo, chegou-se ao resultado esperado, satisfazendo os requisitos apresentados pelo cliente. Através da metodologia utilizada, abrangendo os diagramas, técnicas e conhecimentos adquiridos ao longo das matérias, foi possível concluir o projeto com sucesso.
85
15. CONCLUSÃO Conclui-se que através deste projeto conseguimos enriquecer os conhecimentos, tornandonos pessoas mais capacitadas para exercer funções no concorrido mercado de trabalho. Essa etapa que estamos finalizando nos serviu de um crescimento muito importante, pois, com ela, apesar das dificuldades, aprendemos a confiar mais em nós mesmos e cumprir com nossas responsabilidades. Para o desenvolvimento do sistema foram estudadas soluções e tecnologias existentes no mercado, com metas e objetivos alcançados. O sistema desenvolvido propiciou um controle geral do processo financeiro pessoal, podendo comprovar que o Nexus Finanças possui fundamentos necessários para gerenciar as finanças pessoais dos usuários.
86
16. REFERÊNCIAS BIBLIOGRÁFICAS PRESSMAN, ROGER S.(1995). Engenharia de Software - São Paulo: Makron Books. GAMMA, E. (2000). Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos. Bookman. DOUGDEV. (s.d.). MVC – O que é? Acesso em 3 de Junho de 2013 às 20:00, disponível em dougdev: http://dougdev.wordpress.com/2009/07/20/mvc-o-que-e/ PACHECO, R. (1994). Orientação a objetos em c++ 1ª Edição. Ciência Moderna. MONTENEGRO, F. M. (1994). Orientação a objetos em C++. Ciência Moderna. GUEDES, G. (2009). UML - Uma Abordagem prática. Novatec. SCOTT, K. (2003). O processo unificado explicado. Bookman. BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. 2a. edição. Rio de Janeiro : Elsevier, 2007. BIANCHI
WAGNER,
<
http://imasters.com.br/artigo/8530/mysql/trabalhando-com-o-
mysql-query-browser-parte-01 > Acessado em: 3 de Junho 2013 às 21:00. MARCORATTI C. JOSÉ, < http://www.macoratti.net/cbmd1.htm > Acessado em: 20 de Maio 2013 às 22:00. CARVALHO ALAN. Desenvolvendo na Web com JavaScript. Rio de Janeiro, 2001. OLIVEIRA GABRIEL, < http://ihaa.com.br/sotware-editor-de-sites-dreamweaver-historiaversoes-e-aplicacoes/ > Acessado em: 13 de Maio de 2013 às 19:30. Change Vision Astah Professional < http://www.software.com.br/change-vision-astahprofessional.html > Acessado em: 13 de Maio de 2013 às 19:45. NetBeans <https://netbeans.org/index_pt_PT.html > Acessado em: 13 de maio 2013 às 20:30. Bizagi <http://en.wikipedia.org/wiki/Bizagi> Acessado em: 15 de Junho de 2013 às 13:00.
87
DBDesiger < http://www.fabforce.net/dbdesigner4/ > Acessado em: 13 de maio de 2013 às 21:00. MySQL<http://www.mysql.com/why-mysql/white-papers/mysql-replication-introduction/ > Acessado em: 23 de maio de 2013 às 21:25. PhpMyAdmin < http://codex.wordpress.org/pt-br:phpMyAdmin > Acessado em: 13 de maio de 2013 às 19:50. Java <http://pt.wikipedia.org/wiki/Java_(linguagem_de_programação)> Acessado em: 13 de maio de 2013 às 20:20. gBolso <www.gbolso.com.br> Acessado em: 01 de Maio de 2013 às 20:00. Minhas Economias <www.minhaseconomias.com.br> Acessado em: 01 de Maio de 2013 às 20:00. Organizze <www.organizze.com.br> Acessado em: : 01 de Maio de 2013 às 20:00. Bônus <www.bonusweb.com.br> Acessado em: : 01 de Maio de 2013 às 20:00. Sr. Dinheiro <www.srdinheiro.com.br> Acessado em: : 01 de Maio de 2013 às 20:00. Gestor 24 horas <www.gestor24horas.com.br> Acessado em: 01 de Maio de 2013 às 20:00. Controle Financeiro-(Ikoa) <https://play.google.com/store/apps/details?id=com.controleFinanceiro> Acessado em: 01 de Maio de 2013 às 20:00. Gestor
Financeiro
(IGNMobile)
<https://play.google.com/store/apps/details?id=com.ignmobile.gestorfinanceirolite> Acessado em: 01 de Maio de 2013 às 20:00. Minhas
Economias
(Minhas
<https://play.google.com/store/apps/details?id=com.minhaseconomias> Acessado em: 01 de Maio de 2013 às 20:00.
Economias)
88
Canarinho–Finanças <https://play.google.com/store/apps/details?id=com.alps.canarinho> Acessado em: 01 de Maio de 2013 às 20:00.