基于 Java 的记账管理系统设计与实现

点击下载源码

基于 Java 的记账管理系统设计与实现

摘 要

近年来由于生活节奏的加快,好像每个人都被很多难以启齿的问题困惑,然而关于随意消费是大多数人头疼的问题,没有任何计划和筹备的情况下随意消费,导致现实生活中我们所称为的“月光族”。如果我们定期花一些时间去记录我们生活中那些主要的消费情况,了解自己的收入和支出情况,这样坚持几个月你将会发现一些规律,收入是否稳定,月底的时候是收入少了还是支出多了,投资是否符合预期;这些规律,就是你通过记账了解到的财务状况,财务状况没有单纯的好与坏之分,最理想的情况,当然是无论什么情况都不会入不敷出,但这个情况对于刚毕业的人和工作十年的人情况显然是不同的。
当你逐渐了解自己的财务状况,就可以学着做简单的收支规划。大部分月光族的根源其实是缺乏规划,想买什么的时候就买了。并不是说规划不能随意买东西,规划的价值在于让你使用资金的效率最高。无论你用金钱换取的必需品,满足感或者快乐,都可以通过规划获得比较高的效率。
本记账系统是一个基于国内外电子商务网站的发展现状,采用B2C(Business to Consumers)模式开发的电子商务平台,它的价值所在对于那些随意消费性的人群能起到一个很大的警示作用,而且系统扩张性很强,能根据客户的不同需求进行快速改进。该系统采用B/S三层结构,服务器是Tomcat同时运用JSp技术进行动态页面设计,后台数据库是Oracle。

关键词: 记账管理系统;B/S结构;Oracle数据库;JSP;

目 录

第一章 绪论 14
1.1研究背景和意义 14
1.2研究目标 14
1.3论文结构 14
第二章 相关技术与方法 16
2.1 MVC简介: 16
2.2 Mybatis简介: 16
2.3 Java简介: 17
2.4 JSp简介: 18
2.5开发工具 20
第三章 系统分析 21
3.1系统初步调查 21
3.2系统体系结构设计 21
3.2.1 首页 21
3.2.2用户信息管理 22
3.2.3用户财务管理 22
3.2.4用户财务统计 22
3.2.5系统管理 22
3.2.6退出 22
3.3用例图 22
3.4用例说明 24
3.4.1用户登录用例说明 24
3.4.2财务管理用例说明 25
3.4.3系统管理用例说明 26
第四章 系统设计 27
4.1系统类分析 27
4.1.1 User类 28
4.1.2 Admin类 28
4.1.3 Zhang类 29
4.1.4 Tong类 30
4.2关键业务设计 31
4.2.1 财务管理 31
4.2.2 财务统计 32
4.3数据库设计 33
4.3.1概述 33
4.3.2概念设计 33
4.3.3数据库表 36
第五章 系统实现 39
5.1用户登录 39
5.2 用户注册 41
5.3 首页 44
5.4 用户信息修改 45
5.5 用户财务记录 46
5.6 用户财务信息 49
5.7 月收支查询 50
5.8 年收支查询 53
5.9 管理员信息管理 56
5.10 用户信息管理 56
第六章 系统测试 59
6.1系统测试综述 59
6.2系统用例说明 59
6.2.1用户登录模块 59
6.2.2账单统计模块 60
6.3测试分析 60
第七章 总结 61
参考文献 62
致 谢 63

第一章 绪论
1.1研究背景和意义
对于一个刚出校门或是刚刚工作不久的我们来说,由于我们刚步入社会,最基本的事情就是首先保证自己生存下来,合理地安排自己的消费情况, 所以,我们平时对自己的消费和收支进行一个账单记录显得尤为关键。账单记录能让我们更清楚的了解我们收支的去向,让我们能更好的把握好身上的每一分钱,然后把钱用到关键的地方,如投资,理财等。从查询课外资料来看,国外有很多账单管理的软件,而且大部分外国人对生活中的记账有着严格的把控。就国内而言,放眼望去,大部分记账软件都是着重于办公财务软件,而对于个人和家庭的小型记账系统还是比较少的,因此需要开发一款这样的系统软件,从而达到引导我们理性消费,合理分配收支。
对于记账而言呢,若我们直接像古人那样用纸和笔记录的话,那样随着我们的记录越来越多,我们的记账薄也随之越来越厚,容易造成遗失,当我们要查找某个我们想要找的记录时,我们会消耗大量的时间,这就非常麻烦。这种记账方式就显得非常冗余、笨重,因此我们需要设计一款功能完善的记账软件,用它来代替传统的手工操作。
1.2研究目标
记账理财是一个很普遍而且很广泛的概念,从理财的角度来看,个人、公司和政府部门都少不了理财活动。所以本论文介绍的就是一个人记账为主。中国也是个比较重视个人和家庭观念较国家,一个人理财就非常普遍了。
所谓个人理财从概念上讲,就是合理、有效的安排和运用我们自己的资金,让我们的消费到达最大的效应,以到达最大地限度地满足日常生活需要的目的。简单的来说,个人理财就是利用企业理财和金融方法对我们个人经济进行有效的管理和计划,增强自身的经济实力,提高个人经济的抗打击能力,增大个人效应。从另一种角度来讲,个人理财就是利用开源节流的道理,增加收入,节约支出,用合理地办法来达到我们所希望到达的经济目的。这样的目标有很多,小的如增添家电设备,外出旅游,大的有买车、买房,为自己孩子储备教育基金等等。
1.3论文结构
本论文总共为七章:
第一章 绪论:介绍课题的研究背景和意义,然后分析系统的可行性,然后是本文的组织结构,最后是对本章的总结。
第二章 相关技术与方法介绍:关于本系统的一些相对重要的技术的一些简介和相关资料的介绍,以便阅读本论文的人更好的了解本系统的技术,以及细节。也可以帮助不了解本系统的人了解到该系统的基本功能和相应的相关知识。然后就是所操作的软硬件环境。
第三章 系统分析:简述下系统的可行性,例如基本的 经济可行性、操作可行性和技术可行性等,还介绍了该系统的需求分析,系统的总体需求和相对应的用例图,用例图能使读者更直观的看出该系统需求的总体关系和走向。
第四章 系统设计:系统类分析,让我们更直观的看出这系统所涉及到的一些实体类之间的关系;系统关键业务设计,能让阅读者很清楚该系统的各个功能之间的关系和总体设计是怎样的;数据库设计,让我们可以更加清晰的设计出符合我们需要的表,数据库逻辑结构设计图,让我们清楚的知道数据库每一个表的字段名,以及它们的类型等,让我们能迅速的设计出符合系统需要的数据库表。
第五章 系统实现:用户登录后,系统会展示出用户权限所拥有的功能;管理员登录之后,系统也会展示出管理员相对应的功能列表。
第六章 系统测试:介绍并使用了常见的测试方法,让我们在完成系统的开发后,通过测试,更加快速的发现系统的不足之处并将其进行完善。再进行测试,直到得到满意的测试结果。
第七章 总结:对全文进行一个总体的评价和这段时间所学到的东西进行一个沉淀。并且对于那些在论文期间给予本人帮助的人致谢!

第二章 相关技术与方法
本系统主要采用JAVA编程技术和Oracle数据库,在Windows 7操作系统环境下,采用Eclipse开发工具以及Javabeans编写进行设计与开发完成的基于B/S结构的电子商务网站的设计与实现。
2.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)的功能是接收来自客户端的请求, 将业务处理模型与视图进行相应的匹配,一起完成用户的请求。控制层对数据不做任何的处理。因此,一个模型可能对应有多个视图,一个视图可能也对应多个模型。

2.2 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)
2.3 Java简介:
Java开始被叫做Oak,开始是用于电器相关方面的一种语言,大部分是来处理电器相关的控制问题。但是那个时候这个只能家电的前景并不是十分的理想,因此Sun就摒弃的原来的那个策划。就当在这个策划快要报废的时机,互联网进步的非常快,发展前景非常的好,Sun公司预计到了它在互联网上的十分巨大的利润,因此很快的改造了Oak,也就是现在的Java语言。
2.4 JSp简介:
Java服务器页面技术,它不是一种静态的网页,刚好相反,它是动态的。它跟HTML关系非常紧密,相互嵌套,然后用远程服务器里面的JSp引擎来触发和启动,再将生成的整个页面反馈给页面端。
因此Sun公司的JSP就是一种非常优秀的技术,它写起来给人的感觉还是非常好的,有点简单,而且可以适应很多很多的基本平台,可以非常适应于B/S结构的动态网络页面。它由多种元素构成,例如,静态内容(HTML标签)、指令、表达式、小脚本、声明、标准动作、注释等元素构成。
在B/S结构里面,浏览器和服务器端进行交互时,有以下几个过程:
(1)用户在浏览器上输入用户名和密码等信息,然后服务器端接收数据。
(2)浏览器接收用户输入的信息之后,然后把信息传输到服务器上,等待服务端的响应。
(3)服务器接收数据之后,然后进行数据后台处理,最后把处理的结果返回到JSP页面上来。
2.5开发工具
该系统采用Elicpes作为基本开发工具,后台数据库的实现为Oracle,Web服务器为Tomcat。

第三章 系统分析
3.1系统初步调查
该记账管理系统,主要有4个功能模块组成,分别是:用户登录,财务管理,财务统计和系统管理,不同用户登录该系统权限不同,若是普通用户登录,则可以进行一些基本操作,如自身的信息修改,账单查看,账单记录等功能,若是管理员登录,则可以对普通用户和其他管理员进行管理,如基本的删除等功能。这样能更好的管理整个系统,本来各个模块之间错综复杂的关系,一下子让用户看起来更简单化,人性化。
3.2系统体系结构设计
整个系统分为 用户注册,用户登录,财务管理,财务统计,系统管理等功能模块,如3-1图所示。

图3-1 系统结构图

3.2.1 首页
登录之后进入首页,你将看到系统的整体界面和基本功能,在你面前展现出来的是该系统的基本信息,如版本号,版权所有,开发者以及开发者的一些基本信息容内等。
3.2.2用户信息管理
当你登录成功之后,点击用户信息管理,你将看到登录用户的基本信息,如电话,姓名,性别,密码等信息,然后可以直接在上面进行编辑修改自己的信息,修改完成之后,系统将会提示你信息已修改成功,请重新登录的提示,这样以保证用户信息的安全性。
3.2.3用户财务管理
当你登录成功之后,你才有权限看到该用户的财务信息,当你点击财务管理时,将会展现出两栏小菜单,一个财务信息一个财务记录,财务信息将展现该登录用户的所有账单信息,用户可以很清楚地看到自己以往的财务记录;财务记录是一个添加记账的功能,它能简单的记录该登录用户的财务记录,然后入库,将数据持久化到数据库。
3.2.4用户财务统计
财务统计是一个统计功能模块,当用户拥有多条财务记录的时候,他点击财务统计该功能,他将可以清楚的看到月收支统计和年收支统计两个菜单栏。月收支和年收支,显而易见,就是统计该用户财务中每个月所有财务记录的一个统计和每年所有财务记录的一个统计,让用户每个月或者每年对自己财务账单有一个清晰的记录。
3.2.5系统管理
该模块普通用户是看不到的,只有管理员登录才能看的到,管理员登陆之后,他将用户对所有用户的基本管理的功能,如删除用户,通过登录名查询用户等功能,当然还可以对用户添加其他操作功能,这个可以作为一个扩展;然后是管理员对管理员进行管理,也可以进行基本的删除、查看、修改的操作。
3.2.6退出
用户点击退出可以安全退出该系统,退出之后必须重新登陆。
3.3用例图
该系统可分为三大模块管理,一个是用户管理,用户分为普通用户和管理员,他们权限不同,所以所拥有的功能和所看到的页面不同;另一个是财务管理,里面包含用户所拥有的财务信息和财务记录等。还有一个就是系统管理,也就是不同用户所用权限不同。具体见下用例图。
财务管理:
用户管理:
系统管理:

图3-2 用户管理用例图

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

图3-3 财务管理用例图

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

3-4 系统管理用例图

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值