【可白嫖源码】毕业设计—springboot个人记账管理系统设计与实现 (案例分析)

摘  要

大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在个人记账管理的要求下,开发一款整体式结构的个人记账管理系统,将复杂的系统进行拆分,能够实现对需求的变化快速响应、系统稳定性的保障,能保证平台可持续、规模化发展的要求。

个人记账管理系统主要功能模块包括用户管理、收入类型管理、财务收入管理、支出类型管理、财务支出管理、资金计划管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,使用Java语言,基于B/S架构,后端部分采用Springboot框架进行开发,数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对个人记账管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现个人记账管理系统和部署运行使用它。

关键词:个人记账管理;Springboot框架;Mysql数据库

Design and Implementation of Springboot Personal Accounting Management System

Abstract

In the era of big data, data is growing explosively. In order to meet the trend of the information age and the requirements of information security, using the Internet to serve other industries and promote production has become an unstoppable trend. Under the requirements of personal accounting management, develop a holistic personal accounting management system that breaks down complex systems, enabling rapid response to changes in demand, ensuring system stability, and meeting the requirements of sustainable and large-scale development of the platform.

The main functional modules of the personal accounting management system include user management, income type management, financial income management, expenditure type management, financial expenditure management, and fund plan management. It adopts an object-oriented development model for software development and hardware installation, which can well meet the actual needs of use. It improves the corresponding software installation and program coding work, using Java language and based on the B/S architecture, The back-end part is developed using the Springboot framework. In terms of data, Microsoft's MySQL relational database is mainly used as the data storage medium, realizing all the functions of the system. This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. Analyze the various requirements and technical issues of the employment management system for college graduates, prove the necessity and technical feasibility of the system, and then provide a basic introduction to the technical software and design ideas required for designing the system. Finally, implement and deploy the employment management system for college graduates.

Key words:Personal accounting management; Springboot framework; MySQL database

目  录

第1章 绪论

1.1 研究背景与意义

1.2 开发现状

1.3 论文组成结构

第2章 开发工具及相关技术介绍

2.1 Java语言与JDK开发环境

2.2 B/S结构

2.3 Springboot框架

2.4 MySQL数据库

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 需求分析

3.3 系统业务流程分析

3.4 系统数据流程分析

第4章 系统设计

4.1 系统架构设计

4.2 系统功能结构

4.3 功能模块设计

4.4 数据库设计

4.4.1 概念模型设计

4.4.2 逻辑结构设计

第5章 系统实现

5.1 注册模块的实现

5.2 登录模块的实现

5.3 用户首页模块的实现

5.4 用户资料修改模块的实现

5.5 资金计划管理模块的实现

5.6 财务支出模块的实现

5.7 财务收入模块的实现

5.8 管理员子系统模块的实现

5.8.1 管理员主页模块

5.8.2 系统用户管理模块

5.8.3 收入类型管理模块

5.8.4 支出类型管理模块

第6章 系统测试

6.1 测试目的

6.2 测试用例

6.3 性能测试

第7章 总结与展望

参考文献

致谢

第1章 绪论

1.1 研究背景与意义

随着互联网的快速发展,人们生活节奏日益加快,关于过度消费是大多数人头疼问题,导致出现不少的月光族,如我们定期花点时间去记录生活中的主要财务支出,掌握自己的收入和支出情况,这样你就会发现一些规律,收入是否合理。当你认清楚这点后,我们就可以更合理的规划好自己的使用资金计划。随着个人开支不断的变化,对钱的使用也很随便,每到月底都会觉得钱不够花,为了有效减少不必要的开支,作到理财的规划和合理性,我们应该掌握些必要的记账习惯。

现在我国的个人记账管理管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

本系统主要用于个人的记账,总体任务是实现个人账目的有序化,主要任务是用计算机对个人日常开支进行增、删、改、查;对开始的分类支持操作,针对这些情况设计个人记账管理系统。开发这一系统的好处大约有以下几点:

第一、可以存储个人日常财务信息;

第二、只需了解操作系统,就能实现方便快捷的个人记账管理,节省人力;

第三、可以迅速个人财务历史信息,做到收入支出心中有数。

1.2 开发现状

理财软件,是指以财务账户为核心,以增值获利为目的,以资金流动为手段,以统计分析为决策的管理软件。从使用者角度看,有个人记账管理类和委托理财类。随着人们对理财越加了解和重视,各种理财产品和理财服务层出不穷,个人记账管理软件只是其中的一个。但个人记账管理软件以其方便、实用、便宜等特点受到越来越多人的追捧和使用。个人记账管理类软件可作为个人、个人和理财师为客户做理财分析的工具软件。个人记账管理软件是帮助实现个人记账管理的计算机应用程序。现在常见的个人记账管理软件可以完成财务支出、资金计划提醒、财务支出、财务收入、资金计划等功能,帮助用户能更好的管理个人财务!操作简单,报表分析功能能让用户随时可以了解自己的财务状况。理财软件又分为PC端理财软件、WEB在线理财及手机理财三大平台,之间数据既可独立,又可同步。正是在国内外研究现状的基础之上,本课题设计并实现了基于Android的手机个人记账管理软件。

1.3 论文组成结构

根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出个人记账管理系统。

本文共有七章,如下所示。

第一章概述了个人记账管理系统的研究目的和意义;精炼地总结了国内外在仓储领域的研究情况和未来的研究趋势,最后给出了论文的组成结构。

第二章简要概述了本文所用的开发技术和工具。

第三章简要对系统各业务流程进行需求分析、可行性分析。

第四章对个人记账管理系统进行设计。

第五章对个人记账管理系统进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。

第六章对个人记账管理系统采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。

第七章总结全文并对未来的研究做出展望。

第2章 开发工具及相关技术介绍

2.1 Java语言与JDK开发环境 

Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群[1]。

JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的java程序也就无法运行[2]。

2.2 B/S结构

基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行[5]。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出相应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户[3]。

在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互[4]。

2.3 Springboot框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器[5]。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求[6][7]。

2.4 MySQL数据库

MySQL经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷[8][9]。

针对本文中设计的捐赠信息管理系统在实际的实现过程中,最终选择MySQL数据库的主要原因在于在用户的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的MySQL来对捐赠信息管理系统后台数据进行存储操作[10][11]。

数据库管理系统的总体结构图如下图所示。

图2-1 数据库组成结构

第3章 系统分析

3.1 可行性分析

在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。个人记账管理系统的可行性分析如下所示:

3.1.1 技术可行性

个人记账管理系统采用的是Java编程语言并于Springboot的模式,数据库部分采用的是当前流行的MySQL数据库,个人记账管理系统中的所有数据资源都存储在MySQL数据库中,本系统多处采用了Ajax的异步操作,Ajax技术可以对用户指定部分的数据进行局部刷新,不仅减少了服务器对页面的解析而且极大增加了用户的体验度。

3.1.2 经济可行性

个人记账管理系统是在Java和Mysql的环境中运行的,而系统的成本也只是主要分布在软件的开发和维护上。但如果系统上线投入使用之后,不仅可以方便人们,还节省了用户的时间和精力,而且还极大限度的方便了运营者,减少了运营者的工作强度。个人记账管理系统其实也不太复杂,在开发的时候经济支出也不大,在开发系统时时间用的也不多,从时间的优势和对经济利益方面产生的好处远超过维护和管理的成本,所以开发此系统是可行合适的。

3.1.3 操作可行性

本系统是基于浏览器和服务器的个人记账管理系统,系统开发完成之后用户只需要在浏览器中输入正确的URL地址即可进行访问。本系统的前台页面简单明了,在没有操作指导的情况下也可以进行操作,无论是系统管理员还是普通用户在页面中所有的操作都是在浏览器中完成的,因此只要电脑或手机在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。

3.2 需求分析

根据用户对系统的需求,要求系统简单操作,能够准确,完整的对信息进行管理。个人记账管理系统在对需求做解析后,整个系统主要分为两个部分:管理员和普通用户,每个模块下的分支功能不一样。对功能做出如下说明:

管理员模块:个人中心、用户管理、收入类型管理、财务收入管理、支出类型管理、财务支出管理、资金计划管理。

用户模块:个人中心、财务收入管理、财务支出管理、资金计划管理。

用户用例图如下所示。

图3-1 用户用例图

管理员用例图如下所示。

图3-2 管理员用例图

根据用例图,对一些重要的用例进行描述。

登录用例描述如下表所示。

表3-1 登录用例描述

用例名称

登录

参与者

用户

描述

用户填写用户名和密码登录系统

前置条件

用户拥有账号和密码

后置条件

用户名和密码都正确

事件流

(1)用户在登录页面输入用户名和密码

(2)系统检测用户输入的用户名和密码是否正确

(3)用户名和密码正确的话,显示登录成功并返回主页面

补充说明

(a)系统检查除密码不正确,返回登录页面

个人信息管理用例描述如下表所示。

表3-1 个人信息管理用例描述

用例名称

管理和修改个人信息

参与者

用户

描述

用户查看、修改个人信息

前置条件

用户已登录到系统中

后置条件

事件流

(1)用户查看个人信息

(2)用户修改个人信息

补充说明

(a)用户可修改密码

(b)用户可修改个人资料,例如姓名,头像等

财务收入用例描述如下表所示。

表3-1 财务收入用例描述

用例名称

财务收入

参与者

用户

描述

用户执行财务收入操作

前置条件

用户已登录

后置条件

该个人账户存在,并且能被收入

事件流

(1)在个人账户页点击要收入的个人账户

(2)填写财务收入表单

补充说明

(a)财务收入表单数据不能为空

财务支出用例描述如下表所示。

表3-1 财务支出用例描述

用例名称

财务支出

参与者

用户

描述

用户执行财务支出操作

前置条件

用户已登录

后置条件

该个人账户存在,并且能被支出

事件流

(1)在个人账户页点击要支出的个人账户

(2)填写财务支出数据

补充说明

(a)财务支出表单数据不能为空

资金计划用例描述如下表所示。

表3-1 资金计划用例描述

用例名称

资金计划管理

参与者

用户

描述

用户提供新增、修改、删除、查阅等功能

前置条件

  1. 用户成功登录系统
  2. 用户只能对已存在的资金计划进行修改和删除

后置条件

事件流

(1)用户查看修改资金计划

(2)用户添加资金计划

(3)用户删除资金计划

补充说明

(a)新添加的资金计划不符合要求时会添加失败

(b)修改的资金计划不符合要求时会修改失败

3.3 系统业务流程分析

个人记账管理系统的业务流程如下图所示。

图3-3 系统业务流程图

管理员拥有最高权限,在对各项信息进行增加、删除、修改后会更新后台数据库的内容,用户在登录进行财务收入管理、财务支出管理、资金计划管理等指令动作同样会更新后台数据。

3.4 系统数据流程分析

与强调控制逻辑的程序流程图不同,它更关心的是整个系统中数据的具体流动以及数据的加工处理的整个客观过程,是对数据规格的说明。也正因如此,系统数据流图作为系统结构化分析方法中极为重要的一种描述工具备受青睐。

个人记账管理系统的顶层数据流如下图所示。

图3-4系统顶层数据流图

系统顶层数据流:外部实体为用户,第一个流程为登录验证,用户信息表返回密码验证,是否正确,正确则登录系统,错误则反馈信息,登录系统后,根据不同用户的功能选择,来读写数据库。

系统底层数据流如下图所示。

图3-5系统底层数据流图

系统底层数据流:外部实体为管理员和普通用户,数据流分别有管理员和普通用户流向系统数据流程,数据表提供数据支持,来完成逻辑操作。

第4章 系统设计

4.1 系统架构设计

目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。实验室管理信息平台主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。

系统架构图如下图所示。

图4-1系统架构图

4.2 系统功能结构

进入系统后首先要进行登录,验证你的身份,赋予你不同的权限。当你成功登录后,页面会有多个板块,分别是用户管理、收入类型管理、财务收入管理、支出类型管理、财务支出管理、资金计划管理。里面界面简单易懂,根据标示可以直接进行方便快捷的操作。

系统功能结构图如下所示。

图4-2系统功能结构图

4.3功能模块设计

管理员账户的基本信息管理。主要提供管理员账户的基本信息录入、删除、维护和查询等功能,包括:

管理员录入管理员账户基本信息;

管理员更新、增加及删除管理员账户基本信息;

用户根据管理员账户 ID 查询基本信息;

系统管理员更改个人密码;

资金计划的基本信息管理。主要提供资金计划的基本信息录入、删除、维护和查询等功能,包括:

用户录入资金计划基本信息;

用户更新、增加及删除资金计划基本信息;

用户根据资金计划 ID 查询基本信息;

财务收入的基本信息管理。主要是提供财务收入的基本信息录入、维护和查询功能,包括:

用户录入财务收入基本信息;

用户更新、增加及删除财务收入基本信息;

用户根据财务收入 ID 查询财务收入基本信息;

财务支出的基本信息管理。主要是提供财务支出的基本信息录入、维护和查询功能,包括:

用户录入财务支出基本信息;

用户更新、增加及删除财务支出基本信息;

用户根据财务支出 ID 查询财务支出基本信息;

4.4 数据库设计

一个好的系统它的后台数据库一定要考虑的全面,这和我们建造房子一个概念,房子不是随心所欲建起来的,一切都是在合理设计的基础是实现的,地基打牢固了房子才能建的更高。数据库如果设计的很合理,而且每个方面都能考虑到了那么这个系统才能不会出现大的问题。

4.4.1 概念模型设计

本系统在数据库中存放了多张表,分别是用户表、资金计划表、财务收入表、财务支出表。

系统的主要实体间关系E-R图如下图所示。

图4-7系统E-R图

4.4.2 逻辑结构设计

此环节把概念转变成数据。由于整个数据库所处理的信息过多,就只展示几个表。

表名:config

功能:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表名:caiwuzhichu

功能:财务支出

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhichubianhao

varchar

200

支出编号

zhichuleixing

varchar

200

支出类型

jine

float

金额

zhichuxiangqing

longtext

4294967295

支出详情

zhichushijian

datetime

支出时间

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

表名:caiwushouru

功能:财务收入

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shourubianhao

varchar

200

收入编号

shouruleixing

varchar

200

收入类型

jine

int

金额

shourushuoming

longtext

4294967295

收入说明

shourushijian

datetime

收入时间

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

表名:zijinjihua

功能:资金计划

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

nianyuefen

varchar

200

年月份

jihuashouru

float

计划收入

jihuazhichu

float

计划支出

dengjishijian

datetime

登记时间

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

表名:zhichuleixing

功能:支出类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhichuleixing

varchar

200

支出类型

表名:yonghu

功能:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

mima

varchar

200

密码

yonghuxingming

varchar

200

用户姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

shoujihaoma

varchar

200

手机号码

表名:users

功能:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表名:token

功能:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表名:shouruleixing

功能:收入类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shouruleixing

varchar

200

收入类型

第5章 系统实现

5.1 注册模块的实现

用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。

用户注册流程图如下图所示。

图5-1用户注册流程图

用户注册界面如下图所示。

图5-2用户注册界面

5.2 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布职位信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

图5-3登录流程图

用户登录界面如下图所示。

图5-4用户登录界面

5.3 用户首页模块的实现

系统呈现出一种简洁大方的首页:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台。

如下图所示为系统的首页界面。

图5-5系统首页界面

5.4 用户资料修改模块的实现

用户登录/注册成功之后可以修改自己的基本信息。修改页面的表单中每一个input的name值都要与实体类中的参数相匹配,在用户点击修改页面的时候,如果改后用户名与数据库里面重复了,页面会提示该用户名已经存在了,否则通过Id来查询用户,并将用户的信息修改为表单提交的数据。

个人信息修改界面如下图所示。

图5-6个人信息修改界面

5.5 资金计划管理模块的实现

此页面的关键是编写资金计划,包括年月份、计划收入、计划支出、登记时间等。单击提交按钮以完成信息的添加。如果未写入完整的资金计划,例如,如果未写入计划支出,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。

用户点击左侧菜单“资金计划管理”,页面跳转到资金计划管理外观,调用后台职位查询所有资金计划。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的jsp,显示出资金计划,单击删除按钮完成资金计划的删除。

资金计划管理流程图如下图所示。

图5-7资金计划流程图

资金计划添加界面如下图所示。

图5-8资金计划添加界面

资金计划管理界面如下图所示。

图5-9资金计划管理界面

5.6 财务支出模块的实现

用户拥有自己的个人账户后,用户查询历史财务支出信息,包括支出编号、支出类型、金额、支出时间、支出详情等,点击添加财务支出,填写相应的财务支出,通过id传参,找到该个人账户,在add.jsp提交财务支出表单,生成财务支出。

财务支出添加流程如下图所示。

图5-10财务支出添加流程

财务支出添加界面如下图所示。

图5-11财务支出添加界面

财务支出管理界面如下图所示。

图5-12财务支出管理界面

5.7 财务收入模块的实现

用户浏览历史财务收入信息,包括收入编号、收入类型、金额、收入时间、收入详情,点击新增财务收入,填写相应的财务收入,通过id传参,找到该财务收入,在add.jsp提交财务收入表单,生成收入记录。

财务收入添加流程如下图所示。

图5-13财务收入添加流程

财务收入添加界面如下图所示。

图5-14财务收入添加界面

财务收入管理界面如下图所示。

图5-15财务收入管理界面

5.8 管理员子系统模块的实现

5.8.1 管理员主页模块

经过用户登录后,页面跳转至首页,main.jsp,首页是由2个页面组成的,包括top、left和center等页面,通过@ include引入,系统首页主要介绍系统的基本信息,包括当前用户、当前日期、当前访问浏览器的版本、服务器的端口数、当前用户的权限、当前电脑的ip、当前电脑的操作系统名称、本系统的开发日期、系统作者、指导教师、开发日期等。其中left部分是系统菜单,本系统菜单包括1级菜单和2级菜单,使用jquery实现1级菜单展开为2级菜单。

主界面如下图所示。

图5-16主界面

5.8.2 系统用户管理模块

管理员对系统用户的管理,在yhzhgl.jsp实现管理员用户的管理,包括录入、删除、修改,修改密码通过SESSION获取用户名,然后输入新密码,提交到mod.jsp中,使用sql命令更新密码。

管理员用户管理的界面如下图所示。

图5-17管理员用户管理界面

5.8.3 收入类型管理模块

收入类型管理包括新增收入类型、删除收入类型、修改收入类型、查询收入类型等,以收入类型新增为例,在视图层请求收入类型信息新增,反馈后,调用业务逻辑层,通过业务逻辑层的接口调用底层的数据逻辑层完成数据库联动操作。

收入类型管理的流程如所示。

图5-18收入类型管理流程

收入类型管理的界面如所示。

图5-19收入类型管理界面

5.8.4 支出类型管理模块

支出类型管理包括新增支出类型、删除支出类型、修改支出类型、查询支出类型等,以支出类型新增为例,在视图层请求支出类型信息新增,反馈后,调用业务逻辑层,通过业务逻辑层的接口调用底层的数据逻辑层完成数据库联动操作。

支出类型管理的界面如所示。

图5-20支出类型管理界面

第6章 系统测试

6.1 测试目的

在这个产品被投入使用前,首先需要进行试用,这是重要的环节。考虑到某个部分的开发没有缺陷情况下,把各种模块拼接,也有一定概率就存在矛盾。这就好比每个人都很独特,但聚在一起就显得杂乱无章,需要保证有默契的配合。对于测试,要看它的各项内容是否契合的原则。若与最初定下的标准有一定程度上的出入,那么就需要做出一些调整,让最终的大方向朝着目标前进。

6.2 测试用例

下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6-1 系统登录功能测试用例

功能描述

用于系统登录

测试目的

检测登录时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的用户名和密码带有非法字符

提示用户名或者密码错误

与预期结果一致

输入的用户名或者密码为空

提示用户名或者密码错误

与预期结果一致

输入的用户名和密码不存在

提示用户名或者密码错误

与预期结果一致

输入正确的用户名和密码

登录成功

与预期结果一致

下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6-2 注册功能测试用例

功能描述

用于用户注册

测试目的

检测用户注册时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的手机号不合法

提示请输入正确的手机号码

与预期结果一致

输入的字段为空

提示必填项不能为空

与预期结果一致

输入的密码少于6位

提示密码必须为6-12位

与预期结果一致

输入的密码大于12位

提示密码必须为6-12位

与预期结果一致

下表是资金计划管理功能的测试用例,检测了资金计划管理中对资金计划信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-3 资金计划管理的测试用例

功能描述

用于资金计划管理

测试目的

检测资金计划管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加资金计划,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加资金计划,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改资金计划,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改资金计划,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除资金计划,选择资金计划删除

提示删除成功

与预期结果一致

点击搜索资金计划,输入存在的资金计划名

查找出资金计划

与预期结果一致

点击搜索资金计划,输入不存在的资金计划名

不显示资金计划

与预期结果一致

6.3 性能测试

使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。

压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。

第7章 总结与展望

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是个人记账管理系统为核心展开的,主要是为了实现用户资金计划管理和记录财务收入和财务支出的需求。

个人记账管理系统的开发是以Java编程语言作为基础,在Myeclipse平台上完成编码工作,系统整体为B/S架构,数据库系统使用MySQL。文中详细分析了个人记账管理系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了个人记账管理系统所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。整个系统的开发过程中大量使用了Java相关的知识以及前端开发使用的工具等,同时涉及到了很多开源框架和组件。系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

参考文献

[1]付蓉.如何利用大数据引领财务管理智能化[J].上海商业,2023(02):77-79.

[2]代媛,余家平.大数据技术发展的背景下财务管理面临的挑战[J].中国乡镇企业会计,2023(02):163-165.

[3]谭添,马晓星,许畅,马春燕,李樾.Java指针分析综述[J].计算机研究与发展,2023,60(02):274-293.

[4]周磊.MySQL与MS SQL Server在数据操作教学中的区别研究[J].湖南邮电职业技术学院学报,2022,21(04):38-40+50.

[5]任浩然,刘丹,景永强.JAVA在计算机软件开发中的应用研究[J].信息记录材料,2022,23(11):83-85.DOI:10.16009/j.cnki.cn13-1295/tq.2022.11.072.

[6]李兰.基于“双能力”提升的个人理财课程建设[J].学园,2022,15(30):60-62.

[7]王晓珊. 《MySQL数据库设计与应用》(节选)慕课字幕英译实践报告[D].昆明理工大学,2022.DOI:10.27200/d.cnki.gkmlu.2022.001076.

[8]王呈约.“互联网+”背景下在线代理记账平台优化策略探析[J].活力,2021(20):171-172.

[9]Zhang Z,Yuan M,Qian H. Research on MySQL Database Recovery and Forensics Based on Binlog[C]//河池学院,北京邮电大学,英国龙比亚大学,西安电子科技大学,河北工业大学.Proceedings of the 11th International Conference on Computer Engineering and Networks(CENet2021)Part I.Proceedings of the 11th International Conference on Computer Engineering and Networks(CENet2021)Part I,2021:750-759.DOI:10.26914/c.cnkihy.2021.045076.

[10]喻佳,吴丹新.基于SpringBoot的Web快速开发框架[J].电脑编程技巧与维护,2021(09):31-33.DOI:10.16184/j.cnki.comprg.2021.09.013.

[11]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).

[12]Guanhong Chen,Jiangming Xu. Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science,2020,6(1).

[13]董航.基于记账管理APP系统需求分析与设计[J].辽宁高职学报,2020,22(10):88-91+101.

[14]Witsarut Sriratana,Vittaya Khagwian,Sutham Satthamsakul. Analysis of Electric Current by Using MySQL Database on Web Server for Machine Performance Evaluation: A Case Study of Air Conditioning System[J]. 제어로봇시스템학회 국제학술대회 논문집,2020.

[15]覃韦丽,陈俊丞,李丽婷,黄浩.基于Android平台的记账软件的开发[J].电子世界,2020(10):178-179.DOI:10.19353/j.cnki.dzsj.2020.10.092.

[16]陈甜. 跨平台的自动记账与多人共享账务管理系统的设计与实现[D].北京邮电大学,2020.DOI:10.26969/d.cnki.gbydu.2020.001003.

[17]郝哲璞.记账软件对理财的意义——以“一指记账”APP为例[J].投资与合作,2020(04):124-126.

[18]潘彬彬.一指记账APP软件设计[J].大众标准化,2020(02):56-58.

[19]马宏恩,刘奇付.个人财务管理系统的设计与实现[J].信息与电脑(理论版),2018(06):50-52.

[20]梅从圣,郑丽,田铮,许可.基于Android系统的记账软件的设计与实现[J].纳税,2018(05):216.

致  谢

经过几个月时间的努力终于完成了这篇文章,在文章的写作与研究的过程中遇到了很多困难,都在同学和老师的帮助下解决了。尤其非常感谢我最敬爱的老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行文章的修改。老师严谨的治学态度、渊博的学术知识、诲人不倦的敬业精神以及宽容的待人风范使我获益颇丰。此外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此,向帮助和指导过我的老师表示最衷心的感谢!感谢这篇文章所涉及到的各位学者。本文引用了数位学者的文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇文章的写作。感谢我的同学、朋友以及所在单位的同事,在我写文章的过程中给与了我很多素材和帮助,还在文章的撰写和排版过程中提供热情的帮助。同时,感谢我的室友对我的热心指导和帮助,经常有不懂之处都是大家在帮助我,才使得我比较顺利的完成了这篇文章。由于我水平有限,所写文章难免有不足之处,恳请各位老师和学友批评和指正!

点赞+收藏+关注  →私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值