ATM自动取款机系统详细设计说明书Word格式文档下载.docx
《ATM自动取款机系统详细设计说明书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《ATM自动取款机系统详细设计说明书Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
1.4参考资料
《计算机软件需求说明编制指南》
《计算机软件产品开发文件指南》
《ATM系统可行性分析报告》。
《软件设计与体系结构》
《软件工程——实践者的研究方法》
二.任务概述
2.1目标
现如今,ATM在一定程度上存在很大的安全隐患,给用户造成很大的经济损失。
为了解决这样的问题,我们小组提出了改进ATM自动取款机系统,使用户在操作过程中更加安全,放心,更便捷。
2.2运行环境
硬件环境:
CPU:
1GHZ及以上
内存:
1G以上
硬盘:
20G以上
软件环境:
操作系统:
MicrosoftWindowsXP或更高版本
数据库:
MicrosoftSQLServer2005
Web服务器:
Tomcat5.0以上
支持浏览器:
InternetExplorer7.0及其以上版本
开发环境:
MyEclipse,jdk,MicrosoftSQLServer2005
2.3条件与限制
随着科技的发展,人们生活水平的不断提高,高性能高效率高安全的产品越来越受到人们的欢迎。
ATM自动取款机是一种非常智能的机器,人们可以直接和它交互,代替以前的手工操作,大大提高了银行的工作效率。
同时也给广大用户带来了非常大的方便。
由于ATM自动取款机是和服务器是连网的,这就涉及到安全的问题本系统能够有效地解决这个问题。
但是本程序也使用户操作时间增加,在一定程度上增加了用户的抱怨率。
三.总体设计
3.1处理流程
主流程图:
用户流程:
存款流程:
取款流程:
转账流程:
查询流程
:
改密:
3.2具体模块及代码实现
1.主菜单模块(含:
存款、取款、转账、密码修改、查询余额)
存款:
个人账户上的金额加上。
取款:
个人账户上的金额减去。
转账:
涉及到两个账户其实就是下标的不同金额一个减去一个加上。
密码修改:
输入新密码、再次输入新密码判断两次密码是否相同
在用strcpy()函数将新密码当前账户下标元素密码成员
并且判断是否修改成功。
查询余额:
就是从结构体数组里面调用存金额那个成员
欢迎模块:
定义一个函数voidhuanying(),利用for循环进行字符的输出。
voidhuanying()//定义函数
{
inti;
for(i=0;
i<
10;
i++)//for循环
printf("
\n\n\n\n\n\n\n\n"
);
\t\t\t--------------------------\n"
\t\t\t
欢迎使用
\n"
\n\n\t\t希望此ATM系统可以给您带来方便!
"
\n\n\n\n\t\t\t\t正在进入"
shaohou();
//等待系统响应
system("
cls"
}
用户模块:
在此模块,从A,B,C中选择出执行的操作服务,然后进入下一个模块。
利用while语句,定义的选择函数charxuanze,实现输出。
伪代码:
voidmain()//主函数
huanying();
system("
while
(1)
charxuanze;
//定义函数
printf("
\n\n\t欢迎使用\n"
\n\n\t请选择:
\n"
\n\n\tA.开户服务\n"
\n\n\tB.登录服务\n"
\n\n\tC.退出。
\n\n\t请选择:
scanf("
%c"
&
xuanze);
switch(xuanze)
case'
a'
:
A'
kaihu();
break;
b'
B'
denglu();
c'
C'
exit(0);
default:
\n\t您的选择错误!
开户服务:
structkaihu
charname[10];
charmima[10];
doublezong;
intzhanghao;
}guke[20];
intrenshu=0;
intxianzai;
*/
#include<
stdio.h>
string.h>
stdlib.h>
conio.h>
struct
intjin_e,zong;
charname[20];
charmima[20];
voidshaohou()
inti,j;
3;
i++)
."
for(j=0;
j<
40000000;
j++)
{
;
}
voiddedaomima(charmima[])
inti=0;
{
charch;
ch=getch();
if(ch=='
\r'
)
mima[i]='
\0'
;
break;
else
\b'
if(i>
0)
\b\b"
i--;
if(i<
16)
mima[i]=ch;
*"
i++;
voidkaihu()
intk;
for(k=0;
k<
5;
k++)
\n\n\t正在进入注册页面,请稍后"
shaohou();
\n\n\t【开户服务】"
\n\n\t请输入您的姓名:
charxingming[16];
charyanzheng[20];
scanf("
%s"
xingming);
\n\n\t请输入密码:
dedaomima(guke[renshu].mima);
\n\n\t请再次确认您的密码:
dedaomima(yanzheng);
if(strcmp(guke[renshu].mima,yanzheng)==0)
\n\n\t密码验证通过:
两次密码不相同。
请重新输入。
}while
(1)
\n\n\t请输入开户金额:
%d"
guke[renshu].jin_e);
if(guke[renshu].jin_e>
{printf("
\n\n\t开户成功,您的可用余额为:
guke[renshu].jin_e);
else
{
\n\n\t开户金额不能低于壹圆!
\n\n"
guke[renshu].zhanghao=518518+renshu;
\n\n\t您的账号是:
%d请牢记!
guke[renshu].zhanghao);
\n\n\t开户成功,是否继续?
继续请按任意键。
renshu++;
getch();
登录服务:
voiddenglu()
intq;
for(q=0;
q<
8;
q++)
\n\n\t正在进入,请稍后"
/*while
(1)
\n\n\t\t【登录服务】"
\n\n\t\t请输入账号:
intzh;
zh);
renshu;
if(zh!
=guke[i].zhanghao)
{
\n\n\t账号错误,请重新输入。
continue;
xianzai=i;
\n\n\t账号正确:
}break;
}*/
for(inti=0;
if(i==renshu)
xianz