2013-11-28 2 views
2

Ассоциация определяет semantic relationship между классификаторами. Экземпляры ассоциации - это set of tuples relating instances of the classifiers. Каждый tuple value may appear at most once. Ассоциация представляет set of connections среди экземпляров классификаторов. Экземпляром Ассоциации является ссылка, которая является tuple of Instances, взятой из соответствующих классификаторовОпределение ассоциации в спецификации UML

Интересно, есть ли кто-нибудь, кто помогает мне понять каждое слово определения ассоциации, особенно выделенные, потому что я читал об этом из разных ресурсов но все они говорят одни и те же слова, но я хотел бы более усложненный и е

ответ

2

семантического отношения

Это означает, что есть структурные отношения между вещами, связаны, что возникает проблема пространства. Например: ассоциация Person owns Dog. В приложении для лицензирования собак эта взаимосвязь является центральной концепцией; приложение существует для управления связями между людьми и собаками. Это «семантическая» связь, потому что она имеет смысл, возникающий из проблемного пространства.

множество кортежей, связанных экземпляров классификаторов

Кортеж является «упорядоченное множество элементов» (wikipedia). Примером ассоциации Dog-Ownership может быть ("Fido", "Fred"), где «Fido» представляет Собака и «Fred» Person. Ассоциацию можно представить в виде набора кортежей в том, что для каждой комбинации Dog есть один кортеж & Лицо, для которого выполняется соотношение; например

[("Fido", "Fred"), ("Angel", "Chuck Norris"), ("Boatswain", "Lord Byron")]

Примечания нет кортежей для пар, где отношения не владения; например ("Fido", "Lord Byron").

каждое значение кортежа может появиться в самый раз

Это не возможно множество содержит дубликаты, как это будет просто сказать то же самое в два раза. Поэтому нет смысла добавлять ("Fido", "Fred") еще раз в список выше; мы уже знаем, что Фред владеет Фидо.

Ассоциация представляет собой совокупность связей между экземплярами классификаторов

Это просто еще один способ думать об отношениях. Для каждого кортежа в наборе вы можете думать о соединении - или соединении - между связанными объектами.

Экземпляр Ассоциации является ссылка, которая представляет собой кортеж экземпляров

См выше. Каждый кортеж представляет собой одну связанную пару объектов. Ссылки связаны с ассоциациями как объекты для классов. Классы имеют много объектов; У ассоциаций есть много ссылок.

Основополагающие ассоциации существуют, чтобы показать, где вещи систематически связаны с другими вещами.Кортежи и наборы - это способ думать и/или представлять связанные вещи. (На самом деле я бы немного поспорил с определением в вашем OP: ссылки в ассоциации могут быть представлены как как набор кортежей: но это не то, что они , так они моделируются. информация может в равной степени быть смоделированы с помощью графика, где каждый объект представлял вершины (узла) и каждой ассоциации край

HTH

EDIT:..

в ответ на вопросы внешности. как вы это хорошо понимаете, некоторые наблюдения.

Во-первых, вот как я бы моделировать его:

enter image description here

Теперь к каждому из пунктов:

Имя: это имя отношения ассоциации (по желанию, вы можете дать ему имя или нет)

Я предпочитаю глагольную фразу, основанную на именовании, поскольку она выявляет смысл отношений. Моя модель можно прочитать непосредственно, как:

  • Каждый человек имеет много собак (где «много» означает 0 или более)
  • Каждая собака находится в собственности именно одна персона

Это удаляет нужно явно указать ассоциацию, хотя вы все равно можете сделать это, если хотите.

видимость (меня это не волнует, по крайней мере пока, я до сих пор не осознавал ее значимости).

Я согласен. Лично я никогда не комментирую модели с видимостью.

Имя: (здесь это имя MemberEnd), поэтому я оставил его имя по умолчанию на скриншоте

Смотрите комментарий о ассоциации именования выше. Я предпочитаю глагол-называние на основе ролей: «owns» гораздо более явным образом описывает назначение отношений, чем называние конца ассоциации «собака» или «собака».

владелец memberEnd [...]

Лично: Я не использую это. В общем, есть еще одно обсуждение этого вопроса, которое, по-моему, не имеет существенного влияния в большинстве случаев.

Судоходная [...]

Опять же я не использую это лично. В действительности судоходство должно быть получено из основного поведения. Нужно ли ему переходить в одну сторону/обе? Затем установите навигацию соответственно.Однако некоторым людям нравится указывать его явно, на основе этого он делает реализацию более понятной (если только судоходная в одном случае она может быть реализована только с ссылкой (-ами) только в одном классе, а в случае двунаправленного ей нужны ссылки в обоих направлениях - с сопутствующей логикой чтобы все было согласовано).

Кратность

Я согласен с вашим выбором.

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

+0

Привет @ sfinnie! Я достаточно удачлив, чтобы получить такой ответ .I've провел последние 3 часа или так просто поглощая каждое слово, я действительно не могу не поблагодарить вас достаточно. Я смоделировал ассоциацию «Человек владеет собакой». Я надеюсь, что вы ответите на мою попытку, убедитесь, что я пытаюсь сделать правильно и действителен в UML. это диаграмма классов: http://postimg.org/image/cjn6js2ex/ это соответствующий «вид свойств» ассоциации отношение в диаграмме классов (для редактирования его свойств) http://postimg.org/image/llblttv5d/ – Carlos

+0

Вот мое понимание об ассоциации: # Имя: это имя ассоциации (необязательно, вы можете дать это имя или нет) #visibility (меня это не волнует, по крайней мере на данный момент я до сих пор не знал его значение . # Имя: (вот имя MemberEnd), поэтому я оставил его имя по умолчанию в скриншот, являющийся экземпляром типа класса, но в наш e Xample это Fido – Carlos

+0

#The владелец memberEnd: У меня есть два варианта либо объединение или классификатор [Как я понял, я должен указать классификатор для обоих концов , потому что я думаю, что Фидо имеет тип 'Dog class' и Fred имеет тип 'Person класс'], но я не знаю, в каких случаях AssociationEnds должен быть принадлежит ассоциации, не принадлежащей классификатору? – Carlos

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