银行卡管理系统的设计与实现.docx

上传人:b****0 文档编号:12835710 上传时间:2023-04-22 格式:DOCX 页数:41 大小:419.77KB
下载 相关 举报
银行卡管理系统的设计与实现.docx_第1页
第1页 / 共41页
银行卡管理系统的设计与实现.docx_第2页
第2页 / 共41页
银行卡管理系统的设计与实现.docx_第3页
第3页 / 共41页
银行卡管理系统的设计与实现.docx_第4页
第4页 / 共41页
银行卡管理系统的设计与实现.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

银行卡管理系统的设计与实现.docx

《银行卡管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《银行卡管理系统的设计与实现.docx(41页珍藏版)》请在冰豆网上搜索。

银行卡管理系统的设计与实现.docx

银行卡管理系统的设计与实现

银行卡管理系统的设计与实现

摘要信息管理系统是大学接触到的十分常见的管理系统,其中我选取了银行卡管理系统作为本次项目的开发系统,这个系统主要包括后台数据库的建立和维护,前端使用Java语言开发。

结合银行卡管理系统的要求,我们需要在数据库管理、Java语言原理以及数据库有一定的了解和学习。

接着可以完成对功能模块的划分以及需求分析等等。

本系统开发采用了Java编程语言的集成环境intellijIDEA实现了代码的运行。

本系统的用户可以进行简单的转账、取款、存款以及密码修改等功能,管理员可以进行账号的冻结和解冻以及密码修改等功能。

关键字数据库系统开发信息系统SQLJava语言

Designandimplementationofbankmanagementsystem

AbstractTheinformationmanagementsystemisaverycommonmanagementsystemthattheuniversitycomesintocontactwith.Ichosethebankcardmanagementsystemasthedevelopmentsystemofthisproject.Thissystemmainlyincludestheestablishmentandmaintenanceofthebackgrounddatabase,andthefront-endisdevelopedinJavalanguage.Combinedwiththerequirementsofbankcardmanagementsystem,weneedtohaveacertainunderstandingandlearningindatabasemanagement,Javalanguageprincipleanddatabase.Thenitcancompletethedivisionoffunctionalmodulesandrequirementsanalysisandsoon.Inthissystem,IntelliJidea,anintegratedenvironmentofJavaprogramminglanguage,isusedtorunthecode.Usersofthissystemcanperformsimplefunctionssuchastransfer,withdrawal,depositandpasswordmodification.Administratorscanfreezeandunfreezeaccountsandmodifypasswords.

KeywordsDatabasesystemdevelopmentinformationsystemSQLJavalanguage

引言

本次的系统开发是银行卡管理系统,这个系统是对一些基础银行卡基础业务的管理,是面向所有群体以及银行的管理员。

接下来分析此次银行卡管理系统的研究意义以及研究设想。

传统的人工管理已经被社会证明为效率极低的管理方式,对于一些企业来说,信息交流沟通如果不能及时回应,往往会带来很负面的影响。

然而对于银行的管理者来说,及时的了解资产负债等重要信息,将非常有利于管理层人员及时制定有效的应对措施,避免一些多余的损失。

随着计算机的流行,经济社会的发展。

手机支付代替了货币的交易,网上购物代替了实体店的购物,就连原来的课堂学习都变成了线上的网络学习。

因此,许多人工的工作会慢慢被计算机网络代替。

例如本次的系统,人工的存款取款操作十分消耗人力和物力,工作效率也很低。

这时,银行以及用户都追求更高的效率,并且还要求做到种类的丰富以及复杂度的提高。

银行卡管理系统的出现解决了这个问题,这是一种新型的管理系统,可以降低操作复杂度和出错率从而提高工作效率。

如今处于信息时代,互联网使得整个世界成为一个联系日益紧密的群体。

银行想要在这个领域里站稳脚跟,就必须跟随时代的发展不断创新。

管理信息系统便是实现这一目标的有效手段之一。

作为一个毕业设计,本次设计的管理系统在完成的功能上还有些欠缺。

最初需要建立的用户表格只有四个,但是表与表之间的联系还是很密切的,这个就需要对数据库有熟悉的了解和应用。

所以完成这个项目,要不断提高数据库设计的标准和编程能力,这两个基本功缺一不可。

选择这个题目可以不断训练在这两方面知识的表达。

本信息管理系统是利用网络技术,实现对银行卡的管理。

本系统致力于减少银行内人员的工作量,便于与银行客户的交流,不再是通过语言口头形式的传达,而是计算机的操作。

及时反映出用户需求,提高在人工管理上的效率低的问题,银行工作人员也能节省人力。

减少了工作量上的要求,银行工作人员可以解决计算机做不全面的业务,使银行经营管理更近一步的简单快捷。

1系统分析

1.1需求分析

本系统的开发主要面对的群体是普通去银行办理业务的人和银行的内部人员。

这个系统的开发对于这两个群体是十分必要的。

一方面,提高存取款效率,将原本的人工代替。

另一方面,追随时代发展的一种趋势,管理系统的不断研发和跟进是十分必要的。

对于一般去办理业务的人员来说,要求做到新建和删除用户,在操作过程中可以更改用户信息。

在账户业务部分,可以查询用户的信息,包括各种基本信息、余额、账单等。

在操作完成之后依旧可以存储相应的操作纪录并能够查询操作纪录等功能;在信息操作部分,有修改个人信息和查询密码的操作。

对于银行业务管理人员来说,能够操作所有账户信息并修改密码。

在账户信息部分,可以进行某些账户的开户及冻结等;在信息操作部分,有修改和查询的功能。

1.2可行性分析

系统的可行性分析可以分成三个方面的问题。

首先是技术可行性分析,运用到的工具是IDEA,需要掌握的是java语言的编写以及对数据库的了解。

在校期间,我校开设的课程在Java和数据库运用方面已经有了学习,可以充分利用到本次项目中。

然而,学习所学的学术性已经掌握,我还缺乏了开发经历。

在大四下学期,我去驰星进行了三周的实训,小组完成了一个购物车管理系统。

这个项目从接触到完成,我学会了很多课本上接触不到的知识,有简单的软件变更,不再是简单的Eclipe,还有其他的IDEA和python。

也有在代码书写中的规范性问题。

因此,这个项目的开发在知识需求上我是具备的。

开发系统的计算机硬件已经十分普及,在一般的电脑上都能够实现,同时还要求存储空间的要求,这两个要求达到的话,硬件方面运行以及编写代码是完全没有问题的。

用到的工具是IDEA,这是一款与Eclipe十分相似的工具,在使用方面我请教了周围的一些朋友,最后可以编写此次项目开发的代码。

以上几个要求都能完成,那本系统的开发是可以执行的。

其次是经济可行性分析,需要考虑到的是投资和收益。

投资的定义就是前期需要找到开发系统以及代码编写等。

收益的定义就是提高银行的办公效率,用操作系统代替人工的服务。

一般收益是商业化的,这里只是对用户满意度的一个体现。

在本系统中,我们并没有涉及到收益和投资,因此这个经济可行性是不予考虑的。

这个项目的开发是可以执行的。

最后是运行可行性分析,需要考虑到面向的群体。

开发的系统操作要非常简单,所面对的用户是各类人群,有一些高学历的或者低学历的或者是老人等,因此要考虑到是方便简单的操作。

其次还需要有专业的人员指导,可以在这个系统运行时在银行配备工作人员,当用户遇到操作困难是可以得到正确的答复。

1.3功能分析

随着银行存款数量的不断增加,整体的工作需求需要不断提高。

银行需要在各个方面提高效率,首先需要改进的就是人工的功能办理。

使用计算机来管理银行卡可以大大增加管理的效率,还可以利用计算机管理丰富在各个方面功能上的多样化。

在总体功能实现方面应达到以下目标:

(1)用户可以进行简单的转账、取款、存款以及密码修改等功能;

(2)管理员可以进行账号的冻结和解冻以及密码修改等功能。

接下来,经过了一系列的对功能上的分析,可以简单列出数据库的构建:

(1)用户信息表:

包括编号,密码,姓名,余额,启用状态以及扮演的角色等。

(2)个人信息表:

包括用户编号,姓名,年龄,性别,地区,电话,卡号等。

(3)菜单表:

包括编号,功能名,所在界面位置,用户权限管理等。

(4)转账交易表:

包括编号,转账或者是存款操作,操作对象,时间,金额等。

在新系统开发中,应达到以下目标:

(1)有详细的设计说明书;

(2)模块在功能上的流程图要很清晰,即使是不懂代码的人看到流程图也能知晓这个项目的主要功能;

(3)系统能正常运行;

(4)系统在界面设计上,要有简洁的界面,用户和管理员都方便操作。

1.4开发步骤

管理信息系统的建立与运用可以划分成三个步骤。

第一个步骤的要求是对系统在各个方面的可行性进行分析,主要分析本次项目的进行完成度,确保在软件和硬件以及知识储备上达到开发的要求;第二个步骤的要求是概要设计,主要实现取款子系统,个人信息子系统,管理员系统和用户系统四个部分,主要从四个方面实现对银行卡的管理;第三个步骤的要求是详细设计,在分析了系统的需求后,能够确定开发应用到的软件和硬件,准备好数据库的建立以及整个界面开发的美观和简洁性。

这里确定了系统的主要功能,需要反复核对和确认。

每一个步骤都不能马虎,要做到为下面系统的开发运行做准备。

2系统设计

2.1概述

本项目为银行提供了银行卡客户的一些存取款、取款、转账的基本业务的处理,还有对银行卡的一些信息,通过后台对数据的处理将有用信息反馈给给银行或普通办理业务的客户。

这个系统在各个方面都能超越人工的处理效率。

银行卡一种普遍的支付工具,日常生活中这是必不可少的额,例如,我们可以在银行进行存款取款以及转账等功能。

随着网络以及计算机的不断发展,银行卡依旧占据了很重要的地位,一些老年人更愿意使用银行卡而不是网上交易。

因此,对于银行卡的管理还是十分重要的,它需要做到基本的查询以及存取款服务。

如果是单纯以的自己的知识来看,银行对每个用户的交易信息的处理量是一个十分复杂的问题,但是如今便捷的网络条件为银行卡的管理提供了有利的技术条件。

这些快捷的方法使得这个系统的运行更加必要。

2.2系统的数据流图

首先要确定整个系统的流程,就要清楚的分析系统中数据的产生和处理,为此,在开始设计数据库之前,可以将总的数据流图整理出来,如图1所示。

数据流

数据流

图1系统数据流图

2.3系统的功能

经过了对知识进行理解和整个系统应该要具备的功能进行初步的规划后,本系统应具备开户,存款,取款,转账,查询交易,修改密码等功能,得出结构如图2所示。

图2银行卡管理系统功能结构图

2.4数据库设计

数据库的基本步骤就是:

创建数据库、创建各个所需要的表、附加约束条件(有字符类型的约束和字符的限制)、创建需要登录的账户信息。

数据库需要设计的功能有增、删、改、查,这些基本的功能在本次项目中都有充分的表达。

由此看来,数据库的创建的好与坏是十分重要的,好的数据库创建完成后,可以将整个系统的功能进行连接并且实现所需信息的页面跳转。

在设计数据库系统时,要不断更新各个方面用户的不同需求,可以进行一个简单的调查后确定所需要实现的功能。

在调查时也应该注意到人群的分布,不同群体的需求是不同的。

只有了解数据库创建过程中的这些问题和要求,才能够实现功能强大的查询以及复杂的业务规则。

2.4.1数据库需求分析

在需求分析阶段,主要任务是分析客户的业务和数据处理需求。

首先要判断用户有哪些需求,在本项目中,主要是银行管理员和普通操作人员。

整个系统可以进行查询、保存、更新和查询。

这里就牵涉到我们需要先收集一些基本的数据,如个人信息,姓名,电话等等。

接着可以对数据进行处理,形成一份全面的并且完整的数据字典。

数据字典是一个为后续数据库创建提供便利的工具,在这个阶段如果仔细完成,后面的工作将更加的简洁。

2.4.2概念设计

在对项目的概念设计阶段,作为一个开发者,要从用户的不同角度来看对数据的处理,在处理数据之后会有一个概念模式的产生,利用这个概念模式可以对整个系统再一次进行分析,最终的目的是把它转化成在项目中体现的概念。

如果这样,将概念设计从设计中独立开来,使各阶段的任务变得更加简单化,表现为由粗到精、由模糊到清晰、由抽象到具体的不断跟进。

在本项目中,初步可以设置数据库的E-R模型图,保证各个信息是正确并完整的。

首先要做的就是设计好局部的E-R模式,然后把各局E-R模式,综合转换成一个全局模式,最后优化修改得到最终概念模式。

对整个概念图和数据进行整理后,就可以设计出能够满足需求的各种实现,以及实体之间的关系。

在实际应用中,我用到了MySql的数据库环境。

首先将实体-关系图转换成关系模型,然后根据上面建立的银行卡管理系统的特点转换成指定的数据模型,最后优化。

这些实体包含各种具体信息,一共有四个,在各个阶段能够相互流动。

本项目中出现的实体有:

菜单信息实体,转账信息实体,个人信息实体和系统用户信息实体。

各个实体E-R图及总E-R图如图3、图4、图5。

 

图2

图3个人信息实体图

-3个人信息的实体ER图

图2-

图4用户信息实体图

4用户信息的实体ER图

图5总体的实体ER图

2.4.3数据库逻辑结构设计

数据库概念结构设计完成后,可以将E-R图转换成多张表格,进行逻辑设计。

可以将上面的数据库概念转化为某种数据库系统所支持的实际数据类型。

在银行卡管理系统中使用的各个数据表的字段设置如表1、表2、表3、表4:

字段名

类型

长度

可否为空

小数点

说明

id

varchar

255

0

主索引字段

accountid

varchar

255

0

age

int

4

0

realname

varchar

255

0

sex

varchar

8

0

address

varchar

255

0

tel

varchar

255

0

cardid

varchar

255

0

表1个人信息表(personinfo)

字段名

类型

长度

可否为空

小数点

说明

Id

varchar

255

0

主索引字段

name

varchar

100

0

parent_id

varchar

255

0

action

varchar

255

0

is_parent

int

20

0

checked

int

20

0

open

int

20

0

icon

varchar

225

0

menutype

varchar

20

0

表2菜单表(f_menu)

字段名

类型

长度

可否为空

小数点

说明

id

varchar

225

0

主索引字段

username

varchar

225

0

password

varchar

225

0

balance

decimal

18

2

status

varcharv

20

0

role

varchar

50

0

表3用户表(account)

字段名

类型

长度

可否为空

小数点

说明

id

varchar

225

0

主索引字段

accountid

varchar

225

0

otherid

varchar

225

0

tr_money

decimal

18

2

datetime

datetime

0

0

type

varchar

225

0

表4转账信息表(transaction)

2.5用户界面设计

用户界面是指软件系统与用户之间交互的重要阶段,一般是用来登录,通常包括输出,输入的界面与方式等。

由于本系统的最终用户是各种各样的群体,有老人和精通设计的专业人员,因此本系统需要简洁。

所以在本系统上,采用了直接登录和点击的方式。

2.5.1系统安全性验证用户界面设计

用户登录窗口界面是进入系统之前必须经历的过程,这是用户最直观的对系统的判断。

因此,考虑到的风格要简洁、实用、友好。

登录本系统,用户将看到如下画面(如图6所示):

图6用户登录界面图

2.5.2系统主屏幕的区域设计

在对主屏幕进行设计时,可以把界面划分成几个不同的区域,其中有工作区,状态信息区以及主菜单区,如表5所示:

状态信息区主要有锁屏、登录名、注销等

主菜单区

主要有执行的业务

工作区

记录当前执行业务的进度以及历史记录

中间是具体的业务的工作流程

右下角显示页数

表5区域设计表

3系统编码与实现

3.1硬件的选择

在硬件的选择上,我们选择了Windows平台作为开发、测试和运行的平台。

和其他操作平台相比,因为Window操作系统的应用是十分广泛的。

它的操作十分简单,没有复杂化的操作,这让用户在体验度上大大加分。

在本项目的设计与开发中,我们使用Windows已经足够使用了。

同时,在后台数据库的配合下能够完成与Windows系统的紧密集成。

其次有着许多的多媒体功能,在为了方便的前提下,大多数人还是会选择Windows。

如果选用它作为开发平台,在这个项目需要功能的添加上会更加方便,如果软件更新时也会比较节约时间。

3.2软件的选择

在学校我们学习使用eclipse操作并管理数据库,但是我发现它也有缺点。

在实习的这段时间,我接触到了IDEA,最后经过认真分析两者的不同,结合银行卡管理系统的需要和目前的硬件环境,我们选用Intelij IDEA作为软件开发工具。

IDEA相比eclipse有以下几方面的优点:

(1)在项目管理上十分便捷。

IDEA中的Project类似于eclipe中的workspace,而Module类似于eclipse中的project。

IDEA在建立工程时是十分方便快捷的。

在其他人的帮助下,我了解到,代码的工程化会使项目在运行上更通俗化。

简而言之就是,就算是外行来运行,可以在一个总的apply下写一串代码,只需执行这一串便可以运行整个代码,这就是工程化的优点。

IDEA中的Project是一个工程的意思,它把各个模块的信息连接到一起,最后要做的就是用一段简单的语句划分,使得项目做到工程化。

IDEA拥有的强大的整合能力,在框架的选取上,Git、Maven、Spring等都支持,与此同时它的提示功能快捷,范围广。

(2)在开发效率上十分快速。

IDEA可以在任意的代码界面提示相关值,遇到棘手的情况也能快速解决。

在一些基本的单词和语法上,计算机会自动提示所在的语法行或者位置,而且可以实现在代码进行刷新时,界面自动更新的功能。

撇开这些,在IDEA中还有很多的快捷键便于使用,首字母的提示就是一个简单的体现。

在代码编写的过程中速度是十分快捷的,并且能做到准确报错。

如果不小心将单词输入错误,将不会出现下一步的提示,这就说明在前面的代码中出现了语法错误。

3.3系统的主要文件及目的

系统主要文件及目的如表6所示。

文件

作用

.ftl(html)

发送一个请求,将用户执行的操作数据发送给前端,主要的是进行页面的设计

controller

用来寻找在类下面的函数的具体实现,可以找到具体运行的方法

service

声明几个对应数据库的类,利用私有方法对.xml页面下的操作进行实现和部分调用

mapper

对应xml文件执行,这里面是在sql语言执行的情况下,给出具体的函数并且执行

.xml

增删改查的sql语句,执行完成之后,一层层返回,最后返回给ftl,ftl根据返回的信息作相应的处理

表6系统文件目的表

3.4创建普通用户系统管理模块

3.4.1创建“系统登录”

系统登录的界面主要由一个“登录”按钮构成,运行界面如上一章图2-6所示。

【登录】按钮实现过程为:

(1)输入用户和密码信息。

(2)在登录界面中,当账号密码不为空时,对后台发送一个请求,将账号密码以及角色发送给后台数据,执行的是login()函数的调用,对应后台controller的logincontroller类,使用findByUser()方法,对应判断是否密码账户的正确性,最后进入系统。

(3)在密码的输入上需要正确才能进入系统。

(4)其中角色方面可以选择是普通用户和管理员。

3.4.2创建“功能菜单”

普通用户管理界面主要由“存款”、“取款”、“转账”、“交易记录”、“余额查询”、“个人信息”和“密码修改”按钮构成,界面如图7所示。

图7功能菜单图

菜单的主要实现:

首先执行getAll方法,返回类型为list,list里面以menu存储,通过对菜单里面个人信息的查找,判断为管理员还是普通用户,然后通过一个私有类进行列表存储和打印。

3.4.3创建“存款功能”

【存款】按钮实现过程为:

首先声明一个TransactionConttoller的公共类,然后赋予它一个depoist的值,利用ajax找到里面两个参数,判断是否符合大于0的存款要求,符合就将这个trmoney传给所在name,显示操作成功,否则操作失败。

(如图8)

图8存款功能图

3.4.4创建“取款功能”

【取款】按钮实现过程为:

首先声明一个TransactionConttoller的公共类,然后赋予它一个在withdrawals的值,找到这个文件下的函数,可以看到使用了save()方法,定义两个变量,一个是时间,一个是金额,如果没有接收到trmoney的话,就会提示取款。

下面就是和存款一样的用ajax找到对应参数,判断取款要求需要大于0并且小于等于余额里的值,否则取款失败。

(如图9所示)。

图9取款功能图

3.4.5创建“转账功能”

【取款】按钮实现过程为:

首先声明一个TransactionConttoller的公共类,然后赋予它一个在transfer的值,找到这个文件下的函数,可以看到使用了result()方法,定义两个变量,利用findbalance()方法,判断是否符合转账条件,如果statue==0,则执行转账功能,否则转账失败。

(如图10所示)。

图10转账功能图

3.4.6创建“交易记录查询”和“余额查询”

【交易记录】【余额查询】按钮实现过程为:

首先声明一个TransactionConttoller的公共类,然后赋予它一个在allTrans的值,找到这个文件下的records函数,这里是根据session找到所有交易记录,返回Trans列表,列表中可以查到具体的记录以及余额。

(如图11,图12所示)。

图11交易记录查询图

图12余额查询图

3.4.7创建“个人信息”和“密码设置”

【个人信息】【密码设置】按钮实现过程为:

执行allTrans,寻找到所有数据,点击修改后,修改数据,连接后台的数据库,利用增

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1