软件工程实践实验二Word格式文档下载.docx

上传人:b****7 文档编号:22775050 上传时间:2023-02-05 格式:DOCX 页数:27 大小:77.27KB
下载 相关 举报
软件工程实践实验二Word格式文档下载.docx_第1页
第1页 / 共27页
软件工程实践实验二Word格式文档下载.docx_第2页
第2页 / 共27页
软件工程实践实验二Word格式文档下载.docx_第3页
第3页 / 共27页
软件工程实践实验二Word格式文档下载.docx_第4页
第4页 / 共27页
软件工程实践实验二Word格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

软件工程实践实验二Word格式文档下载.docx

《软件工程实践实验二Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程实践实验二Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

软件工程实践实验二Word格式文档下载.docx

3.系统需求说明

ATM系统是与生活紧密相关的一个机构,提供了存款、取款、转账等业务,这些业务与人们的日常生活息息相关。

在银行设立账户的人或机构通常被称为银行的储户。

一个储户可以在银行开多个账户,储户可以存钱到账户中,也可以从自己的账户中取现,还可以将存款从一个账户转到另一个账户。

储户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。

所以ATM自助服务系统必须满足存款,取款,转账,查询,修改密码等功能子模块为用户提供便利。

4.基于UML的模型分析

1)用例图(usecase图)

用例模型描述:

用户通过ATM服务系统可以选择存款,取款,转账,查询,修改密码等几个子功能模块,其中取款,存款需要通过ATM存钞信息数据库验证,而所有功能都必须通过客户信息存储数据库的调用和修改,其中转账又分为卡内转账和卡卡转账两种,查询模块分为账户余额查询,账单记录查询,账户信息查询三种;

所有的功能模块都必须先通过登录验证过才能进行

2)类图分析

类图模型分析:

类图中的用户属性有银行卡,密码,账户等属性,所以操作应为插入银行卡,输入密码,输入账户等操作,这一切都通过ATM交互类中的关联的部分类来完成,ATM键盘输入密码,ATM卡槽插入识别银行卡,ATM屏幕显示信息,ATM打印机打印用户凭条,放钞口用来存放或取出现金;

其中涉及到的操作依赖于ATM服务操作类来完成,分为存款,取款,转账,查询,修改密码等操作,并依赖于银行账户和账户信息验证来完成信息的修改,验证和存储。

3)时序图分析

时序图模型分析:

用户通过ATM交互插入银行卡并输入密码,利用用户验证来验证银行卡的合法性,利用账户信息验证确定密码的正确性;

接下来进入服务界面,执行所要求的操作,通过银行账户及信息验证后完成操作;

之后查询或修改银行账户的信息,将其存储到客户信息存储数据库中,然后返回操作界面,继续退出服务或继续操作。

具体的操作界面分为存款,取款,转账,查询,修改密码五个

存款操作时序图:

取款操作时序图:

转账操作时序图:

查询操作时序图:

修改密码操作时序图:

4)状态图分析

状态图模型分析:

先通过验证密码来进入操作界面,密码错误只能继续自返,输错三次直接退出系统,成功则选择所需操作,操作结束后可以选择返回操作或退出服务;

存款操作状态图:

取款操作状态图:

转账操作状态图:

查询操作状态图:

修改密码操作状态图:

5)活动图分析

活动图模型分析:

相比状态图更强调对象完成的操作,可以利用泳道来区分是何对象完成了什么操作。

存款操作活动图:

取款操作活动图:

转账操作活动图:

查询操作活动图:

修改密码操作活动图:

5.实验小结

信息时代载着我们悄然驶进生活的快车道。

面对着每天高度紧张的生活节奏,民众不再满足在银行排着长队等待银行业务员的人工服务.本系统的设计使得银行卡受理环境大大改善,交易效率显著提高,使广大持卡民众真正受到便利.本系统的在实施后,.它不仅能方便支付,还能避免因携带现金而带来的不必要的担心,更可以让持卡民众享受到不断创新的银行卡带来的诸多增值服务,从而体验到更多的便利和乐趣.故它将广泛应用到水,电,气的缴费中,以及学校,医院,航空,税务等与老百姓生活息息相关的领域

源代码

程序

//************************************

//**

//*function.h*

//************************************

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

//*ATM.cpp*

voidmain()

consumerc1("

jim"

"

12345"

5200.3f,"

123"

//先构造一个用户

ATMatm(c1);

atm.welcome();

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

当前位置:首页 > 人文社科 > 广告传媒

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

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