具体来说,我有一个基本用例A和两个扩展用例A1,A2。然后我向A添加一个“包含”项目,我们称之为B.我的问题是A1,A2会自动包含这个项目B吗?或者我需要从A1,A2到B添加两个虚线箭头吗?
我没有足够的分数来发布图片,所以只需用这张图片来说明我的想法,我很想念箭头从A到A1,A2,希望它不会让你感到困惑。
A ------> B(include)
/ \
extend/ \extend
/ \
A1 A2
谢谢!
答案 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包括它。我脑子里有一些问题,你是否真的想要专业而不是扩展。