2012-03-28 2 views
0

У меня есть класс диаграмму со следующими двумя скоплениями:Показать в диаграмме классов UML, что агрегация является подмножеством другого

Aggregations constraint problem

contentCategories представляет собой динамический массив категорий, currentCategory всегда является элементом этого массива, но поддерживается как отдельная переменная-член. Мне нужно показать ограничение, что он всегда является элементом contentCategories в OCL. Правильно ли я это сделал? Если нет, каков был бы правильный способ сделать это?

Благодарим вас за помощь!

+0

Возможно, вы можете сохранить индекс, как, CurrentCategoryIndex, вместо того, чтобы объект, который уже существует в массиве. –

+0

Наличие указателя на объект позволяет мне всегда экономить время, необходимое для индексирования в массив, хотя это было бы незначительным, учитывая количество обращений к объекту в моем случае. Во всяком случае, я больше не могу это обновить. Спасибо, в любом случае. – tommazzo

ответ

1

Да, ваша идея правильная. Я бы написал ограничение в комментарии, хотя и без пунктирной линии

EDIT: извините, для того, чтобы быть «академически здоровым», ограничение OCL должно быть правильным, даже если нет currentCategory. Это означает, то constraint'd лучше прочитать

not currentCategory==null implies contentCategories -> includes(currentCategory) 
+0

Perfect. Спасибо. – tommazzo

Смежные вопросы