版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文档名称:详细设计说明书ATM: Automatic Teller Machi ne,自动柜员机项目名称:ATM自动取款机系统编写:张恒友审核:王旭日期:2016年6月5日院系:计算机学院专业:计算机科学与技术引言1.1编写目的根据需求规格说明书,在仔细考虑讨论之后,我们又进一步对 ATM自 动取款机系统软件的功能划分、数据结构、软件总体结构进行设计,从而完成 概要设计,作为软件详细设计的基础。1.2 项目背景项目委托单位:计算机学院软件工程实验。开发单位:班ATM自动取款机系统项目组。由于柜台常常会拥挤,排队的人很多,而且大多数的客户都是取款,存款等, 而有些办理业务的需要一定的时间,这会使
2、得一些只需要取款等的客户会有较长 时间的等待。所以银行希望设计一个系统,能让客户在系统上进行简单的操作, 比如存款、取款、查询余额、转账等。1.3 定义1.4 参考资料计算机软件需求说明编制指南计算机软件产品开发文件指南ATM系统可行性分析报告。软件设计与体系结构软件工程实践者的研究方法二 任务概述2.1 目标现如今,ATM在一定程度上存在很大的安全隐患,给用户造成很大的经济损 失。为了解决这样的问题,我们小组提出了改进ATM自动取款机系统,使用户在 操作过程中更加安全,放心,更便捷。2.2 运行环境硬件环境:CPU: 1GHZ 及以上内存:1G以上硬盘: 20G 以上软件环境:操作系统: M
3、icrosoft Windows XP 或更高版本数 据 库: Microsoft SQL Server 2005Web服务器:Tomcat5.0以上支持浏览器: Internet Explorer 7.0及其以上版本 开发环境: MyEclipse, jdk, Microsoft SQL Server 20052.3 条件与限制随着科技的发展, 人们生活水平的不断提高, 高性能高效率高安全的产品越 来越受到人们的欢迎。 ATM 自动取款机是一种非常智能的机器,人们可以直接 和它交互,代替以前的手工操作, 大大提高了银行的工作效率。 同时也给广大用 户带来了非常大的方便。由于ATM自动取款机是
4、和服务器是连网的,这就涉及到 安全的问题本系统能够有效地解决这个问题。 但是本程序也使用户操作时间增加, 在一定程度上增加了用户的抱怨率。三.总体设计3.1处理流程主流程图:用户流程:存款流程:取款流程:查询流程进入欢迎界面改密:进入欢迎界面选择更改密码业务输入旧密码正谕错误厂 输入新密码I输入错误返再输入一次新密码返回欢迎界面修改成功修改失败,返 回更改页面3.2具体模块及代码实现1. 主菜单模块(含:存款、取款、转账、密码修改、查询余额)存款:个人账户上的金额加上。取款:个人账户上的金额减去。转账:涉及到两个账户其实就是下标的不同金额一个减去一个加上密码修改:输入新密码、再次输入新密码判断
5、两次密码是否相同在用strcpy ()函数 将新密码 当前账户下标元素密码成员 并且判断是否修改成功。查询余额:就是从结构体数组里面调用存金额那个成员欢迎模块:定义一个函数void huanying(),利用for循环进行字符的输出void hua nyin g() int i;/for定义函数循环for(i=0;i<10;i+)prin tf("nnnnnnnn");prin tf("tttn");prin tf("ttt欢迎使用n");prin tf("tttn");printf("nntt希望
6、此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&q
7、uot;);printf("nnt欢迎使用 n");printf("nnt请选择:n");printf("nntA.开户服务 n");printf("nntB.登录服务 n");printf("nntC. 退出。n");prin tf("nnt请选择:");sca nf("%c", &xua nze);switch(xua nze)case'a':case'A':kaihu();break;case'b
8、9;:case'B':de nglu();break;case'c':case'C':exit(O);default:printf("nt您的选择错误!");break;开户服务: struct kaihu char n ame10; char mima10; double zong; int zha nghao; guke20;int ren shu=0;int xia nzai;*/#in elude <stdio.h> #i nclude <stri ng.h> #i nclude <std
9、lib.h> #in clude vconi o.h> structint 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;i<3;i+) prin tf(".");for(j=0;j<40000000;j+)Jvoid dedaomima(char mima) int i=0;while(1) char ch; ch=getch(); if(ch=&
10、#39;r')mimai='O'prin tf("n");break;elseif(ch='b')if(i>0)prin tf("b b");i-;elseif(i<16)mimai=ch;prin tf("*");i+;void kaihu()int k;for(k=0;k<5;k+)printf("nnt正在进入注册页面,请稍后");shaohou();system("cls");while(1)prin tf("nnt【开
11、户服务】");printf("nnt请输入您的姓名:");char xingmin g16;char yan zhe ng20;sca nf("%s",x ingmin g);printf("nnt请输入密码:");dedaomima(gukere nshu.mima);printf("nnt 请再次确认您的密码:");dedaomima(ya nzhe ng);if(strcmp(gukere nshu.mima,ya nzhe ng)=O)printf("nnt 密码验证通过:")
12、;break;elseprintf(" 两次密码不相同。请重新输入。");system("cls");while(1)printf("nnt请输入开户金额:");scan f("%d",&gukere nshu.jin_e);if(gukere nshu.ji n_e>0) printf("nnt开户成功,您的可用余额为:d",gukerenshu.jin_e);break;elseprintf("nnt开户金额不能低于壹圆!nn");system("
13、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;q<8;q+)printf("nnt 正在进入,请稍后"); shaohou();system("cls");/*whileprin tf("nn
14、tt【登录服务】");prin tf("nntt请输入账号:");int zh;sca nf("%d", &zh);int i;for(i=0;i<re 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请输入账号:"
15、;);int zh;sca nf("%d", &zh);for(int i=0;i<renshu;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;i<3;i+)printf("nt请输入密码:");char password10;dedaomima(password);if(strcmp(pa
16、ssword,gukexia nzai.mima)=0)printf("nt密码正确!");break;elseprintf("密码输入错误,请重新输入。");return;getch();fuwu();getch();主菜单模块:此模块主要用于用户进行各种操作服务的选择,实现相关功能,如存款,取款,转账,密码修改,余额查询等等。void fuwu()int i=0;for(i;i<8;i+)prin tf("nnnnnnn");printf("nnnnttt正在进入服务,请稍后");shaohou();sy
17、stem("cls");while(1)char shuru;system("cls");printf("nnt 【服务】n");printf("nnt%d 欢迎使用! n",);printf("nt( 请选择:)n");prin tf("nta.存款服务 n");prin tf("ntb.取款服务 n");prin tf("ntc.转账服务n");printf("ntd.余额查询n");prin
18、tf("nte.密码修改n");prin tf("ntf.退出 n");prin tf("nt请选择服务:");sca 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
19、39;:case 'D':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;i<5;i+)printf("nnt正在进入,请稍等");shaohou();system(&q
20、uot;cls");prin tf("nnnnnnn");prin tf("nnt【存款服务】");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();
21、取款服务:void qukua n()for(i nt i=0;i<5;i+)printf("nnt正在进入,请稍等");shaohou();system("cls");prin tf("nnt【取款服务】");printf("nnt请输入取款金额:");int xinqu;sca nf("%d",& xi nqu);gukexia nzai.z on g=gukere nshu.z on g-x inqu;if(xinqu <gukere nshu.z ong)printf
22、("nnt 取款成功:%d,您现在的可用余额为:%d",x inq u,gukexia nzai.z on g);printf("nnt是否继续?继续请按任意键:");getch();查询服务:void chax un()for(i nt i=0;i<5;i+)printf("nnt正在进入,请稍等");shaohou();system("cls");prin tf("nt【查询服务】");printf("nt您的可用余额为:%d",gukerenshu.jin_e);
23、printf("nt是否继续?继续请按任意键.");getch();四接口设计4.1外部接口硬件接口:和银行数据库主本软件只调用包括和打印机的接口(控制打印机打发票及存款凭证等), 机的接口,和出钞机的接口。对硬件的处理主要由操作系统完成, 操作系统提供的打印,出钞等指令。软件接口:按照银行指定的格式与银行数据库通信,并需要预留可能在ATM上安装的其他软件的接口以便于扩充功能。4.2内部接口1. 前后台程序通信接口,包括配款提醒和维护提醒。2. 系统与数据库接口。五.测试计划测试日期、测试人员安排请参考测试计划; 测试用例的具体内容,详见测试用例 说明。现在本小组仅以会话用
24、例与取款用例进行对 ATM机管理系统的单体测试计 划;用例被测试的功能初始系统状态测试输入期望的结果会话用例系统读取顾客 的银行卡系统处于ONI犬 态,并没有为顾 客提供服务插入可读的银 行卡银仃卡被接收, 系统请求输入 密码会话用例系统弹出不可 读取的银行卡系统处于ON状 态,当前没有为 顾客提供服务插入不可读取的银行卡银行卡被弹出, 系统显示错误 信息,准备启动 一个新的会话会话用例系统接收顾客 的密码系统请求顾客 输入密码输入密码系统显示一个 事务类型菜单会话用例系统允许顾客 执行事务系统显示事务 类型菜单执行事务系统询问顾客 是否希望执行 其它事务会话用例系统允许在一 个会话中执行 多个事务系统询问是否回答“是”系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 夜色空间课程设计理念
- 2024年旺铺门面租赁协议标准版版B版
- 2024年汽车抵押贷款合同样本与合同履行监督3篇
- 中国地质大学(武汉)《物理实验》2021-2022学年第一学期期末试卷
- 2024年标准化洗涤服务合同范本版B版
- 2024年度稻草农业残留物资源化利用合同
- 小熊黏土课程设计图
- 2024年国际运输分包合作协议版
- 2024年度农产品电商平台运营推广合同14篇
- 2024年数据安全与隐私保护协议
- 建设工程施工项目合伙制实施方案
- 《大学英语》复习题专升本
- 新机场考试通行证模拟试题知识讲解
- 2022年新疆克拉玛依金龙国民村镇银行招聘16名人员模拟试题3套(含答案解析)
- 三度房室传导阻滞护理查房课件
- 讲课比赛精品PPT-全概率公式贝叶斯公式-概率论与数理统计
- 药理学39人工合成抗菌药课件
- 工期定额计算表格
- 小学一年级上册口算练习题(可打印)
- 老年人情绪状态测评忧郁量表
- ping程序的设计及实现报告
评论
0/150
提交评论