阅读下列说明和图,回答问题1至问题3,将解答填入对应栏内。 [说明] 一个简单的图形编辑器提供给用户的基本操作包括:创建图形、创建元素、选择元素以及删除图形。图形编辑器的组成及其基本功能描述如下: (1)图形由文本元素和图元元素构成,图元

admin2012-03-21  30

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


根据说明中的描述,给出图3-1中U1和U2所对应的用例,以及(1)和(2)处所对应的关系。

选项

答案U1:移动元素 U2:调整元素大小(U1和U2的答案可以互换) (1)<<extend>> (2)<<extend>>

解析 本题主要考查在面向对象分析与设计过程中,如何利用用例图和类图描述系统需求模型及设计模型。考生需要理解面向对象方法的相关概念和思想,并熟悉UML的语法及应用。用例图和类图是考试题中出现次数最多的两种UML模型。
   本问题主要考查用例之间的关系。在UML中,用例之间有3种关系:包含(include)、概括(generalize)和扩展(extend)。
   如果多个用例中都含有相同的事件流,那么可以将其抽取出来放在一个单独的用例中,其他用例都可以通过包含(include)这个用例来使用其中的事件流。包含关系可以避免在多个用例的描述中重复拷贝相同的事件流。
   概括关系是指子用例(child use case)继承父用例(parent use case)的行为,而子用例本身还可以增加新的行为或重置父类的某些行为。这种关系与面向对象程序设计中的“继承”很类似。
   一个用例(基础用例,base use case)中加入一些新的动作后则构成了另外一个用例(扩展用例,extending use case),那么这两个用例之间的关系就是扩展关系。扩展关系与概括关系有相似之处,但是比概括关系更为严格。基础用例必须声明特定的扩展点,而扩展用例只能在这些扩展点上添加新行为。
   由说明可知,图形编辑器的基本操作为创建图形、创建元素、选择元素和删除图形。对照图3-1,可知这些最终都被确定为用例。除此之外,用例“创建图元”、“创建文本”与用例“创建元素”之间是概括关系,即能创建的元素分别是图元和文本。图3-1中缺少了两个用例,而这两个用例都是与“选择元素”相关的。因此需要仔细阅读说明中关于“选择元素”的描述,其中最关键的一句描述为“拖拽选定元素的控制点,可以移动元素或者调整元素的大小”。这句话中出现了两个动词短语“移动元素”、“调整元素大小”,这两个动作都是要先选择对应元素之后,才能实施的。因此,可以推出,U1和U2应对应“移动元素”和“调整元素大小”。
   下一步就是确定“移动元素”、“调整元素大小”与“选择元素”之间的关系。由说明可知,必须先选择元素才能通过拖拽控制点来对元素进行相应的操作。因此,“移动元素”和“调整元素大小”是对“选择元素”的扩展,因此这三个用例之间应该是扩展关系。(1)和(2)处应填写extend。
转载请注明原文地址:https://jikaoti.com/ti/Tui7FFFM
0

最新回复(0)