基于JAVA的ATM系统设计与实现毕业设计论文.doc_第1页
基于JAVA的ATM系统设计与实现毕业设计论文.doc_第2页
基于JAVA的ATM系统设计与实现毕业设计论文.doc_第3页
基于JAVA的ATM系统设计与实现毕业设计论文.doc_第4页
基于JAVA的ATM系统设计与实现毕业设计论文.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东科技大学本科毕业设计(论文)山 东 科 技 大 学本科毕业设计(论文)开题报告题 目 基于JAVA的ATM系统设计与实现 学 院 名 称 计算机科学与工程学院 专业班级 计算机科学与技术2013级2班 学生姓名 赵荣森 学 号 201301050240 指 导 教 师 杜玉越 填表时间:二0一七年三月二十日设计(论文)题目基于JAVA的ATM系统设计与实现设计(论文)类型(划“”)工程设计应用研究开发研究基础研究其它一、 本课题的研究目的和意义随着市场经济的发展,经济信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。同时,随着国内银行机构的大量增加,我国的银行业面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理,提高银行的工作效率和业务竟争能力是摆在各家银行面前的一个迫切需要解诀的问题。 随着信息技术对银行业的渗透和促进,银行卡业务近年来得到了迅猛发展,银行卡发卡量、交易量大幅激增,ATM设备数量也随之增加。而商业银行旧有的前置应用系统己不堪重负,日渐暴露出交易故障增多、设备接入管理不便、系统维护投入过大、交易安全隐患增多等弊端,这大大影响了银行的正常运作,对银行的业务发展造成了严重束缚。设计出功能完备、架构先进、性能卓越、高稳定性、高可靠性的前置应用系统成为各大银行的迫切任务。本系统针对行业发展及研究状况,详细分析了银行ATM前置系统的需求,并在此基础上,以克服银行旧有系统的弊端为目标,提出了改进的网络架构模型、一致的数据模型、多层次的应用计算模式和完备的系统安全策略。二、 本课题的主要研究内容(提纲)本系统主要模拟银行系统存取款管理软件,其采用C/S结构来实现,有客户端和服务端,需要在客户端先注册用户,服务端会生成相关记录,其数据信息会存入数据库。本系统使用Eclipse作为开发工具,采用MY SQL作为后台数据库,用户所有的操作信息会自动记录在数据库中,用户界面简单明了,功能严谨合理,务求使用户有好的体验。其主要功能有:1.开通帐户 填写注册信息,注册成功后,把用户信息存进数据库(由于是模仿银行的ATM机系统,所以常规的银行卡需要在银行进行认证之后才能开通相关的业务。由于是模拟系统,所以此处是没有开通的认证模块)。2.登录 输入帐户名和密码,读取数据库内容进行验证,如果用户存在,登录成功,否则提示无此账户,请确认后重新输入!登录成功后可进行存款取款转账查询历史操作; 3.存款 对输入的存款金额进行验证,如输入负数或字母,提示金额错误,否则提示存款成功,存储被修改的余额信息。 4.取款 对输入的取款金额进行验证,如输入负数或字母,提示金额错误。取款成功后,存入数据库。当取款金额大于余额,要有提示,并操作不成功。 5.转账 输入对方户名可以进行转账,转账后自己余额减少,对方余额增加。 6.余额查询 显示用户的余额等相关操作 7.退出 退出系统。三、 文献综述(国内外研究情况及其发展)ATM是Automatic Teller Machine 的缩写,即自动柜员机。它是由计算机控制的持卡人自我服务型的金融专用设备。现代意义上的ATM系统始于20世纪60年代末,最早的ATM机只是现钞发放机。直到20世纪70年代初,ATM技术才发展到我们今天的水平。起初,ATM主要用来处理信用卡,如今,ATM实现了与计算机相连接,使客户可以实时的了解账户余额和支付情况。多台ATM机与银行主机相连,就逐渐形成了ATM网络。从全球范围来看,美洲银行、大通银行、花旗银行和加拿大帝国银行等美资、加资银行的ATM系统最为先进、产品组合最为优化、个性化理财经验丰富,属于第一个层次的ATM系统。西欧和北欧国家、新加坡和澳大利亚的ATM系统属于第二个层次。日本、台湾、香港和中国大陆的招商银行等属于第三个层次的ATM系统。工、中、建三大国有商业银行的ATM系统属于第四个层次。显然,中国加入WTO后,现有的ATM系统必须有更大的改善才能满足需求。随着社会经济的发展,信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。现今,人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务:同时,随着我国加入世贸组织,我国的银行业将面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理、进行银行业务再造,提高银行的工作效率和业务竟争能力是摆在各家银行面前的一个迫切需要解诀的问题。近几年来,各商业银行加快了与社会各业的合作,利用自身的网点优势和业务特点,为其提供各种高效、快捷的代收代付业务,也就是ATM系统,目前以与广大人民群众生活密切相关的各项缴费业务如水电费、电话费、手机费等代收业务为主,这些业务开展方式多种多样,但一般都离不开计算机的高效管理支持。随着代理业务不断发展,业务品种越来越多,各项业务做法互有差异,这就对银行的电子化水平和相应的管理水平提出了更高的要求。如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是每个商业银行所要研究的课题。四、 拟解决的关键问题核心问题:(1)、服务器的搭建以及与客户端通信的制定(2)、客户端数据的获取与解析难点:(1)、服务器的搭建以及并发的承受(2)、客户端界面的设计关键点:(1)、数据的存储策略(2)、界面设计规范的遵循(3)、内存的管理(4)、数据格式的转换五、 研究思路和方法首先,我先通过查询关于ATM系统的有关书籍以及论文的查询,分析了ATM系统应该具有的各种功能,选用了JAVA语言进行开发。由于JAVA语言具有简单、面向对象、多线程、分布性、安全性等优点,并且由JAVA语言开发的软件可以在不同的硬件平台和操作系统下运行,大大提高了程序的适用性。然后借鉴有关专家学者的观点和理论,完善该系统的大体轮廓,包括从最初的需求分析到流程图的绘制及模块的分析,还有整个系统功能的确定,界面的设计、服务器的设计、客户端与服务器通信方式的制定以及代码的编写。最后设计客户端的功能,然后从客户端的功能出发设计服务器的结构,最主要的是服务器数据库的设计。设计完了数据库以后,简单搭建起了服务器,使之能返回假数据,并没有写具体的逻辑。然后设计客户端,利用假数据足够支撑客户端的设计。设计完客户端以后开始集合客户端的设计写服务器的具体逻辑功能。写完服务器以后我先对其进行了一个大体的测试,然后让客户端接入服务器。至此,整个系统的设计就大体完成了。六、 本课题的进度安排第5-7周: 这三周的工作主要是思考到底想要做一个怎样的ATM系统,它的定位是什么,应该给它设计上什么功能。 首先是它的定位,关于这个系统我给的定位是一款能适用于各大银行ATM的系统,功能在基础应用上适当扩展。第8-10周: 服务器的初步搭建,java的SocketServer类可以用来实现简单的服务器,我自己扩展一下就可以使用它来作为服务器。 确定了以后就简单的实现了一下服务器的整体骨架,具体的数据信息先用假数据来替代。第11-12周: 实现了服务器的骨架以后,就开始实现客户端的功能,界面上参考了网上一个开发者实现的界面。具体的功能明细如下: 1.开通帐户 2.登录3.存款 4.取款 5.转账 6.余额查询 7.退出 第13-14周: 客户端功能实现的差不多了,现在就差服务器具体的逻辑,然后就可以实现数据的真正的交互。因此,接下来的工作是服务器具体功能的实现以及测试。服务器主要的逻辑无非是配合客户端的具体功能来实现具体的逻辑。第15-16周:至此,整个软件的功能差不多全部实现了。剩下的工作就是测试了,我把软件发送给同学试用,同学帮忙找出了很多的bug以及功能不完善的地方。这段时间进行了bug的修复,以及测试。七、 参考文献1 BruceEckel. Thinking in Java. 北京:机械工业出版社,20112 DanLew. GrokkingRxJavaEB/OL./2014/09/15/-grokking-rxjava-part-1/, 20153 印晏,王行言. Java语言与面向对象程序设计. 北京:清华大学出版社,2010 4 王保罗. Java面向对象程序设计. 北京:清华大学出版社,20035 刘腾红,孙细明. 信息系统分析与设计. 北京:科学出版社,2003 6 毕广吉. Java程序设计实例教程. 北京:冶金工业出版社,20077 齐治昌,谭庆平,宁洪. 软件工程. 北京:高等教育出版社,20048 开发者突击. JSP网络开发经典模块实现全集. 北京:电子工业出版社,2008指导教师意见指导教师(签名): 年 月 日所在系(所)意见 负责人(签章): 年 月 日摘要随着互联网的不断发展和普及,以此为契机,现代信息技术也突破了功能和地域的限制,对人类的物质、文化生活都产生了巨大的影响,一种全新的信息空间,正迅速改变着人类的生活和工作方式。电子商务作为一种新型的商业运作模式也随之产生。ATM作为电子商务系统的一个基础应用,是日常生活中不可或缺的一部分,有着很好的发展前景。国内的银行大都大力发展银行自动取款机(ATM),以提高工作效率和降低成本。ATM机是银行柜台传统业务的最佳替代渠道。一方面,ATM机在功能上最接近银行柜台,存款、取款、转帐、缴费、帐户查询等消费者最常使用的银行业务,ATM机均可办理。另一方面,消费者对自助渠道的接受程度高,在所有电子渠道渠道中(ATM机、网上银行、电话银行和手机银行等),ATM机的认知率最高,有超过90%的消费者认知ATM机,其中年轻人的认知比例更是高达97%。相比之下,网上银行和电话银行仅有70%和50%消费者认知。ATM机已经成为继银行柜台之后,消费者了解最多的银行渠道。 本文介绍了以ATM为代表的商务电子的发展状况、技术背景,具体讲述了如何使用JSP建立了一个ATM系统,ATM系统的建立流程、数据库设计、功能模块的设计。系统使用MyEclipse作为开发工具;使用MySQL作为后台数据库的管理工具。本系统采用B/S架构。主要有一个参与者:用户。用户可以登录系统、注册账号、修改密码、查询余额、存取款、转账等。关键词: ATM系统,Java,JSP,B/S架构Abstract With the continuous development of the Internet and the popularity of this opportunity, modern information technology has broken through the functional and geographical constraints, has exerted great influence on humans material and cultural life, a kind of brand-new information space, is rapidly changing peoples life and work. E-commerce, as a new mode of business operation, has also come into being. As a basic application of e-commerce system, ATM is an indispensable part of daily life and has a very good future. Most domestic banks develop bank automated teller machines (ATM) to improve efficiency and reduce costs. ATM is the best alternative channel for traditional banking counters. On the one hand, ATM machine functions closest to the bank counter, deposits, withdrawals, transfer, payment, account inquiries and other consumer most frequently used banking business, ATM machines can be handled. On the other hand, consumer acceptance of self-service channels, electronic channels in all channels (ATM, Internet banking, telephone banking and mobile phone banking), ATM machine has the highest rate of consumer cognition, cognitive ATM of more than 90%, of which the cognitive proportion of young people is as high as 97%. In contrast, online banking and telephone banking have only 70% and 50% consumer perceptions. ATM has become the bank channel that consumers know most after the bank counter. This paper introduces the technology development, the electronic commerce to ATM as the representative of the background, specifically about how to use JSP to build a ATM system design, build process, database design, function module of ATM system. The system uses MyEclipse as the development tool, and uses MySQL as the management tool of the backstage database. This system adopts B/S structure. There is one main participant: the user. Users can login to the system, register accounts, modify passwords, check the balance, access, transfer, etc.Keywords:ATM system,Java,JSP,B/S structure目录第一章 绪论11.1 系统研究背景11.2 系统研究意义11.3 本文研究内容41.4 论文章节安排5第二章 软件体系结构与关键技术62.1 软件体系结构62.2 关键技术介绍6第三章 系统分析103.1 可行性分析103.2 需求分析103.3 功能分析11第四章 系统设计与实现12 4.1 搭建开发环境12 4.2 数据库设计134.3 概要设计144.4 系统实现15第五章 系统测试215.1 测试方法215.2 测试结果21第六章 总结与展望246.1 总结246.2 展望24致谢辞26参考文献27附录一:外文文献(原文)28附录二:外文文献(译文)37第一章 绪论1.1 系统研究背景随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行帐目管理之中的应用日益收到人们的关注。近年来我国信息产业发展迅速,手工管理方式在银行帐目管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。目前,对外开放必然趋势以使银行业直面外国银行巨头的直接挑战,因此,银行必须提高其工作效率,改善其工作环境,直面外国的挑战。这样,帐户管理的信息化势在必行。在传统的银行帐户管理中,其过程往往是很复杂的,繁琐的,帐户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题。因此该过程必须实现信息化。此系统开发的整体任务是实现银行ATM管理的系统化、规范化、自动化和智能化,从而达到提高企业管理效率的目的。1.2 系统研究意义据中国互联网络信息中心(CNNIC)发布的第37次中国互联网络发展状况统计报告显示,截至2015年12月,中国网民规模达6.88亿;互联网普及率为50.3%;中国手机网民规模达6.20亿;中国企业使用计算机办公的比例为95.2%1。可见互联网与人们的生活息息相关。随着社会的进步和计算机技术的发展,尤其是网络技术的飞速进步,信息观念已经深入人心。信息科学作为当代社会中的重要一环在国民经济中起着举足轻重的作用。自第三次科技革命以来,各交叉学科不断涌现,管理科学与信息科学的密切结合更是大大促进了生产效率,改变了人们久已习惯的人治理念。管理科学的信息化将人们调度优化任务的能力大大提高。我国政府审时度势,提出了以信息化带动工业化的明确战略发展决策。这对于我国占领科技制高点,普及科技教育,推动国民经济的健康可持续发展具有重要的意义。第三产业在一个国家经济中所占据的比例是其经济结构是否先进成熟的重要标准之一。而金融业是第三产业中最为重要的产业,是其他所有产业的力量后盾,为其他产业的正常运营提供保障。作为资金周转的核心层,金融业担负着国计民生的重要职责,其稳定高效的运营是国民经济发展的首要重点。目前每天国际金融及证券市场上的货币流通量远远大于同等时间内产品贸易的货币流通量。如果金融业出现纰漏,将对国民经济产生灾难性的影响。基于金融业的重要性,软件业的发展在很大程度上受到了金融业对信息化程度要求不断提高的影响。目前软件市场上相当大的份额是管理类软件,而且非专业管理类软件也大部分可以通用到金融领域的管理决策。银行作为金融业的执行机构,其主要业务是吸纳存款、发放贷款并使之安全有效地运行。在中国经济蓬勃发展的今天,越来越庞大的储蓄用户数目和资金流通量对银行帐户管理的可靠性每天都在进行苛刻的考验。本文编制的银行ATM系统正是基于此考虑而编制的专用软件。一般把与银行合作开展业务的单位叫做商户,如:若中国电信与交通银行开展代收话费业务则可被视为交行的商户。从目前看来,依靠电子化手段,加强银行帐户的管理,是各家银行提高其工作效率、增强其业务竞争力的重要因素。对银行来说,至少有如下几点益处: (1)有利于增加结算存款开展各项业务时,商户一般会在银行开设本单位的结算帐户,发生更多的往来,帐户上也会保持一定数量的存款余额:同时,被代理商户的用户在银行办理代收代付业务时,也有可能在银行开设个人帐户并留有一定的存款,总之,高效的银行帐户管理系统能够提高银行的存款总量。 (2)有利于扩大用户群、发掘潜在用户,从而带动银行传统业务的发展通过提供高效,优质的业务,吸引更多的用户来银行办理业务,从而扩大了银行的用户群,加强了银行和用户的业务联系,也会带动其他业务的发展。 (3)有利于提高银行的社会形象,稳固业务基础开拓和发展高效的银行ATM系统,,不仅可以服务用户、联系用户、吸引用户、稳定用户,巩固银行业务经营基础,而且通过服务社会,可以塑造银行自身的市场形象,体现银行的综合实力。 (4)加强了银业与商户的联系,为以后更广泛,更深入地开展银企合作打下了基础。高效的帐户管理系统,使银行从某种程度上为被代理单位拓展了业务,节省了一定的人力、物力和财力,通过业务交流和接触,双方加深了了解和友谊,加强了双方的信用协作关系,为以后的发展和合作奠定了良好的基础。 (5)有利于改善银行的业务结构,扩大收益来源,增强抵御风险的能力。近年来,央行连续多次降低利率,迅速缩小了商业银行的利差水平,伴随着信贷业务风险意识的增强,商业银行之间竞争更加激烈,经营成本日趋提高;因此,银行管理系统在整个国际银行业获得了空前的发展,并受到广泛而高度的重视。所以,加快银行帐户系统的科学管理,有利于拓展金融服务的深度和广度,有助于银行获得新的利润增长点,从而改善业务结构、扩大收入来源,提高抗风险能力。 总之,现代商业银行的竞争和发展,已突破传统业务的框架,为了提高银行的业务竞争能力,扩大用户群,培育新的利润增长点,务必大力改良其ATM系统,因此建立一个功能齐全、灵活、通用、可靠、安全、统一的ATM系统成为银行当前业务发展的迫切之需。1.3 本文研究内容本文介绍了以ATM为代表的商务电子的发展状况、技术背景,具体讲述了如何使用JSP建立了一个ATM系统,ATM系统的建立流程、数据库设计、功能模块的设计。ATM系统是一个模拟银行柜台服务的应用程序,它维护着一个数据库,存储着用户信息、银行信息、交易信息等。JSP程序从数据库中获得信息,并呈现给最终用户。系统采用B/S架构,使用MyEclipse作为开发工具,使用MySQL作为后台数据库的管理工具。本文在该系统的设计、开发和实现过程中主要的研究内容包括:(1) 用户注册与登录用户可以通过注册并登录来实现存取款、转账等功能。(2) 查询余额用户可以查看该银行卡的余额信息。(3) 存款用户可以向该卡中存入一定金额。(4) 取款用户可以从该卡中取出一定金额。(5) 转账用户可以从该卡向另一存在的银行卡转入一定金额。(6) 修改密码用户可以修改自己的登录密码。1.4 论文章节安排本文详细介绍了基于JSP的ATM系统的设计与实现。从对ATM系统的分析、设计到实现,将在以下的章节中进行逐步介绍:第1章 绪论,对ATM系统的研究背景进行了详细的阐述,之后对ATM的现状与研究意义进行详细的阐述,最后,对本文研究内容与系统实现功能进行初步说明。第2章 软件体系结构与关键技术,对本系统采用的体系结构和涉及到的理论知识和用到的开发工具做相关阐述。第3章 系统分析,主要对本系统开发的可行性、需求分析和系统所需实现功能进行分析等。第4章 系统设计,主要介绍了本系统的数据库设计、概要设计、详细设计。第5章 系统测试,主要介绍测试在软件开发环节中的重要性和给出本系统的测试过程与结论。第6章 总结与展望,总结了近两三个月的做毕业设计过程中的一些心得和体会,最后做了展望。第2章 软件体系结构与关键技术 本章节主要包含对Java语言的简介、B/S结构的分析、JSP技术的简介以及sql语言特点等信息,具体如下。2.1 软件体系结构2.1.1 B/S结构介绍B/S结构(Browser/Server,浏览器/服务器模式)是WEB兴起后的一种网络结构模式,实质上是以Java技术为核心,以J2EE为平台的计算模式。Web浏览器是用户端最主要的应用软件,这种模式统一了用户端,将系统功能实现的核心部分集中到服务器上,使系统的开发可以一次性到位,并能实现不同的使用者,从不同的地点,以不同的网络接入方式(比如LAN,WAN,Internet等)来访问和操作共同的数据库;并且设置合理的用户权限,来有效地保护数据库平台和管理访问权限,服务器数据库也很安全,特别是在Java这样的跨平台语言出现之后,B/S结构管理软件更加方便、快捷、高效2。2.1.2 B/S结构的优点B/S结构有很多优点。首先,它非常适合网上信息的获取和发布。其次,使得用户端得到很大简化,降低了用户端硬件配置要求,用户端仅仅需要安装浏览器即可。另外,它还使得用户的操作非常简便,只要通过浏览器,便可以获取很多重要信息,也可以访问很多重要的应用3。2.2 关键技术介绍2.2.1 Java语言简介Java是面向对象的、动态的程序设计语言,有Sun Microsystems公司于1995年5月推出,具有简单便捷、平台无关、易于移植、健壮安全、多线程高性能等特点4。Java不仅是不仅是一种功能强大的、安全的、跨平台的、国际化的编程语言,而且它还在不断地被扩展,以提供更多的语言功能和类库,能够优雅处理在传统编程语言中很难解决的问题,例如并发、数据库访问、网络编程和分布式计算5。由于Java是一种简单易用的、面向对象的、分布式的、健壮安全的、可移植的、性能优异的、多线程的静态语言,使得Java语言的应用具有无比的健壮性和可靠性,这也极大的降低了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。2.2.2 JSP技术JSP是JavaServerPage的缩写,是由SunMicrosystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP是一种服务器端HTML(或XML)嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具。JSP技术是用Java语言作为脚本语言的,Java语言是成熟的、强大的、易扩充的编程语言。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序6。JSP是嵌入了Java代码的HTML,两种标记混杂在一定程度上使开发更为方便,但也存在问题,比如混杂的代码易出错,且出错时不方便使用开发工具来设置断点排查。使用JavaBean专注开发逻辑层,JSP页面专注开发应用表达层,最大限度地提高了开发效率。同时,系统将涉及复杂操作的不同功能独立出来,作为一个模块来设计,在需要用到特定功能的程序中,仅仅做出调用即可。这样做不仅避免了程序代码中一些不必要的重复,更重要的是使整个系统层次结构更为清晰,大大方便了以后系统功能的增加。2.2.3 SQL语言SQL是高级的非过程化编程语言,是沟通数据库服务器和用户端的重要工具,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。选用JDBC而不用ODBC的原因是JDBC较ODBC更为容易使用。第3章 系统分析本章首先介绍了基于Java的ATM系统的可行性,确立了开发基础,然后详细阐述了系统各个模块的详细需求分析,最后分析了系统的研究路线和功能设计。3.1可行性分析开发一个基于计算机的系统通常都受到资源(如人力、财力、设备等)和时间上的限制,可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成7。1.经济可行性目标系统开发经济需求的比较低,加上具有成熟的JSP开发技术以及十分普及的上网设备,所以在软硬件的支出上十分有限。因此,本课题的设计开发还是具有相当大的经济可行性的。2.技术可行性本系统使用JSP技术进行开发,发展到现在,JSP已经算是一个较成熟的平台了,现在有非常多的企业及技术人员选择它作为开发平台。因此,在技术上是完全可以胜任这个平台的开发。3.法律可行性由于本系统是在相关法律法规下实施完成的,所以不存在任何法律问题,在法律上是完全可行的。3.2 需求分析需求分析是设计者通过用户对系统要求的说明,对设计系统中需要用到的关键领域的类进行详细的定义并建立模型7。进行需求分析的目的通过需求分析来建立一种设计者与提出需求的用户之间理解和沟通的渠道,需求分析设计者和需求的提供者一起完成的。本系统开发过程中对用户的以下需求进行分析:1. 系统的安全性需求系统的设计应保证用户的内部信息安全,不能外泄,确保使用者的商业机密和个人隐私的安全,保障用户的合法权益。2. 用户的操作需求由于每个人对于计算机的操作能力不同,系统的设计要充分考虑适用性。所以系统的设计应能达到操作方式简单、使用方便,人机交互界面友好等特点。3.3 功能分析本系统主要为银行用户提供服务。用户可以在无需登录的情况下通过ATM系统页面根据卡号和身份证号找回忘记的密码。此外用户在注册并登录后可以查询余额,进行存取款、转账、修改密码等操作。用户用例图如图3.1所示。找回密码注册登录修改密码查询余额存取款转账图3.1 用户用例图第4章 系统设计与实现本章主要介绍了系统的大致设计,包含开发环境的搭建,数据库的设计,系统具体功能的实现。4.1 搭建开发环境4.1.1 JDK环境变量配置右键单击“我的电脑”“属性”“高级”“环境变量”按钮进行配置: 1. 新建变量名:JAVA_HOME,变量值:C:Program FilesJavajdk1.7.0_21,如图4.1.1所示。 图4.1.1新建 JAVA_HOME 变量 2. 打开PATH,添加变量值:%JAVA_HOME%bin,如图4.1.2所示。 图4.1.2新建 PATH 变量 3. 新建变量名:CLASSPATH,变量值:.;%JAVA_HOME%lib,如图4.1.3所示。 图4.1.3新建 CLASSPATH变量4.1.2 Tomcat环境变量配置右键单击“我的电脑”“属性”“高级”“环境变量”按钮进行配置。 1. 新建变量名:CATALINA,变量值:D:tomcat,如图4.1.4所示。 图4.1.4新建 CATALINA变量 2,打开PATH,添加变量值:D:tomcatlib;D:tomcatbin,如图4.1.5所示。 图4.1.5新建 PATH变量4.2 数据库设计4.2.1 概念结构设计本阶段将需求分析阶得到的用户需求和功能需求抽象为信息结构,并利用E-R图描述本数据库的概念模型,反映现实世界的实体、属性和他们之间的关系等的原始数据形式8。E-R图如图4.2.1所示。用户银行用户卡号密码身份证号登录用户名卡号密码账户余额图4.2.1 ATM系统E-R图4.2.2 逻辑结构设计本阶段将实体和实体间的联系转换为关系模式,并确定这些实体模式的属性和码。下面把E-R图的转换成关系模型:用户(用户卡号、密码、用户名、身份证号)说明:此为用户实体对应的关系模型。4.2.3 数据库表设计数据库使用MySQL数据库,数据库名称为user,数据库中共包含1张表,分别为:用户信息表user(CID pass name ID money),如表4.2.1所示。表 4.2.1 用户信息表字段名称字段名数据类型长度备注用户卡号CIDVARCHAR30primary key密码passVARCHAR10用户名nameVARCHAR30身份证号IDVARCHAR30账户余额moneyDOUBLE4.3 概要设计用户可以找回密码、注册登录、修改密码、查询余额、存款、取款、转账等。ATM系统功能如图4.3.1所示。 ATM管理系统找回密码用户登录用户注册修改密码查询余额存取款转账图4.3.1ATM系统功能图4.4 系统实现1. 首页首页是一个网站最先展现在用户眼前的页面,在首页中,用户可以找回密码、注册登录等。尽量做到网站的界面的友好化,使首页能够更加美观,人性化。首页页面如图4.4.1所示。图4.4.1 首页页面2. 找回密码页面在登录网站后,用户可能已经注册过账户,需要找回曾经的密码,就需要网站具有找回功能,而不是让用户去柜台办理,合理的找回服务能给ATM系统增色不少。本系统提供了使用卡号和身份证号相结合的找回方法,为用户提供找回密码服务。找回密码页面如图4.4.2所示。图4.4.2 找回密码页面3. 用户注册页面如果用户还没有注册过账户,则需要先进行注册操作。用户注册页面如图4.4.3所示。图4.4.3 用户注册页面4. 用户登录页面当用户找回密码或注册成功,则可以进行登录,登录后可以进行存取款等操作。用户登录页面如图4.4.4所示。图4.4.4 用户登录页面5. 修改密码页面用户登录后可以修改密码来保护账户安全。修改密码页面如图4.4.5所示。图4.4.5 修改密码页面6. 存款页面用户在登录后,可以进行存款操作。存款页面如图4.4.6所示。图4.4.6 存款页面7. 取款页面用户在登录后,可以进行取款操作。取款页面如图4.4.7所示。图4.4.7 取款页面8. 转账页面用户在登录后,可以进行转账操作。转账页面如图4.4.8所示。图4.4.8 转账页面9. 查询余额页面用户登录后可以进行查询余额操作。查询余额页面如图4.4.9所示。图4.4.9 查询余额页面10. 退出系统页面用户完成操作后,可以通过退出系统返回首页清除自己的信息来保护账户安全。退出系统页面如图4.4.10所示。图4.4.10 退出系统页面第五章 系统测试5.1 测试方法动态测试的主要特征是计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况(输入/输出的对应关系)进行分析。常用的方法有白盒测试和黑盒测试9。5.1.1 白盒测试白盒测试,又称结构测试、逻辑驱动测试或基于程序的测试。它依赖于对程序细节的严密检验,针对特定条件和与循环集设计测试用例。对软件的逻辑路径进行测试。白盒测试用来分析程序的内部结构。5.1.2 黑盒测试黑盒测试,又称功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试。用这种方法进行测试时,把被测程序当做一个黑河,在不考虑程序内部结构和内部特性,测试者只知道改程序输入和输出之间的关系或程序的功能的情况下,依靠能够反映程序功能需求规格的说明书,来确定测试用例和推断测试结果的正确性。黑盒测试被用来证实软件功能的正确性和可操作性。5.2 测试结果1. 注册/登录测试,如表5.1所示。表5.1 注册/登录测试测试项目测试用例操作流程测试结果用户注册用户名: mandom 密码:123456点击“用户注册”按钮进行注册注册成功用户注册用户名: tom 密码:123456点击“用户注册”按钮进行注册注册失败,提示用户名已存在用户登录用户名:tom 密码:12345678点击“登录”按钮进行登录登录失败,提示登录失败信息用户登录用户名:tom 密码:123456点击“登录”按钮进行登录登录成功2. 操作测试,如表5.2所示。表5.2 操作测试测试项目测试用例操作流程测试结果修改密码已登录点击“修改密码”按钮确认进入修改页面修改密码已登录点击“确认修改”按钮确认修改成功查询余额已登录点击“查询余额”按钮确认查询成功存款已登录点击“存款”按钮确认进入存款界面存款已登录点击“300”按钮确认存款成功取款余额充足点击“取款”按钮确认进入取款界面取款余额充足点击“200”按钮确认取款成功取款余额不足点击“取款”按钮确认进入取款界面取款余额不足点击“500”按钮确认取款失败转账余额充足、转账账号存在点击“转账”按钮确认转账成功转账余额充足、转账账号不存在点击“转账”按钮确认转账失败转账余额不足、转账账号存在点击“转账”按钮确认转账失败转账余额不足、转账账号不存在点击“转账”按钮确认转账失败3. 安全性测试,如表5.3所示。表5.3 安全性测试测试项目测试用例操作流程测试结果用户登录用户名:tom 密码:123456点击“登录”按钮进行登录登录成功用户登录URL:http:/localhost:8080/ATM/loginsuc.jsp从地址栏进入登录页面登录失败查询余额已登录点击“查询余额”按钮查询成功查询余额URL:http:/localhost:8080/ATM/checksuc.jsp从地址栏进入查询页面查询失败存款已登录点击“存款”按钮进入存款页面进入成功存款URL:http:/localhost:8080/ATM/save.jsp从地址栏进入存款页面进入失败取款已登录点击“取款”按钮进入取款页面进入成功取款URL:http:/localhost:8080/ATM/get.jsp从地址栏进入取款页面进入失败转账已登录点击“转账”按钮进入转账页面进入成功转账URL:http:/localhost:8080/ATM/transport.jsp从地址栏进入转账页面进入失败第六章 总结与展望6.1 总结我选择的毕业设计的题目为基于JAVA的ATM系统。选择这个题目是由于我在Java编程以及JSP网页设计方面有一定的基础,此次毕业设计不同于平时的课程设计,需要更多的精力独立完成,这有助于提高我在Java编程方面的能力。本系统由Myeclipse+tomcat+MySQL实现,采用最基本的MVC模式,在MVC模式中,逻辑层与表现层分离开来,业务逻辑层与具体的显示层面不相关,逻辑层的代码量消除了膨胀隐患,表现层也可交由其它非业务人员自由调整,最后完美整合,在层次分工上,比传统模式更加清晰,利于维护,大大减少了重构成本。越大的项目中MVC的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论