《银行卡管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《银行卡管理系统的设计与实现.docx(44页珍藏版)》请在课桌文档上搜索。
1、银行卡管理系统的设计与实现摘要信息管理系统是大学接触到的十分常见的管理系统,其中我选取了银行卡管理系统作为本次项目的开发系统,这个系统主要包括后台数据库的建立和维护,前端使用Java语言开发。结合银行卡管理系统的要求,我们需要在数据库管理、Java语言原理以及数据库有一定的了解和学习。接着可以完成对功能模块的划分以及需求分析等等。本系统开发采用了JaVa编程语言的集成环境intellijIDEA实现了代码的运行。本系统的用户可以进行简单的转账、取款、存款以及密码修改等功能,管理员可以进行账号的冻结和解冻以及密码修改等功能。关键字数据库系统开发信息系统SQLJava语言Designandimpl
2、ementationofbankmanagementsystemAbstractTheinformationmanagementsystemisaverycommonmanagementsystemthattheuniversitycomesintocontactwith.Ichosethebankcardmanagementsystemasthedevelopmentsystemofthisproject.Thissystemmainlyincludestheestablishmentandmaintenanceofthebackgrounddatabase,andthefront-endi
3、sdevelopedinJavalanguage.Combinedwiththerequirementsofbankcardmanagementsystem,weneedtohaveacertainunderstandingandlearningindatabasemanagement,Javalanguageprincipleanddatabase.Thenitcancompletethedivisionoffunctionalmodulesandrequirementsanalysisandsoon.InthisSystem5InteIIiJidea,anintegratedenviron
4、mentofJavaprogrammingIanguageJsusedtorunthecode.Usersofthissystemcanperformsimplefunctionssuchastransfer,withdrawal,depositandpasswordmodification.Administratorscanfreezeandunfreezeaccountsandmodifypasswords.KeywordsDatabasesystemdevelopmentinformationsystemSQLJavalanguage弓I言11系统分析21.1 需求分析21.2 可行性分
5、析21.3 功能分析31.4 开发步骤32系统设计42.1 概述42.2 系统的数据流图42.3 系统的功能42.4 数据库设计52.4.1 数据库需求分析52.4.2 概念设计62.4.3 数据库逻辑结构设计82.5 用户界面设计92.5.1 系统安全性验证用户界面设计92.5.2 系统主屏幕的区域设计93系统编码与实现113.1硬件的选择113. 2软件的选择3.3 系统的主要文件及目的113.4 创建普通用户系统管理模块123.4.1 创建“系统登录”123.4.2 创建“功能菜单”123.4.3 创建“存款功能”123.4.4 创建“取款功能”133.4.5 创建“转账功能”133.4
6、.6 创建“交易记录查询”和“余额查询”143.4.7 创建“个人信息”和“密码设置”143.5 创建管理员的登录模块153.5.1 创建“管理员的登录”153.5.2 创建“功能菜单”153.5.3 创建“冻结,删除功能”163.5.4 创建“查询冻结和启用账户功能”163.5.5 创建“开户功能”173.6 工具栏184系统运行与调试194.1 系统的配置194.2 系统的运行194.3 系统的调试19结论21致谢22参考文献23附录部分核心代码24引言本次的系统开发是银行卡管理系统,这个系统是对一些基础银行卡基础业务的管理,是面向所有群体以及银行的管理员。接下来分析此次银行卡管理系统的研
7、究意义以及研究设想。传统的人工管理已经被社会证明为效率极低的管理方式,对于一些企业来说,信息交流沟通如果不能及时回应,往往会带来很负面的影响。然而对于银行的管理者来说,及时的了解资产负债等重要信息,将非常有利于管理层人员及时制定有效的应对措施,避免一些多余的损失。随着计算机的流行,经济社会的发展。手机支付代替了货币的交易,网上购物代替了实体店的购物,就连原来的课堂学习都变成了线上的网络学习。因此,许多人工的工作会慢慢被计算机网络代替。例如本次的系统,人工的存款取款操作十分消耗人力和物力,工作效率也很低。这时,银行以及用户都追求更高的效率,并且还要求做到种类的丰富以及复杂度的提高。银行卡管理系统
8、的出现解决了这个问题,这是一种新型的管理系统,可以降低操作复杂度和出错率从而提高工作效率。如今处于信息时代,互联网使得整个世界成为一个联系日益紧密的群体。银行想要在这个领域里站稳脚跟,就必须跟随时代的发展不断创新。管理信息系统便是实现这一目标的有效手段之一。作为一个毕业设计,本次设计的管理系统在完成的功能上还有些欠缺。最初需要建立的用户表格只有四个,但是表与表之间的联系还是很密切的,这个就需要对数据库有熟悉的了解和应用.所以完成这个项目,要不断提高数据库设计的标准和编程能力,这两个基本功缺一不可。选择这个题目可以不断训练在这两方面知识的表达。本信息管理系统是利用网络技术,实现对银行卡的管理。本
9、系统致力于减少银行内人员的工作量,便于与银行客户的交流,不再是通过语言口头形式的传达,而是计算机的操作。及时反映出用户需求,提高在人工管理上的效率低的问题,银行工作人员也能节省人力。减少了工作量上的要求,银行工作人员可以解决计算机做不全面的业务,使银行经营管理更近一步的简单快捷。1系统分析1. 1需求分析本系统的开发主要面对的群体是普通去银行办理业务的人和银行的内部人员。这个系统的开发对于这两个群体是十分必要的。一方面,提高存取款效率,将原本的人工代替。另一方面,追随时代发展的一种趋势,管理系统的不断研发和跟进是十分必要的。对于一般去办理业务的人员来说,要求做到新建和删除用户,在操作过程中可以
10、更改用户信息。在账户业务部分,可以查询用户的信息,包括各种基本信息、余额、账单等。在操作完成之后依旧可以存储相应的操作纪录并能够查询操作纪录等功能;在信息操作部分,有修改个人信息和查询密码的操作。对于银行业务管理人员来说,能够操作所有账户信息并修改密码。在账户信息部分,可以进行某些账户的开户及冻结等;在信息操作部分,有修改和查询的功能。2. 2可行性分析系统的可行性分析可以分成三个方面的问题。首先是技术可行性分析,运用到的工具是IDEA,需要掌握的是java语言的编写以及对数据库的了解。在校期间,我校开设的课程在JaVa和数据库运用方面已经有了学习,可以充分利用到本次项目中。然而,学习所学的学
11、术性已经掌握,我还缺乏了开发经历。在大四下学期,我去驰星进行了三周的实训,小组完成了一个购物车管理系统。这个项目从接触到完成,我学会了很多课本上接触不到的知识,有简单的软件变更,不再是简单的ECliPe,还有其他的IDEA和Python。也有在代码书写中的规范性问题。因此,这个项目的开发在知识需求上我是具备的。开发系统的计算机硬件已经十分普及,在一般的电脑上都能够实现,同时还要求存储空间的要求,这两个要求达到的话,硬件方面运行以及编写代码是完全没有问题的。用到的工具是IDEA,这是一款与ECIiPe十分相似的工具,在使用方面我请教了周围的一些朋友,最后可以编写此次项目开发的代码。以上几个要求都
12、能完成,那本系统的开发是可以执行的。其次是经济可行性分析,需要考虑到的是投资和收益。投资的定义就是前期需要找到开发系统以及代码编写等。收益的定义就是提高银行的办公效率,用操作系统代替人工的服务。一般收益是商业化的,这里只是对用户满意度的一个体现。在本系统中,我们并没有涉及到收益和投资,因此这个经济可行性是不予考虑的。这个项目的开发是可以执行的。最后是运行可行性分析,需要考虑到面向的群体。开发的系统操作要非常简单,所面对的用户是各类人群,有一些高学历的或者低学历的或者是老人等,因此要考虑到是方便简单的操作。其次还需要有专业的人员指导,可以在这个系统运行时在银行配备工作人员,当用户遇到操作困难是可
13、以得到正确的答复。L3功能分析随着银行存款数量的不断增加,整体的工作需求需要不断提高。银行需要在各个方面提高效率,首先需要改进的就是人工的功能办理。使用计算机来管理银行卡可以大大增加管理的效率,还可以利用计算机管理丰富在各个方面功能上的多样化。在总体功能实现方面应达到以下目标:(1)用户可以进行简单的转账、取款、存款以及密码修改等功能;(2)管理员可以进行账号的冻结和解冻以及密码修改等功能。接下来,经过了一系列的对功能上的分析,可以简单列出数据库的构建:(1)用户信息表:包括编号,密码,姓名,余额,启用状态以及扮演的角色等。(2)个人信息表:包括用户编号,姓名,年龄,性别,地区,电话,卡号等。
14、(3)菜单表:包括编号,功能名,所在界面位置,用户权限管理等。(4)转账交易表:包括编号,转账或者是存款操作,操作对象,时间,金额等。在新系统开发中,应达到以下目标:(1)有详细的设计说明书;(2)模块在功能上的流程图要很清晰,即使是不懂代码的人看到流程图也能知晓这个项目的主要功能;(3)系统能正常运行;(4)系统在界面设计上,要有简洁的界面,用户和管理员都方便操作。L4开发步骤管理信息系统的建立与运用可以划分成三个步骤。第一个步骤的要求是对系统在各个方面的可行性进行分析,主要分析本次项目的进行完成度,确保在软件和硬件以及知识储备上达到开发的要求;第二个步骤的要求是概要设计,主要实现取款子系统
15、,个人信息子系统,管理员系统和用户系统四个部分,主要从四个方面实现对银行卡的管理:第三个步骤的要求是详细设计,在分析了系统的需求后,能够确定开发应用到的软件和硬件,准备好数据库的建立以及整个界面开发的美观和简洁性。这里确定了系统的主要功能,需要反复核对和确认。每一个步骤都不能马虎,要做到为下面系统的开发运行做准备。2系统设计2.1概述本项目为银行提供了银行卡客户的一些存取款、取款、转账的基本业务的处理,还有对银行卡的一些信息,通过后台对数据的处理将有用信息反馈给给银行或普通办理业务的客户。这个系统在各个方面都能超越人工的处理效率。银行卡一种普遍的支付工具,日常生活中这是必不可少的额,例如,我们
16、可以在银行进行存款取款以及转账等功能。随着网络以及计算机的不断发展,银行卡依旧占据了很重要的地位,一些老年人更愿意使用银行卡而不是网上交易。因此,对于银行卡的管理还是十分重要的,它需要做到基本的查询以及存取款服务。如果是单纯以的自己的知识来看,银行对每个用户的交易信息的处理量是一个十分复杂的问题,但是如今便捷的网络条件为银行卡的管理提供了有利的技术条件。这些快捷的方法使得这个系统的运行更加必要。2. 2系统的数据流图首先要确定整个系统的流程,就要清楚的分析系统中数据的产生和处理,为此,在开始设计数据库之前,可以将总的数据流图整理出来,如图1所示。图1系统数据流图2. 3系统的功能经过了对知识进
17、行理解和整个系统应该要具备的功能进行初步的规划后,本系统应具备开户,存款,取款,转账,查询交易,修改密码等功能,得出结构如图2所示。管理员银行卡管理系统普通用户信息设置信息设置账户信息银行业务修改密码图2银行卡管理系统功能结构图2. 4数据库设计数据库的基本步骤就是:创建数据库、创建各个所需要的表、附加约束条件(有字符类型的约束和字符的限制)、创建需要登录的账户信息。数据库需要设计的功能有增、册k改、查,这些基本的功能在本次项目中都有充分的表达。由此看来,数据库的创建的好与坏是十分重要的,好的数据库创建完成后,可以将整个系统的功能进行连接并且实现所需信息的页面跳转。在设计数据库系统时,要不断更
18、新各个方面用户的不同需求,可以进行一个简单的调查后确定所需要实现的功能。在调查时也应该注意到人群的分布,不同群体的需求是不同的。只有了解数据库创建过程中的这些问题和要求,才能够实现功能强大的查询以及复杂的业务规则。2. 4.1数据库需求分析在需求分析阶段,主要任务是分析客户的业务和数据处理需求。首先要判断用户有哪些需求,在本项目中,主要是银行管理员和普通操作人员。整个系统可以进行查询、保存、更新和查询。这里就牵涉到我们需要先收集一些基本的数据,如个人信息,姓名,电话等等。接着可以对数据进行处理,形成一份全面的并且完整的数据字典。数据字典是一个为后续数据库创建提供便利的工具,在这个阶段如果仔细完
19、成,后面的工作将更加的简洁。2. 4.2概念设计在对项目的概念设计阶段,作为一个开发者,要从用户的不同角度来看对数据的处理,在处理数据之后会有一个概念模式的产生,利用这个概念模式可以对整个系统再一次进行分析,最终的目的是把它转化成在项目中体现的概念。如果这样,将概念设计从设计中独立开来,使各阶段的任务变得更加简单化,表现为由粗到精、由模糊到清晰、由抽象到具体的不断跟进。在本项目中,初步可以设置数据库的ER模型图,保证各个信息是正确并完整的。首先要做的就是设计好局部的E-R模式,然后把各局E-R模式,综合转换成一个全局模式,最后优化修改得到最终概念模式。对整个概念图和数据进行整理后,就可以设计出
20、能够满足需求的各种实现,以及实体之间的关系。在实际应用中,我用到了MySqI的数据库环境。首先将实体-关系图转换成关系模型,然后根据上面建立的银行卡管理系统的特点转换成指定的数据模型,最后优化。这些实体包含各种具体信息,一共有四个,在各个阶段能够相互流动。本项目中出现的实体有:菜单信息实体,转账信息实体,个人信息实体和系统用户信息实体。图4、图5。个人信息各个实体E-R图及总E-R图如图3、用户 39-642756船用小H109小古期广他子网直4571241985100H4630Y15-642776点用hantt00ot于芬部南市巾.456321199907070909I倒8峋阚8密用8Iel
21、m.妓南4005211900000978S*!11888688888商用3.5.5创建“开户功能,图18启用账户图【开户】按钮实现过程为:首先声明一个SUbmitlnfo的公共类,将它设置在一个叫PerSOnVO的对象里面,对里面的用户名设置权限,其中i=0为初始值,i0.5?1:0;personVO.setSex(rd+,|);personService.submitlnfb(personVO)如果没有达到条件,则显示数据插入失败,具体实现界面如图19所示。答MbVr;!nVN用户名两开户密码JiP途鼓.*姓名年龄;性触家嵯地埴思伸南话号码111证件码码:3201211000172222%用
22、户角色:普慈明理W图19开户功能图3.6工具栏【注销】的功能:退出信息管理,连接到login界面。【锁屏】【解锁】按钮的实现过程:锁屏时使用getlock()方法,将页面不可实现跳转。解锁时使用UMoCkSUbmit()方法,首先判断获得一个CIoSe的命令,出现解锁提示,跳转并使用getuserName()方法,连接到登录界面,输入密码后,查询对应表单的密码是否正确,正确则解锁成功,否则需要输入密码才能重新进入系统。(如图20和图21所示)信用卡管理系统Irm产行图20工具栏展示图解锁密码:。提交图21解锁界面图4系统运行与调试4.1 系统的配置硬件配置要求:内存:8G以上,硬盘:8G以上,
23、WINDOWSIO操作系统软件配置要求:IDEA软件,MySQL数据库,前端使用到了jQuery、CSS3、html5,后端使用到了TOmCal8.5,、Springmvcmysql、mybatis等。在整个实现中,利用的是基于javascript的开发框架。4.2 系统的运行在计算机上找到IDEA图标,在程序目录双击可执行文件即可。如果发现找不到文件可以重新导入,找到所在路径就可以打开运行。4.3 系统的调试程序调试是在程序运行之前,利用人工的方法,例如手动编译的方法对代码进行修改,可以修正代码在逻辑和语法上的一些错误。在这个过程中可以完善程序的可读性,将程序出现错误的地方进行修改,要保证运
24、行和调试时都不会出错。程序对于语法和逻辑的要求是非常高的,就算运行成功,但是一旦出现问题,整个系统就会崩溃。例如游戏的一些服务器卡顿瞬间,都是代码的不完善导致的。如果可以根据测试时所发现的错误,进一步诊断,找出出错的原因和具体的错误位置进行修正,那么就能减少后期会出现的风险问题。修改代码是十分复杂的,因此要在代码完成时立刻进行检测.在常见的调试中,我们通常会出现不同的问题,主要有:语法错误、运行错误和逻辑错误。在本设计中我归纳了以下几点方法:(1)在程序中插入简单的测试语句或者打印。这样方便对源程序进行调试,但是缺点是效率低,再每一次的打印后会生成一些无关的数据,这个过程是十分复杂的,因此不可
25、取。当然,我们依旧可以做到在每一个语句后面加入一个return测试,例如:publicStringtoLogin)returnlogin;这里就可将Iogin工程化,然后再打印,如果不报错就是没有问题,报错的话可以在所在行找到。(2)运行部分程序。有时只是一段代码的的问题,如果整个程序运行的话十分消耗时间和精力,因此我们可以运行部分代码,以此提高效率。第一步在这里显然就有些复杂了,因为打印的效率低,我们需要将每一个语句-遍遍打印,所有后面的我实行了一次性的运行,将一个版块的程序写完后就运行一次,这样提高第一步骤中效率低的问题。其中最突出的问题就是大小写的问题,多次报错,因为一个函数的调用所用到
26、的名称要一致,所以需要十分注意。例如MaP的首字母大写,我们可以直接等软件提示,因为每一个正确的代码,他都会提示所有调用的函数。借助自带的调试工具。一般来说,程序设计语言都有专门的调试工具,调试的人员可以用这些工具来分析程序的动态行为。Java可以利用debug来进行最后的调试。由于本项目最后的运行十分顺利所以没有用到调试工具。结论本次的毕业设计完成了用户存款和取款的一系列银行卡最基本的功能,基本上满足了银行对于银行卡小部分功能的管理系统的需求。通过本次的毕业设计,我对JaVa和数据库技术的相关知识有了更深刻的了解,现在的我已经能够运用sql语言和使用Java程序来访问Access数据库。在计
27、算机流行的时代,掌握JaVa技术是十分令人羡慕的。在技术上,一个炫酷的技能会令人敬佩。在工作上,这也是个受欢迎的岗位。当然,我们所学的知识还是远远不够的。在课余之际,我也看了很多关于java语言的知识,学好一门计算机语言并不是那么简单的。该设计还是存在着很多问题的,比如在设计程序的过程中,由于开始使用的数据库是MYSQL,在使java程序在和MYSQL数据库连接时会抛出截断字符流的异常,在上网查询后才发现是数据库里设置数据字段是数据长度小或者大了,在实际的场景中,不需要把所有字段都设置的非常长,这会造成短暂的资源浪费,导致输入的字符被截断,可以在捕捉异常后,修改数据库来解决这个问题。期间我还把管理员的数据删除了导致不能登录,因此要检查管理员的登录状态,或者唯一甚至多个管理员的信息状态。如果出现密码正确,用户名正确的情况下,依旧登录不了,那一定是信息冻结的原因。只有不断完善整个功能,这个代码才完整。