基于JSP的个人财务管理平台的设计与实现-毕业设计-程序-论文

此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要-

任何项目程序代码-文档想单独指导的可以私我

摘要

当前,我国实行数字货币,这一科技的进步给我们的生活带来了极大的便捷,只需要使用手机等电子设备进行付款即可,让我们可以不在使用货币的方式进行支付。数字货币的到来给我们带来了好处,而科技是一把双刃剑,给我们带来好处的同时也让我们对于自身的财务没有概念,形成了一种财务不过是数字的认知,让我们缺少对个人财务的管理。近些年来,互联网的发展让我们可以使用计算机应用产品,本课题所开发的个人财务管理软件便属于一类财务收支的计算机应用产品。

个人财务管理软件主要的功能是将财务进行管理,实现自身财务管理的自动化与标准化。此财务系统的大致功能有:收支类型设置、会员管理、个人收入记录、会员注册、个人支出记录、收支统计;针对此系统研究发现,仅仅设置一个用户将会造成部分功能无人解决,因此,为了区分功能和权限,还将用户分为了会员和管理员,更好的将个人财务管理软件的所有功能展示出来。

本次毕业设计的实现,主要是依靠SSM框架进行搭建,采用Java语言进行编写,以MySQL数据库作为数据的存储地方,前端使用JS进行设计、开发出来。在本系统的报告中,按照系统的生命周期进行描述,从功能需求开始到需求分析,随后对系统进行详细的页面和功能设计,确定开发的所有流程,了解系统工具的使用方法,实现个人财务管理软件的所有功能,最后对该系统的功能和整体进行测试,保证系统的可用性。

关键词:个人财务管理;Jsp;Java;MySQL;收入统计;支出统计;

 

Abstract

At present, my country implements digital currency. The advancement of this technology has brought great convenience to our lives. We only need to use electronic devices such as mobile phones to pay, so that we can pay without using currency. The arrival of digital currency has brought us benefits, and technology is a double-edged sword. While bringing us benefits, it also makes us have no concept of our own finances, forming a cognition that finance is nothing but numbers. We lack the management of personal finances. In recent years, the development of the Internet allows us to use computer application products. The personal financial management software developed in this subject belongs to a class of computer application products for financial income and expenditure.

The main function of personal financial management software is to manage finances and realize the automation and standardization of one's own financial management. The general functions of this financial system are: income and expenditure type setting, member management, personal income record, member registration, personal expenditure record, income and expenditure statistics; according to the research of this system, it is found that only setting one user will cause some functions to be unsolved. Therefore, in order to distinguish functions and permissions, users are divided into members and administrators to better display all the functions of the personal financial management software.

The realization of this graduation project is mainly based on the SSM framework, which is written in Java language, uses MySQL database as the data storage place, and uses JS to design and develop the front end. In the report of this system, it is described according to the life cycle of the system, starting from functional requirements to requirements analysis, and then detailed page and functional design of the system is carried out, all processes of development are determined, and methods of using system tools are understood to realize personal finance. Manage all functions of the software, and finally test the function and the whole of the system to ensure the availability of the system.

Key words: Personal finance management; Jsp technology; Java language; MySQL; Income statistics; Spending statistics;

 

1前言

1.1研究的背景

在大学中,我们经常能够看到或者听到学生们在说:前半个月花光了生活费,后半个月节衣缩食啃馒头。这种情况便是大学生不懂得如何管理自己的财物,只会一味的在财务充足的时候大手大脚,不知如何将财务在规定的时间内分配给每一天。与此同时,除了大学生之外,刚刚步入社会的年轻人们还不了解社会中所涉及的花销,于是很快便花光了自己的工资,不得不节衣缩食或者伸手像父母支援,更有甚者则使用各个平台的贷款。这些都是不懂得如何管理自己的财务,因此,在本课题的开发中,对于此问题进行了深刻的研究,结合自身情况与身边同学的实际情况做出研究,开发出能够供给人们所使用的个人财务管理软件

1.2研究的意义

网络在不断发展,个人财务管理软件的需求也被提上了日程。该软件主要解决的是管理个人自身财务的问题,保证个人的财务支出与收入成正比,避免因财务不足引发不正当的贷款等,造成对自身的身体和心理的伤害。基于以上原因,本课题所开发的个人财务管理软件是十分有必要的。

当今社会正在逐步的走向信息化和数字化的发展阶段,而计算机的迅速发展又促使了人类的生活越来越便捷和快捷,可以说在我们每个人的生活中都已离不开计算机的帮助了,而更多的应用软件已经成为了人们的生活助手了,也就潜移默化的改变了人们的日常生活。目前大学生中普遍存在着个人理财常识严重缺乏的现状,而随着理财时代的来临,个人财务管理的意义也将越来越突显。用传统的人工方法记载个管理自己的个人财务状况非但不方便于长期的管理,还显露出了更多的麻烦,并且已经无法满足人们对财务管理的需求。因此许多软件开发人员也进行了着手个人财务管理于统计管理的研发。但是目前,面向个人财务应用管理软件的数量还是比较少的,而面对于当代大学生的个人财务统计管理软件公司少之又少。

1.3国内外研究的状况

(1)国外研究状况

在国外一些经济比较发达的地区,人们的生活水平较高,个人以及个人的财务收支状况十分良好,加上网络相对来说比较发达,这就使得国外的个人财务管理软件发展迅速。最早,国外的个人软件发展起来前,最先发展的财务相关系统是应用于大型公司的,国民经济水平提高后,便在此基础上研发了个人和个人的财务收支状况,对于国外来说,当前数字货币并不广泛,因此,在支出和收入上,更加需要财务管理的软件。

(2)国内研究状况

相比国外,国内的情况比较良好,虽然网络发展缓慢,但是采用数字货币的方式进行支付是可以记录购买的商品,这让我们可以不必马上对财务支出或收入进行记录。与国外相同的是,最先发展的财务类型的软件是供给公司所使用,例如每刻报销、用友等都是供给企业所使用的网络应用产品。对于供给个人所使用的财务管理软件少之又少,而且很多软件是收费的,加之软件内的功能十分繁杂,对于个人的使用来说十分不便,这导致网络产品不能够完全了解我们的需求。因此,本课题个人财务管理软件做出研究,让用户更好的记录个人财务情况。

2开发技术介绍

2.1 SpringMVC模式介绍

springmvc作为拦截控制层架构,可以对网站的请求路径进行定义,可以对请求的路径以及动态url参数变量进行拦截,可以对webapps下的静态资源进行拦截访问,springmvc是基于rest风格的请求,因此可以在url中进行变量的定义,可以通过requestmap进行路径的定义,且可以通过method可以请求的方式进行详细定义,通过对method进行限制,包括get,post,put,delete等进行定义。

2.2 Javascript语言介绍

JavaScript主要是作为前端的嵌入式语言进行使用,可以通过JavaScript对前端的一些样式进行动态的变化,以及对后台的数据进行处理展示,对前台用户输入的交互数据进行验证,可以结合正则表达式对界面中传递的数据进行合理验证,不合格的可以使用弹窗或者是小字进行提醒。JavaScript是类似于java的弱语言,在语言错误时界面依旧可以继续进行编译。JavaScript的主要作用就是对前端界面交互时的一些动态处理。

2.3 MySQL介绍

在数据的存储中本系统采用的是Mysql,MYSQL对于我自己来说非常的熟悉,在学校学习SQL的时候就通过底层的数据存储以及数据的逻辑处理进行了研究,MYSQL对于一般的系统非常的适用,因为MYSQL的存储量不大,但开源是它最大的优点,MySQL对于用户的操作也非常的简单,没有太多的权限的控制,对于一些繁琐的流程都进行了集中的封装,且MySQL可以自定义一些触发器和函数,对于一些开发者来说也是非常的适用。

3系统分析

3.1可行性分析

3.1.1 操作可行性分析

在个人财务的管理软件中主要操作人为管理员和普通人员,通过登录后完成基本的资金流转操作,在操作中要保证系统的流程顺畅,且要保证系统的操作的可行性和数据的一致性,对于金额和密码来说一定要进行加密操作,在操作过程中一定要在确保用户登录状态下才可以进行按钮的点击,因此在操作每一步都要进行权限拦截处理。

3.1.2 市场可行性分析

个人财务的实际状况就相当复杂了,包括收入来源,支出方向,知道各种资本的流转方向等,而如果仅仅通过手工记录,记载的账簿数量就会越来越多,不利于长期管理,也易造成的重大损失,同时通过手工统计又不利于资金归集和模块化,于是查询起来也就更加麻烦。相反,人们利用计算机信息技术所建立的个人财务管理系统不仅统计简便,而且管理完善,查找方便。于是,为更好的管理个人财务信息系统,便捷的个人财务系统也就成为了人们在个人财务管理方面所需要的重要工具。

3.1.3技术可行性分析

在系统的设计中通过前期的技术对比以及技术选型,选择java进行编程语言开发,在架构搭建上选择spring,Springmvc,mybatis,通过ssm架构让系统的编程更为简化,采用注释式编程模式,对于类的定义和引用更为简便。通过SSM架构的使用,可让代码的结构更为稳定,安全性更高。

综上所述开发个人财务管理系统是可行的

3.2功能需求分析

3.2.1管理员功能分析

个人管理:管理员在财务系统中可以对使用本系统的用户进行用户信息录入,用户信息统计和对用户进行编号,还有启用和禁用操作可以使系统进行维护更新时,避免用户在系统更新时,造成用户使用不便。

通知管理:管理员在财务系统中可以使用通知管理,对用户发布重要通知,提前对用户进行通知提醒,避免用户在使用过程中错过重要通知而导致系统使用不便。

登录日志管理:用来记录一些访问和登录时间信息,以便出现状况时,管理员可以根据日志来判断原因,可以用来记录错误信息,进行系统性能分析,然后便于管理员更好的对系统进行维护升级。

3.2.2用户主要功能分析

我的收入:在系统中用户对每一笔资金的信息进行记录,包括收入来源,收入时间,收入金额,还可以选择收入类型如果是学生可以选择收入来源于生活费,上班族可以选择收入来源于工资等,后续比如用户记错收入时间,金额,来源等如果出现记录错误还可以进行修改。

我的支出:在系统中用户对每一笔支出消费信息进行记录,日常生活中的支出类型,包括餐饮,交通,购物,学习,居家,娱乐,其他这些大类,其中每个大类还包括一些小类,比如餐饮包括早餐,中餐,晚餐,零食饮料等。可以对每一笔支出进行备注,还可以记录每一笔支出的支付方式,比如现金支付,微信支付等。

我的备忘录:方便用户在资金上的琐碎事项进行备忘记录,还可以在财务管理的同时记录一些瞬间想起来的需要收入,支出消费的事项。

通知查看:方便用户在财务管理系统中的一些使用便利,会推送给用户一些关于本系统的使用操作和重要通知,比如在某时间段系统需要进行维护升级,避免用户在系统维护时的使用不便。在用户离开了长期使用的地点进行登录使用时还会对用户进行安全提醒。

收入统计:在本系统中,收入统计可以使用户查看自己一天,一周,一月,一年或几年的收入记录,系统会根据用户收入信息进行统计,自动做出一个个人收入来源图,使用户一目了然看到自己的各个阶段的收入情况。

日志管理:用户在本系统中可以看到自己的登录时间,也可以查看用户自己对每一笔资金记录修改的修改信息。

支出统计:在本系统中,支出统计可以使用户查看自己一天,一周,一月,一年或几年的支出记录,系统会根据用户的支出信息进行统计,自动做出一个个人支出比例图,使用户可以清楚地知道自己的支出在哪些方面消费比例高,哪些方面消费比例低,哪些类型消费高,哪些类型消费低。

3.3系统用例图分析

3.3.1管理员用例图分析

在此个人财务管理软件中主要是在管理员端对财务的一些注册的人员信息进行管理,针对于个人的账号可以进行禁用和启动操作,可以对用户在此平台的一些操作日志进行管理,以及可以针对于平台的情况进行公告发布。如图3-1所示。

图3-1管理员用例图

3.3.2用户用例图分析

在用户端由于每个人的收入和支出的类型的不同,因此基于用户个人情况可以进行收支类型的定义,可以在注册后对自己的个人情况信息进行编辑,以及对自己的一些收入记录和消费记录进行记录,可通过时间区间进行查询,可对自己的一些近期的消费和收入进行可视化分析。如图3-2所示。

图3-2用户用例图

4系统设计

4.1系统总体功能设计

结合对当前的个人财务软件的分析,对财务系统的功能主要设计为收支类型设置、会员管理、个人收入记录、会员注册、个人支出记录、收支统计。主要分为两端进行系统的开发,分为用户端和管理员端。

图4.1系统功能模块图

4.2系统详细设计

4.2.1管理员模块

管理员端对财务的一些注册的人员信息进行管理,针对于用户的账号可以进行禁用和启动操作,可以对用户在此平台的一些操作日志进行管理,以及可以针对于平台的情况进行公告发布。

4.2.2用户模块

在用户端由于每个人的收入和支出的类型的不同,因此基于用户个人情况可以进行收支类型的定义,可以在注册后对自己的个人情况信息进行编辑,以及对自己的一些收入记录和消费记录进行记录,可通过时间区间进行查询。

4.3数据库设计

4.3.1数据库的概念结构设计

在数据库的选择设计中优先选择了MySQL,通过在MySQL中进行表的建立,从而对系统的底层进行设置,通过对表的字段进行约束以及对表的逻辑性进行设计,绘制出ER图。

局部er图

个人特定分类实体,主要包含了主键,类型值,是否开启,分组介绍,个人编号。个人特定分类实体如图4.16所示。

图4.16 个人特定分类实体图

个人成员实体,实体图如图4.17所示。

图4.17 个人内部成员实体图

个人记录收入信息实体,主要包含了进账id ,所属个人,个人id,收入额度,日期,资金说明。个人记录收入信息实体图如图4.18所示。

图4.18 个人记录收入信息实体图

个人消费实体,主要包含了花销id,所属个人,个人id,花销额度,日期,花销说明。个人消费实体图如图4.19所示。

图4.19 个人消费实体图

系统咨询实体,主要包含了系统消息主键,系统消息目录,系统消息日期,系统消息内容。系统咨询实体图如图4.20所示。

图4.20 系统咨询实体图

财务小备忘实体,主要包含记账编号,记账内容,记账日期,对应人员。财务小备忘实体图如图4.21所示。

图4.21 财务小备忘实体图

总体er图

图4-2总体E-R图

4.3.2数据库的表结构设计

用户特性分类信息表:为每个人都可以为自己的所属个人设置特定的个性化的个人收支类型。如表4-3所示。

字段名称

字段描述

限制

长度

主键条件

gerenlxpid

用户特性分类编号

int(9)

主键

gerenlxpne

自己类型值

varchar(32)

gerenlxpdesc

所属大类介绍

varchar(30)

Gerenlxpfmid

所属人员编号

int(9)

外键

表4-3用户特性分类信息表

用户记录信息表:为个人内部的所关联人员信息表信息4-4所示

字段名称

字段描述

限制

长度

主键条件

genrenxid

操作个人id

int(9)

自动增加

genrenxname

操作个人账号

varchar(32)

genrenxpwd

操作个人密码

varchar(80)

gerenlxid

对应个人

int(9)

外键

genrenxbs

操作个人状态

int(2)

0或者1

genrenxemail

操作个人邮箱

varchar(32)

表4-4用户记录信息表

用户收入记录表:为操作用户个人记录的属于自己的收入记录。如表4-5所示。

字段名称

字段描述

限制

长度

主键条件

jluxxid

进账id

int(9)

9

自动增加

gerenlxpid

所属个人

int(3)

3

外键

mreyerid

个人id

int(9)

9

外键

jluxx

收入记录额度

double

必须数字

jluxxriqi

记录日期

date

Date日期

shomain

收入说明

varchar(60)

表4-5 用户收入记录表

用户支出消费表:为操作用户个人记录的用户的消费支出情况。如表4-6所示。

字段名称

字段描述

限制

长度

主键条件

Ejuaxnsesid

消费id

int(9)

9

自动增加

Ejuaxnlxpid

消费个人

int(3)

3

外键

memerid

消费人id

int(9)

9

外键

Ejuaxses

消费额度

double

必须数字

Ejuaxssriqi

消费日期

date

Date日期

Ejuaxaesmn

消费说明

varchar(60)

表4-6 用户支出消费表

平台发布信息表:为管理员在系统内的一些发布的相关的资讯信息。如表4-7所示。

字段名称

字段描述

限制

长度

主键条件

xunxifbid

平台发布主键

int(9)

9

整型自增

xunxifbtilte

平台发布目录

varchar(70)

xunxifbdate

平台发布日期

date

Date日期

xunxifbmeg

平台发布内容

varchar(65)

表4-7平台发布信息表

财务备忘信息表:为用户个人可以记录的一些自己的财务备忘录信息。如表4-8所示。

字段名称

字段描述

限制

长度

主键条件

beijiliid

记账备忘编号

int(9)

9

整型自增

beijilicontent

记账备忘内容

varchar(60)

60

beijilidate

记账备忘日期

date

Date日期

mreyerid

记账备忘人员

int(9)

9

外键

表4-8财务备忘信息表

5系统实现

5.1 前台用户主要功能模块的实现

5.1.1用户登录模块

在登录时分为用户端和平台管理员端,根据拦截url信息进入到login.jsp登录界面,在界面中可以输入用户的账号和密码,通过JSP中嵌入的js对数据进行基本校验,确实没用为空不填写操作,然后在ajax的传输下,将username和password通过json的方式进行传输,后台对应的handlermaping触发器接受后通过service进行调用校验。如图5-1所示。

图5-1用户登
 

5.1.2支出消费管理模块

在用户端可以对支出模块进行设置,通过输入支出的类型以及支出的方式,以及金额和备注进行录入,在对金额的验证中要保证金额为数字,然后在ajax异步提交后,通过post加密的方式提交到action,在后台端首先判断session中是否有userid,若有证明是登录状态则可以继续执行insert插入操作,然后将数据VO保存到数据库。如图5-2、5-3所示。

图5-2支出新增管理

图5-3支出查询

5.1.3用户收入类型模块

在用户端可以对收入模块进行设置,通过输入收入的类型以及收入的方式,以及金额和备注进行录入,在对收入金额的验证中要保证金额为数字,然后在ajax异步提交后,通过post加密的方式提交到action,在后台端首先判断session中是否有userid,若有证明是登录状态则可以继续执行insert插入操作,然后将数据VO保存到数据库。如图5-4、5-5所示。

图5-4收入类型新增

图5-5收入记录查询

5.1.4用户个人收入可视化模块

在对收入的数据进行查询后,可以对收入数据按照类型进行统计归类,然后将数据通过group by types进行分组,在分组后进行list的封装,通过controller返回到界面,在界面中通过插件可视化highcharts进行展示。如图5-6所示。

图5-6用户个人收入统计图

5.1.5用户个人支出可视化模块

在对支出的数据进行查询后,可以对支出数据按照类型进行统计归类,然后将数据通过group by zihchutypes进行分组,在分组后进行zhichulist的封装,通过controller返回到界面,在界面中通过插件可视化highcharts进行展示。如图5-7所示

图5-7 用户个人支出统计图

5.2 后端管理员主要功能模块的实现

5.2.1用户注册信息管理模块

在用户注册信息管理中可对平台注册的所有的用户个人信息进行展示,管理员有权限对用户的账号以及用户个人的状态进行设置,在对一些不合规的用户账号可以直接点击禁用,通过updatestatus对状态进行更新。如图5-8所示。

图5-8用户注册信息查询界面

5.2.2平台通知模块

在管理员端可以对平台需要发布的通知信息进行管理,可以在界面中对自己发布的公告按照日期查询信息,通过后台的gonggaction中的业务层service调用findgongglimitpage,进行数据的分页查询,通过sql执行select * from gongglimit pagenum,然后通过控制层对数据进行界面返回展示。如图5-9所示。

图5-9公告发布记录查询

6系统测试

6.1测试说明

软件测试的目的不是为了去除所有的bug,而是为了降低bug的存在风险,让问题的出现概率降低到最小,没有一个软件敢说没有任何的bug,因此永远没有清除的bug,因此在测试过程中只能结合功能需求以及用户体验习惯和操作手册等将功能进行完整的测验,尽量保证每次的运行都没有风险,在测试过程中要考虑到影响因素的方方面面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值