摘 要
随着我国居民收入和生活水平的提高,家庭理财成为人们热议的焦点问题。在需求分析阶段,系统从用户的实际需求出发,确定了用户账户管理、记账、数据分析和提醒功能等几个核心需求。用户账户管理包括用户注册、登录和密码找回等基本操作。记账功能允许用户记录收入和支出。数据分析部分则通过图表展示用户的收支情况。提醒功能通过用户设定的预算和计划,为用户提供财务提醒服务。在系统架构设计上,采用了Android作为主要开发平台,通过Java语言实现APP的前端功能。在后端方面,选择了Spring Boot框架构建RESTful API,以实现前后端的数据交互。在系统测试阶段,进行了多方面的测试,包括功能测试,性能测试,安全性测试等。通过这些测试,系统在各个方面都表现出良好的性能和稳定性。通过本次研究成功设计并实现了一款基于Android的家庭理财APP,该APP具备方便、效率高的财务管理功能。
关键词:家庭理;Android;Java语言;Spring Boot框架
ABSTRACT
In the demand analysis stage, the system starts from the actual needs of users, and clarifies several core requirements such as user account management, bookkeeping, data analysis and reminder functions. User account management includes basic operations such as user registration, login, and password retrieval. The bookkeeping feature allows users to keep track of income and expenses. The data analysis part shows the user's income and expenditure through charts. The reminder feature provides users with financial alerts through budgets and schedules set by users.In terms of system architecture design, Android is used as the main development platform, and the front-end functions of APP are realized through Java language. In terms of backend, the Spring Boot framework was selected to build a RESTful API to achieve efficient data interaction between the front and back ends. In the system testing stage, we have carried out many aspects of testing, including functional testing, performance testing, security testing, etc. Through these tests, the system has shown good performance and stability in all aspects.Through this research, we successfully designed and implemented an Android-based family financial management APP, which has convenient financial management functions.
Key words: family finance;Android;Java language;Spring Boot framework
目 录
第1章 绪论
1.1 研究目的和意义
1.2 国内外研究现状
1.3 研究内容
1.4 论文组织架构
第2章 相关技术简介
2.1 Android简介
2.2 Java介绍
2.3 Spring Boot介绍
2.4 Vue.js介绍
2.5 MySQL数据库介绍
第3章 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 法律可行性
3.1.4 运营可行性
3.2 需求分析
3.2.1 功能需求分析
3.2.2非功能性需求分析
3.3 业务流程分析
第4章 系统设计
4.1 功能模块设计
4.2 数据库设计
4.2.1 数据库需求分析
4.2.2 数据库概念结构设计
4.2.3 数据库逻辑结构设计
第5章 系统实现
5.1 实现环境
5.2 注册登录
5.3 用户信息管理
5.4 借出信息管理
5.5 投资理财管理
5.6 家庭成员管理
5.7 收入信息管理
5.8 银行信息管理
5.9 理财信息管理
5.10 公告信息管理
5.11 理财资讯管理
第6章 系统测试
6.1测试目的
6.2测试方法
6.3 测试用例
6.3.1 登录测试用例
6.3.2 银行信息管理测试用例
6.3.3 理财项目管理测试用例
6.3.4 投资记录管理测试用例
6.4测试结论
结论及展望
参考文献
致 谢
第1章 绪论
1.1 研究目的和意义
当今社会,家庭理财是所有家庭都需要重视的话题,对个人和家庭的经济状况有着直接的影响。本研究选择基于Android平台的家庭理财APP作为研究对象,目的是通过科技手段提供一种智能、便捷的家庭理财解决方案。
研究目的:提高家庭理财效率:通过设计一款基于Android的家庭理财APP,使得每个家庭成员都能够记录和管理个人财务。创新家庭理财方式:传统的家庭理财方式受到限制,而家庭理财APP的使用提供了一种新的、更灵活的理财方式。本设计旨在推动家庭理财方式的创新,更好地适应现代社会的需求满足家庭的需求。提供智能化财务分析:通过APP内的数据分析功能,系统能够完美地展示用户的收支情况,为用户提供更直观的财务信息,帮助用户更好地了解自己的财务状况。
研究意义:改善家庭理财体验:设计一款用户友好、功能完善的家庭理财APP,将有助于提升用户的理财体验,使其更加愿意采用数字化工具进行财务管理[2]。促进财务智能化:通过数据分析和提醒功能,家庭理财APP可使家庭成员的财务意识有所提高,家庭成员会更清晰的对自己的财产有一个理性的分配,从而使自己的财产得到更长远的使用。适应数字化时代需求:随着数字化时代的发展,家庭理财APP的设计有助于家庭理财领域更好地适应社会需求,推动家庭理财的数字化和智能化发展。
本研究将在家庭理财领域取得一系列创新成果,推动家庭理财的数字化转型,为广大家庭提供更加强大的财务管理方案。
1.2 国内外研究现状
在当今的经济水平下,人民的生活状况目前还称不上富裕,但是随着我国经济的飞速发展,人民的生活水平在不断地提高,可支配的家庭收入也在不断增加,各种支出也层出不穷,来自家庭的各种突发因素也在增加,所以家庭理财逐渐引起大家的注意了[3]。一个家庭能否经济富裕,走向小康,看的就是是否会理财,要想学会理财就得学会使用理财软件。俗话说“食不果腹,衣食无忧,不制定计划,就不会永远贫穷”,也就是说,如果你不懂得理财,你就会最终失去有一个家庭。为了过上美好的生活,你需要做的第一件事就是学会如何管理你的财务,需要学习如何使用财务管理软件。
2020年邓钦文在《基于Android平台下家庭理财通软件的设计》一书中提到操作系统、中间件、用户界面和应用用软件这四部分内容,对于移动应用程序的发展有着划时代的重要作用,Android技术实现家庭财务管理软件的开发设计起到了重要的突破作用,对于系统的技术应用具有参考意义。
2020年王青青、潘东亮等学者在《基于Android的大学生旅游理财APP设计》文中表明Java具有普遍的应用性,并且具有较高的效率。Android的Logo是由Ascender公司设计的,它的设计灵感来自于厕所门上的图形符号,布洛克根据这个灵感绘制出一个的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了[4]。采用Android操作系统将解决系统设计中的技术缺陷,完善财务管理模块的设计,使系统具有多个管理模块,更加方便。
2019年外国学者Becker Felix,Axhausen Kay W在《Simulation of price,customer behaviour and system impact for a cost-covering automated taxi system in Zurich》指出运用 Android 平台、Java 技术和 SQLite 数据库开发的一款家庭理财软件,使用户可以随时随地的增加删除查看自己的收支信息,并进行账务轮转和执行记账针对不同的消费目的进行针对性的管理。Android在正式发行之前,原本拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta)和发条机器人(Android 1.0)[5]。
此外2019年英国研究人员Grozev D,Milchev M,Georgiev I也在《Analysis of the load on the taxi system in a medium-sized city》文中提到在一个数据库应用程序中,所有类都可以通过名称访问创建它们的数据库,在应用程序之外它们不依赖于数字。Android会使同一系列核心应用程序包一起发布,所有的应用程序均使用JAVA语言编写的。
1.3 研究内容
本研究的核心内容是基于Android平台的家庭理财APP的设计与实现展开,包含了多个方面的研究内容,目的是开发一款方便大众功能强大的家庭理财工具。
系统功能设计:用户账户管理:包括用户注册、登录、密码找回等功能,目的是保护用户的隐私信息和提高系统的安全性。记账功能:用户可以通过此来记录自己的收入和支出情况,可以跟根据自己的习惯设置一些细节信息。数据分析与可视化:通过图和表等方式展示家庭成员的财务收支状况,帮助用户更好地查看和支配自己的财务。财务提醒功能:通过用户设定支出预算,及时提醒用户关键的使用情况,避免漏单或超支。
系统实现:后端实现:基于Spring Boot框架的后端服务,实现用户账户管理、记账、数据分析等功能。前端实现:利用Android平台和Vue构建前端,实现用户友好的操作体验。
系统测试:功能测试:验证系统各项功能是否正常运行,包括用户注册登录、账户、数据分析等。性能测试:检查高并发、大数据量等情况下的系统性能。保证系统的效率和稳定性。安全性测试:确保用户信息的安全,防范潜在的安全威胁,保障用户隐私。
总结研究过程中的主要发现和创新点,对系统的优化和改进提出展望,为未来类似研究提供借鉴和参考[7]。深入地设计与实现一款Android平台下的家庭理财APP,为通过以上研究内容,本研究旨在全面、家庭提供智能、便捷的财务管理工具。
1.4 论文组织架构
文章共分七章,专门讲述了系统的开发设计过程,为读者提供了从选题到理论分析、开发环境、软件代码等完整的信息。
第1章,绪论:深入探讨本系统研究的背景、重要性以及国内外研究的最新发展动态。
第2章,相关理论和技术:介绍与本系统相关的理论和技术问题。
第3章,系统分析:经济、技术和操作合理性的三个方面的分析。
第4章,系统设计:介绍功能模块设计和数据库设计。
第5章,系统实现:屏幕截图用于显示和描述系统的主要功能。
第6章,系统测试:对该系统测试的方式和结果进行介绍。
最后总结在系统开发过程中遇到的困难和感想。
第2章 相关技术简介
2.1 Android简介
Android的开放性使得开发者可以自由地创建并发布应用程序,因此它成为全球最受欢迎的移动操作系统之一[8]。普遍的设备支持: Android不仅仅用于智能手机,还应用在计算机、电视机、和各种设备上。这驱动Android成为一个多样化和广泛应用的生态系统。定制性: 制造商可以根据自己的需求定制Android系统,使其适应不同设备的硬件规格和用户体验[9]。灵活性和可定制性:Android供给了多样的API和开发工具,使开发者能够创造出各种功能齐全、个性化的应用。
2.2 Java介绍
Java的一个显著特征就是跨平台,只要写一遍,就可以在多个平台上自由地执行。此
外,Java还提供了大量的类库与开发工具,使得开发人员能够在较短的时间内完成各种复杂的应用。Java的类库包含了各种各样的API,涉及到网络编程,图形用户接口,数据库连接等;比如安全,开发者可以不需要重新编码就可以直接使用它们。Java安全机制也很强,它的安全模块主要有类加载机制、字节码校验和安全管理机制等,能够有效地阻止恶意程序的运行,保障了整个系统的安全。Java是企业中最受欢迎的一种编程语言,它非常适合金融,医疗,电商等对安全有很高需求的行业。在手机网络蓬勃发展的今天,Java在安卓系统中得到了越来越多的应用。安卓系统是建立在Java语言和API基础上的,它允许开发者迅速地创建一个特性很强的手机程序,并能够在诸如谷歌Play这样的媒体上发行。
2.3 Spring Boot介绍
Spring Boot是由Pivotal团队提供的基于Spring框架的开源项目,用于简化和加速基于Java的应用程序的开发和部署。下面是SpringBoot的几个关键特性与优点:简单的设置、内置的容器、自动化依赖管理、监控和度量、无代码生成、Spring生态系统、外部化配置、快速开发和集成测试。简化配置:Spring Boot通过自动化配置和默认值,减少了开发者在项目配置上的工作量,提高了开发效率。依赖管理:Spring Boot通过使用Starter POMs(项目对象模型)简化了对于依赖库的管理,开发者只需选择适合自己需求的Starter POM即可[10]。
2.4 Vue.js介绍
Vue.js专注于通过简单的API实现响应式数据绑定和组合的视图组件。响应式数据绑定:Vue采取的是响应式数据绑定的概念,当数据变化时,视图会自动刷新,简化了开发中的DOM操作。组件化开发:Vue支持将页面划分为多个组件,每个组件都有自己的状态和视图[11]。组件可以灵活地组合和嵌套,提高代码的可维护性和复用性。渐进式:Vue被设计成渐进式的框架,可以逐步引入,也可以与其他库和项目一起使用。
2.5 MySQL数据库介绍
MySQL是一种开源的关系型数据库管理系统(RDBMS),由瑞典公司MySQL AB开发,并且现在由Oracle公司进行维护和支持[12]。 MySQL数据库的主要特点体现在其通用性、高性能、高质量、可伸缩性、多存储引擎支持、安全性、高可用性以及良好的兼容性。这种跨平台的特性使其能在Windows、Linux和Mac等多种操作系统上运行,为用户提供了极大的灵活性和选择空间。 MySQL作为一个广泛应用于Web系统的数据库,其特点鲜明:存储容量大,且拥有多种存储引擎,每种引擎都有其独特优势,用户可以根据具体需求选择最合适的引擎,从而显著提升系统性能。跨平台性良好,能在多个操作系统上稳定运行,确保了系统的兼容性和稳定性。执行速度快,能够迅速响应并处理大量数据查询请求,同时与处理器协同工作,确保高效的数据处理能力。安全性高,通过加密代码在传输过程中的数据,有效提升了数据传输的安全性。
第3章 系统分析
3.1 可行性分析
基于Android的家庭理财APP的系统在设计与实现之前,必须要进行可行性分析。可行性分析是指评估项目在技术、经济、法律和操作等方面的可行性,来判断项目是否能继续成功的进行。以下是可行性分析的关键方面:
3.1.1 技术可行性
技术可行性评估项目所需技术和工具的可用性和适用性。对于基于Android的家庭理财APP系统,在设计之前必须对其进行足够的测试与优化,来保证系统能够在不同设备上稳定运行并提供良好的用户体验。考虑以下因素:
技术栈选择:Spring Boot框架作为后端技术,Vue作为前端技术,Java语言作为开发语言,MySQL作为数据库,Navicat作为数据库工具。
开发团队技能: 评估开发团队的技能水平,确保团队能够熟练使用选择的技术栈。
第三方集成:考虑是否有必要集成其他第三方服务或工具,以满足系统功能需求。
3.1.2 经济可行性
经济可行性强调系统开发过程需严格控制在预算范围内,确保各项费用均有详尽、明确的文档记录。所开发系统应具备广阔的市场前景和显著优势,以实现经济效益最大化。
在这一阶段,需要考虑以下方面:项目成本预测、项目收益预测和投资回报率分析,基于Android的家庭理财APP的设计与实现具有较高的经济可行性。
3.1.3 法律可行性
法律可行性确保项目的实施不会违反任何法规或法律。关注的方面包括:
知识产权:确保项目中使用的所有技术和工具都是合法的,并没有侵犯任何知识产权。
合规性:确保项目遵循相关的数据保护、隐私和其他法规,特别是在房地产销售领域。
3.1.4 运营可行性
运营可行性考虑项目在实际运营中的可行性和可持续性。关键考虑因素包括:
系统维护:评估系统的维护需求,确保团队能够及时供给支持和维护。
培训需求:估算培训团队和最终用户所需的培训成本,以此来得到经济上的最大发挥使得系统尽善尽美。
系统性能:进行性能测试,确保系统在不同负载下能够稳定运行。
对这些方面的综合分析,可以全面评估基于Android的家庭理财APP的系统的可行性,为项目的顺利实施提供基础。
3.2 需求分析
用户:
(1)登录注册:在系统界面注册账户才可登录到系统内部;
(2)家庭成员:进入系统后可添加家庭成员;
(3)理财项目:可在界面内输入、查看理财项目;
(4)理财信息:可在项目内查看理财信息;
(5)银行信息:可在系统内输入、查看银行信息;
(6)收入信息:可在系统内输入收入项目,查看收入信息;
(7)支出信息:可在系统内输入支出项目,查看支出信息;
(8)借出信息:可输入、查看借出信息;
(9)投资收益:查看投资收益;
(10)统计报表:理财一段时间后可统计报表进行核对;
(11)理财资讯:在系统内查看理财资讯;
(12)公告信息:在系统内查看理财公告信息;
管理员:
(1)家庭成员管理:可以查看、审核家庭成员信息;
(2)理财项目管理:可以对理财项目进行添加修改删除;
(3)理财信息管理:对理财信息的修改及更新内容;
(4)银行信息管理:对银行进行添加、修改、删除、查看等功能;
(5)统计报表管理:对用户理财信息进行实时统计数据;
(6)理财资讯管理:管理员可以在此发布修改删除理财信息咨询;
(7)公告信息管理:管理员可以在此发布修改删除公告信息;
3.2.1 功能需求分析
图3.1 用户用例图
图3.2 管理员用例图
3.2.2非功能性需求分析
除了功能性需求外,鉴于此系统需要存储丰富的数据信息和用户个人数据,设计了非常严密保护的系统。进而确保数据的安全与隐私。以免造成数据信息的更改、添加或删除,进而造成系统的崩溃,从而大大提高了系统的安全性,保证系统的正常运行。 这些非功能性需求关注系统的性能、安全性、可维护性等方面。性能需求:响应时间:系统应保持快速响应,特别是在用户账单录入和数据分析等频繁操作时。安全性需求:用户认证与授权:用户登录应有关于身份的安全验证,确保登录的是合法用户。可维护性需求:模块化设计:系统的设计应该采用模块化结构,便于维护和扩展。良好的文档:提供详细的开发文档和用户手册,以帮助开发人员和用户更好地理解系统。可用性需求:操作流畅性:用户在进行账单录入、数据查询等操作时,系统应保持操作的流畅性,避免卡顿和延迟。
3.3 业务流程分析
用户需要在手机端下载并安装家庭理财APP,并注册一个新的账号。登录家庭理财APP后,系统会要求用户输入家庭成员的信息,包括姓名、年龄、职业等。用户可以添加多个家庭成员的信息,并为每个成员设置不同的权限,以便进行家庭理财的操办。进入家庭理财的主界面会显示家庭的总资产、总负债、等信息。用户可以通过该界面查看家庭的财务状况,快速了解家庭的资金情况。
在家庭理财APP中,用户可以填写家庭的每日的经济状况。可以选择消费或收入的项目或类型然后输入金额。后台会记录和分类用户的收入和支出,以便用户进行日常的财务分析和预算。此外,家庭理财APP还提供了一些其他的功能模块,用户可以根据自己的需求,设置家庭的预算,并通过账单管理模块查看家庭的账单明细。
图3.3 业务流程图