




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、产品文档详细设计文档产品版本密级文档编号201011063V123内部产品名称ATM取款机共30页ATM取款机详细设计说明书撰写:王国君,刘博,杨雪,于少华日期:2010-11-06审核:日期:批准:日期:1.引言3目录1.1编写目的 .31.2背景 31.3定义 31.4参考资料 42. 程序系统的组织结构52.1 ATM 取款活动图 62.2 ATM机转账活动图 73. 界面显示模块设计说明73.1 程序描述 .73.2 功能 .73.3 性能 .83.4输入和输岀项 .93.5 算法 .113.6流程逻辑 .243.7 接口 .243.8存储分配 .253.9注释设计 .263.10限制
2、条件 263.11测试计划 .263.12尚未解决的问题 294. 详细设计小结和相关说明 29通过查询各种资料,我们逐渐完善(后记:在张明老师的带领下,经过我们小组成员的配合,了这份需求说明书。在这个过程中,我们体会到了团队合作的强大力量,而这份设计就是大家心血的结晶和团队精神的有力见证。)301.引言1.1编写目的ATM机管理系统是银行业务流程过程中十分重要且必备的环节之一,在银行业 务流程当中起着承上启下的作用,其重要性不言而喻。但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。为明确软件需求、安排项目规划与进
3、度、 组织软件开发与测试,撰写本文档,本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等 过程,开发了这个系统。本文档供项目经理、设计人员、开发人员参考。1.2背景软件名称:ATM取款机任务提出者:西安石油大学计算机学院开发者:杨雪,吴昊,何雪英,于少华,王国君,刘博。用户:为与ATM取款机软件开发有联系的决策人,开发组人员以及使用该 系统的用户。使用的计算机网络:本项目使用西安石油大学计算机机器以及各开发者本人 的计算机进行编程。1.3定义1. 账号:在银行中,事务应用的单个账号。账号可以为多种类型,但是至少包 括支票和存款。每个顾客
4、可以拥有多个账号。2. ATM :一个工作站终端,使得顾客能够使用现金卡在 ATM上进行自己的事务处理。ATM同顾客进行交互,收集事务信息,并发送事务信息到中心计算机, 由中心计算机确认和处理信息之后,将现金通过 ATM提供给顾客。3银行:一个金融机构,负责保存顾客的账号信息,执行授权卡通过ATM网访问账号。4银行计算机:银行拥有的计算机,同 ATM网和银行自己的现金工作站进行交 互。银行可以拥有自己的内部计算机网处理账号,但是我们只关心同网络进行交 互的计算机。5. 现金卡:每张卡提供给一个银行客户,授权客户可以使用 ATM机访问自己的账号。每张卡包含一个银行代码和一个卡号, 银行代码根据信
5、用卡的国际标准进 行编码,卡号确定卡能够访问的账户。一张卡不能访问客户的所有账户。 每张卡 只能有一个持卡人,但是多个复本可能存在,所以必须考虑从不同的ATM机同时使用相同卡的行为。6. 客户:拥有银行的一个或者多个账号的人。客户可以包括一个人或者多个人, 或者是公司。相同的人,拥有不同银行的账号被认为是不同的客户。事务:对单个客户账号的单个完整的操作请求。1.4参考资料1. C程序设计谭浩强 主编 清华大学出版社2. 软件工程导论第三版张海藩主编清华大学出版社2. 程序系统的组织结构总体结构如下:ATM2.1 ATM取款活动图读卡信息退卡读服密码-信息卡是否合法truer重新输厂1读取取蔻1
6、密码丿信恳空码是否正确没有超过三抚false-退卡J/Z1出钞-TLJT是否确认true是否霍款 true描述上图功能:取款开始,先插卡,确认卡是否合法,输入” true”时,就读取密码信息,提示 输入密码。输入”false”时,系统就会提示退卡。输入密码时,如果密码正确,则 会提示取款,否则提示让重新输入密码,三次输入密码都错误,则系统就退卡。 读取取款信息后,问是否确认取款,输入frue”时,系统就提示输入取款金额。输入false”时,系统就终止取款活动。输入取款额时,系统提示是否确认取款, 如果确认,就出钞,然后终止活动,否则就直接提示取卡。2.2 ATM机转账活动图3. 界面显示模块设
7、计说明3.1程序描述考虑到目前仍然有很多银行是柜台办理取款存款转账等业务,很是麻 烦。所以本小组开发此软件的是为了完善银行的业务处理流程,使得银行与客户间的业务办理更方便、快捷和安全。本小组仅以设计开发的ATM叽管理系统的取款子系统位例进行详细说明,该 系统可以实现开户,密码修改,取款,存款,转账,查询等功能,有常驻能存, 没有子程序,是顺序处理。3.2功能ATM机取款子程序IPO图:输入处理输出银行卡读卡有效的业务记1峻证账户录密蘇校脸业务记录业务趣殓证账户余额収款金额更新余额记录更新后的记录3.3性能精度要求:取款机的各个按钮要准确映射到取款机的某个键。在主菜单界面中,通过控 制相应按钮切
8、换功能,按功能键确认选择。本软件要求用户输入密码用户名为字 母数字或下划线,且首位不得为数字。 输入密码为6位整数。取款及转账金额为 整型数据。户源,目标账户为数据库中存在的用户名,即字母数字或下划线,且 首位不得为数字。时间特性要求:a)响应时间:用户插入银行卡后,按系统提示输入相应信息,系统确认完成后,自动进入 主菜单界面。在主菜单界面中,如果用户选择修改密码,先输入旧密码,在很短 的时间内再输入新密码;如果用户选择了存款,系统在短时间内确认金额,进行交易;如果用户选择了取款,则输入金额后系统在较短时间内弹出纸币; 如果用 户选择了其他选项(如交易明细查询),要短时间内显示相应的信息。用户
9、交易 完毕,则选择退卡,请在三十秒内拿走银行卡,否则后果自负。b)更新处理时间:在每次用户结束交易后,请系统及时进行信息更新。C)数据转换和传送时间:用户本次进入系统,要与最近一次的保存进度一致。在进行各项交易中,用 户的时间记录要准确,不能有延迟和提前。d)解题时间:不能出现让用户费解的信息。灵活性:a)操作系统:该软件当遇到非预期输入数据或操作时,会进行报错处理,并要 求用户重新进行输入数据或操作。b)同其他软件接口的变化:考虑到接口的变化,尽量将代码模块化,多提供一些接口类,提高代码的可移植性。c)运行环境的变化:由于代码输入到不同的取款机,其虚拟机可能有所不同,所以编写代码时要考虑运行
10、在不同平台上的问题,即代码的平台可移植性。d)计划的变化或改进:项目过程中可能要更改方案,如更换背景,更换按钮风格, 或者调整每次系统输出信息的时间等。 这些就要依赖于代码的可扩展性, 可以不 用更改很多代码。输入输出要求:1)用户名:字母数字或下划线,且首位不得为数字。2)密码:6位整数。3)取款及转账金额:整型数据。4)户源,目标账户:即字母数字或下划线,且首位不得为数字。5)用户需求事务:通过人机交互界面进行选择。3.4输入和输出项输入项:(只针对取款系统)名称密码金额总数类型charint格式*0000.00有效范围6位100的倍数元方式键盘输入键盘输入频度10次5次系统性能反应时间不
11、能大于10秒钟反应时间 不能大于10秒钟安全保密条件10次输入密码错误则吞卡一天最多取款不得超过5000元媒体人工输入人工输入输出项:(只针对取款系统)名称金额类型int格式0000.00有效范围100的倍数方式键盘输入频度5次系统性能反应时间不能大于10秒钟安全保密条件一天最多取款不得超过5000元媒体点钞机3.5算法1. 用户服务模块(含:开户、登陆、退出)开户:输入姓名、密码、再次密码、开户金额(不低于1块钱)填写完没问题后分配账号。(姓名、密码、开户金额、账号 存入结构体数组里面)登陆:输入 账户、密码 判断账户是否存在,密码是否正确。登陆后进入到个人服务界面。退出:退出ATM就是退出
12、程序2. 主菜单模块(含:存款、取款、转账、密码修改、查询余额) 存款:个人账户上的金额加上。取款:个人账户上的金额减去。转账:涉及到两个账户其实就是下标的不同金额一个减去一个加上密码修改:输入新密码、再次输入新密码判断两次密码是否相同在用strcpy ()函数 将新密码 当前账户下标元素密码成员 并且判断是否修改成功。查询余额:就是从结构体数组里面调用存金额那个成员欢迎模块:定义一个函数void huanying(),利用for循环进行字符的输出。void hua nyin g()/ 定义函数int i;for(i=0;i10;i+)/for 循环prin tf(nnnnnnnn);t On
13、);printf(ttt 欢迎使用行军蚁ATM系统 n);t O0 O0 On);printf(nntt希望行军蚁ATM系统可以时刻给您带来方便!);printf(nnnntttt 正在进入);shaohou();/等待系统响应system(cls);prin tf(nnnnnnnn);用户模块:在此模块,从A,B,C中选择出执行的操作服务,然后进入下一个模块。利用 while语句,定义的选择函数char xuanze,实现输出。伪代码:void mai n()/ 主函数hua nyin g();system(cls);while(1)char xua nze;定义函数system(cls);
14、printf(nnt欢迎使用行军蚁ATM系统n);printf(nnt请选择您要执行的操作:n);printf(nntA.开户服务 n);printf(nntB.登录服务 n);printf(nntC.退出。n);printf(nnt 请选择:);sea nf(%c, &xua nze);switch(xua nze)casea:caseA:kaihu();break;caseb:caseB:de nglu();break;casec:caseC:exit(O);default:printf(nt 您的选择错误!);break;开户服务:struct kaihuchar n ame10;cha
15、r mima10; double zong;int zha nghao; guke20;int ren shu=0;int xia nzai;*/#include #include #include #in clude vconi o.hstruct int jin _e,z ong;int zha nghao;char n ame20;char mima20;guke20;int ren shu=0;int xia nzai;void shaohou()int i,j;for(i=0;i3;i+)prin tf(.);for(j=0;j0)prin tf(b b);i-;elseif(i16
16、)mimai=ch;prin tf(*); i+;void kaihu()int k;for(k=0;k0) printf(nnt 开户成功,您的可用余额为:%d,gukerenshu.jin_e); break;elseprintf(nnt开户金额不能低于壹圆!nn);system(cls);gukere nshu.zha nghao=518518+re nshu;printf(nnt 您的账号是:%d 请牢记!n,gukerenshu.zhanghao);printf(nnt开户成功,是否继续?继续请按任意键。n);ren shu+;getch();登录服务:void den glu()i
17、nt q;for(q=0;q8;q+)printf(nnt正在进入,请稍后);shaohou();system(cls);/*while(1)prin tf(nntt【登录服务】);printf(nntt 请输入账号:);int zh;sea nf(%d, &zh);int i;for(i=0;ire nshu;i+)if(zh!=gukei.zha nghao)printf(nnt账号错误,请重新输入。);con ti nue;elsexia nzai=i;printf(nnt 账号正确:);break;*/prin tf(nntt【登录服务】);printf(nntt 请输入账号:);in
18、t zh;sca nf(%d, &zh);for(i nt i=0;ire nshu;i+)if(zh!=gukei.zha nghao)i+;if(i=re nshu)printf(nnt账号错误,请重新输入。);con ti nue;elsexia nzai=i;printf(nnt 账号正确:);break;for(i=0;i3;i+)printf(nt 请输入密码:);char password10;dedaomima(password);if(strcmp(password,gukexia nzai.mima)=0)printf(nt 密码正确!);break;elseprintf(
19、密码输入错误,请重新输入。);return;getch();fuwu();getch();主菜单模块:此模块主要用于用户进行各种操作服务的选择,实现相关功能,如存款,取款, 转账,密码修改,余额查询等等。void fuwu()int i=0;for(i;i8;i+)prin tf(nnnnnnn);printf(nnnnttt正在进入服务,请稍后);shaohou();system(cls);while(1)char shuru;system(cls);printf(nnt【服务】n);printf(nnt%d 晚上好,行军蚁银行欢迎您.n,);printf(nt(现在暂时
20、恢复存款服务、取款服务、余额查询。)n);printf(nta.存款服务 n);printf(ntb.取款服务 n);printf(ntc.转账服务 n);printf(ntd.余额查询 n);printf(nte.密码修改 n);printf(ntf.退出 n);printf(nt 请选择服务:);sea nf(%c,&shuru);switch(shuru)case a:case A:c un kua n() ;break;case b:case B:qukua n( );break;/ case c:/ case C:zhua nzha ng();break;case d:case D:
21、chax un( );break;/ case e:/ case E:xiougai();break;case f:case F:printf(返回上级菜单,请按任意键);return; default:printf(nt 您的选择错误!);break;存款服务:void cun kua n()for(i nt i=0;i5;i+)printf(nnt正在进入,请稍等);shaohou();system(cls);prin tf(nnnnnnn);printf(nnt【存款服务】);printf(nnt请输入您的存款金额:);int xincun;sea nf(%d, &xi ncun);gu
22、kere nshu.z on g=gukere nshu.ji n_e+x incun;printf(nnt 您现在的可用余额为:%d,gukerenshu.zong);printf(nnt是否继续?继续请按任意键。);getch();取款服务:void qukua n()for(i nt i=0;i5;i+)printf(nnt正在进入,请稍等);shaohou();system(cls);printf(nnt【取款服务】);printf(nnt请输入取款金额:);int xinqu;sca nf(%d, &xi nqu);gukexia nzai.z on g=gukere nshu.z
23、on g-x inqu;if(xinqu gukere nshu.z ong)printf(nnt 取款成功:%d,您现在的可用余额为:%d,xinqu,gukexianzai.zong);printf(nnt是否继续?继续请按任意键:);getch();查询服务:void chax un()for(i nt i=0;i5;i+)printf(nnt正在进入,请稍等);shaohou();system(cls);printf(nt【查询服务】);printf(nt 您的可用余额为:%d,gukerenshu.jin_e);printf(nt是否继续?继续请按任意键.);getch();3.6流
24、程逻辑超时信良取软换作3 3箱账更改更码按作5 1更改密银 行用 户10秒行用 户3.2 退岀3 1取藏5J打印单据 出J查谬i.2童谊送择信息 f 2/二13屮卅才)H迭择交惫易取走卡3.7 接口1、本程序所隶属的上一层模块结构图:2、本程序隶属的下一层模块:本小组考虑到本程序已经是属于 ATM管理系统系统层次的ATM事物处理层, 所以没有下一层模块。3、与本程序直接关联的C语言知识欢迎模块:void huanying()开户服务:struct kaihu登录服务:void den glu() 主菜单模块:void mai n()void fuwu()void cun kua n()void
25、 qukua n()void chax un()3.8存储分配在欢迎界面,用户服务模块,主菜单模块使用之后到用户开始实现功能之前, 其需要的所有内容以及使用功能的信息本身全部常驻内存。用户选择退出时,系统自动保存相关信息3.9注释设计各个模块中的注释主要用来注释相关函数的主要作用,和主要的实现原理。而程序中的注释主要用于对一些主要方法进行注释, 以方便系统编码人员对整个 设计思想的理解,也便于其他阅读人员更好的理解本程序。 其中注释的风格全部 按照C语言规定的风格。3.10限制条件不足之处:由于本小组知识范围所限,软件开发的经验严重不足,对数据库管 理工具还没有学习,只是用 c语言相关知识进行
26、编程,所以对系 统开发的进度以及系统功能的实现程度较难控制。已具备的条件:1、小组成员交流比较方便,而且共同写作,积极进取。2、实现系统所需的资料准备得较齐全。尚需补充的条件:1、提高开发人员的编程能力和对软件工程思想的认识;2、尽快掌握C语言的使用方法。3.11测试计划测试日期、测试人员安排请参考测试计划;测试用例的具体内容,详见测试用例说明。现在本小组仅以会话用例与取款用例进行对ATM机管理系统的单体测试计划;用例被测试的功能初始系统状态测试输入期望的结果会话用例系统读取顾客系统处于ONI犬 态,并没有为顾插入可读的银银仃卡被接收, 系统请求输入的银行卡客提供服务行卡密码会话用例系统弹出不可读取的银行卡系统处于ONI犬 态,当前没有为 顾客提供服务插入不可读取的银行卡银行卡被弹出, 系统显示错误 信息,准备启动 一个新的会话会话用例系统接收顾客的密码系统请求顾客输入密码输入密码系统显示一个 事务类型菜单会话用例系统允许顾客执行事务系统显示事务类型菜单执行事务系统询问顾客 是否希望执行 其它事务会话用例系统允许在 一个会话中 执行多个事 务系统询问是否执行其它事务回答“是”系统显示事务类型菜单会话用例当顾客选择 不执行其它 事务时,会话 结束系统询问是否执行其它事务回答“否”系统弹出银行 卡,准备启动一 个新的会话事务用例系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 邢台市中医院呼吸科肺癌免疫治疗不良反应管理考核
- 天津市人民医院美容术前摄影考核
- 2025江西吉安市庐陵产业运营服务有限公司招聘物业经理1人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025海南三亚人民医院四川大学华西三亚医院海南医科大学校园招聘模拟试卷附答案详解(黄金题型)
- 邢台市人民医院医联体合作模式运营方案设计试题
- 2025广东储能产业发展有限公司招聘17人模拟试卷及答案详解(新)
- 2025年浙江大学医学院附属儿童医院招聘眼科劳务派遣特检1人模拟试卷有完整答案详解
- 2025江苏中国矿业大学徐海学院招聘饮食管理人员1人考前自测高频考点模拟试题及一套完整答案详解
- 大学速写课件
- 衡水市人民医院急诊超声技能考核
- 诗词大赛题库及答案
- 固收理财合同协议
- 配送生鲜公司管理制度
- 食堂每日出入库明细登记表模板
- JJF(新) 129-2024 阻容法烟气含湿量测定仪校准规范
- CVC堵管的处理及预防
- 2025高考复习必背译林版高中英语全七册单词表
- 2025年人教新课标高一地理上册月考试卷
- 《临床心胸外科培训》课件
- 店长周工作总结数据报表模板
- “五育并举”视域下美育对工科大学生审美能力的提升研究
评论
0/150
提交评论