我正在尝试为大学项目设计UML分析类图。我的UML图看起来像这样:
我遇到了两个不同的问题:
答案 0 :(得分:3)
分析模型的开端非常好。我会做的一些事情:
User
和Role
之间的关联(或使其成为关联类)Role Assignment
。Manager
授权 Role Assignment
和Role Assignment
授权 Manager
。以下是我头顶的一个例子:
我放弃了很多东西,包括操作,我会禁止用于中小企业的验证。我不能为你做所有的工作!
答案 1 :(得分:1)
答案 2 :(得分:1)
简短快速回答
制作Role
课程,而不是Manager
课程。
长期无聊的回答
我有一个类似的案例,但最终有一个类似的Manager
类,后来添加了一个MiddleManager
类,它也可以管理其他类。
..........................
..+-----------------+.....
..| User |--+..
..+-----------------+..|..
...........^...........|..
........../ \..........|..
..........\ /..........|..
...........v...........|..Can Manage Other Users
...........|...........|..
...........|...........|..
...........|...........|..
..+-----------------+..|..
..| Role |--+..
..+-----------------+.....
..| [+] CanManage() |.....
..+-----------------+.....
..........................
因此,我将一个或多个函数canManage()
移动到Role
类。
正如@Thomas Kilian所说,你的问题更像是一种行为特征,而不是结构特征。行为在类图中表示为方法或属性。
更新:
..........................
..+-----------------+.....
..| User |--+..
..+-----------------+..|..«Can Manage Other Users»
..| [+] CanManage() |--+..
..+-----------------+.....
...........^..............
........../ \.............
..........\ /.............
...........v..............
...........|..............
...........|..............
...........|..............
..+-----------------+.....
..| Role |.....
..+-----------------+.....
..........................
另一个版本可能包含自引用关联。