摘要
在当今社会,随着消费水平的不断提升和消费方式的多样化,个人财务管理变得越来越重要。无论是日常的开销记录,还是月度、年度的预算规划,都需要一个高效、便捷的工具来辅助完成。传统的记账方式,如手写账本或使用Excel表格,不仅操作繁琐,而且容易出错,难以满足现代人快节奏的生活需求。此外,互联网和移动技术的飞速发展,为个人记账系统的开发提供了强大的技术支持。智能手机和平板电脑的普及,使得人们可以随时随地查看和管理自己的财务状况。同时,大数据和人工智能技术的不断成熟,也为记账系统提供了智能化的分析预测功能,帮助用户更好地掌握自己的消费习惯和财务状况。因此,结合现代人的消费特点和科技发展趋势,开发一个功能全面、操作简便的个人记账系统显得尤为迫切。
基于Spring Boot框架的个人记账系统是一个集Spring Boot框架、Vue框架、Java语言、MySQL数据库和B/S架构等先进技术于一体的综合性平台,它能够帮助用户实时记录每一笔收入和支出,确保财务数据的准确性和完整性。通过系统提供的分类统计和图表展示功能,用户可以直观地了解自己的消费分布和变化趋势,从而制定出更加合理的预算和消费计划。
关键词:Spring Boot框架; MySQL数据库;Vue框架;收入支出
Abstract
The In today's society, with the continuous improvement of consumption levels and the diversification of consumption methods, personal financial management has become increasingly important. Whether it is daily expense tracking or monthly and annual budget planning, an efficient and convenient tool is needed to assist in completing these tasks. Traditional bookkeeping methods, such as handwritten ledgers or using Excel spreadsheets, are not only cumbersome to operate but also prone to errors, failing to meet the fast-paced demands of modern life. Moreover, the rapid development of the internet and mobile technology has provided strong technical support for the development of personal accounting systems. The widespread use of smartphones and tablets allows people to check and manage their financial status anytime and anywhere. At the same time, the continuous maturation of big data and artificial intelligence technologies has provided intelligent analysis and prediction functions for accounting systems, helping users better understand their consumption habits and financial status. Therefore, combining the consumption characteristics of modern people with technological trends, developing a comprehensive and user-friendly personal accounting system has become particularly urgent.
A personal accounting system based on the Spring Boot framework is an integrated platform that combines advanced technologies such as the Spring Boot framework, Vue framework, Java language, MySQL database, and B/S architecture. It helps users record every income and expense in real time, ensuring the accuracy and completeness of financial data. Through the system's classification statistics and chart display features, users can intuitively understand their consumption distribution and trends, thereby formulating more reasonable budgeting and spending plans.
Keywords: Spring Boot framework; MySQL database; Vue framework; income and expenditure
目 录
1 绪论
1.1 研究背景
1.2 研究意义
1.3 国内外研究现状
1.3.1 国内研究现状
1.3.2 国外研究现状
2 相关技术
2.1 Java语言
2.2 Spring Boot框架
2.3 MySQL数据库
2.4 B/S架构
2.5 Vue框架
3 系统分析
3.1 需求分析
3.2 可行性分析
3.2.1 技术可行性
3.2.2 经济可行性
3.2.3 操作可行性
4 系统设计
4.1 系统结构功能设计
4.2 系统流程设计
4.2.1 用户注册登录
4.2.2 收入记录新增
4.2.3 用户管理
4.3 数据库设计
4.3.1 E-R图设计
4.3.2 数据库表设计
5 系统实现
5.1 用户功能模块
5.1.1 用户注册登录
5.1.2 个人中心
5.1.3 收入记录管理
5.1.4 支出记录管理
5.1.5 财务报表管理
5.2 管理员功能模块
5.2.1 管理员登录
5.2.2 用户管理
5.2.3 收入记录管理
5.2.4 支出记录管理
5.2.5 财务报表管理
6 系统测试
6.1 测试目的
6.2 测试方法
6.3 用例测试
7 结论
绪论
研究背景
随着经济的快速发展和消费水平的不断提升,个人财务管理成为了现代人生活中不可或缺的一部分。在日常生活中,个人需要面对各种各样的消费支出和收入来源,如何有效地管理这些财务活动,确保个人财务的健康和稳定,成为了许多人关注的问题。传统的记账方式,如手工记账或使用简单的电子表格,虽然在一定程度上能够帮助个人记录财务信息,但存在诸多不足。手工记账容易出错,且难以进行数据的快速检索和分析;而电子表格虽然提高了数据处理的效率,但缺乏智能化的分析和预测功能,难以满足现代人对于个性化、智能化财务管理的需求[1]。在此背景下,个人记账系统的研究应运而生。个人记账系统是一种基于计算机技术和互联网技术的财务管理工具,它能够帮助个人实现财务信息的实时记录、分类统计、图表展示以及智能化的分析和预测。通过个人记账系统,用户可以轻松地了解自己的消费习惯和财务状况,制定出更加合理的预算和消费计划,从而有效地控制支出,提高财务管理水平。此外,随着移动互联网技术的不断发展,个人记账系统也逐渐向移动端延伸,使得用户可以随时随地进行财务管理,进一步提高了系统的实用性和便捷性[2]。因此,对于个人记账系统的研究不仅具有理论价值,更具有重要的实践意义,它能够为现代人提供更加高效、便捷、智能化的财务管理解决方案,帮助个人实现财务自由和生活质量的提升。
研究意义
个人记账系统的研究在现代社会具有深远的意义,它不仅关乎个人财务管理的便捷性与效率,更深刻影响着个人财务健康与理财意识的提升。首先,从实用性角度看,个人记账系统通过自动化、智能化的手段,极大地简化了记账流程,减轻了用户的操作负担。它使用户能够轻松记录每一笔收支,实时掌握个人财务状况,避免了传统手工记账的繁琐与易错性[3]。同时,系统提供的分类统计、图表展示等功能,有助于用户直观了解消费分布,为合理规划预算、控制不必要开支提供了有力支持。其次,个人记账系统的研究对于提升公众的理财意识具有积极作用。通过系统记录与分析,用户可以清晰看到自身消费习惯,从而引导其反思并调整消费行为,培养健康、理性的消费观念。此外,系统内置的预算规划、储蓄目标设定等功能,鼓励用户进行长期财务规划,为实现财务自由打下坚实基础。最后,从技术进步与社会影响层面,个人记账系统的研究推动了金融科技的发展,促进了信息技术与个人财务管理的深度融合。随着大数据、人工智能等先进技术的应用,系统能够为用户提供更加个性化、智能化的财务建议,进一步提升财务管理的精准度与效率,同时也为金融科技领域的创新与发展提供了宝贵经验[4]。综上所述,个人记账系统的研究不仅提升了个人财务管理的便捷性与效率,更在培养公众理财意识、推动金融科技发展等方面展现出重要价值。
国内外研究现状
国内研究现状
随着数字化时代的到来,个人记账系统在国内的研究与应用呈现出蓬勃发展的态势。近年来,越来越多的研究者投入到这一领域,致力于开发出更加高效、便捷、智能化的记账工具,以满足广大用户对于个人财务管理的需求。在个人记账系统的功能研发方面,国内已经涌现出了一批具有创新性和实用性的产品。这些系统不仅具备基本的记账功能,如收支记录、分类统计等,还融入了预算管理、资产跟踪、税务计算等高级功能,使得用户能够更全面地掌握自己的财务状况[5]。同时,通过引入自然语言处理、机器学习等人工智能技术,系统能够自动识别并分类交易信息,大大提高了记账的准确性和效率。此外,国内的个人记账系统还注重用户体验和数据安全性的提升。在界面设计方面,系统通常采用简洁明了的风格,使用户能够轻松上手;在数据保护方面,系统则采用了多种加密技术和安全措施,确保用户的财务信息不被泄露或滥用。值得注意的是,随着移动互联网的普及,国内的个人记账系统也开始向移动端延伸。通过手机APP等移动端应用,用户可以随时随地查看和管理自己的财务信息,进一步提高了系统的实用性和便捷性。综上所述,国内的个人记账系统研究已经取得了显著的进展,不仅在功能研发、用户体验和数据安全性方面取得了突破,还紧跟移动互联网的发展趋势,为用户提供了更加高效、便捷、智能化的财务管理服务。
国外研究现状
在全球化与数字化并进的今天,个人记账系统在国外的研发和应用同样取得了显著成果。这些系统不仅为用户提供了强大的财务管理工具,还推动了金融科技领域的持续创新[6]。国外的个人记账系统普遍注重用户体验和智能化功能的开发。许多系统能够自动识别并分类用户的交易信息,实现无缝同步和实时更新。此外,这些系统还提供了预算管理、储蓄目标设定、财务分析等高级功能,帮助用户更好地规划和控制自己的财务状况。在智能化方面,国外的记账系统通过集成自然语言处理、机器学习等先进技术,实现了更加精准和个性化的服务。例如,一些系统能够根据用户的消费习惯和财务状况,智能推荐适合的预算方案或储蓄计划,为用户提供更加贴心的财务管理建议。在数据安全和隐私保护方面,国外的记账系统同样表现出色。这些系统通常采用先进的加密技术和安全措施,确保用户的财务信息不被泄露或滥用[7]。同时,许多系统还提供了多因素认证、数据加密备份等功能,进一步增强了用户数据的安全性。此外,随着移动互联网的普及,国外的个人记账系统也开始向移动端发展。通过手机APP等移动端应用,用户可以随时随地查看和管理自己的财务信息,实现更加便捷和高效的财务管理。综上所述,国外的个人记账系统在功能研发、智能化应用、数据安全和用户体验等方面均取得了显著进展,为用户提供了更加全面、智能和安全的财务管理服务。
相关技术
Java语言
Java在系统开发中具有跨平台性、强大的生态系统、高度可扩展性、安全性、多线程支持、优秀的性能、长期支持与发展、丰富的API和开源库以及良好的内存管理等多重优势。Java具备自动化的垃圾回收功能,能够智能地管理内存资源,有效规避内存泄漏与溢出等风险。这一优势让开发者能将更多精力倾注于业务逻辑的创新上,而不必深陷于内存管理的繁琐细节[8]。作为一种历经时间考验且应用广泛的编程语言,Java享受着长期的支持与不断的发展。Oracle公司及Java社区持续为Java注入新活力,通过引入新功能、修复安全漏洞及提升性能,确保了Java技术的稳健与可持续进步。尽管有时Java会被误解为运行速度较慢的编程语言,但实际上,随着JVM即时编译技术和垃圾回收机制的不断精进,Java在运行时的性能已经相当出色。加之硬件技术的飞速发展,Java与其他编程语言在性能上的差异已微乎其微。Java原生支持多线程编程,这为开发者提供了极大的便利,使他们能够轻松地实现并发处理与多任务执行。多线程技术的应用,特别是在处理海量数据或执行高计算需求的任务时,能够显著提升应用程序的运行效率。Java适用于各种规模的项目,无论是小型应用程序还是大型企业级系统。其模块化设计让代码变得易于复用和维护,这对于项目的长期稳定发展大有裨益[9]。Java程序能够在任何装有Java虚拟机的设备上流畅运行,无需为不同平台分别进行编译。这一特性赋予了Java应用在不同操作系统间轻松迁移的能力,从而削减了开发和维护所需的成本。
Spring Boot框架
使用Spring Boot框架带来了诸多显著优势,主要可以从以下几个方面来体现:首要的是,Spring Boot凭借其简洁性、快速响应以及高效运作的特点,大幅度简化了Spring应用的初步构建与开发流程。这促使开发者能够迅速构建出功能全面的系统,有效缩短了开发周期并降低了成本。其次,Spring Boot提供了自动化配置与外部化配置两大特性[10]。自动化配置功能能够根据项目中引入的依赖项和既定规则,智能地配置应用程序中的各类组件与功能,从而大幅减少了手动配置的任务量。而外部化配置功能则实现了配置信息与代码的有效分离,便于开发者在不同运行环境下灵活调整配置参数,这极大地增强了系统的灵活性与维护便捷性。此外,Spring Boot还原生支持内置的Servlet容器,如Tomcat、Jetty等,这意味着开发者可以将应用程序打包为独立的可执行JAR文件,并直接运行,无需额外安装或配置外部容器。这简化了应用程序的部署和运行,方便了开发者进行本地开发和测试[11]。Spring Boot拥有丰富的生态系统,Spring Boot深度整合了Spring框架内的多种核心组件与库,例如Spring MVC、Spring Data JPA等,为开发者构建了坚实的后端支撑体系。这些组件与库的紧密集成,极大地简化了数据访问、事务管理、Web服务等功能的实现过程,使得开发者能够将主要精力聚焦于业务逻辑的精雕细琢上。
MySQL数据库
在系统开发中,MySQL数据库的应用极为广泛,作为一款开源的关系型数据库管理系统,它凭借出色的性能、高度的可靠性、便捷的操作性以及丰富的功能特点,赢得了众多开发者和企业的青睐,成为了他们的首选数据库解决方案。MySQL支持标准的SQL语言,使得数据查询、更新等操作变得简单直观。同时,MySQL提供了丰富的数据类型和函数,MySQL数据库能够充分应对复杂的数据存储与处理需求。在系统开发的场景下,MySQL被普遍用于数据的存储与管理。无论是用户资料、产品信息、订单详情,还是日志数据等,均可存入MySQL数据库中,并利用SQL语句实现高效查询与深入分析[12]。MySQL同样支持事务处理功能,确保数据在复杂业务逻辑处理及高并发请求环境下的一致性和完整性。借助事务处理,开发者能保障数据在多个操作间的原子性、一致性、隔离性和持久性。此外,MySQL提供了诸如InnoDB、MyISAM等多种存储引擎选项,开发者可根据实际应用场景的需求,选择最适合的存储引擎来优化性能。同时,MySQL还配备了丰富的索引类型及查询优化技术,能够进一步提高数据查询的效率。MySQL还具有良好的扩展性和可伸缩性,可以轻松地实现数据的读写分离、主从复制和分片等技术,以满足大规模数据存储和访问的需求。
B/S架构
B/S架构对于系统开发来说,具有显著的优势和广泛的应用价值。B/S架构极大地简化了客户端。用户仅需利用浏览器即可轻松访问系统,无需安装任何额外软件,这显著削减了系统的部署与维护成本。此外,得益于浏览器的跨平台特性,B/S架构的应用程序能够无缝运行于各类操作系统和设备之上,极大地增强了系统的兼容性和可扩展性[13]。更重要的是,B/S架构将业务逻辑与数据集中托管于服务器端,这种设计使得系统的管理与维护工作变得更加集中且高效。服务器端的更新和维护一次完成,即可影响所有用户,避免了逐一更新客户端的繁琐过程。此外,数据集中存储在服务器端,便于统一管理和备份,提高了系统的安全性。B/S架构展现出极佳的用户友好界面。用户仅需键入URL地址,便能轻松访问系统,无需担忧软件的安装步骤及配置细节,这降低了用户的使用门槛。同时,B/S架构支持多人协作和实时更新,使得系统能够满足多人同时访问和操作的需求,适用于需要实时数据交互和协作的场景。B/S架构还具有良好的扩展性和灵活性。服务器端可以根据流量需求动态增加或减少资源,确保系统的稳定运行。这使得B/S架构能够适应不断变化的业务需求,为系统的未来发展提供了有力的支持[14]。综上所述,B/S架构在系统开发中具有显著的优势,包括简化客户端、集中管理、用户友好、多人协作、实时更新以及良好的扩展性和灵活性等。这些优势使得B/S架构成为现代Web应用程序开发的主流架构之一。
Vue框架
Vue框架对于系统开发来说,Vue框架是一种高效、灵活且入门轻松的前端解决方案,它凭借独特的响应式数据绑定机制、组件化开发理念以及全面的生态系统,在系统开发中占据着举足轻重的地位。Vue框架的核心竞争力之一在于其响应式数据绑定机制,该机制能自动感知数据的变化并即时更新视图,无需开发者手动介入DOM操作,从而显著提升开发效率并确保代码易于维护。这一特性使Vue框架成为构建动态、高度交互Web应用的理想选择。Vue框架倡导的组件化开发方法,让系统架构更加清晰、模块化。开发者可轻松将大型应用拆解为多个独立的组件,每个组件均承载特定的功能与样式。这种开发模式不仅大幅提升了代码的可复用性,还有效简化了团队协作与代码维护的流程[15]。此外,Vue框架拥有强大的生态系统,其中涵盖了Vue Router、Vuex和Vue CLI等实用工具。这些工具为开发者提供了全方位的支持与便利,让构建复杂前端应用的过程变得更为简单、高效。值得一提的是,Vue框架的学习成本相对较低,对初学者十分友好,即便是新手也能迅速上手并充分利用其强大功能。它的语法简洁明了,与JavaScript和HTML等主流技术紧密集成,使得开发者可以快速掌握并开始开发。Vue框架在系统开发中具有高效、灵活、易于上手和丰富的生态系统等优势。它能够帮助开发者快速构建复杂、动态、交互性强的Web应用程序,提高开发效率和代码质量。Vue框架在系统开发中展现出高效性、灵活性、易学习性和生态系统完备性等显著优势。它赋能开发者迅速搭建复杂度高、动态性强且交互体验佳的Web应用,同时提升开发速度并保证代码的高品质。
系统分析
需求分析
经过需求调研分析,可以看到个人记账系统分为用户和管理员两种角色。用例图是一种直观且有效的工具,它能够帮助开发团队更好地理解和定义系统需求,指导后续的设计和开发工作,确保系统能够满足用户的期望和需求。
用户注册登录后,进入系统前端页面,可对个人中心,收入记录管理,支出记录管理,财务报表管理,系统管理等功能进行查看操作。用户用例图如图3-1所示。

图3-1 用户用例图
管理员登录后,进入系统后台管理页面,可以对用户管理,收入记录管理,支出记录管理,财务报表管理,系统管理等功能进行管理操作。管理员用例图如图3-2所示。

图3-2 管理员用例图
可行性分析
技术可行性
Spring Boot作为Spring框架的一个子项目,继承了Spring框架的所有优点,如控制反转和面向切面编程等,这些特性使得系统开发更加模块化、灵活和易于维护。Spring Boot通过自动配置等特性,大大简化了Spring应用的初始搭建以及开发过程,使得开发者可以更加专注于业务逻辑的实现,而非繁琐的配置工作。Spring Boot拥有丰富的生态系统,提供了对各种数据库、消息中间件、缓存等技术的支持,使得开发者可以轻松地集成这些组件,满足系统多样化的需求。同时,Spring Boot还提供了强大的安全框架Spring Security,以及监控和诊断工具如Actuator,这些都有助于提升系统的安全性和可维护性。Spring Boot社区活跃,文档完善,学习资源丰富,这使得开发者可以快速地上手并解决开发中遇到的问题。此外,Spring Boot还得到了广泛的行业认可和应用,具备良好的稳定性和可靠性。从技术兼容性角度来看,Spring Boot可以与多种开发工具和框架进行集成,如Maven、Gradle、Docker等,这有助于提升开发效率和系统的可部署性。Spring Boot以其强大的功能、丰富的生态系统、良好的社区支持和兼容性,为系统开发提供了有力的支持。因此,对于需要快速构建、易于维护和扩展的系统来说,Spring Boot无疑是一个值得考虑的技术选型。
经济可行性
系统开发使用Spring Boot框架不仅降低了开发成本和运维成本,提高了资源利用率,还带来了长期的效益和竞争力。从开发成本来看,Spring Boot框架作为开源项目,其本身是免费的,这大大降低了系统开发的基础成本。同时,Spring Boot提供了丰富的内置功能和自动化配置,使得开发者能够快速构建系统,减少了开发时间和人力成本。此外,Spring Boot框架的广泛使用和成熟稳定,意味着开发者可以更容易地找到解决问题和优化性能的资源,进一步降低了开发成本。在运维成本方面,Spring Boot框架也表现出显著的经济优势。其内置的监控和诊断工具,如Actuator,使得运维人员能够轻松地监控系统的运行状态和性能指标,及时发现并解决问题,降低了运维难度和成本。此外,Spring Boot框架与Docker等容器技术的良好集成,使得系统部署和升级变得更加简单高效,进一步降低了运维成本。在资源利用方面,Spring Boot框架能够充分利用现有硬件资源,提高系统性能和稳定性。同时,由于其轻量级和模块化的设计,使得系统能够根据需要灵活扩展,避免了资源的浪费。从长期效益来看,使用Spring Boot框架进行系统开发有助于提升系统的可维护性和可扩展性,降低后期的维护成本和升级难度。
操作可行性
Spring Boot框架在系统开发的操作可行性方面展现出了极高的优势。它极大地简化了Spring应用的初始搭建、配置和开发流程,通过提供一系列默认配置和自动配置功能,使得开发者无需进行大量的手动配置和集成工作,从而降低了开发难度和复杂度。此外,Spring Boot框架内嵌了多种服务器,使得开发者可以在不依赖外部服务器的情况下快速启动和测试应用,进一步简化了开发和部署流程。开发者可以通过简单的配置和使用注解来快速集成这些功能模块,从而降低了系统开发的复杂性和风险。Spring Boot框架对微服务架构的支持使得系统可以更容易地进行部署和扩展。通过内嵌Tomcat、Jetty等服务器,Spring Boot提供了轻量级的部署方式,使得开发者无需单独配置外部容器即可运行应用程序。同时,Spring Boot框架提供了丰富的文档和教程,以及活跃的社区支持,这些资源不仅有助于开发者快速掌握Spring Boot的核心技能和最佳实践,还能在遇到问题时及时获得帮助和解决方案。因此,Spring Boot框架使得系统开发变得更加高效、简便和易于操作,从操作可行性的角度来看,它无疑是系统开发的一个理想选择,能够帮助开发者快速构建出稳定、可靠且易于维护的系统应用。
系统设计
系统结构功能设计
个人记账系统共分为用户和管理员两部分。用户功能包含个人中心,收入记录管理,支出记录管理,财务报表管理,系统管理。管理员功能包括用户管理,收入记录管理,支出记录管理,财务报表管理,系统管理。系统结构功能图如图4-1所示。

图4-1 系统结构功能图
系统流程设计
用户注册登录
用户进入系统页面后,需要登录后进行操作。如果用户没有注册账号需要先进行账号注册。用户注册登录流程图如图4-2所示。

图4-2 用户注册登录流程图
收入记录新增
用户登录系统后,选择收入记录管理,进入收入管理界面,对收入情况进行新增。用户新增收入记录流程图如图4-3所示。

图4-3 新增收入流程图
用户管理
用管理员登录系统后,点击用户管理,共分为用户管理和管理员管理两部分。管理员可以对用户及管理员进行新增修改及删除管理。管理员用户管理流程图如图4-4所示。

图4-4 用户管理流程图
数据库设计
E-R图设计
在系统开发中,E-R图通过图形化的方式直观展示了系统中的实体、属性及它们之间的关系,为开发者提供了一个清晰、易于理解的模型。这极大地简化了复杂系统的分析过程,使得开发者能够迅速把握系统的核心结构和数据流动。在系统设计阶段,E-R图帮助开发者识别并定义系统中的关键数据元素和它们之间的关联。这有助于确保数据的一致性和完整性,避免数据冗余和冲突。同时,它还能够揭示潜在的数据依赖关系,为后续的数据库优化和性能提升奠定基础。此外,E-R图在团队协作中发挥着桥梁作用。不同背景的开发者可以通过E-R图快速理解系统结构,促进团队之间的沟通和协作。系统E-R图如图。

图4-5 E-R图

图4-6 收入记录实体属性图

图4-7 财务报表实体属性图

图4-8 支出记录实体属性图

图4-9 用户实体属性图
数据库表设计
数在系统开发中,数据库表扮演着至关重要的角色,它们不仅是数据存储的核心,还是系统功能和性能的基石。首先,数据库表是数据的结构化存储单元。通过将数据组织成表格形式,数据库表能够高效地存储、检索和管理数据。这种结构化的存储方式使得数据易于理解和访问,为系统的数据处理提供了坚实的基础。其次,数据库表支持复杂的数据操作。在系统开发中,经常需要对数据进行增删改查等操作。数据库表提供了丰富的SQL功能,使得这些操作变得简单且高效。通过SQL语句,开发者可以轻松地实现数据的各种操作需求。数据库表还提升了系统的性能和可扩展性。通过索引、分区等技术,可以显著提高数据库的查询性能。同时,数据库表的设计也考虑到了系统的可扩展性,使得在数据量增加时,系统能够轻松地扩展和升级。综上所述,数据库表在系统开发中发挥着至关重要的作用。它们不仅提供了高效的数据存储和管理功能,还支持复杂的数据操作,维护数据的一致性和完整性,提升系统的性能和可扩展性,是系统架构中不可或缺的重要组成部分。数据库表如图所示。
表 41 收入记录表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
shourumingcheng |
varchar |
200 |
收入名称 |
||
|
shourujine |
double |
收入金额 |
|||
|
jilushijian |
datetime |
记录时间 |
|||
|
zhanghao |
varchar |
200 |
账号 |
||
|
shouji |
varchar |
200 |
手机 |
||
|
shourubeizhu |
varchar |
200 |
收入备注 |
表4-2 财务报表表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
nianfen |
varchar |
200 |
年份 |
||
|
yuefen |
varchar |
200 |
月份 |
||
|
zhichujine |
double |
支出金额 |
|||
|
shourujine |
double |
收入金额 |
|||
|
dengjiriqi |
date |
登记日期 |
|||
|
zhanghao |
varchar |
200 |
账号 |
||
|
shouji |
varchar |
200 |
手机 |
表4-3 支出记录表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
zhichumingcheng |
varchar |
200 |
支出名称 |
||
|
zhichujine |
double |
支出金额 |
|||
|
jilushijian |
datetime |
记录时间 |
|||
|
zhanghao |
varchar |
200 |
账号 |
||
|
shouji |
varchar |
200 |
手机 |
||
|
zhichubeizhu |
varchar |
200 |
支出备注 |
表4-4 用户表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
zhanghao |
varchar |
200 |
账号 |
||
|
mima |
varchar |
200 |
密码 |
||
|
xingming |
varchar |
200 |
姓名 |
||
|
xingbie |
varchar |
200 |
性别 |
||
|
touxiang |
longtext |
4294967295 |
头像 |
||
|
shouji |
varchar |
200 |
手机 |
表4-5管理员表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
username |
varchar |
200 |
用户名 |
||
|
password |
varchar |
200 |
密码 |
||
|
role |
varchar |
200 |
角色 |
管理员 |
系统实现
用户功能模块
用户注册登录
用户进入系统后,点击登录注册,根据提示输入用户名和密码,点击登录按钮,进行登录。如果提示显示用户没有系统账号,需要先进行账号注册。点击注册用户按钮,根据提示输入注册信息,进行系统账号的注册。

图 51 用户注册登录界面
个人中心
用户登录进入系统首页后,进入个人中心,可以对个人中心中的用户资料进行填写修改,对用户个人登录密码进行修改。

图5-2 用户个人中心界面
收入记录管理
用户登录进入系统首页后,选择收入记录管理,可以根据收入名称搜素查看收入情况,也可以对收入进行新增修改及删除。

图 53 收入记录新增页面
支出记录管理
用户登录进入系统首页后,选择支出记录管理,可以根据支出名称搜素查看支出情况,也可以对支出进行新增修改及删除。

图 54 支出管理页面
财务报表管理
用户登录进入系统首页后,选择财务报表管理,可以根据查看月支出和月收入的情况,也可以对报表进行新增修改及删除。

图5-5 财务报表管理界面
管理员功能模块
管理员登录
管理员进入登录页面后,输入正确的账号密码,就可以登录管理员后台管理界面。

图5-6 管理员登录界面
用户管理
管理员登录系统后台管理界面后,进入用户管理,管理员可以对用户和管理员进行新增修改和删除。

图5-7 用户管理界面
收入记录管理
管理员进入系统管理后台界面,选择收入记录管理,进入收入记录管理界面。可以查看收入统计情况,也可以对所有用户收入进行修改及删除。

图5-8 用户管理界面
支出记录管理
管管理员进入系统管理后台界面,选择支出记录管理,进入支出记录管理界面。可以查看支出统计情况,也可以对所有用户支出进行修改及删除。

图5-9 支出记录管理界面
财务报表管理
管理员进入系统管理后台界面,选择财务报表管理,进入财务报表管理界面。可以查看用户财务报表月统计情况,也可以对所有用户的财务报表进行修改及删除。

图5-10 财务报表管理界面
系统测试
测试目的
系统开发的测试目的在于验证系统的功能和性能,更在于确保系统的安全性、稳定性和用户体验,为系统的成功部署和稳定运行提供有力保障。通过测试可以验证系统的功能是否完整且正确。在系统开发过程中,需求规格说明书定义了系统应具备的各项功能。测试人员需根据这些要求,设计并执行测试用例,以检查系统是否能够按照预期正确地处理各种输入,并产生正确的输出。这一过程有助于发现并修复功能缺陷,确保系统功能的完整性和正确性。测试能够评估系统的性能表现。性能是系统质量的重要方面,包括响应时间、吞吐量、资源利用率等关键指标。通过模拟实际使用场景,测试人员可以测量系统在不同负载下的性能表现,从而识别并优化性能瓶颈,提升系统的运行效率。此外,测试还有助于确保系统的安全性和稳定性。在系统运行过程中,可能会面临各种安全风险,如数据泄露、恶意攻击等。通过安全测试,可以评估系统的安全防护能力,发现并修复潜在的安全漏洞。同时,稳定性测试可以确保系统在各种异常情况下仍能保持稳定运行,避免因系统崩溃或数据丢失而导致的业务中断。测试也是提升用户体验的重要手段。通过用户测试和可用性测试,可以收集用户对系统功能和界面的反馈意见,从而发现潜在的用户体验问题,并进行针对性的优化和改进。这有助于提升系统的易用性和用户满意度,增强系统的市场竞争力。
测试方法
系统测试中常采用白盒测试和黑盒测试两种方法,它们各自具有独特的特点和适用场景。白盒测试,也称为结构测试或逻辑驱动测试,主要关注被测系统的内部结构和代码实现。测试人员通过深入分析代码逻辑、路径和条件等,设计测试用例来验证系统的正确性和可靠性。这种方法适用于单元测试和集成测试等场景,能够发现隐藏在代码深处的错误,尤其是逻辑错误。然而,白盒测试对测试人员的技术要求较高,需要他们具备一定的编程和代码分析能力。黑盒测试,则是一种不考虑内部实现细节的测试方法。测试人员将系统视为一个黑盒子,仅通过外部接口(如输入和输出)进行测试。他们根据功能说明书或需求文档设计测试用例,并观察输出结果是否符合预期。黑盒测试适用于功能测试、验收测试和系统测试等场景,能够验证系统是否满足用户需求,发现功能缺陷和界面问题。这种方法对测试人员的分析逻辑思维和用户需求理解能力有一定要求。白盒测试和黑盒测试往往不是孤立存在的,而是相互补充、协同工作的。测试人员可以根据具体的测试目的和需求选择适合的测试方法,并在测试过程中注意测试用例的设计、执行和结果的分析等方面的细节,以确保软件系统的质量和性能。
用例测试
表6-1登陆测试表
|
用例名称 |
操作过程 |
预期结果 |
实际结果 |
|
用户登录 |
用户点击登录,输入账号密码 |
登陆成功 |
登陆成功 |
|
管理员登录 |
管理员点击登录,输入账号密码 |
登陆成功 |
登陆成功 |
表6-2收入记录测试表
|
用例名称 |
操作过程 |
预期结果 |
实际结果 |
|
用户收入记录添加 |
用户进入系统后,进入收入记录管理页面,添加收入记录 |
添加成功 |
添加成功 |
|
管理员收入记录管理 |
管理员进入系统后台,进入收入记录管理,对用户的收入记录进行管理 |
管理成功 |
管理成功 |
表6-3 支出记录测试表
|
用例名称 |
操作过程 |
预期结果 |
实际结果 |
|
用户支出记录添加 |
用户进入系统后,进入支出记录管理页面,添加支出记录 |
添加成功 |
添加成功 |
|
管理员支出记录管理 |
管理员进入系统后台,进入支出记录管理,对用户的支出记录进行管理 |
管理成功 |
管理成功 |
表6-4 用户管理测试表
|
用例名称 |
操作过程 |
预期结果 |
实际结果 |
|
管理员用户新增 |
管理员登录系统后,进入用户管理界面,填写用户信息,新增用户 |
新增成功 |
新增成功 |
|
管理员用户新增 |
管理员登录系统后,进入用户管理界面,修改用户信息 |
修改成功 |
修改成功 |
|
管理员用户删除 |
管理员进入系统管理界面,进入用户管理,可以对已经存在的用户进行删除 |
删除成功 |
删除成功 |
结论
在本次毕业设计中,深入研究了个人记账系统的设计与实现,采用Java语言作为后端开发语言,Spring Boot框架作为后端开发框架,Vue框架作为前端开发框架,MySQL数据库作为数据存储解决方案,并采用了B/S架构模式。通过这一系列的技术选型和实践,成功地构建了一个功能完善、性能稳定、用户体验良好的个人记账系统。
在后端开发方面,充分利用了Spring Boot框架的简洁性、高效性和可扩展性,通过模块化设计实现了系统的各个功能模块,包括用户管理、收支记录等。同时,采用了Spring Security等安全框架,对系统进行了全面的安全防护,确保了用户数据的安全性和隐私性。
在前端开发方面,采用了Vue框架的组件化开发模式,通过Vue Router和Vuex等工具实现了页面的动态路由管理和全局状态管理。这使得系统界面更加美观、交互更加流畅,并提供了良好的用户体验。
在数据库设计方面,根据系统的需求,合理地设计了MySQL数据库表结构和索引,确保了数据的高效存储和快速查询。同时,采用了数据库事务处理机制,保证了数据的一致性和完整性。
在B/S架构模式下,实现了系统的跨平台、易部署和易维护性。用户只需通过浏览器即可访问系统,无需安装额外的客户端软件,大大提高了系统的可用性和便捷性。
综上所述,通过本次毕业设计,不仅掌握了Java语言、Spring Boot框架、Vue框架、MySQL数据库以及B/S架构等前沿技术的实际应用,还深入了解了个人记账系统的设计与开发流程。构建的个人记账系统具有功能全面、性能稳定、用户体验良好等优点,能够满足广大用户对于个人财务管理的需求。同时,也认识到了自己在技术水平和项目管理方面的不足,将在未来的学习和工作中继续努力提升自己的能力。
参考文献
胡雪晴.记账类APP模块化设计方法与应用研究[J].经济师,2024,(04):65-67.Viviane H F .Motivations for personal recordkeeping practices: the roles of personal factors, recordkeeping literacy and the affordances of records[J].Archival Science,2024,24(1):83-99.郑桂芳.学校会计核算基础和记账方法改革研究[J].大众投资指南,2023,(23):194-196.郭柏辰,莫清清,赖泳杏.互联网时代记账理财服务平台的构建研究[J].中国集体经济,2021,(30):67-68.刘晓彤,裴俊飞.图解理财[M].机械工业出版社:202006.179. 田黄.随手科技个人财务管理APP产品竞争战略研究[D].广西师范大学,2020.DOI:10.27036/d.cnki.ggxsu.2020.000440. 陈甜.跨平台的自动记账与多人共享账务管理系统的设计与实现[D].北京邮电大学,2020.DOI:10.26969/d.cnki.gbydu.2020.001003. 郝哲璞.记账软件对理财的意义——以“一指记账”APP为例[J].投资与合作,2020,(04):124-126.龙丹,财务记账智能分类管理系统.安徽省,肥西县合慧科技服务有限责任公司,2019-09-30. 乔赵有.基于Android的自助理财系统的设计和实现[D].电子科技大学,2015. 陈霞.应用.NET MVC与ExtJs结合开发的网上记账系统[D].福州大学,2014.M K K A ,Srinivasa N .The Impact of Financial Literacy on Personal Financial Decision-Making: A Study with Students[J].Journal of Research in Vocational Education,2025,7(1):35-39.Amole O ,Emedo M .Integrating Environmental, Social and Governance (ESG) Principles into Financial Planning for Sustainable Corporate Growth[J].Asian Journal of Advanced Research and Reports,2025,19(1):56-64.Takakusagi Y .A Personal Financial Simulation for Japanese Hospital-Employed Physicians.[J].Cureus,2025,17(1):e77048.Rani P ,Sharma V .Financial Planning and Investment Behavior of Salaried Households: A Comparative Study of Rural and Urban Areas[J].Journal of Global Economics, Management and Business Research,2024,45-53.
致谢
在撰写这份毕业设计报告的过程中,我得到了来自多方面的帮助与支持,在此,我衷心地向每一位给予我帮助的人表示感谢。
首先,我要感谢我的指导老师。正是他专业的指导和悉心的关怀,使我在毕业设计的道路上少走了许多弯路。从选题到系统设计,再到最后的实现与测试,每一步都凝聚着老师的心血。他严谨的科学态度、深厚的学术功底和无私的奉献精神,深深地感染了我,成为我不断前行的动力。
其次,我要感谢我的同学们。在毕业设计的实施过程中,我们相互学习、共同进步。面对困难和挑战,我们团结一心、共同攻克。这份同窗情谊,将成为我人生中最宝贵的财富之一。
同时,我还要感谢那些为我提供测试环境、数据和反馈的用户们。他们的意见和建议,使我能够不断完善系统,提升用户体验。他们的认可和支持,是我最大的动力源泉。
此外,我要感谢计算机领域的先驱们和所有为技术发展做出贡献的人们。正是他们的智慧和努力,为我们提供了如此丰富的技术资源和开发工具,使我们能够站在巨人的肩膀上,进行更高层次的创新和实践。
最后,我要感谢我的家人和朋友们。他们在我毕业设计的过程中,给予了我无尽的关爱和支持。他们的理解和包容,使我能够全身心地投入到毕业设计中,最终顺利完成这项任务。
在此,我再次向所有给予我帮助和支持的人们表示最诚挚的感谢!是你们让我感受到了团队的力量、友情的温暖和技术的魅力。我将珍惜这段宝贵的经历,继续努力学习和实践,为计算机事业的发展贡献自己的力量。


