饮料销售机顺序图
实验内容及要求:
内容:
在自动饮料销售机的”买饮料”场景中,假定饮料销售机有三个部分,前端(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相比较有何不同,请参照对比来分析。
如果现钞不够买饮料,会如何,事件流将有什么变化?
如果零钱不够,会如何,事件流将有什么变化?
如果无须找零钱呢?
推荐阅读:
商务社交平台用户协议05-29
网站用户管理系统06-19
web用户访问行为分析06-02
用户家政服务劳动合同书06-09
地理信息系统用户化分析研究06-11
2008年南京市用户满意服务明星(个人)05-24
购买权06-10
购买土地协议06-14
购买家具购销合同05-27
购买设备技术协议06-21