ATM系统设计.docx
- 文档编号:6946425
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:10
- 大小:98.51KB
ATM系统设计.docx
《ATM系统设计.docx》由会员分享,可在线阅读,更多相关《ATM系统设计.docx(10页珍藏版)》请在冰豆网上搜索。
ATM系统设计
JIUJIANGUNIVERSITY
程序设计(实习)
题目ATM取款机系统的模拟设计
院系信息科学与技术学院
专业计算机科学与技术
姓名关义龙
班级A0611
学号39
指导老师吴维勇
二零零八年十一月
第一章:
引言
*项目开发的背景
*项目开发的目的
*项目提出的意义
*项目开发的方法
第二章:
系统分析设计
*问题定义及可行性分析
*需求分析
*总体设计
*详细设计
*测试
*软件维护
第三章:
完整源代码
*代码说明
*原程序
第四章:
实验心得
第一章引言
1.1项目开发的背景
ATM是AutomaticTellerMachine的缩写,意思是自动柜员机,因大部分用于取款,又称自动取款机。
1939年,LutherGeorgeSimjian发明了自动取款机。
但是,现代意义上的自动取款机,其概念提出于1968年,原型机出现于1969年。
第一台自动取款机被安装在纽约的化学银行。
如今,ATM机发展的速度相当快,与银行机构的比例达到了4:
1。
美国海军甚至将ATM机装到了军舰上。
主要生产厂商:
国外有NCR、迪宝、德利多富、日立、富士通等。
国内的主要生产厂家有:
广电运通、广州御银、深圳东南等。
1.2项目开发的目的
现代社会,ATM可以说是一种使用非常广泛的机器,模拟开发ATM系统软件,有以下目的:
1.掌握系统开发的基本流程
2.在开发系统中系统的巩固所学的有关软件开发的知识
3.有利于提出优化改进现代ATM系统的建议
1.3项目提出的意义
众所周知,现代社会中ATM使用是非常频繁的,然而由于程序及其机器本人的一些漏洞,导致ATM机的犯罪现象屡有发生。
该项目的开发有利于进一步提高ATM机的性能及安全性。
1.4系统开发的方法
用c++面向对象语言,实现ATM的模拟。
所用软件:
MicrosoftVisualC++6.0。
第二章:
系统分析设计
2.1问题定义及可行性分析
文档中的缩略语和术语有:
ATM:
自动取款机的英文(AutoTransactionMechine)缩写
用户需求:
用户日常的工作性情况;对产品的期望
软件需求:
整个软件的需求计划。
包含业务需求、用户需求和功能需求。
功能需求:
软件提供的功能
接口:
软件或硬件与外部进行数据交换的中转站
数据流图(DFD):
也称为BubbleChart或DataFlowGraph。
是描述数据处理过程的工具。
它从数据传递和加工角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
数据字典(DD):
对数据流图中每一个命名的图形元素均给予定义,其内容有图形元素的名字、别名、分类、描述、定义、位置等
数据文件:
数据结构保存的地方
源点与汇点:
外部实体,确定系统与外界的接口
加工:
数据处理,以数据结构或数据内容为加工对象
数据流:
是沿箭头方向传送数据的通道
2.2需求分析
阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。
ATM是AutomaticTellerMachine的缩写,意思是自动柜员机,因大部分用于取款,又称自动取款机。
度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替银行柜面人员的工作。
可提取现金、查询存款余额、进行账户之间资金划拨、余额查询等工作;还可以进行现金存款(实时入账)、支票存款(国内无)、存折补登、中间业务等工作。
持卡人可以使用信用卡,根据密码办理自动取款、查询余额、转账、现金存款,存折补登,购买基金,更改密码,缴纳手机话费等业务。
ATM可以看成是台电脑+专用软件+专用的外设。
完全是银行自己的专用数据传输线路,里面还有保险箱等部件,用户可以在任何一个ATM上连接上银行服务器,查询自己的帐户或者其他相关操作。
软件和机器现在很多都用的国外的产品,只不过都是专业公司统一安装和销售的,属于特种产品。
ATM应用系统为更进一步的提供银行交易服务,实现24小时不间断自助服务,对提高银行间的业务竞争能力有很大的帮助。
北京市建设银行通过ATM系统的项目实施和建设可以更进一步的提供自身竞争力,同时紧跟网路技术的潮流,为银行业务的进一步的电子化、自动化迈出坚实的一步。
项目目标是实现一个银行业务自动取款系统,客户通过ATM系统可以实现24小时的随时银行业务,其中包括客户自动取款存款功能,账户信息查询功能,信用卡密码更改功能以及网间的操作(查询、更改密码、取款)的功能,银行之间通过自动取款系统实现互连互通,并提供相应的安全保障措施。
2.3总体设计
各对象E_R图:
系统总体流程图如下:
2.4详细设计
详细设计流程图如下图:
2.5测试
这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。
最基本的测试是集成测试和验收测试。
所谓集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配过程中对程序进行必要的测试。
所谓验收测试则是按照规格说明书的规定(通常在需求分析阶段确定),由用户(或在用户积极参加下)对目标系统进行验收。
程序截图1:
程序截图2:
2.6软件维护
维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。
通常有四类维护活动:
改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件为将来的维护活动预先做准备。
第三章:
完整源代码
代码说明:
变量:
value:
存折里的钱数。
pass[]:
存放密码。
子函数:
inttest();测试密码。
voiddraw();取款。
voidsave();存款
voidrequire();查询
voidre_pass();修改密码
voidexit();退出程序
源程序:
#include"stdio.h"
#include"string"
longvalue=10000;
charpass[20]="123456";
voidmain()
{
voidfswitch();
inttest();
intm;
printf("Welcometojjubank!
\n");
m=test();
if(m)fswitch();
elsereturn;
}
voidfswitch()
{voiddraw();
voidsave();
voidrequire();
voidre_pass();
voidexit();
intm;
printf("Pleaseselectserver.\n");
printf("1.drawmoney\n");
printf("2.savemoney\n");
printf("3.requirecount\n");
printf("4.remakepassword\n");
printf("5.exit\n");
scanf("%d",&m);
switch(m)
{case1:
draw();fswitch();
case2:
save();fswitch();
case3:
require();fswitch();
case4:
re_pass();fswitch();
case5:
exit();
}
}
inttest()/*测试密码*/
{
intp=0;
charfpass[20];
inti=0;
while(i++<3)
{printf("Pleaseinputyourpassword:
\n");
scanf("%s",fpass);
if(strcmp(pass,fpass)==0){printf("Passwordright!
\n");p=1;break;}
}
if(i==4)
{printf("Passworderror!
");p=0;}
returnp;
}
voiddraw()/*取钱*/
{
longi;
printf("Pleaseinputdrawmoneynumber:
\n");
scanf("%ld",&i);
if(i>=0&&i<=value)
{
value-=i;
printf("Pleasedrawcash!
\n");
printf("Moneydrawed!
\n");
}
elseprintf("Numbererror!
\n");
}
voidsave()/*存钱*/
{
longi;
printf("Pleaseinputsavemoneynumber:
\n");
scanf("%ld",&i);
if(i>=0)
{
value+=i;
printf("Moneysaved!
\n");
printf("Yournumberofsavingmoneyis%ld!
\n",i);
}
elseprintf("Numbererror!
\n");
}
voidrequire()/*查询*/
{
printf("Yourcountis:
jjuA061139\n");
printf("Yourmoneyis:
%ld\n",value);
}
voidre_pass()/*修改密码*/
{charpass1[20];
charpass2[20];
char*p1=pass;
char*p2=pass1;
loop:
printf("Pleaseinputyournewpassword:
\n");
scanf("%s",pass1);
printf("Pleaseinputyournewpasswordagain:
\n");
scanf("%s",pass2);
if(strcmp(pass1,pass2)==0)
{printf("Yournewpasswordisused!
\n");*pass=*pass1;}
else
{printf("Thetwonewpasswordinnotquiet!
\n");gotoloop;}
}
voidexit()/*退出程序*/
{
return;
}
第四章:
实验心得
ATM的实验在做了两月后终于是全部做好了!
个人感觉通过这些次实验,自己在软件开发方面有了很多的了解,对计算机软件也有了更多的兴趣!
总之,本学期的ATM实验能够很好的实现老师的既定目标,同时扩宽了我们学生学习面,鉴于目前自己掌握的实际情况,欲安排以后学习研究工作如下:
1.认真复习计算机软件相关课程,争取取得好成绩;
2.英语也要多学习,尤其是专业英语,对阅读参考资料有很大方便!
3.根据需要加深编程语言的学习;多看看<软件工程师>方面的书,对了解软件开发有很大帮助.
4.业余时间扩宽计算机网络硬件方面的视野,尤其希望可以去软件开发公司的机房参观学习,提高个人修养与能力;
6.对于软件开发,我们要树立重视实践更甚于重视理论的观点!
最后非常感谢吴老师及其他同学在本次实验中对我的帮助!
非常谢谢你们!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATM 系统 设计