基于Springboot+Vue家庭收支管理系统设计与实现 计算机毕业设计源码25509

摘  要

随着家庭财务管理需求的日益增长,设计并实现一个高效、便捷的家庭收支管理系统显得尤为重要。本文提出了一种基于Spring Boot和Vue框架的家庭收支管理系统,旨在帮助用户轻松管理收入、支出、预算及财务分析等核心功能。系统采用前后端分离的架构,后端使用Spring Boot框架提供RESTful API接口,处理业务逻辑和数据存储,前端通过Vue.js构建动态、响应式的用户界面,为用户提供直观的操作体验。MySQL作为数据库,用于存储用户的收支记录、账户信息及预算设置等数据。系统实现了收支分类管理、数据可视化分析以及多用户支持等功能,能够满足不同家庭成员的财务管理需求。该系统具有良好的稳定性和扩展性,能够有效提升家庭财务管理的效率。未来工作将集中在优化算法和增强用户体验上,以进一步满足实际应用需求。

关键词:Spring Boot;Vue;家庭收支管理;财务管理。

 ABSTRACT

With the growing demand for household financial management, designing and implementing an efficient and convenient household income and expenditure management system has become increasingly important. This paper proposes a household income and expenditure management system based on the Spring Boot and ue frameworks, aiming to help users easily manage core functions such as income, expenses, budgets, and financial analysis. The system adopts a front-end and back-end separation architecture, with the back-end using the Spring Boot framework to provide RESTful API interfaces for handling business logic and data storage. The front-end is built using Vue.js to create a dynamic and responsive user interface, offering users an intuitive operational experience. MySQL is used as the database to store users' income and expenditure records, account information, budget settings, and other data. The system implements features such as income and expense classification management, data visualization analysis, and multi-user support, meeting the financial management needs of different family members. The system demonstrates good stability and scalability, effectively improving the efficiency of household financial management. Future work will focus on optimizing algorithms and enhancing user experience to further meet practical application requirements.
Keywords: Spring Boot; Vue; Household Income and Expenditure Management; Financial Management.

目 录

1. 绪论

1.1. 研究背景与意义

1.1.1研究背景

1.1.2.研究意义

1.2. 国内外现状

1.2.1.国内现状分析

1.2.2.国外现状分析

2. 技术介绍

2.1.springboot框架

2.2.MySQL数据

3. 系统分析

3.1.系统可行性分析

3.1.1.技术可行性

3.1.2.经济可行性

3.2.系统功能分析

3.2.1.家庭成员主要功能

3.2.2.管理员主要功能

3.3.非功能性需求分析

3.4.普通用户用例分析

3.4.1.普通家庭成员用户用例图

3.4.2.管理员用例图

3.5.系统流程分析

3.5.1.用户登录操作流程

3.5.2.用户修改密码操作流程

3.5.3.添加家庭账户流程

4. 系统设计

4.1.系统功能模块设计

4.2.数据库设计

4.2.1.数据库概念结构设计

4.2.2.数据库逻辑结构设计

5. 系统设计

5.1.注册用户主要功能实现

5.1.1.家庭成员用户注册功能

5.1.2.用户登录

5.1.3.家庭账户管理

5.1.4.收入分类管理

5.1.5.支出分类管理

5.1.6.收入账单管理

5.1.7.支出账单管理

5.2.管理员主要功能实现

5.2.1后台首页

5.2.2.微信账单管理

5.2.3.支付宝账单管理

5.2.4.债务信息管理

5.2.5.公告信息管理

6.系统测试

6.1.功能测试

6.2.测试结论

结  论

致 谢

参考文献

  1. 研究背景与意义

1.1.1研究背景

随着经济水平的提高和家庭收入来源的多样化,家庭财务管理变得越来越复杂。传统的手工记账方式已难以满足现代家庭对精细化管理的需求,尤其是在跟踪收支、制定预算和财务分析方面显得力不从心。为了应对这些挑战,基于Spring Boot和Vue的家庭收支管理系统应运而生。该系统利用现代信息技术,提供了一个高效、便捷的解决方案,帮助用户轻松管理家庭财务。通过实现收支分类管理、数据可视化分析以及多用户支持等功能,系统能够显著提升家庭财务管理的效率和准确性,使家庭成员可以更好地规划和控制财务状况,从而实现更稳健的财务健康[1]。

1.1.2.研究意义

该系统通过提供一个集成化的平台,帮助家庭更有效地管理收入、支出和预算,提高了财务管理的准确性和效率。这对于促进家庭财务健康,合理规划支出,避免不必要的财务风险至关重要[2]。系统采用现代化的技术架构,如前后端分离设计,不仅提升了系统的灵活性和可扩展性,还为后续的功能扩展和技术升级提供了便利。数据可视化功能使用户能够直观地了解家庭财务状况,便于做出更加明智的财务决策[3]。该系统的成功实施也为其他领域内的财务管理应用提供了有益的参考,推动了数字化工具在个人和家庭财务管理中的广泛应用。

    1. 国内外现状

1.2.1.国内现状分析

在国内,家庭财务管理的需求日益增长,但现有的解决方案大多停留在传统的手工记账或简单的电子表格管理上,缺乏系统化和智能化的管理工具。尽管市面上有一些个人财务管理软件,它们往往侧重于个人用户而非家庭整体的财务管理需求,并且在用户体验、功能深度和数据安全方面存在不足。基于Spring Boot和Vue的家庭收支管理系统则试图填补这一空白,通过提供一个易于使用、功能全面且高度定制化的平台来满足现代家庭的需求[4]。该系统不仅支持多用户协作管理家庭财务,还提供了强大的数据分析和可视化功能,帮助用户更好地理解和规划家庭财务状况。随着数字化生活的普及,这样的系统有望成为提升家庭财务管理效率的重要工具[5]。

1.2.2.国外现状分析

在国外,家庭财务管理工具的发展较为成熟,市场上已经存在多种多样的软件和服务,如Mint、YNAB(You Need A Budget)和Quicken等,这些平台提供了从预算设定、支出跟踪到财务目标规划等一系列功能,并且注重用户体验与数据安全。它们通常利用先进的算法和技术提供个性化的财务建议和预警系统,帮助用户更好地管理个人及家庭财务。这些解决方案在功能上非常全面,其定制化和本地化服务可能无法完全满足特定地区用户的需求。基于Spring Boot和Vue的家庭收支管理系统可以通过针对本地市场的定制化开发,提供更贴合国内用户习惯的功能和服务。系统的开源特性也为进一步的功能扩展和技术改进提供了灵活性,使其能够适应不断变化的市场需求。

  1. 技术介绍

2.1.springboot框架

基于Spring Boot和Vue框架的家庭收支管理系统充分利用了前后端分离架构的优势。Spring Boot作为后端框架,提供了快速开发、灵活配置和强大的RESTful API支持,能够高效处理业务逻辑、数据存储和用户权限管理等核心功能。其内置的依赖注入和自动化配置显著降低了开发复杂度,确保了系统的稳定性和可扩展性。Vue.js作为前端框架,以其轻量级、组件化和响应式设计的特点,为用户提供了流畅且直观的操作体验[6]。通过前后端分离的设计,系统实现了更高的开发效率和模块化管理能力,便于后续功能扩展和技术升级。Spring Boot与Vue的结合使得系统在性能、灵活性和用户体验方面表现出色,为家庭财务管理提供了一个现代化的技术解决方案[7]。

2.2.MySQL数据  

在基于Spring Boot和Vue的家庭收支管理系统中,MySQL数据库扮演了至关重要的角色,提供了稳定高效的数据存储解决方案。作为关系型数据库,MySQL以其可靠性、高性能和易用性著称,非常适合处理系统中的各类财务数据,如收入记录、支出详情、预算设置以及用户账户信息等。通过与MyBatis集成,系统实现了对数据库的高效访问和管理,确保了数据操作的准确性和安全性[8]。MySQL的事务处理能力保证了数据的一致性和完整性,特别是在并发操作频繁的场景下表现尤为突出。MySQL的强大查询功能支持复杂的数据分析和报表生成,帮助用户更好地理解家庭财务状况。这些特性使得MySQL成为该系统理想的数据存储选择,为实现精准的家庭财务管理提供了坚实的基础。

系统分析

3.1.系统可行性分析

3.1.1.技术可行性

Spring Boot提供了强大的后端支持,简化了企业级应用的开发与部署,其自动配置功能和依赖管理极大地提高了开发效率。结合MyBatis进行数据持久化操作,能够高效处理数据库交互,确保数据管理的准确性和安全性。Vue.js作为前端框架,以其组件化开发模式和响应式设计,为用户提供了流畅且直观的操作体验,便于快速上手和使用。前后端分离的架构不仅提升了系统的灵活性和可维护性,还支持高效的团队协作开发。MySQL数据库的稳定性与高性能保证了系统在高并发情况下的稳定运行。整体来看,这些技术的选择不仅降低了开发成本,还增强了系统的可扩展性和稳定性,确保家庭收支管理系统能够满足实际应用需求,并具备良好的发展前景。

3.1.2.经济可行性

Spring Boot和Vue.js作为开源框架和技术,无需额外许可费用,降低了开发成本。系统的设计与实现充分利用了现有的成熟技术,减少了对昂贵软件和工具的依赖。通过自动化管理流程,如收入支出记录、预算设定及财务分析,该系统能够大幅减少人工操作,降低人力成本并提高工作效率。系统的模块化设计使得后续维护和升级更加便捷,进一步减少了长期运营成本。系统提供了一个高效、可靠的财务管理工具,帮助他们更好地规划和控制家庭财务,避免不必要的开支。低成本投入与高效率产出使得该系统在经济上极具吸引力,为家庭财务管理提供了可持续的技术支持。

3.2.系统功能分析

Springboot+Vue家庭收支管理系统包含家庭成员和管理员二个角色划分,每个角色对应的主要功能如下:

3.2.1.家庭成员主要功能

  1. 注册:在用户注册页面中填写好账号、密码、确认密码、昵称、邮箱、选择身份等信息,点击下方注册按钮,提示注册成功后,系统将自动跳转回到首页。
  2. 登录:登录是填写好账号、密码以及验证通过,然后点击“登录”。
  3. 个人信息:用户点击“个人信息”按钮,可以对个人的头像、昵称、账号等信息进行更新。
  4. 修改密码:用户点击“修改密码”按钮,可以对登录密码进行更改,首先输入原密码,然后再输入新密码和确认密码,当原密码正确,输入两次新密码一致,则修改成功,否则给出错误提示信息。
  5. 家庭账户管理:包含家庭账户列表和家庭账户添加功能。家庭账户列表:主要展示该用户的家庭账户信息,可进行查询、重置、下载导入、导出、删除等操作。家庭账户添加:可手动添加导入该用户的的家庭账户数据。
  6. 收入分类管理:包含收入分类列表和收入分类添加功能。收入分类列表:主要展示该用户的收入分类信息,可进行增删改查等操作。收入分类添加:可手动添加该用户的收入分类数据。
  7. 支出分类管理:包含支出分类列表和支出分类添加功能。支出分类列表:主要展示该用户的支出分类信息,可进行增删改查等操作。支出分类添加:可手动添加该用户的支出分类数据。
  8. 收入账单管理:主要展示该用户的收入账单详情。可进行查询、重置、删除等操作。
  9. 支出账单管理:主要展示该用户的支出账单详情。可进行查询、重置、删除等操作。
  10. 还款账单管理:主要展示该用户的还款账单详情。可进行查询、重置、删除等操作。
  11. 微信账单管理:包含微信账单列表和微信账单添加功能。微信账单列表:主要展示该用户微信账单信息,可进行查询、重置、下载导入、导出、删除等操作。微信账单添加:可手动添加导入该用户的微信账单数据。
  12. 支付宝账单管理:包含支付宝账单列表和支付宝账单添加功能。支付宝账单列表:主要展示该用户的支付宝账单信息,可进行查询、重置、下载导入、导出、删除等操作。支付宝账单添加:可手动添加导入该用户的支付宝账单数据。
  13. 预算信息管理:主要展示该用户的预算信息详情。可进行查询、重置、删除等操作。
  14. 债务信息管理:包含债务信息列表和债务信息添加功能。债务信息列表:主要展示该用户债务信息详情,可进行增删改查等操作。债务信息添加:可手动添加该用户债务信息数据。
  15. 公告信息管理:用户可查看后台发布的公告信息。

3.2.2.管理员主要功能

  1. 后台首页:展示的是家庭账户统计、收入账单统计、支出账单统计、还款账单统计等。
  2. 系统用户:管理员可以查看平台的系统用户,维护系统设置和权限控制,可进行增删改查等操作。
  3. 家庭账户管理:包含家庭账户列表和家庭账户添加功能。家庭账户列表:主要管理所有家庭账户信息,可进行查询、重置、下载导入、导出、删除等操作。家庭账户添加:可手动添加导入的家庭账户数据。
  4. 收入分类管理:包含收入分类列表和收入分类添加功能。收入分类列表:主要管理所有收入分类信息,可进行增删改查等操作。收入分类添加:可手动添加收入分类数据。
  5. 支出分类管理:包含支出分类列表和支出分类添加功能。支出分类列表:主要管理所有支出分类信息,可进行增删改查等操作。支出分类添加:可手动添加支出分类数据。
  6. 收入账单管理:主要管理所有用户的收入账单详情。可进行查询、重置、删除等操作。
  7. 支出账单管理:主要管理所有用户的支出账单详情。可进行查询、重置、删除等操作。
  8. 还款账单管理:主要管理所有用户的还款账单详情。可进行查询、重置、删除等操作。
  9. 微信账单管理:包含微信账单列表和微信账单添加功能。微信账单列表:主要管理所有用户微信账单信息,可进行查询、重置、下载导入、导出、删除等操作。微信账单添加:可手动添加导入的微信账单数据。
  10. 支付宝账单管理:包含支付宝账单列表和支付宝账单添加功能。支付宝账单列表:主要管理所有用户的支付宝账单信息,可进行查询、重置、下载导入、导出、删除等操作。支付宝账单添加:可手动添加导入的支付宝账单数据。
  11. 预算信息管理:主要管理所有用户的预算信息详情。可进行查询、重置、删除等操作。
  12. 债务信息管理:包含债务信息列表和债务信息添加功能。债务信息列表:主要管理所有用户债务信息详情,可进行增删改查等操作。债务信息添加:可手动添加债务信息数据。
  13. 公告信息管理:包含公告信息列表和公告信息添加功能。公告信息列表:主要管理所有公告信息详情,可进行增删改查等操作。公告信息添加:可手动添加公告信息数据。

3.3.非功能性需求分析

在Springboot+Vue家庭收支管理系统的网站的毕业设计中,非功能性需求分析是也是很重要的。它主要关注系统除了基本功能外的其他特性,如性能、安全性、易用性、可维护性等,这些特性对于确保系统的稳定运行和用户满意度至关重要。

性能:系统需要能够处理大量的并发访问,确保在高并发情况下依然能够稳定运行,为用户提供流畅的体验。系统响应速度要快,用户提交操作后,系统应迅速反馈处理结果,避免用户长时间等待。系统还需具备较高的数据吞吐能力,能够高效地存储和检索家庭账户管理数据。系统应具备可扩展性,随着用户量和数据量的增长,能够方便地进行性能优化和扩展,以满足未来发展的需要。

安全性:系统需确保用户数据的安全,包括个人信息、家庭账户等敏感数据,应采用加密技术进行存储和传输,防止数据泄露。系统应实施严格的访问控制,对不同用户设定不同的权限级别,防止未授权访问和操作。系统还需定期进行安全审计和漏洞扫描,及时发现并修复潜在的安全隐患,确保系统的整体安全性。这些安全措施的实施,将为系统提供坚实的安全保障。

易用性:系统界面应简洁明了,布局合理,使用户能够快速上手并轻松找到所需功能。操作流程需设计得直观易懂,减少用户的操作难度和学习成本。系统还应提供清晰的导航和搜索功能,帮助用户快速定位家庭账户相关信息。需关注不同用户群体的使用习惯和需求,确保系统具有广泛的适用性和良好的用户体验。

可维护性:系统需采用模块化设计,各功能模块独立且可复用,便于故障排查和代码修改。系统应提供监控功能,实时监控运行状态和性能指标,及时预警潜在问题。还需确保文档齐全,包括系统架构、接口说明、操作手册等,便于开发人员和维护人员快速理解和上手。这些措施共同确保系统具有良好的可维护性。

3.4.普通用户用例分析

3.4.1.普通家庭成员用户用例图

Springboot+Vue家庭收支管理系统中普通用户包含注册登录、首页、个人信息、修改密码、家庭账户管理、收入分类管理、支出分类管理、收入账单管理、支出账单管理、还款账单管理、微信账单管理、支付宝账单管理、预算信息管理、债务信息管理、公告信息管理等功能模块,对应角色用例图如图3.1所示:

图3.1 家庭成员用户角色用例图

3.4.2.管理员用例图

Springboot+Vue家庭收支管理系统的设计与实现中管理员涉及登录、后台首页、系统用户、家庭账户管理、收入分类管理、支出分类管理、收入账单管理、支出账单管理、还款账单管理、微信账单管理、支付宝账单管理、预算信息管理、债务信息管理、公告信息管理等,管理员对应的用例图如图3.2所示:

图3.2管理员角色用例图

3.5.系统流程分析

3.5.1.用户登录操作流程

所有用户登录系统需要前端校验用户名、密码是否正确以及是否为空,具体流程图如图所示:

图3-3用户登录流程图

3.5.2.用户修改密码操作流程

所有用户可以我的账户信息页面,点击修改修改密码进行修改登录密码操作,修改密码流程如图所示:

图3-4修改密码流程图

3.5.3.添加家庭账户流程

添加家庭账户,输入账户名称、账号类型、账户详情等信息,并校验输入是否正确,家庭账户添加流程图,如图所示:

图3-5家庭账户添加流程图

  1. 系统设计

在上一章节主要体现了Springboot+Vue家庭收支管理系统的功能性需求,并根据需求分析绘制家庭成员用户和管理员用例以及系统相关操作流程。本章节主要介绍Springboot+Vue家庭收支管理系统的网站核心功能模块设计、数据库设计、系统详细设计。

4.1.系统功能模块设计

Springboot+Vue家庭收支管理系统的网站功能模块主要涉及有家庭成员用户和管理员二个角色。每个角色对应的功能模块如图4.1所示。

图4.1Springboot+Vue家庭收支管理系统的功能模块图

4.2.数据库设计

4.2.1.数据库概念结构设计

Springboot+Vue家庭收支管理系统的管理员、家庭成员用户、家庭账户、预算信息、支出账单、收入账单等E-R实体关系图。

图4.2Springboot+Vue家庭收支管理系统的E-R关系图

4.2.2.数据库逻辑结构设计

将上述管理员、家庭成员用户、家庭账户、预算信息、支出账单、收入账单等E-R图转换为数据库表结构,如下: 

表 4-1-family_account(家庭账户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

family_account_id

int

家庭账户ID

2

family_members

int

家庭成员

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

account_name

varchar

64

账户名称

6

account_type

varchar

64

账户类型

7

account_balance

double

账户余额

8

amount_of_income

double

已收入额

9

amount_of_expenditure

double

已支出额

10

budget_amount

double

预算金额

11

account_profile

text

65535

账户简介

12

account_details

text

65535

账户详情

13

income_bill_limit_times

int

收入限制次数

14

expense_bill_limit_times

int

支出限制次数

15

repayment_bill_limit_times

int

还款限制次数

16

budget_information_limit_times

int

预算限制次数

17

create_time

datetime

创建时间

18

update_time

timestamp

更新时间

表 4-2-budget_information(预算信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

budget_information_id

int

预算信息ID

2

family_members

int

家庭成员

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

budget_name

varchar

64

预算名称

6

budget_type

varchar

64

预算类型

7

budget_amount

double

预算金额

8

amount_of_expenditure

double

已支出额

9

introduction_to_budget

text

65535

预算简介

10

create_time

datetime

创建时间

11

update_time

timestamp

更新时间

12

source_table

varchar

255

来源表

13

source_id

int

来源ID

14

source_user_id

int

来源用户

表 4-3-expense_bill(支出账单)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

expense_bill_id

int

支出账单ID

2

family_members

int

家庭成员

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

account_name

varchar

64

账户名称

6

expenditure_title

varchar

64

支出标题

7

expenditure_classification

varchar

64

支出分类

8

this_expenditure

double

本次支出

9

date_of_expenditure

date

支出日期

10

expenditure_profile

text

65535

支出简介

11

expenditure_details

text

65535

支出明细

12

create_time

datetime

创建时间

13

update_time

timestamp

更新时间

14

source_table

varchar

255

来源表

15

source_id

int

来源ID

16

source_user_id

int

来源用户

表 4-4-income_bill(收入账单)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

income_bill_id

int

收入账单ID

2

family_members

int

家庭成员

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

account_name

varchar

64

账户名称

6

title_of_income

varchar

64

收入标题

7

income_classification

varchar

64

收入分类

8

this_income

double

本次收入

9

income_date

date

收入日期

10

income_introduction

text

65535

收入简介

11

revenue_breakdown

text

65535

收入明细

12

create_time

datetime

创建时间

13

update_time

timestamp

更新时间

14

source_table

varchar

255

来源表

15

source_id

int

来源ID

16

source_user_id

int

来源用户

表 4-5-family_members(家庭成员)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

family_members_id

int

家庭成员ID

2

user_name

varchar

64

用户姓名

3

users_mobile_phone

varchar

16

用户手机

4

examine_state

varchar

16

审核状态

5

user_id

int

用户ID

6

create_time

datetime

创建时间

7

update_time

timestamp

更新时间

表 4-6-access_token(登陆访问时长)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

token_id

int

临时访问牌ID

2

token

varchar

64

临时访问牌

3

info

text

65535

信息

4

maxage

int

最大寿命:默认2小时

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

user_id

int

用户编号

表 4-7-alipay_bill(支付宝账单)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

alipay_bill_id

int

支付宝账单ID

2

family_members

int

家庭成员

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

transaction_time

varchar

64

交易时间

6

transaction_classification

varchar

64

交易分类

7

opposite_account_number

varchar

64

对方账号

8

incomeexpenditure

varchar

64

收/支

9

amount

varchar

64

金额

10

receivedpaid

varchar

64

收/付款方

11

transaction_status

varchar

64

交易状态

12

transaction_order_number

varchar

64

交易订单号

13

merchant_order_number

varchar

64

商家订单号

14

remarks

varchar

64

备注

15

create_time

datetime

创建时间

16

update_time

timestamp

更新时间

表 4-8-announcement_information(公告信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

announcement_information_id

int

公告信息ID

2

announcement_title

varchar

64

公告标题

3

announcement_picture

varchar

255

公告图片

4

announcement_date

date

公告日期

5

announcement_type

varchar

64

公告类型

6

announcement_details

text

65535

公告详情

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间

表 4-9-auth(用户权限管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

auth_id

int

授权ID

2

user_group

varchar

64

用户组

3

mod_name

varchar

64

模块名

4

table_name

varchar

64

表名

5

page_title

varchar

255

页面标题

6

path

varchar

255

路由路径

7

parent

varchar

64

父级菜单

8

parent_sort

int

父级菜单排序

9

position

varchar

32

位置

10

mode

varchar

32

跳转方式

11

add

tinyint

是否可增加

12

del

tinyint

是否可删除

13

set

tinyint

是否可修改

14

get

tinyint

是否可查看

15

field_add

text

65535

添加字段

16

field_set

text

65535

修改字段

17

field_get

text

65535

查询字段

18

table_nav_name

varchar

500

跨表导航名称

19

table_nav

varchar

500

跨表导航

20

option

text

65535

配置

21

create_time

timestamp

创建时间

22

update_time

timestamp

更新时间

表 4-10-code_token(验证码)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

code_token_id

int

验证码ID

2

token

varchar

255

令牌

3

code

varchar

255

验证码

4

expire_time

timestamp

失效时间

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-11-debt_information(债务信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

debt_information_id

int

债务信息ID

2

family_members

int

家庭成员

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

title_of_debt

varchar

64

债务标题

6

type_of_debt

varchar

64

债务类型

7

borrowing_date

date

借款日期

8

amount_of_loan

double

借款金额

9

repayment_date

date

还款日期

10

amount_repaid

double

已还款额

11

debt_profile

text

65535

债务简介

12

create_time

datetime

创建时间

13

update_time

timestamp

更新时间

表 4-12-expenditure_classification(支出分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

expenditure_classification_id

int

支出分类ID

2

expenditure_classification

varchar

64

支出分类

3

create_time

datetime

创建时间

4

update_time

timestamp

更新时间

表 4-13-hits(用户点击)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

hits_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

表 4-14-income_classification(收入分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

income_classification_id

int

收入分类ID

2

income_classification

varchar

64

收入分类

3

create_time

datetime

创建时间

4

update_time

timestamp

更新时间

表 4-15-repayment_bill(还款账单

编号

字段名

类型

长度

是否非空

是否主键

注释

1

repayment_bill_id

int

还款账单ID

2

family_members

int

家庭成员

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

account_name

varchar

64

账户名称

6

account_type

varchar

64

账户类型

7

title_of_debt

varchar

64

债务标题

8

type_of_debt

varchar

64

债务类型

9

repayment_header

varchar

64

还款标题

10

expenditure_classification

varchar

64

支出分类

11

repayment_time

datetime

还款时间

12

repayment_amount

double

还款金额

13

repayment_remarks

varchar

64

还款备注

14

create_time

datetime

创建时间

15

update_time

timestamp

更新时间

16

source_table

varchar

255

来源表

17

source_id

int

来源ID

18

source_user_id

int

来源用户

表 4-16-upload(文件上传)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

upload_id

int

上传ID

2

name

varchar

64

文件名

3

path

varchar

255

访问路径

4

file

varchar

255

文件路径

5

display

varchar

255

显示顺序

6

father_id

int

父级ID

7

dir

varchar

255

文件夹

8

type

varchar

32

文件类型

表 4-17-user(用户账户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_id

int

用户ID

2

state

smallint

账户状态:(1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

所在用户组

4

login_time

timestamp

上次登录时间

5

phone

varchar

11

手机号码

6

phone_state

smallint

手机认证:(0未认证|1审核中|2已认证)

7

username

varchar

16

用户名

8

nickname

varchar

16

昵称

9

password

varchar

64

密码

10

email

varchar

64

邮箱

11

email_state

smallint

邮箱认证:(0未认证|1审核中|2已认证)

12

avatar

varchar

255

头像地址

13

open_id

varchar

255

针对获取用户信息字段

14

create_time

timestamp

创建时间

表 4-18-user_group(用户组)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

group_id

mediumint

用户组ID

2

display

smallint

显示顺序

3

name

varchar

16

名称

4

description

varchar

255

描述

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

register

smallint

注册位置

9

create_time

timestamp

创建时间

10

update_time

timestamp

更新时间

表 4-19-wechat_bill(微信账单)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

wechat_bill_id

int

微信账单ID

2

family_members

int

家庭成员

3

user_name

varchar

64

用户姓名

4

users_mobile_phone

varchar

64

用户手机

5

transaction_time

varchar

64

交易时间

6

transaction_type

varchar

64

交易类型

7

counterparty

varchar

64

交易对方

8

commodity

varchar

64

商品

9

incomeexpenditure

varchar

64

收/支

10

amount_yuan

varchar

64

金额(元)

11

payment_method

varchar

64

支付方式

12

current_status

varchar

64

当前状态

13

transaction_no

varchar

64

交易单号

14

merchant_number

varchar

64

商户单号

15

remarks

varchar

64

备注

16

create_time

datetime

创建时间

17

update_time

timestamp

更新时间

系统设计

5.1.注册用户主要功能实现

5.1.1.家庭成员用户注册功能

注注册:在用户注册页面中填写好账号、密码、确认密码、昵称、邮箱、选择身份等信息,点击下方注册按钮,提示注册成功后,系统将自动跳转回到首页。用户注册如图5-1所示

图5-1用户注册注册界面图

关键代码如下:

5.1.2.用户登录

登录:登录是填写好账号、密码以及验证通过,然后点击“登录”。用户登录如图5-2所示。

图5-2用户登录界面图

关键代码如下:

5.1.3.家庭账户管理

家庭账户管理:包含家庭账户列表和家庭账户添加功能。家庭账户列表:主要展示该用户的家庭账户信息,可进行查询、重置、下载导入、导出、删除等操作。家庭账户添加:可手动添加导入该用户的的家庭账户数据。家庭账户管理如图5-3所示。

图5-3家庭账户管理界面图

关键代码:

5.1.4.收入分类管理

收入分类管理:包含收入分类列表和收入分类添加功能。收入分类列表:主要展示该用户的收入分类信息,可进行增删改查等操作。收入分类添加:可手动添加该用户的收入分类数据。收入分类管理如图5-4所示。

图5-4收入分类管理界面图

5.1.5.支出分类管理

支出分类管理:包含支出分类列表和支出分类添加功能。支出分类列表:主要展示该用户的支出分类信息,可进行增删改查等操作。支出分类添加:可手动添加该用户的支出分类数据。支出分类管理如图5-5所示。

图5-5支出分类管理界面图

5.1.6.收入账单管理

收入账单管理:主要展示该用户的收入账单详情。可进行查询、重置、删除等操作。收入账单管理如图5-6所示 。

图5-6收入账单管理界面图

5.1.7.支出账单管理

支出账单管理:主要展示该用户的支出账单详情。可进行查询、重置、删除等操作。支出账单管理如图5-7所示 。

图5-7支出账单管理界面图

关键代码:

5.2.管理员主要功能实现

5.2.1后台首页

后台首页:展示的是家庭账户统计、收入账单统计、支出账单统计、还款账单统计等。后台首页如图5-8所示。

图5-8后台首页界面图

5.2.2.微信账单管理

微信账单管理:包含微信账单列表和微信账单添加功能。微信账单列表:主要管理所有用户微信账单信息,可进行查询、重置、下载导入、导出、删除等操作。微信账单添加:可手动添加导入的微信账单数据。微信账单管理如图5-9所示。

图5-9微信账单管理界面图

关键代码:

5.2.3.支付宝账单管理

支付宝账单管理:包含支付宝账单列表和支付宝账单添加功能。支付宝账单列表:主要管理所有用户的支付宝账单信息,可进行查询、重置、下载导入、导出、删除等操作。支付宝账单添加:可手动添加导入的支付宝账单数据。支付宝账单管理如图5-10所示。

图5-10支付宝账单管理界面图

关键代码:

5.2.4.债务信息管理

债务信息管理:包含债务信息列表和债务信息添加功能。债务信息列表:主要管理所有用户债务信息详情,可进行增删改查等操作。债务信息添加:可手动添加债务信息数据。债务信息管理如图5-11所示。

图5-11债务信息管理界面图

关键代码:


5.2.5.公告信息管理

公告信息管理:包含公告信息列表和公告信息添加功能。公告信息列表:主要管理所有用户公告信息详情,可进行增删改查等操作。公告信息添加:可手动添加公告信息数据。公告信息管理如图5-12所示。

图5-12公告信息管理界面图

6.系统测试

6.1.功能测试

系统测试是软件开发过程中必不可少的环节之一,它旨在验证整个软件系统是否满足需求规格说明书定义的要求。对于Springboot+Vue家庭收支管理系统的网站而言主要进行功能测试,以下是部分功能的测试用例:

添加家庭账户测试用例:

功能名称

测试用例

预期结果

实际结果

通过情况

添加家庭账户功能

家庭账户添加页输入:账户名称、账户类型、账户简介、账户详情字段信息,点击提交

提交成功,前端页面、后台家庭账户列表展示该信息

提交成功,前端页面、后台家庭账户列表展示该信息

通过

查询家庭账户测试用例:

功能名称

测试用例

预期结果

实际结果

通过情况

查询家庭账户功能

点击家庭账户:标题名称搜索框输入:账户名称,点击查询

家庭账户成功过滤筛选出关键字为:账户名称的家庭账户

信息成功过滤筛选出关键字为:账户名称的家庭账户

通过

删除家庭账户测试用例:

功能名称

测试用例

预期结果

实际结果

通过情况

删除家庭账户详情功能

选择家庭账户,点击详情,删除家庭账户,点击提交

跳转页面不在展示该家庭账户的详细信息

跳转页面不在展示该家庭账户的详细信息

通过

修改家庭账户测试用例:

模块名称

测试用例

预期结果

实际结果

通过情况

修改家庭账户功能

选择家庭账户,点击详情,修改账户名称:账户1,修改名称:账户2,点击提交

提示修改成功,该家庭账户的名称变更账户2

提示修改成功,该家庭账户的名称变更为账户2

通过    

通过对家庭账户功能的添加、查询、删除、修改的全业务流程操作测试验证,测试用例执行通过。

6.2.测试结论

在完成Springboot+Vue家庭收支管理系统网站的开发后,进行全面的系统测试,以确保系统的功能、稳定性达到预期要求。通过上述编写的功能模块测试用例,家庭账户功能的添加、查询、查看详情、修改的全业务流程操作测试验证,整个系统的测试验证通过。

结  论

在开发基于Spring Boot和Vue的家庭收支管理系统之前,我对其难度有一定的预期,但在实际开发中仍发现了许多不足之处。对Spring Boot的自动配置机制、Vue.js的组件化开发以及前后端分离架构的理解还不够深入,导致在整合功能时遇到了不少问题。我深刻认识到扎实掌握编程思想和技术的重要性,不能仅停留在表面理解,而要脚踏实地地学习和实践。

在开发过程中,我也意识到前期准备工作的必要性。只有明确系统功能需求,设计出清晰的框架结构,才能确保开发顺利进行。当技术点和知识点了然于心后,项目的推进才会更加流畅。同时,测试环节的严谨性也不可忽视,只有及时发现并修复Bug,才能保证系统的稳定运行。

本次项目也暴露了我的一些问题,比如对前端动态交互实现不够熟练,后端接口设计存在冗余,导致程序运行效率不高。部分算法未优化,使得代码复杂且难以维护。这些问题提醒我在未来的工作中要更加注重细节和代码质量,为开发更高效、稳定的系统奠定基础。

致 谢

衷心感谢所有支持和帮助我完成基于Spring Boot和Vue的家庭收支管理系统的人员。特别感谢我的导师,在整个开发过程中给予了悉心的指导和支持,确保项目顺利推进。感谢同学们在技术讨论和问题解决中提供的宝贵意见和帮助,你们的支持使我能够克服诸多挑战。不仅提升了我的技术能力,也积累了宝贵的项目管理和团队协作经验。感谢家人的理解与支持,让我能够全身心投入到项目的开发工作中。这次经历将成为我未来职业道路上的重要财富,激励我在技术和职业发展中不断前行。谢谢你们每一个人的帮助和支持。

                                                           参考文献

  1. 郑永强. 让财报说话[M]. 机械工业出版社: 202210. 306.
  2. 王伟. 安徽芜湖市湾沚区渔民家庭收支调查情况与案例分析 [J]. 渔业致富指南, 2021, (21): 21-25.
  3. Shekoufeh S ,Said S . Households’ Socio-Economic Characteristics and Their Food Purchase Patterns: A Macro Study on IRAN Households Income and Expenditure Survey [J]. Current Developments in Nutrition, 2021, 5 (S2): 1270-1270.
  4. 刘萌. 中学生家庭理财教育方式、消费价值观与冲动性购买倾向的关系研究[D]. 中南民族大学, 2020. DOI:10.27710/d.cnki.gznmc.2020.000476.
  5. 陈菊英. 建立农场收支日记账 完善家庭农场经营体制——松江区实行家庭农场日记账管理的探索与实践 [J]. 上海农村经济, 2019, (08): 32-34.
  6. 赵子平,徐德明,段雪波. 对科右中旗农户家庭收支与预期情况的调查 [J]. 北方金融, 2017, (01): 48-49. DOI:10.16459/j.cnki.15-1370/f.2017.01.014.
  7. 徐子琪. 从家庭收支感悟企业财务管理 [J]. 财经界, 2017, (02): 293. DOI:10.16266/j.cnki.cn11-4098/f.2017.01.268.
  8. 黄程. 大学生消费行为的现状及其与家庭理财教育方式和自我控制能力的关系[D]. 湖南师范大学, 2016.
  9. 张飘,王路. 山区农村家庭理财方式探讨 [J]. 当代经济, 2015, (14): 4-5.
  10. 谷微黄. 家庭理财方式TOP10 [J]. 上海企业, 2014, (09): 84.
  11. 金雪莲,史新新. 家庭理财教育方式对大学生消费决策风格影响 [J]. 现代商贸工业, 2013, 25 (23): 26-27. DOI:10.19311/j.cnki.1672-3198.2013.23.012.
  12. 张俊,邹泓. 中学生消费决策风格的特点及其与家庭理财教育方式的关系 [J]. 心理学探新, 2012, 32 (04): 376-383.
  13. 丁涛,丁峰. 家庭理财中如何制定与执行家庭收支预算 [J]. 审计与理财, 2006, (07): 34-35. DOI:10.19419/j.cnki.36-1264/f.2006.07.018.
  14. 家庭理财的主要方式 [J]. 对外经贸财会, 2006, (06): 28.
  15. 旭群. 浅谈家庭收支预算表的编制 [J]. 财会通讯, 2006, (04): 36.
  16. 花荣. 家庭理财的9种主要方式 [J]. 西部论丛, 2005, (08): 82.
  17. 蔡之良. 居民家庭理财方式为何储蓄当先 [J]. 金融与市场, 1998, (12): 42.
  18. 选择适合你的家庭理财方式 [J]. 经济论坛, 1998, (16): 24-25.
  19. 海力. 存折不再一枝独秀——都市居民家庭理财方式趋向多元化 [J]. 资本市场, 1998, (01): 59-60.
  20. A survey of income and expenditure of urban households in China, 1986 [J]. Choice Reviews Online, 1990, 27 (05): 27-2496.
  21. Acerenza S ,Gandelman N . Household Education Spending in Latin America and the Caribbean: Evidence fromIncome and Expenditure Surveys [J]. Education Finance and Policy, 2019, 14 (1): 61-87.

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值