ATM自动取款机系统—详细设计说明书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

文档名称:详细设计说明书项目名称:ATM自动取款机系统编写:张恒友审核:王旭日期:2016年6月5日院系:计算机学院专业:计算机科学与技术一.引言1.1编写目的根据《需求规格说明书》,在仔细考虑讨论之后,我们又进一步对《ATM自动取款机系统》软件的功能划分、数据结构、软件总体结构进行设计,从而完成概要设计,作为软件详细设计的基础。1.2项目背景项目委托单位:计算机学院软件工程实验。开发单位:班ATM自动取款机系统项目组。由于柜台常常会拥挤,排队的人很多,而且大多数的客户都是取款,存款等,而有些办理业务的需要一定的时间,这会使得一些只需要取款等的客户会有较长时间的等待。所以银行希望设计一个系统,能让客户在系统上进行简单的操作,比如存款、取款、查询余额、转账等。1.3定义ATM:AutomaticTellerMachine,自动柜员机。1.4参考资料《计算机软件需求说明编制指南》《计算机软件产品开发文件指南》《ATM系统可行性分析报告》。《软件设计与体系结构》《软件工程——实践者的研究方法》二.任务概述2.1目标现如今,ATM在一定程度上存在很大的安全隐患,给用户造成很大的经济损失。为了解决这样的问题,我们小组提出了改进ATM自动取款机系统,使用户在操作过程中更加安全,放心,更便捷。2.2运行环境硬件环境:CPU:1GHZ及以上内存:1G以上硬盘:20G以上软件环境:操作系统:MicrosoftWindowsXP或更高版本数据库:MicrosoftSQLServer2005Web服务器:Tomcat5.0以上支持浏览器:InternetExplorer7.0及其以上版本开发环境:MyEclipse,jdk,MicrosoftSQLServer20052.3条件与限制随着科技的发展,人们生活水平的不断提高,高性能高效率高安全的产品越来越受到人们的欢迎。ATM自动取款机是一种非常智能的机器,人们可以直接和它交互,代替以前的手工操作,大大提高了银行的工作效率。同时也给广大用户带来了非常大的方便。由于ATM自动取款机是和服务器是连网的,这就涉及到安全的问题本系统能够有效地解决这个问题。但是本程序也使用户操作时间增加,在一定程度上增加了用户的抱怨率。三.总体设计3.1处理流程主流程图:用户流程:存款流程:进入欢迎界面选择存款业务选择存款金额存款显示余额返回主页面或者退卡取款流程:进入欢迎界面选择取款服务选择取款金额取款显示余额选择退卡或继续服务转账流程:欢迎界面选择转账服务输入对方信息确定取消输入转账金额返回欢迎界面转账成功显示对方信息转账失败退卡继续服务退卡继续服务查询流程进入欢迎界面选择查询服务显示卡里金额继续服务退卡:改密:进入欢迎界面选择更改密码业务输入旧密码输入新密码再输入一次新密码修改成功输入错误返返回欢迎界面修改失败,返回更改页面正确错误3.2具体模块及代码实现1.主菜单模块(含:存款、取款、转账、密码修改、查询余额)存款:个人账户上的金额加上。取款:个人账户上的金额减去。转账:涉及到两个账户其实就是下标的不同金额一个减去一个加上。密码修改:输入新密码、再次输入新密码判断两次密码是否相同在用strcpy()函数将新密码当前账户下标元素密码成员并且判断是否修改成功。查询余额:就是从结构体数组里面调用存金额那个成员欢迎模块:定义一个函数voidhuanying(),利用for循环进行字符的输出。voidhuanying()//定义函数{inti;for(i=0;i10;i++)//for循环{printf(\n\n\n\n\n\n\n\n);printf(\t\t\t--------------------------\n);printf(\t\t\t欢迎使用\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欢迎使用\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请选择:);scanf(%c,&xuanze);switch(xuanze){case'a':case'A':kaihu();break;case'b':case'B':denglu();break;case'c':case'C':exit(0);default:printf(\n\t您的选择错误!);break;}}}开户服务:structkaihu{charname[10];charmima[10];doublezong;intzhanghao;}guke[20];intrenshu=0;intxianzai;*/#includestdio.h#includestring.h#includestdlib.h#includeconio.hstruct{intjin_e,zong;intzhanghao;charname[20];charmima[20];}guke[20];intrenshu=0;intxianzai;voidshaohou(){inti,j;for(i=0;i3;i++){printf(.);for(j=0;j40000000;j++){;}}}voiddedaomima(charmima[]){inti=0;while(1){charch;ch=getch();if(ch=='\r'){mima[i]='\0';printf(\n);break;}else{if(ch=='\b'){if(i0){printf(\b\b);i--;}}else{if(i16){mima[i]=ch;printf(*);i++;}}}}}voidkaihu(){intk;for(k=0;k5;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;}else{printf(两次密码不相同。请重新输入。);system(cls);}}while(1){printf(\n\n\t请输入开户金额:);scanf(%d,&guke[renshu].jin_e);if(guke[renshu].jin_e0){printf(\n\n\t开户成功,您的可用余额为:%d,guke[renshu].jin_e);break;}else{printf(\n\n\t开户金额不能低于壹圆!\n\n);system(cls);}}guke[renshu].zhanghao=518518+renshu;printf(\n\n\t您的账号是:%d请牢记!\n,guke[renshu].zhanghao);printf(\n\n\t开户成功,是否继续?继续请按任意键。\n);renshu++;getch();}登录服务:voiddenglu(){intq;for(q=0;q8;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=0;irenshu;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;scanf(%d,&zh);for(inti=0;irenshu;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;i3;i++){printf(\n\t请输入密码:);charpassword[10];dedaomima(password);if(strcmp(password,guke[xianzai].mima)==0){printf(\n\t密码正确!);break;}else{printf(密码输入错误,请重新输入。);return;getch();}}fuwu();getch();}主菜单模块:此模块主要用于用户进行各种操作服务的选择,实现相关功能,如存款,取款,转账,密码修改,余额查询等等。voidfuwu(){inti=0;for(i;i8;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'://case'C':zhuanzhang();break;case'd':case'D':chaxun();break;//case'e'://case'E':xiougai();break;case'f':case'F':printf(返回上级菜单,请按任意键);return;default:printf(\n\t您的选择错误!);break;}}}存款服务:voidcunkuan(){for(inti=0;i5;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;

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功