Если вы хотите описать правила (то есть отношения), тогда диаграмма классов, вероятно, более подходит, чем диаграмма действий. Вот довольно грубый, но тем не менее представительный пример:
Диаграммы действий подходят для описания связанных действий (процессов). Однако в этом случае поведение довольно простое; Пользователь может отправлять сообщения (вопросы или ответы), а также голосовать за сообщения.
На диаграмме собраны следующие правила (чтение непосредственно из отношений):
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
Обратите внимание, что в модели отсутствуют некоторые важные правила (например, вы не можете голосовать за свои сообщения). Также отсутствуют комментарии (другой подтип поста) и другие существенные атрибуты (например, имя пользователя, текст поста и т. Д.). Надеюсь, достаточно представительный для цели.
НТН.
PS: я взял на себя смелость с синтаксисом для Vote.type
. Это действительно должно быть определено как перечисление, но для этих целей способ, которым это показано, является достаточным. Извиняюсь перед любой скрытой полицией UML: -)