摘 要
随着消费观念的转变和理财意识的增强,个人记账成为越来越多大学生关注的焦点。然而,现有的记账工具往往缺乏针对大学生需求的个性化设计。因此,本研究引入信息化技术设计并实现一套高效简便且功能齐全的大学生个人记账系统,以提升大学生的财务管理效率和能力。该系统选择Java作为编程语言,并采用了Spring Boot框架以确保高效和稳定的性能表现,同时使用MySQL数据库作为数据存储核心,以支持高效的数据存储和查询。系统主要面向注册用户和管理员不同角色,实现了包括注册登录、数据分析、用户管理、账单分类管理、账单信息管理、收入记录管理、支出记录管理等核心功能,基本满足整个个人财务收支记录、统计及管理等业务流程。最终经过功能验证和性能测试,确保系统在实际应用中的可行性和高效性。本系统的实施不仅为大学生提供了有效的个人财务管理工具,帮助学生理清收支情况,提升理财效率,而且通过数据分析功能帮助学生快速了解个人财务状况,为日常开支提供了数据依据,提升用户理财能力。同时为个人理财工具进一步的开发提供了思路和借鉴,具有良好的实践意义和推广价值。
关键词:大学生个人记账系统;Spring Boot;Java;理财管理
Abstract
With the change of consumption concept and the enhancement of financial awareness, personal bookkeeping has become a focus of attention for more and more college students. However, existing accounting tools often lack personalized design tailored to the needs of college students. Therefore, this study introduces information technology to design and implement an efficient, simple, and fully functional personal accounting system for college students, in order to improve their financial management efficiency and ability. The system chooses Java as the programming language and adopts the Spring Boot framework to ensure efficient and stable performance, while using MySQL database as the data storage core to support efficient data storage and querying. The system mainly targets different roles of registered users and administrators, and implements core functions including registration and login, data analysis, user management, bill classification management, bill information management, income record management, expenditure record management, etc. It basically meets the entire business process of personal financial income and expenditure recording, statistics, and management. After functional verification and performance testing, the feasibility and efficiency of the system in practical applications are ensured. The implementation of this system not only provides effective personal financial management tools for college students, helping them clarify their income and expenses and improve their financial management efficiency, but also helps them quickly understand their personal financial situation through data analysis functions, providing data basis for daily expenses and enhancing users' financial management abilities. At the same time, it provides ideas and references for the further development of personal financial tools, with good practical significance and promotional value.
Keywords: personal accounting system for college students; Spring Boot; Java; Financial management
1绪论
1.1开发背景
在现代社会中,个人理财意识逐渐加强,尤其是在高等教育阶段的学生群体中,理财能力的养成显得尤为重要。随着消费模式的不断变化,大学生在面对学费、日常生活费用及相关开支时,往往缺乏足够的理财知识和管理工具,导致资金使用效率低下,甚至出现盲目消费的现象。同时,心理学研究表明,良好的财务管理能够有效降低个人的经济压力,提升学生的整体幸福感。因此,开发一个适合大学生使用的个人记账系统,对于提升学生的理财能力、强化经济观念和改善生活质量具有重要的推动作用。另外技术的进步使得多种个性化和智能化的管理工具进入学生的生活,基于现代信息技术的个人记账系统应运而生,成为帮助大学生进行理财管理的重要手段,能够有效降低用户的记账成本,提高记账的准确性和便捷性,为学生的财务管理提供支持。因此,开发一款专门针对大学生的个人记账系统具有重要的现实意义。
1.2开发意义
基于Spring Boot研发的大学生个人记账系统,可以借助信息化手段帮助大学生有效管理其个人财务,掌握个人理财情况,提升财务决策能力,为个人财务管理提供新的解决方案,具有重要的实践价值和应用前景。通过设计一款集成化的个人记账系统,为学生提供简洁、易操作的理财工具,使其能够方便地记录和管理日常收支情况,提升理财效率和用户体验。通过使用个人记账系统,能够让大学生培养良好的财务管理习惯,提高对收支状况的关注程度,进而增强理财意识。该系统的设计使用户能够方便地管理个人财务记录,同时提供数据分析功能,能够帮助用户从多角度了解自己的消费模式,更好地掌握自己的经济情况及动态,为以后制定合理的财务计划提供数据依据,从而合理安排生活开支,增强财务决策能力。本研究的成功实现能够更好地应对大学生理财能力不足及工具匮乏的问题,为大学生财务管理提供新的解决思路和技术支撑,推动个人理财领域的信息化发展,也为相关研究领域的进一步探索提供了理论基础和应用实例。
1.3国内外研究现状
1.3.1国内研究现状
国内方面关于个人记账系统的研究主要集中在用户需求分析、消费行为研究和白领及学生群体的理财教育等领域。随着个人理财意识的提升,越来越多的研究开始探讨如何通过技术手段提升大学生财务管理能力。各大高校开展了相关的财务管理课程,以增强学生的经济意识。同时国内企业和科技公司也纷纷推出了面向大学生的记账应用,如“随手记”、“简记账”等。其中随手记是一款广受欢迎的个人记账应用,其界面简洁明了,非常适合大学生使用。随手记应用支持多种记账方式,包括快速记账和语音记账,方便用户随时记录。同时,该应用通过数据分析帮助用户了解自己的消费趋势,培养理财意识。这类理财记账应用的出现不仅能够帮助用户记录日常收支,还辅以消费数据分析、预算管理等功能。另外国内研究者还对大学生的消费行为进行了调查,发现大部分学生在消费决策中缺乏理性分析,迫切需要借助科技手段进行记录与管理。然而,目前市场大多数现有系统存在功能单一、使用复杂等问题,尚未完全满足大学生多样化的需求。所以理财工具在可用性和交互设计上还有进一步改进的地方。
1.3.2国外研究现状
较之国内,国外关于个人财务管理工具和应用的研究相对成熟,尤其是针对家庭和年轻群体的应用开发。国外研究通常更关注于金融科技的创新、用户行为和心理因素的影响等方面。例如,Mint、YNAB(You Need a Budget)等应用获得了国际用户的广泛认可,这些理财工具不仅提供基本的记账功能,还结合预算管理、账单提醒、消费分类等多项服务;同时更侧重于数据分析与个性化服务,为用户提供实时的财务反馈。像YNAB应用采用“零基预算”法则,鼓励用户对每一笔收入进行规划和分配。让用户在设置预算的同时,学习和掌握理财知识,以形成审核和反思的习惯。该应用提供例如教育模块,介绍多种理财技巧,使用户在使用过程中学习如何有效管理财务。同时,国外研究重视从用户行为学,心理学角度探讨记账行为,为提升记账工具的用户体验和教育效果提供了理论支持。
国内外在个人记账的研究和应用上各有特点。国内应用更多地关注用户体验、功能的多样性,适应快速发展的市场需求;而国外应用则倾向于深度的数据分析和教育功能,帮助用户形成良好的理财习惯。尽管国内外在个人记账系统方面已获得一定的研究成果,但针对大学生的需求和习惯制定的具体方案和工具尚显不足,进一步的研究和开发仍有广阔的空间和潜力。
1.4主要研究内容
本研究主要围绕如何引入信息化技术研发一套高效友好的大学生个人记账系统展开。在设计与实现大学生个人记账系统时,通过调研与访谈,收集用户及管理员的需求,以明确系统功能模块,设计出符合用户需求的系统架构和界面。该系统采用了Java作为编程语言,并利用了SpringBoot框架,使得复杂的业务逻辑和数据操作得以高效完成。与此同时,系统的数据存储和管理通过MySQL数据库实现。在开发工具的选取上,使用了IDEA,它的强大功能和易用性使得编程工作更为高效;而Navicat作为数据库管理工具,使得数据库操作更为方便和快捷。这样的技术选择,确保了管理系统的开发流程既高效又稳定。本系统主要面对注册用户及管理员两大对象,实现了包括注册登录、后台首页(数据分析)、系统用户、账单分类管理、账单信息管理、收入记录管理、支出记录管理等多个关键功能模块,基本满足整个财务收支记录、数据统计等业务流程,能够有效支持大学生个人财务记账管理,提升管理效率和用户体验。最终通过功能测试和用户反馈,进行系统性能和用户体验的优化,确保系统的稳定性和可用性。
2
相关技术介绍
2.1SpringBoot框架
SpringBoot是Spring家族中的一个重要成员,它简化了Spring应用的初始搭建和开发过程[1]。SpringBoot通过提供一系列预设配置和自动配置机制,让开发者能够更迅速地开发出适用于生产环境的Spring应用程序,加快开发进程。它支持多种开发工具和框架,如Maven、Gradle等,并且可以与多种数据库和缓存技术无缝集成[2]。SpringBoot的简洁性和高效性使其成为开发企业级应用的首选框架之一。在本次毕业设计中,SpringBoot框架为大学生个人记账系统的后端开发提供了强大的支持。
2.2MySQL数据库
MySQL是一款被广泛认可的开源关系型数据库管理系统,以其卓越的性能、高度的可靠性及易于使用的特性而著称。MySQL支持多种存储引擎,如InnoDB、MyISAM等,能够满足不同应用场景的需求[3]。它提供了一整套丰富的SQL语法和函数库,使得开发人员能够便捷地实现查询、更新以及删除数据操作。此外,MySQL还拥有事务处理功能、索引优化机制以及数据复制能力,这些高级功能对于确保数据完整性和安全性至关重要。在本次毕业设计中,MySQL数据库作为大学生个人记账系统的数据存储核心库,承担了存储和管理所有关键系统数据的重要职责,并通过合理的数据库设计和优化,确保了系统的数据访问效率和数据安全性[4]。
2.3Java语言
JAVA是一种广泛使用的编程语言,具有跨平台、面向对象、安全性高等特点。JAVA语言提供了丰富的类库和API,使得开发者能够轻松地进行网络编程、数据库操作、图形界面开发等任务[5]。JAVA还支持多线程编程和分布式计算,为开发高性能和可扩展的应用提供了有力支持[6]。所以本次毕设选择了JAVA作为大学生个人记账系统的开发语言。通过利用JAVA的面向对象特性和丰富的类库资源,成功实现了系统的各个功能模块,并保证了系统的稳定性和可扩展性。而且JAVA的跨平台特性也使得此次毕业设计能够在不同的操作系统和硬件平台上运行,为用户提供了更加便捷的使用体验。
3
系统分析
3.1可行性分析
3.1.1技术可行性
基于Spring Boot框架开发大学生个人记账系统具有显著优势。Spring Boot以其简洁的配置、高效的性能以及强大的集成能力,为快速构建稳定、可扩展的Web应用提供了坚实基础[7]。结合MySQL数据库的高效存储与检索能力,以及Java语言的广泛应用与成熟生态,系统能够实现复杂的数据处理与业务逻辑[8],技术实现路径清晰可行。
3.1.2经济可行性
该系统开发成本相对较低,主要投入在于人力与硬件资源。Spring Boot及MySQL均为开源技术,无需额外购买软件许可,降低了开发成本。如果系统上线可通过提供便捷、高效的个人记账理财服务,可吸引大量用户,进而通过广告、增值服务等方式实现盈利,具有良好的经济回报预期。此外,系统维护成本适中,便于长期运营与迭代升级。
3.1.3操作可行性
系统界面简洁友好,操作流程简单,用户无需复杂培训即可上手。系统功能模块化设计操作简便,便于用户快速完成操作。且系统支持多角色协同操作,管理员和用户登录系统后均可根据权限进行相应操作,有效提升管理效率和用户体验。
3.2系统功能需求
本大学生个人记账系统根据使用者划分,主要包含注册用户和管理员两大角色,每个角色对应的主要功能说明如下所示:
3.2.1注册用户主要功能
- 注册登录:提供注册和登录系统的功能,注册用户可以通过注册创建个人账户,注册成功后使用账号密码可访问系统,实现权限内管理操作,支持更新个人基本资料和修改账户密码。
- 后台首页:注册用户登录系统后的初始界面,该界面主要用于展示系统重要信息概览和提供自己的数据统计分析(包括账单信息、收入记录、支出记录等统计图表)。
- 账单分类管理:注册用户可管理自己的账单分类信息,允许新增新的账单类型,编辑、删除和查询账单分类。
- 账单信息管理:注册用户可管理自己的账单信息,支持注册用户添加记录新的账单信息,更新和删除账单,提供搜索功能,实现收入、支出等操作。
- 收入记录管理:注册用户可管理自己的收入记录信息,支持更新收入记录内容,并查询及删除收入记录。
- 支出记录管理:注册用户可管理所有支出记录信息,支持更新支出记录内容,并查询及删除支出记录。
3.2.2管理员主要功能
- 登录:管理员能够通过个人账号和密码直接访问系统,实现权限内管理操作,登录后支持更新个人基本资料和修改账户密码。
- 后台首页:管理员登录系统后的初始界面,该界面主要用于展示系统重要信息概览和提供数据统计分析(包括账单信息、收入记录、支出记录等统计图表)。
- 系统用户:管理员可管理包括注册用户和管理员等所有系统用户信息,支持用户权限管理和角色设置,可增改删查和审核封禁系统用户信息。
- 账单分类管理:管理员可管理所有账单分类信息,包括新增、编辑、删除和查询账单分类。
- 账单信息管理:管理员可管理所有账单信息的添加、删除、更新等操作,提供搜索功能,实现收入、支出等操作。
- 收入记录管理:管理员可管理所有收入记录信息,包括查询、更新、删除收入记录。
- 支出记录管理:管理员可管理所有支出记录信息,包括查询、更新、删除支出记录。
3.3非功能性需求分析
在基于SpringBoot的大学生个人记账系统的设计中,非功能性需求分析同样占据重要位置。非功能性需求主要聚焦于系统的核心功能之外的特性,例如性能、安全性、易用性和可维护性等方面,这些因素对于保证系统的高效稳定运行和提升用户满意度具有关键意义。
性能:该系统应具备处理高并发请求的能力,以保证在大量用户同时进行操作时仍能维持平稳运行,避免因访问量增加而导致的服务中断或响应迟缓问题。
安全性:为了保护用户的敏感信息,如用户个人资料、财务数据等,系统需实施严密的安全策略,防止数据泄露风险,并抵御非法访问行为,确保信息安全。
易用性:系统界面设计应友好直观,操作流程简化,提升用户体验。
可维护性:代码结构清晰,文档完备,便于后续开发与问题排查。
3.4系统用户用例分析
3.4.1注册用户用例图
在大学生个人记账系统中注册用户包含注册登录、后台首页、账单分类管理、账单信息管理、收入记录管理、支出记录管理等功能。注册用户用例图如下所示:

图3.1 注册用户用例图
3.4.2管理员用例图
大学生个人记账系统中管理员则集成了登录、后台首页、系统用户、账单分类管理、账单信息管理、收入记录管理、支出记录管理等功能。管理员用例图如下所示:

图3.2 管理员用例图
3.5系统流程分析
3.5.1系统操作流程图
用户打开浏览器,输入系统的网址,访问应用程序的系统界面。用户在首页可选择进行注册或登录。如果用户已注册,可直接进入登录页面;如果未注册,则可选择注册。登录后,用户可进入系统功能界面,根据提示可实现各项操作。系统操作流程图如下图所示。

图3.3 系统操作流程图
3.5.2系统登录流程图
当用户访问登录页面并输入其用户名与密码后,系统首先会执行初步的输入验证,确保所提供的用户名和密码字段非空。在用户点击“登录”按钮后,系统会再次确认所输入的用户名和密码是否正确。验证顺利完成后,用户即可成功登录,并被引导至个人主页;若验证未能通过,系统则会显示错误提示,并返回登录页面要求用户重新尝试。登录流程图如下图所示。

图3.4 登录流程图
3.5.3用户注册流程图
用户选择“注册”选项后,界面会转向注册页,在此界面会要求用户填写一系列必要的注册资料,包括用户名、密码、电子邮箱及手机号等,并提交给系统。系统会验证提交的注册资料,确保所有必填项目均已完整填写,所设密码达到规定的复杂度标准,并检查用户名和邮箱是否已被使用。当所有验证步骤均顺利完成且无误,系统将向用户弹出注册成功的确认消息。用户注册流程图如下图所示。

图3.5 注册流程图
4
系统设计
4.1系统设计原则
在设计大学生个人记账系统时,主要遵循以下系统设计原则:
单一职责原则(SRP):每个模块或组件专注于执行单一的任务,这有助于降低不同部分间的依赖性,并简化系统的维护和未来的扩展工作。
分层架构设计:系统采用了分层架构策略,该策略清晰地界定了展示层、业务逻辑层以及数据访问层,实现功能模块的分离与复用。
可扩展性:设计时考虑未来可能的功能扩展,确保系统结构能够灵活应对需求的变化。
用户体验为主:系统设计阶段注重用户的操作习惯与便捷性,通过创建直观简洁的操作界面,优化便利流程的用户交互流程,来提升用户的整体使用体验。
4.2功能模块设计
整个大学生个人记账系统是由多个功能模块组合而成的,根据用户需求分析,本系统主要可以划分为注册用户和管理员两大模块。各模块又可细分为不同的子功能设计,实现多角色协作,负责不同的职能,每个角色对应的功能模块如图所示。

图4.1 系统功能结构图
4.3数据库设计
4.3.1概念设计
通过提供清晰的系统总E-R图,可以使其他用户快速理解和分析复杂的系统结构,更加轻松地掌握了解系统的整体架构和各功能组件之间的联系。根据大学生个人记账系统各个实体和属性的分析结果,本大学生个人记账系统总体E-R实体关系图如下所示。

图4.2 系统总体ER图
4.3.2逻辑设计
依据前一节对大学生个人记账系统的整体E-R关系图的分析,为了满足系统功能需求,必须创建多个数据表。系统根据不同的类别需求和主要功能要求,设计了相应的数据库表结构。下面将着重介绍几个核心数据库表的设计结构,详细阐述这些关键数据库表的设计细节,包括但不限于字段定义、数据类型及其相互间的关系,从而为系统的稳定运行提供坚实的基础。
表4.1 billing_information(账单信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | billing_information_id | int | 是 | 是 | 账单信息ID | |
| 2 | registered_user | int | 否 | 否 | 注册用户 | |
| 3 | bill_number | varchar | 64 | 否 | 否 | 账单编号 |
| 4 | bill_name | varchar | 64 | 否 | 否 | 账单名称 |
| 5 | bill_type | varchar | 64 | 否 | 否 | 账单类型 |
| 6 | billing_month | varchar | 64 | 否 | 否 | 账单月份 |
| 7 | bill_amount | double | 否 | 否 | 账单金额 | |
| 8 | bill_remarks | text | 65535 | 否 | 否 | 账单备注 |
| 9 | revenue_records_limit_times | int | 是 | 否 | 收入限制次数 | |
| 10 | expenditure_records_limit_times | int | 是 | 否 | 支出限制次数 | |
| 11 | create_time | datetime | 是 | 否 | 创建时间 | |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 |
表4.2 bill_classification(账单分类)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | bill_classification_id | int | 是 | 是 | 账单分类ID | |
| 2 | bill_type | varchar | 64 | 否 | 否 | 账单类型 |
| 3 | create_time | datetime | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 |
表4.3 expenditure_records(支出记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | expenditure_records_id | int | 是 | 是 | 支出记录ID | |
| 2 | registered_user | int | 否 | 否 | 注册用户 | |
| 3 | bill_number | varchar | 64 | 否 | 否 | 账单编号 |
| 4 | bill_name | varchar | 64 | 否 | 否 | 账单名称 |
| 5 | bill_type | varchar | 64 | 否 | 否 | 账单类型 |
| 6 | record_title | varchar | 64 | 否 | 否 | 记录标题 |
| 7 | recording_time | datetime | 否 | 否 | 记录时间 | |
| 8 | expenditure_amount | double | 否 | 否 | 支出金额 | |
| 9 | expenditure_remarks | 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.4 registered_user(注册用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | registered_user_id | int | 是 | 是 | 注册用户ID | |
| 2 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 3 | contact_information | varchar | 16 | 否 | 否 | 联系方式 |
| 4 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 5 | user_id | int | 是 | 否 | 用户ID | |
| 6 | create_time | datetime | 是 | 否 | 创建时间 | |
| 7 | update_time | timestamp | 是 | 否 | 更新时间 |
表4.5 revenue_records(收入记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | revenue_records_id | int | 是 | 是 | 收入记录ID | |
| 2 | registered_user | int | 否 | 否 | 注册用户 | |
| 3 | bill_number | varchar | 64 | 否 | 否 | 账单编号 |
| 4 | bill_name | varchar | 64 | 否 | 否 | 账单名称 |
| 5 | bill_type | varchar | 64 | 否 | 否 | 账单类型 |
| 6 | record_title | varchar | 64 | 否 | 否 | 记录标题 |
| 7 | recording_time | datetime | 否 | 否 | 记录时间 | |
| 8 | amount_of_income | double | 否 | 否 | 收入金额 | |
| 9 | revenue_remarks | 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 | 否 | 否 | 来源用户 |
5系统实现
5.1注册用户主要功能实现
5.1.1用户注册模块
注册用户点击注册,进入注册页面,填写好账号、密码、确认密码、昵称、邮箱、身份:注册用户、用户姓名、用户性别、用户电话等字段值,点击下方注册按钮,提示注册成功后,系统将自动跳转回到登录页面。注册界面如下图所示。
图5.1 注册界面
5.1.2用户登录模块
用户点击“登录”按钮,输入用户名、密码、验证码登录系统,登录时系统会自动校验用户名与密码以及该用户是否审核通过,审核通过的用户输入正确登录成功,输入错误会有提示信息。登录界面如下图所示。
图5.2 登录界面
5.1.3后台首页模块
后台首页是注册用户登录系统后的初始界面,该界面主要用于展示系统重要信息概览和提供自己的数据统计分析(包括账单信息、收入记录、支出记录等统计图表)。界面如下图所示。
图5.3 后台首页界面
5.1.4账单分类管理模块
注册用户可管理自己的账单分类信息,允许新增新的账单类型,编辑、删除和查询账单分类。界面如下图所示。
图5.4 账单分类管理界面
5.1.5账单信息管理模块
注册用户可管理自己的账单信息,支持注册用户添加记录新的账单信息,更新和删除账单,提供搜索功能,实现收入、支出等操作。界面如下图所示。
图5.5 账单信息添加界面
5.1.6收入记录管理模块
注册用户可管理自己的收入记录信息,支持更新收入记录内容,并查询及删除收入记录。界面如下图所示。
图5.6 收入记录更新界面
5.1.7支出记录管理模块
注册用户可管理所有支出记录信息,支持更新支出记录内容,并查询及删除支出记录。界面如下图所示。
图5.7 支出记录更新界面
5.2管理员主要功能实现
5.2.1后台首页模块
管理员登录系统后的初始界面,该界面主要用于展示系统重要信息概览和提供所有的数据统计分析(包括账单信息、收入记录、支出记录等统计图表)。界面如下图所示。
图5.8 后台首页界面
5.2.2系统用户模块
管理员可管理包括注册用户和管理员等所有系统用户信息,支持用户权限管理和角色设置,可增改删查和审核封禁系统用户信息。界面如下图所示。
图5.9 系统用户界面
5.2.3账单信息管理模块
管理员可管理所有账单信息的添加、删除、更新等操作,提供搜索功能,实现收入、支出等操作。界面如下图所示。
图5.10 账单信息管理界面
6
系统测试
6.1测试目的
在这个产品被投入使用前,首先需要进行试用,这是重要的环节。考虑到某个部分的开发没有缺陷情况下,把各种模块拼接,也有一定概率就存在矛盾。这就好比每个人都很独特,但聚在一起就显得杂乱无章,需要保证有默契的配合。对于测试,要看它的各项内容是否契合的原则[10]。若与最初定下的标准有一定程度上的出入,那么就需要做出一些调整,让最终的大方向朝着目标前进。
测试是为了发现在开发的程序中所存在的问题,测试这一工作是非常艰巨的,而又是非常困难的,这一部分在程序的设计中占有很大比例,可以说一个程序的开发工作量要是占据了百分至六十,那么剩下的百分之四十必然是测试这一部分,甚至更高。
6.2测试用例
用户注册功能测试用例如下表所示。
表6.1 用户注册功能测试表
| 测试编号 | 测试描述 | 预期结果 | 测试方法 | 测试结果 |
| TC_01 | 正常用户注册 | 用户注册成功,跳转至登录页面 | 输入所有必填项并提交 | 符合预期 |
| TC_02 | 注册时用户名已存在 | 提示“用户名已被注册” | 输入已存在的用户名 | 符合预期 |
| TC_03 | 注册时邮箱格式错误 | 提示“邮箱格式不正确” | 输入错误格式的邮箱 | 符合预期 |
| TC_04 | 必填项未填写 | 提示“请填写所有必填信息” | 不填写必要信息 | 符合预期 |
- 用户登录功能测试
用户登录功能测试用例如下表所示。
表6.2 用户登录功能测试表
| 测试编号 | 测试描述 | 预期结果 | 测试方法 | 测试结果 |
| TC_01 | 正常用户登录 | 用户成功登录,进入用户首页 | 输入有效的用户名和密码 | 符合预期 |
| TC_02 | 输入错误密码进行登录 | 提示“用户名或密码错误” | 输入有效用户名,错误密码 | 符合预期 |
| TC_03 | 输入未注册的用户名登录 | 提示“用户不存在” | 输入未注册的用户名 | 符合预期 |
| TC_04 | 密码为空时登录 | 提示“请填写密码” | 仅输入用户名 | 符合预期 |
- 账单分类管理功能测试
账单分类管理功能测试用例如下表所示。
表6.3 账单分类管理功能测试表
| 测试编号 | 测试描述 | 预期结果 | 测试方法 | 测试结果 |
| TC_01 | 查看账单分类列表 | 成功显示所有账单分类内容 | 进入账单分类管理页面 | 符合预期 |
| TC_02 | 注册用户添加新账单分类内容 | 成功添加账单分类内容并提示“信息已添加” | 进入账单分类添加界面,输入账单分类并提交 | 符合预期 |
| TC_03 | 搜索特定账单分类内容 | 成功显示符合条件的账单分类内容 | 输入账单分类名称进行搜索 | 符合预期 |
| TC_04 | 删除账单分类内容 | 成功删除账单分类,并提示“信息已删除” | 选择账单分类内容并执行删除操作 | 符合预期 |
| TC_05 | 编辑账单分类内容 | 成功编辑账单分类内容并提示“修改成功” | 进入详情页界面,修改某一账单分类内容并提交 | 符合预期 |
- 账单信息管理功能测试
账单信息管理功能测试用例如下表所示。
表6.4 账单信息管理功能测试表
| 测试编号 | 测试描述 | 预期结果 | 测试方法 | 测试结果 |
| TC_01 | 查看账单信息列表 | 成功显示所有账单信息内容 | 进入账单信息管理页面 | 符合预期 |
| TC_02 | 注册用户添加新账单信息内容 | 成功添加账单信息内容并提示“信息已添加” | 进入账单信息添加界面,输入账单信息内容并提交 | 符合预期 |
| TC_03 | 搜索特定账单信息内容 | 成功显示符合条件的账单信息内容 | 输入账单信息名称进行搜索 | 符合预期 |
| TC_04 | 删除账单信息内容 | 成功删除账单信息内容,并提示“信息已删除” | 选择账单信息并执行删除操作 | 符合预期 |
| TC_05 | 编辑账单信息内容 | 成功编辑账单信息并提示“修改成功” | 进入详情页界面,修改某一账单信息内容并提交 | 符合预期 |
- 收入记录管理功能测试
收入记录管理功能测试用例如下表所示。
表6.5 收入记录管理功能测试表
| 测试编号 | 测试描述 | 预期结果 | 测试方法 | 测试结果 |
| TC_01 | 查看收入记录列表 | 成功显示所有收入记录信息 | 进入收入记录管理页面 | 符合预期 |
| TC_02 | 注册用户添加新收入记录 | 成功添加收入记录信息并提示“信息已添加” | 进入收入记录添加界面,输入收入记录信息并提交 | 符合预期 |
| TC_03 | 搜索特定收入记录 | 成功显示符合条件的收入记录信息 | 输入收入记录名称进行搜索 | 符合预期 |
| TC_04 | 删除收入记录 | 成功删除收入记录信息,并提示“信息已删除” | 选择收入记录并执行删除操作 | 符合预期 |
| TC_05 | 编辑收入记录 | 成功编辑收入记录并提示“修改成功” | 进入详情页界面,修改某一收入记录信息并提交 | 符合预期 |
- 支出记录管理功能测试
支出记录管理功能测试用例如下表所示。
表6.6 支出记录管理功能测试表
| 测试编号 | 测试描述 | 预期结果 | 测试方法 | 测试结果 |
| TC_01 | 查看支出记录列表 | 成功显示所有支出记录内容 | 进入支出记录管理页面 | 符合预期 |
| TC_02 | 注册用户添加新支出记录内容 | 成功添加支出记录并提示“信息已添加” | 进入支出记录添加界面,输入支出记录内容并提交 | 符合预期 |
| TC_03 | 搜索特定支出记录内容 | 成功显示符合条件的支出记录内容 | 输入支出记录名称进行搜索 | 符合预期 |
| TC_04 | 删除支出记录内容 | 成功删除支出记录内容,并提示“信息已删除” | 选择支出记录并执行删除操作 | 符合预期 |
| TC_05 | 编辑支出记录内容 | 成功编辑支出记录并提示“修改成功” | 进入详情页界面,修改某一支出记录内容并提交 | 符合预期 |
6.3测试结果
在本次测试中主要对用户注册、用户登录、账单分类管理、账单信息管理、收入记录管理、支出记录管理等模块业务流程操作,进行测试分析并编写测试用例。经过严格的测试,各测试用例都已通过,能够保证本次设计且已实现的功能能够正常运行,操作简单流畅,性能良好,能够满足管理业务需求,同时确保相关数据库的信息也同样正确无误,实现了本论文开始时所作要求和期望。
结 论
本大学生个人记账系统毕业设计项目已成功落下帷幕,这一成果不仅是对开发者技术实力与业务理解能力的全面展现,也是对传统个人记账理财领域数字化转型的一次积极探索。
本次毕业设计充分利用了Spring Boot框架的灵活性与高效性,通过模块化设计与微服务架构,实现了记账信息的全面管理、精准搜索与便捷信息录入更新等功能。系统界面友好直观,操作流程简洁明了,为用户提供了极佳的使用体验。同时,通过深入挖掘用户需求与市场趋势,系统不仅满足了用户的实际需求,还通过数据分析与可视化展示等功能,为用户和管理者的财务状况洞察与决策支持提供了有力工具。通过对数据库索引、缓存机制等精心优化,系统性能得到了显著提升,确保了高并发场景下的稳定运行。而且通过实施严格的数据加密策略、访问控制机制及日志审计功能,系统有效防范了数据泄露与非法访问等安全风险。
总的来说,通过本次研究,成功基于Spring Boot搭建了一套功能齐全且操作简便的大学生个人记账系统,实现了丰富的功能并取得了一定的成果。未来的发展过程中,计划持续优化系统功能和提升用户体验,进一步增强系统的性能与稳定性。通过不断的改进和升级,为大学生个人记账系统的长期发展和用户需求提供更好的服务和支持。
参考文献
- 韦珍娜,陈宇佳. 基于SpringBoot的服装租赁系统设计 [J]. 电脑编程技巧与维护, 2025, (01): 35-38. DOI:10.16184/j.cnki.comprg.2025.01.005.
- 姚佰允,张豪,杜瑞庆. 基于SpringBoot与Vue的学院人员管理系统设计与实现 [J]. 无线互联科技, 2025, 22 (02): 78-83.
- 谢海明,张佐中,林顺福.基于自动化技术的MySQL故障处理系统的设计与实现[J].电脑知识与技术,2024,20(33):73-75.DOI:10.14004/j.cnki.ckt.2024.1721.
- 陈芳.基于MySQL数据库的数据录入系统设计研究[J].科技资讯,2024,22(20):35-37.DOI:10.16661/j.cnki.1672-3791.2405-5042-7194.
- 谢帅虎.基于Java语言的翻页功能接口程序设计与实现[J].数字通信世界,2024,(11):92-94.
- 贾琴.Java编程语言的应用策略分析[J].集成电路应用,2024,41(10):84-85.DOI:10.19339/j.issn.1674-2583.2024.10.034.
- 张靖旭,曾晓晶,郭玉坤. 基于SpringBoot的校园植物信息网建设研究 [J]. 信息与电脑(理论版), 2024, 36 (22): 119-121.
- 戴亚哲,李尤,赵利宏,等. 基于SpringBoot+Vue的文旅平台设计与研究 [J]. 无线互联科技, 2024, 21 (21): 70-72.
- 朴明,邱翠花,苗子. 基于SpringBoot+小程序的信息采集系统设计与实现 [J]. 电子技术, 2024, 53 (10): 47-49.
- 赵彩霞,张栽培,杨璇.基于Java编程导航学习平台开发设计的研究[J].家电维修,2024,(03):62-64.
- 黄先勇,刘彦华.大学生理财情况的统计调查与分析[J].现代商贸工业,2025,(06):170-172.DOI:10.19311/j.cnki.1672-3198.2025.06.055.
- 郑朝亮.基于Web的财务核算信息智能管理平台建设[J].华商论丛,2024,5(01):50-60.
- 陈伟,张奥然,许信宇,等.一个基于SpringBoot和AngularJS的家庭理财系统设计与实现[J].电脑知识与技术,2024,20(12):46-49.DOI:10.14004/j.cnki.ckt.2024.0595.
- 郑朝亮,胡才双.基于Web的财务共享服务平台建设研究[J].信息与电脑(理论版),2023,35(13):147-152.
- 李国辉.基于游戏化设计的大学生理财APP交互设计研究[D].东华大学,2023.DOI:10.27012/d.cnki.gdhuu.2023.001256.
- 黄雪,郑婷,李乐怡,等.消费记账类APP视角下大学生消费及理财现状研究——以中南林业科技大学涉外学院为例[J].营销界,2023,(02):158-160.
- 刘静.基于Web的高中财务的系统设计和实现[J].中国新通信,2022,24(15):73-75+91.
- Goyal K ,Kumar S ,Xiao J J .Antecedents and consequences of Personal Financial Management Behavior: a systematic literature review and future research agenda[J].International Journal of Bank Marketing,2021,39(7):1166-1207.
- Althnian A .Design of a Rule-based Personal Finance Management System based on Financial Well-being[J].International Journal of Advanced Computer Science and Applications (IJACSA),2021,12(1):
- 郝哲璞.记账软件对理财的意义——以“一指记账”APP为例[J].投资与合作,2020,(04):124-126.
致 谢
在完成本次 Spring Boot 大学生个人记账系统毕业设计的过程中,我收获了诸多宝贵的经验,也感受到了成长的喜悦,也深刻体会到理论与实践相结合的重要性。在这里我特别感谢我毕设的导师。在整个毕设过程中老师不但给我指明方向也给予我专业的指导,给了我很大的帮助也让我在探索中不断突破自我不断提升我的专业能力,更让我学会了如何以科学的方法解决问题。
我也感谢学校为我提供了一个良好的学习环境和丰富的资源支持。让我得以接触到前沿的技术知识和开发工具,为毕业设计的顺利开展奠定了坚实基础。在开发过程中,我遇到了许多技术难题,但通过查阅大量文献资料和反复实践,我逐渐找到了解决方法。这一过程不仅锻炼了我的自主学习能力,也让我深刻体会到知识的力量。
最后我要感谢我的家人和亲朋们。在我为毕业设计忙碌的日子里,他们始终给予我无条件的支持和鼓励。他们的理解让我能够在紧张的学习中保持良好的心态,专注于项目的每一个细节。这份毕业设计是我大注册用户活的完美收官,也是我人生旅程中的一个重要里程碑。我将带着这份成长和感恩,继续在未来的道路上努力前行。
附 录
注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如图所示。

注册核心代码图
登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,代码如图所示。

用户登录核心代码图
修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都是需要通过加密,代码如图所示。

修改密码核心代码图
添加数据
新增一条数据,通过post传入一个json对象,然后经过request.getReader(),最后经过readBody()转成一个Map,含有String和Object,key用的是字段名,Object存放数据,最终得到Map,insert用拼装sql,读取body,组装成一个insert对象,runCountSql()语句,代码如图所示。

添加数据核心代码图
修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如图所示。

修改数据核心代码图
删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如图示。

删除数据核心代码图
通过请求的参数获取列表数据,代码如图所示。

获取列表核心代码图
通过请求的参数获取列表数据,代码如图所示。

图片上传核心代码图
3812

被折叠的 条评论
为什么被折叠?



