面向对象分析与设计ATM系统分析与设计Word文档下载推荐.docx
- 文档编号:22104529
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:20
- 大小:71.91KB
面向对象分析与设计ATM系统分析与设计Word文档下载推荐.docx
《面向对象分析与设计ATM系统分析与设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《面向对象分析与设计ATM系统分析与设计Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
账户信息
退出
退出类型
判断超时
执行操作
提示信息
操作类型
没收信用卡
(3)1层DFD图:
超时信息
未超时信息
操作是否超过30秒退出
警告信息
取款
取款操作
查询
是否打印账单
查询操作
打印账单
选择信息
选择交易
转账操作
更改密码操作
转账
更改密码
取款子系统:
客户存储信息单
收回货币
30秒内无响应
提取现金
取款金额
选择货币种类
调用取款系统
现金
警示信息
查询子系统:
调用查询系统
查询信息
查询账户
显示
转账子系统:
卡内转账
调用转账系统
转入卡号信息
卡卡转账
转账金额
记录
更改密码子系统:
调用更改密码系统
新密码
更改密码信息
确认
二:
组织结构设计
(1)系统结构
读卡机模块
键盘输入模块
显示模块
ATM机系统
认证模块
出钞模块
打印模块
(2)读卡机系统
输入:
查询数据库,识别卡号及所属银行
输出:
显示卡号及所属银行信息
(3)键盘输入子系统
密码,取款金额,查询余额等
验证信息
显示相关操作
10秒内无操作则吞卡
认证子系统:
输入卡号
连接认证服务器验证卡号信息
正确则显示输入密码,否则吐卡
显示子系统:
信息输入
后台处理
在屏幕上显示处理情况
出钞子系统:
输入金额
输出现金
30秒内客户不取走现金则吞入现金
打印子系统:
客户选择是否打印
输出报表或者无动作
数据库子系统:
客户输入信息
数据库查询
在输出显示查询信息
建立模型
建立基本系统模型图
建立序列图:
代码设计:
#include<
iostream.h>
classconsumer;
classATM
//ATM取款机
{
public:
ATM(consumer&
cn):
cnsm(cn)
{
}
voidwelcome();
//登陆界面
boolcheck_passwd(charn[],charpwd[]);
//核对密码
voidchange_passwd();
//修改密码
voidfetchmoney();
//取款
voidinformation();
//查询信息
voidexitATM();
//退出系统
voidfunctionshow();
//功能界面
voidlock();
//锁机
private:
inttimes;
//记录密码输入次数
consumer&
cnsm;
};
classconsumer
//用户
friendclassATM;
consumer(charName[],charNum[],
floatMoney,charPassword[]);
protected:
char*get_name();
//取得姓名
char*get_num();
//取得卡号
char*get_passwd();
//取得密码
floatget_money();
//取得余额
voidset_passwd(charpwd[]);
//设置密码
voidset_money(floatm);
//取钱
charpasswd[8];
//用户密码
charname[20];
//用户姓名
charnum[20];
floatmoney;
//*consumer类的成员函数*
#include"
function.h"
string.h>
consumer:
:
consumer(charName[],
charNum[],floatMoney,charPassword[])
strcpy(name,Name);
strcpy(num,Num);
money=Money;
strcpy(passwd,Password);
}
floatconsumer:
get_money()
returnmoney;
char*consumer:
get_name()
returnname;
get_num()
returnnum;
get_passwd()
returnpasswd;
voidconsumer:
set_money(floatm)
money-=m;
set_passwd(charpwd[])
strcpy(passwd,pwd);
//*ATM类的成员函数*
#include"
#include<
stdlib.h>
voidATM:
welcome()
times=0;
cout<
<
"
$
欢迎使用ATM自动取款机!
"
endl;
charpwd[8],num[20],ch;
inti=0;
do
i=0;
endl<
请输入卡号:
;
cin.get(ch);
num[i++]=ch;
}while(ch!
='
\n'
);
num[i-1]='
\0'
请输入密码:
pwd[i++]=ch;
pwd[i-1]='
if(!
check_passwd(num,pwd))
你输入的卡号或密码有误,
请重新输入"
times++;
else
functionshow();
}while(times<
3);
lock();
boolATM:
check_passwd(charnum[],
charpwd[])
if(strcmp(num,cnsm.get_num())==0&
&
strcmp
(pwd,cnsm.get_passwd())==0)
returntrue;
else
returnfalse;
functionshow()
intn;
请你输入相应的操作序号进行操作:
1)修改密码"
2)取款"
3)查询余额"
4)退出系统"
$>
\\"
cin>
>
n;
while(n<
1||n>
4)
请输入正确的操作序号!
switch(n)
case1:
change_passwd();
break;
case2:
fetchmoney();
case3:
information();
case4:
exitATM();
}while(true);
change_passwd()
charpwd[8],repwd[8];
请输入旧密码:
pwd;
check_passwd(cnsm.get_num(),pwd))
if(times==3)
intt=0;
请输入新密码:
请再输入一次新密码:
repwd;
if((t=strcmp(pwd,repwd))!
=0)
密码不一致,
请重新输入!
}while(t!
=0);
cnsm.set_passwd(pwd);
密码修改成功"
fetchmoney()
floatm;
charch;
请输入取款金额:
\n$>
endl;
m;
while(m<
请输入正确金额"
\\"
if(cnsm.get_money()-m<
0)
对不起,你的余额不足!
操作成功,请取钱!
cnsm.set_money(m);
是否要继续该项操作:
(Y/N)"
ch;
while(ch!
n'
ch!
N'
Y'
y'
)
}while(ch=='
||ch=='
information()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
~"
~用户姓名:
cnsm.get_name()<
~卡号:
cnsm.get_num()<
~余额:
cnsm.get_money()<
lock()
对不起,由于你的操作有误,
你的卡已经被没收!
exit
(1);
exitATM()
感谢你对本银行的支持,
欢迎下次光临!
请取卡……"
exit(0);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象分析与设计 ATM系统分析与设计 面向 对象 分析 设计 ATM 系统分析