2010-06-06 4 views
1

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

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

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

alt text http://img691.imageshack.us/img691/9213/semttuloyc.png

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

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

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

ответ

3

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

1.4 *getId() 

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

1

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

0

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