2016-08-18 8 views
3

Учитывая объект array, экземпляр некоторого произвольного класса Array, который для этой цели имеет атрибут length.Синтаксис узла решения UML для использования объектов в состоянии защиты

Как я могу моделировать диаграмму активности UML, которая в какой-то момент использует array.length в операторе потока управления, то есть в защитных устройствах узла решения.

array = getArray(); 
if (array.length > 5) 
    save(); 
else 
    waitForData(); 

Я знаю, что охранники используемого решения узла будет [array.length > 5] и [array.length <= 5]. Но я не уверен, как я могу интегрировать это с потоком объекта, присутствующим в диаграммах активности.

ответ

2

UML не указывает, как следует описывать охранники. Это требует только, чтобы это было логическое выражение, то есть одно, которое оценивает либо true, либо false. Вы можете использовать естественный язык, любой язык программирования или OCL. Заявление, которое вы использовали, абсолютно допустимо. Кроме того, вы можете поместить статус объекта на узле объекта, например. [длина> 5]

+0

Я также просто прочитал, что ** контракты на естественный язык ** вполне приемлемы в UML. – mike

+0

@mike Цель OCL/точных языков состоит в том, что они потребляют машины и не вводят двусмысленность. Если ваша целевая аудитория - это люди, то естественный язык может быть достаточно хорош. –