问答题
问题:3.1 (7分)
根据说明中的描述,给出图3-1中(1)~(7)所对应的类名(类名使用表3-1中给出的序号)。
【正确答案】
【答案解析】本题属于经典的考题,主要考查面向对象分析方法与设计的基本概念。在建模方面, 本题中只涉及到了UML类图。类图上的考点也是比较常规的对类的识别以及类中属性及方法的确定,题目难度不大。
图3-1共需要确定7个类,可以先从图中几个特殊关系处入手,即(1)?(3)和(4)?(6)。
先来分析(1)?(3),这是一个继承+聚集的结构,而且联系的名称“participants” 是一个比较明显的提示,说明这个层次结构是与【说明】中的功能描述(1)相对应的。 参考表3-1,与之相关的类是C5 (AuctionParticipant)、C7 (OneParticipant)和C9 (CompositeParticipant)。C7、C9是特殊的参与者,所以(1)处应该为C5; (2)处应该 为C9,这个聚集关系针对着【说明】中的“不同的团体也可以组成新的团体参与拍卖活动”需求;(3)处为C7。
结合【说明】和表3-1,另外一组具有“一般-特殊”关系的类只有C6 (Interchange), C8 (OfflinePay)和C10 (OnlinePay)。显而易见,C8和C10是C6的两种具体方式, 所以(4)处应该为C6, (5)、(6)处分别为C8和C10。
这样(7)处对应的类只能是Item了。结合【说明】和表3-1可知,(7)处对应的类表达的应该是拍卖中的拍卖品,所以(7)处应该是C2。
问答题
问题:3.2 (5分)
根据说明中的描述,确定表3-2中的属性/方法分别属于哪个类(类名、方法/属性名使用表3-1、3-2中给出的序号)。
【正确答案】
【答案解析】
问答题
问题:3.3 (3分)
在图3-1采用了何种设计模式?以100字以内文字说明采用这种设计模式的原因。
【正确答案】在图3-1中使用了Composite模式。
以树形结构表示个人参与者和团体参与者之间的“部分-整体”关系,使得对单个对象和组合对象的使用具有一致性。
【答案解析】在【说明】部分有一个很明显的提示:“拍卖参与者分为个人参与者和团体参与者两种。不同的团体也可以组成新的团体参与拍卖活动”。这里很清晰地表达了一种“部分 -整体”的层次关系,这种关系非常适合于采用Composite (组合)设计模式来表达。
Composite设计模式将对象组合成树形结构以表示“部分-整体”的层次结构。 Composite使得用户对单个对象和组合对象的使用具有一致性。