描述评论和投票过程的最佳方式是什么,就像我们在UML中的SO一样?我需要一个明确的方式来描述一个用户提出一个问题,多个用户提交答案,每个用户都可以按照自己喜欢的方式对答案和问题进行upvote / downvote。
我试图使用从顶部开始的活动图来建模,必须分支,一个分支转到一个表示“评论”的节点,另一个转到“投票”动作。然后每个动作都有一个流向自身(代表用户可以按照自己的意愿进行上/下投票和评论),然后两者都加入最终节点。
我认为这在任何方面都不可理解,所以我想问:用UML描述这个的正确方法是什么?
答案 0 :(得分:0)
如果要描述规则(即关系),那么类图可能比活动图更合适。这是一个相当粗略但却有代表性的例子:
活动图适用于描述链式活动(流程)。然而,在这种情况下,行为非常简单;用户可以提交帖子(问题或答案),也可以对帖子进行投票。
该图捕获了以下规则(直接从关系中读取):
Each User may submit many Posts
A User need not submit any Posts
Each Post must be submitted by exactly one User
Each User may vote on many Posts
A User need not vote on any Posts
Each Post may be voted on by many Users
A Post need not be voted on by any Users
Each Vote has a type which is either up or down
A Post is either a Question or an Answer
A Question may have many Answers
A Question need not have any Answers
Each Answer must be a response to exactly one Question
请注意,该模型缺少一些重要规则(例如,无法对您自己的帖子进行上/下投票)。还缺少评论(Post的另一个子类型)和其他显着属性(例如用户名,帖子文本等)。希望有足够的代表性,但是。
第h
PS:我对Vote.type
的语法采用了自由。它应该被定义为枚举,但出于这些目的,它的显示方式就足够了。向任何潜伏的UML警察道歉: - )