资源描述
学校代码: 10128
学 号:200810205038 200820205052
200810205028 200810205032
课程设计
题 目:ATM自动取款机系统
—详细设计说明书
学生姓名:
学 院:信息工程学院
系 别:计算机系
专 业:
班 级:
指导教师:
2011年7月21日
目录
1.引言 1
1.1编写目的 1
1.2项目背景 1
1.3定义 1
1.4参考资料 2
2.总体设计 2
2.1需求概述 2
2.2软件结构 2
3.程序描述 3
3.1 取款子系统 7
3.1.1功能 7
3.1.2性能 7
3.1.3输入项目 7
3.1.4输出项目 8
3.1.5算法 8
3.1.6程序逻辑 9
3.1.7接口 9
3.1.8存储分配 10
3.1.9限制条件 10
3.1.10测试要点 10
3.2存款子系统 10
3.2.1功能 10
3.2.2性能 10
3.2.3输入项目 10
3.2.4输出项目 10
3.2.5算法 11
3.2.6程序逻辑 12
3.2.7接口 12
3.2.8存储分配 13
3.2.9限制条件 13
3.2.10测试要点 13
3.3 转账子系统 13
3.3.1功能 13
3.3.2性能 13
3.3.3输入项目 13
3.3.4输出项目 13
3.3.5算法 14
3.3.6程序逻辑 15
3.3.7接口 15
3.3.8存储分配 16
3.3.9限制条件 16
3.3.10测试要点 16
3.4 查询余额子系统 16
3.4.1功能 16
3.4.2性能 16
3.4.3输入项目 16
3.4.4输出项目 16
3.4.5算法 17
3.4.6程序逻辑 18
3.4.7接口 18
3.4.8存储分配 19
3.4.9限制条件 19
3.4.10测试要点 19
3.5 修改密码子系统 19
3.5.1功能 19
3.5.2性能 19
3.5.3输入项目 19
3.5.4输出项目 19
3.5.5算法 20
3.5.6程序逻辑 21
3.5.7接口 21
3.5.8存储分配 22
3.5.9限制条件 22
3.5.10测试要点 22
3.6 打印凭条子系统 22
3.6.1功能 22
3.6.2性能 22
3.6.3输入项目 22
3.6.4输出项目 23
3.6.5算法 23
3.6.6程序逻辑 24
3.6.7接口 24
3.6.8存储分配 25
3.6.9限制条件 25
3.6.10测试要点 25
五、详细设计说明书
1.引言
1.1编写目的
ATM自动取款机系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。为此,我们在明确该软件需求的基础上,安排项目规划与进度、组织软件开发与测试,撰写本文档。本文档针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。本文档供项目经理、设计人员、开发人员、客户参考。
1.2项目背景
待开发项目名称:ATM自动取款机系统的分析与设计。
项目提出者:ATM机系统是应呼和浩特建设银行网络建设和改造需要,为客户提供方便、迅速、便捷的自动取款业务提出了ATM机自动取款系统设计方案。
项目兼容现有银行管理系统。
项目开发者:李向南 朱学雷 赵中军 刘英杰
1.3定义
专业术语与缩略词
帐号:在银行中,事物应用的单个帐号。每个顾客可以拥有多个帐号。
用户:拥有银行的一个或多个帐号的人。可以是一个人或多个人,或者是公司。相同的人,拥有不同的银行帐号被认为是不同的落户。
ATM:ATM是Automatic Teller Machine 的缩写,意为自动取款机。是一种高度精密的机电一体化设备,利用磁卡或智能IC卡储存用户信息并通过加密键盘输入密码然后通过银行内部网络验证并进行各种交易的金融自助设备。
1.4参考资料
[1] 软件需求工程 作者:毋国庆 ISBN编号:9787111248095出版社:机械工业出版社 出版时间:2008-8-1
[2] 软件需求工程原理和方法作者:金芝 刘磷 金英ISBN编号:9787031214675
出版社:科学出版社 出版时间:2008-7-1
[3] UML基础与Rose建模案例 作者:吴建 汪杰 ISBN编号:9787115158978
出版社:人民邮电出版社 出版时间:2007-4-1
[4] 软件工程导论 作者:朱少民 ISBN编号:9787302186236 出版社:机械工业和方法》 出版社:清华大学出版设 出版时间:2009-1-1
[5] 软件工程综合设计指导书 作者:刘利民 田保军
2.总体设计
2.1需求概述
随着科技的发展,人们生活水平的不断提高,高性能高效率的产品越来越受到人们的欢迎。 ATM自动取款机是一种非常智能的机器,人们可以直接与它交互,代替以前的手工操作,大大提高了银行的工作效率。针对银行业务种类繁多、客户需求量大等现象,为了减少银行人员的工作任务,方便客户,使用户自己就可以在ATM机上存款、取款、查询余额、转账、修改密码、打印凭条、退卡等基础功能。在这样的需求下我们模拟开发了ATM自动取款机系统。
2.2软件结构
系统的层次结构图如图2.1
图2.1 系统的层次结构
3.程序描述
ATM自动取款机系统包括六个子系统和七个相应的模块。六个子系统分别是:取款系统、存款系统、修改密码系统、查询余额系统,打印凭条系统。七个模块分别是:读卡机模块如图3.1、键盘输入模块如图3.2、IC卡认证模块如图3.3、显示模块如图3.4、吐钱机模块如图3.5、打印凭条模块如图3.6,数据存储模块如图3.7。
图3.1读卡机模块的数据流程图
图3.2 键盘输入模块的数据流程图
图 3.3 IC卡认证模块的数据流程图
图3.4 显示模块数据流程图
图 3.5吐钱机模块的数据流程图
图3.6 打印凭条模块的数据流程图
图 3.7 数据存储模块的数据流程图
3.1 取款子系统
3.1.1功能
用户可以在ATM自动取款机上完成取款的操作。
3.1.2性能
在取款的时候,ATM自动取款机的反应时间不能超过2秒,在45秒内完成所有的取款动作,否则自动退卡。
3.1.3输入项目
表3-1 取款的输入项目
名称
类型
银行卡
磁卡
密码
int(6位整数)
取款金额
int(100的整数倍,不能超过2500)
3.1.4输出项目
表3-2 取款的输出项目
名称
类型
纸币
凭条
文本
3.1.5算法
图3.8 取款的活动图
3.1.6程序逻辑
图3.9 取款的时序图
3.1.7接口
系统程序内部在功能模块下设置的程序接口见表3-3,图3.10
表3-3 取款的软件接口
函数
输入
输出
Open()
卡号 密码
提示信息
WithdrawFunds()
金额
纸币
DeductFunds()
无
无
VerifyFunds()
无
无
图3.10 取款的类图
3.1.8存储分配
账户表 储蓄卡表 ATM表 清单表
3.1.9限制条件
ATM自动取款机中纸币没有了。
3.1.10测试要点
因为好的产品才能得到用户的认可和肯定,所以要对系统的反应速度、准确性(输入的金额数和吐钱机吐出的钱数要一致)和安全性,以及系统的稳定应有非常高的要求。
3.2存款子系统
3.2.1功能
用户可以通过和ATM自动取款机交互,完成存款的操作。
3.2.2性能
系统的反应时间是不能超过2秒,完成取款操作的时间不能超过30秒。
3.2.3输入项目
表3-4 存款子系统的输入项目
名称
类型
银行卡
磁卡
密码
int(6位整数)
金额
int(100的整数倍)
账号
19位整数
3.2.4输出项目
表3-5 存款子系统的输出项目
名称
类型
凭条
文本
3.2.5算法
图3.11 存款的活动图
3.2.6程序逻辑
图3.12 存款的时序图
3.2.7接口
系统程序内部在功能模块下设置的程序接口见表3-6 ,图3.13
表3-6 存款子系统的软件接口
函数
输入
输出
Open()
卡号 密码
提示信息
DepositFunds()
金额
无
AddFunds()
无
无
VerifyFunds()
无
无
图3.13 存款的类图
3.2.8存储分配
账户表 储蓄卡表 ATM表 清单表
3.2.9限制条件
ATM自动取款机中的纸币以满,不能再放入纸币。
3.2.10测试要点
好的产品才能得到用户的认可和肯定,只有得到用户的肯定才会有市场,为此要对系统的反应速度、准确性(能准确读取放入的纸币数目)和安全性,以及系统的稳定应有非常高的要求。
3.3 转账子系统
3.3.1功能
用户可以通过和ATM自动取款机交互,完成转账的操作。
3.3.2性能
系统的反应时间是不能超过2秒,完成转账操作的时间不能超过30秒。
3.3.3输入项目
表3-7 转账子系统的输入项目
名称
类型
银行卡
磁卡
密码
int(6位整数)
账号
19位整数
金额
int(100的整数倍)
3.3.4输出项目
表3-8 转账子系统的输出项目
名称
类型
凭条
文本
3.3.5算法
图3.14 转账的活动图
3.3.6程序逻辑
图3.15 转账的时序图
3.3.7接口
系统程序内部在功能模块下设置的程序接口见表3-9,图3.16
表3-9 转账子系统的软件接口
函数
输入
输出
Open()
卡号 密码
提示信息
TransferFunds()
金额
无
DeductFunds()
无
无
VerifyFunds()
无
无
图3.16 转账的类图
3.3.8存储分配
账户表 储蓄卡表 ATM表 清单表
3.3.9限制条件
银行卡里的余额不足或不是同一类型的卡。
3.3.10测试要点
好的产品才能得到用户的认可和肯定,只有得到用户的肯定才会有市场,为此要对系统的反应速度、准确性(转走的金额和转入到某一账户的金额数一致,数据库里的信息要准确的更新)和安全性,以及系统的稳定应有非常高的要求。
3.4 查询余额子系统
3.4.1功能
用户可以通过和ATM自动取款机交互,完成查询余额的操作。
3.4.2性能
系统的反应时间是不能超过2秒,完成查询余额操作的时间不能超过30秒。
3.4.3输入项目
表3-10 余额查询子系统的输入项目
名称
类型
银行卡
磁卡
密码
int(6为整数)
3.4.4输出项目
表3-11 余额查询子系统的输出项目
名称
类型
凭条
文本
3.4.5算法
图3.17 余额查询的活动图
3.4.6程序逻辑
图 3.18 余额查询的时序图
3.4.7接口
系统程序内部在功能模块下设置的程序接口见表3-12,图3.19
表3-12 查询余额子系统的软件接口
函数
输入
输出
Open()
卡号 密码
无
Query()
无
无
图3.19 余额查询的类图
3.4.8存储分配
账户表 储蓄卡表 清单表
3.4.9限制条件
硬件故障
3.4.10测试要点
好的产品才能得到用户的认可和肯定,只有得到用户的肯定才会有市场,为此要对系统的反应速度有非常高的要求,这也是最基本的要求。
3.5 修改密码子系统
3.5.1功能
用户可以通过和ATM自动取款机交互,完成修改密码的操作。
3.5.2性能
系统的反应时间是不能超过2秒,完成修改密码操作的时间不能超过30秒。
3.5.3输入项目
表3-13修改密码子系统的输入项目
名称
类型
银行卡
磁卡
旧密码
int(6为整数)
新密码
int(6为整数)
3.5.4输出项目
表3-14 修改密码子系统的输出项目
名称
类型
凭条
文本
3.5.5算法
图 3.20 修改密码的活动图
3.5.6程序逻辑
图3.21 修改密码的时序图
3.5.7接口
系统程序内部在功能模块下设置的程序接口见表3-15,图3.22
表 3-15修改密码子系统的软件接口
函数
输入
输出
Open()
卡号 密码
无
AlterPassword()
旧密码 新密码
无
图3.22 修改密码的类图
3.5.8存储分配
账户表 储蓄卡表 清单表
3.5.9限制条件
忘记了旧密码
3.5.10测试要点
好的产品才能得到用户的认可和肯定,为此要对系统的反应速度、 安全性,以及系统的稳定有非常高的要求。
3.6 打印凭条子系统
3.6.1功能
用户可以通过和ATM自动取款机交互,完成一些基本的操作。如取款、存款、查询余额、修改密码,转账等。为了确保用户安全性和系统的稳定性,打印凭条子系统可以记录这些相关的操作,相当于文本形式的日志。如果出现错误可以凭借凭条到银行进行核实。
3.6.2性能
系统的反应时间是不能超过2秒,完成相应操作后打印凭条的时间不能超过30秒。
3.6.3输入项目
表3-16 打印凭条子系统的输入项目
名称
类型
银行
磁卡
密码
int(6为整数)
取款、转账等相关动作
3.6.4输出项目
表3-17 打印凭条子系统的输出项目
名称
类型
凭条
文本
3.6.5算法
图 3.23 打印凭条的活动图
3.6.6程序逻辑
图3.24 打印凭条的时序图
3.6.7接口
系统程序内部在功能模块下设置的程序接口见表3-18,图3.25
表 3-18 打印凭条子系统的软件接口
函数
输入
输出
Open()
卡号 密码
无
PrintSlip()
无
凭条(清单)
图3.25 打印凭条的类图
3.6.8存储分配
账户表 储蓄卡表 清单表 ATM表
3.6.9限制条件
ATM自动取款机里的凭条纸用完了、纸币没有了或是硬件出项了故障。
3.6.10测试要点
对系统的反应速度,稳定性有非常高的要求,以达到用户的满意度。
25
展开阅读全文