个人理财管理系统
摘要
本文介绍了一种以客户为中心的个性化金融服务。在经济全球化的今天,人们对金融市场的需求也日益增加。这个课题的目的是设计并实现一个基于Java框架的个人理财管理系统,帮助用户更好地管理自己的财务情况,包括收入、支出、投资等方面。
首先,本课题将对当前市场上已有的个人理财管理系统进行调研分析,总结其优缺点,从而确定自身系统的定位和特色。借鉴现有系统的经验,可以使得新系统在功能设计和用户体验方面更加贴合实际需求。其次,本课题将以Spring Boot作为后端框架,结合Spring Security进行用户权限控制,使用MyBatis或者Hibernate作为持久层框架,设计并实现系统的后端核心功能。通过设计合理的数据库表结构和建立良好的数据模型,保证系统在数据存储和处理方面的高效性和稳定性。本系统由管理员和一般用户两部分组成,管理信息,管理用户信息,管理金融投资产品,贷款审查等。用户可以实现新闻资讯,个人金融投资,理财工具,个人信息.
总之,《基于 Java的个人理财管理系统的设计与实现》旨在建立一个功能完善,安全稳定,用户体验良好的个人金融管理软件,为广大用户提供方便快捷的金融管理。
关键词:个人理财,投资,SpringBoot,MyBatis,HTML
ABSTRACT****
The design and implementation of the Spring Boot-based personal finance management system is a project designed to help individuals manage their finances efficiently. With the development of society, personal finance management becomes more and more important. The purpose of this topic is to design and implement a personal finance management system based on the Spring Boot framework to help users better manage their financial situation, including income, expenditure, investment and more.
First of all, this topic will investigate and analyze the existing personal financial management system in the current market, summarize its advantages and disadvantages, so as to determine the positioning and characteristics of its own system. Drawing on the experience of existing systems, the new system can be more suitable for practical needs in terms of functional design and user experience. Secondly, this topic will use Spring Boot as the back-end framework, combined with Spring Security for user permission control, and use MyBatis or Hibernate as the persistent layer framework, to design and implement the back-end core functions of the system. By designing reasonable database table structure and establishing good data model, the high efficiency and stability of data storage and processing are guaranteed. The system has administrators and ordinary users, whose administrator functions include news release, user information management, financial and investment product management, and online loan review; ordinary user functions include market news and information, personal finance investment, financial instruments and personal center.
In general, "Design and Implementation of Spring Boot Based Personal Finance Management System" will be committed to creating a personal finance management system with complete functions, security and stability, and good user experience, to provide users with convenient and efficient financial management services.
Key words: Personal Finance, Investment, SpringBoot, MyBatis, HTML
目 录
摘要
ABSTRACT
第一章 绪论
1.1 选题的背景
1.2 选题的意义
1.3 选题的目的
1.4 国内外研究现状
1.4.1 国内研究现状
1.4.2 国外研究现状
1.5 论文主要结构
第二章 系统开发技术
2.2 Springboot框架
2.3 Vue框架
2.4 MySQL框架
2.5 MVVM框架
2.6 Axios技术
2.7 系统开发平台及环境
2.7.1 系统开发平台
2.7.2 环境
第三章 功能需求分析
3.1 系统的可行性分析
3.1.1 技术可行性
3.1.2 操作可行性
3.1.3 社会可行性
3.1.4 经济可行性
3.2 功能需求分析
3.2.1 管理员功能需求分析
3.2.2 用户功能需求分析
3.3 系统用例分析
3.3.1 管理员功能需求分析
3.3.2 用户功能需求分析
3.4 非功能需求分析
第四章 系统总体设计
4.1 系统功能模块设计
4.1 系统总体设计
4.2 用户功能模块设计
4.2.1 用户登录注册模块
4.2.2 个人理财模块
4.2.3 金融工具模块
4.2.4 个人中心模块
4.3 管理员功能模块设计
4.3.1用户信息管理模块
4.3.2 网贷管理模块
4.3.3理财产品信息管理模块
4.4 数据库设计
4.4.1 数据库的实体属性图设计
4.4.3 数据库表设计
第五章 系统实现
5.1 登录注册界面实现
5.2 用户业务功能实现
5.2.1 个人理财管理
5.2.2记账本管理
5.2.3安全网贷实现
5.2.4个人中心模块
5.2.5 我的消息界面管理
5.3 管理员业务功能实现
5.3.1 用户信息管理实现
5.3.2 基金产品信息管理实现
5.3.3 权限管理实现
5.3.4网贷审核实现
网贷审核界面代码实现:
第六章 系统测试
6.1 系统测试
6.2 功能测试用例
6.3测试结果与分析
第七章 总结与展望
7.1 总结
7.2 展望
参考文献
致谢
(1)用户信息表
用户信息表是数据库中存储个人理财投资管理相关信息的一种结构化数据对象。它包含了用户的基本身份信息,如用户编号、用户名和密码等字段。
表4.1 用户信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | 编号 | 主键 |
| username | varchar | 20 | 用户名 | |
| password | varchar | 20 | 密码 | |
| status | int | 10 | 登陆状态 |
(2)我的理财信息表
理财信息表是专门用于记录个人理财产品信息的数据库表格。它主要包含了每个理财产品的基本属性,包括产品编号、名称、类型、年化收益率和描述等字段。理财信息表如表4.2所示。
表4.2 我的理财信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | id | 主键 |
| name | varchar | 20 | 产品名称 | |
| type | varchar | 20 | 产品类型 | |
| assets | varchar | 20 | 年化收益率 | |
| bankdesc | varchar | 2000 | 产品描述 |
(3)银行卡信息表
银行卡信息表是用于存储用户银行卡相关信息的数据库表格。它记录了每张银行卡的基本属性,包括银行卡编号、银行卡名称、卡号、类型和用户ID等字段。银行卡信息表如表4.3所示。
表4.3银行卡信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | 银行卡编号 | 主键 |
| cardbank | varchar | 20 | 银行卡所属银行 | |
| type | int | 10 | 银行卡类型 | |
| cardnum | varchar | 20 | 银行卡卡号 | |
| userid | int | 10 | 银行卡所属用户 |
(4)记账本信息表
记账本信息表是用于记录用户收支信息的数据库表格。它包含了每笔交易的关键属性,如记录编号、所属用户、金额、来源、类型、创建时间和备注等字段。记账本信息表如表4.4所示。
表4.4记账本信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 0 | 记录表id | 主键 |
| userid | int | 0 | 所属用户 | |
| flowmoney | decimal | 2 | 金额 | 下、 |
| type | int | 0 | 类型 | |
| suorce | varchar | 0 | 来源 | |
| funddesc | varchar | 0 | 备注 | |
| createtime | data | 0 | 创建时间 |
(5)安全网贷申请表
安全网贷申请表是用于记录用户网贷申请信息以及审核状态的数据库表格。它包含了每笔借款的关键属性,如记录编号、借款人ID、审核人ID、借款时间、借款金额、借款期限、借款利率、申请状态和借贷状态等字段。安全网贷申请表如表4.5所示。
表4.5安全网贷申请表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | 网贷信息表id | 主键 |
| loanid | int | 10 | 借贷人id | |
| examineid | int | 10 | 审核人id | |
| loantime | data | 0 | 借贷时间 | |
| amount | decimal | 10 | 借贷金额 | |
| term | int | 20 | 借贷期限 | |
| rate | decimal | 10 | 固定年借贷利率 | |
| applystatus | int | 10 | 申请状态 | |
| loanstatus | int | 10 | 借贷状态 |
(6)管理员信息表
管理员信息表是用于存储个人理财投资管理系统管理员的相关信息的数据库表格。它包含了每个管理员的基本属性,如管理员编号、用户名和密码等字段。如表4.6所示。
表4.6管理员信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | 管理员id | 主键 |
| username | varchar | 20 | 用户名 | |
| password | varchar | 20 | 密码 | |
| status | int | 10 | 登陆状态 |
(7)零钱理财信息表
零钱理财产品信息表是用于记录零钱理财产品相关信息的数据库表格。它包含了每个零钱理财产品的关键属性,如记录编号、用户ID、零钱理财产品ID、起投时间、平均收益率和收益等字段。零钱理财信息表如表4.7所示。
表4.7 零钱理财信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | 零钱投资表id | 主键 |
| userid | int | 10 | 用户id | |
| changeid | int | 10 | 零钱理财产品id | |
| starttime | data | 0 | 起投时间 | |
| averyield | decimal | 10 | 平均收益率 | |
| profit | decimal | 20 | 收益 | |
| status | int | 10 | 投资状态 |
(8)工资理财信息表
工资理财产品信息表是用于记录工资理财产品相关信息的数据库表格。它包含了每个产品的关键属性,如记录编号、用户ID、工资理财产品ID、起投时间、平均收益率等字段。工资理财信息表如表4.8所示。
表4.8 用户数据信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | 工资投资表id | 主键 |
| userid | int | 10 | 用户id | |
| payid | int | 10 | 工资理财产品id | |
| starttime | data | 0 | 起投时间 | |
| averyield | decimal | 10 | 平均收益率 | |
| status | int | 10 | 投资状态 |
(9)期限理财信息表
个人理财投资管理系统用户期限理财信息表是用于存储用户在系统中参与期限理财产品的相关信息的数据库表格。它包含了每笔期限理财产品投资的关键属性,如记录序列号、购买用户ID、期限理财产品ID、起投时间、收益、平均收益率以及投资状态等字段。期限理财信息如表4.9所示。
表4.9 期限理财信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | 期限投资表id | 主键 |
| userid | int | 10 | 用户id | |
| termid | int | 10 | 期限理财产品id | |
| starttime | data | 0 | 起投时间 | |
| averyield | decimal | 10 | 平均收益率 | |
| status | int | 10 | 投资状态 | |
| profit | decimal | 10 | 收益 |
(10)基金理财信息表
基金产品信息表是一个用于存储基金产品基本信息的数据库表格。它记录了每个基金产品的关键属性,如编号、名称、代码、类型、日增长率、年增长率、起投金额和投资期限等字段。基金产品信息表如表4.10所示。
表4.10基金理财信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | 基金理财表id | 主键 |
| fundDesc | varchar | 255 | 基金名称 | |
| code | int | 10 | 基金代码 | |
| type | int | 10 | 基金类型 | |
| dailyGrowth | decimal | 10 | 日增长率 | |
| annualGrowth | decimal | 10 | 年增长率 | |
| leastMoney | decimal | 10 | 起投金额 | |
| invesTerm | varchar | 20 | 投资期限 |
(11)银行信息表
银行信息表是用于存储管理员为用户选择办理银行业务时所需的相关银行信息的数据库表格。该表格记录了每个银行业务所涉及的关键属性,包括记录编号、银行卡名称、银行卡类型、卡号以及所属用户等字段。银行信息表如表4.11所示。
表4.11 银行信息表
| 列名 | 类型 | 长度 | 说明 | 主外键 |
|---|---|---|---|---|
| id | int | 10 | 编号 | 主键 |
| cardbank | varchar | 20 | 银行卡名称 | |
| type | int | 10 | 银行卡类型 | |
| cardnum | varchar | 20 | 卡号 | |
| userid | int | 10 | 所属用户 |
















- 系统测试
- 系统测试
针对目前应用程序设计中出现的问题,提出了一种新的解决方案。所以,在进行软件的测试前,要着重分析软件中潜在的缺陷,并为其制定相应的测试计划;从而可以在第一时间找到问题并加以处理,从而保证整个流程的品质与稳定。
1. 功能测试用例
在软件的开发中,测试就是利用不同的数据、不同的状态,对其进行试验,找出存在的问题,并加以改进,直至满足设计的需求。
在对软件进行测试的过程中,有几个必须遵守的规则。要防止编程人员对自己所写的程序进行反复的核对,否则,他们很有可能会根据自己的想法去做一些错误的事情,从而导致不能得到预期的结果。
在此基础上,本课题提出了一种新的检测方法——“黑盒”检测法来实现检测,从而保证了该检测方法的有效性和可靠性。
1.登录注册模块测试
必须检查使用者的识别信息,并检查其是否完整和准确。此使用者在登记时,一定要确认两次所使用的密码相同。在表6.1中列出了个人金融投资管理系统的登陆登记模块的测试案例。
表6.1注册模块测试用例表
| 序号 | 测试用例 | 实际结果 | 预期结果 |
|---|---|---|---|
| 1 | 用户名:admin 密码:123456 验证码:正确 | 登录成功 | 登录成功 |
| 2 | 用户名:yyy 密码:123456 验证码:正确 | 用户不存在,登陆失败 | 用户不存在,登陆失败 |
| 3 | 用户名:zhangsan 密码:123456 验证码:正确 | 登录成功 | 登录成功 |
| 4 | 用户名:admin 密码:123456 密码:123456 验证码:正确 | 用户已存在 | 用户已存在 |
| 5 | 用户名:admin 密码:123456 验证码:错误 | 验证码错误 | 验证码错误 |
| 6 | 用户名:admin 密码:123456 密码:123457 验证码:正确 | 两次密码不相同 | 两次密码不相同 |
| 7 | 用户名:wangwu 密码:wangwu 密码:wangwu 验证码:正确 | 注册成功 | 注册成功 |
2.理财产品信息管理模块测试
理财产品信息管理模块测试用例表如表6.2所示。
表6.2理财产品信息管理测试用例表
| 序号 | 测试用例 | 实际结果 | 预期结果 |
|---|---|---|---|
| 1 | 金额:50元 | 每月转入金额不合法 | 每月转入金额不合法 |
| 2 | 七日年化收益率:百分之五 | 输入不合法 | 输入不合法 |
| 3 | 金额:30 期限:一年 | 新增成功 | 新增成功 |
3.记账本模块测试
记账本测试用例表如表6.3所示。
表6.3记账本测试用例表
| 序号 | 测试用例 | 实际结果 | 预期结果 |
|---|---|---|---|
| 1 | 金额:199元 | Error page | Error page |
| 2 | 时间:2023-04-01 | 查询成功 | 查询成功 |
| 3 | 说明:支付宝支出 | 修改成功 | 修改成功 |
1. 测试结果与分析
(1) 在测试阶段,未触发任何异常情况。系统能够正确地捕获并提示输入错误或不当操作,并提供相应的解决方案。 (2) 系统功能完全可用,各页面之间的切换正常。 (3) 如果在操作过程中发生异常,系统能够及时报告错误信息,有助于后续的改进和修复。 (4) 在整个系统期间,未发现任何页面错误、数据库访问异常或功能故障,系统稳定可靠。
