用户购买饮料的顺序图

2023-03-13 版权声明 我要投稿

第1篇:用户购买饮料的顺序图

饮料销售机顺序图

实验内容及要求:

内容:

在自动饮料销售机的”买饮料”场景中,假定饮料销售机有三个部分,前端(front),

钱币记录仪(register)和分发器(dispenser)。

前端负责:接受顾客的选购和现钞;从记录仪接收找回的零钱并返回给顾客;

返回现钞;从分配器接收一罐饮料并把它交给顾客。

钱币记录仪负责:从前端获取顾客输入的信息(即选购的饮料的种类和现钞);

更新现钞存储;显示现钞情况;如果缺少零钱将不让系统服务并在前端显示没有

零钱;如果零钱充足一切正常,找零钱。

分配器负责:检查待选购的饮料是否还有货;分发一罐饮料。

请根据以下情形,参照教材93-94页,画出顺序图

理想状态下买饮料(购买成功)

在理想状态下,事件流顺序如下:

1)顾客放入现钞(inputMoney());

2)前端接受现钞并将现钞传给钱币记录仪accept();

3)钱币记录仪对现钞面额进行判断getCustomerInput();

4)钱币记录仪向前端发送现钞情况 sendMoneyInfo()

5)前端将现钞情况显示给顾客showMoney()

6)钱币记录仪根据现钞面额、饮料价格和零钱情况检查可购买的饮料

checkForSoda();

7)钱币记录仪向分发器发送消息检查可购买的饮料的存货情况

checkAvailability()

8)分配器向前端返回可购买且有存货的饮料信息returnSodaFree

9)前端将可购买且有存货的饮料信息显示给顾客displayPrompt();

10) 顾客选择饮料chooseSoda

11) 前端将选择结果给分配器sendChoseToDis

12) 前端将选择结果给钱币记录仪 sendChoseToReg

13) 钱币记录仪检查找零情况 checkForChange()

14) 钱币记录仪更新余额 updateChange()

15) 分配器向前端释放饮料 releaseSoda()

16) 钱币记录仪向前端释放找零 releaseChange()

17) 前端接收饮料并释放出来给顾客receiveSoda()

18) 前端接收找零并返回给顾客 receiveChange()

要求:

写出分析过程,画出顺序图,完成实验报告

分析:

和教材93-94页图7-14到图7-14相比较有何不同,请参照对比来分析。

如果现钞不够买饮料,会如何,事件流将有什么变化?

如果零钱不够,会如何,事件流将有什么变化?

如果无须找零钱呢?

上一篇:美好的短句祝福语下一篇:信义兄弟观后感大学