问答题 阅读下列说明和图,回答下面问题。
[说 明]
一个简单的图形编辑器提供给用户的基本操作包括:创建图形、创建元素、选择元素以及删除图形。图形编辑器的组成及其基本功能描述如下:
(1)图形由文本元素和图元元素构成,图元元素包括线条、矩形和椭圆。
(2)图形显示在工作空间中,一次只能显示一张图形(即当前图形,current)。
(3)编辑器提供了两种操作图形的工具:选择工具和创建工具。对图形进行操作时,一次只能使用一种工具(即当前活动工具,active)。
①创建工具用于创建文本元素和图形元素。
②对于显示在工作空间中的图形,使用选择工具能够选定其中所包含的元素,可以选择一个元素,也可以同时选择多个元素。被选择的元素成为当前选中元素(selected)。
③每种元素都具有相应的控制点。拖拽选定元素的控制点,可以移动元素或者调整元素的大小。
现采用面向对象方法开发该图形编辑器,使用UML进行建模。构建出的用例图和类图分别如图1和2所示。

图1用例图

问答题 根据说明中的描述,给出图1中U1和U2所对应的用例,以及(1)和(2)处所对应的关系。
【正确答案】
【答案解析】U1:移动元素;U2:调整元素大小(U1和U2的参考答案可以互换);(1)<<extend>>;(2)<<extend>>。[解析] 由“被选择的元素成为当前选中元素,每种元素都具有相应的控制点。拖拽选定元素的控制点,可以移动元素或者调整元素的大小”可知,U1和U2分别为“移动元素”和“调整元素的大小”。用例U1和U2是对“选择元素”用例的功能扩展,空(1)和空(2)处都应填入<<extend>>。
问答题 根据说明中的描述,给出图2中缺少的C1~C8所对应的类名以及(3)~(6)处所对应的多重度。
【正确答案】
【答案解析】C1:创建工具;C2:选择工具;C3:线条工具;C4:矩形工具;C5:椭圆工具;C6:线条;C7:矩形;C8:椭圆(注:C3~C5的参考答案可以互换;C6~C8的参考答案可以互换)。
(3)0..1;(4)1;(5)1;(6)1..*或*。 [解析] 图形中包括文本元素和图元元素构成,图元元素包括线条、矩形和椭圆。所以C6~C8依次为线条、矩形、椭圆,三者顺序可以颠倒。工具有两种:选择工具和创建工具。创建工具用于创建文本元素和图形元素;使用选择工具能够选定其中所包含的元素。类图中C2和元素类关联,且通过C2可以调整元素的大小,可知C2为:选择工具,则C1为创建工具。C3~C5依次为线条工具、矩形工具、椭圆工具,顺序可以颠倒。
多重度有以下几种。
●0..1:表示0或1个实例。
●n..m:表示表示有n到m个实例。
●0..*:或者*,表示没有实例个数的限制(包括没有)。
●1:表示只有一个实例。
●1..*:表示最少一个实例。
编辑器提供了两种操作图形的工具,但一次只能使用一种工具,当然也可以不选用工具,因此(3)为0..1,(4)为1。图形由文本元素和图元元素构成,图形中至少要包含一种元素,因此(5)为1,(6)为1..*。
问答题 图2中的类图设计采用了桥接(Bridge)设计模式,请说明该模式的内涵。
【正确答案】
【答案解析】桥接模式将抽象部分和它的实现部分分离,使它们都可以独立地变化,对一个抽象的实现部分的修改应该对使用它不产生影响。[解析] 桥接模式用于将抽象部分与实现部分分离,使它们都可以独立的变化。Bridge模式使用“对象间的组合关系”解耦了抽象和实现之间固有的绑定关系,使得抽象和实现可以沿着各自的维度来变化。