银行自动取款系统.docx
《银行自动取款系统.docx》由会员分享,可在线阅读,更多相关《银行自动取款系统.docx(22页珍藏版)》请在冰豆网上搜索。
银行自动取款系统
?
数据库?
课程设计
**银行自动系统
学院:
专业:
姓名:
指导老师:
前言
【摘要】
自动化技术是当代开展迅速,应用广泛,最引人瞩目的高技术之一。
银行ATM取款机
系统是自动化应用于银行金融业务的典型事例。
随着经济的不断开展,人们对于银行的交易量要求增高,相对于繁忙的银行柜台业务及繁琐的交易手续来说,ATM取款机系统充分发挥了其自动化的特征。
且由于其便于安装,在很大程度上给银行客户提供了方便快捷的效劳,使得自动取款机系统越来越受人们的青睐。
本文在总结人们熟悉的ATM操作的根底上,分析其具体需求,提出系统的总体设计目标、系统总体架构和功能模块的设计。
采用JSP+JavaBean的模式来构建系统。
系统使用具体的权限设置等逻辑功能,使得系统的平安性、可维护性、重用性和可扩展性都大大提高。
【技术背景与开展状况】
随着自动化系统在人们生活中越来越广泛及有效的应用,银行ATM自动取款机系统从当初逐步进入人们的视野,到今天在城市的各个角落都有其身影及使用者,它在人们的理财生活中发挥了重要的作用。
第一台ATM机于1967年6月27日出现在伦敦北部的巴克莱银行。
由于只需要把卡片插入自动取款机,并输入户头密码及取款额,自动取款机就能很快送出现款。
极大的方便了银行用户及工作人员。
1987年,中国银行在上海安装中国第一台ATM机,数月内不见有人取钱,直至ATM机的工作效率开始引起人们的兴趣。
现在已有首台驾车提速自动取款机落户北京。
如今,ATM机在迅速的开展,且由于使用客户的增多,对其平安性等方面的要求也逐渐提高,但按其本质来说,仍是银行数据库与人员〔包括用户和银行管理人员〕操作紧密联系的过程。
本文将搭建一个ATM操作平台与银行后台管理的平台。
【关键词】
Postgres,MVC,JavaBean,ATM,客户,管理者,账户交易
3.3.1数据库需求分析…………………………………………………………….4
3.3.2数据库概念结构设计……………………………………………………….4
3.3.3数据库逻辑结构设计……………………………………………………….4
3.3.4数据库的生成与配置……………………………………………………...4
5.3英文客户操作功能模块设计…………………………………………………..13
六组件的编写…………………………………………………………………………....15
6.1公用模块…………………………………………………………………………….15
6.1.1数据库的连接………………………………………………………….15
6.1.2字符处理…………………………………………………………….15
6.2信息实体………………………………………………………………………..15
…………………………………………………………………15
效劳经理信息实体……………………………………………………………15
6.3管理信息实体…………………………………………………………………….16
管理用户登录………………………………………………………….16
管理用户信息………………………………………………………………16
七相关技术配置………………………………………………………………………….15
7.1开发环境配置…………………………………………………………………………15
7.2系统安装配置…………………………………………………………………………15
附录A参考文献………………………………………………………………………….17
附录B数据表…………………………………………………………………………….18
八**银行自动取款系统实验总结…………………………………………………………15
一系统分析
需求分析
经过客户长期使用银行自动取款系统的需求分析,确认银行ATM机系统应具有如下功能:
⑴客户界面局部
◆提取金额
◆查询账户信息
◆修改密码
其中最重要的是每一步所必须设置的用户权限,即银行操作的平安性要求。
⑵管理界面局部
◆查询客户余额
◆查询客户密码
◆柜台操作后修改客户金额
◆修改用户密码
◆增加新用户
◆删除客户账户
其中对客户账户所进行的修改都是已由客户授权,或是按银行系统的功能对其进行相
关操作。
由此每一个客户都有一个其所属的效劳经理,负责该账户信息在银行管理后台
的更新。
可行性分析
自动取款系统为用户操作提供了信息查询,账户操作,修改密码等功能,并提供了管理人员对账户相应的管理措施。
银行ATM机最重要的要求是平安性。
其功能应全面,并重在实时操作性。
此外考虑银行客户的多样性,本文为用户提供了中英文两个使用界面,其使用功能一样,只是针对使用不同语言的用户。
通过对ATM机以上使用需求的分析,本文所搭建的汇旗银行自动取款系统有其可行性。
二总体设计
2.1工程规划
ATM机自动取款系统是银行的专业效劳系统,它由用户操作界面和后台管理界面
两局部组成。
①用户操作界面。
主要涉及查询用户个人信息,查询密码,提取金额等
功能。
由于银行平安性要求,且自动取款系统的主要目的功能为方便用户提取现金。
除了密码修改的实时性需求外,用户自身不能在ATM机上修改其他个人信息,此项功
能由其效劳经理在管理后台实现。
②经理管理界面。
管理人员操作主要包括查询客户
余额,查询客户密码,柜台操作后修改客户帐户金额,修改客户密码,增加新的用户,
删除客户帐户。
2.2系统功能结构图
根据以上分析画出系统的功能模块即客户操作界面和经理管理界面图。
客户操作界面功能结构图,如图1所示。
图1用户操作界面的功能结构图
后台管理界面功能结构如图
图2后台管理界面功能结构图
系统结构图如图3所示。
图3系统结构设计图
三系统设计
设计目标
汇旗银行自动取款系统将对以上功能需求进行实现
开发及运行环境
硬件平台:
◆CPU:
IntelCeleronMProcessor;
◆内存:
512MB以上。
◆软件平台:
◆操作系统:
WindowsXP;
◆数据库:
Postgres;
◆开发工具包:
JDKVersion5.0,Eclipse3.1;
◆JSP效劳器:
Tomcat4.1;
◆浏览器:
IE6.0;
◆分辨率:
最正确效果1024*768像素。
数据库设计
数据库需求分析
银行用户的需求具体表达在帐户信息的提供、保存、更新和查询上,这就要求数据库结构能充分满足各种信息的输入和输出。
收集根本数据、数据结构及数据处理的流程,使操作人员能按自己的需求对数据库记录信息进行操作。
通过上述系统功能分析,针对ATM自动取款系统的使用,总结出如下的需求信息。
①ATM机用户分为银行客户和管理员用户。
②每一个客户都有效劳经理为其效劳,即每个客户附属于一个效劳经理。
③一个用户在ATM机上只能对自己的账号金额及密码进行操作。
④一个用户对应一张用户列表。
⑤一张用户列表对应多个用户。
通过以上对系统功能和需求的分析,设计如下面的数据项和数据结构。
1效劳经理信息:
用户帐号、密码
2银行客户:
为其效劳的经理账号、用户帐号、用户名、账户金额、密码
数据库概念结构设计
得到自动取款系统的数据项和数据结构以后,可以设计出能够满足用户需求的各种实体以及实体间的联系,为后面的逻辑结构设计打下根底。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
通过以上设计规划,得出实体有:
效劳经理信息实体、银行客户信息实体。
其中用户通过取款对自己的帐户进行操作。
实体之间关系的E-R图如图4所示。
图4实体间关系的E-R
效劳经理信息实体的E-R图如图5所示。
客户信息实体的E-R图如图6所示。
四经理管理界面功能模块详细设计
汇旗银行用户选择登陆模式界面
用户选择登陆模式界面没有涉及到具体的数据库操作,用户首先根据自己使用的语言选择中文或英文登陆页面,并随后根据自己的身份选择经理登陆或客户登陆。
本文先选择中文操作界面对系统进行阐释,中英文对应界面的操作功能相同。
为了提高代码的可操作性,用一个简单的JSP文件实现首页的页面效果。
用户登录模块设计
用户登陆时系统将输入的帐号和密码与数据库连接。
关键sql操作语言及java代码如下:
Stringurl="jdbc:
postgresql:
//localhost/postgres";
Stringuser="postgres";
Stringpassword="dbms";
Stringq="SELECTsuperm_num,super_passwordFROMsuper_managerwheresuperm_num='"+name_m+"'ANDsuper_password='"+password_m+"';
Class.forName("org.postgresql.Driver").newInstance();
Connectioncon=DriverManager.getConnection(url,user,password);
Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSetrs=stmt.executeQuery(q);
经理管理帐户功能模块设计
效劳经理登陆后有查询余额,查询密码,修改金额,修改密码,新增用户,删除用户等功能模块选项。
以查询余额为例,sql语言如下:
Class.forName("org.postgresql.Driver").newInstance();
Connectioncon=DriverManager.getConnection(url,user,password);
Statementstmt3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Stringsql="selectsuperm_num,card_num,user_name,cashfromcustomswherecard_num='"+card_n+"'";
stmt3.executeQuery(sql);
ResultSetrs=stmt3.executeQuery(sql);
以新增用户功能为例,其模块结果如图:
英文管理界面模块设计
英文界面适用于使用语言非中文的用户,满足银行用户多样化的特征。
其实现原理同其对应的中文管理界面。
五用户操作界面功能模块详细设计
5.1汇旗银行客户登陆模式设计
其关键代码如下:
Stringurl="jdbc:
postgresql:
//localhost/postgres";
Stringuser="postgres";
Stringpassword="dbms";
Stringq="SELECTcard_num,custom_passwordFROMcustomswherecard_num='"+stunum+"'ANDcustom_password='"+spassword1+"';
Class.forName("org.postgresql.Driver").newInstance();
Connectioncon=DriverManager.getConnection(url,user,password);
Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSetrs1=stmt.executeQuery(q);
5.2客户操作功能模块设计
客户登陆界面后,通过帐号和密码与数据库连接,对自己的帐户进行操作,包括查询信息,提取现金,修改密码根本操作。
Sql语句:
updatecustomssetcash=cash-'"+money_i+"'wherecard_num='"+card_i+"'
其中参数为用户输入的提取金额;
Updatecustomssetpassword=’+password_i+"'wherecard_num='"+card_i+"'
参数为用户输入的新密码,用户需要输入新密码,并再次确认后才能成功修改。
提取现金后数据库中数据会相应变化,并将结果显示至用户操作的界面。
5.3英文客户操作功能模块设计
类似于经理管理英文界面操作功能:
英文界面适用于使用语言非中文的用户,满足银行用户多样化的特征。
其实现原理也同其对应的中文管理界面。
六组建的编写
6.1公用模块
数据库的连接
1.JDBC(JavaDatabaseConnection)驱动
JDBC驱动的获取
用静态方法Class.forName().
Example:
importjava.sql.*;
StringjdbcDriverName="org.postgresql.Driver";
Driverdriver=(Driver)Class.forName(jdbcClassName).newInstance();
DriverManager.registerDriver(driver);
2.连接数据库
JDBC驱动载入后,可以用Connection类建立与数据库的连接
⏹连接时必须指定URL,数据库用户及其密码
URL的格式:
jdbc:
postgres:
//[locahost][:
port]:
dbname[?
param=value][…]
⏹Example:
Stringurl=〞jdbc:
postgresql:
postgres〞;
Stringuser=〞postgres〞;
Stringpass=〞dbms〞;
Connectiondbcon=DriverManager.getConnection(url,user,pass);
⏹翻开的连接需要关闭时调用:
dbcon.close().
3.Statement类用于执行无参SQL语句
⏹首先createStatement
Statementst=dbcon.createStatement();
⏹更新Update:
intnrows=st.executeUpdate(sqlStr);
⏹查询Select:
得到结果集
ResultSetrs=st.executeQuery(sqlStr);
注:
sqlStr是你要查询或修改数据库所写SQL语句。
4.查询的结果是一个集合,可以使用游标从ResultSet对象中一次取一行
Stringrfname,rlname;
while(res2.next())
{num=rs.getString("num");
password=rs.getString("password");
System.out.println(num+""+password);
}
字符处理的编写
主要方法:
publicstaticStringtoHtml(Strings);
PublicstaticStringstrReplace(StringsBody,StringsForm,StringsTo);
PublicstaticStringparseReturn(StringsBody,StringsEndwith);
PublicstaticStringtoHtmlInput(Stringstr);
PublicstaticStringtoSql(Stringstr);
6.2信息实体
6.2.1银行客户信息实体
银行客户信息实体
6.2.2效劳经理信息实体
效劳经理信息实体:
数据结构为帐号和密码
6.3管理信息实体
管理用户登录
Super_manager:
sqlStr=〞select*fromsuper_managerwheresuperm_num='"+name_m+"'ANDsuper_password='"+password_m+"';
Custom:
sqlStr=〞select*fromcustomswherecard_num='"+stunum+"'ANDcustom_password='"+spassword1+"';
管理用户信息
1.在数据库用户表中增加新的用户
sqlStr="insertintocustoms(superm_num,card_num,custom_password,user_name,cash)values('"+tnumber+"','"+snumber+"','"+password1+"','"+sname+"','"+money+"')";
2.在数据库用户表中删除某一存在的用户
sqlStr="deletefromcustomswherecard_num='"+card_n+"'";
3.在客户信息实体中更改某一属性
SqlStr="updatecustomssetcustom_password='"+card_pass+"'wherecard_num='"+card_n+"'";
sqlStr="updatecustomssetcash=cash+'"+money_i+"'wherecard_num='"+card_number+"'";
七相关技术的配置
7.1开发环境配置
一、数据库的安装
PostgreSQL8.1在Windows2000/XPFAT32的安装步骤:
1.启动安装,修改默认安装目录,例如改为c:
\pgsql,在安装为效劳时不选,即只安装程序,不初始化数据库,也不安装为效劳。
2.在启动控制面板/管理工具/计算机管理/本地用户和组,增加一个普通用户,如postgres,密码123,设为永不过期。
3.系统环境变量的PATH增加c:
\pgsql\bin。
4.以Administrator身份进入command窗,输入命令
runas/user:
postgrescmd,
输入密码,成功后进入c:
\pgsql。
输入命令
initdb-EUTF-8-Ddata。
5.以Administrator再次身份进入command窗,输入命令:
pg_ctlregister-Npostgres-Dc:
\pgsql\data-Upostgres-P123
6.如5成功,启动控制面板/管理工具/效劳,可以看到名为postgres的效劳。
将其启动类型改为手动,在属性/登录标签下输入密码和确认密码123。
7.启动效劳。
8.以postgres身份输入命令psql可进入客户端。
二、Java开发包
1.下载Java开发包
2.下载完成后,即可安装到D:
\JDK目录下(安装目录可以是自选目录)。
3.配置环境变量如下:
JAVA_HOME=D:
\JDK
PATH=%JAVA_HOME%\bin;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;
CLASSPATH=%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;
4.检测是否安装成功:
在command窗口中,输入命令:
javac
三、IDE集成开发环境
下载软件eclipse-SDK-直接解压即可运行。
如解压到D:
\Eclipse
四、应用效劳器
1.下载软件jakarta-tomcat-.exe
2.双击安装〔直接按照提示安装〕将安装路径改为你喜欢的路径如:
D:
\Tomcat
3.设置环境变量:
新建环境变量TOMCAT_HOME=D:
\Tomcat
4.检测是否安装成功:
启动效劳器,在浏览器中输入
:
//localhost:
8080/
如能看到Apache的主页,那么安装成功。
7.2系统安装配置
1.将源程序文件夹Bank复制到目录:
D:
\work\。
可以是任选目录,但如下配置也要做相应修改。
2.修改Tomcat的conf目录下的server.xml文件,增加相应的标签:
/work/Bank/web"debug="0"
reloadable="true"crossContext="true"/>
3.修改Tomcat的conf目录下的web.xml文件,将invoker的servletmapping前后注释去掉。
--
invoker
/servlet/*
-->
4.配置完成测试。
启动Tomcat,URL为:
:
//localhost:
8080/Bank。
七汇旗银行自动取款系统实验总结