Как использовать подмножество свойств в UML?

Подмножества свойств широко используются в диаграммах спецификаций UML.

  • Какова семантика (значение) подмножества свойств?
  • Как можно использовать подмножество свойств UML?

Пример из реальной жизни был бы отличным

Редактировать:

следующий снимок экрана из спецификации UML 2.5 (бета-версия)

Не могли бы вы сообщить мне, что означает подмножество на этой диаграмме?

введите здесь описание изображения


person Chriss    schedule 17.11.2013    source источник


Ответы (2)


В соответствии со спецификацией UML 2.4.1 подмножество свойств ссылается на свойства, подмножеством которых это свойство ограничено. Что вы подразумеваете под реальным примером? Спецификация UML, я думаю, является одной из них... Но вы можете найти такие свойства во всех приложениях, где объект связан с другим, и эта ассоциация переопределяется в контексте двух их подтипов. Например, класс Animal может быть связан с классом Limb. Мы также можем определить два класса Human и Leg, расширяющие соответственно Animal и Limb. Наконец, мы можем связать Human и Leg, что будет переопределением ранее существовавшей ассоциации.

Подмножества моделей

Надеюсь, это поможет, BR

person Red Beard    schedule 18.11.2013
comment
Спасибо вам, @Red beard, за любезную помощь :) # То, что я имею в виду под примером из реального мира, — это пример из физического мира (собака, парень,...), который помогает мне понять подмножество свойств. # Да, я могу найти этот тип свойств в спецификации, но я не могу понять это, как это, в части редактирования моего вопроса. #В вашем примере, где можно найти subsetting property и subsetted property? #Ваш ответ заставил меня почувствовать, что специализация - это то же самое, что и переопределение? Это то, что вы пытаетесь сказать? - person Chriss; 19.11.2013
comment
Привет, я обновил свой предыдущий, чтобы немного прояснить его. Теперь, если взглянуть на спецификацию UML 2.4.1 в части «Ограничения» раздела 7.3.45, четвертое ограничение описывается переопределенным свойством, которое должно быть унаследовано от более общего классификатора, содержащего переопределяющее свойство. Так что да, разделение свойства связано с наследованием классов. - person Red Beard; 20.11.2013

Короткий ответ

Поскольку есть два ограничения, которые могут вызвать проблемы, и они в некоторой степени связаны (и они привели меня к этому вопросу ;-)) , позвольте мне описать их оба, то есть подмножества и переопределения< /эм>

Подводя итог - переопределяет изменяет (предоставляет более точную) логику модели для одного и того же отношения, но в специализированном классе, в то время как подмножества показывают отношения между различными отношениями одних и тех же классов (они могут наследоваться, но не обязательно) и показывает, что объекты, находящиеся в одном отношении, создают подмножество объектов, находящихся в другом отношении.

Более подробный ответ

переопределяет

переопределяет некоторым образом изменяет логику отношения для специализации класса, связанного с отношением. Например. в то время как у животных может быть любое количество конечностей (осьминог 8 и многоножка - кто знает...), у людей всегда 4. Таким образом, у нас есть отношение от человека к конечности с целевым именем конечность, но с измененной множественностью (до 4). Рис. 1 — Нормальная конечность — переопределяет

Также могут быть внесены дополнительные изменения, например, мы можем определить новый класс JointLimb, специализирующийся на Limb. Поскольку у людей есть только JointLimb, наша связь не только изменит множественность, но и позволит использовать только специализированный класс на обоих концах связи. Рис. 2 — Совместная конечность — переопределяет

подмножества

С другой стороны, подмножества показывает, что объекты, находящиеся в одной связи (с ограничением подмножества), все в то же время находятся в какой-то другой связи (той, которая указана в ограничение подмножества), т. е. набор объектов в первом отношении является подмножеством объектов во втором отношении. В нашем случае у нас появятся новые классы Hand и Leg, специализирующиеся на классе Limb (или JointLimb в последнем примере). Поскольку каждая рука (соответственно, нога) является конечностью (JointLimb), связь между человеком и рукой (ногой) будет иметь множественность 2, целевое имя рука (нога) и будет ограничена подмножествами конечностей. Рис. 3 — Нормальная конечность — подмножества Рис. 4 — JointLimb — подмножества

Хотя в предыдущем примере у нас было подмножество, несколько связанное с наследованием, это не обязательно должно быть так. Рассмотрим класс Car и класс Wheel. Автомобиль оснащен колесами (что представляет собой отношение «оборудованное колесо»), некоторые из них (например, 4 для легкового автомобиля) являются установленными колесами, а некоторые (1 для легкового автомобиля) являются запасными колесами. Оба подмножества mountWheel и запасного колеса оснащеныWheel. Рис. 5 – Автомобиль – подмножества

Извините, я пока не могу размещать изображения и размещать более 2 ссылок, поэтому вы должны следовать эту ссылку, чтобы увидеть примеры.

Надеюсь, это поможет.

person Ister    schedule 16.05.2016