![ATM取款机详细设计说明书_第1页](http://file4.renrendoc.com/view/f41e5aaae116476eb25ddb8911d9e55e/f41e5aaae116476eb25ddb8911d9e55e1.gif)
![ATM取款机详细设计说明书_第2页](http://file4.renrendoc.com/view/f41e5aaae116476eb25ddb8911d9e55e/f41e5aaae116476eb25ddb8911d9e55e2.gif)
![ATM取款机详细设计说明书_第3页](http://file4.renrendoc.com/view/f41e5aaae116476eb25ddb8911d9e55e/f41e5aaae116476eb25ddb8911d9e55e3.gif)
![ATM取款机详细设计说明书_第4页](http://file4.renrendoc.com/view/f41e5aaae116476eb25ddb8911d9e55e/f41e5aaae116476eb25ddb8911d9e55e4.gif)
![ATM取款机详细设计说明书_第5页](http://file4.renrendoc.com/view/f41e5aaae116476eb25ddb8911d9e55e/f41e5aaae116476eb25ddb8911d9e55e5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
产品文档详细设计文档产品版本密级文档编号V123内部产品名称ATM取款机共30页ATM取款机
详细设计说明书撰写:王国君,刘博,杨雪,于少华日期:2010-11-06审核:日期:批准:日期:目录引言3编写目的…………………… 3背景………………3定义………………3参考资料…………………………4程序系统的组织结构52.1ATM取款活动图 62.2ATM机转账活动图 7界面显示模块设计说明7程序描述………………………...7功能……………...7性能……………...8输入和输出项……………… …9算法……………..错误!未定义书签。流程逻辑………………………..错误!未定义书签。接口……………..错误!未定义书签。存储分配………………………..错误!未定义书签。注释设计……………………….错误!未定义书签。限制条件………………………错误!未定义书签。测试计划…………………… 错误!未定义书签。尚未解决的问题………………294.详细设计小结和相关说明…………29(后记:在张明老师的带领下,经过我们小组成员的配合,通过查询各种资料,我们逐渐完善了这份需求说明书。在这个过程中,我们体会到了团队合作的强大力量,而这份设计就是大家心血的结晶和团队精神的有力见证。 30引言1.1编写目的ATM机管理系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档,本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。本文档供项目经理、设计人员、开发人员参考。1.2背景软件名称:ATM取款机任务提出者:西安石油大学计算机学院开发者:杨雪,吴昊,何雪英,于少华,王国君,刘博。用户:为与ATM取款机软件开发有联系的决策人,开发组人员以及使用该ATM取款机项目设计小组系统的用户。使用的计算机网络:本项目使用西安石油大学计算机机器以及各开发者本人的计算机进行编程。1.3定义账号:在银行中,事务应用的单个账号。账号可以为多种类型,但是至少包括支票和存款。每个顾客可以拥有多个账号。ATM一个工作站终端,使得顾客能够使用现金卡在ATM上进行自己的事务处理。ATM同顾客进行交互,收集事务信息,并发送事务信息到中心计算机,由中心计算机确认和处理信息之后,将现金通过ATM提供给顾客。银行:一个金融机构,负责保存顾客的账号信息,执行授权卡通过ATM网访问账号。银行计算机:银行拥有的计算机,同ATM网和银行自己的现金工作站进行交互。银行可以拥有自己的内部计算机网处理账号,但是我们只关心同网络进行交互的计算机。现金卡:每张卡提供给一个银行客户,授权客户可以使用ATM机访问自己的账号。每张卡包含一个银行代码和一个卡号,银行代码根据信用卡的国际标准进行编码,卡号确定卡能够访问的账户。一张卡不能访问客户的所有账户。每张卡只能有一个持卡人,但是多个复本可能存在,所以必须考虑从不同的ATM机同时使用相同卡的行为。客户:拥有银行的一个或者多个账号的人。客户可以包括一个人或者多个人,或者是公司。相同的人,拥有不同银行的账号被认为是不同的客户。事务:对单个客户账号的单个完整的操作请求。1.4参考资料清华大学出版社2.《软件工程导论第三版》 张海藩主编清华大学出版社程序系统的组织结构总体结构如下:ATM取款机项目设计小组
2.1ATM取款活动图描述上图功能:取款开始,先插卡,确认卡是否合法,输入'true”时,就读取密码信息,提示输入密码。输入”false”时,系统就会提示退卡。输入密码时,如果密码正确,则会提示取款,否则提示让重新输入密码,三次输入密码都错误,则系统就退卡。读取取款信息后,问是否确认取款,输入“true”时,系统就提示输入取款金额。输入”false”时,系统就终止取款活动。输入取款额时,系统提示是否确认取款,如果确认,就出钞,然后终止活动,否则就直接提示取卡。ATM取款机项目设计小组
2・2ATM机转账活动图界面显示模块设计说明3・1程序描述考虑到目前仍然有很多银行是柜台办理取款存款转账等业务,很是麻烦。所以本小组开发此软件的是为了完善银行的业务处理流程,使得银行与客户间的业务办理更方便、快捷和安全。本小组仅以设计开发的ATM机管理系统的取款子系统位例进行详细说明,该系统可以实现开户,密码修改,取款,存款,转账,查询等功能,有常驻能存,没有子程序,是顺序处理。3・2功能ATM机取款子程序IPO图:3.3性能精度要求:取款机的各个按钮要准确映射到取款机的某个键。在主菜单界面中,通过控制相应按钮切换功能,按功能键确认选择。本软件要求用户输入密码用户名为字母数字或下划线,且首位不得为数字。输入密码为6位整数。取款及转账金额为整型数据。户源,目标账户为数据库中存在的用户名,即字母数字或下划线,且首位不得为数字。时间特性要求:a)响应时间:用户插入银行卡后,按系统提示输入相应信息,系统确认完成后,自动进入主菜单界面。在主菜单界面中,如果用户选择修改密码,先输入旧密码,在很短的时间内再输入新密码;如果用户选择了存款,系统在短时间内确认金额,进行交易;如果用户选择了取款,则输入金额后系统在较短时间内弹出纸币;如果用户选择了其他选项(如交易明细查询),要短时间内显示相应的信息。用户交易ATM取款机项目设计小组完毕,则选择退卡,请在三十秒内拿走银行卡,否则后果自负。b) 更新处理时间:在每次用户结束交易后,请系统及时进行信息更新。c) 数据转换和传送时间:用户本次进入系统,要与最近一次的保存进度一致。在进行各项交易中,用户的时间记录要准确,不能有延迟和提前。d) 解题时间:不能出现让用户费解的信息。灵活性:a) 操作系统:该软件当遇到非预期输入数据或操作时,会进行报错处理,并要求用户重新进行输入数据或操作。b) 同其他软件接口的变化:考虑到接口的变化,尽量将代码模块化,多提供一些接口类,提高代码的可移植性。c) 运行环境的变化:由于代码输入到不同的取款机,其虚拟机可能有所不同,所以编写代码时要考虑运行在不同平台上的问题,即代码的平台可移植性。d) 计划的变化或改进:项目过程中可能要更改方案,如更换背景,更换按钮风格,或者调整每次系统输出信息的时间等。这些就要依赖于代码的可扩展性,可以不用更改很多代码。输入输出要求:1) 用户名:字母数字或下划线,且首位不得为数字。2) 密码:6位整数。3) 取款及转账金额:整型数据。4) 户源,目标账户:即字母数字或下划线,且首位不得为数字。5) 用户需求事务:通过人机交互界面进行选择。3.4输入和输出项输入项:(只针对取款系统)名称密码金额总数类型charint格式******0000.00有效范围6位100的倍数元方式键盘输入键盘输入频度10次5次系统性能反应时间不能大于10秒钟反应时间不能大于10秒钟安全保密条件10次输入密码错误则吞卡天取多取款不得超过5000元媒体人工输入人工输入输出项:(只针对取款系统)名称金额类型int格式0000.00有效范围100的倍数方式键盘输入频度5次系统性能反应时间不能大于10秒钟安全保密条件天最多取款不得超过5000兀媒体点钞机3.5算法用户服务模块(含:开户、登陆、退出)开户:输入姓名、密码、再次密码、开户金额(不低于1块钱)填写完没问题后分配账号。(姓名、密码、开户金额、账号存入结构体数组里面)登陆:输入账户、密码判断账户是否存在,密码是否正确。登陆后进入到个人服务界面。退出:退出ATM就是退出程序主菜单模块(含:存款、取款、转账、密码修改、查询余额)存款:个人账户上的金额加上。取款:个人账户上的金额减去。转账:涉及到两个账户其实就是下标的不同金额一个减去一个加上。密码修改:输入新密码、再次输入新密码判断两次密码是否相同在用strcpy()函数将新密码当前账户下标元素密码成员并且判断是否修改成功。查询余额:就是从结构体数组里面调用存金额那个成员欢迎模块:定义一个函数voidhuanying(),利用for循环进行字符的输出。voidhuanying() 〃定义函数{inti;for(i=0;iv10;i++) //for循环{printf("\n\n\n\n\n\n\n\n");printf("\t\t\t n");printf(”\t\t\t© 欢迎使用行军蚁ATM系统 ・\n”);printf("\t\t\t n");printf("\n\n\t\t★希望行军蚁ATM系统可以时刻给您带来方便!★");printf(”\n\n\n\n\t\t\t\t正在进入”);shaohou(); 〃等待系统响应system(”cls”);printf("\n\n\n\n\n\n\n\n");用户模块:在此模块,从A,B,C中选择出执行的操作服务,然后进入下一个模块。利用while语句,定义的选择函数charxuanze,实现输出。伪代码:voidmain() 〃主函数{huanying();system("cls");while(1){charxuanze; 〃定义函数system("cls");printf(”\n\n\t欢迎使用行军蚁ATM系统\n”);printf("\n\n\t请选择您要执行的操作:\n");printf(”\n\n\tA.开户服务\n”);printf(”\n\n\tB.登录服务\n”);printf(”\n\n\tC.退出。\n”);printf(”\n\n\t请选择:”);seanf(”%c”,&xuanze);switch(xuanze){case'a':case'A':kaihu();break;case'b':case'B':denglu();break;case'c':case'C':exit(O);default:printf("\n\t您的选择错误!”);break;}}}开户服务:structkaihu{charname[10];charmima[10];doublezong;intzhanghao;}guke[20];intrenshu=0;intxianzai;*/#include<stdio.h>#include<string.h>#includevstdlib.h>#ineludevconio.h>struct{intjin_e,zong;intzhanghao;charname[20];charmima[20];}guke[20];intrenshu=0;intxianzai;voidshaohou(){inti,j;for(i=0;iv3;i++){printf(".");for(j=0;jv;j++){5}}}voiddedaomima(charmima[]){inti=0;while(1){charch;ch=getch();if(ch=='\r')mima[i]='\O';printf(”\n");break;elseif(ch=='\b')if(i>0)printf("\b\b");i--;elseif(i<16)mima[i]=ch;printf("*");i++;}voidkaihu(){intk;for(k=0;kv5;k++){printf("\n\n\t正在进入注册页面,请稍后”);shaohou();system(”cls”);}while(1){printf("\n\n\t【开户服务】");printf(”\n\n\t请输入您的姓名:”);charxingming[16];charyanzheng[20];scanf(”%s”,xingming);printf("\n\n\t请输入密码:”);dedaomima(guke[renshu].mima);printf(”\n\n\t请再次确认您的密码:”);dedaomima(yanzheng);if(strcmp(guke[renshu].mima,yanzheng)==0){printf("\n\n\t密码验证通过:”);break;}elseprintf(”两次密码不相同。请重新输入。”);system(”cls”);}}while(1){printf("\n\n\t请输入开户金额:”);scanf(”%d”,&guke[renshu].jin_e);if(guke[renshu].jin_e>0){printf(”\n\n\t开户成功,您的可用余额为:%d”,guke[renshu].jin_e);break;}else{printf("\n\n\t开户金额不能低于壹圆!\n\n”);system("cls");}}guke[renshu].zhanghao=+renshu;printf(”\n\n\t您的账号是:%d请牢记!\n",guke[renshu].zhanghao);printf("\n\n\t开户成功,是否继续?继续请按任意键。\n”);renshu++;getch();}登录服务:voiddenglu(){intq;for(q=0;qv8;q++){printf(”\n\n\t正在进入,请稍后”);shaohou();system(”cls”);}/*while(1){printf(”\n\n\t\t【登录服务】”);printf(”\n\n\t\t请输入账号:”);intzh;scanf(”%d”,&zh);inti;for(i=O;ivrenshu;i++){if(zh!=guke[i].zhanghao){printf("\n\n\t账号错误,请重新输入。");continue;}else{xianzai=i;printf("\n\n\t账号正确:”);}}break;}*/printf(”\n\n\t\t【登录服务】”);printf("\n\n\t\t请输入账号:”);intzh;seanf(”%d”,&zh);for(inti=O;ivrenshu;i++){if(zh!=guke[i].zhanghao){i++;if(i==renshu){printf("\n\n\t账号错误,请重新输入。");}continue;}else{xianzai=i;printf("\n\n\t账号正确:”);break;}}for(i=0;iv3;i++){printf("\n\t请输入密码:”);charpassword[10];dedaomima(password);if(strcmp(password,guke[xianzai].mima)==O){printf(”\n\t密码正确!”);break;}else{printf("密码输入错误,请重新输入。");return;getch();}}fuwu();getch();}主菜单模块:此模块主要用于用户进行各种操作服务的选择,实现相关功能,如存款,取款转账,密码修改,余额查询等等。voidfuwu(){inti=0;for(i;iv8;i++){printf("\n\n\n\n\n\n\n");printf(”\n\n\n\n\t\t\t正在进入服务,请稍后”);shaohou();system(”cls”);}while(1){charshuru;system("cls");printf(”\n\n\t【服务】\n");printf(”\n\n\t%d晚上好,行军蚁银行欢迎您.\n”,guke[i].name);printf("\n\t(现在暂时恢复存款服务、取款服务、余额查询。)\n");printf("\n\ta.存款服务\n");printf(”\n\tb.取款服务\n");printf("\n\tc.转账服务\n”);printf(”\n\td.余额查询\n");printf("\n\te.密码修改\n”);printf("\n\tf.退出\n");printf("\n\t请选择服务:”);scanf(”%c”,&shuru);switch(shuru){case'a':case'A':cunkuan();break;case'b':case'B':qukuan();break;//case'c'://caseC:zhuanzhang();break;case'd':case'D':chaxun();break;//case'e'://case'E':xiougai();break;case'f':case'F':printf("返回上级菜单,请按任意键”);return;defaulterintf(”\n\t您的选择错误!”);break;存款服务:voidcunkuan(){for(inti=0;iv5;i++){printf("\n\n\t正在进入,请稍等”);shaohou();system("cls");}printf("\n\n\n\n\n\n\n");printf("\n\n\t【存款服务】”);printf("\n\n\t请输入您的存款金额:”);intxincun;scanf(”%d”,&xincun);guke[renshu].zong=guke[renshu].jin_e+xincun;printf(”\n\n\t您现在的可用余额为:%d”,guke[renshu].zong);printf(”\n\n\t是否继续?继续请按任意键。");getch();取款服务:voidqukuan()for(inti=0;iv5;i++){printf(”\n\n\t正在进入,请稍等”);shaohou();system(”cls”);}printf("\n\n\t【取款服务】”);printf("\n\n\t请输入取款金额:”);intxinqu;scanf(”%d”,&xinqu);guke[xianzai].zong=guke[renshu].zong-xinqu;if(xinquvguke[renshu].zong)printf(”\n\n\t取款成功:%d,您现在的可用余额为:%d”,xinqu,guke[xianzai].zong);printf("\n\n\t是否继续?继续请按任意键:”);getch();}查询服务:voidchaxun(){for(inti=0;i<5;i++){printf("\n\n\t正在进入,请稍等”);shaohou();system("cls");}printf("\n\t【查询服务】");printf("\n\t您的可用余额为:%d”,guke[renshu].jin_e);printf("\n\t是否继续?继续请按任意键•”);getch();3.6流程逻辑取急操作3.2查询3.4更改密取现金继续终止用户1密码确认银行卡银行卡用户交易5.1打印单据出5.2退出选择交易作转账否超査谊噪作取走卡超时信息退出类型选择信息3.1取款过山秒7插入卡请求遍码~继续否1W弹出卡结束未超时信息更改密码操作3.7接口1、本程序所隶属的上一层模块结构图:2、本程序隶属的下一层模块:本小组考虑到本程序已经是属于ATM管理系统系统层次的ATM事物处理层,所以没有下一层模块。3、与本程序直接关联的C语言知识欢迎模块:voidhuanying()开户服务:structkaihu登录服务:voiddenglu()主菜单模块:voidmain()voidfuwu()voidcunkuan()voidqukuan()voidchaxun()存储分配在欢迎界面,用户服务模块,主菜单模块使用之后到用户开始实现功能之前其需要的所有内容以及使用功能的信息本身全部常驻内存。用户选择退出时,系统自动保存相关信息。注释设计各个模块中的注释主要用来注释相关函数的主要作用,和主要的实现原理。而程序中的注释主要用于对一些主要方法进行注释,以方便系统编码人员对整个设计思想的理解,也便于其他阅读人员更好的理解本程序。其中注释的风格全部按照C语言规定的风格。限制条件不足之处:由于本小组知识范围所限,软件开发的经验严重不足,对数据库管理工具还没有学习,只是用C语言相关知识进行编程,所以对系统开发的进度以及系统功能的实现程度较难控制。已具备的条件:1、小组成员交流比较方便,而且共同写作,积极进取。2、实现系统所需的资料准备得较齐全。尚需补充的条件:1、提高开发人员的编程能力和对软件工程思想的认识;2、尽快掌握C语言的使用方法。测试计划测试日期、测试人员安排请参考测试计划;测试用例的具体内容,详见测试用例说明。现在本小组仅以会话用例与取款用例进行对ATM机管理系统的单体测试计划;用例被测试的功能初始系统状态测试输入期望的结果
会话用例系统读取顾客的银行卡系统处于ON状态,并没有为顾客提供服务插入可读的银行卡银行卡被接收,系统请求输入密码会话用例系统弹出不可读取的银行卡系统处于ON状态,当前没有为顾客提供服务插入不可读取的银行卡银行卡被弹出,系统显示错误信息,准备启动一个新的会话会话用例系统接收顾客的密码系统请求顾客输入密码输入密码系统显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 3903.6-2024鞋类整鞋试验方法防滑性能
- 客户答谢会致辞(15篇)
- 感恩父母演讲稿(19篇)
- 坚持新发展说课
- 当幸福来敲门观后感集合15篇
- 初级会计实务-初级会计《初级会计实务》模拟试卷93
- 智研咨询发布-2024年中国智能物联网(AIOT)行业市场竞争格局、行业政策及需求规模预测报告
- 2025年有机肥行业发展趋势分析报告
- 二零二五年度驾驶员劳务派遣合同协议书3篇
- 应急预案的知识普及
- 2023-2024年员工三级安全培训考试题及参考答案(综合题)
- 对口升学语文模拟试卷(6)-江西省(解析版)
- 招标采购基础知识培训
- 电力系统分布式模型预测控制方法综述与展望
- 五年级口算题卡每天100题带答案
- 上海中考英语考纲词汇
- 【工商管理专业毕业综合训练报告2600字(论文)】
- 2024年全国初中数学联合竞赛试题参考答案及评分标准
- 《幼儿园健康》课件精1
- 22S803 圆形钢筋混凝土蓄水池
- 2023年开心英语四年级上册全册练习
评论
0/150
提交评论