Class 为博客系统绘制UML类图

Class 为博客系统绘制UML类图,class,uml,class-diagram,Class,Uml,Class Diagram,我试图绘制一个简单博客系统用例图的对应UML类图,如下所示: 要绘制类图,应该有两个类:User和Blog。但是我很难画出它们之间的联系,因为在这两个类之间的关系中可能有两种不同的多样性。例如,当用户创建博客时,类图如下所示: 但就用户浏览博客而言,多样性是不同的,因为某个博客不仅可以被一个用户浏览,所以类图如下所示: 那么,我如何在解决方案域中解决这个问题呢?类之间的关联不会显示所采取的操作。这只是表明它们是相关的 创建和视图是用户执行的不同操作。Create很可能指的是一个服务器,它有

我试图绘制一个简单博客系统用例图的对应UML类图,如下所示:

要绘制类图,应该有两个类:User和Blog。但是我很难画出它们之间的联系,因为在这两个类之间的关系中可能有两种不同的多样性。例如,当用户创建博客时,类图如下所示:

但就用户浏览博客而言,多样性是不同的,因为某个博客不仅可以被一个用户浏览,所以类图如下所示:


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

类之间的关联不会显示所采取的操作。这只是表明它们是相关的

创建
视图
是用户执行的不同操作。
Create
很可能指的是一个服务器,它有一个
Create
方法,还有一个
retrieveBlog
,因此可以显示它(视图将管理它)


使用序列图显示行为部分(如我在回答您的另一个问题时所建议的)。

除了Thomas的答案之外:

  • 一件确定的事情是
    用户
    博客
    之间的结构1对多关系。但这是比用例分析更隐含的知识:您的系统必须跟踪
    博客
    的链接以及创建它的
    用户
    ,以便使他能够在以后进行更新和删除
  • 然而,许多博客系统也会跟踪
    用户咨询的
    博客
    (衡量受众、跟踪历史等)。所以,您的系统也可以跟踪查看情况(但也可以不使用)

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


用例分析的更系统的方法是使用该方法,并在设计中使用以下类别:

  • 实体:持久数据:
    Blog
    User
    如上所述
  • 边界:用例和参与者之间的链接:
    CreateOwnBlog
    ViewBlog
  • 控件:在两个世界之间调解类:
    ViewingSubsystem
    AuthoringSubsystem

很抱歉稍后回复,因为我最近很忙。我认为类之间的关联应该由它们的属性决定。例如,如果
Blog
类有一个名为Owner的属性来存储创建它的
用户,那么“Create”关联应该在那里。如果
Blog
有另一个名为Visitors的集合属性来存储
User
的集合,那么
View
关联也是有意义的。您没有按应有的方式使用关联。它们与行为无关。我可以推荐阅读Geerts关于关联的博客:我认为你给我的文章不太清晰,因为可读性差,但我们不需要讨论太多,应该回到主题上来。根据我目前的理解,是否应该有某种关联实际上取决于系统需求。在我的例子中,如果系统需要跟踪
用户查看的
博客
,比如在
博客
中存储
用户
(访问者)的集合,那么查看关联是有意义的。否则它就不应该存在。看看克里斯托夫的答案。