我正在尝试绘制一个简单博客系统的用例图对应的UML类图,显示如下:
画类图,应该有两个类:User 和 Blog。但我很难将它们联系起来,因为这两个类之间的关系可能存在两种不同的多重性。例如,当用户创建博客时,类图将如下所示:
但是就用户查看博客而言,多重性是不同的,因为某个博客不仅可以被 1 个用户查看,所以类图如下所示:
那么我该如何在解决方案域中解决这个问题呢?
除了托马斯的回答:
User
和 Blog
之间存在一对多的结构关系。 但这是比用例分析更隐性的知识:您的系统必须跟踪 Blog
和创建它的 User
的链接,以便他以后也可以更新和删除。 Blogs
所咨询过的 User
(以衡量受众、跟踪历史记录等)。因此,您的系统还可以跟踪观看情况(但它也可以在没有情况下工作)。 您可以显示导航箭头。 但在您的系统中,导航肯定是双向的。
更系统的用例分析方法是使用实体控制边界方法,并使用以下类进行设计:
Blog
和User
如上所述CreateOwnBlog
和ViewBlog
ViewingSubsystem
和AuthoringSubsystem
类之间的关联并不显示所采取的操作。这只是表明它们是相关的。
Create
和View
是User
采取的不同行动。 Create
很可能指的是具有 create
方法和 retrieveBlog
的服务器,以便可以显示它(视图将管理它)。
使用序列图来显示行为部分(就像我在回答您的其他问题时所建议的那样)。