《ATM机管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《ATM机管理系统详细设计说明书.docx(18页珍藏版)》请在三一办公上搜索。
1、ATM机管理系统详细设计说明书项目名称:ATM机管理系统 负责人:参与人: ATM机管理系统 详细设计说明书 详细设计说明书 1引言 1.1编写目的 ATM机管理系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档,本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。本文档
2、供项目经理、设计人员、开发人员参考。 1.2背景 a 待开项目名称:ATM机管理系统。 b ATM机管理系统是应大连市工商银行银行网络建设和改造需求,为客户提供方便、迅速、便捷的自动取款业务提出了ATM机管理系统建设的项目解决方案并通过了竞标,ATM机管理系统开发小组获得了大连市工商银行ATM机管理系统的项目开发计划。 1.3定义 账号:在银行中,事务应用的单个账号。账号可以为多种类型,但是至少包括支票和存款。每个顾客可以拥有多个账号。 ATM:一个工作站终端,使得顾客能够使用现金卡在ATM上进行自己的事务处理。ATM同顾客进行交互,收集事务信息,并发送事务信息到中心计算机,由中心计算机确认和
3、处理信息之后,将现金通过ATM提供给顾客。 银行:一个金融机构,负责保存顾客的账号信息,执行授权卡通过ATM网访问账号。 银行计算机:银行拥有的计算机,同ATM网和银行自己的现金工作站进行交互。银行可以拥有自己的内部计算机网处理账号,但是我们只关心同网络进行交互的计算机。 现金卡:每张卡提供给一个银行客户,授权客户可以使用ATM机访问自己的账号。每张卡包含一个银行代码和一个卡号,银行代码根据信用卡的国际标准进行编码,卡号确定卡能够访问的账户。一张卡不能访问客户的所有账户。每张卡只能有一个持卡人,但是多个复本可能存在,所以必须考虑从不同的ATM机同时使用相同卡的行为。 客户:拥有银行的一个或者多
4、个账号的人。客户可以包括一个人或者多个人,或者是公司。相同的人,拥有不同银行的账号被认为是不同的客户。 事务:对单个客户账号的单个完整的操作请求。 1.4参考资料 a 大连市工商银行ATM网络系统改造需求建议书 b 实时UML与Rantional Rose RealTime 建模案例剖析 主编:余金山 电子工业出版社 c 软件工程国家标准:软件需求说明书 2程序系统的结构 2.1 ATM取款活动图 描述上图功能: 取款开始,先插卡,确认卡是否合法,输入”true”时,就读取密码信息,提示输入密码。输入”false”时,系统就会提示退卡。输入密码时,如果密码正确,则会提示取款,否则提示让重新输入
5、密码,三次输入密码都错误,则系统就退卡。读取取款信息后,问是否确认取款,输入 “true”时,系统就提示输入取款金额。输入”false”时,系统就终止取款活动。输入取款额时,系统提示是否确认取款,如果确认,就出钞,然后终止活动,否则就直接提示取卡。 2.2 ATM机转账活动图 3 ATM机管理系统程序设计说明 3.1程序描述 考虑到目前仍然有很多银行是柜台办理取款存款转账等业务,很是麻烦。所以本小组开发此软件的是为了完善大连工商银行的业务处理流程,使得银行与客户间的业务办理更方便、快捷和安全。 本小组仅以设计开发的ATM机管理系统的取款子系统位例进行详细说明,该系统可以实现取款功能,有常驻能存
6、,没有子程序,是顺序处理。 3.2功能 ATM机取款子程序IPO图: 3.3性能 说明: 1、ATM系统软件总体结构:交互式界面和事务处理型系统的混合体。 2、ATM系统分为三个系统层次: ATM事务处理层 营业部事务处理层 联营机构事务处理层 3、事务处理的数据库在营业部计算机中集中存放。可被多个并发的ATM通 过联营机构确定连接访问。数据处理是单一的批处理型系统。 4、联营计算机通过电话线与各营业部计算机连接。并通过站代码和营业部代 码区分ATM业务到营业部的业务处理。 5、每一时刻ATM上只有一个业务活动,联营计算机和营业部计算机可同时 处理多个并发的业务活动。一个业务通过三个物理片段来
7、完成,缺一不可。 6、系统应该具有增加和删除ATM和营业部处理层的能力。 7、系统的安全保证至关重要。必须包括:存取权限、数据一致性保证、出错 处理等解决方案。 3.4输人项 名称 类型 格式 有效范围 方式 频度 系统性能 密码 char * 6位 键盘输入 10次 反应时间不能大于10秒钟 安全保密条件 10次输入密码错误则吞卡 媒体 人工输入 人工输入 金额总数 int 0000.00 100的倍数元 键盘输入 5次 反应时间 不能大于 10秒钟 一天最多取款不得超过5000元 3.5输出项 名称 类型 格式 有效范围 金额 int 0000.00 100的倍数 方式 频度 系统性能 安
8、全保密条件 媒体 键盘输入 5次 反应时间不能大于10秒钟 一天最多取款不得超过5000元 点钞机 3.6算法 取款操作算法描述(包括ATM系统类、取款类、数据库类) 1、ATM(系统)类 系统主方法的开始,负责调用其他类; import java.sql.*; import java.io.*; import java.awt.*; import java.awt.event.*; public class Atm atmScreen atms=new atmScreen;/实例化ATM屏幕类 public void go atms.mainFram; public static void
9、main(String args) /系统主方法,只负责调用 Atm atm=new Atm; atm.go; 2、ATM类; package atm; import java.util.Scanner; public class Account private int balance; int money; public Account balance=0; public Account(int balance) this.balance=balance; public int getBalance System.out.println(your balance:+balance); ret
10、urn this.balance; public void withdraw(int money) balance-=money; public void withdraw balance-=money; package atm; import java.util.Scanner; public class ID extends Account static final int minBalance=10; static int counter=0; private String accountID=jisuanji; int num; public ID super(minBalance);
11、 private ID(String ID) this.accountID=ID; public int Account return counter; public int getAccountAmount throws inputoverException,Exception if (counter3) System.out.println(Can not Use); throw new inputoverException; else return counter; public String getAccountID return accountID; public void with
12、draw Scanner scanner=new Scanner(System.in); System.out.println(input your get money:); money=scanner.nextInt; if(money=this.getBalance-minBalance) super.withdraw(money); else System.out.println(Not Enough Money); public void check for (counter=1;counter=3;counter+) Scanner scanner=new Scanner(Syste
13、m.in); System.out.println(input accountID:); String faccountID=scanner.next; if (faccountID).equals(this.accountID) System.out.println(Right ID); return ; else System.out.println(Account); package atm; class inputoverException extends Exception public void printStackTrace System.out.println(inputove
14、r!); package atm; import java.util.Scanner; public class Main public static void main(String args) int num ; try ID ID=new ID; Account bAccount=new ID; ID.check; ID.getAccountAmount; for(num=0;num!=4;) System.out.println(input your choice:1deposit,2get,3Balance,4over:); Scanner scanner=new Scanner(S
15、ystem.in); num=scanner.nextInt; switch(num) case 1 : bAccount.deposit; break; case 2:bAccount.withdraw;break; case 3:bAccount.getBalance;break; case 4:break; default: System.out.println(not your want ); catch(inputoverException ex) ex.printStackTrace; System.out.println(Please remember your accountI
16、D); catch(Exception ex) ex.printStackTrace; System.out.println(Please remember your accountID!); 3.7流程逻辑 3.8接口 1、本程序所隶属的上一层模块结构图: 2、本程序隶属的下一层模块: 本小组考虑到本程序已经是属于ATM管理系统系统层次的ATM事物处理层,所以没有下一层模块。 3、与本程序直接关联的数据结构 协议描述 MESSAGE 按下此按钮就进入取款的界面,并提示客户输入取款数额。 MESSAGE 进入帐户查询界面,提示选择币种帐户类型。当你选择其中一个帐户类型时就显示帐户信息。如果该帐
17、户不存在,提示出错并返回上一层界面。 MESSAGE 进入转帐界面,提示用户选择转帐类型然后要求两次输入目标帐户的帐号,之后再输入转帐金额。 MESSAGE 进入更改密码子系统界面提示用户输入原密码,然后两次输入新密码。 MESSAGE 返回上一层界面。 MESSAGE(ATM_Quit)推出ATM机系统。 实现描述: 对象名:bankCard 类名: BankCard 私有数据结构:Integer:amount;printf(“input the amount of money you want!”); 3.9限制条件 不足之处: 由于本小组知识范围所限,软件开发的经验严重不足,对可视化开化
18、工具和数据库管理工具还处在学习阶段,所以对系统开发的进度以及系统功能的实现程度较难控制。 已具备的条件: 1、小组成员交流比较方便,而且共同写作,积极进取。 2、实现系统所需的资料准备得较齐全。 尚需补充的条件: 1、提高开发人员的编程能力和对软件工程思想的认识; 2、尽快掌握JAVA和SQL的使用方法以及相互的连接。3.10测试计划 3.10.1 本小组仅以会话用例与取款用例进行对ATM机管理系统的单体测试计划; 用例 被测试的功能 初始系统状态 测试输入 期望的结果 会话用例 系统读取顾客的银行卡 系统处于ON状态,并没有为顾客提供服务 插入可读的银行卡 银行卡被接收,系统请求输入密码 会
19、话用例 系统弹出不可读取的银行卡 系统处于ON状态,当前没有为顾客提供服务 插入不可读取的银行卡 银行卡被弹出,系统显示错误信息,准备启动一个新的会话 会话用例 系统接收顾客的密码 系统请求顾客输入密码 输入密码 系统显示一个事务类型菜单 会话用例 系统允许顾客执行事务 系统显示事务类型菜单 执行事务 系统询问顾客是否希望执行其它事务 会话用例 系统允许在一个会话中执行多个事务 系统询问是否回答“是” 系统显示事务执行其它事务 会话用例 当顾客选择不执行其它事务时,会话结束 类型菜单 系统询问是否执行其它事务 回答“否” 系统弹出银行卡,准备启动一个新的会话 事务用例 系统处理一个不合法的密码
20、 插入了可读取的卡 输入不正确的密码尝试某个事务 执行非法密码 取款用例 系统提示顾客选择需要提取的现金的账户 正在显示事务类型菜单 选择取款事务 系统显示账户类型菜单 取款用例 系统正确执行合法取款事务 系统显示取款金额菜单 选择系统当前拥有单小于账户余额的取款金额 系统弹出现金,打印收据,更新账户余额 取款用例 系统验证是否有足够的现金,系统现有的现完成用户的请金数量小于顾求 客请求的数量 选择大于当前系统拥有现金数量的取款金额 系统将显示一个信息,提示现金不足,请重新选择取款金额 取款用例 系统验证顾客账户余额是否能够满足请求的金额 系统正在请求取款金额 选择一个取款金额使得该金额小于当
21、前系统中的现金余额但是大于用系统将显示一个信息位顾客提供是否执行其它事务的选项 户账户余额 取款用例 取款事务在选择金额之前可以被顾客取消 系统显示账户类型菜单 按下“CANCEL”系统显示信息为顾客执行其它事键 务提供相关选项 取款用例 取款事务在顾客请求取款金额之前的任何时候可以被取消 系统显示请求取款金额菜单 按下“CANCEL”系统显示信息键 为顾客执行之前事务的选项 3.11尚未解决的问题 1、提高开发人员的编程能力和对软件工程思想的认识; 2、尽快掌握JAVA和SQL的使用方法以及相互的连接。 4程序2设计说明 4.1 ATM机查询账户系统设计说明 进入查询帐户的操作界面 选择你需
22、要的操作就可以查询并显示你的帐户信息 如果 还需要其他操作 按“返回”键 否则 退卡 如果 选择其他三个任意一个操作 进入各自的界面进行各自的操作 否则 退卡 4.2ATM机转账系统设计说明 进入转账/汇款的操作界面 选择你需要的操作 界面提醒你输入两次你要转入的卡号 卡号输入完毕,提醒你输入金额 按“确定”键,转账完毕 如果 还需要其他操作 按“返回”键 否则 超过10秒钟没有操作 或 选择退出 退卡 如果 选择其他三个任意一个操作 进入各自的界面进行各自的操作 否则 退卡 说明:本小组考虑,因其它系统的设计说明都是类似的,所以省略。 目录 1引言 . 3 1.1编写目的 . 3 1.2背景 . 3 1.3定义 . 4 1.4参考资料 . 5 2程序系统的结构 . 5 2.1 ATM取款活动图 . 5 2.2 ATM机转账活动图 . 6 3 ATM机管理系统程序设计说明 . 7 3.1程序描述 . 7 3.2功能 . 7 3.3性能 . 8 3.4输人项 . 9 3.5输出项 . 9 3.6算法 . 10 3.7流程逻辑 . 13 3.8接口 . 14 3.9限制条件 . 16 3.10测试计划 . 17 3.11尚未解决的问题 . 19 4程序2设计说明 . 19 4.1 ATM机查询账户系统设计说明 . 19 4.2ATM机转账系统设计说明 . 20