ATM取款机详细设计说明书

上传人:泽*** 文档编号:68067960 上传时间:2022-04-01 格式:DOC 页数:39 大小:1.17MB
收藏 版权申诉 举报 下载
ATM取款机详细设计说明书_第1页
第1页 / 共39页
ATM取款机详细设计说明书_第2页
第2页 / 共39页
ATM取款机详细设计说明书_第3页
第3页 / 共39页
资源描述:

《ATM取款机详细设计说明书》由会员分享,可在线阅读,更多相关《ATM取款机详细设计说明书(39页珍藏版)》请在装配图网上搜索。

1、.产品文档详细设计文档产品版本密级文档编号201011063V123内部产品名称ATM 取款机共30页ATM 取款机详细设计说明书.专业学习资料.撰写:王国君,刘博,杨雪,于少华日期:2010-11-06审核:日期:批准:日期:目录1. 31.1.31.231.331.442.52.1 ATM62.2 ATM7.专业学习资料.3.73.1.73.2.73.3.83.4.93.5. 143.6. 313.7. 313.8. 333.9.333.10333.11. 343.12294. 29 30.专业学习资料.1. 引言1.1编写目的ATM 机管理系统是银行业务流程过程中十分重要且必备的环节之一

2、,在银行业务流程当中起着承上启下的作用,其重要性不言而喻 。但是 ,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下 ,而且无法达到理想的效果。为明确软件需求 、安排项目规划与进度 、组织软件开发与测试 ,撰写本文档 ,本文针对上述问题 ,采用软件工程的开发原理 ,依据软件流程过程规范 ,按照需求分析 ,概要设计 ,程序编码,软件应用等过程 ,开发了这个系统 。本文档供项目经理 、设计人员 、开发人员参考 。1.2背景软件名称 :ATM 取款机任务提出者 :西安石油大学计算机学院开发者:杨雪,吴昊,何雪英,于少华,王国君,刘博。用户:为与 ATM

3、 取款机软件开发有联系的决策人,开发组人员以及使用该系统的用户 。使用的计算机网络 :本项目使用西安石油大学计算机机器以及各开发者本人的计算机进行编程 。.专业学习资料.1.3定义1. 账号:在银行中 ,事务应用的单个账号 。 账号可以为多种类型 ,但是至少包括支票和存款 。每个顾客可以拥有多个账号 。2. ATM :一个工作站终端 ,使得顾客能够使用现金卡在 ATM 上进行自己的事务处理 。ATM 同顾客进行交互 ,收集事务信息 ,并发送事务信息到中心计算机,由中心计算机确认和处理信息之后,将现金通过 ATM 提供给顾客 。3. 银行:一个金融机构 ,负责保存顾客的账号信息 ,执行授权卡通过

4、 ATM 网访问账号。4. 银行计算机 :银行拥有的计算机 ,同 ATM 网和银行自己的现金工作站进行交互。银行可以拥有自己的内部计算机网处理账号 ,但是我们只关心同网络进行交互的计算机 。5. 现金卡:每张卡提供给一个银行客户 ,授权客户可以使用 ATM 机访问自己的账号。每张卡包含一个银行代码和一个卡号 ,银行代码根据信用卡的国际标准进行编码 ,卡号确定卡能够访问的账户 。一张卡不能访问客户的所有账户 。每张卡只能有一个持卡人 ,但是多个复本可能存在 ,所以必须考虑从不同的 ATM机同时使用相同卡的行为。6. 客户:拥有银行的一个或者多个账号的人 。客户可以包括一个人或者多个人,或者是公司

5、 。 相同的人 ,拥有不同银行的账号被认为是不同的客户。事务:对单个客户账号的单个完整的操作请求。.专业学习资料.1.4参考资料1.C 程序设计 谭浩强主编清华大学出版社2.软件工程导论第三版 张海藩主编清华大学出版社2. 程序系统的组织结构总体结构如下 :.专业学习资料.ATM电账密余自自自交退子户码额动动动易卡开登修查存取转明细输返返 输 输返显返 放返输返输返入回回 入 入回示回 入回入回入回基主主 密 原主余主 需主需主转主本菜菜 码 密菜额菜 要菜要菜账菜信单单码单单 存单取单账单的号显输添加成请示入功并且取转信新显示添走账息加金额现成功.专业学习资料.2.1 ATM取款活动图描述上

6、图功能 :取款开始 ,先插卡,确认卡是否合法 ,输入 ”true ”时,就读取密码信息 ,提示输入密码 。输入 ”false ”时 ,系统就会提示退卡 。输入密码时 ,如果密码正确,则会提示取款 ,否则提示让重新输入密码,三次输入密码都错误 ,则系统就退卡 。读取取款信息后 ,问是否确认取款 ,输入 “true ”时, 系统就提示输入取款金额 。 输入 ”false ”时, 系统就终止取款活动 。输入取款额时 ,系统提示是否确认取款 ,如果确认 ,就出钞,然后终止活动 ,否则就直接提示取卡 。.专业学习资料.2.2 ATM机转账活动图3. 界面显示模块设计说明3.1程序描述考虑到目前仍然有很多

7、银行是柜台办理取款存款转账等业务,很是麻烦。所以本小组开发此软件的是为了完善银行的业务处理流程,使得银行与客户间的业务办理更方便 、快捷和安全 。本小组仅以设计开发的ATM 机管理系统的取款子系统位例进行详细说明,该系统可以实现开户 ,密码修改 ,取款,存款,转账,查询等功能 ,有常驻能存,没有子程序 ,是顺序处理 。.专业学习资料.3.2功能ATM 机取款子程序 IPO 图:3.3性能精度要求 :取款机的各个按钮要准确映射到取款机的某个键。在主菜单界面中 ,通过控制相应按钮切换功能 ,按功能键确认选择 。本软件要求用户输入密码用户名为字母数字或下划线 ,且首位不得为数字 。输入密码为 6 位

8、整数 。取款及转账.专业学习资料.金额为整型数据 。 户源,目标账户为数据库中存在的用户名,即字母数字或下划线,且首位不得为数字 。时间特性要求 :a)响应时间 :用户插入银行卡后 ,按系统提示输入相应信息,系统确认完成后 ,自动进入主菜单界面 。在主菜单界面中 ,如果用户选择修改密码 ,先输入旧密码 ,在很短的时间内再输入新密码;如果用户选择了存款 ,系统在短时间内确认金额,进行交易 ;如果用户选择了取款 ,则输入金额后系统在较短时间内弹出纸币;如果用户选择了其他选项(如交易明细查询 ),要短时间内显示相应的信息。用户交易完毕 ,则选择退卡 ,请在三十秒内拿走银行卡,否则后果自负 。b) 更

9、新处理时间 :在每次用户结束交易后 ,请系统及时进行信息更新。c)数据转换和传送时间 :用户本次进入系统 ,要与最近一次的保存进度一致。在进行各项交易中 ,用户的时间记录要准确 ,不能有延迟和提前 。d) 解题时间 :不能出现让用户费解的信息。灵活性:a) 操作系统 :该软件当遇到非预期输入数据或操作时 ,会进行报错处理 ,并要求用户重新进行输入数据或操作 。b) 同其他软件接口的变化 :考虑到接口的变化 ,尽量将代码模块化 ,多提供一些接口类 ,提高代码的可移植性 。.专业学习资料.c)运行环境的变化 :由于代码输入到不同的取款机,其虚拟机可能有所不同,所以编写代码时要考虑运行在不同平台上的

10、问题,即代码的平台可移植性 。d) 计划的变化或改进 :项目过程中可能要更改方案 ,如更换背景 ,更换按钮风格,或者调整每次系统输出信息的时间等 。这些就要依赖于代码的可扩展性 ,可以不用更改很多代码 。输入输出要求 :1)用户名:字母数字或下划线 ,且首位不得为数字 。2)密码:6 位整数 。3)取款及转账金额 :整型数据 。4)户源,目标账户 :即字母数字或下划线 ,且首位不得为数字 。5)用户需求事务 :通过人机交互界面进行选择 。3.4输入和输出项输入项:(只针对取款系统 )名称密码金额总数类型charint格式*0000.00有效范围6 位100 的倍数元方式键盘输入键盘输入频度10

11、 次5 次系统性能反应时间不反应时间.专业学习资料.能大于 10不能大于秒钟10 秒钟安全保密条10 次输入一天最多取款不件密码错误则得超过 5000 元吞卡媒体人工输入人工输入输出项:(只针对取款系统 )名称金额类型int格式0000.00有效范围100 的倍数方式键盘输入频度5 次系统性能反应时间不能大于10 秒钟安全保密条件一天最多取款不得超过5000 元媒体点钞机.专业学习资料.3.5算法1. 用户服务模块 (含:开户、登陆、退出)开户:输入姓名 、密码、再次密码 、开户金额 (不低于 1 块钱)填写完没问题后分配账号。(姓名、密码、开户金额 、账号 存入结构体数组里面 )登陆:输入

12、账户、密码 判断账户是否存在 ,密码是否正确 。登陆后进入到个人服务界面。退出:退出 ATM 就是退出程序2. 主菜单模块 (含:存款、取款、转账、密码修改 、查询余额 )存款:个人账户上的金额加上 。取款:个人账户上的金额减去 。转账:涉及到两个账户 其实就是下标的不同 金额一个减去一个加上 。密码修改 :输入新密码 、再次输入新密码判断两次密码是否相同在用 strcpy ()函数 将新密码当前账户下标元素密码成员并且判断是否修改成功 。查询余额 :就是从结构体数组里面调用存金额那个成员欢迎模块 :定义一个函数 void huanying(),利用 for 循环进行字符的输出 。.专业学习资

13、料.void huanying()/ 定义函数int i;for(i=0;i10;i+)/for 循环printf(nnnnnnnn);t n);printf(ttt欢迎使用行军蚁ATM 系统 n);t n);printf(nntt 希望行军蚁 ATM 系统可以时刻给您带来方便! );printf(nnnntttt正在进入 );shaohou();/ 等待系统响应system(cls);printf(nnnnnnnn);用户模块 :在此模块 ,从 A,B,C 中选择出执行的操作服务,然后进入下一个模块 。利用while 语句,定义的选择函数char xuanze ,实现输出 。伪代码:.专业学

14、习资料.void main()/ 主函数huanying();system(cls);while(1)char xuanze;/ 定义函数system(cls);printf(nnt欢迎使用行军蚁ATM 系统 n);printf(nnt请选择您要执行的操作:n);printf(nntA.开户服务 n);printf(nntB.登录服务 n);printf(nntC.退出 。n);printf(nnt请选择 :);scanf(%c,&xuanze);switch(xuanze)casea:caseA:kaihu();break;caseb:caseB:denglu();break;.专业学习资料

15、.casec:caseC:exit(0);default:printf(nt您的选择错误 !);break;开户服务 :struct kaihuchar name10;char mima10;double zong;int zhanghao;guke20;int renshu=0;int xianzai;*/#include #include #include #include .专业学习资料.structint jin_e,zong;int zhanghao;char name20;char mima20;guke20;int renshu=0;int xianzai;void shaoho

16、u()int i,j;for(i=0;i3;i+)printf(.);for(j=0;j0)printf(b b);i-;.专业学习资料.elseif(i16)mimai=ch;printf(*);i+;void kaihu()int k;for(k=0;k0) printf(nnt开户成功 ,您的可用余额为 :%d,gukerenshu.jin_e); break;elseprintf(nnt开户金额不能低于壹圆 !nn);system(cls);gukerenshu.zhanghao=518518+renshu;printf(nnt您的账号是 :%d 请牢记 !n,gukerenshu.z

17、hanghao);printf(nnt开户成功 ,是否继续 ?继续请按任意键 。n);renshu+;getch();登录服务 :.专业学习资料.void denglu()int q;for(q=0;q8;q+)printf(nnt正在进入 ,请稍后 );shaohou();system(cls);/*while(1)printf(nntt【登录服务 】);printf(nntt请输入账号 :);int zh;scanf(%d,&zh);int i;for(i=0;irenshu;i+)if(zh!=gukei.zhanghao)printf(nnt账号错误 ,请重新输入 。);continu

18、e;.专业学习资料.elsexianzai=i;printf(nnt账号正确 :);break;*/printf(nntt【登录服务 】);printf(nntt请输入账号 :);int zh;scanf(%d,&zh);for(int i=0;irenshu;i+)if(zh!=gukei.zhanghao)i+;if(i=renshu)printf(nnt账号错误 ,请重新输入 。);continue;.专业学习资料.elsexianzai=i;printf(nnt账号正确 :);break;for(i=0;i3;i+)printf(nt请输入密码 :);char password10;d

19、edaomima(password);if(strcmp(password,gukexianzai.mima)=0)printf(nt密码正确 !);break;elseprintf( 密码输入错误 ,请重新输入 。);return;getch();.专业学习资料.fuwu();getch();主菜单模块 :此模块主要用于用户进行各种操作服务的选择,实现相关功能 ,如存款,取款,转账,密码修改 ,余额查询等等 。void fuwu()int i=0;for(i;i8;i+)printf(nnnnnnn);printf(nnnnttt正在进入服务 ,请稍后 );shaohou();system(

20、cls);while(1)char shuru;.专业学习资料.system(cls);printf(nnt【服务】n);printf(nnt%d晚上好 ,行军蚁银行欢迎您 .n,gukei.name);printf(nt(现在暂时恢复存款服务 、取款服务 、余额查询 。)n);printf(nta.存款服务 n);printf(ntb.取款服务 n);printf(ntc.转账服务 n);printf(ntd.余额查询 n);printf(nte.密码修改 n);printf(ntf.退出 n);printf(nt请选择服务 : );scanf(%c,&shuru);switch(shuru

21、)case a:case A:cunkuan();break;case b:case B:qukuan();break;/ case c:/ case C:zhuanzhang();break; case d:case D:chaxun();break;.专业学习资料./ case e:/ case E:xiougai();break;case f:case F:printf( 返回上级菜单 ,请按任意键 );return;default:printf(nt您的选择错误 !);break;存款服务 :void cunkuan()for(int i=0;i5;i+)printf(nnt正在进入

22、,请稍等 );shaohou();system(cls);printf(nnnnnnn);printf(nnt【存款服务 】);printf(nnt请输入您的存款金额 :);int xincun;scanf(%d,&xincun);.专业学习资料.gukerenshu.zong=gukerenshu.jin_e+xincun;printf(nnt您现在的可用余额为 :%d,gukerenshu.zong);printf(nnt是否继续 ?继续请按任意键 。);getch();取款服务 :void qukuan()for(int i=0;i5;i+)printf(nnt正在进入 ,请稍等 );s

23、haohou();system(cls);printf(nnt【取款服务 】);printf(nnt请输入取款金额 :);int xinqu;scanf(%d,&xinqu);gukexianzai.zong=gukerenshu.zong-xinqu;if(xinqugukerenshu.zong)printf(nnt取款成功 :%d,您现在的可用余额为 :%d,xinqu,gukexianzai.zong);.专业学习资料.printf(nnt是否继续 ?继续请按任意键 :);getch();查询服务 :void chaxun()for(int i=0;i5;i+)printf(nnt正在

24、进入 ,请稍等 );shaohou();system(cls);printf(nt【查询服务 】);printf(nt您的可用余额为 :%d,gukerenshu.jin_e);printf(nt是否继续 ?继续请按任意键 .);getch();.专业学习资料.3.6流程逻辑3.7接口1、本程序所隶属的上一层模块结构图:.专业学习资料.2、本程序隶属的下一层模块:本小组考虑到本程序已经是属于ATM 管理系统系统层次的ATM 事物处理层,所以没有下一层模块 。3、与本程序直接关联的C 语言知识欢迎模块 :void huanying()开户服务 : struct kaihu登录服务 : void

25、denglu()主菜单模块 :void main()void fuwu()void cunkuan()void qukuan()void chaxun().专业学习资料.3.8存储分配在欢迎界面 ,用户服务模块 ,主菜单模块使用之后到用户开始实现功能之前,其需要的所有内容以及使用功能的信息本身全部常驻内存。用户选择退出时 ,系统自动保存相关信息 。3.9注释设计各个模块中的注释主要用来注释相关函数的主要作用,和主要的实现原理。而程序中的注释主要用于对一些主要方法进行注释,以方便系统编码人员对整个设计思想的理解 ,也便于其他阅读人员更好的理解本程序。其中注释的风格全部按照 C 语言规定的风格 。

26、3.10限制条件不足之处 :由于本小组知识范围所限,软件开发的经验严重不足,对数据库管理工具还没有学习 ,只是用 C 语言相关知识进行编程 ,所以对系统开发的进度以及系统功能的实现程度较难控制。已具备的条件 :1、小组成员交流比较方便 ,而且共同写作 ,积极进取 。2、实现系统所需的资料准备得较齐全。尚需补充的条件 :1、提高开发人员的编程能力和对软件工程思想的认识;2、尽快掌握 C 语言的使用方法 。.专业学习资料.3.11测试计划测试日期 、测试人员安排请参考测试计划;测试用例的具体内容 ,详见测试用例说明 。现在本小组仅以会话用例与取款用例进行对ATM 机管理系统的单体测试计划 ;被测试

27、的功能初始系统状态测试输入期望的结果用例会话用例系统读取顾客系统处于 ON 状插入可读的银银行卡被接的银行卡态,并没有为行卡收,系统请求顾客提供服务输入密码会话用例系统弹出不系统处于 ON 状插入不可读取银行卡被弹可读取的银态,当前没有的银行卡出,系统显示行卡为顾客提供服错误信息 ,准务备启动一个新的会话会话用例系统接收顾系统请求顾客输入密码系统显示一个客的密码输入密码事务类型菜单.专业学习资料.会话用例系统允许顾系统显示事务执行事务系统询问顾客客执行事务类型菜单是否希望执行其它事务会话用例系统允许在系统询问是否回答 “是”系统显示事务一个会话中执行其它事务类型菜单执行多个事务会话用例当顾客选

28、择系统询问是否回答 “否”系统弹出银行不执行其它执行其它事务卡,准备启动事务时,会话结束一个新的会话系统处理一插入了可读取输入不正确的执行非法密码事务用例个不合法的的卡密码尝试某个密码事务取款用例系统提示顾正在显示事务选择取款事务系统显示账户客选择需要类型菜单类型菜单提取的现金的账户.专业学习资料.取款用例系统正确执系统显示取款选择系统当前系统弹出现行合法取款金额菜单拥有单小于账金,打印收事务户余额的取款据,更新账户金额余额取款用例系统验证是系统现有的现选择大于当前系统将显示一否有足够的金数量小于顾系统拥有现金个信息 ,提示现金,完成客请求的数量数量的取款金现金不足 ,请用户的请求额重新选择取

29、款金额取款用例系统验证顾系统正在请求选择一个取款系统将显示一客账户余额取款金额金额使得该金个信息位顾客是否能够满足请求的金额小于当前系提供是否执行额统中的现金余其它事务的选额但是大于用项户账户余额取款用例取款事务在系统显示信息为系统显示账户按下 “CANCEL”顾客执行其它事选择金额之类型菜单键务提供相关选项前可以被顾.专业学习资料.客取消取款用例取款事务在系统显示请求按下 “CANCEL”系统显示信息顾客请求取取款金额菜单键为顾客执行之款金额之前的任何时候前事务的选项可以被取消3.12尚未解决的问题1、提高开发人员的编程能力和对软件工程思想的认识;2、尽快掌握 C 语言的使用方法 。3、设计

30、的合理性和使用性有待优化。4. 详细设计小结和相关说明由于本系统最终将会运行于取款机之上,而取款机是一个典型的嵌入式设备,内存容量有限 ,运行速度比较缓慢 ,故在进行系统设计的时候不仅得考虑普通取款机系统设计的一般问题,还得额外考虑相关设备的一些特性。本详细设计有如下几个特点 :a) 及时释放内存 ,提高内存资源利用率b) 利用主菜单控制 ,进行功能选取 ,使程序简单化 ,模块化,清晰化。c) 正确合理使用多模块进行系统设计d) 使用人工选择进行界面切换 。.专业学习资料.(后记:在张明老师的带领下 ,经过我们小组成员的配合,通过查询各种资料,我们逐渐完善了这份详细设计说明书。在这个过程中 ,我们体会到了团队合作的强大力量 ,而这份设计就是大家心血的结晶和团队精神的有力见证。).专业学习资料.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!