如何在 UML 类图中创建用户/角色关系?

Posted

技术标签:

【中文标题】如何在 UML 类图中创建用户/角色关系?【英文标题】:How to create user/roles relation in UML class diagram? 【发布时间】:2014-10-28 05:12:18 【问题描述】:

我有几周的时间搜索如何为项目创建 UML 类图。

系统将管理用户和用户角色以进行访问并在登录后保持活动会话。

我可以在类之间实现什么类型的关系? 这个类正确吗? 我需要其他课程吗?

提前致谢!

【问题讨论】:

如果您提示用户正在做什么,这将有所帮助。用户登录的应用程序是什么?你想处理什么场景? 这是一个计费系统。员工根据您的工作有不同的角色(收银员,人力资源,管理员,其他)......只有员工和供应商才能访问系统......场景:当用户登录时,系统需要知道哪个是您的授予访问级别的角色... 【参考方案1】:

我会试一试。 Session 对象与 User 有组合关联。 (不能有没有会话的用户,也不能有没有用户的会话。)用户与角色有组合关联。 (不能有没有角色的用户等)会话构造函数创建用户对象,用户构造函数为每个有效角色创建一个角色对象并将它们放在集合/字典/数组/任何东西中。

您不会将角色直接与子类相关联,因为每种类型的用户都有角色。用户通过方法公开有效角色。会话在决定是否允许给定活动时访问有效角色。

【讨论】:

我不确定,但我认为 Session 和 User 没有直接关系,只有登录成功后才会存在 Session。我同意用户和角色的关系。 虽然 Session 只在登录成功后才存在,但关键是 Session 不能没有 User 存在,而 User 必须有一个。这意味着 Session 的生命与 User 的生命息息相关。虽然可能有另一种建模方式(例如,将 User 与 SessionManager 对象关联),但 Session 的生命周期与 User 的生命周期相关联。会话必须在有效(即成功登录)用户的上下文中创建,并且不能转移给另一个用户。所以,作文。 非常感谢!经过几天分析您的答案,我现在明白了。这里放一个 IBM 组合关联的例子...www-01.ibm.com/support/knowledgecenter/SS5JSH_9.0.0/…【参考方案2】:

听起来您希望 Session 类成为 User 和 Roles 之间的关联类。登录到系统会创建一个 Session,它根据用户的类型分配能力。

【讨论】:

会话类仅在登录成功后才起作用,以保持用户令牌处于活动状态...当用户注销时,会话被删除 好的,但是您需要一种将用户与其角色相关联的方法。在用户子类中使用属​​性可能就足够了。否则,创建一个关联类,从用户那里获取类型并启用对系统函数的访问。 我同意创建一个关联类...但问题仍然是什么类型的关系?有什么例子吗?我想用户不需要角色来登录...登录后用户需要角色才能知道系统的哪个部分可以访问.. 关联类管理用户和会话之间的一对一关系。试试看:pic.dhe.ibm.com/infocenter/rsarthlp/v9/…

以上是关于如何在 UML 类图中创建用户/角色关系?的主要内容,如果未能解决你的问题,请参考以下文章

UML类图中类之间关系汇总

UML 类图

uml中的类图

OpenStack-9-用户,项目和角色的关系

javaEE 用户部门角色权限实体的关系设计与hibernate映射配置文件关系总结

如何在UML类图中建模非成员聚合