面向对象分析与设计ATM系统分析与设计.docx

上传人:b****6 文档编号:14086497 上传时间:2023-06-20 格式:DOCX 页数:20 大小:208.56KB
下载 相关 举报
面向对象分析与设计ATM系统分析与设计.docx_第1页
第1页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第2页
第2页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第3页
第3页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第4页
第4页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第5页
第5页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第6页
第6页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第7页
第7页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第8页
第8页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第9页
第9页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第10页
第10页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第11页
第11页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第12页
第12页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第13页
第13页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第14页
第14页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第15页
第15页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第16页
第16页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第17页
第17页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第18页
第18页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第19页
第19页 / 共20页
面向对象分析与设计ATM系统分析与设计.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

面向对象分析与设计ATM系统分析与设计.docx

《面向对象分析与设计ATM系统分析与设计.docx》由会员分享,可在线阅读,更多相关《面向对象分析与设计ATM系统分析与设计.docx(20页珍藏版)》请在冰点文库上搜索。

面向对象分析与设计ATM系统分析与设计.docx

面向对象分析与设计ATM系统分析与设计

需求分析

一.总体要求:

1,ATM叽要可以判断磁卡的类别,如果不是有效的磁卡则退卡;

2,可以在较快的时间内响应用户的请求,并针对相应的请求执行正确的操作;

3,当卡在ATM机内30秒内没有操作时,系统自动没收信用卡;

4,查自己的账户时应显示余额和可用余额,并显示ATM机里所拥有的现金面值,让用户可以做出正确的选择;

5,提取现金时提示用户输入取款金额并判断输入是否确,如果错误提醒用户并

要求重新操作,正确则提醒用户收取现金;钞票在出钞机内30秒内没人取走,

自动回收钞票;

6,转账汇款时让用户选择转账类型,要求用户输入转账账号并要求用户输入两次,以确保没有输入错误,在两次输入都正确的情况下,让用户输入转账金额,并作最后的确认。

7,进入修改密码界面后提醒用户输入新密码,并要求再次输入以确保密码统一无误,在确认后完成修改操作,并提醒用户新询密码生效;

8,对于错误的操作或者操作延时做出有效的处理。

二,系统要求:

要求用户一次取款数额不得大于2500元;

要求用户一天取款数额不得超过5000元;

要求用户连续输入错误密码次数不得超过3次。

三,系统性能要求:

要求反应时间不得大于10秒钟;

四:

设计目标:

系统可以提供24小时不间断服务,操作简单,可以很方便为用户提供取款、转账/汇款、查询账户信息等服务。

模型分析

:

设计DFD图

(1)顶层DFD图:

(2)0层DFD图:

用户

密码确认

银行卡

退出

选择操作

判断超时

退出类型

操作类型

执行操作

(3)1层DFD图

用户

银行卡F

(密码、

选择『

(确认丿

信息*

选择

交易

未超时信息

操作是否超过

•EL

更改密

转账.

更改密码-

退出类型

码操作

取款子系统:

客户存储信息单

超时

信息

是否

打印

账单

警告信息

银行卡

取款

调用取

\选择

选择货

\取款讨

f提取'

\30秒内.

操作

款系统

l币种类

/金额U

、现金/

丿无响应

收回

货币

选择信息

现金

用户

警示

信息

 

 

 

查询子系统:

客户存储信息单

选择

交易

查询

操作

选择

信息

调用查

询系统

选择货币种类

查询

信息

查询账尸

转账子系统:

选择信息

用户

客户存储信息单

选择交易

转入卡号信息

更改密码子系统:

客户存储信息单

选择信息

 

 

二:

组织结构设计

(1)系统结构

 

ATM机系统

 

 

(2)读卡机系统

 

(3)键盘输入子系统

 

认证子系统:

显示子系统:

出钞子系统:

打印子系统:

数据库子系统:

建立模型

:

建立基本系统模型图

:

建立序列图:

 

代码设计:

#include<>

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

//用户

{

public:

friendclassATM;

consumer(charName[],charNum[],floatMoney,charPassword[]);protected:

char*get_name();

//取得姓名

char*get_num();

//取得卡号

char*get_passwd();

//取得密码

floatget_money();

//取得余额

voidset_passwd(charpwd[]);

//设置密码

voidset_money(floatm);

//取钱

private:

charpasswd[8];

//用户密码

charname[20];

//用户姓名

charnum[20];

floatmoney;

};

//*consumer类的成员函数

#include""

#include<>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;

}

char*consumer:

:

get_num()

{

returnnum;

}

char*consumer:

:

get_passwd()

{

returnpasswd;

}

voidconsumer:

:

set_money(floatm)

{

money-=m;

}

voidconsumer:

:

set_passwd(charpwd[])

{

strcpy(passwd,pwd);

}

//*ATM类的成员函数

#include""

#include<>

#include<>

voidATM:

:

welcome()

{

times=0;

cout<<"$

欢迎使用ATM自动取款机!

"<

charpwd[8],num[20],ch;

inti=0;

do

{

i=0;

cout<

";do

{

(ch);num[i++]=ch;

}while(ch!

='\n');num[i-1]='\0';

i=0;

cout<<"请输入密码:

";

do

{

(ch);pwd[i++]=ch;

}while(ch!

='\n');pwd[i-1]='\0';

if(!

check_passwd(num,pwd))

{

cout<<"你输入的卡号或密码有误,请重新输入"<

times++;

}

else

{

functionshow();

}}while(times<3);

lock();

}

boolATM:

:

check_passwd(charnum[],

charpwd[])

{

if(strcmp(num,())==0&&strcmp

(pwd,())==0)

returntrue;

else

returnfalse;

}

voidATM:

:

functionshow()

{

intn;

do

{

cout<

"<

cout<<"1)修改密码"<

cout<<"$>\\";

cin>>n;

while(n<1||n>4)

{

cout<<"请输入正确的操作序号!

"<

cout<<"$>\\";

cin>>n;

}

switch(n)

{

case1:

change_passwd();

break;

case2:

fetchmoney();

break;

case3:

information();

break;

case4:

exitATM();

break;

}

}while(true);

}

voidATM:

:

change_passwd()

{

charpwd[8],repwd[8];

times=0;

do

{

cout<

";

cin>>pwd;

if(!

check_passwd(),pwd))

times++;

else

break;

}while(times<3);

if(times==3)

lock();

intt=0;

do

{

cout<<"请输入新密码:

";

cin>>pwd;

cout<<"请再输入一次新密码:

";

cin>>repwd;

if((t=strcmp(pwd,repwd))!

=0)

cout<<"密码不一致,

请重新输入!

"<

}while(t!

=0);

(pwd);

cout<<"密码修改成功"<

}

voidATM:

:

fetchmoney()

{

floatm;

charch;

do

{

:

"<<"\n$>\\"<

cout<>m;

while(m<=0)

{

cout<<"请输入正确金额"<

cout<<"$>\\";

cin>>m;

}

if()-m<0)

{

cout<<"对不起,你的余额不足!

"<

}

else

{

cout<

"<

}

cout<<"是否要继续该项操作:

(Y/N)"<\\";

cin>>ch;

while(ch!

='n'&&ch!

='N'&&ch!

='Y'&&ch!

='y')

{

cout<<"$>\\";

cin>>ch;

}

}while(ch=='y'||ch=='Y');

}

voidATM:

:

information()

{

cout<<"~"<

cout<<"~用户姓名:

"<<()<

cout<<"~卡号:

"<<()<

cout<<"~余额:

"<<()<

cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<

voidATM:

:

lock()

{

cout<

"<

exit

(1);

}

voidATM:

:

exitATM()

{

cout<

"<

cout<<"请取卡……"<

exit(0);

}

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2