学校代码:
《软件工程》大作业
目:ATM自 动 取 款 机 系 统
姓名:
组员:
二〇一二年十一月
《软件工程》大作业
制作人员名单:
需求
:
系统用例建模: 系统动态建模: 系统包图设计:
系统类模型:
系统部署:
目录
一、项目可行性分析....................................................................................................................... 1 1(引言..................................................................................................................................... 1
1.1编写目的 ..................................................................................................................... 1
1.2项目背景 ..................................................................................................................... 1
1.3定义 ............................................................................................................................. 1
2(可行性研究的前提 ............................................................................................................. 2
2.1要求与目标 ................................................................................................................. 2
2.2条件、假定和限制 ..................................................................................................... 2
2.3可行性研究方法 ......................................................................................................... 3
2.4决定可行性的主要因素 ............................................................................................. 3 3、技术可行性分析 ................................................................................................................. 3
3.1对系统的简要描述 ..................................................................................................... 3
3 3.2处理流程和数据流程 .................................................................................................
3.3与现有系统比较的优越性 ......................................................................................... 4
3.4采用系统可能带来的影响 ......................................................................................... 4
3.5技术可行性评价 ......................................................................................................... 5
二、 软件需求说明书..................................................................................................................... 5 1 引言....................................................................................................................................... 5
1.1 编写目的 .................................................................................................................... 5
1.2 项目背景 .................................................................................................................... 6
1.3定义 ............................................................................................................................. 6
1.4 参考资料 .................................................................................................................... 6 2 软件目标............................................................................................................................... 7
2.1 概述 ............................................................................................................................ 7
2.2 运行环境 .................................................................................................................... 7
2.3 条件与限制 ................................................................................................................ 7 3 软件需求结构 ....................................................................................................................... 8
3.1软件需求结构 ............................................................................................................. 8
3.2 需求结构说明 ............................................................................................................ 8
三、系统设计................................................................................................................................. 11
1(系统总体设计 ................................................................................................................... 11
1.1 引言 .......................................................................................................................... 11
1.2 确定角色 .................................................................................................................. 12
1.3 创建用例 .................................................................................................................. 12
1.4 创建角色—用例关系图 .......................................................................................... 13 2(系统详细设计 ................................................................................................................... 14
2.1 引言 .......................................................................................................................... 14
2.2 详细设计 .................................................................................................................. 14
2.3 包图设计 .................................................................................................................. 16
2.4.类设计 ....................................................................................................................... 18
2.5系统部署 ................................................................................................................... 19
四、ATM机系统软件测试 ........................................................................................................... 23 1(基本事件流: ................................................................................................................... 23 2(备选事件流(考虑可能失败的地方): ............................................................................ 23
3(基本路径: ....................................................................................................................... 24 4(下面分析测试数据,采用等价类划分和边界值法 ....................................................... 24
5(测试用例........................................................................................................................... 24
五、ATM机用户手册 ................................................................................................................... 26
一、项目可行性分析
1(引言
1.1编写目的
针对银行业务种类繁多、客户需求量大等现象,为了减少银行人员的工作任务,方便客户。银行投资研发ATM终端机使用户自己就可以实现小额取款、存款等业务。同时支持其他业务的扩展,现在从技术、经济、社会等因素对此项目进行可行性分析,编写此文档供项目经理决定是否要实施此项目。 1.2项目背景
待开发项目名称:ATM自动取款机系统的分析与设计。
项目提出者:ATM机系统是应呼和浩特建设银行网络建设和改造需要,为客户提供方便、迅速、便捷的自动取款业务提出了ATM机自动取款系统设计
。
项目兼容现有银行管理系统。
1.3定义
专业术语与缩略词
帐号:在银行中,事物应用的单个帐号。帐号可以为多种类型,但是至少包括支票和存款。每个顾客可以拥有多个帐号。
客户:拥有银行的一个或多个帐号的人。可以是一个人或多个人,或者是公司。相同的人,拥有不同的银行帐号被认为是不同的落户。
ATM:ATM是Automatic Teller Machine 的缩写,意为自动柜员机。是一种高度精密的机电一体化设备,利用磁卡或智能IC卡储存用户信息并通过加密键盘(EPP)输入密码然后通过银行内部网络验证并进行各种交易的金融自助设备。
事务:对单个客户帐号的单个完整的操作请求,一般是指要做的或所做的事情。
1
2(可行性研究的前提
2.1要求与目标
a、功能:用户可以在ATM机进行取款、存款、转账、查询余额、修改密码、打印凭条、退卡等基本功能。
b、性能:快速性:处理业务的时间不得超过45秒否则取消事务退卡。准确性:吐钞、存抄的数目正确。 稳定性:频繁的进行多项业务系统仍能正常运行,外部环境发生小范围内变动系统不受影响。
c、输入:密码:由用户设置的一个6位整数。
取款数目:只支持交易金额为100的倍数。
取款金额:不能输入5000以上的数字。
存款数目:只支持交易金额为50的倍数。
、输出:响应时间30秒以内。 d
e、安全与保密要求:密码连续输入三次今日不能在取钱。
f、完成期限:一年。
从经济上、技术上、操作上考虑均可行后,尽量提高进度可减少人力费用,采用一次性购置多台设备可有优惠,对系统性能如:处理速度,尽量做到越快越好,控制精度提高;同时加强项目管理,提高工作人员的效率。 2.2条件、假定和限制
a、建议开发软件运行的最短寿命:十年。
b、经费来源和使用限制:中国建设银行投资。
c、法律和政策方面的限制:涉及法律法规应向律师进行详细咨询以免侵害客户和其他人的利益。
d、硬件、软件、运行环境和开发环境的条件和限制:ATM柜员机终端设备,地区服务器、中央服务器、数据库服务器(多个分散的)。
e、可利用的信息和资源:现有简易ATM机的实现原理 银行工作人员手工操作的业务流程。
f、建议开发软件投入使用的最迟时间:测试一个月后。
2
2.3可行性研究方法
可行性研究方法是相关方法的集成,主要使用了战略分析、调查研究、预测技术、系统分析、模型方法和智囊技术等。
2.4决定可行性的主要因素
可行性研究方法是以预测为前提,以投资效果为目的,影响的主要因素是技术上、经济上、操作上。从技术、经济、操作的角度进行全面的分析研究,并对其投产后的经济效果进行预测,在既定的范围内进行方案论证的选择,以便最合理地利用资源,达到预定的社会效益和经济效益。
3、技术可行性分析
3.1对系统的简要描述
ATM终端可以接受一张可识别的银行储蓄卡,通过储户身份验证后,同储户进行各种交互,处理储户要求,执行各类操作,为储户服务。系统要求保持一定时间内的交易记录,可以处理多个ATM终端并发访问。同时,系统应每天自动汇总各种交易数据,生成报表。系统24小时工作,无操作时播放本行的动画广告。系统具有设备自检提示报错功能,可以提示输入错误,ATM终端钱柜缺钱。 3.2处理流程和数据流程
本系统的流程图:
3
ATM终端
插卡/退卡出钱凭条
输入验证账户
打印模块读卡机键盘显示界面IC认证吐钱机
选择事务
取款
存款
转账
账户
查询余额
打印凭条
退卡
修改密码
举例说明:取钱的流程:在读卡机中插入银行卡,识别后提示输入密码,用键盘输入密码后,验证密码正确后进入主界面选择取钱,提示输入金额,输入金额后系统到账户中验证是否在允许值范围内,金额正确则吐钱机吐钞,吐钞后提示取走钱,系统自动跳转到主界面客户可以进行其他事务的选择。 3.3与现有系统比较的优越性
与银行终端相比较无需到银行领号排队,减轻银行业务人员的工作量,同时使客户可以在就近的ATM机上24小时进行事务交易。
3.4采用系统可能带来的影响
4.4.1对设备的影响
由于所建议系统是基于WINDOWS操作系统和互联网的,所以需要配备足够符
4
合以上列出的各种软硬件条件的计算机和通信线路。系统失效后,服务器端需要利用备份的数据库恢复数据信息,要求要有足够的数据备份空间。 4.4.2对现有软件的影响
需要落实是否有符合本报告所列出的正版的软件环境,如果没有则需要购买,要和现有系统兼容。
4.2.3对用户的影响
投入使用前还需改进现有的管理模式。
4.2.4对系统运行的影响
无影响。
4.2.5对开发环境的影响
开发过程需要用户进行密切的配合,准确阐明需求。
4.2.6对运行环境的影响
无影响。
4.2.7对经费支出的影响
除了需要支付开发单位的有关费用外,每年还需要一定的运行维护费用(见经济可行性分析)。
3.5技术可行性评价
系统是一个基于局域网、互联网和WINDOWS操作的系统,现有技术已较为成熟,利用现有技术完全可以实现系统开发目标。同时具有优秀的软件需求人员、软件设计人员、和具有丰富
的软件测试人员。,开发期限较为宽裕,预计可以在规定期限内完成开发任务。
二、 软件需求说明书
1 引言
1.1 编写目的
ATM自动取款机系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费
5
时、费力,效率低下,而且无法达到理想的效果。为此,我们在明确该软件需求的基础上,安排项目规划与进度、组织软件开发与测试,撰写本文档。本文档针对上述问题,采用软件工程的开发原理,依据软件流程过程
,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。本文档供项目经理、设计人员、开发人员、客户参考。
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 出版社:清华大
6
学出版设 出版时间:2009-1-1
[5] 软件工程综合设计指导书 作者:刘利民 田保军
2 软件目标
2.1 概述
现如今,有许多家银行在顾客办理业务时都需要到柜台前需要服务人员的操作,效率很低。为了解决这样的问题,我们小组提出了研究ATM自动取款机系统,使银行和各户办理业务时,更便捷。
ATM自动取款机可以24小时自动取款,无需人工服务,同时提供了许多的功能,尽可能的满足用户的需求。
该软件系统为社会提供了很大方便,同时也是时代的需要,代表社会的进步和科技的发展。
2.2 运行环境
操作系统:Windows xp
数 据 库:Microsoft SQL Server 2005 硬件环境:
CPU:2GHZ 以上 硬盘:320G以上
2.3 条件与限制
随着科技的发展,人们生活水平的不断提高,高性能高效率的产品越来越受到人们的欢迎。 ATM自动取款机是一种非常智能的机器,人们可以直接和它交互,代替以前的手工操作,大大提高了银行的工作效率。同时也给广大用户带来了非常大的方便。由于ATM自动取款机是和服务器是连网的,这就涉及到安全的问题,例如密码被盗的问题,这就需要加强安全措施,如运用一些加密算法。所以银行卡丢失的时候,一定要及时挂失,以确保自己的账户安全。
7
3 软件需求结构 3.1软件需求结构 首先进行系统分析,简单的来说该系统大概需要以下七个模块:
(1)读卡机模块
(2)键盘输入模块
(3)IC认证模块
(4)显示模块
(5)吐钱机模块
(6)打印报表模块
(7)监视器模块
3.2 需求结构说明 显示模块的需求:
1.取款模块
2.存款模块
3.查询余额模块
4.转账模块
8
5.修改密码模块
读卡机模块需求:
键盘输入模块需求:
9
IC认证模块需求:
吐钱机模块需求 :
打印报表模块需求 :
打印报表模块需求:
10
监视模块需求:
数据库模块需求 :
三、系统设计 1(系统总体设计
1.1 引言
建立用例视图分为以下几个步骤:
• 确定角色(Actors)
• 创建用例(Use Case)
• 创建角色(Use Cases)—用例(Use Case)关系图
11
1.2 确定角色
1.3 创建用例
用例是角色启动的,基于这样的考虑,ATM系统根据业务流程大致可以分为以下的几个用例:
, 客户取钱 , 银行官员改变密码
, 客户存钱 , 银行官员为ATM添加现金
, 客户查询余额 , 银行官员维护ATM硬件
, 客户转帐 , 信用信用启动来自客户的付款
, 客户更改密码
, 客户通过信用系统付款
建立用例图
12
1.4 创建角色—用例关系图 客户的角色—用例关系图一共有6个用例:
• 转账
• 查询余额
• 存钱
• 付款
• 取钱
• 修改密码
客户的用例关系图
13
2(系统详细设计
2.1 引言
动态模型包括许多框图:活动框图(Activity)、序列图(Sequence)、协作图(Collaboration)
等。创建这些框图目的是为了更好的了解业务流程。
2.2 详细设计
2.1“开户”的活动图
14
2.2取100元人民币的时序图
2.3取100元人民币的协作图
15
2.3 包图设计
包将具有一些共性的类组合在一起,包装类时有常用的几个方法:
• 按版型
• 按功能
• 按嵌套
• 以上方法的组合
系统包图
16
Hardware包内的类
Logic包内的类
17
2.4.类设计
类模型是在Logical视图中显示的。Logical视图关注系统如何实现用例中提出的功能。它提供详细的图形,描述组件间如何关联。此外,还包括需要的类、类图和状态图。
1 Logical视图
2 Logical类图
18
3 状态图
2.5系统部署
ATM系统部署是整个项目实施过程中最后的阶段了,其实就是把该系统中涉及到的硬件软件整合到一起,并且可以让系统运行起来。
在部署中有两种视图,组件图和配置图。
1服务器端组件图
19
3 配置图
2 客户端组件图
22
四、ATM机系统软件测试 1(基本事件流:
1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;
2、用户输入该银行卡的密码,ATM提款机与MainFrame传递密码,检验密码的正确性。如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入
; 您的提款额度”
3、用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢~”,用户按下确认键,确认需要提取的金额;
4、系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。
5、用户提款,银行卡自动退出,用户取走现金,拔出银行卡,ATM提款机界面恢复到初始状态;
2(备选事件流(考虑可能失败的地方):
1.在基本事件流1中:
如果插入无效的银行卡,那么,在ATM提款机界面上提示用户“您使用的银行卡无效~”,3秒钟后,自动退出该银行卡。
2.在基本事件流2中:
如果用户输入的密码错误,则提示用户“您输入的密码无效,请重新输入”;
如果用户连续3次输入错误密码,ATM提款机吞卡,并且ATM提款机的界面恢复到初始状态。此时,其他提款人可以继续使用其他的合法的银行卡在ATM提款机上提取现金。
用户输入错误的密码后,也可以按“退出”键,则银行卡自动退出。
3.在基本事件流3中:
如果用户输入的单笔提款金额超过单笔提款上限,ATM提款机界面提示“您输入的金额错误,单笔提款上限金额是2500RMB,请重新输入”;
如果用户输入的单笔金额,不是以50RMB为单位的,那么提示用户“您输入
23
的提款金额错误,请输入以50为单位的金额”;
如果用户输入正确的提款金额,ATM提款机提示用户确认后,用户取消提款,则ATM提款机自动退出该银行卡;
如果ATM提款机中余额不足,则提示用户,“抱歉,ATM提款机中余额不足”,
3秒钟后,自动退出银行卡。
4.在基本事件流4中:
如果用户银行户头中的存款小于提款金额,则提示用户“抱歉,您的存款余额不足~”,3秒钟后,自动退出银行卡;
5.在基本事件流5中:
如果用户没有取走现金,或者没有拔出银行卡,ATM提款机不做任何提示,直接恢复到界面的初始状态;
3(基本路径:
插入银行卡---提示输入密码---用户输入密码---提示输入金额---用户输入金额---提示确认---用户确认---输出钞票给用户,退卡---用户取走现金,取走银行卡---界面恢复初始状态
4(下面分析测试数据,采用等价类划分和边界值法
等价类划分:
输入条件 有效等价类 无效等价类 银行卡 银行卡 非银行卡 密码 字符串为0,9之间的阿拉伯数字组合,密长度不是6位的0~9之间的组
码长度为6位 合
金额 以50为单位,50—2500 RMB,单笔取款非50的倍数,或大于2500
额最高为2500RMB;
TRUE 确认
取现金 TRUE、FALSE
取银行卡 TRUE、FALSE
边界值分析:
输入 内点 上点 离点 密码 000001、999998 000000、999999 00000、1000000 金额 100、2450 50、2500 0、2550 5(测试用例
用例
编号 测试项目 测试标题 输入参数 操作步骤 预期输出
24
1、提示输入
密码;
1、插入合法有效的银2、提示输入
行卡; 金额; 插入有效银行2、输入密码000001; 3、提示确认; 卡并输入合法3、输入金额100; 4、输出钞票; 密码和金额,点4、点击确定; 5、退出银行击确认后,取走5、输出金额后取走现卡; ATM_
银行ATM输出的现金和金额50,密金; 6、界面恢复ST_00
机取款 退出银行卡 码000000 6、取走银行卡 初始状态 1
1、提示输入
密码;
1、插入合法有效的银2、提示输入插入有效银行行卡; 金额; 卡并输入合法2、输入密码999999; 3、提示确认; 密码和金额,点3、输入金额2500; 4、输出钞票; 击确认后,不能4、点击确定; 5、退出银行取走输出的现5、输出金额后取走现卡; ATM_银行ATM金和退出银行金额2500,金; 6、界面恢复ST_00
机取款 卡 密码999999 6、取走银行卡 初始状态 2
1、提示输入
密码;
2、提示输入
金额;
3、提示用户
“您输入的
1、插入合法有效的银提款金额错
行卡; 误,请输入以ATM_银行ATM金额0,密2、输入密码123456。 50为单位的ST_00
机取款 输入非法金额 码123456 3、输入金额0。 金额”; 3
1、提示输入
密码;
2、提示输入
金额;
3、提示用户
“您输入的
金额错误,单
笔提款上限
1、插入合法有效的银金额是
行卡; 1500RMB,ATM_银行ATM金额2550,2、输入密码999456; 请重新输ST_00
机取款 输入非法金额 密码999456 3、输入金额2550。 入”; 4
提示用户“您
1、插入合法有效的银输入的密码 ATM_
银行ATM行卡; 无效,请重新密码00000 ST_00
机取款 输入非法密码 2、输入密码00000。 输入”; 5
25
1、插入合法有效的银提示用户“您
行卡; 输入的密码 ATM_
银行ATM2、输入密码无效,请重新密码ST_00
机取款 输入非法密码 1000000。 输入”; 1000000 6
提示用户“您
使用的银行
卡无效~”,3
秒钟后,自动ATM_银行ATM退出该银行ST_00
机取款 插入非银行卡 插入IC卡 插入IC卡 卡 7
1、提示输入
密码; ATM_银行ATM插入卡后取消 1、插入银行卡; 2、退出银行ST_00
机取款 操作 2、点击取消; 卡; 8
ATM_
银行ATM连续三次输入ST_00
机取款 非法密码 9
1、提示用户
“抱歉,您的
1、插入合法有效的银存款余额不
行卡; 足~”;
输入提款金额 2、输入密码002301; 2、3秒钟后,ATM_
银行ATM大于账户内余密码123456 3、输入金额1500; 自动退出银ST_01
机取款 额 金额为1500 4、点击确定. 行卡; 0
五、ATM机用户手册 插银行卡,
选择语言,
输入密码,
选择要做的项目(比如取款,查询余额,这里设你是取款), 输入你要执行的操作就可以了。
26