基于springboot的家庭理财管理系统的开发与实现

news2024/12/28 3:43:32

摘 要

在这科技不断的进步,让我们的生活改变了很多,信息技术的迅速发展,使各种行业在信息技术应用方面变得非常普遍。信息时代的到来,已成为一种必然趋势。本系统的标题是基于B/S模式的家庭理财系统的设计开发,其目的是通过家庭理财系统,使家庭理财方面管理的工作系统化、规范化、自动化,从而达到提高家庭理财管理效率有效地记录和管理家庭的收支情况,成为家庭理财管理的好帮手。管理员通过本系统可以进行用户注册、权限管理、角色管理,用户可以进行在科目、收入、支付与统计等。
本系统采用了Browser/Server体系结构,采用springboot程序设计语言及MYSQL数据库进行开发;论文首先阐述了基于B/S模式下家庭理财系统的开发,并对该系统进行了较详细的需求分析,然后详细探讨了家庭理财系统的功能需求、业务流程、系统功能和系统设计等方面的问题。望能利用先进的计算机技术和网络技术来改变目前的家庭理财的状况和提高信息管理、服务水平,在市场经济的进一步发展中健康稳定发展,使之更加系统化体系化、标准化、自动化,具有优良的可用性、可靠性和安全性。

[关键词] 家庭理财记账系统;springboot;MySQL

The Design and Implementation of Family Management System Based on the springboot
[Abstract] With the rapid development of computer technology, computer application quickly got popular in daily management, the use of computers for family daily financial management is an effective and efficient way. This topic is based on the current situation of the family finances, analog family to manage finance, develop a family financial management system, make it have practical value. Through family financial management system, the family financial management work systematic, standardization, automation, so as to achieve the aim of improving the efficiency of family financial management, effectively balance of the records, and the management of family, becomes the good assistant of the family financial management. Family financial management system is a necessary part of a family in the future, its content is very important for managers of family, it can greatly save our time.
Family financial management system of the system design is based on springboot technology, use the MySQL database, it has a flexible integration development strategy, the successful completion of the overall design of the whole system. Family financial management system, using a simple interface, easy operation, flexible, practical, effective, simplifies the process of family financial management system, greatly improve the efficiency of the family financial management system, make it more systemization, standardization and the automation, good usability, reliability and security.

[Key words] Family financial management system;springboot;MySQL

目 录

1 引言 1
1.1 课题研究背景及目的 1
1.2 课题研究现状 1
1.3 本课题主要工作 1
1.4 系统的特点和优点 2
1.5 系统存在的不足 2
2 系统相关技术 3
2.1 springboot简介 3
2.2 MySQL数据库简介 5
2.3 B/S结构 6
2.4 Tomcat 6
2.5 SSM 7
3 系统需求分析 8
3.1 系统总体目标 8
3.2 系统可行性分析 8
3.3.系统安全性 9
3.4数据完整性 9
3.5系统非功能需求分析 9
3.6 系统开发环境与开发工具 9
4 系统设计与实现 11
4.1 设计目标与原则 11
4.2 系统架构设计 11
4.3 数据库设计 13
4.3.1 数据库的选定 13
4.3.2 数据库概念模型设计 14
4.3.3 数据库逻辑设计 16
5 系统详细设计与实现 19
5.1 系统登录实现 19
5.2 用户理财模块实现 19
5.3 用户模块实现 20
6 系统测试 24
6.1 功能测试 24
6.2 安全测试 25
6.3 可用性测试 25
6.4 性能测试 25
6.5 测试结果分析 26
结 论 27
致 谢 28
参考文献 29

1 引言

1.1 课题研究背景及目的
随着家庭经济财务收支的规模逐渐加大,家庭理财理念与意识急剧增加,有关家庭理财的各种信息也成倍增长。面对庞大的信息量,有必要开发家庭理财记账系统来提高家庭收支管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。家庭理财记账系统能为家庭收支提供一个专业管理家庭收支理财的模式。系统的目标是,以规范的内部业务流程为基础,建立一种用户同信息系统之间的关系,建立和维护一个高质量的物流管理信息系统。
理财管理对每一个家庭和每一个人理财都是一件急需提升且重要的工作,理财管理的好,可以准确地反映家庭收支经营成果和业绩。本论文所设计的“家庭理财记账系统”是为方便家庭收支对家庭理财的管理而开发的,包括收支管理,债务管理,系统管理,投资管理,计算器,网络检索等功能。
1.2 课题研究现状
有很多家庭不会理财,甚至不去理财,这样造成了财富的不合理运用,或者浪费直接导致更深层次的家庭矛盾;而有的家庭善于理财,对自己的收入和支出都一清二楚。对于前者,应用家庭理财系统可以让他们清楚地看到自己的财富,了解自己的负债,从而做出合理的规划;对于后者,应用家庭理财系统可以使他们放弃传统的纸张记账方法,只需点击鼠标,键盘输入,就可一目了然,非常方便。
当前,现有的家庭理财系统由于计算机系统程度较低,控制手段单一。仅凭手工录入家庭理财资料完成理财信息电子化的转换,无法提供相关的统计,查询功能,造成理财信息资源的闲置。为适应管理的需要,就开发统一的,现代化的小型家庭理财系统,完成家庭理财信息的撤消,变更和信息提取的全程自动化处理,形成资源共享,信息互动的格局。
随着软件产业的逐渐进步,市面上也存在着较多家庭理财系统,实现着非常多不同的功能,但从方便、实用、美观、高效的角度来看,都有着或多或少的缺点。有的系统项目太多,不适合普通家庭使用;有的系统功能太过繁杂,对于计算机入门级的用户来说,操作颇为困难。因此,开发一个更适合于广大普通家庭的家庭理财系统,就成为设计的总体目标。
1.3 本课题主要工作
在本文中,基于开发面向对象软件的过程中,对系统的需求分析以及具体实施过程都进行了较为完善的介绍,在本文中本人的具体工作如下:
1.对系统进行需求分析。对家庭理财记账系统的需求进行分析以了解系统的基本特征和想要实现 目标,并且对系统用户的特性进行分析,并分析业务流程以及梳理系统非功能性需求和功能需求。
2.选择良好的技术解决方案。搭建一个系统快速开发平台,并对系统进行实施所涉及到的关键技术研究。根据实快速、开放以及开源的原则,设计出既能够保证需求,而且开放源代码的以及可扩展的架构体系。
3.系统的设计和实施。
4.测试系统。在本文中,对系统的详细测试过程进行了介绍。
1.4 系统的特点和优点
本系统设计时借鉴了国内外优秀理财系统的优点,从界面到系统设计都保证了用户管理方便操作,于此同时还兼顾了管理员的管理[3]。系统的主要特点和优点归纳如下:
(1) 本系统移置性和针对性都非常高,因为针对性高可以提供更快的服务而移置性可以在多个系统间运行,更给客户带来了极大的方便。
(3) 该系统的信息管理内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因客户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都 可以很好的进行操作。
1.5 系统存在的不足
本系统应为时间仓促造成了很多的不足,下面我来一一的进行陈述并在日后得到更好的改进方案:
首先界面并不够美观,不能更好的吸引顾客,所以在今后的日子里我会对其视觉上的不足作出修改,其次系统的代码和数据库出现了非常多的冗余现象,都是因为对编程技术的应用不够熟练,在日后我会加强自己的自身学习和能力,减少这样的冗余现象。

2 系统相关技术

2.1 springboot简介
Java服务器页面或只是一个springboot来创建基于生产技术,它提供了一个简单的动态网站的动态网页,Sun开发的Java编程语言,并为开发人员提供一个服务器端框架,环境和开发一个灵活的集成的HTML,XML,Java语言和其他脚本语言,使用,速度非常快,特别是在当前业务系统创建和维护动态网页。作为JavaTM技术的一部分,基于springboot的快速Web服务器和应用服务器环境,开发平台独立的应用程序,并与兼容,但也很强。此外,该系统用户界面的springboot内容不改变的动态内容的主要思想,使网页设计人员改变位置瓜分走了。
这种跨平台的已经包含在当前的环境下,功能和大多数的Web服务器的配置加上比较ASP的语法简单易学,但它甚至写在ASP技术的网络安全技术,除了方法。因此,我将很快取代商业用地内现有的网络编辑技术被认为有可能成为新的标准。在本节中,我们为您提供更多地了解这项新技术和springboot技术的特点进行讨论。
与其他数据库管理系统,JAVA SERVER PAGE普通用户,诚信经营,工具使用,易于扩展,并进行比较。
1.普通用户
不用说,许多的数据库工具如JAVA的服务器的开发者。这种传统的Xbase数据库概念,并适用于传统的利用其庞大的用户数量。这是一个不太苛刻的环境中,输入,和容易学习的用户可以容易地安装和易于操作。
2.诚信活动
几个版本后跳的更传统的数据库的Xbase Java服务器家居质量的提高。数据管理,这基本上是一个SQL数据库(例如,视图,钥匙,关系,触发器,存储过程等)是合适的,它是数据库组件,以及各种图形设计魔术数据库设计,智能设计过程。利用的一个数据库程序设计语言及其独特的设计,各种可视化工具和独立调试工具提供用户界面和数据库查询将媒体的主要形式。 Java服务器家庭用户提供更全面的数据库,所有的信息,以便能够完成所有的应用程序的开发正在试图做的是不依赖于任何其他的软件工具。
3.轻松简单的方式
各种软件工具访问的数据库要充分考虑这一目标的特点是协调用于开发人员的支持工作,为什么Java服务器页。窗口图形,巧妙的设计为基础,基于Windows的参数,总JAVA SERVER PAGE套件是一种普遍现象。
面向对象的数据库功能Java服务器页面结构和应用程序开发和设计是一个强大的媒介。此信息是否被组织和整合的关系数据库系统,或一个全功能的数据管理应用程序的最终用户运行到写数据的请求时,软件或设备将是必要的管理数据库中的一个可开发在Java服务器页援助提供的。 Java服务器网页速度,力量和灵活性是一个通用的数据库管理系统,使我们在这个新时代的Xbase,是不恰当的。
关于该项目的事实,我们可以更好地控制源代码管理产品都可以使用,但在“项目管理器”组件被看见。数据库容器到几个用户同时允许一个创建和修改数据库对象。 “数据库设计器”能够迅速改变对象的外观投入使用。
我们管理的应用程序和风暴的中心之一,“项目管理器”中即可使用;访问所有的向导和工具,工具栏和其他易于使用的工具。这是集中式管理环境。
工具栏可以改变自己,Java服务器页面系统,并且可以自定义编写的应用程序的按钮,方便快捷,灵活的应用程序开发。
Java服务器页面新建“应用程序向导”的ProjectHook升级范围内拥有我们的软件能够更有效地使用提供了添加新的东西。 springboot6.0容易使有效使用的功能增加了一些功能,改善发展环境。
Java服务器尽快页来开发应用程序,以帮助他们更并建立更好的工具和设计,并集。
Java服务器页面调试更容易,而且我们可以监视应用程序组件:高管事件和录制工具将检查在Visual C ++环境下的代码和调试是在看这个钻探计划和使用非常相似,指定的属性看的价值,对象或数组元素值和互信息,该代码将被显示在外部,并且可以输出可以很容易的应用程序窗口中的另一个窗口的结果,程序,并运行该应用程序的代码可用于分析或实际的项目。
软件组件来创建多个对象的编程接口软件和组件收集,他们是一个独特的Java服务器页面显示了如何使用现实生活中解决问题的能力。程序直接取样部件和它们的代码可被使用。
⑴真正的面向对象的编程
JAVA SERVER PAGE标准的面向过程的编程方法的支持,但最重要的是提供一个真正的面向对象编程的能力。 Java服务器页面对象模型,你可以找到完整的继承,封装,多态,并且可以在面向对象的编程功能使用的所有子类。
⑵使用该技术Rushmore优化的应用
拉什莫尔,秒,小时,分钟和查询响应时间可显著通过搜索技术降低可以提高表设置和岗位的速度是一个快速的方法可供选择。
⑶您可以与开发商合作
如果有几个开发人员创建软件和数据库组件,您可以使用的能力,同时使Java服务器页。此外,控制和保护的源代码修改,并且你“,项目经理”是指可用于源代码管理软件。
⑷充分利用信息
如果你有以前版本的文件,Java服务器不仅仅是Java服务器页面转换盒将被打开。使用Java服务器页面的数据,如Microsoft Word和Excel是不是电子表格或文本文件,如其它来源的信息,Java服务器形式可以实现信息共享,可以很容易地转移。
⑸待开发和增强的客户机/服务器的性能的多语言编程的客户机/服务器的解决方案
Java服务器是在英语,冰岛语,日语,韩语,中国传统和简体中国字符集语言,并在国际软件开发支持,支持多个领域。
2.2 MySQL数据库简介
数据库使用的是mysql开源数据库。
数据库就好像从一个大型超市,从不同型号,品种选取,这个大型超市就是这个 sql。比如你一个大型超市里面有满目琳琅的东西,可是你买东西的时候只需要看下标注就知道是那个区域,然后再去找你想要的第几层的货架上然后再找到你想要的家庭账户的具体的东西,而数据库也是同样的道理,它规划的很清晰,你只需要找到你那个数据库下的那个表然后用直接把表展开,然后右键编辑两百行就可以,看到你需要的内容数据,当然有时候你的系统可能数据表非常多成百上千上万,数据库有一个直接新建查询语句,你直接写下脚本就按下执行就可以,比如查找你直接写查找语句select 表名 from 表名 where 需要的条件,就能非常快速的查找到了着也是数据库非常便捷的地方。
数据库mysql有非常好的可伸缩性,还有管理型能和数据仓库成功的建立都是非常好的性能。
在安装数据库的时候要根据自己的电脑配置进行安装,安装相应的布置,不然很容易出错,数据库的安装一出错就。最经常出现的如下图2-1安装完成并且失败的情况。
在这里插入图片描述

图2-1安装完成并且失败
出现这情况的时候我第一个想法是查找百度是什么情况,
1.管理工具—服务里面停止Mysql服务。
2.控制面板—卸载Mysql,删除C:\Program Files\MySQL目录.
3.这是最关键一步,只做前面两步,密码还是修改不了,因为MySQL 还有文件,也就是在C:\Documents and Settings\All Users\Application Data(Application Data为隐藏文件夹)里面的MySQL文件夹,这个文件没有清除是MySQL重装出现旧密码的根源所在。于是删除MySQL文件夹。
4.检查C:\WINDOWS目录下是否有my.ini文件,将其删除
5.注册表里的HEKY_LOCAL_MACHINE,SOFTWARE,MYSQL删除
2.3 B/S结构
本系B/S架构是基于互联网系统的程序开发架构的一种,是目前在程序开发中采用非常广泛的一种程序结构。目前B/S架构已经被很多的程序开发人员所热衷,并且非常厉害的是B/S架构打破了C/S结构的模式,给基于网络模式的程序系统提供了良好的支持。B/S架构伴随着互联网络技术发展而逐步的发展和更新。伴随着互联网的进一步发展,就要求大多数的信息管理系统要求不仅仅可以在一台电脑上使用,同时可以在接入互联网的其他电脑也可以使用对系统进行操作和使用。在这样的背景下基于B/S架构的程序设计方法得到了越来越广泛的使用,基础部分也在不断的更新。
B/S架构是利用操作系统中的浏览器来进行使用的,不是一种窗体程序,不需要在使用系统的电脑上进行安装。B/S架构的运行方式是在远程的服务器上把开发的软件系统部署在远程的服务器上,在部署好程序之后就可以实现在任何接入互联网的电脑上访问部署好的程序系统。B/S架构给使用管理系统的用户带来极大的便利。
三个层次的划分是一个合乎逻辑的起点,具体的物理方法可以结合多种方式。以中间件为基础,建立了三层体系结构的系统。它们是彼此独立的,互不影响。如图2-1所示。
在这里插入图片描述

图2-1 三级结构组成

2.4 Tomcat
Tomcat是一款免费的,开源的应用服务器。而这个应用服务器,现在已经成为世界上应用最广的应用服务器,没有之一。Tomcat是一个轻量级的应用服务器。现在非常多的中小企业会使用这个应用服务器。很多企业会把这个应用服务器作为开发和调试java web应用的首选。我是这样理解tomcat的。当在一个服务器上部署好了tomcat服务器,可以理解为在一台电脑上部署好tomcat环境后。我们可以利用它来响应一个http请求。这个请求可以是get,post请求。当配置正确的时候,其实我们运行的是一个servlet。Tomcat可以说是一个servlet的容器。这个容器提供给我们的是一个servlet接口。我们平常在写代码的时候,只要实现这个接口。Tomcat容器就会自动把我们做好底层的一些工作。而我们只需要做的事情是处理业务。比如说,收到请求后,做的一些事情。Tomcat之所以很受大家的欢迎,主要的原因在于tomcat运行的时候,它占用很少的系统内存。这个对于一台服务器来说这个是至关重要的。Tomcat的扩展性非常强。
说一下tomcat的历史吧。Tomcat这个伟大的软件最早的时候是由sun公司的一个厉害的软件工程师设计的。看到这里,就不由感叹。Sun公司真的是一家伟大的公司。这家公司创建了世界上最流行的java语言。也创造出了世界最流行的应用服务器。后面,sun公司把这个项目给了apache。
2.5 SSM
SSM作为Spring+SpringMVC+MyBatis的一个集成框架,是目前较广泛使用的一种Web应用程序开源框架。集成SSM框架的系统从职责上可分为四层:表示层、业务逻辑层、数据持久层和域模块层,此框架可让开发人员在短期内搭建Web应用程序。使用Spring作为系统的整体最底层基础框架并且负责MVC的分离,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Spring和MyBatis。Spring是个表示层框架,负责界面展示,接收请求,分发请求MyBatis是个持久层框架,负责与数据库的交互。Spring是一个业务层框架,也是一个整合框架,管理struts和MyBatis。用Spring提供的IOC容器就可以把对象之间的依赖关让Spring进行控制从而避免硬编码所造成的过度程序耦合。WEB应用中,MyBatis多数情况下会用在个人小项目中。而在小,中型项目也会应用MyBatis(一般的小企业级的项目数据库设计都严格按照范式进行),但大型企业级项目则一般不采用MyBatis,这又涉及到另外一个问题,大型的企业级项目数据模型可能有几百上千个他们间关系错宗复杂,要修改某个模型影响巨大非常之痛苦,所以大型企业级项目多数采用MDA(Model-driven architecture)的方式统一抽象模型层,他们用统一的接口进行数据查询。

3 系统需求分析

3.1 系统总体目标
(1)数据共享
推进家庭理财记账系统的数据校验和数据共享规范化和制度化建设,对家庭理财记账系统数据查询的精度和效率进行提升。
(2)实现了家庭理财记账系统业务的各种功能
系统后台主要实现了成员管理功能,系统前台则主要实现了科目管理、收入、支出理财管理、收/支信息统计管理等功能模块。
(3)在业务流程的家庭理财记账系统规范
实现对家庭理财记账系统业务的全面、规范、科学、系统的管理;提高工作效率和管理水平,对家庭理财记账系统中所涉及到的不足进行弥补。
(4)实行现代化的管理手段
该系统应具有界面清晰,操作简便;不同系统的用户应该有不同的操作权限;该系统必须有一个数据库备份和恢复功能,提高了数据的安全性。该系统应该是基于网络的系统,只需要有一台能够联网的设备就可以实现对网站的管理。
3.2 系统可行性分析
本节通过对软件实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从时间可行性、经济可行性、运行可行性和法律可行性等方面进行分析。
技术经济可行性
不需要花费什么成本,开发系统的软件都是可以百度上搜索下载下来。自己安装好就可以用了。不需要任何费用。做家庭理财记账系统也是自己参考资料和导师的指导下完成的。需要花费的只是时间。
管理可行性
现在社会高速发展,教学越来越呈现普及现象,同时也会有计算机的教学,正常用户都会拥有电脑的知识,对电脑的操作都有一定的基础,只需要配备相应的指导手册就可以来自己进行维护电脑。
开发环境可行性
由于环境搭建成功,本系统采用的架构师B/S模式,本电脑的配置是window7 ,硬盘大小是500G,运行内存才4G.的配置,这也是现在这个年代电脑最基本的配置了,电脑配置能够支持开发软件的正常运行,系统又是比较简单的家庭理财记账系统,需要消耗所需要的资源又比较少,电脑不论是硬件还是软件都能满足条件。所以本家庭理财记账系统完全是可行的。

综合以上三点可行性分析,家庭理财记账系统的开发是可行的。
3.3.系统安全性
本系统的springboot的家庭理财记账系统要严格控制管理权限,具体要求如下:
1、要想对springboot的家庭理财记账系统的信息进行管理,首先要依靠账号和密码在系统中登陆,无权限的用户不可以通过任何方式登录系统和对系统的任何信息和数据进行操作,这样可以保证系统的安全可靠性和准确性。
2、在具体实现中对不同的权限进行设定,不同权限的用户在系统中登陆后,不可以越级操作,只有系统管理员能够使用全部模块
3.4数据完整性
1、所有记录信息要保持全面,信息记录内容不可以是空。
2、各种数据间相互联系要保持正确。
3、相同数据在不同记录中要保持一致。

3.5系统非功能需求分析
(1)硬件要求
本系统对硬件要求不高,只需要当前主流计算机配置,并且可保证十年不再更新硬件配置。
(2)完整性需求
本系统要求系统各项内容进行业务层面必填与非必填的相关校验,从业务逻辑层面管控保证所有数据一致性与完整性且各个表单间关联数据逻辑,从数据库表约束设计做到第二层次完整性校验;
(3)灵活性要求
系统模块间对表单间字段对数据精确度达到一定要求,对于该是浮点型数据,其精确至小数点后2位,超过两位进行四舍五入处理。跨平台要求:本系统可以运行于Linux操作系统的环境下,数据库可运行于微软操作系统环境下。
支持软件:适应IE和GOOGLE。
接口:可配置的接口管理。可与专业的第三方系统合理的接口,在任何第三方接口系统时,仍可自行管理运行。
3.6 系统开发环境与开发工具
系统开发环境主要从开发平台、开发语言、所使用的数据库软件、设计工具以及辅助工具等几个方面来介绍。
开发平台:Myeclipse 9.0
开发语言:springboot
数据库软件:MySQL
设计工具:Rational Rose 2007、PowerDesigner
辅助工具:PL/SQL Developer
4 系统设计与实现
在设计系统之初就要站在客户的立场并且保证系统可在十年甚至二十年后还可完美运行不用做任何系统升级,让产品能够随着时代的发展与进步而不被淘汰反而还能顺应广大用户的需求;同时也是为了本系统开发人员自身发展埋下伏笔。这一章节将着重介绍对于体系的易用、好用结构框架设计上的描述,以详细的阐述每一个数据库的实体框架结构。

4.1 设计目标与原则

系统的架构设计,要能够反映出整个系统模块偶合度与紧密性,才能够保障在后期系统在真正实现的时候数据的扩展性和安全性,只有设计出的系统实现这个目标才能有一个更好的扩展空间量,以适应企业未来的发展。
1.整个系统的设计中,系统必须满足以下要求:
(1)数据安全性
存储有关隐私权的家庭理财记账系统问题的系统数据,需要确保数据的安全性,在网站设计时必须要采取安全防范措施,以解决潜在的安全问题。
(2)易用性
各个界面采用统一界面风格就可完成相关业务流程操作,大大提高操作用户的工作效率和易用性,达到灵活应用本系统。
(3)柔软性
由于这个家庭理财记账系统涉及到范围广泛的业务,设计出的系统必须能够处理接受业务变化的能力,以最小的程序改动量来接受业务的变更。
(4)扩展性
随着家庭理财记账系统业务管理需求的不断变化,家庭理财记账系统将涉及到业务更新及扩展,这就要求在设计之初就应该考虑良好的可扩展性方案。
4.2 系统架构设计
系统架构的整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。它具体的工作步骤是:
1)将系统进行WBS工作分解
2)对各个子模块的功能进行预演练设计
3)对各个子模块之间的数据关联进行设计
4)对各个模块与模块间信息传递进行设计
在整个设计过程,以确定可能的具体方案达成每一个最细的工作量清单,对于每一个最小的工作,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统框架。
经过需求分析之后,进入总体设计阶段,总体设计又称概要设计或初步设计,根据需求分析阶段的工作,从数据流图得出可行方案,同时确定系统中每个程序由哪些模块组成及其相互关系。
所谓的系统功能框架图就是把这个系统的基本功能进行详细的WBS分解,依照功能关联关系表示的各种图表。而管理信息系统的各个子系统是可以看作是系统目标下层的基本功能,而对里面的每项功能还能够继续的分成为第三层跟第四层……或者是更多的系统功能。
依照系统功能的从属关系我们可以画出的一款图表,这就是系统的功能结构图,功能模块由图中的一个个系统框组成。而功能模块是可以依照具体情况来分的大一点或者是小一点,在分解得最小的功能模块能够是在一个系统程序中的每个处理的过程,但是较大的系统功能模块也可能是完成某一个任务的一组系统程序。
4.3 数据库设计
4.3.1 数据库的选定
目前主流的大型数据库的Oracle,SQL服务器,MySQL和Access等系统是一个相对较小的系统,因此选择了MySQL的。 MySQL是一个关系数据库中,关系型数据库引擎进行数据和结构数据,以提供更安全可靠的存储功能。 MySQL来微软的Visual Studio,Microsoft Office系统和新的开发工具包(包括商业智能开发套件),可以有效地整合。
数据库在一个大部门系统中占有非常举足轻重的地位,数据结构设计[5]的好坏将直接影响到系统运行的速度、功能的扩展和最终使用效果。要提高存储的效率就需要合理的数据结构设计并且保证资料的完整和一致,同时也有利于应用系统的设计。所以对于本系统的数据,我们应考虑到以下几点:
(1)数据库管理
数据库管理分为数据的备份与恢复两个模块。数据的备份是为了保证我们的数据的完整性,避免数据丢失造成的损失。数据的恢复是我们在操作过程中可能出现错误的操作,或是其他原因引起数据的破坏或是丢失。数据的备份和数据的恢复是保证数据的安全和完整性。
(2)数据的备份
数据备份是为了当因为出现系统操作失误、系统故障等问题而导致数据丢失的情况发生时,能够把部分甚至全部数据集合从应用主机的硬盘、阵列复制到其它的存储介质从而避免数据丢失。
(3)数据的恢复
现实中很多人不知道删除、格式化、丢失等硬盘操作丢失的数据可以采用相关操作进行恢复,以为删除、格式化、丢失以后数据就不存在了。事实上,上述简单操作后数据仍然存在于硬盘中,懂得数据恢复原理知识的人只需几下便可将消失的数据找回来。
4.3.2 数据库概念模型设计
数据库概念模型即系统的实体—关系模型。根据具体的功能需求,对本系统的E-R图进行细化从而得到几种实体-关系模型,以下为部分实体-关系模型。

4.3.3 数据库逻辑设计
文本数据的详细设计主要是对表的名称,还有对表对应字段的详细设计描述。个过程中我们一定要对数据库系统的处理过程进行非常详细的算法设计,并且还得要对数据库逻辑结构跟物理结构详细进行非常详细的设计。
成员信息表如表4-1所示。

5 系统详细设计与实现

根本目标是确定应该具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以对这个描述直接翻译成用某种程序设计语言书写的程序。
5.1 系统登录实现
系统登录界面效果如图5-1所示。
输入用户与密码点击登陆或可点击注册进行帐号注册。

在这里插入图片描述

	图5-1 系统登录界面效果图

5.2 家庭账户信息管理模块
家庭账户信息管理是可以进行添加家庭账户信息操作。在文本框输入所要添加的家庭账户信息名称,然后提交即可,输入错误可以点击重置按钮对文本框重置。图5.3是添加家庭账户信息界面。
在这里插入图片描述

图5.3 添加家庭账户信息界面
查询所有家庭账户信息列表,查询家庭账户信息,可以对列表中家庭账户信息进行修改、删除等操作。图5.4是查询家庭账户信息界面。
在这里插入图片描述

图5.4 查询家庭账户信息界面
5.5收入分类管理模块
收入分类管理是可以进行添加收入分类操作。添加收入分类时,需要设置收入分类订单基本信息,然后提交即可,输入错误可以点击重置按钮对文本框重置。图5.7是添加收入分类界面。
在这里插入图片描述

图5.8添加收入分类界面
查询所有收入分类列表,查询收入分类,并对收入分类进行修改,可以对列表中收入分类进行删除。图5.8是收入分类查询界面。
在这里插入图片描述

图5.8查询收入分类界面
5.6家庭收入管理模块
家庭收入管理是可以列表中进行添加家庭收入操作。添加家庭收入时,需要设置收入分类家庭收入基本信息,然后提交即可,输入错误可以点击重置按钮对文本框重置。图5.9是添加家庭收入界面。
在这里插入图片描述

图5.9添加家庭收入界面
查询所有家庭收入列表,查询家庭收入,并对家庭收入信息进行修改,可以对列表中家庭收入进行删除。图5.10是查询家庭收入界面。
在这里插入图片描述
图5.10查询家庭收入界面
5.7家庭支出理模块
家庭支出是可以列表中进行添加家庭支出信息操作。添加家庭支出信息时,需要设置家庭支出基本信息,然后提交即可,输入错误可以点击重置按钮对文本框重置。图5.11是添加家庭支出信息界面。

在这里插入图片描述
图5.11 添加家庭支出信息界面
查询所有家庭支出信息列表,查询家庭支出信息,并对家庭支出信息进行修改,可以对列
表中家庭支出信息进行删除。图5.12是查询家庭支出信息界面。
在这里插入图片描述
图5.12查询家庭支出信息界面

6 系统测试

在我们设计软件的过程中,测试系统常用的测试方法主要有两种:功能测试和结构测试。
功能测试也被叫做黑盒测试和数据驱动测试,是在已经知道系统应该具有的具体功能的情况下,通过黑盒测试来测试系统功能是不是能够正常运行。在测试时,将系统当做不能打开的盒子,在不管系统内部结构与特性的状况下进行测试,它只检查系统功能是不是根据系统说明书的规定正常运行的,同时检测系统是否能正确接收的输入信息和输出信息的正确对应,并保持系统的完整性的外部信息需求。
白盒测试与黑盒测试相反,它了解系统内部工作的各项具体程序,能够通过测试来检查系统内部的运行是不是按照系统说明书的规定进行正常运作的,因此,白盒测试又被叫做结构测试和逻辑驱动测试。根据测试程序的结构在每个道路试验,当系统运行时不是能按预定要求正确运行,无论其功能如,白盒测试试验,道路试验是一个逻辑驱动器,这种测试主要用来软件测验。
软件测试工作必须要通过制定测试计划、设计测试、实施测试、执行测试、评估测试五个阶段完成。设计测试的目的是确定、描述和生成测试过程和测试用例。实施测试的目的是实施设计测试中定义的测试过程。测试的目的是实施和测试过程定义的设计实现。测试的目的是确保由运行意图建立系统的实现。
系统测试一般有以下几种:功能测试,性能测试,恢复测试,安全性测试,强度测试。功能测试系统的输入,处理,输出,以满足需求。性能测试主要是测试安装在系统软件的性能。恢复测试是通过人工手段,软件错误,并测试系统恢复能力。强度测试则是检验系统的能力最强能够达到怎样的限度。
系统测试是软件设计的最后一道工序,也是非常重要的一步。用于检查软件的质量、性能、可靠性等是否符合用户需求。一套严谨的、规范的、完善的测试过程将大大提高软件的质量、可信度、可靠性,降低软件的出错率,降低用户风险系数。通常系统测试包括:功能测试,安全测试,可用性测试,性能测试、兼容性测试等方面。
6.1 功能测试
功能测试主要包括五项内容:准确性、适用性、可操作性、依从性、安全性。
本系统功能测试如表6-1所示:
表6-1 系统功能测试
测试内容 测试结果
适用性 好
准确性 好
可操作性 好
依从性 好
安全性 好

6.2 安全测试
安全测试用于检测系统防范各种非法入侵的能力。通过测试人员通过设计测试用例扮演非法入侵者,检查出系统可能存在的安全漏洞,提高系统安全防范等级。本系统安全测试主要从以下几点完成:
1)系统管理权限安全测试。通过使用管理员级进行系统操作,没发现有任何越权或权限混乱现象。
3)系统数据安全性。本系统对所有账号、密码数据都进行加密处理。对数据库进行伪文件处理(数据库文件后缀名更改成其它格式文件),且具有良好的数据库备份和恢复机制。
6.3 可用性测试
可用性测试用于检测系统的可操作性、可理解性、可学习性等方面内容。具体测试方面如表6-2所示。
表6-2 系统可用性测试
测试项 测试人员的评价
窗口移动、大小改变、关闭等操作是否正常 是
操作模块是否友好 是
模块、提示内容等文字描述是否正确 是
模块布局是否协调、合理 是
模块的状态是否正确(对选中项能否发生对应切换) 是
鼠标、键盘操作是否支持 是
所需数据项是否正确显示 是
操作流程是否合理 是
是否提供帮助信息 是
6.4 性能测试
性能测试主要通过模拟系统运行环境,测试系统性能是否符合客户需求。性能测试的重要技术指标就是:系统运行速度、网络响应时间和支持并发节点数。
1)系统运行速度:通过在不同计算机上试运行本系统,没有发现有任何迟滞、停顿现象。
2)支持并发节数:经过人工模拟环境测试,本系统在并发节点达48小时,网络运营速度会发生较大波动,延迟时间5秒左右,符合客户需求。
6.5 测试结果分析
经过对上述测试结果分析,本系统符合家庭理财记账系统的客户要求和用户需求。所有基本功能点实现,操作简单,操作流程符合业务需求,产品运行性能良好,是一款值得推广的大众化软件。

结 论

通过对家庭理财记账系统的开发,我对系统开发有一个更清楚的了解,系统的开发过程中,首先是对问题的定义,分析要求,然后功能设计,详细设计等和软件测试的方法,有了更深刻的认识,同时,对理财算法有一个系统的认识,拓宽了我的知识,我觉得收获不小。
在系统开发的早期阶段,我必须熟悉家庭理财算法,对软件编程的相关知识有一个初步的了解。从一开始的知识有一个整体设计的理解,然后从概要设计,详细设计,编码,和开始,最终的测试,感觉非常充分的整个过程中,虽然遇到了很多困难,但当我通过自己的努力去寻找各种数据或向老师对学生要求甚至对系统的设计,最终的设计方案,该系统的成功运行,那种成就感和满足感足以安慰自己的长时间以来的辛苦奋斗。
随着设计渐渐进入尾声,我所设计的家庭理财记账系统也初具规模,可是它们并不是非常完善,尽管他付出了我几乎所有心思和汗水,我还是认为它可以做的更好,因为我的大学四年的学习生涯即将结束,我更期待可以画上一个最完美的句号。在这个过程中,我学到了很多,也明白了很多,在之前的过程中,我对所学到的知识没有实践的机会,这也让我深刻的了解到实践的重要性,过程中遇到了很多的困难,在一一克服的过程中,我也得到了成长,知识和经验也得到了丰富。
在这几个月的毕业设计实习过程中,我学到了很多我们大学生在课堂上无法学到的东西,同时也明白了自己在专业知识上还有所欠缺。目前计算机仍在不断普及、应用领域也仍在迅速扩大,要跟上时代发展的脚步,就必须积极努力,不断学习实践。虽然我很快就要毕业了,但在今后的工作中,我将继续坚持,不断地学习新的知识和相关的专业知识,顺应时代潮流的必由之路。

致 谢

光阴似箭,日月如梭,大学的时光匆匆流过,临近毕业之际,这是我们需要完成的最后一份作业。通过这半年多来的努力,我的毕业论文《springboot的家庭理财记账系统》终于完成了,这意味着我大学四年的生活即将画上一个完美的句号。在本论文的写作过程中,从最初的确认课题,到最初的构想,再到最后的开发实施和修改完善,我的导师倾注了大量的心血,一遍一遍的指出该稿中的具体问题,严格把关。
卓有成效的设计作品能够完成,这与指导老师和同学的热心帮助是离不开的。而且,指导老师对待学术的严谨态度也深深的让我触动,让我懂得了在学习的道路上,只有怀有严谨态度和坚持不懈的研究精神才能取得最后的成功。最后,感谢我的同窗伙伴们,在毕业设计过程中我遇到了许多难题,有的通过自己查找书籍翻阅资料解决,有的解决不了的,多亏了同学的帮助,因为他们的帮助让我更好地解决了不少困难。至此我得以完成这份满意的毕业设计。

参考文献

[1] 李金海,张景元.Struts,Spring 和 Hibernate 的 J2EE 架构的研究和实现[J].山东理工大学学报(自然科学版)2006,(06).
[2] 明日科技. Java从入门到精通(第3版)[M]. 北京:清华大学出版社,2012.
[3] 蒋宗礼,马涛,唐好魁,闫明霞等.数据库技术及应用(第2版)[M].电子工业出版社,2010:43-65.
[4] 李兴华;Java开发实战经典 [M];北京:清华大学出版社;2009,8:30-40.
[5] 唐汉明,翟振兴,兰丽华,关宝军,申宝柱.深入浅出MySQL数据库开发、优化与管理维护[M].人民邮电出版社出版,2006-2.
[6] 李盛恩,王珊.数据库基础与应用(第二版)[M].北京:人民邮电出版社,2009:14-78.
[7] 孙卫琴:《精通Hibernate:Java对象持久化技术详解[M].电子工业出版社出版
[8] 刘瑞新,张兵义.大学计算机规划教材:MySQL数据库技术及应用教程[M].电子工业出版社,2012,8.
[9] 夏昕, 曹晓钢 , 唐勇. 深入浅出Hibernate[M].电子工业出版社, 2005-6.
[10] 张德详.J2EE架构下校园网用户管理系统的分析与部分实现[J].青岛大学学报,2010,19(4):86-89.
[11] 邬继成.J2EE 开源编程精讲15讲[M],电子工业出版社,2008.1:41-114.
[12] 王珊,萨师煊.数据库系统概论[M].高等教育出版社,2006.5:198-235.
[13] 张孝祥.深入Java Web开发内幕——核心基础[M].北京:电子工业出版社.北京.2006.10.
[14] 舒红平.Web 数据库编程-java[M],西安电子科技大学出版社,2005:97-134.
[15] Stephanie Bodoff, Dale Green, Kim Haase et al. The J2EE Tutorial[M].Addison-Wesley Professional,2003.7(02)
[16] Wendy Boggs, Michael Boggs. Mastering UML with Rational XDE [M]. Publishing House Of Electronics Industry,2003:11-56.
[17] Cay S.Horstmann,Gary Cornell著,叶乃文,邝劲筠,杜永萍.JAVA核心技术卷I:基础知识,程序设计教程[M].人民邮电出版社,2008.5:87-234.
[18] Bruce Eckel,饶若楠等译.Java 编程思想机械工业出版社[M],2005:124-234.
[19] 庞丽娜.Java 应用开发技术详解[M],科学出版社,2007:126-235.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1554873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

东特科技现已加入2024第13届国际生物发酵产品与技术装备展

参展企业介绍 温州东特科技有限公司是一家集设计、生产、销售及服务为一体的卫生级流体设备企业。专业从事各种乳食品、制药、化工、啤酒设备、不锈钢卫生级阀门,管件,视镜,及非标配件定制等产品的销售与服务。先进的设计理念专业的技术优势一…

LLM推理入门指南②:深入解析KV缓存

在本系列文章《LLM推理入门指南①:文本生成的初始化与解码阶段》中,作者对Transformer解码器的文本生成算法进行了高层次概述,着重介绍了两个阶段:单步初始化阶段,即提示的处理阶段,和逐个生成补全词元的多…

vue实现把Ox格式颜色值转换成rgb渐变颜色值(开箱即用)

图示: 核心代码: //将0x格式的颜色转换为Hex格式,并计算插值返回rgb颜色 Vue.prototype.$convertToHex function (colorCode1, colorCode2, amount) {// 确保输入是字符串,并检查是否以0x开头let newCode1 let newCode2 if (t…

python统计分析——假设概念、错误、p值和样本量

参考资料:python统计分析【托马斯】 1、例子 假设你在经营一家私立教育机构,你的合同显示:如果全国平均水平时100分时,你的学生在期末考试中得了110分,你就能获得奖金;若结果明显降低,你就会失…

听了中国电信关闭Wi-Fi双频合一功能之后,到底该连接2.4GHz还是5GHz频段?

前言 前段时间沸沸扬扬的关闭双频合一建议,小白也尝试关闭了一下,网络确实是好了不少。 有小伙伴还是有点疑虑,中国电信说的关闭Wi-Fi双频合一功能真的有用吗?点击下方蓝字一探究竟! 中国电信建议关闭路由器的双频合一…

【Go】四、包名、访问范围控制、标识符、运算符

文章目录 1、_2、包名3、命名大小影响可访问范围4、运算符5、获取终端输入 1、_ 下划线"_"本身在Go中是一个特殊的标识符,称为空标识符用于忽略某个值 1)忽略导入的没使用的包 2)忽略某个返回值 2、包名 main包是程序的入口包&a…

2024最新华为OD机试试题库全 -【两个字符串间的最短路径问题】- C卷

1. 🌈题目详情 1.1 ⚠️题目 给定两个字符串,分别为字符串 A 与字符串 B。 例如 A字符串为 “ABCABBA”,B字符串为 “CBABAC” 可以得到下图 m * n 的二维数组,定义原点为(0,0),终点为(m,n),水平与垂直的每一条边距离为1,映射成坐标系如下图。 从原点 (0,0) 到 (0,…

Matlab与数学计算

原文地址:Matlab与数学计算 - Pleasure的博客 下面是正文内容: 前言 这是一篇笔记。主要用于介绍MatLab的作用以及其作为数学工具的使用方法。 目的是总结学校课件复习自用,但是不可能像相关的书籍那么系统全面,力求简单明了。都…

VsCode正确解决vue3+Eslint+prettier+Vetur的配置冲突

手把手教你VsCode正确解决vue3EslintprettierVetur的配置冲突 VsCode正确解决vue3EslintprettierVetur的配置冲突Eslint文档查看和修改规则:step1:首先快速浏览下规则简要setp2: ctrlF 搜索你要配置规则的英文名,例如attributesetp3: 修改配置…

LeetCode 热题 100 题解(一):哈希部分

《LeetCode热题 100》 经过了两个多月,终于刷完了代码随想录的题目,现在准备开始挑战热题一百了,接下来我会将自己的题解以博客的形式同步发到力扣和 c 站,希望在接下来的征程中与大家共勉! 题组一:哈希 题…

OSCP靶场--RubyDome

OSCP靶场–RubyDome 考点(CVE-2022-25765 suid ruby提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap -Pn -sC -sV 192.168.249.22 --min-rate 2500 Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-29 00:28 EDT Nmap scan report for 192.168.249.22 Hos…

基于Spring Boot 3 + Spring Security6 + JWT + Redis实现接口资源鉴权

紧接上一篇文章,基于Spring Boot 3 Spring Security6 JWT Redis实现接口资源鉴权 系列文章指路👉 系列文章-基于SpringBoot3创建项目并配置常用的工具和一些常用的类 项目源码👉 /shijizhe/boot-test 文章目录 1. 修改 UserDetailsServic…

【解決|三方工具】Obi Rope 编辑器运行即崩溃问题

开发平台:Unity 2021.3.7 三方工具:Unity资产工具 - Obi Rope   问题背景 使用Unity三方开发工具 - Obi Rope 模拟绳索效果。配置后运行 Unity 出现报错并崩溃。通过崩溃日志反馈得到如下图所示 这是一个序列化问题造成的崩溃,指向性为 Obi…

CentOS VNC

VNC服务选择 先来说说Linux上的VNC服务端,比较常用的就是tigervnc和x11vnc。x11vnc可以让远程访问者控制本地的实际显示器,而tigervnc既可以远程控制实际显示器,还可以控制平行独立于当前物理显示器的虚拟显示器。 1、安装 tigervnc yum i…

docker--部署 (超详版) (五)

环境准备:docker,mysql,redis,镜像,nginx 把虚拟机打开,连接xshell,参考博客: https://blog.csdn.net/m0_74229802/article/details/136965820?spm1001.2014.3001.5501 一&#x…

使用anime.js实现列表滚动轮播

官网&#xff1a;https://animejs.com/ html <div id"slide1"><div class"weather-item" v-for"item in weatherList"><div><img src"../../images/hdft/position.png" alt"">{{item.body.cityInf…

SpringBoot分布式锁自定义注解处理幂等性

SpringBoot分布式锁自定义注解处理幂等性 注解简介 注解&#xff08;Annotation&#xff09;是Java SE 5.0 版本开始引入的概念&#xff0c;它是对 Java 源代码的说明&#xff0c;是一种元数据&#xff08;描述数据的数据&#xff09;。 Java中的注解主要分为以下三类: JDK…

HTML5 和 CSS3 提高

一、HTML5 的新特性 HTML5 的新增特性主要是针对于以前的不足&#xff0c;增加了一些新的标签、新的表单和新的表单属性等。这些新特性都有兼容性问题&#xff0c;基本是 IE9 以上版本的浏览器才支持&#xff0c;如果不考虑兼容性问题&#xff0c;可以大量使用这些新特性。 声明…

账号微服务短信验证码发送工具单元测试

账号微服务短信验证码发送工具单元测试 注意sms的 app-code #----------sms短信配置-------------- sms:app-code: dd7829bedfaf4373875aa91abba82523template-id: JM1000372package net.xdclass.config;import org.springframework.context.annotation.Bean; import org.spri…

人工智能|推荐系统——搜索引擎广告

原文题目 Dark sides of artificial intelligence: The dangers of automated decision-making in search engine advertising(JASIST,2023) 人工智能的阴暗面:搜索引擎广告自动决策的危险 摘要 随着人工智能应用的日益广泛,搜索引擎供应商越来越多地要求广告商使用基于机…