Как выразить циклы в диаграммах связи? - PullRequest
1 голос
/ 06 июня 2010

Я хотел бы знать, как выразить в диаграмме связи что-то вроде:

foreach (User user in UsersCatalog) {
    list.add(user.getId());
}

У меня на самом деле что-то вроде следующего

альтернативный текст http://img691.imageshack.us/img691/9213/semttuloyc.png

(Utilizador = Пользователь)

но, как вы заметите, это не очень хорошо отражает тот факт, что я делаю что-то вроде цикла.

Как мне это сделать?

Ответы [ 3 ]

3 голосов
/ 07 июня 2010

Просто определите getId() : int звездочкой (*):

1.4 *getId()

для данного примера.

1 голос
/ 07 июня 2010

Почему бы вам не дополнить эту диаграмму диаграммой последовательности? Диаграммы последовательности лучше выражают временную связь между событиями и имеют предопределенную запись для выражения циклов.

0 голосов
/ 09 июня 2010

Как заявил Жорди, для описания циклов диаграммы последовательности лучше.Причина в том, что вы хотите описать взаимодействие между объектами, общающимися с помощью передачи сообщений.Для этой цели UML определяет различные диаграммы взаимодействия, ориентируясь на разные аспекты взаимодействия.Диаграммы последовательности сосредоточены на последовательностях сообщений, передаваемых между объектами (линиями жизни), поэтому имеет смысл захватывать отправляющие сообщения в цикле-последовательности.Диаграммы коммуникации ориентированы на объекты коммуникации, которые посылают определенные сообщения друг другу.Эти диаграммы бесполезны для моделирования циклов, потому что они показывают только, какие сообщения отправляются и в каком порядке.Однако, если вы используете коммуникационную диаграмму для хорошей цели и просто хотите включить в свой цикл цикл, вы должны следовать совету elysiums, но помните, что звездочка означает, что число сообщений будет неизвестным, поэтому вам нужно добавить выражение(в идеале OCL), который будет захватывать условие для цикла.Для получения дополнительной информации обратитесь к: http://www.smartdraw.com/resources/tutorials/uml-collaboration-diagrams/ http://en.wikipedia.org/wiki/Unified_Modeling_Language#Interaction_diagrams

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...