为博客系统绘制 UML class 图

Drawing UML class diagram for a blogging system

我正在尝试画一个简单的博客系统用例图对应的UML class图,显示如下:

要绘制 class 图,应该有两个 classes:用户和博客。但我很难描绘出它们之间的关联,因为这两个 class 之间的关系可能存在两种不同的多重性。例如,当用户创建博客时,class 图将如下所示:

但是在用户查看博客方面,多样性是不同的,因为某个博客不仅可以被1个用户查看,所以class图看起来是这样的:

那么如何在解决方案域中解决这个问题呢?

类 之间的关联不显示所采取的操作。只是说明他们有关系。

CreateViewUser 采取的不同操作。 Create 很可能指的是具有 create 方法和 retrieveBlog 的服务器,因此它可以显示(视图将管理)。

使用序列图显示行为部分(就像我在回答您的其他问题时建议的那样)。

除了托马斯的回答:

  • 可以肯定的是 UserBlog 之间的结构一对多关系。但这是比用例分析更隐含的知识:你的系统必须跟踪 Blog 的 link 和创建它的 User,以便他以后也能更新和删除。
  • 但是,许多博客系统还跟踪 User 咨询过的 Blogs(以衡量受众、跟踪历史等...)。所以你的系统也可以跟踪观看(但它也可以没有)。

您可以显示导航箭头。但在您的系统中,导航肯定是双向的。


更系统的用例分析方法是使用entity- control-boundary方法,并使用以下类进行设计:

  • 实体:持久数据:BlogUser 如上所述
  • 边界:用例和参与者之间的link:CreateOwnBlogViewBlog
  • 控制:在两个世界之间调解类:ViewingSubsystemAuthoringSubsystem