Uml 改变角色的行动。这是谁的?

Uml 改变角色的行动。这是谁的?,uml,use-case,Uml,Use Case,如果用户有机会要求更改其角色(例如:要求提升为领导的员工)。该操作属于员工还是领导?您的问题被标记为“用例”。在这方面,在你的问题中似乎有一个关于演员到底是什么的困惑。以下是UML规范所说的: 参与者对实体扮演的角色类型进行建模,该实体与相关用例的主题进行交互。参与者可以代表人类用户、外部硬件或其他系统扮演的角色 在模型中,如果用户在与系统的交互过程中更改了角色,就像另一个参与者与系统交互一样。例如: 用户以员工的角色与系统交互,并“执行”与员工参与者对应的一些用例 此用户将被提升为经理 有了

如果用户有机会要求更改其角色(例如:要求提升为领导的员工)。该操作属于员工还是领导?

您的问题被标记为“用例”。在这方面,在你的问题中似乎有一个关于演员到底是什么的困惑。以下是UML规范所说的:

参与者对实体扮演的角色类型进行建模,该实体与相关用例的主题进行交互。参与者可以代表人类用户、外部硬件或其他系统扮演的角色

在模型中,如果用户在与系统的交互过程中更改了角色,就像另一个参与者与系统交互一样。例如:

  • 用户以
    员工
    的角色与系统交互,并“执行”与
    员工
    参与者对应的一些用例
  • 此用户将被提升为
    经理
  • 有了新角色,用户可以“执行”与
    管理者
    参与者关联的用例
  • 同一用户可以在系统中扮演多个角色。但这并不会改变模型:模型是关于在给定时刻拥有给定角色的所有用户,而不管执行此角色的个人是谁
  • 在某些情况下,一个角色是另一个角色的特化。这意味着拥有一个角色的所有用户也拥有另一个角色。一个典型的例子是
    经理
    总是
    员工
    。在本例中,您将在用例图中显示继承,以避免复制
    Manager
    所有
    Employee
    与用例的关联

如果您的问题不是关于用例,而是关于授权管理的类,那么您需要重新表述您的问题。但在此之前,请看一下现有的问题,因为有很多关于类图和如何分配用户授权的问题。

一名要求晋升为领导的员工
:因此,与系统交互的角色是employeeDepends,取决于您对角色的建模方式。请澄清。角色为“员工”的用户可以登录、列出内容、添加其他内容,但绝对不能触摸“领导”可以触摸的任何东西。“领导者”实际上是“雇员”,但拥有更多特权(传统)。如果员工认为自己有资格成为领导者,他可以提出要求。希望这是澄清。
角色为“employee”的用户可以登录
:警告:员工已登录,但参与者(试图)登录的不是员工。不要混淆一个人(我指的是一个自然人,你我等)和一个角色(例如UML意义上的一个角色),一个人可以有几个角色,比如一个与系统交互以登录的客人,一个可以与系统交互以列表等并注销的员工,一个领导(继承员工)可以进行其他交互等。我的第一句话没有改变
一个“领导者”实际上是一个“员工”,但拥有更多特权(传统).
只是一个警告:参与者
领导者
员工
之间的泛化意味着
领导者
参与了
员工
参与的所有用例,包括要求提升的
用例,这些用例在您的应用程序中可能有意义,也可能没有意义。警告如@vrsio在对问题的评论中指出,如果经理(OP问题中的领导者)继承了员工,这意味着经理可以要求晋升为经理,因此用例必须有一个先决条件来避免that@bruno事实上:-)有人可能会说这与现实相符:一名员工要求成为经理,而他后来要求成为某些经理的经理,也许有一天最终会要求成为CEO,所有经理中的经理。可能这种管理水平与参与者与系统的交互没有进一步的相关性;-)