您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > ATM机管理系统详细设计说明书
项目名称:ATM机管理系统负责人:(计算机062-32李小飞,主要负责统筹规划,程序代码,部分流程图,资料查询)参与人:(计算机063-31王开元,主要负责编写整理,部分流程图,PPT制作,资料查询;计算机063-29潘锋,主要负责部分流程图,资料查询)ATM机管理系统详细设计说明书详细设计说明书1引言1.1编写目的ATM机管理系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档,本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。本文档供项目经理、设计人员、开发人员参考。1.2背景a.待开项目名称:ATM机管理系统。b.ATM机管理系统是应大连市工商银行银行网络建设和改造需求,为客户提供方便、迅速、便捷的自动取款业务提出了ATM机管理系统建设的项目解决方案并通过了竞标,ATM机管理系统开发小组获得了大连市工商银行ATM机管理系统的项目开发计划。1.3定义账号:在银行中,事务应用的单个账号。账号可以为多种类型,但是至少包括支票和存款。每个顾客可以拥有多个账号。ATM:一个工作站终端,使得顾客能够使用现金卡在ATM上进行自己的事务处理。ATM同顾客进行交互,收集事务信息,并发送事务信息到中心计算机,由中心计算机确认和处理信息之后,将现金通过ATM提供给顾客。银行:一个金融机构,负责保存顾客的账号信息,执行授权卡通过ATM网访问账号。银行计算机:银行拥有的计算机,同ATM网和银行自己的现金工作站进行交互。银行可以拥有自己的内部计算机网处理账号,但是我们只关心同网络进行交互的计算机。现金卡:每张卡提供给一个银行客户,授权客户可以使用ATM机访问自己的账号。每张卡包含一个银行代码和一个卡号,银行代码根据信用卡的国际标准进行编码,卡号确定卡能够访问的账户。一张卡不能访问客户的所有账户。每张卡只能有一个持卡人,但是多个复本可能存在,所以必须考虑从不同的ATM机同时使用相同卡的行为。客户:拥有银行的一个或者多个账号的人。客户可以包括一个人或者多个人,或者是公司。相同的人,拥有不同银行的账号被认为是不同的客户。事务:对单个客户账号的单个完整的操作请求。1.4参考资料a.大连市工商银行ATM网络系统改造需求建议书b.《实时UML与RantionalRoseRealTime建模案例剖析》主编:余金山电子工业出版社c.软件工程国家标准:软件需求说明书(GB856T——88)2程序系统的结构2.1ATM取款活动图描述上图功能:取款开始,先插卡,确认卡是否合法,输入”true”时,就读取密码信息,提示输入密码。输入”false”时,系统就会提示退卡。输入密码时,如果密码正确,则会提示取款,否则提示让重新输入密码,三次输入密码都错误,则系统就退卡。读取取款信息后,问是否确认取款,输入“true”时,系统就提示输入取款金额。输入”false”时,系统就终止取款活动。输入取款额时,系统提示是否确认取款,如果确认,就出钞,然后终止活动,否则就直接提示取卡。2.2ATM机转账活动图3ATM机管理系统程序设计说明3.1程序描述考虑到目前仍然有很多银行是柜台办理取款存款转账等业务,很是麻烦。所以本小组开发此软件的是为了完善大连工商银行的业务处理流程,使得银行与客户间的业务办理更方便、快捷和安全。本小组仅以设计开发的ATM机管理系统的取款子系统位例进行详细说明,该系统可以实现取款功能,有常驻能存,没有子程序,是顺序处理。3.2功能ATM机取款子程序IPO图:3.3性能说明:1、ATM系统软件总体结构:交互式界面和事务处理型系统的混合体。2、ATM系统分为三个系统层次:(1)ATM事务处理层(2)营业部事务处理层(3)联营机构事务处理层3、事务处理的数据库在营业部计算机中集中存放。可被多个并发的ATM通过联营机构确定连接访问。数据处理是单一的批处理型系统(指一个帐号被封锁直到处理结束)。4、联营计算机通过电话线与各营业部计算机连接。并通过站代码和营业部代码区分ATM业务到营业部的业务处理。5、每一时刻ATM上只有一个业务活动,联营计算机和营业部计算机可同时处理多个并发的业务活动。一个业务通过三个物理片段来完成,缺一不可。6、系统应该具有增加和删除ATM和营业部处理层的能力。7、系统的安全保证至关重要。必须包括:存取权限、数据一致性保证、出错处理等解决方案。3.4输人项(只针对取款系统)名称密码金额总数类型charint格式******0000.00有效范围6位100的倍数元方式键盘输入键盘输入频度10次5次系统性能反应时间不能大于10秒钟反应时间不能大于10秒钟安全保密条件10次输入密码错误则吞卡一天最多取款不得超过5000元媒体人工输入人工输入3.5输出项(只针对取款系统)名称金额类型int格式0000.00有效范围100的倍数方式键盘输入频度5次系统性能反应时间不能大于10秒钟安全保密条件一天最多取款不得超过5000元媒体点钞机3.6算法取款操作算法描述(包括ATM系统类、取款类、数据库类)1、ATM(系统)类系统主方法的开始,负责调用其他类;importjava.sql.*;importjava.io.*;importjava.awt.*;importjava.awt.event.*;publicclassAtm{atmScreenatms=newatmScreen();//实例化ATM屏幕类publicvoidgo(){atms.mainFram();}publicstaticvoidmain(String[]args)//系统主方法,只负责调用{Atmatm=newAtm();atm.go();}}2、ATM(取款)类;packageatm;importjava.util.Scanner;publicclassAccount{privateintbalance;intmoney;publicAccount(){balance=0;}publicAccount(intbalance){this.balance=balance;}publicintgetBalance(){System.out.println(yourbalance:+balance);returnthis.balance;}publicvoidwithdraw(intmoney){balance-=money;}publicvoidwithdraw(){balance-=money;}}packageatm;importjava.util.Scanner;publicclassIDextendsAccount{staticfinalintminBalance=10;staticintcounter=0;privateStringaccountID=jisuanji;intnum;publicID(){super(minBalance);}privateID(StringID){this.accountID=ID;}publicintAccount(){returncounter;}publicintgetAccountAmount()throwsinputoverException,Exception{if(counter3){System.out.println(CannotUse);thrownewinputoverException();}elsereturncounter;}publicStringgetAccountID(){returnaccountID;}publicvoidwithdraw(){Scannerscanner=newScanner(System.in);System.out.println(inputyourgetmoney:);money=scanner.nextInt();if(money=this.getBalance()-minBalance)super.withdraw(money);else{System.out.println(NotEnoughMoney);}}publicvoidcheck(){for(counter=1;counter=3;counter++){Scannerscanner=newScanner(System.in);System.out.println(inputaccountID:);StringfaccountID=scanner.next();if((faccountID).equals(this.accountID)){System.out.println(RightID);return;}elseSystem.out.println(Account());}}}packageatm;classinputoverExceptionextendsException{publicvoidprintStackTrace(){System.out.println(inputover!);}}packageatm;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){intnum;try{IDID=newID();AccountbAccount=newID();ID.check();ID.getAccountAmount();for(num=0;num!=4;){System.out.println(inputyourchoice:1deposit,2get,3Balance,4over:);Scannerscanner=newScanner(System.in);num=scanner.nextInt();switch(num){case1:bAccount.deposit();break;case2:bAccount.withdraw();break;case3:bAccount.getBalance();break;case4:break;default:System.out.println(notyourwant);}}}catch(inputoverExceptionex){ex.printStackTrace();System.out.println(PleaserememberyouraccountID);}catch(Exceptionex){ex.printStackTrace();System.out.println(PleaserememberyouraccountID!);}}}3.7流程逻辑3.8接口1、本程序所隶属的上一层模块结构图:2、本程序隶属的下一层模块:本小组考虑到本程序已经是属于ATM管理系统系统层次的ATM事物处理层,所以没有下一层模块。3、与本程序直接关联的数据结构(1)协议描述MESSAGE(ATM—Withdraw)按下此按钮就进入取款的界面,并提示客户输入取款数额。MESSAGE(ATM__Query)进入帐户查询界面,提示选择币种帐户类型。当你选择其中一个帐户类型时就显示帐户信息。如果该帐户不存在,提示出错并返回上一层界面。MESSAGE(ATM__Transfer)进入转帐界面,提示用户选择转帐类型然后要求两次输入目标帐户的帐号,之后再输入转帐金额。MESSAGE(ATM__ChangePassword)进入更改密码子系统界面提示用户输入原密码,然后两次输入新密码。MESSAGE(ATM__Back)返回上一层界面。MESSAGE(ATM__Quit)推出ATM机系统。(2)实现描述:对象名:bankCard类名:BankCard私有数据结构
本文标题:ATM机管理系统详细设计说明书
链接地址:https://www.777doc.com/doc-5519135 .html