ATM机管理系统详细设计说明书.docx

上传人:b****2 文档编号:23438578 上传时间:2023-05-17 格式:DOCX 页数:19 大小:127.57KB
下载 相关 举报
ATM机管理系统详细设计说明书.docx_第1页
第1页 / 共19页
ATM机管理系统详细设计说明书.docx_第2页
第2页 / 共19页
ATM机管理系统详细设计说明书.docx_第3页
第3页 / 共19页
ATM机管理系统详细设计说明书.docx_第4页
第4页 / 共19页
ATM机管理系统详细设计说明书.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

ATM机管理系统详细设计说明书.docx

《ATM机管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《ATM机管理系统详细设计说明书.docx(19页珍藏版)》请在冰豆网上搜索。

ATM机管理系统详细设计说明书.docx

ATM机管理系统详细设计说明书

项目名称:

ATM机管理系统

 

负责人:

(计算机062-32李小飞,主要负责统筹规划,程序

代码,部分流程图,资料查询)

参与人:

(计算机063-31王开元,主要负责编写整理,部分

流程图,PPT制作,资料查询;

计算机063-29潘锋,主要负责部分流程图,资料

查询)

 

ATM机管理系统

详细设计说明书

 

详细设计说明书

1引言

1.1编写目的

ATM机管理系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。

但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。

为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档,本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。

本文档供项目经理、设计人员、开发人员参考。

1.2背景

a.待开项目名称:

ATM机管理系统。

b.ATM机管理系统是应大连市工商银行银行网络建设和改造需求,为客户提供方便、迅速、便捷的自动取款业务提出了ATM机管理系统建设的项目解决方案并通过了竞标,ATM机管理系统开发小组获得了大连市工商银行ATM机管理系统的项目开发计划。

c.

1.3定义

账号:

在银行中,事务应用的单个账号。

账号可以为多种类型,但是至少包括支票和存款。

每个顾客可以拥有多个账号。

ATM:

一个工作站终端,使得顾客能够使用现金卡在ATM上进行自己的事务处理。

ATM同顾客进行交互,收集事务信息,并发送事务信息到中心计算机,由中心计算机确认和处理信息之后,将现金通过ATM提供给顾客。

银行:

一个金融机构,负责保存顾客的账号信息,执行授权卡通过ATM网访问账号。

银行计算机:

银行拥有的计算机,同ATM网和银行自己的现金工作站进行交互。

银行可以拥有自己的内部计算机网处理账号,但是我们只关心同网络进行交互的计算机。

现金卡:

每张卡提供给一个银行客户,授权客户可以使用ATM机访问自己的账号。

每张卡包含一个银行代码和一个卡号,银行代码根据信用卡的国际标准进行编码,卡号确定卡能够访问的账户。

一张卡不能访问客户的所有账户。

每张卡只能有一个持卡人,但是多个复本可能存在,所以必须考虑从不同的ATM机同时使用相同卡的行为。

客户:

拥有银行的一个或者多个账号的人。

客户可以包括一个人或者多个人,或者是公司。

相同的人,拥有不同银行的账号被认为是不同的客户。

事务:

对单个客户账号的单个完整的操作请求。

1.4参考资料

a.大连市工商银行ATM网络系统改造需求建议书

b.《实时UML与RantionalRoseRealTime建模案例剖析》主编:

余金山电子工业出版社

c.软件工程国家标准:

软件需求说明书(GB856T——88)

d.       

e.

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输人项

(只针对取款系统)

名称

密码

金额总数

类型

char

int

格式

******

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(counter>3)

{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;}

else

System.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

私有数据结构:

Integer:

amount;printf(“inputtheamountofmoneyyouwant!

”);

3.9限制条件

不足之处:

由于本小组知识范围所限,软件开发的经验严重不足,对可视化开化工具和数据库管理工具还处在学习阶段,所以对系统开发的进度以及系统功能的实现程度较难控制。

已具备的条件:

1、小组成员交流比较方便,而且共同写作,积极进取。

2、实现系统所需的资料准备得较齐全。

尚需补充的条件:

1、提高开发人员的编程能力和对软件工程思想的认识;

2、尽快掌握JAVA和SQL的使用方法以及相互的连接。

3.10测试计划

3.10.1本小组仅以会话用例与取款用例进行对ATM机管理系统的单体测试计划;

用例

被测试的功能

初始系统状态

测试输入

期望的结果

会话用例

系统读取顾客的银行卡

系统处于ON状态,并没有为顾客提供服务

插入可读的银行卡

银行卡被接收,系统请求输入密码

会话用例

系统弹出不可读取的银行卡

系统处于ON状态,当前没有为顾客提供服务

插入不可读取的银行卡

银行卡被弹出,系统显示错误信息,准备启动一个新的会话

会话用例

系统接收顾客的密码

系统请求顾客输入密码

输入密码

系统显示一个事务类型菜单

会话用例

系统允许顾客执行事务

系统显示事务类型菜单

执行事务

系统询问顾客是否希望执行其它事务

会话用例

系统允许在一个会话中执行多个事务

系统询问是否执行其它事务

回答“是”

系统显示事务类型菜单

会话用例

当顾客选择不执行其它事务时,会话结束

系统询问是否执行其它事务

回答“否”

系统弹出银行卡,准备启动一个新的会话

事务用例

系统处理一个不合法的密码

插入了可读取的卡

输入不正确的密码尝试某个事务

执行非法密码

取款用例

系统提示顾客选择需要提取的现金的账户

正在显示事务类型菜单

选择取款事务

系统显示账户类型菜单

取款用例

系统正确执行合法取款事务

系统显示取款金额菜单

选择系统当前拥有单小于账户余额的取款金额

系统弹出现金,打印收据,更新账户余额

取款用例

系统验证是否有足够的现金,完成用户的请求

系统现有的现金数量小于顾客请求的数量

选择大于当前系统拥有现金数量的取款金额

系统将显示一个信息,提示现金不足,请重新选择取款金额

取款用例

系统验证顾客账户余额是否能够满足请求的金额

系统正在请求取款金额

选择一个取款金额使得该金额小于当前系统中的现金余额但是大于用户账户余额

系统将显示一个信息位顾客提供是否执行其它事务的选项

取款用例

取款事务在选择金额之前可以被顾客取消

系统显示账户类型菜单

按下“CANCEL”键

系统显示信息为顾客执行其它事务提供相关选项

取款用例

取款事务在顾客请求取款金额之前的任何时候可以被取消

系统显示请求取款金额菜单

按下“CANCEL”键

系统显示信息为顾客执行之前事务的选项

 

3.11尚未解决的问题

1、提高开发人员的编程能力和对软件工程思想的认识;

2、尽快掌握JAVA和SQL的使用方法以及相互的连接。

4程序2(标识符)设计说明

4.1ATM机查询账户系统设计说明

进入查询帐户的操作界面

选择你需要的操作就可以查询并显示你的帐户信息

如果还需要其他操作

按“返回”键

否则(超过10秒钟没有操作或选择退出)

退卡

如果选择其他三个任意一个操作

进入各自的界面进行各自的操作

否则

退卡

4.2ATM机转账系统设计说明

进入转账/汇款的操作界面

选择你需要的操作

界面提醒你输入两次你要转入的卡号

卡号输入完毕,提醒你输入金额

按“确定”键,转账完毕

如果还需要其他操作

按“返回”键

否则超过10秒钟没有操作或选择退出

退卡

如果选择其他三个任意一个操作

进入各自的界面进行各自的操作

否则

退卡

说明:

本小组考虑,因其它系统的设计说明都是类似的,所以省略。

 

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

当前位置:首页 > 自然科学 > 物理

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

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