包含/扩展的用例可以由另一个参与者启动吗?

Sog*_*geh 5 uml use-case use-case-diagram

扩展图

您好,我希望接待员和经理能够查看工作类型和费率并随后进行更新。但技术人员只能查看,不能更新。该图有效吗?

我读到扩展用例是由发起基本案例的参与者发起的。如何区分技术人员只能启动基本案例而不能启动扩展案例?我不应该放置扩展关联吗?包含的用例怎么样?

抱歉,如果这个问题之前已被问过。

qwe*_*_so 2

我会这样建模:

在此输入图像描述

Manager并且Receptionist在这种情况下具有相同的角色,这就是我使用概括的原因。在不知道域名的情况下,这似乎没问题,但这只是一个建议。

受其<<extend>>限制,{not allowed for actor Tech}明确排除此参与者进入此(可选)用例。

没有必要也Receptionist与关联Update...,因为它是 的扩展View...,除非您希望能够先Update不使用Viewing 。

注意<<include>>/<<extend>>:它们并不意味着链接用例。UML 规范指出(第 638 页):

Extend 旨在当需要添加一些附加行为(可能有条件)到一个或多个用例中定义的行为时使用。

当两个或多个用例的行为有共同部分时,应使用包含关系。然后,这个公共部分被提取到一个单独的用例中,并被包含在具有该公共部分的所有基本用例中。

现在<<include>>看来简直就是个混蛋。用例是关于独特的附加值。如果在多个用例中存在行为重复,那么这种独特性可能会受到质疑。无论如何,这些关系通常只是被视为功能分解。那是完全错误的。从我的观点来看,如果没有这些关系,UML 规范会更好。

在上图的上下文中,它代表了一种模式,您可以在其中查看某些内容,然后才能使其可编辑。如果有两个独立的气泡,并且在讲述<<extend>>时没有任何限制,那就太完美了。Update{ can only be reached after View... }