2016-11-24 9 views
2

Я разрабатываю диаграмму классов для задания. В этом дизайне я использую отдельный класс под названием Currency, чтобы определить значения валют и их функциональность. есть по крайней мере четыре других класса, которые должны использовать этот класс Currency.Диаграмма классов - несколько классов используют один класс

  • Как я могу показать его на диаграмме классов? Я имею в виду, нужно ли рисовать отношения (соединительные линии) от класса Currency ко всем остальным?
  • Есть ли лучший способ?
  • Что я здесь делаю неправильно?

ответ

4

Нет ничего плохого, и ценность использования класса еще важнее. На самом деле это стандартная ситуация.

Если вы используете этот класс в другой класс как атрибут у вас есть два варианта изобразить, что:

  1. рисовать ассоциативную связь (линию) из класса, используя для класса, который используется.
  2. поместите атрибут в соответствующее отделение класса, который использует и как тип атрибута (после двоеточия), поместите имя используемого класса.

Преимущество первого подхода заключается в том, что вы сразу видите зависимость между классами.

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

Как я понимаю, одна из ваших проблем заключается в том, что у вас будет много отношений, указывающих на ваш класс (в вашем случае Currency). Не беспокойтесь об этом. Вам не нужно ставить все на одну диаграмму. Поместите полную спецификацию своего класса на одну диаграмму с этими отношениями, где она использует что-то еще, а затем поместите только поле класса с именем (без какого-либо купе) на диаграммах, определяющих те элементы, которые используют ваш класс. Это сделает вашу модель читаемой. И при поддержке некоторого инструмента CASE вы сможете увидеть все отношения и зависимости этого класса в любом случае. Кстати, как написано спецификацию UML. Посмотрите, например, как пространство имен используется на диаграммах (и многие другие).

Конечно, я не предлагаю создать одну диаграмму для одного элемента для ее определения. Нет. Соберите их в логических пакетах (эй - это именно то, для чего нужны пакеты!) И создайте диаграмму классов для Пакета. Если пакет становится слишком большим - вам может понадобиться разбить его на более мелкие подпакеты.

Для Currency ваш пакет, вероятно, будет примерно Utils. Он также может содержать другие элементы, такие как Date, Address и т. Д. Примечание. Это типичные примеры, вероятно, каждый аналитик/дизайнер/программист рано или поздно должен справиться с этими элементами. Если вы их хорошо построите, вы также сможете повторно использовать их в будущих приложениях.

Последняя мысль. В то время как вы строите диаграмму класса на основе пакета, вам может понадобиться также диаграмма, показывающая только определенные части, поступающие из нескольких Пакетов, чтобы прояснить часть вашей системы/бизнеса/вообще. Это тоже прекрасно. Снова преимущество инструмента CASE заключается в том, что он сохраняет согласованность в вашей модели.

+0

Кстати - у вас есть * только * 4 класса, которые используют валюту?;-) – Ister

+0

Нет, на самом деле их больше;) Спасибо за ответ! –

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