ATM自动取款机系统—详细设计说明书_第1页
ATM自动取款机系统—详细设计说明书_第2页
ATM自动取款机系统—详细设计说明书_第3页
ATM自动取款机系统—详细设计说明书_第4页
ATM自动取款机系统—详细设计说明书_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文档名称:详细设计说明书项目名称:ATM自动取款机系统编写:张恒友审核:王旭日期:2016年6月5日院系:计算机学院专业:计算机科学与技术一引言1.1 编写目的根据需求规格说明书,在仔细考虑讨论之后,我们又进一步对ATM自动取款机系统软件的功能划分、数据结构、软件总体结构进行设计,从而完成概要设计,作为软件详细设计的基础。1.2 项目背景项目委托单位:计算机学院软件工程实验。开发单位:班ATM自动取款机系统项目组。由于柜台常常会拥挤,排队的人很多,而且大多数的客户都是取款,存款等,而有些办理业务的需要一定的时间,这会使得一些只需要取款等的客户会有较长时间的等待。所以银行希望设计一个系统,能让客

2、户在系统上进行简单的操作,比如存款、取款、查询余额、转账等。1.3 定义ATM: Automatic Teller Machine,自动柜员机。1.4 参考资料计算机软件需求说明编制指南计算机软件产品开发文件指南ATM系统可行性分析报告。软件设计与体系结构软件工程实践者的研究方法二 任务概述2.1目标现如今,ATM在一定程度上存在很大的安全隐患,给用户造成很大的经济损失。为了解决这样的问题,我们小组提出了改进ATM自动取款机系统,使用户在操作过程中更加安全,放心,更便捷。2.2运行环境硬件环境:CPU:1GHZ及以上内存:1G以上硬盘:20G以上软件环境: 操作系统:Microsoft Win

3、dows XP或更高版本数 据 库:Microsoft SQL Server 2005 Web服务器:Tomcat5.0以上 支持浏览器:Internet Explorer 7.0及其以上版本开发环境:MyEclipse,jdk,Microsoft SQL Server 20052.3条件与限制随着科技的发展,人们生活水平的不断提高,高性能高效率高安全的产品越来越受到人们的欢迎。 ATM自动取款机是一种非常智能的机器,人们可以直接和它交互,代替以前的手工操作,大大提高了银行的工作效率。同时也给广大用户带来了非常大的方便。由于ATM自动取款机是和服务器是连网的,这就涉及到安全的问题本系统能够有效

4、地解决这个问题。但是本程序也使用户操作时间增加,在一定程度上增加了用户的抱怨率。三总体设计3.1 处理流程主流程图:用户流程:存款流程:取款流程:转账流程:查询流程:改密:3.2 具体模块及代码实现1. 主菜单模块(含:存款、取款、转账、密码修改、查询余额)存款:个人账户上的金额加上。 取款:个人账户上的金额减去。转账:涉及到两个账户 其实就是下标的不同 金额一个减去一个加上。密码修改:输入新密码、再次输入新密码 判断两次密码是否相同在用strcpy()函数 将新密码 当前账户下标元素密码成员并且判断是否修改成功。查询余额:就是从结构体数组里面调用存金额那个成员欢迎模块:定义一个函数void

5、huanying(),利用for循环进行字符的输出。void huanying() /定义函数int i;for(i=0;i<10;i+) /for循环   printf("nnnnnnnn");   printf("ttt -n");   printf("ttt       欢迎使用     n");   printf("ttt -n&qu

6、ot;);   printf("nntt希望此ATM系统可以给您带来方便!");   printf("nnnntttt正在进入");     shaohou(); /等待系统响应   system("cls");   printf("nnnnnnnn");  用户模块:在此模块,从A,B,C中选择出执行的操作服务,然后进入下一个模块。利用while语句,定义的选择函数char

7、xuanze,实现输出。伪代码:void main() /主函数huanying();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

8、("%c",&xuanze);switch(xuanze)   case'a':   case'A':kaihu();break;   case'b':   case'B':denglu();break;   case'c':   case'C':exit(0);        def

9、ault:printf("nt您的选择错误!");break;开户服务:struct kaihuchar name10;char mima10;double zong;int zhanghao;guke20;int renshu=0;int xianzai;*/#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>structint jin_e,zong; int zhanghao;char name20;char mima20;gu

10、ke20;int renshu=0;int xianzai;void shaohou()int i,j;for(i=0;i<3;i+)   printf(".");   for(j=0;j<40000000;j+)       ;   void dedaomima(char mima)int i=0;while(1)   char ch;   ch=getch();   if(ch='r

11、')       mimai='0'    printf("n");    break;      else       if(ch='b')         if(i>0)        &#

12、160;  printf("b b");      i-;             else         if(i<16)           mimai=ch;      printf("

13、*");      i+;            void kaihu()int k;for(k=0;k<5;k+)printf("nnt正在进入注册页面,请稍后");shaohou();system("cls");while(1)   printf("nnt【开户服务】");   printf("nnt请输入您的姓名:"

14、);   char xingming16;   char yanzheng20;   scanf("%s",xingming);   printf("nnt请输入密码:");   dedaomima(gukerenshu.mima);   printf("nnt请再次确认您的密码:");   dedaomima(yanzheng);   if(strcmp(gukerenshu

15、.mima,yanzheng)=0)      printf("nnt密码验证通过:");   break;      else       printf("两次密码不相同。请重新输入。");    system("cls");     while(1)printf("nnt请输入开户金额:");&

16、#160;  scanf("%d",&gukerenshu.jin_e);if(gukerenshu.jin_e>0) printf("nnt开户成功,您的可用余额为:%d",gukerenshu.jin_e);   break;else    printf("nnt开户金额不能低于壹圆!nn");   system("cls");   gukerenshu.zhanghao=518518+renshu;

17、0;  printf("nnt您的账号是:%d请牢记!n",gukerenshu.zhanghao);   printf("nnt开户成功,是否继续?继续请按任意键。n");   renshu+;   getch();登录服务:void denglu()int q;for(q=0;q<8;q+)printf("nnt正在进入,请稍后");shaohou();system("cls");/*while(1)printf("nntt【

18、登录服务】");printf("nntt请输入账号:");int zh; scanf("%d",&zh);int i;for(i=0;i<renshu;i+)   if(zh!=gukei.zhanghao)       printf("nnt账号错误,请重新输入。");    continue;      else     

19、0; xianzai=i;    printf("nnt账号正确:");  break;*/printf("nntt【登录服务】");printf("nntt请输入账号:");int zh; scanf("%d",&zh);for(int i=0;i<renshu;i+)   if(zh!=gukei.zhanghao)       i+;    if(

20、i=renshu)        printf("nnt账号错误,请重新输入。");        continue;      else        xianzai=i;    printf("nnt账号正确:");    break;   for(i=0

21、;i<3;i+)   printf("nt请输入密码:");   char password10;   dedaomima(password);   if(strcmp(password,gukexianzai.mima)=0)       printf("nt密码正确!");    break;   else      

22、 printf("密码输入错误,请重新输入。");    return;    getch();fuwu(); getch();主菜单模块:此模块主要用于用户进行各种操作服务的选择,实现相关功能,如存款,取款,转账,密码修改,余额查询等等。void fuwu()int i=0;for(i;i<8;i+)   printf("nnnnnnn");   printf("nnnnttt正在进入服务,请稍后");  

23、shaohou();   system("cls");while(1)char shuru;system("cls");printf("nnt【服务】n");printf("nnt%d欢迎使用!n",);printf("nt(请选择:)n");printf("nta.存款服务n");printf("ntb.取款服务n");printf("ntc.转账服务n");printf("ntd.余

24、额查询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;/ ca

25、se 'c':/ case 'C':zhuanzhang();break;   case 'd':   case 'D':chaxun();break;/ case 'e':/ case 'E':xiougai();break;   case 'f':   case 'F':printf("返回上级菜单,请按任意键");return;   defau

26、lt:printf("nt您的选择错误!");break;存款服务:void cunkuan()for(int i=0;i<5;i+)   printf("nnt正在进入,请稍等");   shaohou();   system("cls");printf("nnnnnnn");printf("nnt【存款服务】");printf("nnt请输入您的存款金额:");int xincun;scanf("

27、%d",&xincun);gukerenshu.zong=gukerenshu.jin_e+xincun;printf("nnt您现在的可用余额为:%d",gukerenshu.zong);printf("nnt是否继续?继续请按任意键。");getch();取款服务:void qukuan()for(int i=0;i<5;i+)   printf("nnt正在进入,请稍等");   shaohou();   system("cls&quo

28、t;);printf("nnt【取款服务】");printf("nnt请输入取款金额:");int xinqu;scanf("%d",&xinqu);gukexianzai.zong=gukerenshu.zong-xinqu;if(xinqu<gukerenshu.zong)printf("nnt取款成功:%d,您现在的可用余额为:%d",xinqu,gukexianzai.zong);printf("nnt是否继续?继续请按任意键:"); getch();查询服务:void c

29、haxun()   for(int i=0;i<5;i+)   printf("nnt正在进入,请稍等");   shaohou();   system("cls");   printf("nt【查询服务】");   printf("nt您的可用余额为:%d",gukerenshu.jin_e);   printf("nt是否继续?继续请按任意键.")

30、;   getch();四接口设计4.1 外部接口硬件接口:包括和打印机的接口(控制打印机打发票及存款凭证等),和银行数据库主机的接口,和出钞机的接口。对硬件的处理主要由操作系统完成,本软件只调用操作系统提供的打印,出钞等指令。软件接口:按照银行指定的格式与银行数据库通信,并需要预留可能在ATM上安装的其他软件的接口以便于扩充功能。4.2 内部接口1.前后台程序通信接口,包括配款提醒和维护提醒。2.系统与数据库接口。五测试计划测试日期、测试人员安排请参考测试计划;测试用例的具体内容,详见测试用例说明。现在本小组仅以会话用例与取款用例进行对ATM机管理系统的单体测试计划;用例被测试的功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论