试题2(2005年上半年试题2~3)
在用例建模的过程中,若几个用例执行了同样的功能步骤,这时可以把这些公共步骤提取成独立的用例,这种用例称为 (2) 。在UML的用例图上,将用例之间的这种关系标记为 (3) 。
(2)A.扩展用例
B.抽象用例
C.公共用例
D.参与用例
(3)A.association
B.extends
C.include
D.inheritances
试题2分析
两个用例之间的关系可以概括为两种情况。一种是用于复用的包含关系,用构造型“include”表示;另一种是用于分离出不同行为的扩展关系,用构造型“extend”表示。
(1)包含关系:当可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例很重要的部分功能时,应该使用包含关系来表示它们。其中这个提取出来的公共用例称为抽象用例。
(2)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,则可以将这个用例分为一个主用例和一个或多个辅用例进行描述可能更加清晰。
另外,用例之间还存在一种泛化关系。用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。例如,购买飞机票时,既可以通过电话订票,也可以通过网上订票,则订票用例就是电话订票和网上订票的抽象。
试题2答案
(2)B
(3)C