收藏 分销(赏)

ATM自动取款机系统-软件设计说明书.pdf

上传人:a199****6536 文档编号:1214896 上传时间:2024-04-18 格式:PDF 页数:17 大小:163.56KB
下载 相关 举报
ATM自动取款机系统-软件设计说明书.pdf_第1页
第1页 / 共17页
ATM自动取款机系统-软件设计说明书.pdf_第2页
第2页 / 共17页
ATM自动取款机系统-软件设计说明书.pdf_第3页
第3页 / 共17页
ATM自动取款机系统-软件设计说明书.pdf_第4页
第4页 / 共17页
ATM自动取款机系统-软件设计说明书.pdf_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、文档名称:文档名称:软件设计说明书软件设计说明书项目名称:项目名称:ATM 自动取款机系统自动取款机系统编写:编写:校对:校对:审核:审核:日期:日期:2013 年年 10 月月 31 日日院系:院系:软件学院软件学院专业:专业:软件工程软件工程一引言一引言1.1编写目的编写目的根据需求规格说明书,在仔细考虑讨论之后,我们又进一步对ATM 自动取款机系统软件的功能划分、数据结构、软件总体结构进行设计,从而完成概要设计,作为软件详细设计的基础。1.21.2项目背景项目背景项目委托单位:计算机学院软件工程系计算机学院软件工程系。开发单位:班班 ATMATM 自动取款机系统项目组自动取款机系统项目组

2、。由于柜台常常会拥挤,排队的人很多,而且大多数的客户都是取款,存款等,而有些办理业务的需要一定的时间,这会使得一些只需要取款等的客户会有较长时间的等待。所以银行希望设计一个系统,能让客户在系统上进行简单的操作,比如存款、取款、查询余额、转账等。1.31.3定义定义ATM:ATM:AutomaticAutomatic TellerTeller MachineMachine,自动柜员机。1.41.4参考资料参考资料计算机软件需求说明编制指南计算机软件产品开发文件指南ATM 系统可行性分析报告。软件设计与体系结构软件工程实践者的研究方法二二任务概述任务概述2.12.1 目标目标现如今,ATM 在一定

3、程度上存在很大的安全隐患,给用户造成很大的经济损失。为了解决这样的问题,我们小组提出了改进 ATM 自动取款机系统,使用户在操作过程中更加安全,放心,更便捷。2.22.2 运行环境运行环境操作系统:Windows xp SP3 以上(不支持 win8 及 win8.1)数 据 库:Microsoft SQL Server 2005硬件环境(建议):CPU:主频 2.0GHZ 以上内存:1G 以上硬盘:剩余空间 20G 以上2.32.3 条件与限制条件与限制随着科技的发展,人们生活水平的不断提高,高性能高效率高安全的产品越来越受到人们的欢迎。ATM 自动取款机是一种非常智能的机器,人们可以直接和

4、它交互,代替以前的手工操作,大大提高了银行的工作效率。同时也给广大用户带来了非常大的方便。由于 ATM 自动取款机是和服务器是连网的,这就涉及到安全的问题本系统能够有效地解决这个问题。但是本程序也使用户操作时间增加,在一定程度上增加了用户的抱怨率。三总体设计三总体设计3.13.1处理流程处理流程主流程图:取款流程:取款流程:转账流程:转账流程:3.23.2具体模块及代码实现具体模块及代码实现1.用户服务模块(含:开户、登陆、退出)开户:输入姓名、密码、再次密码、开户金额(不低于 1 块钱)填写完没问题后分配账号。(姓名、密码、开户金额、账号 存入结构体数组里面)登陆:输入 账户、密码 判断账户

5、是否存在,密码是否正确。登陆后进入到个人服务界面。退出:退出 ATM 就是退出程序2.主菜单模块(含:存款、取款、转账、密码修改、查询余额)存款:个人账户上的金额加上。取款:个人账户上的金额减去。转账:涉及到两个账户 其实就是下标的不同 金额一个减去一个加上。密码修改:输入新密码、再次输入新密码 判断两次密码是否相同在用 strcpy()函数 将新密码 当前账户下标元素密码成员并且判断是否修改成功。查询余额:就是从结构体数组里面调用存金额那个成员欢迎模块欢迎模块:定义一个函数 void huanying(),利用 for 循环进行字符的输出。void huanying()/定义函数int i;

6、for(i=0;i10;i+)/for 循环 printf(nnnnnnnn);printf(ttt-n);printf(ttt 欢迎使用 n);printf(ttt-n);printf(nntt 希望此 ATM 系统可以给您带来方便!);printf(nnnntttt 正在进入);shaohou();/等待系统响应 system(cls);printf(nnnnnnnn);用户模块用户模块:在此模块,从 A,B,C 中选择出执行的操作服务,然后进入下一个模块。利用 while 语句,定义的选择函数 char xuanze,实现输出。伪代码:void main()/主函数huanying();

7、system(cls);while(1)char xuanze;/定义函数system(cls);printf(nnt 欢迎使用n);printf(nnt 请选择:n);printf(nntA.开户服务n);printf(nntB.登录服务n);printf(nntC.退出。n);printf(nnt 请选择:);scanf(%c,&xuanze);switch(xuanze)casea:caseA:kaihu();break;caseb:caseB:denglu();break;casec:caseC:exit(0);default:printf(nt 您的选择错误!);break;开户服务

8、开户服务:struct kaihuchar name10;char mima10;double zong;int zhanghao;guke20;int renshu=0;int xianzai;*/#include#include#include#include structint jin_e,zong;int zhanghao;char name20;char mima20;guke20;int renshu=0;int xianzai;void shaohou()int i,j;for(i=0;i3;i+)printf(.);for(j=0;j0)printf(b b);i-;else

9、if(i16)mimai=ch;printf(*);i+;void kaihu()int k;for(k=0;k0)printf(nnt 开户成功,您的可用余额为:%d,gukerenshu.jin_e);break;else printf(nnt 开户金额不能低于壹圆!nn);system(cls);gukerenshu.zhanghao=518518+renshu;printf(nnt 您的账号是:%d 请牢记!n,gukerenshu.zhanghao);printf(nnt 开户成功,是否继续?继续请按任意键。n);renshu+;getch();登录服务登录服务:void dengl

10、u()int q;for(q=0;q8;q+)printf(nnt 正在进入,请稍后);shaohou();system(cls);/*while(1)printf(nntt【登录服务】);printf(nntt 请输入账号:);int zh;scanf(%d,&zh);int i;for(i=0;irenshu;i+)if(zh!=gukei.zhanghao)printf(nnt 账号错误,请重新输入。);continue;else xianzai=i;printf(nnt 账号正确:);break;*/printf(nntt【登录服务】);printf(nntt 请输入账号:);int

11、zh;scanf(%d,&zh);for(int i=0;irenshu;i+)if(zh!=gukei.zhanghao)i+;if(i=renshu)printf(nnt 账号错误,请重新输入。);continue;else xianzai=i;printf(nnt 账号正确:);break;for(i=0;i3;i+)printf(nt 请输入密码:);char password10;dedaomima(password);if(strcmp(password,gukexianzai.mima)=0)printf(nt 密码正确!);break;else printf(密码输入错误,请重

12、新输入。);return;getch();fuwu();getch();主菜单模块主菜单模块:此模块主要用于用户进行各种操作服务的选择,实现相关功能,如存款,取款,转账,密码修改,余额查询等等。void fuwu()int i=0;for(i;i8;i+)printf(nnnnnnn);printf(nnnnttt 正在进入服务,请稍后);shaohou();system(cls);while(1)char shuru;system(cls);printf(nnt【服务】n);printf(nnt%d 欢迎使用!n,gukei.name);printf(nt(请选择:)n);printf(nt

13、a.存款服务n);printf(ntb.取款服务n);printf(ntc.转账服务n);printf(ntd.余额查询n);printf(nte.密码修改n);printf(ntf.退出n);printf(nt 请选择服务:);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;

14、case f:case F:printf(返回上级菜单,请按任意键);return;default:printf(nt 您的选择错误!);break;存款服务存款服务:void cunkuan()for(int i=0;i5;i+)printf(nnt 正在进入,请稍等);shaohou();system(cls);printf(nnnnnnn);printf(nnt【存款服务】);printf(nnt 请输入您的存款金额:);int xincun;scanf(%d,&xincun);gukerenshu.zong=gukerenshu.jin_e+xincun;printf(nnt 您现在的

15、可用余额为:%d,gukerenshu.zong);printf(nnt 是否继续?继续请按任意键。);getch();取款服务取款服务:void qukuan()for(int i=0;i5;i+)printf(nnt 正在进入,请稍等);shaohou();system(cls);printf(nnt【取款服务】);printf(nnt 请输入取款金额:);int xinqu;scanf(%d,&xinqu);gukexianzai.zong=gukerenshu.zong-xinqu;if(xinqugukerenshu.zong)printf(nnt 取款成功:%d,您现在的可用余额为

16、:%d,xinqu,gukexianzai.zong);printf(nnt 是否继续?继续请按任意键:);getch();查询服务查询服务:void chaxun()for(int i=0;i5;i+)printf(nnt 正在进入,请稍等);shaohou();system(cls);printf(nt【查询服务】);printf(nt 您的可用余额为:%d,gukerenshu.jin_e);printf(nt 是否继续?继续请按任意键.);getch();四接口设计四接口设计4.14.1 外部接口外部接口硬件接口:硬件接口:包括和打印机的接口(控制打印机打发票及存款凭证等),和银行数据

17、库主机的接口,和出钞机的接口。对硬件的处理主要由操作系统完成,本软件只调用操作系统提供的打印,出钞等指令。软件接口:软件接口:按照银行指定的格式与银行数据库通信,并需要预留可能在 ATM 上安装的其他软件的接口以便于扩充功能。4.24.2 内部接口内部接口1.前后台程序通信接口,包括配款提醒和维护提醒。2.系统与数据库接口。五测试计划五测试计划测试日期、测试人员安排请参考测试计划;测试用例的具体内容,详见测试用例说明。现在本小组仅以会话用例与取款用例进行对 ATM 机管理系统的单体测试计划;用例被测试的功能初始系统状态测试输入期望的结果会话用例系统读取顾客的银行卡系统处于 ON 状态,并没有为

18、顾客提供服务插入可读的银行卡银行卡被接收,系统请求输入密码会话用例系统弹出不可读取的银行卡系统处于 ON 状态,当前没有为顾客提供服务插入不可读取的银行卡银行卡被弹出,系统显示错误信息,准备启动一个新的会话会话用例系统接收顾客的密码系统请求顾客输入密码输入密码系统显示一个事务类型菜单会话用例系统允许顾客执行事务系统显示事务类型菜单执行事务系统询问顾客是否希望执行其它事务会话用例系统允许在一个会话中执行多个事务系统询问是否执行其它事务回答“是”系统显示事务类型菜单会话用例当顾客选择不执行其它事务时,会话结束系统询问是否执行其它事务回答“否”系统弹出银行卡,准备启动一个新的会话事务用例系统处理一个

19、不合法的密码插入了可读取的卡输入不正确的密码尝试某个事务执行非法密码取款用例系统提示顾客选择需要提取的现金的账户正在显示事务类型菜单选择取款事务系统显示账户类型菜单取款用例系统正确执行合法取款事务系统显示取款金额菜单选择系统当前拥有单小于账户余额的取款金额系统弹出现金,打印收据,更新账户余额取款用例系统验证是否有足够的现金,完成用户的请求系统现有的现金数量小于顾客请求的数量选择大于当前系统拥有现金数量的取款金额系统将显示一个信息,提示现金不足,请重新选择取款金额取款用例系统验证顾客账户余额是否能够满足请求的金额系统正在请求取款金额选择一个取款金额使得该金额小于当前系统中的现金余额但是大于用户账

20、户余额系统将显示一个信息位顾客提供是否执行其它事务的选项取款用例取款事务在选择金额之前可以被顾客取消系统显示账户类型菜单按下“CANCEL”键系统显示信息为顾客执行其它事务提供相关选项取款用例取款事务在顾客请求取款金额之前的任何时候可以被取消系统显示请求取款金额菜单按下“CANCEL”键系统显示信息为顾客执行之前事务的选项六详细设计小结和相关说明六详细设计小结和相关说明由于本系统最终将会运行于取款机之上,而取款机是一个典型的嵌入式设备,内存容量有限,运行速度比较缓慢,故在进行系统设计的时候不仅得考虑普通取款机系统设计的一般问题,还得额外考虑相关设备的一些特性。本详细设计有如下几个特点:及时释放内存,提高内存资源利用率。利用主菜单控制,进行功能选取,使程序简单化,模块化,清晰化。正确合理使用多模块进行系统设计。使用人工选择进行界面切换。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服