ATM自动取款机系统需求分析教学提纲.doc
如有侵权,请联系网站删除,仅供学习与交流ATM自动取款机系统需求分析【精品文档】第 20 页软件工程结课论文题目:ATM自动取款机系统的需求分析专业:XXXXXXXXXXXXXXXX班级:XX XX XX XX X XX姓名: XX XX XX 学号: XXXXXXXXXXXXXXXXX 年 XX 月 XX 日 目录1引言1.1编写目的ATM自动取款机系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。为此,我们在明确该软件需求的基础上,安排项目规划与进度、组织软件开发与测试,撰写本文档。本文档针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。ATM自动取款机系统需求规格说明书的目的是明确ATM自动取款机系统中各项功能和非功能需求,确定系统功能模块,同时为概要设计和详细设计人员提供设计依据,也可供本项目的其他开发人员参阅。本需求分析报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本ATM自动取款机系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。本文档供项目经理、设计人员、开发人员、客户参考。1.2项目背景待开发项目名称:ATM自动取款机系统的分析与设计项目开发者:项目背景:在市场经济的蓬勃发展和人们日益繁忙的条件下,现有的银行系统往往需要客户在办理手续时等待很长的时间,这不仅会浪费很多宝贵的时间,也会使得银行的业务人员十分的繁忙,需要很大的人力和财力。基于这样的情况,ATM 取款机系统的开发就显的十分的重要!它可以减少银行的业务处理压力,尽量节省人们的时间,并且可以有效解决用户信息和资金信息的繁杂问题。1.3定义专业术语与缩略词账号:在银行中,事物应用的单个账号。每个顾客可以拥有多个账号。用户:拥有银行的一个或多个账号的人。可以是一个人或多个人,或者是公司。相同的人,拥有不同的银行帐号被认为是不同的落户。ATM:自动取款机又称ATM,是Automatic Teller Machine的缩写,意思是自动柜员机,因大部分用于取款,又称自动取款机。它是一种高度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替银行柜面人员的工作。可提取现金、查询存款余额、进行账户之间资金划拨、余额查询等工作;还可以进行现金存款(实时入账)、存折补登、中间业务等工作。持卡人可以使用信用卡或储蓄卡,根据密码办理自动取款、查询余额、转账、现金存款,存折补登,购买基金,更改密码,缴纳手机话费等业务。2任务概述2.1目标现如今,有许多家银行在顾客办理业务时都需要到柜台前需要服务人员的操作,效率很低。为了解决这样的问题,我们小组提出了研究ATM自动取款机系统,使银行和各户办理业务时,更便捷。ATM自动取款机可以24小时自动取款,无需人工服务,同时提供了许多的功能,尽可能的满足用户的需求。该软件系统为社会提供了很大方便,同时也是时代的需要,代表社会的进步和科技的发展。2.2运行环境硬件环境:CPU:1GHZ及以上内存:1G以上硬盘:20G以上软件环境:操作系统:Microsoft Windows XP或更高版本数 据 库:Microsoft SQL Server 2005Web服务器:Tomcat5.0以上支持浏览器:Internet Explorer 7.0及其以上版本开发环境:MyEclipse,JDK,Microsoft SQL Server 20052.3条件与限制随着科技的发展,人们生活水平的不断提高,高性能高效率的产品越来越受到人们的欢迎。 ATM自动取款机是一种非常智能的机器,人们可以直接和它交互,代替以前的手工操作,大大提高了银行的工作效率。同时也给广大用户带来了非常大的方便。由于ATM自动取款机是和服务器是连网的,这就涉及到安全的问题,例如密码被盗的问题,这就需要加强安全措施,如运用一些加密算法。所以银行卡丢失的时候,一定要及时挂失,以确保自己的账户安全。应具备的设备:计算机4台,打印机1台应具备的人员:软件专业学生4人其他条件:保证相关开发人员全部到位,不缺勤;资金全部到位3数据描述3.1静态数据插卡:用户和ATM自动取款机交互时,系统提示请插入磁卡,插入磁卡后,如果验证成功,进入登陆界面;否则退卡。登录:系统在登录界面提示输入密码,如果输入的密码正确,按确认键进入主界面,否则按更正键,重新输入密码。取款:进入主界面后,选择取款进入取款界面,如果所取的金额在界面上有,按相应的金额进行取款操作,如果没有,在键盘上手动输入所取的金额后按确认键。取款成功后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。 存款:进入主界面后,选择存款进入存款界面,系统提示输入存款的账号,和再次输入账号以确认两次输入的账号输入一致。如果两次输入的账号一致,按确认键后,系统提示请放入整百元的人民币,否则提示两次输入的账号不一致。请重新输入。存款成功后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。转账:进入主界面后,选择转账,进入转账界面,系统提示输入转账账户和转账金额,按确认键后,进入转账提示界面,如果该界面上显示的是你所要转账的用户名,则按确认键,则转账成功。如果和你所要转帐的用户不一致,则返回主界面,重复上述的转账操作。转账成功后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。查询余额:进入主界面后,选择查询余额,进入查询余额界面,屏幕显示您的余额是 * 。完成该操作后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。 修改密码:进入主界面后,选择修改密码,进入修改密码界面,系统提示输入旧密码,新密码,确认新密码,如果两次输入的新密码一直,按确认键,则修改密码成功。完成该操作后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。 打印凭条:进行完相应的操作后,如果要核实一下操作,选择打印凭条,ATM自动取款机会把凭条打印出来。完成该操作后,如果还要进行其他操作,按返回主界面键返回主界面,否则退卡。返回主界面:完成相应操作后,如果还要进行其他操作,按该键返回主界面,否则,退卡。退卡:完成相应操作后,如果不再进行其他操作,按退卡键退卡。用户插卡登录存款取款查询余额修改密码退卡返回主界面转账打印凭条账户3.2动态数据输入数据是指来自于用户输入、来自外部接口的输入或者其他输入,在ATM自动取款机中,通过输入数据来取钱,当数据输入后,系统自动计算给出的数据,然后吐钱,并且,银行卡的剩余钱数等于原先的金额减去输入的金额,得到的数据就是现在的金额,同时,在查询剩余金额时显现出来。在取款过程中,该系统只支持交易金额为100元的倍数。取款数目:只支持交易金额为100元的倍数。取款金额:单次取款不能超过2500元以上的金额,单日上限金额20000元。密码:由用户设置的一个6位整数。ATM系统正常情况脚本的事件跟踪图:显示主屏幕拿走磁卡请求拿走磁卡退卡打印账单结束请求继续此事务拿走现金请求拿走现金吐出现金事务成功分行事务成功请求处理分行事务请求处理事务输入取款额要求输入取款额输入类型要求事务类型账户有效账户有效请求分行验证账户请求验证账户输入密码要求密码插卡储户ATM总行分行退 卡do/显示不可读卡信息do/处理事务do/失败信息do/要求金额do/要求类型继续do/打印账单拿走现金do/请求继续结 束do/显示无效账户信息do/吐出现金;请求拿走现金中止取消事务失败输入金额取消取消输入类型等待5秒钟取 消do/显示取消信息do/退卡;请求拿走卡网络响应do/显示取消信息中 断do/请求继续输入密码do/验证账户do/显示主屏幕主 屏不可读的卡插卡(不可读的)拿 走 卡插卡(可读的)do/要求密码取 消取 消账户有效密码错无效账户事务成功ATM类的状态图: 3.3数据库介绍名称:Microsoft SQL Server 2005介绍:Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。管理:SQL Server Management Studio 集成了对 SQL Server 2005 所有组件的管理。Business Intelligence 从业者都将得益于 Microsoft 服务器“能力”扩展这一用户盼望已久的功能增强,即从关系引擎(伸缩性、可靠性、可用性、可编程性,等等)扩展为全套的 BI 平台组件。支持的操作系统: Windows 2000 Service Pack 4; Windows Server 2003 Service Pack 1; Windows XP Service Pack 2 硬件要求:具有 Intel Pentium III 600 MHz(或同等性能的兼容处理器)或速度更快处理器(建议使用 1 GHz 或速度更快的处理器。)的计算机 最低 192 MB 的 RAM(建议使用 512 MB 或更高的 RAM。) 100 MB 的可用硬盘空间 注意事项:安装此包之前,必须从系统中删除 SQL Server Management Studio Express 的任何 Beta 版本或 Community Technology Preview (CTP) 版本。如果不执行此操作,则将导致此包安装 失败。安装条件:您必须在计算机上具有管理权限才能安装SQL Server 2005。3.4 系统ER图ATM系统的E-R图:N1用户IC卡或磁卡拥有身份证号用户名联系方式家庭住址IC卡号密码IC卡余额密码当日错误次数所属银行ATM机信息属性图:ATM机ATM机ID50元张数100元张数余 额ATM日志信息属性图:ATM日志信息流水号IC卡号操作记录吐钱记录回单记录属性图:回单记录IC卡号用户名取款金额取款日起根据E-R图,制作数据库中的表如下:IC卡信息表:属性类型是否可为空是否是主键备注IC卡号Char(19)Not null主键密码Char(6)Not null所属银行Varchar(20)Not nullIC余额FloatNot null密码当日错误次数IntNot null用户信息表:属性类型是否可为空是否是主键备注身份证号Char(18)Not null主键用户名Varchar(20)Not null电话Char(11)Not null居住地址Varchar(20)IC卡号Char(19)Not null外键ATM机信息表:属性类型是否可为空主键备注ATM机IDChar(6)Not null主键ATM机ID余额IntNot null100numInt Not null100元钞票张数50numintNot null50元钞票张数ATM日志表:属性类型是否可为空主键备注流水号IntNot null主键IC卡号Char(19)Not null外键操作记录varchar(20)Not null吐钱记录IntNot null回单记录表:属性类型是否可为空主键备注IC卡号Char(19)Not null主键用户名Varchar(20)Not null取款金额IntNot null取款日期DateNot null3.5数据词典名字:IC卡信息表别名:银行卡、银联卡或磁卡描述:用户可以通过该卡和取款机进行交互 定义:IC=IC卡号+密码+所属银行+IC余额+密码当日错误次数位置:所属银行数据库名字:IC卡号别名:无描述:唯一标识IC卡的号码定义:IC卡号=19位整数数字位置:IC卡信息表、ATM日志表、用户信息表、回单信息表名字:密码别名:无描述:每个用户都有一个密码,是进行验证时的唯一标识定义:密码=6位整数数字位置:IC卡信息表名字:所属银行别名:无描述:描述IC卡属于哪个银行定义:1字符20位置:IC卡信息表名字:IC余额别名:无描述:记录IC卡账户的余额定义:余额=Float型数位置:记录IC卡账户的余额、IC卡信息表名字:密码当日错误次数别名:无描述:记录IC卡在一天中输入密码错误的次数定义:为Int数位置:记录IC卡账户的余额、IC卡信息表名字:用户信息表别名:描述:存储用户的信息定义:用户=身份证号+用户名+电话+居住地址+IC卡号位置:所属银行数据库名字:身份证号别名:无描述:唯一表示用户身份的编号定义:18位数字位置:用户信息表名字:用户名别名:无描述:记录用户的姓名定义:1字符20位置:用户信息表名字:电话别名:无描述:用户电话号码,便于联系定义:7字符11位置:用户信息表名字:居住地址别名:无描述:记录用户的详细住址定义:1字符20位置:用户信息表名字:ATM机信息表别名:ATM描述:存储ATM机ID以及余额定义:ATM=ATM机ID+余额+100num+50num位置:所属用户数据库名字:ATM机ID别名:ATM机编号描述:唯一确定ATM机的号码定义:6位数字位置:ATM机信息表名字:余额别名:无描述:记录该ATM机内的总共余额信息定义:Int型数字位置:ATM机信息表名字:50num别名:无描述:记录该ATM机内50元面值的钞票数定义:Int型数字位置:ATM机信息表名字:100num别名:无描述:记录该ATM机内100元面值的钞票数定义:Int型数字位置:ATM机信息表名字:ATM日志表别名:LOG描述:存储用户登录的和操作的信息定义:LOG=流水号+IC卡号+操作记录+吐钱记录位置:所属银行数据库名字:流水号别名:无描述:用户登录ATM机进行操作的编号定义:Int型数字位置:ATM日志表名字:操作记录别名:操作描述:描述用户的整个的操作过程定义:1字符20位置:ATM日志表名字:吐钱记录别名:无描述:记录每次取款的交易额定义:Int型数字位置:ATM日志表名字:回单信息表别名:回单描述:描述用户本次操作的信息定义:回单=IC卡号用户名取款金额取款日期位置:所属银行的数据库名字:取款金额别名:无描述:记录本次交易的数额定义:Int型数字位置:回单信息表名字:取款日期别名:无描述:记录本次交易的日期定义:日期型位置:回单信息表3.6数据采集1、 输入数据的来源:用户2、 输入数据所用的媒体和硬设备:采用人工输入方法,从键盘输入数据3、 输出数据的接受者:仅对输入数据的用户4、 输出数据的形式:以独立的窗口形式显示在终端设备上5、 数据值的范围:账号:19位数字密码:6位数字取款金额:100的倍数6、 在查询过程中,要求系统显示该账户卡上所有的余额。在取款过程中,该系统只支持交易金额为100的倍数。在存款过程中,该系统只支持交易金额为100的倍数。在转账过程中,该系统支持任何用户输入的数据,但是仅仅限于本行之间的账户转账。交易结束时,系统知道更新账户上的数据,保持账户余额的一致性。交易完成后,用户可以点击“取卡”退出本系统。本系统可以进行各个银行的金额交易。系统可以并行使用的用户在100个以上。注意:当交易金额超过当前账户余额时,系统自己提示“余额不足”,自动退出本系统,当系统遇到任何不对输入时都自动退出本系统。密码:由用户设置的一个6位整数。4功能需求4.1功能划分首先进行系统分析,简单的来说该系统大概需要以下七个模块: 1、模拟读卡模块2、身份验证模块3、取款模块4、查询余额模块5、转账模块6、修改密码模块7、打印凭条模块ATM系统的功能模块图:ATM自动取款机系统查询余额模块转账模块取款模块修改密码模块身份验证模块打印凭条模块模拟读卡模块ATM系统的基本系统模型:储户密码,事务类型,金额现金兑换卡分行代码,卡号ATM系统储户现金,账单,信息ATM系统的功能级数据流图:出错信息现金兑换卡接收输入选定分行验卡验证密码显示出错信息储户储户检查账户更新账户产生输出账户卡信息分行信息卡权限,正确密码金额现金额,账单数据现金账单分行代码卡号分行代码卡号卡号分行名密码错卡号错分行代码错出错信息事务类型,金额密码账号账号无效账户事务失败4.2功能描述(1)模拟读卡功能 描述:ATM检查所接收的银行卡是否为合法的银行卡。输入:客户插入银行卡。 处理:检查是否为合法的银行卡,当读取了银行卡的信息。 输出:如果不合法,则显示错误消息,并退出银行卡。(2)取款功能a.描述:ATM提供的事务类型为取款。 输入:认证完成,输入需要提取的金额。处理:输入的数量同max(2500,ATM机余额,银行卡余额)进行比较。输出:显示需要提取的现金的数量,开始初始取款序列。b.描述:初始取款序列。如果所取金额大于max(2500,ATM机余额,银行卡余额)则撤销事务。输入:顾客输入的金额大于max(2500,ATM机余额,银行卡余额)。处理:显示错误消息,提示金额大于2500或ATM机余额或银行卡余额。输出:回到操作界面。c.描述:执行事务。 输入:初始取款序列成功。 处理:发送请求给银行计算机。 输出:ATM机弹出所取金额,更新并保存信息,显示取款成功。(3)查询余额功能 描述:ATM提供的事务类型为查询余额。 输入:认证完成,选择查询余额功能。 处理:系统连接数据库,查找所属余额信息。 输出:显示余额信息。(4)转账功能 a.描述:ATM提供的事务类型为转账。 输入:认证完成,输入需要转账的金额。 处理:输入的数量同银行卡余额进行比较。 输出:显示需要转账的现金的数量,开始初始转账序列。b.描述:初始转账序列。如果转账金额大于银行卡余额则撤销事务。 输入:顾客输入的金额大于银行卡余额。 处理:显示错误消息,提示金额大于银行卡余额。 输出:回到操作界面。 c.描述:执行事务。 输入:初始转账序列成功。 处理:发送请求给银行计算机。 输出:ATM机执行转账操作,更新并保存信息,显示转账成功。 (5)修改密码功能 a.描述:ATM提供的事务类型为修改密码。 输入:认证完成,输入旧密码和新密码,新密码要输入两次。 处理:验证旧密码,并将两次输入的新密码进行比对。 输出:开始初始修改密码序列。 b.描述:初始修改密码序列,旧密码错误或两次新密码输入不同,撤销序列。 输入:旧密码错误或顾客两次输入的新密码不同。 处理:显示错误消息,提示密码错误或两次输入密码不同。 输出:重新回到密码修改界面。 c.描述:执行事务。 输入:初始修改密码序列成功。 处理:更新账户密码。 输出:更新并保存信息,显示修改密码成功。(6)打印回执单功能 描述:ATM提供的事务类型为打印回执单。 输入:认证成功完成,进行完取款或转账操作,选择打印回执单功能。 处理:启动ATM机打印机,打印本次操作信息。输出:打印出回执单。4.3 功能要求(1)在查询过程中,要求系统显示该账户卡上所有的余额。(2)在取款过程中,该系统只支持交易金额为100的倍数,一次取款额最大为2500。(3)在转账过程中,该系统支持任何用户输入的数据。(4)交易结束时,系统知道更新账户上的数据,保持账户余额的一致性。(5)交易完成后,用户可以点击“取卡”退出本系统。(6)本系统可以进行各个银行的金额交易。(7)当ATM柜员机内的款额小于等于2500时,向银行工作人员发送信息提醒配款(8)当交易金额超过当前账户余额时,系统自己提示“余额不足”,返回操作页面,当系统遇到任何不对输入时,显示提示信息,返回操作页面。5性能需求5.1数据精确度(1)银行卡中信息表中的“余额”采用float型,精确到小数点后两位;(2)取款时输入的金额为整数(100的倍数);(3)转账金额采用float型,精确到小数点后两位。5.2时间特性如果交易中响应时间超过20秒,系统提示“操作已过时”,返回操作界面。对于目前普遍的硬件配置,响应时间本软件控制在20秒以内,更新处理时间控制在5秒之内,数据的转换和传送时间在5秒以内。以上数据仅供参考,真实数据以测试结果为准。5.3适应性当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。ATM自动取款机是24小事不断的服务,操作简单,并带有语音提示,方便了用户的操作,同时具有转账、修改密码、查询账户信息等功能为用户提供了许多的方便。6其它需求易用性:系统设计应具有良好的易用性、操作简便,符合常规Windows操作环境下的用户使用习惯。同时,尽量减少用户的记忆工作量,如在信息录入时尽可能充分利用数据字典进行选择录入,以提高用户工作效率。在系统查询功能设计时,应提供多种查询条件的复合查询,让用户可以快速、精确地得到相关信息。同时,系统设计应具有良好的健壮性,如对各种用户各种错误输入应能及时识别并给出相应提示。安全性:系统中所有涉及敏感信息如登录口令等,服务器端应该设置严格安全访问控制策略,从而保证系统安全性和操作责任的可追溯性。