简单 Web 门户的 UML class 图

UML class diagram for simple web portal

我想问一下我的 class 图。我正在为我的周末大学学习制作一个简单的门户网站的 class 图。制作正确吗?如果你是我的,你会改变什么?您可以在此处找到用例

我应该分别创建每个用户 class 吗?我的意思是 Admin class、Redactor class、Moderator class 等。我使用权限字段(请参阅用户 class)来模拟每个用户的角色。正确吗?

我想象 ContentManager class 拥有 User class 实例,并在文章、公告、广告和评论 class 中使用它来检查是否允许这些操作。

很高兴得到您的回答。在这里您可以找到 WhiteStarUML 程序 my XML file

的 XML 文件

您应该做的是为您的领域创建一个分析模型。该模型将包含 classes,如 ArticleAnnouncement 等,正如您在当前图表中所具有的那样。例子请参考我最近贴给别人的问题。为方便起见,此处再次显示该答案的图表:

请注意我在该答案中提供的模型与 UserManagerContentManager 完全不同,它只包含用于操作其他 class 的代码。你不想要那些,除非人们真正扮演这些角色。注意它如何在每个关联的末尾都有动词短语和多重性来告诉你为什么事物是相关的。请注意这些 classes 上没有普通的 CRUD 操作,例如创建、更新和删除。

一旦有了分析模型,就应该将操作分配给适当的 classes,这通常会反映您的用例。例如,您的 Comment class 可能有一个 edit() 操作。但它可能不会。您可能会考虑在 Article class 中有一个名为 replaceComment() 的操作(如果您的域是这样工作的)。我不知道你的域应该如何工作,因为你缺少一个教我它的分析模型!

在你完成一个分析模型之后,我会制作一个设计模型,用解决方案领域的关注点来增强它,比如将用户登录到系统中。 您可能会发现对从分析到设计的转变很有帮助。