1、银行自动取款系统 ? 数 据 库 ?课程设计*银行自动系统学院: 专业: 姓名: 指导老师: 前 言【摘要】 自动化技术是当代开展迅速,应用广泛,最引人瞩目的高技术之一。银行ATM取款机系统是自动化应用于银行金融业务的典型事例。随着经济的不断开展,人们对于银行的交易量要求增高,相对于繁忙的银行柜台业务及繁琐的交易手续来说,ATM取款机系统充分发挥了其自动化的特征。且由于其便于安装,在很大程度上给银行客户提供了方便快捷的效劳,使得自动取款机系统越来越受人们的青睐。本文在总结人们熟悉的ATM操作的根底上,分析其具体需求,提出系统的总体设计目标、系统总体架构和功能模块的设计。采用JSP+JavaBe
2、an的模式来构建系统。系统使用具体的权限设置等逻辑功能,使得系统的平安性、可维护性、重用性和可扩展性都大大提高。【技术背景与开展状况】随着自动化系统在人们生活中越来越广泛及有效的应用,银行ATM自动取款机系统从当初逐步进入人们的视野,到今天在城市的各个角落都有其身影及使用者,它在人们的理财生活中发挥了重要的作用。 第一台ATM机于1967年6月27日出现在伦敦北部的巴克莱银行。由于只需要把卡片插入自动取款机,并输入户头密码及取款额,自动取款机就能很快送出现款。极大的方便了银行用户及工作人员。1987年,中国银行在上海安装中国第一台ATM机,数月内不见有人取钱,直至ATM机的工作效率开始引起人们
3、的兴趣。现在已有首台驾车提速自动取款机落户北京。如今,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 数据库的连
4、接 .15 6.1.2 字符处理. 15 6.2 信息实体. 1515效劳经理信息实体156.3 管理信息实体. 16管理用户登录. 16管理用户信息16 七 相关技术配置.15 7.1 开发环境配置 157.2 系统安装配置15附录A 参考文献.17附录B 数据表.18八 *银行自动取款系统实验总结15一 系统分析 需求分析 经过客户长期使用银行自动取款系统的需求分析,确认银行ATM机系统应具有如下功能: 客户界面局部 提取金额 查询账户信息 修改密码其中最重要的是每一步所必须设置的用户权限,即银行操作的平安性要求。 管理界面局部 查询客户余额 查询客户密码 柜台操作后修改客户金额 修改用户
5、密码 增加新用户 删除客户账户其中对客户账户所进行的修改都是已由客户授权,或是按银行系统的功能对其进行相关操作。由此每一个客户都有一个其所属的效劳经理,负责该账户信息在银行管理后台的更新。 可行性分析自动取款系统为用户操作提供了信息查询,账户操作,修改密码等功能,并提供了管理人员对账户相应的管理措施。银行ATM机最重要的要求是平安性。其功能应全面,并重在实时操作性。此外考虑银行客户的多样性,本文为用户提供了中英文两个使用界面,其使用功能一样,只是针对使用不同语言的用户。通过对ATM机以上使用需求的分析,本文所搭建的汇旗银行自动取款系统有其可行性。二 总体设计2.1 工程规划ATM机自动取款系统
6、是银行的专业效劳系统,它由用户操作界面和后台管理界面两局部组成。用户操作界面。主要涉及查询用户个人信息,查询密码,提取金额等功能。由于银行平安性要求,且自动取款系统的主要目的功能为方便用户提取现金。除了密码修改的实时性需求外,用户自身不能在ATM机上修改其他个人信息,此项功能由其效劳经理在管理后台实现。经理管理界面。管理人员操作主要包括查询客户余额,查询客户密码,柜台操作后修改客户帐户金额,修改客户密码,增加新的用户,删除客户帐户。2.2 系统功能结构图根据以上分析画出系统的功能模块即客户操作界面和经理管理界面图。客户操作界面功能结构图,如图1所示。 图1 用户操作界面的功能结构图后台管理界面
7、功能结构如图 图2 后台管理界面功能结构图系统结构图如图3所示。 图3 系统结构设计图三 系统设计 设计目标汇旗银行自动取款系统将对以上功能需求进行实现 开发及运行环境硬件平台: CPU:Intel Celeron M Processor; 内存:512MB以上。 软件平台: 操作系统:Windows XP; 数据库:Postgres; 开发工具包:JDK Version5.0,Eclipse3.1; JSP效劳器:Tomcat4.1; 浏览器:IE6.0; 分辨率:最正确效果1024*768像素。 数据库设计 数据库需求分析银行用户的需求具体表达在帐户信息的提供、保存、更新和查询上,这就要求
8、数据库结构能充分满足各种信息的输入和输出。收集根本数据、数据结构及数据处理的流程,使操作人员能按自己的需求对数据库记录信息进行操作。通过上述系统功能分析,针对ATM自动取款系统的使用,总结出如下的需求信息。 ATM机用户分为银行客户和管理员用户。 每一个客户都有效劳经理为其效劳,即每个客户附属于一个效劳经理。 一个用户在ATM机上只能对自己的账号金额及密码进行操作。 一个用户对应一张用户列表。 一张用户列表对应多个用户。通过以上对系统功能和需求的分析,设计如下面的数据项和数据结构。1 效劳经理信息:用户帐号、密码2 银行客户:为其效劳的经理账号、用户帐号、用户名、账户金额、密码 数据库概念结构
9、设计得到自动取款系统的数据项和数据结构以后,可以设计出能够满足用户需求的各种实体以及实体间的联系,为后面的逻辑结构设计打下根底。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。通过以上设计规划,得出实体有:效劳经理信息实体、银行客户信息实体。其中用户通过取款对自己的帐户进行操作。实体之间关系的E-R图如图4所示。 图4 实体间关系的E-R效劳经理信息实体的E-R图如图5所示。客户信息实体的E-R图如图6所示。 四 经理管理界面功能模块详细设计汇旗银行用户选择登陆模式界面用户选择登陆模式界面没有涉及到具体的数据库操作,用户首先根据自己使用的语言选择中文或英文登陆页面,并随后根据自己的
10、身份选择经理登陆或客户登陆。本文先选择中文操作界面对系统进行阐释,中英文对应界面的操作功能相同。为了提高代码的可操作性,用一个简单的JSP文件实现首页的页面效果。 用户登录模块设计用户登陆时系统将输入的帐号和密码与数据库连接。关键sql操作语言及java代码如下:String url =jdbc:postgresql:/localhost/postgres ;String user=postgres; String password=dbms; String q=SELECT superm_num,super_password FROM super_manager where superm_n
11、um=+name_m+AND super_password=+password_m+;Class.forName(org.postgresql.Driver).newInstance();Connection con= DriverManager.getConnection(url,user,password);Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet rs=stmt.executeQuery(q); 经理管理帐户功能模块设计效
12、劳经理登陆后有查询余额,查询密码,修改金额,修改密码,新增用户,删除用户等功能模块选项。以查询余额为例,sql语言如下: Class.forName(org.postgresql.Driver).newInstance(); Connection con= DriverManager.getConnection(url,user,password); Statement stmt3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql=select superm_n
13、um,card_num,user_name,cash from customs where card_num=+card_n+; stmt3.executeQuery(sql); ResultSet rs=stmt3.executeQuery(sql);以新增用户功能为例,其模块结果如图: 英文管理界面模块设计 英文界面适用于使用语言非中文的用户,满足银行用户多样化的特征。其实现原理同其对应的中文管理界面。五 用户操作界面功能模块详细设计5.1汇旗银行客户登陆模式设计 其关键代码如下:String url =jdbc:postgresql:/localhost/postgres ;String
14、 user=postgres; String password=dbms; String q=SELECT card_num,custom_password FROM customs where card_num=+stunum+AND custom_password=+spassword1+;Class.forName(org.postgresql.Driver).newInstance();Connection con= DriverManager.getConnection(url,user,password);Statement stmt=con.createStatement(Res
15、ultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet rs1=stmt.executeQuery(q);5.2 客户操作功能模块设计 客户登陆界面后,通过帐号和密码与数据库连接,对自己的帐户进行操作,包括查询信息,提取现金,修改密码根本操作。Sql语句:update customs set cash=cash-+money_i+where card_num=+card_i+其中参数为用户输入的提取金额;Update customs set password= +password_i+where card_num=+
16、card_i+参数为用户输入的新密码,用户需要输入新密码,并再次确认后才能成功修改。提取现金后数据库中数据会相应变化,并将结果显示至用户操作的界面。5.3英文客户操作功能模块设计类似于经理管理英文界面操作功能:英文界面适用于使用语言非中文的用户,满足银行用户多样化的特征。其实现原理也同其对应的中文管理界面。 六 组建的编写6.1 公用模块 数据库的连接1JDBC (Java Database Connection)驱动JDBC驱动的获取用静态方法 Class.forName(). Example:import java.sql.*; String jdbcDriverName=org.post
17、gresql.Driver;Driver driver = (Driver) Class.forName(jdbcClassName).newInstance();DriverManager.registerDriver(driver);2连接数据库JDBC驱动载入后,可以用Connection 类建立与数据库的连接连接时必须指定URL, 数据库用户及其密码URL的格式:jdbc:postgres:/locahost:port:dbname?param=valueExample:String url= jdbc:postgresql:postgres;String user=postgres;
18、String pass=dbms;Connection dbcon = DriverManager.getConnection(url,user,pass);翻开的连接需要关闭时调用: dbcon.close(). 3.Statement类用于执行无参SQL语句 首先createStatementStatement st = dbcon.createStatement(); 更新Update:int nrows = st.executeUpdate(sqlStr); 查询Select: 得到结果集ResultSet rs = st.executeQuery(sqlStr); 注:sqlStr是
19、你要查询或修改数据库所写SQL语句。4.查询的结果是一个集合,可以使用游标从ResultSet对象中一次取一行String rfname, rlname; while (res2.next() num = rs.getString(num); password= rs.getString(password); System.out.println(num+ +password); 字符处理的编写 主要方法:public static String toHtml(String s); Public static String strReplace(String sBody,String sFor
20、m,String sTo); Public static String parseReturn(String sBody,String sEndwith); Public static String toHtmlInput(String str); Public static String toSql(String str);6.2 信息实体 6.21 银行客户信息实体 银行客户信息实体6.22 效劳经理信息实体 效劳经理信息实体:数据结构为帐号和密码6.3 管理信息实体 管理用户登录 Super_manager:sqlStr=select * from super_manager where
21、 superm_num=+name_m+AND super_password=+password_m+; Custom: sqlStr=select * from customs where card_num=+stunum+AND custom_password=+spassword1+; 管理用户信息 1在数据库用户表中增加新的用户 sqlStr = insert into customs(superm_num,card_num,custom_password,user_name,cash) values (+tnumber +,+snumber+,+password1 +,+sname+
22、,+money+); 2在数据库用户表中删除某一存在的用户 sqlStr = delete from customs where card_num=+card_n +; 3在客户信息实体中更改某一属性 SqlStr = update customs set custom_password=+card_pass+where card_num=+card_n+; sqlStr = update customs set cash=cash+money_i+ where card_num=+card_number+; 七 相关技术的配置7.1 开发环境配置一、数据库的安装PostgreSQL 8.1在
23、Windows 2000/XP FAT32的安装步骤:1. 启动安装,修改默认安装目录,例如改为c:pgsql,在安装为效劳时不选,即只安装程序,不初始化数据库,也不安装为效劳。2. 在启动控制面板/管理工具/计算机管理/本地用户和组,增加一个普通用户,如postgres,密码123,设为永不过期。3. 系统环境变量的PATH增加c:pgsqlbin。4. 以Administrator身份进入command窗,输入命令runas /user:postgres cmd,输入密码,成功后进入c:pgsql。输入命令initdb -E UTF-8 -D data。5. 以Administrator再
24、次身份进入command窗,输入命令: pg_ctl register -N postgres -D c:pgsqldata -U postgres -P 1236. 如5成功,启动控制面板/管理工具/效劳,可以看到名为postgres的效劳。将其启动类型改为手动,在属性/登录标签下输入密码和确认密码123。7. 启动效劳。8. 以postgres身份输入命令psql可进入客户端。二、Java开发包1下载Java开发包2下载完成后,即可安装到D:JDK目录下(安装目录可以是自选目录)。 3配置环境变量如下:JAVA_HOME = D:JDK PATH = %JAVA_HOME%bin;%JAV
25、A_HOME%lib;%JAVA_HOME%jrelib;CLASSPATH = %JAVA_HOME%lib;%JAVA_HOME%jrelib;4.检测是否安装成功:在command窗口中,输入命令:javac三、IDE集成开发环境下载软件eclipse-SDK-直接解压即可运行。如解压到D:Eclipse四、应用效劳器1.下载软件jakarta-tomcat-.exe2.双击安装直接按照提示安装将安装路径改为你喜欢的路径如:D:Tomcat3.设置环境变量:新建环境变量TOMCAT_HOME=D:Tomcat4.检测是否安装成功:启动效劳器,在浏览器中输入 :/localhost:8080/ 如能看到Apache的主页,那么安装成功。7.2 系统安装配置1将源程序文件夹Bank复制到目录:D:work。可以是任选目录,但如下配置也要做相应修改。2修改Tomcat的conf目录下的server.xml文件,增加相应的标签:3修改Tomcat的conf目录下的web.xml文件,将invoker的servlet mapping前后注释去掉。!- invoker /servlet/* -4 配置完成测试。启动Tomcat,URL为: :/localhost:8080/Bank 。 七 汇旗银行自动取款系统实验总结
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1