UML中的Actor和扩展用例

时间:2017-05-29 15:15:23

标签: uml use-case

如果演员与用例A进行通信,他是否会自动与扩展用例B进行通信,或者我必须在演员和用例B之间绘制第二个关联 - 如果我的目的是让演员同时执行A和B?如果A和B之间的关联是<< extends>>而不是<<< {{}}>>,那该怎么办?演员和用例A之间的界限是否也意味着演员可以执行所包含的用例(B)?或者我是否必须从演员那里画第二行以使用案例b?

编辑:我担心我没有说清楚。我怀疑的不是包含 extends 的语义,或者在使用它们时的语义,而是它们在图表上的正确表示。如果我被要求绘制ATM用例图,我可能会想出@RedBeard提供的相同图表。但是,在站点[http://elearning.uml.ac.at/]中,他们断言,根据它们的UML2标准,为了使图表完整,还应该绘制两个更多的关联,将actor直接连接到包含和扩展的用例,是,从演员到includes的一行,以及从演员到Card Identification的一行,否则这些用例永远不会被执行。由于我在UML Super Strucure书中找不到这个解释,我决定在这里发布这个问题。

1 个答案:

答案 0 :(得分:0)

我添加了一个来自UML2.5规范的示例(或多或少)。正如您所看到“客户”想要“提取”时,他必须“卡识别”,因为您有包含< / em>从“提取”到“卡识别”,以便始终包含“卡识别 客户”希望“提取”。

在“客户”想要“执行ATM交易”的同时(可以是“ Withdraw ”, “转移”或“存款”),可能或不选择“在线帮助 ”。 Thsi是由于“执行ATM事务”和“在线帮助”之间的扩展链接,这意味着“执行ATM交易可以通过扩展”在线帮助“。

因此,如果你想模拟演员必须做的事实总是A和B ,那么包含链接就可以了。 包含链接会为可能的扩展模型建立一个非强制性的扩展。希望很清楚。

enter image description here