资源描述
ATM机系统规格说明书
2011年04月
软件技术 2009级
项目实践第〈三〉组
学号
姓名
备注
10225609222
尹婷
组长:制定项目计划,并根据各种变
化修改项目计划;负责需求分析阶段
的功能需求设计与UML建模
10225609221
李凤莲
成员:对项目的可行性进行分析与建模。
10255609224
邱爽
成员:负责项目的模块划分与建模。
10225609219
陈思
成员:对项目的性能进行分析与建模。
10225609220
金莹
成员与建模
10225609223
周洲
成员与建模
10225609225
祝月琳
成员与建模
目 录
ATM机系统规格说明书 3
1.导言 3
1.1 目的 3
1.2 范围 3
1.3 定义 3
1.4 参考资料 4
2、综合描述 4
2.1前景 4
2.2 项目目标 4
2.3 软件功能 4
2.4 用户类与特征 5
2.5 运行环境 5
2.6 假定和约束 5
2.7 假设和依赖附录 5
3、外部接口需求 5
3.1 硬件接口 5
3.2 软件接口 5
4、性能需求 6
4.1 ATM自动取款机的操作系统的性能指标: 6
4.2 软件质量特性 6
5、功能需求 6
5.1 功能需求 6
5.2 确定属性 12
5.3 识别继承关系 13
5.4ATM程序路径设计 15
5.5 系统问题域子系统结构: 16
5.6 建立动态模型: 16
5.7、状态图 18
6.其他需求 19
ATM机系统规格说明书
1.导言
1.1 目的
本需求规格说明书的编写目的是为用户与分析人员充分理解本产品而设立的,它说明了本系统的各项功能和性能需求,明确标志各功能实现过程,阐述范围与背景,提供客户解决问题或达到目标所需的条件或权能,提供一个度量和遵循的基准。
本文档的与其读者是:
软件的管理人员;
设计人员;
开发人员;
测试人员;
维护人员;
客户;
1.2 范围
本文档包含ATM自动取款机操作系统的对外接口和功能描述,以与和外部的约束关系。
1.3 定义
账号:在银行中,实务应用的单个账号。账号可以为多种类型,但是至少包含支票和存款。每个顾客可以拥有多个账号。
ATM:一个工作站终端,是的顾客能够使用现金卡在ATM上进行自己的事务处理。ATM同顾客交互,收集事务信息,并发送事务信息到中心计算机上,有中心计算机确认和处理信息之后,将现金通过ATM提供给顾客。
银行:一个金融机构,负责保存顾客的账号信息,执行授权卡通过ATM网访问账号。
银行计算机:银行拥有的计算机,同ATM网和银行自己的现金工作站进行交互,银行可以拥有自己的内部计算机网处理账号,但是我们只关心网络进行交互的计算机。
现金卡:每张卡提供给一个银行客户,授权客户可以使用ATM机访问自己的账号。每张卡包含一个银行代码和一个卡号,银行代码根据信用卡的国际标准进行编码,卡号确定卡能够访问的账户。一张卡不能访问客户的所有账户。每张卡只能有一个持卡人,但是多个副本可能存在,所以必须考虑从不同的ATM机同时使用相同卡的行为。
客户:拥有银行的一个或者多个账号的人,客户可以包括一个人或者多个人,或者是公司,相同的人,拥有不同的银行账号被认为是不用的客户。
事务:对单个客户账号的单个完整的操作请求。
1.4 参考资料
a.《软件需求工程》 主编:梁正平 机械工业出版社
b.《软件工程案例教程》主编:韩万江 机械工业出版社
c.软件工程国家标准:软件需求说明书(CB856T——88)
2、综合描述
2.1前景
伴随科技发展和社会进步,尤其是计算机卡范围的普与,计算机应用逐渐有大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了一台是计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行自动存取款账目管理之中的应用日益受到人们的关注。此软件使得银行与客户间的业务更方便,快捷和安全。
2.2 项目目标
● 系统能够提供有好的用户界面,是操作人员的工作量最大限度的减少;
● ATM机处理银行储户的各种操作,并与分行计算机通信;
● 各分理处的计算机保存各自的账户,负责录入账户和事务数据;
● 分行计算机与拨款分理处结账;
● ATM机与用户接口接受现金卡,与分行计算机通信完成事务,发放现金,打印票据;
● 系统需要记录保管和安全措施;
● 系统必须正确处理同一账户的并发访问;
●一个客户一定能够从任何帐户查询金融卡;
● 通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。
2.3 软件功能
●当用户插入自己的银联卡时,系统可以判断磁卡的类别。如果不是有效的磁卡就退卡,否则进入下一步操作。
● 输入密码正确后进入操作模板界面,否则,要求从新输入密码,并规定输入次数最多为三次,在尝试三次之后, 那卡将被机器没收, 直到客户连络那银行才能把它拿回来。成功登陆后,根据获取磁卡的有效信息, 进入选择操作模板界面。
● 如果选择存款模块,客户将装有现金的信封塞入自动柜员机之内,确认信封由银行从自动柜员机中取出。
● 如果选择取款模块,客户可以从账户里取¥100.00 的倍数的现金,一次最多可取¥2000.00。系统会提示用户输入取款信息,并提醒用户收取现金,如有误则重新输入。
● 如果用户进入查询模块,系统会与时显示用户的余额,并显示 ATM机里拥有的现金面值。让用户可以做出正确的选择。
● 如果进入转账汇款模块,我们需要用户选择转账类型,要求用户输入转账号,界面显示接收人的名字,确认后,转账成功。
● 如果进入修改密码模块后,系统提示用户输入新的密码,并要求再次输入密码,以确保密码无误,在确认后完成修改操作,并提醒拥护新密码生成。
2.4 用户类与特征
● ATM取款机操作系统的用户主要为使用ATM取款机提供的金融服务的客户
● 管理账户的银行工作人员
● ATM取款机服务客户,使用ATM取款机提供的金融服务的客户
2.5 运行环境
2.5.1 硬件环境;
系统基于B/S架构进行开发,所有管理和维护工作均集中在服务器端,客户机只需安装有IE浏览器即可,要求IE浏览器版本不低于5.5.
CPU:1GHz以上;
RAM:256M以上。
存储容量:剩余存储容量大于100M
2.5.2 支持的操作系统
服务器端运行环境为Jbuilder2005+JBOSS,数据库服务器选择SQLserver2000企业版,操作系统选择Windows XP。
系统主机操作系统至少达到c2级安全级别,不易受病毒感染和侵害,具备完善的身份认证,访问控制,安全审计,故障恢复功能。
系统应当采用大型关系型数据库软件,支持企业级海量数据访问。
2.6 假定和约束
不足之处:
由于本小组知识范围所限,软件开发的经验严重不足,对可视化开发工具和数据库管理工具还处于学习阶段,所以对系统开发的进度以与系统功能的实现程度较难控制。
具备的条件:
1、小组成员交流比较方便,而且共同协作,积极进取。
2、实现体统所需的资料准备的较齐全。
补充的条件:
1、提高开发人员的编程能力和对软件工程思想的认识;
2、尽快掌握JAVA和SQL的使用方法以与相互的连接。
2.7 假设和依赖附录
本系统将采用JAVA语言开发,不受操作系统的局限性。一般情况下使用WINDOWS操作系统,特殊情况下如果用户有其他操作的要求,系统应具备可移植的条件,本系统将使用MYSQL数据库系统。
3、外部接口需求
3.1 硬件接口
读卡机的接口部分有数据采集卡组成,通过串行接口传给计算机卡号。
3.2 软件接口
本软件采用Winsock 接口和活动数据接口对象(ADO)接口与存放账户文件的数据库连接,使用Windows API应用程序接口进行数据交换处理和图形图像处理。
上图由周洲完成
4、性能需求
ATM自动取款机的操作系统采用面向对象的,可做到灵活扩展,基于J2EE架构,采用跨平台、跨数据库技术,适合主流硬件和主流操作系统与Java的支持平台,数据库系统应满足安全、稳定、大容量、面向事务等关系型数据库基本功能,应用级管理全部基于WEB浏览器。
4.1 ATM自动取款机的操作系统的性能指标:
在网络稳定的环境下操作性界面单一操作的系统响应时间小于2秒,系统应持续的提供一致的服务。尽量减少数据库的交互次数,采用缓存机制,提高系统的响应速度。系统采用高安全性和可用性的备份恢复方案。
4.2 软件质量特性
与时性:快速响应用户请求;
正确性:运行结构的正确性;
灵活性:系统能够适应多运行环境;
可维护性:系统能够方便和容易的维护;
可靠性:系统运行的可靠性;
可重用性:设计和方案的可重用性;
可用性:系统的高性能可用;
5、功能需求
功能与数据流图
5.1 功能需求
ATM机部署图 上图由金莹完成
ATM
ATM
ATM
中央计算机
行计算机
柜员终端
账户
分行计算机
账户
账户
账户
储户
储户
柜员
ATM机数据流图 上图由祝月琳完成
上图由陈思完成
ATM机系统
上图由邱爽完成
● 用户登录
(1)用户输入账户信息和密码登陆。
字段名
类型
长度
非空
账户号
Varchar(6)
6
是
密码
Varchar(6)
6
是
(2)点击“确认”按钮,进行账户名和密码验证
● 查询
点击“查询”按钮,可查询账户余额信息。
事件流程如下:
用户查询
● 取款
(1) 接收取款金额输入
字段名
类型
长度
非空
备份
取款金额
Int
5
是
100的整数倍(<2000)
(2) 点击“确认”按钮,进行账户余额检测
(3) 取款成功,显示“操作已成功”,否则,取款失败,显示“金额只能是100的整数倍”或“账户余额不足”。
事件流程如下:
● 存款
(1) 接收存款金额
字段名
类型
长度
非空
存款金额
Int
5
是
(2) 存款成功显示“操作已成功”。
事件流程如下:
● 修改密码
(1) 修改账户密码
字段名
类型
长度
非空
原密码
Int
6
是
新密码
Int
6
是
(2) 点击“确认”按钮,校验原密码的正确性和新密码的有效性
(3) 修改密码成功,显示“您的密码已成功修改”;否则,修改失败,显示“原密码不正确,请重新输入”或“新密码位数不正确,请重新输入”
事件流程如下:
转帐
(1) 转账到别的用户
字段名
类型
长度
非空
备注
卡类转账目标账户号
float
5
是
转账金额
float
5
是
卡外转账目标账户号
float
19
是
(2) 点击“确认”按钮,进行目标账户和转账金额校验
(3) 验证成功,显示“转账已成功”;验证失败,显示“目标账户不存在”或“账户余额不足,交易取消”
事件流程如下:
转账活动图 (以上图形由尹婷完成)
5.2 确定属性
属性是对象的性质,藉助于属性我们能对类---对象和结构有更深入、更具体的认识。
资金
余额,结算
信息,消息
状况
登记册
收据
收据打印
操作员座谈小组
与银行联系网
封装接受器
现金发放器
顾客控制台
读卡器
取款机
银行卡
会议
处理交易
撤消
存款
过户转帐
查询
帐目信息
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
*
*
*
ATM对象模型中的属性 (上图由陈思完成)
5.3 识别继承关系
①自底向上:抽象出现有类的共性泛化出父类
远程事务+柜员事务=事务(父类)
ATM+柜员终端=输入站
②和自顶向下:把现有类更具体的子类
③目的:提高系统共享性
带继承关系的对象模型图如下图所示:
经修改后的ATM对象模型图如下图所示:
(以上图形由周洲、金莹完成)
5.4ATM程序路径设计
主屏
插入卡
请求密码
输密码
验证账户
非法帐户 合法帐户
请求类型(事务)
输入事务类型号
请求输入金额数
输入金额数
处理事务
失败
事务成功
分发现金
取现金
继续否
继续
终止
结束
弹出卡
取走卡
取款用例精化的顺序图
5.5 系统问题域子系统结构:
( 以上图形由尹婷、李凤莲完成)
5.6 建立动态模型:
ATM系统的正常情况脚本
l ATM请储户插卡;储户插入一张现金兑换卡。
l ATM接受该卡并读它上面的分行代码和卡号。
l ATM要求储户输入密码;储户输入自己的密码“1234”等数字。
l ATM请求总行验证卡号和密码;总行要求“39”号分行核对储户密码,然后通知ATM说这张卡有效。
l ATM要求储户选择事务类型(取款、转账、查询等);储户选择“取款”。
l ATM要求储户输入取款额;储户输入“880”。
l ATM确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行把请求转给分行,该分行成功处理完这项事务并返回该账户的新余额。
l ATM吐出现金并请储户拿走这些现金;储户拿走现金。
l ATM问储户是否继续这项事务;储户回答“不”。
l ATM打印账单,退出现金兑换卡,请储户拿走它们;储户取走账单和卡。
l ATM请储户插卡。
ATM系统的异常情况脚本
l ATM请储户插卡;储户插入一张现金兑换卡。
l ATM接受该卡并顺序读它上面的数字。
l ATM要求密码;储户误输入“8888”等数字。
l ATM请求总行验证卡号和密码;总行在向有关分行咨询后拒绝这张卡。
l ATM显示“密码错”,并请储户输入密码;储户输入“1234”等数字;ATM请求总行验证后知道输入密码正确。
l ATM要求储户选择事务类型;储户选择“取款”。
l ATM询问取款额;储户改变主意不想取款了,按“取消”。
l ATM退出现金兑换卡,请储户拿走它们;储户取走卡。
l ATM请储户插卡。
ATM 脚本的事件跟踪图如下图所示:(正常情况)
用户 ATM 总行 分行
插入卡片
要求密码
输入密码
请求验证账户 请求分行验证账户
账户有效
要求事务种类 账户有效
输入事务种类
要求输入取款额
输入取款额
请求处理事务
请求处理分行事务
分行事务成功
事务成功
吐出现金
请求取走现金
用户取走现金
请求继续
回答“终止”
打印账单
退出现金兑换卡
取走现金兑换卡
显示主屏幕
5.7、状态图
(以上图形由邱爽、祝月琳完成)
( 以上图形由陈思、李凤莲完成)
ATM机系统精化的包图 上图由邱爽完成
6.其他需求
该系统使用java技术进行开发,系统有很好的可移植性,在任何环境下都能够准确的运行,对用户的信息能够安全的保存,不会像任何未经身份验证者提供用户的信息,对用户的存款数额和取款日期能够准确记录。
31 / 31
展开阅读全文