ATM系统设计.docx

上传人:b****5 文档编号:6946425 上传时间:2023-01-13 格式:DOCX 页数:10 大小:98.51KB
下载 相关 举报
ATM系统设计.docx_第1页
第1页 / 共10页
ATM系统设计.docx_第2页
第2页 / 共10页
ATM系统设计.docx_第3页
第3页 / 共10页
ATM系统设计.docx_第4页
第4页 / 共10页
ATM系统设计.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

ATM系统设计.docx

《ATM系统设计.docx》由会员分享,可在线阅读,更多相关《ATM系统设计.docx(10页珍藏版)》请在冰豆网上搜索。

ATM系统设计.docx

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.对于软件开发,我们要树立重视实践更甚于重视理论的观点!

最后非常感谢吴老师及其他同学在本次实验中对我的帮助!

非常谢谢你们!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1