已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈 尔 滨 理 工 大 学毕 业 设 计题 目: 简单的银行储蓄系统 院 、系: 学院 工程系 姓 名: 指导教师: 系 主 任: 2012 年 06 月 20 日2哈尔滨理工大学专科生毕业论文 哈尔滨理工大学荣成学院专科生毕业设计(论文)评语学生姓名: 学号:.学 院:学院 专业:计算机应用技术09级-1班任务起止时间: 2012 年 3 月 26 日 至 2012 年 6月20日毕业设计(论文)题目: 简单的银行储蓄系统指导教师对毕业设计(论文)的评语:指导教师签名: 指导教师职称: 评阅教师对毕业设计(论文)的评语: 评阅教师签名: 评阅教师职称: 答辩委员会对毕业设计的评语:答辩委员会评定,该生毕业设计(论文)成绩为: 答辩委员会主席签名: 职称: 年 月 日哈尔滨理工大学荣成学院专科生毕业设计(论文)任务书学生姓名: 学号:学 院:学院 专业:计算机应用技术09级-1班任务起止时间: 2012 年 3 月 26 日 至 2012 年 6月20日毕业设计(论文)题目:简单的银行储蓄系统毕业设计工作内容:我此次毕业设计所做的系统是简单的银行储蓄系统, 本系统利用myeclipse作为前台开发工具,从系统的安全性和代码的可重用性方面考虑,运用struts、hibernate对程序的关键代码进行封装,引入mvc设计模式理念。后台数据库选用oracle数据库。同时使用jsp技术进行动态页面的设计,用到的应用服务器是tomcat-6.0。 该系统所实现的功能有登陆、取款、存款、转账、注册(开户),可以满足客户对银行的基本需求。资料:1 沈泽刚,秦玉平.java web编程技术.清华大学出版社,2010:25422 贾素玲,王强.oracle数据库基础.清华大学出版社,2009:1523 郑阿奇,俞琰. j2ee应用实践教程.电子工业出版社,2009:24394 耿祥义,张跃平.jsp实用教程. 清华大学出版社,2008:818指导教师意见: 签名:年 月 日系主任意见:签名:年 月 日哈尔滨理工大学专科生毕业论文 简单的银行储蓄系统摘 要随着计算机应用范围的不断扩大,其优异的性能已逐渐被人们所接受,在社会经济不断提高的环境下,计算机技术进行的各种管理给人们带来了很大的方便1。随着市场经济的不断发展,人民的生活也越来越富裕,所以人们需要银行能够给用户提供方便的业务操作,比如:能够开户、存款、取款,转账等。因此,银行储蓄系统已经成为当今必不可少的组成部分。该银行储蓄系统的开发过程包括前台应用程序的设计和后台数据库的建立与维护两个方面的内容;在应用程序开发过程中详细介绍了该系统所实现的开户、存款、取款、转账、等主要功能,并着重介绍了上述各个功能模块的建立与生成;在数据库的建立和维护中主要介绍系统数据库的建立,并要求做到系统管理数据的一致性,完整性和安全性。本系统利用myeclipse作为前台开发工具,从系统的安全性和代码的可重用性方面考虑,引入mvc设计模式理念,其中的m为model,代表模型、v为view代表视图、c为controller代表控制器,控制器接收和处理请求,产生数据,然后选择视图显示数据。mvc的好处在于将处理业务的控制逻辑代码与显示视图的代码进行了分离,便于维护。本系统所使用的框架为struts、hibernate框架。后台数据库选用oracle数据库。同时使用jsp技术进行动态页面的设计,用到应用服务器是tomcat-6.0。关键词:银行储蓄系统;struts;hibernate;oracle;jspsimple bank management systemabstract along with the computer application scope expands unceasingly, its excellent performance has been gradually accepted by people, in the social and economic improvement environment, computer technology, various management brings people great convenience. along with the market economy unceasing development, peoples life more and more wealthy, so people need banks can give users with convenient operation, for example: to open an account, deposits, withdrawals, transfers and other. therefore, the bank system has become an essential part . the bank savings system development process, including the design of the front-end applications and database establishment and maintenance of two aspects; the main functions of the system of accounts, deposits, withdrawals, transfers, and other details in the application development process and focuses on the establishment and generate each of these functional modules; in the establishment and maintenance of the database introduces the establishment of the system database, and requirements to achieve data consistency, integrity and security of the system management. the system uses myeclipse as a front development tools, system security and code reusability considerations. the introduction of the mvc design pattern philosophy, the the m of of which for the the the model, the on behalf of model is, v is view on behalf of the view, c as controller on behalf of controller, the request which is to receive and deal with by the controller of, to generate data, and then select the the view to display data. the benefits of the mvc is the separation of the control will handle the business logic code and display the code view, easy to maintain. the framework used in this system as struts, hibernate framework. the back-end database use an oracle database. at the same time a dynamic page design using jsp technology used in the application server tomcat-6.0.key words: bank savings system;struts;hibernate;oracle;jspiii目录摘 要iabstractii第1章绪论11.1 开发背景11.2 开发目标21.3 开发工具21.4 运行环境2第2章需求分析32.1 系统分析概述32.2 系统可行性分析32.3 系统需求分析42.3.1 用户的特点42.3.2 对功能的规定42.3.3 对性能的规定4第3章概要设计53.1 总体设计53.1.1 系统功能图53.2 数据库设计63.2.1 e-r图63.2.2 数据库信息7第4章 详细设计84.1 功能模块的设计与实现84.1.1 各个模块的实现84.2 系统关键代码实现104.2.1 连接数据库104.2.2 dao接口的设置104.2.3 po包中类的实现114.2.4 配置文件的实现124.2.5 转帐业务逻辑代码13第5章 系统测试155.1 引言155.2 测试方法155.3 测试环境155.4 测试项目及结果16总结18致谢19参考文献20 第1章绪论近年来,随着internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。如今,人们的交流已越来越多,要求信息的传送速度更快,传送范围更广,“信息高速公路”也就应运而生了。其中,internet已拥有了数千万个用户,通过internet我们就可以与全世界来联网。对于当中各种各样的信息,人们都可以通过网络来共享和使用。比如银行储蓄系统,我们可以把它当作一个虚拟的市场销售中心,每个人都可以在这个网络上享受所提供的服务,这样既节约了时间,又满足了需求。尤其是人们的生活速度越来越快,没有大量的时间去花费在银行,等待长时间的排队。因此我开发的这个简单的银行储蓄系统就是为了满足人们对取款、存款、转账等这些基本功能的需求。方便了客户,也大大减少了银行工作人员的工作量。1.1 开发背景目前,计算机已经普及到了社会的各个领域,并已经成为我们学习和工作的得力助手,无论在哪个行业,计算机代替人工进行了许多繁杂的事务,并节省了大量的人力与物力,比如:银行储蓄管理系统在金融业给人民带来了很大的方便,系统开发成功后,一旦应用于银行领域,会给管理员与用户带来很大的方便,其主要作用具体如下:(1)计算机可以代替营业员进行许多繁杂的手动操作;(2)计算机可以节省许多人力资源;(3)计算机可以提高人们的工作效率;(4)计算机给用户带来了很大方便。除此之外,目前计算机的价格已经十分低廉,性能却有了长足的进步。所以从以上各方面来讲,开发研制一个银行储蓄管理系统是很有必要的。1.2 开发目标本平台旨在利用现在比较广泛的jsp+oracle数据库的架构实现的,进行系统分析,为将来进一步的实施打下一个坚实的技术基础1。从而实现信息化,规范化,系统化,网络化的平台,具有较好的适应性和推广性。该银行储蓄系统,它是友好的操作界面,供用户开户、存款、取款、转账使用,其中包括:注册管理、取款管理、存款管理、转账管理等。可以摆脱传统银行业务在时间、地点以及在人多时需要排队等待浪费时间的现象,它是全天制的,随时随地,只要有互联网就可以实现传统银行的所以业务,提高了办事效率,方便了广大用户。1.3 开发工具我所使用的开发工具是myeclipse. myeclipse是一个十分优秀的用于开发java,j2ee的eclipse插件集合, myeclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。利用它我们可以在数据库和j2ee的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的j2ee集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持html,struts,jsp,css,javascript,hibernate,oracle。1.4 运行环境编译程序:sun jdk1.6操作系统:windows xp、windows 2003、windows 2000、windows 98、windows 7等第2章需求分析2.1 系统分析概述银行系统主要服务对象是“客户”,以客户为中心的一体化服务系统。银行借助先进的信息技术和管理思想,通过对客户基本需求的分析调查,创建一个为客户提供更经济、快捷、周到的产品和服务的系统环境,改进客户价值、满意度以及客户的忠诚度,保持和吸引更多的客户,不但给银行减轻的负担,也给客户提供了方便。2.2 系统可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标得出以下七点的可行性分析:(1)完整性 每一项需求都必须将要实现的功能描述清楚。(2)正确性 每一项需求都必须准确的陈述其要开发的功能。(3)可行性 每一项需求都必须在已知系统和环境的权能和限制范围内可以实施的。(4)必要性 要使每项需求都能回溯至某项客户的输入。(5)无二义性 对所有需求说明的读者都只能有一个明确地解释避免二义性的的有效方法包括对去需求文档的正确正规审查,编写测试用例,开发原型等。(6)科验证性 检查每项需求是否能通过设计测试用例或其他的验证方法如演示,检测。通过以上的可行性分析,我们将采用struts、hibernate、html、java web、javascript结合的技术,运用oracle数据库对该系统进行建设。2.3 系统需求分析通过调查,要求系统需要有以下方面: (1)由于操作人员的计算机知识普遍较差,要求有良好的人机界面;(2)由于该系统的使用对象多,要求有较好的权限管理; (3)转账、取款、存款功能都能够安全快速的进行; (4)数据计算自动完成,尽量减少人工干预。2.3.1 用户的特点网上浏览者、网上进行简单的业务办理者。2.3.2 对功能的规定本系统功能管理如下:(1)用户管理:输入账号、密码,进入操作界面。(2)存款管理:输入相应要存款的金额,然后提交。(3)取款管理:输入相应要取款的金额,然后提交。(4)注册管理(开户管理):输入账号、姓名、密码,然后提交。(5)转账管理:输入对方的卡号,准确的金额,进行转款管理。(6)退出:点击退出,退出系统,停止操作。2.3.3 对性能的规定(1)操作方便、界面友好;(2)与数据源进行连接时,响应速度必须足够快(3秒之内);(3)易于维护和扩展;(4)通过数据库的链接将客户对需求的更改自动地输入到数据库第3章概要设计3.1 总体设计3.1.1 系统功能图如下图3-1为系统功能图,该银行系统具有五个简单的功能,取款、存款、注册、转账、退出。银行储蓄系统取款管理存款管理注册管理转账管理退出管理取款信息存款信息退出转账信息注册信息图3-1 系统功能图该系统功能图显示了该银行储蓄系统的所有功能,当用户登录进入该系统后,就可以进行存款管理、取款管理、转账管理以及可以进行查看存款信息、取款信息、注册信息和转账信息等。客户还可以根据自己本身的想法进行选择进入相应的功能模块,进行相应功能的操作。例如取款管理模块,客户可以在主界面上点击取款,客户就进入了取款管理界面,客户可以根据自己想要取款的金额进行操作处理。也可以点击安全退出然后转换为其他管理界面,进行其它的操作。3.2 数据库设计我本次所使用的是oracle数据库,oracle数据库英文为oracle database,又名oracle rdbms,或简称oracle。是甲骨文公司的一款关系数据库管理系统2。配置该数据库时,以名称scott数据库来唯一命名该数据库。该数据库包含的表为:用户账户表(t_customer),记录表(t_record)。3.2.1 e-r图使用e-r图可以更形象,更直接,更明确的表现需求分析人员的意图。同时也是需求分析人员对自己理解客户需求的再检查。确保系统的各功能接近完美,使客户的满意。用户用户名账号密码余额取款存款转帐注册金额金额账号用户名用户名金额密码系统帐号该银行储蓄系统的e-r图如下图3-2所示:图3-2 系统e-r图3.2.2 数据库信息用户账户表,表中信息如下表3-3所示:create table t_customer(account varchar(20),password varchar(20),cname varchar(20),cbalance float);表3-3 用户帐户表字段名称数据类型长度说明accountvarchar20账号caccountvarchar20对方账号passwordvarchar20密码cnamevarchar20用户名cbalancefloat-余额记录表,表中信息如下表3-4所示:create table t_record(account varchar(20),caccount varchar(20),flag varchar2(20);表3-4 记录表字段名称数据类型长度说明accountvarchar20账号caccountvarchar20对方账号flagvarchar20转账成功第4章 详细设计通过前面的总体分析及需求分析,以及数据库的分析与实现,现在我们可以开始使用mvc模式来编写系统核心程序代码,完成所需功能。下面具体介绍系统的设计与实现过程。4.1 功能模块的设计与实现该系统分为用户登陆模块、用户注册模块、取款模块、存款模块,转帐模块。4.1.1 各个模块的实现登陆模块:在用户登录的过程中,在登录界面如图4-1所示:输入用户账号和用户密码,如果用户名和密码一致即跳转到登录成功页面。即主界面如图4-2所示:如果会员登录失败,则会显示login fail,用户确认用户名和密码后重新输入。图4-1登陆界面图4-2主页面注册界面:用户在注册页面如图4-3所示,输入注册信息,如果账号未被注册过,那么跳转到注册成功页面。如果账号以前被注册过,那么页面上出现cannot register!。图4-3注册界面取款模块:输入要取的金额,点击提交,交易成功,跳转到操作界面,显示余额。如果输入金额大于所有金额,点击提交,页面显示money is not enough!。如果不想取款,点击安全退出,即可退出系统。存款模块:输入要存的金额,点击提交,交易成功,跳转到操作界面,显示余额。如果不想取款,点击安全退出,即可退出系统。转账模块:输入对方账号,输入要转账的金额,点击提交,转账成功。如果不想转账了,点击安全退出,退出系统。4.2 系统关键代码实现4.2.1 连接数据库使用技术hibernate与数据库进行连接3,关键代码如下:org.hibernate.dialect.oracledialectjdbc:oracle:thin::1521/xe scotttigeroracle.jdbc.driver.oracledriver 4.2.2 dao接口的设置用于访问hibernate为我们提供的与数据库连接的相关内容4,关键代码如下:session session = util.hibernatesessionfactory.getsession();transaction tran = null;trytran = session.begintransaction();session.update(cus);/更新mit();/提交return true;返回4.2.3 po包中类的实现po包中存放实体类5,po中的属性是跟数据库表的字段一一对应的。数据库中增加的字段,都必须在po包中注册,关键代码如下。public class customer extends actionform/类中的属性要与数据库中t_customer表中的字段相对应private string account;private string caccount;private string password;private string cname;private double cbalance;/给每个字段增加get和set方法 public string getcaccount() return caccount;public void setcaccount(string caccount) this.caccount = caccount;public string getaccount() return account;/省略其它get和set方法4.2.4 配置文件的实现struts-config.xml,是前台显示层,后台逻辑处理层和数据保存容器层,相互联系协调的控制器。各个层都是通过控制器struts-config来进行业务处理的6。配置实体类的映射文件:customer.hbm.xml 4.2.5 转帐业务逻辑代码在jsp表单zhuanzhang.jsp中,通过action动作,首先把转帐的内容提交给actiontservlet,actioservlet中的mapping能够读取配置文件struts-config.xml, 将信息打包在actionform里,送给action,acionservlet不直接处理业务逻辑,让action来调用javabean,action负责决定跳转到另一个jsp显示结果7。 action负责接受actionform的数据,并处理。actionforward封装了跳转目标的路径8,关键代码如下:zhuanzhangform zhuanzhangform = (zhuanzhangform) form;string str = zhuanzhangform.getmoney();double money = double.parsedouble(str);customer cus=(customer)request.getsession().getattribute(cus);actionmessages errors = new actionmessages();if(cus.getcbalance()money) /如果钱不够,提示错误actionmessage error = new actionmessage(error.zhuanzhang);errors.add(zhuanzhang,error);this.saveerrors(request, errors);return mapping.getinputforward();/如果钱够,那么从账户中把钱减去cus.setcbalance(cus.getcbalance()- money);icustomerdao cdao = daofactory.getcustomerdao();cdao.update1customer(cus);customer ccus=cdao.getcustomerbyaccount(zhuanzhangform) form).getcaccount();ccus.setcbalance(ccus.getcbalance()+money);cdao.update1customer(ccus); /受到钱的用户,金额增加return new actionforward(/success.jsp); /转帐成功以后,页面跳转到success页面。第5章 系统测试5.1 引言软件测试是软件开发过程的重要组成部分,是用来确认一个程序的功能、性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。5.2 测试方法 测试,通常有两种方式:黑盒测试和百盒测试。 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 白盒测试,也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。用白盒测试产生的测试用例能够: 保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试true和false;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。5.3 测试环境测试环境是指测试运行其上的软件和硬件环境的描述,以及任何其它与被测软件交互的软件,包括驱动和桩。测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。毫无疑问,稳定和可控的测试环境,可以使测试人员花费较少的时间就完成测试用例的执行,也无需为测试用例、测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时候被准确的重现。简单的说,经过良好规划和管理的测试环境,可以尽可能的减少环境的变动对测试工作的不利影响,并可以对测试工作的效率和质量的提高产生积极的作用。此次测试的环境为:测试环境硬件:intel(r) core(tm) i3 cpu,内存 4g软件:windows 7操作系统,jdk1.6.0_21,oracle myeclipse8.5测试辅助工具ie浏览器5.4 测试项目及结果软件测试的目的是为了发现程序中的错误而执行程序的过程。一个好的测试用例能够发现至今尚未发现的错误。该系统的测试项目是各个模块的测试包括:(1)登录窗口的测试:登陆窗口主要就是用户名和密码的输入,然后点击提交按钮进行登陆,编写测试用例过程中,将用户名分为符合要求、不符合要求、为空、数据库中存在、不存在等几种情况,密码分为符合要求、不符合要求、空、等几种情况进行组合测试9,如下所示:测试项测试内容测试方法与步骤测试判断准则测试结果登陆用户名符合要求观看、操作符合正确要求登陆成功密码符合要求观看、操作符合正确要求登陆成功用户名和密码都符合要求观看、操作符合正确要求登陆成功用户名不符合要求观看、操作不符合要求登陆失败密码不符合要求观看、操作不符合要求登陆失败用户名和密码都不符合要求观看、操作不符合要求登陆失败用户名为空观看、操作不符合要求登陆失败密码为空观看、操作不符合要求登陆失败用户名密码都为空观看、操作不符合要求登陆失败数据库中存在的用户名观看、操作符合要求登陆成功数据库中存在的密码观看、操作符合要求登陆成功数据库中不存在的用户名观看、操作不符合要求登陆失败数据库中不存在的密码观看、操作不符合要求登陆失败数据库中存在的用户名,错误的密码观看、操作不符合要求登陆失败数据库中不存在的用户名,存在的密码观看、操作不符合要求登陆失败输入正确的用户名密码以后按enter是否能登陆观看、操作符合要求登陆成功(2)注册功能测试(3)取款功能测试(4)存款功能测试(5)转帐功能测试(6)操作转向页面测试 系统的测试是为了发现尽可能多的缺陷,保证产品的最终质量。保证程序执行过程中出现尽量少的错误,在本系统中进行过多次测试系统中实现的功能尚未发现测试错误。总结在本系统的开发过程中,由于本人在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对银行储蓄系统的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。本次毕业设计通过完整的银行储蓄系统,从理论到实践,对jsp、struts、hibernate等技术在应用方面有了进一步的学习和研究。通过这次毕业设计,我掌握了系统设计和jsp网络编程的基本知识和技巧,具备了一些网络编程应用的能力。通过对html脚本代码的编写,我对html语言有了一定的掌握。此外,通过对oracle的操作,进一步巩固了我对数据库方面知识的理解,提高了我编写sql语句的能力。而且从该实例中我们可以看到mvc结构可以使程序更具有对象化特性,也更容易维护。在mvc模式中,“视图”、“模型”和“控制器”之间是松耦合结构,便于系统的维护和扩展10。总之,通过这次毕业设计,提高了我的自学能力和独立解决问题的能力,锻炼了我编写软件各种文档的能力,在校期间所学的理论
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 欠款还款合同
- 数字图像授权合同
- 无产权证 租赁合同
- 个体合伙协议范本参考
- 2024年购买房地产居间合同
- 改变房屋规划用途,租赁合同
- 房地产合作开发协议样式
- 家庭财产综合保险合同示范文本
- 童装店转让协议书
- 投影灯市场洞察报告
- 2024至2030年中国方形保鲜盒数据监测研究报告
- 江苏省徐州市铜山区2023-2024学年九年级上学期期中英语试卷(含答案解析)
- 大数据处理服务合同
- 天津市河西区2023-2024学年九年级上学期期中英语试题
- 8.3 法治社会 课件高中政治统编版必修三政治与法治
- 河北省唐山市滦南县2024-2025学年七年级上学期10月期中数学试题
- 第八课 法治中国建设 课件高考政治一轮复习统编版必修三政治与法治
- JGJ162-2008-建筑施工模板安全技术规范
- GB/T 44653-2024六氟化硫(SF6)气体的现场循环再利用导则
- GB/T 44540-2024精细陶瓷陶瓷管材或环材弹性模量和弯曲强度的测定缺口环法
- 道路交通安全法律法规
评论
0/150
提交评论