UML用例图&lt; <include>&gt;和&lt; <extend>&gt; </extend> </include>

时间:2013-07-30 00:46:01

标签: include uml extend

具体来说,我有一个基本用例A和两个扩展用例A1,A2。然后我向A添加一个“包含”项目,我们称之为B.我的问题是A1,A2会自动包含这个项目B吗?或者我需要从A1,A2到B添加两个虚线箭头吗?

我没有足够的分数来发布图片,所以只需用这张图片来说明我的想法,我很想念箭头从A到A1,A2,希望它不会让你感到困惑。

                A ------> B(include)
               / \
        extend/   \extend
             /     \
            A1     A2

谢谢!

3 个答案:

答案 0 :(得分:2)

根据我对你的案例研究的理解,你不需要在A1 / A2和A之间进行概括,而不是扩展吗? Extend表示用例A的可选部分,泛化表示用例的不同“版本”。

在泛化的情况下,是的,包含用例是继承的。如果是延伸,则不是。

答案 1 :(得分:1)

实际上,如果您在A1和A2中引用B,则需要在它们中包含(UML中的ElementImport)B。 但是你也可以有一个包含A,A1和A2的包,并从这个包中导入B,因此B将可用于此包中的所有元素。

答案 2 :(得分:0)

A1和A2将不包括B.你必须专门为每个包含它,如果这实际上是行为是什么(或者你可以像Xaelis建议和使用包语义那样)。另一方面,如果A1和A2是A的特化(如Steph指出的那样),它们将包括B,因为A包括它。我脑子里有一些问题,你是否真的想要专业而不是扩展。