2009-08-20 3 views
11

Я прочитал несколько руководств о том, что должна содержать модель UML, а что нет. Как разработчик, я всегда думаю о реляционной модели данных, где у вас никогда не было бы много-много отношений между таблицами. Теперь с моделью класса UML, я прочитал, что если они не предоставляют добавленную стоимость, вы можете просто пропустить ссылки.Модель класса UML, как моделировать отношение многих ко многим

Однако я также прочитал учебное пособие, в котором примеры, в которых используются данные внутри таблиц, настоятельно рекомендуется отображать каждый класс в виде простой таблицы при моделировании модели класса.

Я смущен, что это сейчас ?!

+0

В каком контексте рассматривается модель класса, которую вы рассматриваете; Бизнес-модель, модель анализа или модель проектирования? –

ответ

12

Моделируйте это как отношение M: N. То же, что и в модели отношений, будет ассоциированный класс (или link class) какого-либо кода. Не нужно размещать это на диаграмме, если у нее нет атрибутов поверх атрибутов соединения (так же, как вы, как правило, опускаете объект объединения из ERD, если только у него не были атрибуты, которые не были внешними ключами в связанных объектах). Класс link обычно изображается как класс, связанный с отношением пунктирной линией.

Элемент соединения присоединения является хорошим примером этого в UML 2 Class Diagrams.

29

«Реляционная таблица ссылок» - это метод реализации отношений «многие ко многим».

Связь существует независимо от того, как она реализована.

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

Точка зрения UML должна быть в состоянии описать основные особенности модели.

Вы можете также описать реализацию. Это отдельные диаграммы с отдельными целями. Вы можете легко показать реляционную реализацию с помощью таблицы ссылок. Вы также можете показать основную модель без таблицы ссылок.

Вот Эфирное отношения

Essential http://i28.tinypic.com/x3tnhk.jpg

Вот реализация отношений

Implemntation http://i32.tinypic.com/mmws2h.jpg

Оба являются действительными UML. Реальный вопрос: «Что вам нужно, чтобы показать других людей?» Существенная правда или одна конкретная реализация?

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