图3—2给出了“处方”的部分状态图。根据说明中的描述,给出图3~2中缺少的S1~S4所对应的状态名以及(7)~(10)处所对应的迁移(transition)名。
第1题:
根据说明中的描述,使用表3-11给出的类的名称,给出图3-23中的A~D所对应的类。
第2题:
试题三(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某种出售罐装饮料的自动售货机.( Vending Machine)的工作过程描述如下:
(l)顾客选择所需购买的饮料及数量。
(2)顾客从投币口向自动售货机中投入硬币(该自动售货机只接收硬币)。硬币器收集投入的硬币并计算其对应的价值。如果所投入的硬币足够购买所需数量的这种饮料且饮料数量足够,则推出饮料,计算找零,顾客取走饮料和找回的硬币;如果投入的硬币不够或者所选购的饮料数量不足,则提示用户继续投入硬币或重新选择饮料及数量。
(3)一次购买结束之后,将硬币器中的硬币移走(清空硬币器),等待下一次交易。自动售货机还设有一个退币按钮,用于退还顾客所投入的硬币。已经成功购买饮料的
钱是不会被退回的。
现采用面向对象方法分析和设计该自动售货机的软件系统,得到如图3-1所示的用例图,其中,用例“购买饮料”的用例规约描述如下。
参与者:顾客。
主要事件流:
1.顾客选择需要购买的饮料和数量,投入硬币;
2.自动售货机检查顾客是否投入足够的硬币;
3.自动售货机检查饮料信存仓中所选购的饮料是否足够;
4.自动售货机推出饮料;
5.自动售货机返回找零。
各选事件流:
2a.若投入的硬币不足,则给出提示并退回到1;
3a.若所选购的饮料数量不足j?则给出提示并退回到1 。
根据用例“购买饮料”得到自动售货机的4个状态:“空闲”状态、“准备服务”状态、“可购买”状态以及“饮料出售”状态,对应的状态图如图3-2所示。
所设计的类图如图3-3所示。
【问题1】(6分)
根据说明中的描述,使用说明中的术语,给出图3-2中的S1~S4所对应的状态名。
【问题2】(4分)
根据说明中的描述,使用说明中的术语,给出图3-2中的E1~E4所对应的事件名。
【问题3】(5分)
根据说明中的描述,使用说明中的术语,给出图3-3中CI~C5所对应的类名。
第3题:
第4题:
根据说明中的描述,使用表3-11给出的状态名称,给出图3-24中S1~S4所对应的状态。
第5题:
试题三(共15 分)
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某运输公司决定为新的售票机开发车票销售的控制软件。图 3-1 给出了售票机的面板示意图以及相关的控制部件。
售票机相关部件的作用如下所述:
(1)目的地键盘用来输入行程目的地的代码(例如,200表示总站)。
(2)乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。
(3)继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。
(4)显示屏显示所有的系统输出和用户提示信息。
(5)插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。
(6)打印机用于输出车票。
假设乘客总是支付恰好需要的金额而无需找零,售票机的维护工作(取回现金、放入空白车票等)由服务技术人员完成。
系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图和类图分别如图3-2和图3-3所示。
【问题1】(5 分)
根据说明中的描述,给出图 3-2 中 A1 和 A2 所对应的参与者,U1 所对应的用例,以及(1)、(2)处所对应的关系。
【问题2】(7 分)
根据说明中的描述,给出图3-3中缺少的C1~C4所对应的类名以及(3)~(6)处所对应的多重度。
【问题3】(3 分)
图3-3中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。