记账系统毕业论文.docx
- 文档编号:19675663
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:43
- 大小:388.67KB
记账系统毕业论文.docx
《记账系统毕业论文.docx》由会员分享,可在线阅读,更多相关《记账系统毕业论文.docx(43页珍藏版)》请在冰豆网上搜索。
记账系统毕业论文
摘要
随着Internet技术的不断发展,人们在日常生活和工作中越来越多地使用JSP这项新的技术。
目前JSP的发展趋势已由过去的C/S架构转换到了B/S架构,大大减轻了客户端的工作负担,用户可以通过浏览器对分布在网络上的各种服务器进行访问。
基于B/S架构开发的“账族记账系统”实现了三层体系结构的开发,充分利用了JSP网络开发技术,并且采用了SH(Struts2+Hibernate)模式对系统进行开发。
前台的使用用户可以浏览相关的网站信息,通过注册进行个人日常记账。
由于前台和后台的分开控制,系统后台的管理员可以对用户、默认的类别、网站信息等进行管理。
“账族记账系统”的开发采用了B/S架构、JSP技术、Java编程语言、Struts2、Hibernate和MySQL数据库等软件技术。
经过测试,该系统可以在以Tomcat7.0作为服务器的IE浏览器、Chrome、Firefox正常运行,该记账软件统界面友好、简单,易于用户操作。
关键词:
B/S架构JSPStruts2HibernateMySQL数据库
ABSTRACT
WithagrowingdevelopmentoftechnologyofInternet,weutilizeitmoreandmorefrequentlyinourdailylife.Nowadays,thereisatendencyfordevelopmentofASP,fromC/SframetoB/Sone,whichreducesgreatlyclients’burden.TheycanvisitallvarietiesofserversontheInternetthroughbrowser.
BasedonB/Sframe,“accountingprofessionalqualificationonlinesystem”realizesthethree-tierarchitecturedevelopment,takesthemostofJSPnetworkdevelopmentandadoptsMVCpattern.Userswhouseforegroundingcanbrowseallrelevantinformationbythisonlinesystemaswellasconductonlinegradingbyregistration.Becauseofseparatedcontrolbetweenforegroundandbackground,backgroundadministratorscantakeeffectivemanagementonusers’titlesandexaminations.
Thisdissertationisengagedmainlyinanalysisofrelevantprinciplesof“accountingprofessionalqualificationonlinesystem”,includingintroductionofsoftwaretechnologiesofB/Sframe,JSP,JavaandMySQLdatabaseadopted.
Havingbeentested,thissystemcanoperatesmoothlyintheTomcat6.0-basedIEbrowser,whichisuser-friendly,simpleandeasily-performed.Aconvenientplatformisfurnishedforaccountingprofessionalstotestandknowtheexaminationinformation.
Keywords:
B/SframeJSPStruts2HibernateMySQLdatabase
引言1
第一章系统的分析2
1.1可行性分析2
1.2需求分析3
1.3系统环境开发4
第二章系统的总体设计5
2.1开发工具及关键技术的介绍5
2.2系统流程7
2.3系统模块设计7
第三章数据库的设计11
3.1数据库设计原则11
3.2数据库实体设计11
3.3数据库结构设计12
第四章程序模块的界面设计及实现15
4.1程序注册及登录15
4.2用户管理模块18
4.3首页信息浏览功能模块19
4.4默认开支类别管理20
4.5记账功能模块22
第五章系统调试与测试25
5.1程序调试25
5.2程序的测试25
结论28
谢辞29
参考文献30
引言
课题的选择背景及意义
随着家庭的开支不断的变化,金融危机的冲击,家庭的账户也不断变化,面对每天枯燥乏味的数据,如何有效的进行整理,并针对这些数据找到最佳的理财方式,是每个家庭的当务之急
本系统主要用于家庭的记账,总体任务是实现家庭账目的有序化,其主要任务是用计算机对家庭的日常开支进行增、删、改、查;对开支的分类支持增、删、改的操作,本系统内置了部分默认的开支类别,针对这些情况设计账族记账系统
课题研究的内容和本论文的组织结构
本文通过软件工程中软件开发的“瀑布模型”对一个可以动态访问的“账族记账系统”进行了详细的设计和介绍。
作为一个记账系统,它为使用用户提供了一个良好的记录日常开支的平台。
本论文的组织结构为:
前言部分:
主要描述课题选择的背景、意义和研究的主要内容。
第1章:
主要通过可行性分析、需求分析,系统配置三部分来分析开发的可实施性。
第2章:
主要介绍相关的开发技术和整个系统的开发流程及各个功能模块的设计。
第3章:
主要介绍数据库的相关信息,详细描述了数据库中各实体之间关系的设计。
第4章:
主要介绍系统各个模块的实现及界面的设计。
第5章:
主要介绍系统的测试与调试及其测试的结果。
结论:
主要对系统开发进行总结分析。
谢辞:
主要表达一下对本毕业设计胜利完成做出重大贡献的人的感谢之情。
参考文献:
主要列出系统开发时应用到的技术来源。
设计原则
(1)可靠性原则:
本系统是一个规模较小的开放式应用软件,经过慎重考虑,采用了MySQL作为数据库系统。
作为一种关联数据库,MySQL将数据保存在不同的表中,增加里存取的速度,提高了操作的灵活性。
并且MySQL采用最常用的标准化语言进行数据库的访问,简化了开发过程。
(2)规范性原则:
在开发过程中采用了三层结构开发:
表示层-业务逻辑层-数据访问层。
在表示层一般不包含业务逻辑代码,尽可能使用html标签和Struts2标签进行页面布置,;在业务逻辑层使用Java编辑语言进行业务的逻辑处理,将数据传输到数据访问层,数据访问层用Hibernate进行封装,Hibernate与数据库打交道进行存取操作,简写了大量代码,缩短开发时间。
第一章系统的分析
1.1可行性分析
1.技术可行性:
“账族记账系统”是基于B/S架构,采用MVC的设计模式,JSP网络开发技术,Java编辑语言,Struts2,Hibernate技术和MySQL数据库进行开发实现的:
(1)在B/S架构下,事务处理逻辑模块从客户机中分离出来,主要在客户机安装通用的浏览器便可以对服务器发出数据请求,由服务器与数据库打交道完成事务处理工作后将数据传回客户机进行输出显示。
大大减轻了客户机的负担的同时,也保证了数据的安全性能。
(2)MVC设计模式,应用程序的输入、处理和输出被强行分开,其三个核心部件:
模型、视图和控制器都各自处理自己的任务。
由于视图层和业务层的分离,更改视图层代码时不用重新编译模型和控制器代码,使其可以移植和复用以及功能的扩展。
(3)JSP为创建高度动态的Web应用提供了一个独特的开发环境。
JSP能够适应市场上包括ApacheWebServer、IIS4.0在内的85%的服务器产品,这足以胜任绝大多数的商业事务处理。
同时JSP代码经过服务器的解释执行后会直接嵌入到HTML语言中,这样就简化了页面的输出,也保留了脚本语言易于使用的优点。
JSP作为一种Web实现技术,它的效率是很高的。
除此之外,作为Java平台的一部分,JSP拥有Java语言“一次编写,各处运行”的特点。
又随着越来越多的服务器供应商将JSP支持添加到他们的产品中,这样一来用JSP做成的这套系统可以轻松移植到其它平台来运行[1]。
种种优点都为实现家庭记账软件打下了良好的基础。
所以JSP是实现本系统的最佳技术,它是完全可行的。
JSP同其他的Web脚本语言不同,它本身不定义访问数据库的标签,而是开发了另一个访问数据库的机制,即JDBC。
(4)Struts2是Struts的下一代产品,是在struts和WebWork的技术基础上进行了合并的全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。
(5)Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
(6)MySQL数据库:
作为一种关联数据库,MySQL将数据保存在不同的表中,增加里存取的速度,提高了操作的灵活性。
并且MySQL采用最常用的标准化语言进行数据库的访问,简化了开发过程。
并且MySQL数据库已经是一种比较成熟的数据库,在数据的安全性方面的技术已经比较稳定,有一定的数据恢复功能。
2.经济可行性:
通过“家庭记账软件”这个网站,用户可以把日常的开支全部记录下来,分析自己的消费,从而做到合理消费;为每个家庭创造更多的财富。
3.可操作可行性:
此系统是基于网页式的,界面友好,易于操作,方便快捷。
1.2需求分析
在软件开发环节中,需求分析是必不可少的。
它有助于了解客户需求,对软件系统的功能有初步的构思。
综合了市场中已有的记账软件,我对“账族记账系统”进行了初步需求分析。
该系统的核心功能是用户通过已注册的账号登录系统后进行日常记账,用户可以添加日常的开支类别和账户类别,系统提供默认的开支类别。
后台的管理员可以管理用户,管理网站公告,也可以管理默认开支类别。
前台和后天的分开有利于提高系统的安全性能。
在这些基本功能的基础上,后期可以对系统功能进行扩展。
1.2.1系统描述
本系统大体包括两个基本部分:
一个是前台用户的操作程序,用户在前端可以浏览网页,查看相关的消息。
通过注册可以形成一个有密码与之匹配的账号,用户可以使用该账号进行系统的登录。
在登录的情况下才可以开始记账,用户登录后首先应创建一个自己的账户然后才可以开始记账,本系统还支持对账功能,用户的每个账户都可以对账,这样每个账户的明细就能一清二楚了;用户登录后可以修改自己信息,也可以修改密码等,最后用户还可以通过点击退出系统来注销登录。
1.2.2权限
权限是指所有可能与系统发生交互行为的外部实体、对象和系统对系统进行操作的范围和程度。
在“账族记账系统”中,权限的主体分为了游客、用户和管理员。
游客可以不登陆的情况下浏览网页,查看系统发布的消息。
但不能登陆系统,不能进行记账操作。
用户在具有游客的权限的基础上,可以通过登陆操作进行记账等操作。
而系统的管理员具有最高权限,通过系统预置的账号admin和密码admin登陆系统后,可以对网站公告的消息进行添加发布操作;也可以对用户进行删除操作;可以修改自己的信息,也可以添加和修改系统默认的开支类别。
有了上述权限的划分,使数据库只能由管理员进行操作管理,保证了数据库的安全性。
1.2.3用例识别
在角色的基础上,可以识别出与权限相关的用例,从而得到系统的用例模型,如图:
1.3系统环境开发
硬件环境:
CPU:
IntelP4以上
内存:
2G
硬盘:
250G
软件环境:
操作系统:
MicrosoftWindows7
数据库:
MySQL5.5
服务器:
Tomcat7.0
开发工具:
MyEclipse8.6
浏览器:
MicrosoftInternetExplorer9.0及以上
第二章系统的总体设计
2.1开发工具及关键技术的介绍
“账族记账系统”是基于B/S结构,采用MVC的设计模式,JSP网络开发技术,Java编辑语言,Struts2,Hibernate技术和MySQL数据库,以MyEclipse8.6作为开发工具,Tomcat7.0为服务器进行开发实现的。
2.1.1B/S结构概述
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在B/S结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
相对于C/S结构属于“胖”客户端,需要在使用者电脑上安装相应的操作软件来说,B/S结构是属于一种“瘦”客户端,大多数或主要的业务逻辑都存在在服务器端,因此,B/S结构的系统只需要安装通用的浏览器即可对服务器进行访问。
系统升级或维护时也只需更新服务器端软件,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
B/S结构系统的产生为系统面对无限未知用户提供了可能。
当然,与C/S结构相比,B/S结构也存在着系统运行速度较慢,访问系统的用户不可控的弱点。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WLAN,Internet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效[2]。
与C/S结构比较,B/S架构软件具有以下优势:
(1)维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。
对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,而B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。
今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。
因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
(2)应用服务器运行数据负荷较重。
由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。
因此,许多单位都备有数据库存储服务器,以防万一。
2.1.2JSP技术介绍
JSP的全称是JavaServerPages,它是由SunMicrosystems公司于1999年6月推出,许多公司参与一起建立的一种动态网页技术标准。
基于JavaServlet以及整个Java体系的Web开发技术。
JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。
作为J2EE体系中的重要一环,JSP为创建高度动态的Web应用提供了一个独特的开发环境[3]。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame[4]。
JSP是一种实现普通静态HTML和动态HTML混合编码的网页技术,具有跨平台性、运行效率高、上手容易等优点。
在用JSP进行WEB开发时,需要用到应用服务器来进行资源共享、网络通信等进行分布式应用。
在支持JSP的应用服务器中采用Tomcat。
Tomcat是Apache-Jarkarta的一个子项目,是一个开放式源码、免费支持JSP和Servlet技术的容器,同时又是一个WEB服务器软件。
在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成[5]。
例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。
Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。
Servlet是Java技术对CGI编程的回答。
Servlet程序在服务器端运行,动态地生成Web页面。
与传统的CGI和许多其他类似CGI的技术相比,JavaServlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。
JSP的优点:
(1)一次编写,到处运行。
除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/.net的局限性是显而易见的[6]。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下[7]。
(5)支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。
2.1.3Struts2框架介绍
Struts2是Struts的下一代产品,是在struts和WebWork的技术基础上进行了合并的全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。
2.1.4Hibernate介绍
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
2.1.5开发工具MyEclipse概述
“账族记账系统”采用MyEclipse8.6.1版本作为开发工具。
MyEclipse是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts2,JSP,CSS,Javascript,SQL,Hibernate。
同时,它已经拥有5.0、6.XGA、8.0、8.5、8.6M1、9.0、10.0系列版本。
本系统采用了MyEclipse8.6.1版本进行开发。
2.2系统流程
在第一章的用例图中,已经定义了系统角色及用例模型。
作为一个完整的记账软件,有必要知道整个系统运行流程,这有利于我们明确系统开发任务和功能模块。
游客计入网站首页,浏览网站公告,单击旁边的注册连接,计入注册页面;注册为用户后登陆网站,新建自己的账户和开支类别,然后开始记账,每个账户都能对账,这样保证的数据的准确性和明晰性;用户当然也可以修改自己的信息(包括密码),最后用户可以退出系统。
2.3系统模块设计
有了系统流程描述和流程图,根据流程图将系统划分为以下模块,如表3-1所示:
表2-1系统功能模块设计
序号
功能模块类别
功能模块
1
前台操作端
注册、登录、个人信息管理
2
账户管理
3
开支类别管理
4
对账
5
记账及转账
6
后台管理端
用户管理
7
公告
8
默认开支管理
表2-1是根据模块完成的任务的不同进行划分,一共包括8个模块,其中前台客户端的功能模块是5个,后台管理端的是3个。
这些模块都是建立在系统的需求分析和设计的基础上的对系统功能整体的介绍,下面将详细介绍各个功能模块的细节:
2.3.1前台客户端管理模块
1.个人信息管理功能模块:
任何系统功能的实现都离不开角色的参与,为了便于系统的管理,需要对不同用户赋予不同的权限和功能,因此需要对用户进行管理,设计了个人信息管理模块,如表2-2所示:
表2-2注册、登录、个人信息管理功能模块
序号
用户类别
功能列表
功能明细
1
游客
浏览网页
浏览查看网站公告
2
用户
用户注册
注册成为用户,拥有不同的权限
3
用户登录
用户输入用户名和密码进行验证
4
用户信息查看和修改
查看、修改用户信息和密码
2.账户管理模块:
处于登录状态下的用户可以添加、修改、删除账户,如表2-3所示:
表2-3账户管理模块
序号
功能列表
功能明细
1
添加账户
用户可以添加属于自己的账户
2
修改账户
用户可以修改自己账户的名称及余额
3
删除账户
用户可以删除自己的账户
3.开支类别管理:
本系统提供一个默认的开支类别,用户登录后可以添加属于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 记账 系统 毕业论文