《银行卡管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《银行卡管理系统的设计与实现.docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、银行卡管理系统的设计与实现摘要 信息管理系统是大学接触到的十分常见的管理系统,其中我选取了银行卡管理系统作为本次项目的开发系统,这个系统主要包括后台数据库的建立和维护,前端使用Java语言开发。结合银行卡管理系统的要求,我们需要在数据库管理、Java语言原理以及数据库有一定的了解和学习。接着可以完成对功能模块的划分以及需求分析等等。本系统开发采用了Java编程语言的 集成环境intellij IDEA实现了代码的运行。本系统的用户可以进行简单的转账、取款、存款以及密码修改等功能,管理员可以进行账号的冻结和解冻以及密码修改等功能。 关键字 数据库 系统开发 信息系统SQL Java语言Desig
2、n and implementation of bank management systemAbstract The information management system is a very common management system that the university comes into contact with. I chose the bank card management system as the development system of this project. This system mainly includes the establishment an
3、d maintenance of the background database, and the front-end is developed in Java language. Combined with the requirements of bank card management system, we need to have a certain understanding and learning in database management, Java language principle and database. Then it can complete the divisi
4、on of functional modules and requirements analysis and so on. In this system, IntelliJ idea, an integrated environment of Java programming language, is used to run the code. Users of this system can perform simple functions such as transfer, withdrawal, deposit and password modification. Administrat
5、ors can freeze and unfreeze accounts and modify passwords.Key words Database system development information system SQL Java language目 录引言11系统分析21.1需求分析21.2可行性分析21.3功能分析31.4开发步骤32系统设计42.1 概述42.2 系统的数据流图42.3系统的功能42.4数据库设计52.4.1数据库需求分析52.4.2概念设计62.4.3数据库逻辑结构设计72.5用户界面设计82.5.1系统安全性验证用户界面设计82.5.2系统主屏幕的区域
6、设计93系统编码与实现103.1 硬件的选择103.2 软件的选择103.3 系统的主要文件及目的103.4创建普通用户系统管理模块113.4.1 创建“系统登录”113.4.2 创建“功能菜单”113.4.3 创建“存款功能”123.4.4 创建“取款功能”123.4.5 创建“转账功能”123.4.6 创建“交易记录查询”和“余额查询”133.4.7 创建“个人信息”和“密码设置”133.5 创建管理员的登录模块143.5.1 创建“管理员的登录”143.5.2 创建“功能菜单”143.5.3 创建“冻结,删除功能”153.5.4 创建“查询冻结和启用账户功能”153.5.5 创建“开户功
7、能”163.6工具栏174系统运行与调试184.1 系统的配置184.2 系统的运行184.3 系统的调试18结论20致谢21参考文献22附录 部分核心代码23引言本次的系统开发是银行卡管理系统,这个系统是对一些基础银行卡基础业务的管理,是面向所有群体以及银行的管理员。接下来分析此次银行卡管理系统的研究意义以及研究设想。传统的人工管理已经被社会证明为效率极低的管理方式,对于一些企业来说,信息交流沟通如果不能及时回应,往往会带来很负面的影响。然而对于银行的管理者来说,及时的了解资产负债等重要信息,将非常有利于管理层人员及时制定有效的应对措施,避免一些多余的损失。随着计算机的流行,经济社会的发展。
8、手机支付代替了货币的交易,网上购物代替了实体店的购物,就连原来的课堂学习都变成了线上的网络学习。因此,许多人工的工作会慢慢被计算机网络代替。例如本次的系统,人工的存款取款操作十分消耗人力和物力,工作效率也很低。这时,银行以及用户都追求更高的效率,并且还要求做到种类的丰富以及复杂度的提高。银行卡管理系统的出现解决了这个问题,这是一种新型的管理系统,可以降低操作复杂度和出错率从而提高工作效率。如今处于信息时代,互联网使得整个世界成为一个联系日益紧密的群体。银行想要在这个领域里站稳脚跟,就必须跟随时代的发展不断创新。管理信息系统便是实现这一目标的有效手段之一。作为一个毕业设计,本次设计的管理系统在完
9、成的功能上还有些欠缺。最初需要建立的用户表格只有四个,但是表与表之间的联系还是很密切的,这个就需要对数据库有熟悉的了解和应用。所以完成这个项目,要不断提高数据库设计的标准和编程能力,这两个基本功缺一不可。选择这个题目可以不断训练在这两方面知识的表达。本信息管理系统是利用网络技术,实现对银行卡的管理。本系统致力于减少银行内人员的工作量,便于与银行客户的交流,不再是通过语言口头形式的传达,而是计算机的操作。及时反映出用户需求,提高在人工管理上的效率低的问题,银行工作人员也能节省人力。减少了工作量上的要求,银行工作人员可以解决计算机做不全面的业务,使银行经营管理更近一步的简单快捷。1系统分析1.1需
10、求分析本系统的开发主要面对的群体是普通去银行办理业务的人和银行的内部人员。这个系统的开发对于这两个群体是十分必要的。一方面,提高存取款效率,将原本的人工代替。另一方面,追随时代发展的一种趋势,管理系统的不断研发和跟进是十分必要的。对于一般去办理业务的人员来说,要求做到新建和删除用户,在操作过程中可以更改用户信息。在账户业务部分,可以查询用户的信息,包括各种基本信息、余额、账单等。在操作完成之后依旧可以存储相应的操作纪录并能够查询操作纪录等功能;在信息操作部分,有修改个人信息和查询密码的操作。对于银行业务管理人员来说,能够操作所有账户信息并修改密码。在账户信息部分,可以进行某些账户的开户及冻结等
11、;在信息操作部分,有修改和查询的功能。1.2可行性分析系统的可行性分析可以分成三个方面的问题。首先是技术可行性分析,运用到的工具是IDEA,需要掌握的是java语言的编写以及对数据库的了解。在校期间,我校开设的课程在Java和数据库运用方面已经有了学习,可以充分利用到本次项目中。然而,学习所学的学术性已经掌握,我还缺乏了开发经历。在大四下学期,我去驰星进行了三周的实训,小组完成了一个购物车管理系统。这个项目从接触到完成,我学会了很多课本上接触不到的知识,有简单的软件变更,不再是简单的Eclipe,还有其他的IDEA和python。也有在代码书写中的规范性问题。因此,这个项目的开发在知识需求上我
12、是具备的。开发系统的计算机硬件已经十分普及,在一般的电脑上都能够实现,同时还要求存储空间的要求,这两个要求达到的话,硬件方面运行以及编写代码是完全没有问题的。用到的工具是IDEA,这是一款与Eclipe十分相似的工具,在使用方面我请教了周围的一些朋友,最后可以编写此次项目开发的代码。以上几个要求都能完成,那本系统的开发是可以执行的。其次是经济可行性分析,需要考虑到的是投资和收益。投资的定义就是前期需要找到开发系统以及代码编写等。收益的定义就是提高银行的办公效率,用操作系统代替人工的服务。一般收益是商业化的,这里只是对用户满意度的一个体现。在本系统中,我们并没有涉及到收益和投资,因此这个经济可行
13、性是不予考虑的。这个项目的开发是可以执行的。最后是运行可行性分析,需要考虑到面向的群体。开发的系统操作要非常简单,所面对的用户是各类人群,有一些高学历的或者低学历的或者是老人等,因此要考虑到是方便简单的操作。其次还需要有专业的人员指导,可以在这个系统运行时在银行配备工作人员,当用户遇到操作困难是可以得到正确的答复。1.3功能分析随着银行存款数量的不断增加,整体的工作需求需要不断提高。银行需要在各个方面提高效率,首先需要改进的就是人工的功能办理。使用计算机来管理银行卡可以大大增加管理的效率,还可以利用计算机管理丰富在各个方面功能上的多样化。在总体功能实现方面应达到以下目标:(1)用户可以进行简单
14、的转账、取款、存款以及密码修改等功能;(2)管理员可以进行账号的冻结和解冻以及密码修改等功能。接下来,经过了一系列的对功能上的分析,可以简单列出数据库的构建:(1)用户信息表:包括编号,密码,姓名,余额,启用状态以及扮演的角色等。(2)个人信息表:包括用户编号,姓名,年龄,性别,地区,电话,卡号等。(3)菜单表:包括编号,功能名,所在界面位置,用户权限管理等。(4)转账交易表:包括编号,转账或者是存款操作,操作对象,时间,金额等。在新系统开发中,应达到以下目标:(1)有详细的设计说明书;(2)模块在功能上的流程图要很清晰,即使是不懂代码的人看到流程图也能知晓这个项目的主要功能;(3)系统能正常
15、运行;(4)系统在界面设计上,要有简洁的界面,用户和管理员都方便操作。1.4开发步骤管理信息系统的建立与运用可以划分成三个步骤。第一个步骤的要求是对系统在各个方面的可行性进行分析,主要分析本次项目的进行完成度,确保在软件和硬件以及知识储备上达到开发的要求;第二个步骤的要求是概要设计,主要实现取款子系统,个人信息子系统,管理员系统和用户系统四个部分,主要从四个方面实现对银行卡的管理;第三个步骤的要求是详细设计,在分析了系统的需求后,能够确定开发应用到的软件和硬件,准备好数据库的建立以及整个界面开发的美观和简洁性。这里确定了系统的主要功能,需要反复核对和确认。每一个步骤都不能马虎,要做到为下面系统
16、的开发运行做准备。2系统设计2.1 概述本项目为银行提供了银行卡客户的一些存取款、取款、转账的基本业务的处理,还有对银行卡的一些信息,通过后台对数据的处理将有用信息反馈给给银行或普通办理业务的客户。这个系统在各个方面都能超越人工的处理效率。银行卡一种普遍的支付工具,日常生活中这是必不可少的额,例如,我们可以在银行进行存款取款以及转账等功能。随着网络以及计算机的不断发展,银行卡依旧占据了很重要的地位,一些老年人更愿意使用银行卡而不是网上交易。因此,对于银行卡的管理还是十分重要的,它需要做到基本的查询以及存取款服务。如果是单纯以的自己的知识来看,银行对每个用户的交易信息的处理量是一个十分复杂的问题
17、,但是如今便捷的网络条件为银行卡的管理提供了有利的技术条件。这些快捷的方法使得这个系统的运行更加必要。2.2 系统的数据流图首先要确定整个系统的流程,就要清楚的分析系统中数据的产生和处理,为此,在开始设计数据库之前,可以将总的数据流图整理出来,如图 1所示。数据流数据流图 1 系统数据流图2.3系统的功能经过了对知识进行理解和整个系统应该要具备的功能进行初步的规划后,本系统应具备开户,存款,取款,转账,查询交易,修改密码等功能,得出结构如图 2所示。图 2 银行卡管理系统功能结构图2.4数据库设计数据库的基本步骤就是:创建数据库、创建各个所需要的表、附加约束条件(有字符类型的约束和字符的限制)
18、、创建需要登录的账户信息。数据库需要设计的功能有增、删、改、查,这些基本的功能在本次项目中都有充分的表达。由此看来,数据库的创建的好与坏是十分重要的,好的数据库创建完成后,可以将整个系统的功能进行连接并且实现所需信息的页面跳转。在设计数据库系统时,要不断更新各个方面用户的不同需求,可以进行一个简单的调查后确定所需要实现的功能。在调查时也应该注意到人群的分布,不同群体的需求是不同的。只有了解数据库创建过程中的这些问题和要求,才能够实现功能强大的查询以及复杂的业务规则。2.4.1数据库需求分析在需求分析阶段,主要任务是分析客户的业务和数据处理需求。首先要判断用户有哪些需求,在本项目中,主要是银行管
19、理员和普通操作人员。整个系统可以进行查询、保存、更新和查询。这里就牵涉到我们需要先收集一些基本的数据,如个人信息,姓名,电话等等。接着可以对数据进行处理,形成一份全面的并且完整的数据字典。数据字典是一个为后续数据库创建提供便利的工具,在这个阶段如果仔细完成,后面的工作将更加的简洁。2.4.2概念设计在对项目的概念设计阶段,作为一个开发者,要从用户的不同角度来看对数据的处理,在处理数据之后会有一个概念模式的产生,利用这个概念模式可以对整个系统再一次进行分析,最终的目的是把它转化成在项目中体现的概念。如果这样,将概念设计从设计中独立开来,使各阶段的任务变得更加简单化,表现为由粗到精、由模糊到清晰、
20、由抽象到具体的不断跟进。在本项目中,初步可以设置数据库的模型图,保证各个信息是正确并完整的。首先要做的就是设计好局部的-模式,然后把各局-模式,综合转换成一个全局模式,最后优化修改得到最终概念模式。对整个概念图和数据进行整理后,就可以设计出能够满足需求的各种实现,以及实体之间的关系。在实际应用中,我用到了MySql的数据库环境。首先将实体-关系图转换成关系模型,然后根据上面建立的银行卡管理系统的特点转换成指定的数据模型,最后优化。这些实体包含各种具体信息,一共有四个,在各个阶段能够相互流动。本项目中出现的实体有:菜单信息实体,转账信息实体,个人信息实体和系统用户信息实体。各个实体E-R图及总E
21、-R图如图 3、图 4、图 5。 个人信息密码编号名字图2图 3 个人信息实体图-3个人信息的实体ER图年龄编号用户电话卡号姓名性别地区图2-图 4 用户信息实体图4用户信息的实体ER图个人信息姓名编号密码用户菜单转账信息包括执行编号姓名年龄性别卡号地区电话用户权限界面位置功能名编号对象记录时间金额编号执行存储图 5 总体的实体ER图2.4.3数据库逻辑结构设计数据库概念结构设计完成后,可以将E-R图转换成多张表格,进行逻辑设计。可以将上面的数据库概念转化为某种数据库系统所支持的实际数据类型。在银行卡管理系统中使用的各个数据表的字段设置如表 1、表 2、表 3、表 4:字段名类型长度可否为空小
22、数点说明idvarchar255否0主索引字段accountidvarchar2550ageint40realnamevarchar2550sexvarchar80addressvarchar2550telvarchar2550cardidvarchar2550表 1 个人信息表(personinfo)字段名类型长度可否为空小数点说明Idvarchar255否0主索引字段namevarchar1000parent_idvarchar2550actionvarchar2550is_parentint200checkedint200openint200iconvarchar2250menutype
23、varchar200表 2 菜单表(f_menu)字段名类型长度可否为空小数点说明idvarchar225否0主索引字段usernamevarchar2250passwordvarchar2250balancedecimal182statusvarcharv200rolevarchar500表 3 用户表(account)字段名类型长度可否为空小数点说明idvarchar225否0主索引字段accountidvarchar2250otheridvarchar2250tr_moneydecimal182datetimedatetime00typevarchar2250表 4 转账信息表(tran
24、saction)2.5用户界面设计用户界面是指软件系统与用户之间交互的重要阶段,一般是用来登录,通常包括输出,输入的界面与方式等。由于本系统的最终用户是各种各样的群体,有老人和精通设计的专业人员,因此本系统需要简洁。所以在本系统上,采用了直接登录和点击的方式。2.5.1系统安全性验证用户界面设计用户登录窗口界面是进入系统之前必须经历的过程,这是用户最直观的对系统的判断。因此,考虑到的风格要简洁、实用、友好。登录本系统,用户将看到如下画面(如图 6所示):图 6 用户登录界面图2.5.2系统主屏幕的区域设计在对主屏幕进行设计时,可以把界面划分成几个不同的区域,其中有工作区,状态信息区以及主菜单区
25、,如表 5所示:状 态 信 息 区 主要有锁屏、登录名、注销等主 菜 单 区主要有执行的业务工 作 区记录当前执行业务的进度以及历史记录中间是具体的业务的工作流程右下角显示页数表 5 区域设计表3系统编码与实现3.1 硬件的选择在硬件的选择上,我们选择了Windows平台作为开发、测试和运行的平台。和其他操作平台相比,因为Window操作系统的应用是十分广泛的。它的操作十分简单,没有复杂化的操作,这让用户在体验度上大大加分。在本项目的设计与开发中,我们使用Windows已经足够使用了。同时,在后台数据库的配合下能够完成与Windows系统的紧密集成。其次有着许多的多媒体功能,在为了方便的前提下
26、,大多数人还是会选择Windows。如果选用它作为开发平台,在这个项目需要功能的添加上会更加方便,如果软件更新时也会比较节约时间。3.2 软件的选择在学校我们学习使用eclipse操作并管理数据库,但是我发现它也有缺点。在实习的这段时间,我接触到了IDEA,最后经过认真分析两者的不同,结合银行卡管理系统的需要和目前的硬件环境,我们选用IntelijIDEA作为软件开发工具。IDEA相比eclipse有以下几方面的优点:(1)在项目管理上十分便捷。IDEA中的Project类似于eclipe中的workspace,而Module类似于eclipse中的project。IDEA在建立工程时是十分方
27、便快捷的。在其他人的帮助下,我了解到,代码的工程化会使项目在运行上更通俗化。简而言之就是,就算是外行来运行,可以在一个总的apply下写一串代码,只需执行这一串便可以运行整个代码,这就是工程化的优点。IDEA中的Project是一个工程的意思,它把各个模块的信息连接到一起,最后要做的就是用一段简单的语句划分,使得项目做到工程化。IDEA拥有的强大的整合能力,在框架的选取上,Git、Maven、Spring等都支持,与此同时它的提示功能快捷,范围广。(2)在开发效率上十分快速。IDEA可以在任意的代码界面提示相关值,遇到棘手的情况也能快速解决。在一些基本的单词和语法上,计算机会自动提示所在的语法
28、行或者位置,而且可以实现在代码进行刷新时,界面自动更新的功能。撇开这些,在IDEA中还有很多的快捷键便于使用,首字母的提示就是一个简单的体现。在代码编写的过程中速度是十分快捷的,并且能做到准确报错。如果不小心将单词输入错误,将不会出现下一步的提示,这就说明在前面的代码中出现了语法错误。3.3 系统的主要文件及目的系统主要文件及目的如表 6所示。文件作用.ftl(html)发送一个请求,将用户执行的操作数据发送给前端,主要的是进行页面的设计controller用来寻找在类下面的函数的具体实现,可以找到具体运行的方法service声明几个对应数据库的类,利用私有方法对.xml页面下的操作进行实现和
29、部分调用mapper对应xml文件执行,这里面是在sql语言执行的情况下,给出具体的函数并且执行.xml增删改查的sql语句,执行完成之后,一层层返回,最后返回给ftl,ftl根据返回的信息作相应的处理表 6 系统文件目的表3.4创建普通用户系统管理模块3.4.1 创建“系统登录”系统登录的界面主要由一个“登录”按钮构成,运行界面如上一章图 2-6 所示。【登录】按钮实现过程为: (1)输入用户和密码信息。(2)在登录界面中,当账号密码不为空时,对后台发送一个请求,将账号密码以及角色发送给后台数据,执行的是login()函数的调用,对应后台controller的logincontroller类
30、,使用findByUser()方法,对应判断是否密码账户的正确性,最后进入系统。(3)在密码的输入上需要正确才能进入系统。(4)其中角色方面可以选择是普通用户和管理员。3.4.2 创建“功能菜单”普通用户管理界面主要由“存款”、“取款”、“转账”、“交易记录”、“余额查询”、“个人信息”和“密码修改”按钮构成,界面如图 7所示。图 7 功能菜单图菜单的主要实现:首先执行getAll方法,返回类型为list,list里面以menu存储,通过对菜单里面个人信息的查找,判断为管理员还是普通用户,然后通过一个私有类进行列表存储和打印。3.4.3 创建“存款功能”【存款】按钮实现过程为:首先声明一个Tr
31、ansactionConttoller的公共类,然后赋予它一个depoist的值,利用ajax找到里面两个参数,判断是否符合大于0的存款要求,符合就将这个trmoney传给所在name,显示操作成功,否则操作失败。(如图 8)图 8 存款功能图3.4.4 创建“取款功能”【取款】按钮实现过程为:首先声明一个TransactionConttoller的公共类,然后赋予它一个在withdrawals的值,找到这个文件下的函数,可以看到使用了save()方法,定义两个变量,一个是时间,一个是金额,如果没有接收到trmoney的话,就会提示取款。下面就是和存款一样的用ajax找到对应参数,判断取款要求
32、需要大于0并且小于等于余额里的值,否则取款失败。(如图 9所示)。图 9 取款功能图3.4.5 创建“转账功能”【取款】按钮实现过程为:首先声明一个TransactionConttoller的公共类,然后赋予它一个在transfer的值,找到这个文件下的函数,可以看到使用了result()方法,定义两个变量,利用findbalance()方法,判断是否符合转账条件,如果statue=0,则执行转账功能,否则转账失败。(如图 10所示)。图 10 转账功能图3.4.6 创建“交易记录查询”和“余额查询”【交易记录】【余额查询】按钮实现过程为:首先声明一个TransactionConttoller
33、的公共类,然后赋予它一个在allTrans的值,找到这个文件下的records函数,这里是根据session找到所有交易记录,返回Trans列表,列表中可以查到具体的记录以及余额。(如图 11,图 12所示)。图 11 交易记录查询图图 12 余额查询图3.4.7 创建“个人信息”和“密码设置”【个人信息】【密码设置】按钮实现过程为:执行allTrans,寻找到所有数据,点击修改后,修改数据,连接后台的数据库,利用增删改查的sql语句,执行完成之后,一层层返回,最后返回给ftl,ftl根据返回的信息作相应的处理。密码修改时,用到一个changepassword方法 判断修改的密码是否符合规范,
34、全空则提示不能为空;新密码和输入密码不一样时则提示两次密码不一致;符合规范则提示密码修改成功。(如图 13所示)。图 13 密码设置图3.5 创建管理员的登录模块3.5.1 创建“管理员的登录”同普通用户的登录过程一样,如图 14所示。图 14 管理员登录表3.5.2 创建“功能菜单”管理员管理界面主要由“所有账户”、“已冻结账户”、“已启用账户”、“开户”和“密码修改”按钮构成,实现过程和普通用户执行过程一样。界面如图 15所示。图 15 创建的功能菜单图3.5.3 创建“冻结,删除功能”【冻结】按钮实现过程为:首先声明一个PersonController的公共类,然后赋予它一个在Allpe
35、rson的值,找到这个文件下的StopPerson函数。执行的是获取所有人员信息,转换成一个list,将所选的一行进行删除,并修改statue的值。(如图 16所示)。图 16 冻结、删除功能图3.5.4 创建“查询冻结和启用账户功能”【查询】按钮实现过程为:声明一个PersonController的公共类,然后赋予它一个在Allperson的值,找到这个文件下的OpenPerson函数。将其中的内容赋值叫map,最后输出到界面。(如图 17、图 18所示)。图 17 查询冻结图图 18 启用账户图3.5.5 创建“开户功能”【开户】按钮实现过程为:首先声明一个SubmitInfo的公共类,将
36、它设置在一个叫personvo的对象里面,对里面的用户名设置权限,其中i=0为初始值,i0.5?1:0; personVO.setSex(rd+); personService.submitInfo(personVO);如果没有达到条件,则显示数据插入失败,具体实现界面如图 19所示。图 19 开户功能图3.6工具栏【注销】的功能:退出信息管理,连接到login界面。【锁屏】【解锁】按钮的实现过程:锁屏时使用getlock()方法,将页面不可实现跳转。解锁时使用unlockSubmit()方法,首先判断获得一个close的命令,出现解锁提示,跳转并使用getuserName()方法,连接到登录
37、界面,输入密码后,查询对应表单的密码是否正确,正确则解锁成功,否则需要输入密码才能重新进入系统。(如图 20和图 21所示)图 20 工具栏展示图图 21 解锁界面图4系统运行与调试4.1 系统的配置(1)硬件配置要求: 内存:8G以上,硬盘:8G以上,WINDOWS10操作系统(2)软件配置要求:IDEA软件,MySQL数据库,前端使用到了jQuery、css3、html5,后端使用到了Tomcat8.5,、spring mvc、mysql、mybatis等。在整个实现中,利用的是基于javascript的开发框架。4.2 系统的运行在计算机上找到IDEA图标,在程序目录双击可执行文件即可。
38、如果发现找不到文件可以重新导入,找到所在路径就可以打开运行。4.3 系统的调试程序调试是在程序运行之前,利用人工的方法,例如手动编译的方法对代码进行修改,可以修正代码在逻辑和语法上的一些错误。在这个过程中可以完善程序的可读性,将程序出现错误的地方进行修改,要保证运行和调试时都不会出错。程序对于语法和逻辑的要求是非常高的,就算运行成功,但是一旦出现问题,整个系统就会崩溃。例如游戏的一些服务器卡顿瞬间,都是代码的不完善导致的。如果可以根据测试时所发现的错误,进一步诊断,找出出错的原因和具体的错误位置进行修正,那么就能减少后期会出现的风险问题。修改代码是十分复杂的,因此要在代码完成时立刻进行检测。在
39、常见的调试中,我们通常会出现不同的问题,主要有:语法错误、运行错误和逻辑错误。在本设计中我归纳了以下几点方法:(1)在程序中插入简单的测试语句或者打印。这样方便对源程序进行调试,但是缺点是效率低,再每一次的打印后会生成一些无关的数据,这个过程是十分复杂的,因此不可取。当然,我们依旧可以做到在每一个语句后面加入一个return测试,例如:public String toLogin() return login;这里就可将login工程化,然后再打印,如果不报错就是没有问题,报错的话可以在所在行找到。(2)运行部分程序。有时只是一段代码的的问题,如果整个程序运行的话十分消耗时间和精力,因此我们可以
40、运行部分代码,以此提高效率。第一步在这里显然就有些复杂了,因为打印的效率低,我们需要将每一个语句一遍遍打印,所有后面的我实行了一次性的运行,将一个版块的程序写完后就运行一次,这样提高第一步骤中效率低的问题。其中最突出的问题就是大小写的问题,多次报错,因为一个函数的调用所用到的名称要一致,所以需要十分注意。例如Map的首字母大写,我们可以直接等软件提示,因为每一个正确的代码,他都会提示所有调用的函数。借助自带的调试工具。一般来说,程序设计语言都有专门的调试工具,调试的人员可以用这些工具来分析程序的动态行为。Java可以利用debug来进行最后的调试。由于本项目最后的运行十分顺利所以没有用到调试工
41、具。结论本次的毕业设计完成了用户存款和取款的一系列银行卡最基本的功能,基本上满足了银行对于银行卡小部分功能的管理系统的需求。 通过本次的毕业设计,我对Java和数据库技术的相关知识有了更深刻的了解,现在的我已经能够运用sql语言和使用Java程序来访问Access数据库。在计算机流行的时代,掌握Java技术是十分令人羡慕的。在技术上,一个炫酷的技能会令人敬佩。在工作上,这也是个受欢迎的岗位。当然,我们所学的知识还是远远不够的。在课余之际,我也看了很多关于java语言的知识,学好一门计算机语言并不是那么简单的。该设计还是存在着很多问题的,比如在设计程序的过程中,由于开始使用的数据库是MYSQL,
42、在使java程序在和MYSQL数据库连接时会抛出截断字符流的异常,在上网查询后才发现是数据库里设置数据字段是数据长度小或者大了,在实际的场景中,不需要把所有字段都设置的非常长,这会造成短暂的资源浪费,导致输入的字符被截断,可以在捕捉异常后,修改数据库来解决这个问题。期间我还把管理员的数据删除了导致不能登录,因此要检查管理员的登录状态,或者唯一甚至多个管理员的信息状态。如果出现密码正确,用户名正确的情况下,依旧登录不了,那一定是信息冻结的原因。只有不断完善整个功能,这个代码才完整。 在接下来的系统调试阶段,单独运行程序时背景图片还存在,但是打包后运行文件时就没有图片了,经过咨询后发现图片不仅要放
43、在当前文件夹下,还要放在另外的文件夹中,再重新打包后图片就显示了。调试阶段的一些语法错误也给我留下了深刻的印象,在编写代码时要细心。 在最后阶段,我还学会了附加数据库文件,如果该系统被使用在数据库中,就可以使得数据库文件随身携带,从别的数据库分离,直接附加到自己的数据库。在所有功能创建完成后,我还考虑到了用户的问题,在操作上,我没有设置很多复杂的键位以及阅读障碍的文字,使得该系统可以被客户使用的更加得心应手。致谢在吝维军老师和同组成员的帮助下,大学的毕业设计算是完成了,在此过程中虽然有困难,但是都得以解决。因此,我要感谢吝维军老师不厌其烦的讲解和帮我纠错,改错;感谢同组成员认真的帮我解决一些程
44、序上的错误,还要感谢论文组对毕业论文的审核与验收。本论文是在导师吝维军指导下完成收尾,由于疫情的影响,吝维军多次在还需要上网课的情况下抽出时间给我们开会。交代了下一个阶段需要完成的任务,并细心修改查阅了四遍论文稿。其中在知道我们第二个阶段任务时,不厌其烦的将修改几次的文案帮我审查,使我掌握了基本的研究方法,在以后的生活中也有一个准则。最后有同学因为考研不能修改时,老师还特意亲子修改,这是一位值得尊敬的老师。本论文从选题到完成,都少不了导师的帮忙。在此,向导师表示崇高的敬意和衷心的感谢。参考文献1 埃克尔(美).Java编程思想M.北京:机械工业出版社,2007.4 2 钟启泉.学习环境设计:框
45、架与课题J.教育研究,2015.13 李东海.Access2007数据库办公应用M.北京:科海电子出版社,2010.14 张永常.Java程序设计实用教程M.北京:电子工业出版社,2006.85 耿祥义,张跃平.Java2实用教程M.北京:清华大学出版社,2006.86 赵文靖.Java程序设计基础与上机指导M.北京:清华大学出版社,2006.67 朱福喜.Java语言程序设计M.北京:清华大学出版社,2005.18 李兴华.Java开发实战经典M.北京:清华大学出版社,2009.89 张帆.Java范例开发大全M.北京:清华大学出版社,2010.610 陈佛敏.Access2003数据库应用教程M.湖北:华中科技大学出版社,2010.111 邵丽萍,邵光亚,张后扬.Java语言程序设计M.北