版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、产品文档详细设计文档产品版本密级文档编号201011063V123内部产品名称ATM取款机共30页ATM取款机详细设计说明书撰写:王国君,刘博,杨雪,于少华日期:2010-11-06审核:日期:批准:日期:目录1. 引言 31.1 编写目的 .31.2背景31.3定义31.4参考资料42. 程序系统的组织结构 52.1 ATM取款活动图 62.2 ATM机转账活动图 73. 界面显示模块设计说明 73.1 程序描.7.7述3.2 功能3.3 性能3.4 输入和输出项 .3.5算法3.6 流程逻辑.8912253.7 接口 .253.8存储分配 .263.9 注释设计 .273.10限制条件27
2、3.11测试计戈y .273.12 尚未解决的问题 294. 详细设计小结和相关说明 29(后记:在张明老师的带领下,经过我们小组成员的配合,通过查询各种资料,我们逐渐完善了这份需求说明书。 在这个过程中, 我们体会到了团队合作的强大力量, 而这份设计就是大家心血的结晶和团队精神的有力见证。) 301.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. 程序系统的组织结构总体结构如下:2.1 ATM取款活动图-朮卡估庶斤是召台法密旳I没有起过三次y谊取取教 佶耳退卡縊A取枝
6、fii”丈是否帀款true删三逵描述上图功能:取款开始,先插卡,确认卡是否合法,输入” true ”时,就读取密码信息, 提示输入密码。输入” false ”时,系统就会提示退卡。输入密码时,如果密码 正确,则会提示取款,否则提示让重新输入密码,三次输入密码都错误,则系统 就退卡。读取取款信息后,问是否确认取款,输入“true ”时,系统就提示输入取款金额。输入” false 时,系统就终止取款活动。输入取款额时,系统提 示是否确认取款,如果确认,就出钞,然后终止活动,否则就直接提示取卡。2.2 ATM机转账活动图3. 界面显示模块设计说明3.1程序描述考虑到目前仍然有很多银行是柜台办理取款存
7、款转账等业务,很是麻 烦。所以本小组开发此软件的是为了完善银行的业务处理流程,使得银行与客户间的业务办理更方便、快捷和安全。本小组仅以设计开发的ATM叽管理系统的取款子系统位例进行详细说明,该 系统可以实现开户,密码修改,取款,存款,转账,查询等功能,有常驻能存, 没有子程序,是顺序处理。3.2功能ATM机取款子程序IPO图:输入处理输出银行卡读卡有效的业务记1峻证账户录密蘇校脸业务记录业务趣殓证账户余额収款金额更新余额记录更新后的记录3.3性能精度要求:取款机的各个按钮要准确映射到取款机的某个键。在主菜单界面中,通过控 制相应按钮切换功能,按功能键确认选择。本软件要求用户输入密码用户名为字
8、母数字或下划线,且首位不得为数字。 输入密码为6位整数。取款及转账金额为 整型数据。户源,目标账户为数据库中存在的用户名,即字母数字或下划线,且 首位不得为数字。时间特性要求:a)响应时间:用户插入银行卡后,按系统提示输入相应信息,系统确认完成后,自动进入 主菜单界面。在主菜单界面中,如果用户选择修改密码,先输入旧密码,在很短 的时间内再输入新密码;如果用户选择了存款,系统在短时间内确认金额,进行交易;如果用户选择了取款,则输入金额后系统在较短时间内弹出纸币; 如果用 户选择了其他选项(如交易明细查询),要短时间内显示相应的信息。用户交易 完毕,则选择退卡,请在三十秒内拿走银行卡,否则后果自负
9、。b)更新处理时间:在每次用户结束交易后,请系统及时进行信息更新。C)数据转换和传送时间:用户本次进入系统,要与最近一次的保存进度一致。在进行各项交易中,用 户的时间记录要准确,不能有延迟和提前。d)解题时间:不能出现让用户费解的信息。灵活性:a)操作系统:该软件当遇到非预期输入数据或操作时,会进行报错处理,并要 求用户重新进行输入数据或操作。b)同其他软件接口的变化:考虑到接口的变化,尽量将代码模块化,多提供一些接口类,提高代码的可移植性。c)运行环境的变化:由于代码输入到不同的取款机,其虚拟机可能有所不同,所以编写代码时要考虑运行在不同平台上的问题,即代码的平台可移植性。d)计划的变化或改
10、进:项目过程中可能要更改方案,如更换背景,更换按钮风格, 或者调整每次系统输出信息的时间等。 这些就要依赖于代码的可扩展性, 可以不 用更改很多代码。输入输出要求:1)用户名:字母数字或下划线,且首位不得为数字。2)密码:6位整数。3)取款及转账金额:整型数据。4)户源,目标账户:即字母数字或下划线,且首位不得为数字。5)用户需求事务:通过人机交互界面进行选择。3.4输入和输出项输入项:(只针对取款系统)名称密码金额总数类型charint格式*0000.00有效范围6位100的倍数元方式键盘输入键盘输入频度10次5次系统性能反应时间不能大于10秒钟反应时间不能大于10秒钟安全保密条件10次输入
11、密码错误则吞卡一天最多取款不得超过5000元媒体人工输入人工输入输出项:(只针对取款系统)名称金额类型int格式0000.00有效范围100的倍数方式键盘输入频度5次系统性能反应时间不能大于10秒钟安全保密条件一天最多取款不得超过5000元媒体点钞机3.5算法1. 用户服务模块(含:开户、登陆、退出)开户:输入姓名、密码、再次密码、开户金额(不低于1块钱)填写完没问题后分配账号。(姓名、密码、开户金额、账号 存入结构体数组里面)登陆:输入 账户、密码 判断账户是否存在,密码是否正确。登陆后进入到个人服务界面。退出:退出ATM就是退出程序2. 主菜单模块(含:存款、取款、转账、密码修改、查询余额
12、)存款:个人账户上的金额加上。取款:个人账户上的金额减去。转账:涉及到两个账户其实就是下标的不同金额一个减去一个加上密码修改:输入新密码、再次输入新密码判断两次密码是否相同在用strcpy ()函数 将新密码 当前账户下标元素密码成员 并且判断是否修改成功。查询余额:就是从结构体数组里面调用存金额那个成员欢迎模块:定义一个函数void huanying(),利用for循环进行字符的输出。void hua nyin g()/定义函数int i;for(i=0;i10;i+)/for循环prin tf(nnnnnnnn);t 。n);printf(ttt欢迎使用行军蚁ATM系统 n);t 。n);
13、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);printf(nnt欢迎使用行军蚁ATM系统n);printf(nnt请选择您要执
14、行的操作:n);prin tf(nntA.开户服务 n);prin tf(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);!);break;default:pri ntf(nt您的选择错误开户服务:struct kaihuchar n ame10;char mima10; double zong;int zha nghao; g
15、uke20;int ren shu=0;int xia nzai;*/#include #include #i nclude #in elude vconi o.hstructint 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)mimai=ch; prin tf(*); i+;void kaihu(
16、)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()int q;for(q=0;q8;q+)printf(nnt正在进入,请稍后);
17、shaohou();system(cls);/*while(1)prin tf(nntt【登录服务】);prin tf(nntt请输入账号:);int zh;sca nf(%d, &zh);int i;for(i=0;ire nshu;i+)if(zh!=gukei.zha nghao)prin tf(nnt账号错误,请重新输入。);con ti nue;elsexia nzai=i;printf(nnt账号正确:);break;*/prin tf(nntt【登录服务】);prin tf(nntt请输入账号:);int zh;sea nf(%d, &zh);for(i nt i=O;ire n
18、shu;i+)if(zh!=gukei.zha nghao)i+;if(i=re nshu)prin tf(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(密码输入错误,请重新输入。);return;getch();fuwu();getc
19、h();主菜单模块:此模块主要用于用户进行各种操作服务的选择,实现相关功能,如存款,取款, 转账,密码修改,余额查询等等。for(i;i8;i+)prin tf(nnnnnnn);printf(nnnnttt正在进入服务,请稍后);shaohou();printf(nnt【服务】n);printf(nnt%d晚上好,行军蚁银行欢迎您.n,);)n);prin tf(nt(现在暂时恢复存款服务、取款服务、余额查询。printf(nta.存款服务 n);printf(ntb.取款服务 n);printf(ntc.转账服务 n);printf(ntd.余额查询 n);printf
20、(nte.密码修改 n”);prin tf(ntf.退出 n);prin tf(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:chax un( );break;/ case e:/ case E:xiougai();break;case f:case F:printf(返回上级菜单,请按任意键);return;default:
21、printf(nt您的选择错误!);break;存款服务:void cun kua n()for(i nt i=0;i5;i+)printf(nnt正在进入,请稍等);shaohou();printf(nnt请输入您的存款金额:);int xincun;sca nf(%d, &xi ncun);gukere nshu.z on g=gukere nshu.ji n_e+x incun;printf(nnt您现在的可用余额为:d,gukerenshu.zong);prin tf(nnt是否继续?继续请按任意键。);getch();取款服务:void qukua n()for(i nt i=0;i
22、5;i+)printf(nnt正在进入,请稍等);shaohou();system(cls);prin tf(nnt【取款服务】);printf(nnt请输入取款金额:);int xinqu;sea nf(%d, &xi nqu);gukexia nzai.z on g=gukere nshu.z on g-x inqu;if(xinqu gukere nshu.z ong)printf(nnt取款成功:%d,您现在的可用余额为:%d,x inq u,gukexia nzai.z on g);printf(nnt是否继续?继续请按任意键:);getch();查询服务:void chax un(
23、)for(i nt i=0;i5;i+)printf(nnt正在进入,请稍等);shaohou();system(cls);prin tf(nt【查询服务】);printf(nt您的可用余额为:%d,gukerenshu.jin_e);printf(nt是否继续?继续请按任意键.);getch();3.6流程逻辑超时信良取软换作3 3箱账更改更码按作5 1更改密银 行用 户10秒行用 户3.2 退岀3 1取藏5J打印单据 出J查谬i.2童谊送择信息 f 2/二13屮卅才)H迭择交惫易取走卡3.7 接口1、本程序所隶属的上一层模块结构图:2、本程序隶属的下一层模块:本小组考虑到本程序已经是属于
24、ATM管理系统系统层次的ATM事物处理层, 所以没有下一层模块。3、与本程序直接关联的C语言知识欢迎模块 :void huanying()开户服务: struct kaihu 登录服务: void denglu() 主菜单模块: void main() void fuwu() void cunkuan() void qukuan() void chaxun()3.8 存储分配在欢迎界面,用户服务模块,主菜单模块使用之后到用户开始实现功能之前, 其需要的所有内容以及使用功能的信息本身全部常驻内存。用户选择退出时,系统自动保存相关信息3.9注释设计各个模块中的注释主要用来注释相关函数的主要作用,和
25、主要的实现原理。而程序中的注释主要用于对一些主要方法进行注释, 以方便系统编码人员对整个 设计思想的理解,也便于其他阅读人员更好的理解本程序。 其中注释的风格全部 按照C语言规定的风格。3.10限制条件不足之处:由于本小组知识范围所限,软件开发的经验严重不足,对数据库管 理工具还没有学习,只是用c语言相关知识进行编程,所以对系统 开发的进度以及系统功能的实现程度较难控制。已具备的条件:1、小组成员交流比较方便,而且共同写作,积极进取。2、实现系统所需的资料准备得较齐全。尚需补充的条件:1、提高开发人员的编程能力和对软件工程思想的认识;2、尽快掌握C语言的使用方法。3.11测试计划测试日期、测试
26、人员安排请参考测试计划;测试用例的具体内容,详见测试 用例说明。现在本小组仅以会话用例与取款用例进行对 ATM叽管理系统的单体测 试计划;用例被测试的功能初始系统状态测试输入期望的结果会话用例系统读取顾客系统处于ONI犬 态,并没有为顾插入可读的银银仃卡被接收, 系统请求输入的银行卡客提供服务行卡密码会话用例系统弹出不可读取的银行卡系统处于ONI犬 态,当前没有为 顾客提供服务插入不可读取的银行卡银行卡被弹出, 系统显示错误 信息,准备启动 一个新的会话会话用例系统接收顾客的密码系统请求顾客输入密码输入密码系统显示一个 事务类型菜单会话用例系统允许顾客执行事务系统显示事务类型菜单执行事务系统询问顾客 是否希望执行 其它事务会话用例系统允许在 一个会话中 执行多个事 务系统询问是否执行其它事务回答“是”系统显示事务类型菜单会话用例当顾客选择 不执行其它 事务时,会话 结束系统询问是否执行其它事务回答“否”系统弹出银行 卡,准备启动一 个新的会话事务用例系统处理一个不合法的密码插入了可读取的卡输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年新型建筑施工中介服务协议版B版
- 2024-2030年中国客户关系管理系统项目可行性研究报告
- 2024-2030年中国天然橡胶行业发展分析及投资风险研究报告
- 2024-2030年中国复合保温铜水管融资商业计划书
- 2024-2030年中国基金小镇行业运营管理模式分析及投资规划研究报告版
- 眉山药科职业学院《有限元基础与应用实验》2023-2024学年第一学期期末试卷
- 2024年煤矿物资供应合同范本
- 吕梁学院《行为生态学》2023-2024学年第一学期期末试卷
- 2024年版简单建设工程结算协议书模板
- 2025水上运输合同范本
- 【MOOC】大学摄影-河南理工大学 中国大学慕课MOOC答案
- 执纪审查业务专题培训
- 音乐著作权授权合同模板
- 信息安全意识培训课件
- Python试题库(附参考答案)
- 道法第二单元 成长的时空 单元测试 2024-2025学年统编版道德与法治七年级上册
- MOOC 理解马克思-南京大学 中国大学慕课答案
- 海洋的前世今生智慧树知到期末考试答案2024年
- 预算与预算法课件
- 用友银企联云服务ppt课件
- 同城票据结算业务
评论
0/150
提交评论