阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某种出售罐装饮料的自动售货机(Vending MaChine)的工作过程描述如下: (1)顾客选择所需购买的饮料及数量。 (2)顾客从投币口向自动售货机中投入硬币(该自动售货机只接收

admin2017-11-28  35

问题 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某种出售罐装饮料的自动售货机(Vending MaChine)的工作过程描述如下:
(1)顾客选择所需购买的饮料及数量。
(2)顾客从投币口向自动售货机中投入硬币(该自动售货机只接收硬币)。硬币器收集投入的硬币并计算其对应的价值。如果所投入的硬币足够购买所需数量的这种饮料且饮料数量足够,则推出饮料,计算找零,顾客取走饮料和找回的硬币;如果投入的硬币不够或者所选购的饮料数量不足,则提示用户继续投入硬币或重新选择饮料及数量。
(3)一次购买结束之后,将硬币器中的硬币移走(清空硬币器),等待下一次交易。
自动售货机还设有一个退币按钮,用于退还顾客所投入的硬币。已经成功购买饮料的钱是不会被退回的。

现采用面向对象方法分析和设计该自动售货机的软件系统,得到如图3.1所示的用例图,其中,用例“购买饮料"的用例规约描述如下。
参与者:顾客。
主要事件流:
1.顾客选择需要购买的饮料和数量,投入硬币:
2.自动售货机检查顾客是否投入足够的硬币;
3.自动售货机检查饮料储存仓中所选购的饮料是否足够:
4.自动售货机推出饮料;
5.自动售货机返回找零。
备选事件流:
2a.若投入的硬币不足,则给出提示并退回到1;
3a.若所选购的饮料数量不足,则给出提示并退回到1。
根据用例“购买饮料”得到自动售货机的4个状态:“空闲”状态、“准备服务”状态、“可购买”状态以及“饮料出售”状态,对应的状态图如图3-2所示。
所设计的类图如图3-3所示。

根据说明中的描述,使用说明中的术语,给出图3-2中E1~E4所对应的事件名称。

选项

答案E1:所选购的饮料数量不足 E2:选择饮料【硬币足够购买饮料】 E3:所选购的饮料数量足够/推出饮料 E4:取走饮料/找零并清空硬币器

解析 确定了状态图中的各个状态,接下来就需要进行状态之间迁移事件的获取。E2是从“准备服务”状态变换到“可购买”状态的事件,“选择饮料[硬币不足】”时仍然停留在“准备服务”状态,对应用例规约中的2a;根据用例规约若硬币足够则进入下一步,所以E2所对应的事件是“选择饮料【硬币足够购买饮料】”。
E1事件的触发将使得自动售货机从“可购买”状态变换到“准备服务”状态,对应用例规约中的3a,所以E1对应的事件应是“所选购的饮料数量不足”。
E3事件的触发将使得自动售货机从“可购买”状态迁移到“饮料出售”状态。根据说明,能够售出饮料必须满足两个条件:该饮料数量足够以及顾客投入的硬币足够。硬币是否足够以及饮料数量不足在状态S2已经进行了判断,因此E3对应的事件应是“所选购的饮料数量足够/推出饮料”。
E4对应的事件是自动售货机完成一次售卖,回到“空闲”状态时需处理的事件,根据说明可知,E4对应的事件应是“取走饮料/找零并清空硬币器”。
转载请注明原文地址:https://kaotiyun.com/show/VKDZ777K
0

相关试题推荐
最新回复(0)