1基于JAVA记账系统的背景和意义

1.1 研究背景和意义

对于一个刚出校门或是刚刚工作不久的我们来说,由于我们刚步入社会,最基本的事情就是首先保证自己生存下来,合理地安排自己的消费情况, 所以,我们平时对自己的消费和收支进行一个账单记录显得尤为关键。账单记录能让我们更清楚的了解我们收支的去向,让我们能更好的把握好身上的每一分钱,然后把钱用到关键的地方,如投资,理财等。从查询课外资料来看,国外有很多账单管理的软件,而且大部分外国人对生活中的记账有着严格的把控。就国内而言,放眼望去,大部分记账软件都是着重于办公财务软件,而对于个人和家庭的小型记账系统还是比较少的,因此需要开发一款这样的系统软件,从而达到引导我们理性消费,合理分配收支。

对于记账而言呢,若我们直接像古人那样用纸和笔记录的话,那样随着我们的记录越来越多,我们的记账薄也随之越来越厚,容易造成遗失,当我们要查找某个我们想要找的记录时,我们会消耗大量的时间,这就非常麻烦。这种记账方式就显得非常冗余、笨重,因此我们需要设计一款功能完善的记账软件,用它来代替传统的手工操作。

1.2研究目标

记账理财是一个很普遍而且很广泛的概念,从理财的角度来看,个人、公司和政府部门都少不了理财活动。所以本论文介绍的就是一个人记账为主。中国也是个比较重视个人和家庭观念较国家,一个人理财就非常普遍了。

所谓个人理财从概念上讲,就是合理、有效的安排和运用我们自己的资金,让我们的消费到达最大的效应,以到达最大地限度地满足日常生活需要的目的。简单的来说,个人理财就是利用企业理财和金融方法对我们个人经济进行有效的管理和计划,增强自身的经济实力,提高个人经济的抗打击能力,增大个人效应。从另一种角度来讲,个人理财就是利用开源节流的道理,增加收入,节约支出,用合理地办法来达到我们所希望到达的经济目的。这样的目标有很多,小的如增添家电设备,外出旅游,大的有买车、买房,为自己孩子储备教育基金等等。

2国内外研究现状 

2.1国内研究现状

随着人们生活水平的提高和消费观念的转变,记账系统在国内得到了广泛的关注和应用。目前,国内的记账系统主要分为个人记账和企业记账两大类。

个人记账方面,许多互联网公司和金融机构都推出了自己的记账 APP,如随手记、挖财、鲨鱼记账等。这些 APP 通常具有简单易用、功能丰富、数据安全等特点,能够满足用户的基本记账需求。同时,一些 APP 还提供了理财规划、数据分析等增值服务,帮助用户更好地管理个人财务。

企业记账方面,传统的会计软件仍然占据着主导地位,如用友、金蝶等。这些软件功能强大,能够满足企业的复杂记账需求,但价格较高,使用门槛也较高。近年来,随着云计算和大数据技术的发展,一些新兴的企业记账软件也开始涌现,如云账房、自会计等。这些软件采用 SaaS 模式,价格相对较低,使用门槛也较低,能够满足中小企业的记账需求。

2.2国外研究现状

在国外,记账系统的发展也非常迅速。一些知名的记账软件如 Mint、YNAB、QuickBooks 等在全球范围内拥有大量的用户。这些软件通常具有以下特点:

功能强大:能够满足个人和企业的各种记账需求,包括收入支出管理、预算规划、报表分析等。

数据安全:采用了先进的加密技术和安全措施,保障用户数据的安全。

智能化:能够通过数据分析和机器学习算法,为用户提供个性化的理财建议和预算规划。

多平台支持:支持多种设备和操作系统,方便用户随时随地进行记账。

此外,国外的一些研究机构和学者也对记账系统进行了深入的研究。他们的研究方向主要包括记账系统的设计与实现、数据安全与隐私保护、智能化记账技术等。

2.3研究现状总结

综上所述,记账系统在国内外都得到了广泛的关注和研究。随着人们对财务管理的重视和科技的不断发展,记账系统的功能和性能也在不断提升。未来,记账系统将更加智能化、个性化和安全化,为用户提供更好的服务和体验。

3 软件设计的目标 

3.1功能目标

全面记账:能够准确记录收入、支出的各项详细信息,包括金额、类别、日期、备注等。

分类管理:支持多种收支分类,并可灵活自定义分类,方便用户对不同类型的收支进行统计和分析。

数据统计与分析:提供各种统计图表和报表,如月度收支报表、年度收支趋势等,帮助用户清晰了解财务状况。

预算管理:允许用户设定月度、年度等不同周期的预算,并实时跟踪预算执行情况。

数据安全:确保用户记账数据的完整性、保密性和可用性,防止数据丢失或被非法访问。

3.2用户体验目标

简洁直观的界面:设计简洁明了、易于操作的界面,让用户能够快速上手和高效使用。

便捷输入:提供快捷的记账方式,如智能输入提示、常用收支项预设等。

快速查询:支持多种条件的快速查询,便于用户随时查找特定的记账记录。

个性化设置:允许用户根据自己的需求和偏好进行个性化设置,如界面主题、提醒设置等。

3.3性能目标

响应快速:确保系统在处理记账操作、查询等任务时具有高响应速度,避免长时间等待。

稳定可靠:在长时间运行过程中保持稳定,避免出现崩溃或数据错误等问题。

可扩展性:便于后续添加新功能和模块,以适应不断变化的用户需求和业务发展。

3.4兼容性目标

跨平台:能够在不同的操作系统平台(如 Windows、Mac、Linux 等)上稳定运行。

适配多种设备:适应桌面电脑、笔记本、平板等不同类型的设备,提供一致的用户体验。

以上设计目标可以帮助打造一个功能强大、用户友好、性能卓越且具有良好扩展性的 Java 记账系统。

4 相关技术与方法

本系统主要采用JAVA编程技术和Oracle数据库,在Windows 7操作系统环境下,采用Eclipse开发工具以及Javabeans编写进行设计与开发完成的基于B/S结构的电子商务网站的设计与实现。

4.1 MVC简介:

MVC 是Modell-View-Controll的英文缩写,它是一种设计典范,把业务逻辑,数据和页面显示抽离出来的方式组织代码。

Model(模型)表示应用程序核心。

View(视图)把后台数据接收过来之后,在页面上进行渲染。

Controller(控制器)控制业务逻辑的处理。

MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

视图(View)是直接与用户交互的界面,对于Web应用来说,可以概括为HTML或者其他显示界面如XHTML、JSP、XML和Applet等。一个应用可能有很多不同的视图,涉及到多方面的显示技术,从而对于系统的维护也不单单只是对单方面技术的要求。业务流程事务的处理交予模型(Model)层处理。

模型(Model):就是业务/服务的跳转的处理以及业务规则的设定。业务流程处理对其它层(view层及control层)来说是黑箱操作,业务模型接受对应表单传递来的数据,处理之后吧就把那个结果返回回来。业务模型的设计是MVC里边最为关键的核心。最近比较常用的EJB(Enterprise java bean)模型就是一个非常经典的的应用例子,它通过从应用程序实现技术的角度出发来对软件层次做了进一步的细分,从而充分利用现有的技术资源,但它不能作为应用设计模型的框架标准。在实体对象与数据库的交互中还有一个重要的模型即数据模型。是与数据库进行直接交互的模块。我们可以将这个模块单独列出,与数据库的操作只限制在该模块中进行。

控制(Controller)的功能是接收来自客户端的请求, 将业务处理模型与视图进行相应的匹配,一起完成用户的请求。控制层对数据不做任何的处理。因此,一个模型可能对应有多个视图,一个视图可能也对应多个模型。

4.2 Java简介:

Java开始被叫做Oak,开始是用于电器相关方面的一种语言,大部分是来处理电器相关的控制问题。但是那个时候这个只能家电的前景并不是十分的理想,因此Sun就摒弃的原来的那个策划。就当在这个策划快要报废的时机,互联网进步的非常快,发展前景非常的好,Sun公司预计到了它在互联网上的十分巨大的利润,因此很快的改造了Oak,也就是现在的Java语言。

4.3 Mybatis简介:

MyBatis它是一个代码开放式的框架,它比较好用,而且可以把Java对象持久化于数据库当中,它把很多JDBC的那些复杂性代码抽离出来,然后经过自身内部的封装和改造把原有的代码复杂性简单化了,还提供了一个让人很好使用而且很简单的API借口给我们调用,这样我们就很容易的与数据库方面交互。

MyBatis 是来自于iBATIS的,iBATIS于2002年由ClintonBegin创建。MyBatis3是iBATIS的全新设计的一种,支持注解和Mapper的一种框架。

MyBatis流行的主要原因在于它的简单性和易使用性。在Java应用程序中,数据持久化层涉及到的工作有:将从数据库查询到的数据生成所需要的Java对象;将Java对象中的数据通SQL持久化到数据库中。

MyBatis通过抽象底层的JDBC代码,自动化SQL结果集产生Java对象、Java对象的数据持久化数据库中的过程使得对SQL的使用变得容易。

iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)

4.4 JSP简介:

Java服务器页面技术,它不是一种静态的网页,刚好相反,它是动态的。它跟HTML关系非常紧密,相互嵌套,然后用远程服务器里面的JSp引擎来触发和启动,再将生成的整个页面反馈给页面端。

因此Sun公司的JSP就是一种非常优秀的技术,它写起来给人的感觉还是非常好的,有点简单,而且可以适应很多很多的基本平台,可以非常适应于B/S结构的动态网络页面。它由多种元素构成,例如,静态内容(HTML标签)、指令、表达式、小脚本、声明、标准动作、注释等元素构成。

在B/S结构里面,浏览器和服务器端进行交互时,有以下几个过程:

(1)用户在浏览器上输入用户名和密码等信息,然后服务器端接收数据。

(2)浏览器接收用户输入的信息之后,然后把信息传输到服务器上,等待服务端的响应。

(3)服务器接收数据之后,然后进行数据后台处理,最后把处理的结果返回到JSP页面上来。

5可行性研究 

5.1技术可行性

编程语言优势:Java 是一种成熟、稳定且具有强大功能的编程语言。它具有跨平台性,这意味着开发的记账系统可以在不同的操作系统上运行,如 Windows、Mac 和 Linux,从而扩大了系统的适用范围。

丰富的框架和库:Java 拥有庞大的开源框架和库生态系统,这为记账系统的开发提供了丰富的资源。例如,在数据存储方面,可以利用成熟的数据库连接框架,如 Hibernate 或 MyBatis,来简化数据库操作。在界面设计方面,有诸如 JavaFX 等图形界面库可供选择,以创建美观且易用的用户界面。

安全性和可靠性:Java 在安全性方面表现出色,具有内存管理机制和安全特性,可以有效防止常见的编程错误和安全漏洞。这对于处理财务数据的记账系统来说至关重要,确保用户的财务信息安全可靠。

可扩展性和可维护性:Java 的面向对象编程特性使得系统具有良好的可扩展性和可维护性。可以方便地添加新的功能模块或对现有功能进行修改和升级,而不会对整个系统造成较大的影响。同时,其代码结构清晰,便于开发人员理解和维护。

开发工具支持:有许多优秀的 Java 开发工具可供选择,如 IntelliJ IDEA、Eclipse 等,这些工具提供了强大的代码编辑、调试和项目管理功能,提高了开发效率和质量。

5.2经济可行性

开发成本:Java 开发人员相对较为常见,人力成本相对合理。而且,利用现有的开源框架和库可以减少开发时间和工作量,降低开发成本。此外,在开发过程中,可以采用敏捷开发方法,逐步推进系统的建设,避免一次性投入过大的资金。

运营和维护成本:一旦记账系统开发完成并投入使用,其运营和维护成本相对较低。主要包括服务器租赁或托管费用、数据备份和恢复成本等。随着用户数量的增加,可能需要适当增加服务器资源,但总体来说,运营和维护成本在可控范围内。

潜在收益:记账系统可以通过多种方式实现收益。例如,可以推出付费版本,提供更多高级功能和个性化服务;可以与金融机构合作,推广相关金融产品;还可以通过广告等方式获得收益。如果系统能够获得广泛的用户认可和使用,其潜在收益是可观的。

投资回报率:通过对开发成本、运营成本和潜在收益的分析,可以计算出投资回报率。如果投资回报率较高,说明开发 Java 记账系统在经济上是可行的。

5.3允许可行性

法律法规合规性:在开发和运营记账系统时,必须遵守相关的法律法规,如数据保护法、消费者权益保护法等。确保用户数据的安全和隐私得到妥善保护,避免法律风险。同时,要按照税务等相关部门的要求,准确记录和申报财务信息。

行业标准和规范:记账系统应遵循相关的行业标准和规范,如会计准则、财务报告标准等。这有助于提高系统的专业性和可信度,便于与其他财务系统进行数据交换和共享。

知识产权保护:在开发过程中,要注意保护自己的知识产权,避免侵犯他人的知识产权。同时,要合理使用开源软件,遵守开源协议的规定。

合规审计:为了确保系统的合规性,可以定期进行合规审计,检查系统的运行情况和数据处理是否符合法律法规和行业标准的要求。及时发现和整改存在的问题,降低合规风险。

5.4社会可行性

用户需求:随着人们生活水平的提高和理财意识的增强,对记账系统的需求日益增长。Java 记账系统可以满足不同用户群体的需求,如个人用户用于日常收支管理,企业用户用于财务管理和报表分析等。通过提供便捷、高效的记账服务,能够提高用户的生活和工作效率。

社会影响:记账系统的推广和使用可以促进社会的财务管理水平的提升。用户通过记录和分析自己的收支情况,可以更好地规划个人财务,合理安排消费和投资。同时,企业通过使用记账系统,可以提高财务透明度和管理效率,促进企业的健康发展。

就业机会:开发和维护 Java 记账系统需要一定数量的专业人员,这将创造一定的就业机会,包括软件开发人员、测试人员、运维人员等。此外,随着系统的推广和使用,还可能带动相关产业的发展,如金融服务、数据安全等领域。

文化和教育意义:记账系统的使用可以培养用户的理财意识和财务管理能力,这对于个人的成长和发展具有积极意义。同时,通过推广记账系统,可以普及财务知识和理财观念,提高整个社会的文化素质和教育水平。

综上所述,从技术可行性、经济可行性、允许可行性和社会可行性等方面来看,开发 Java 记账系统是可行的。当然,在实际开发过程中,还需要充分考虑市场需求、用户体验、竞争状况等因素,不断优化和完善系统功能,以提高系统的竞争力和用户满意度。同时,要密切关注技术发展动态和行业变化,及时对系统进行升级和改进,以适应不断变化的市场环境。通过科学合理的规划和精心的组织实施,相信 Java 记账系统能够取得良好的社会效益和经济效益。

6需求分析

6.1 设计目的

随着人们生活水平的提高和经济活动的日益频繁,对于个人和家庭的财务管理变得越来越重要。本 Java 记账系统旨在为用户提供一个方便、高效、准确的记账工具,帮助用户记录和管理日常收支情况,实现以下主要目的:

1.帮助用户清晰地了解自己的财务状况,包括收入来源、支出项目和余额等。2.提供详细的收支分类和统计功能,以便用户进行财务分析和规划。3.支持多种记账方式,满足用户不同的需求和习惯。4.具备数据安全和隐私保护机制,确保用户财务信息的保密性和完整性。5.通过直观的界面和便捷的操作,提高用户的记账体验和使用意愿。

6.2面向对象分析与结构化分析的区别

面向对象分析强调以对象为中心,将系统视为相互协作的对象集合,关注对象的属性和行为以及它们之间的关系;而结构化分析侧重于功能的分解和流程的梳理。

面向对象分析更易于应对复杂的、不断变化的需求,具有更好的可扩展性和可维护性;结构化分析相对较为直接和线性。

结构化分析使用的建模方法和工具:

- 数据流图(DFD):用于表示系统中数据的流动和处理过程。

- 数据字典:定义数据元素和数据结构。

面向对象分析使用的建模方法和工具:

- 类图:描述系统中的类及其关系。

- 对象图:具体展示对象实例及其关系。

- 用例图:定义系统的功能和用户交互场景。

本系统使用面向对象语言开发,使得记账系统得结构更加清晰,不同类之间得职责划分明确,有利于团队协作开发和后续得维护。

6.3需求分析

6.3.1用户需求

用户希望有一个简单易用、直观的记账工具,能够方便地记录日常收支情况。他们期望可以随时查看各类收支的详细信息和统计报表,以了解自己的财务状况。同时,希望能够设置预算来控制消费,并获得提醒。用户还要求数据的安全性和隐私性得到保障,以及能够轻松地导出数据进行备份或进一步分析。

6.3.2功能需求

账户管理:支持创建、编辑和删除不同的账户,如现金账户、银行卡账户等。

收支记录:用户能方便地记录收入和支出项目,包括金额、日期、类别、备注等信息。

分类管理:提供多种收支分类,并支持用户自定义分类。

统计分析:生成收支报表,如日报表、月报表、年报表等,按分类进行统计分析。

预算设置与提醒:用户可以设定各类别或总体预算,并在接近或超出预算时收到提醒。

数据备份与恢复:方便用户将数据导出和导入,确保数据安全。

搜索功能:可以通过关键字搜索收支记录。

报表打印:支持将统计报表打印输出。

6.3.3非功能需求

性能要求:系统应具备快速响应能力,确保用户操作的流畅性,特别是在数据量较大时。

可靠性:保证数据的准确性和完整性,避免数据丢失或损坏。

易用性:界面简洁明了,操作方便,无需复杂培训即可上手。

安全性:采用合适的加密技术保护用户数据,防止未经授权的访问。

可扩展性:便于后续添加新的功能和模块,以适应不断变化的需求。

兼容性:能在常见的操作系统和设备上正常运行。

稳定性:长时间稳定运行,减少出错几率。

6.4功能模型

6-1 用户管理用例图

不同的用户他们的登录界面不同,他们所拥有的权限和基本功能也是不一样的,他们的属性也有所区别。

图6-2 财务管理用例图

财务管理是整个系统的核心模块,它的功能如上图描述,可以很好的为用户的财务收支做,有效的记录并且永久的保存到数据库,用户随时可以查看自己的财务记录。

图6-3 系统管理用例图

不同的用户他们的权限也就不一样,管理员能让这个系统更完善,它可以更好的管理所有用户的行为和权限。

6.5用例说明

6.5.1用户登录用例说明

用户注册,登录功能的用例说明,列出一系列可能出现的错误,导致无法正常完成用户的注册,登录的功能。这些错误是我们事先就已经意料到的可能发生的错误,能在第一时间给以客户回应,使得系统的可操作性更加的真实,可靠,也让用户感觉到系统的人性化。这些也是我们程序员在编写代码时要考虑的基本事项,作为一个好的程序员应该在第一时间想到系统可能出现的情况,把系统错误发生的可能性降到最低。以下是关于用户登入和注册时可能发生的一些异常,如:注册时用户名已经存在,登入时用户名与密码不相匹配,用户不存在等。

表3-1 用户登录用例说明

用例编号

UC01

用例名称

用户管理用例图

用例概述

用户注册

主参与者

用户

前置条件

进入记账管理系统

基本事件流

步骤

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值