Как я могу упростить нотацию наследования диаграмм классов UML? - PullRequest
1 голос
/ 26 ноября 2010

У меня есть суперкласс, который наследуют 40 других предложений, на данный момент я хотел бы упростить диаграмму, а точнее все отношения наследования (40 отношений указывают на один класс), все эти «стрелки» просто делаютдиаграмма полный беспорядок, можно ли упростить это?

Ответы [ 4 ]

0 голосов
/ 09 декабря 2013

Я бы предложил следующее:

**

  • СЦЕНАРИЙ 1

**

Если вы не планируете использовать модель для генерации кода :

  • Поместите все подклассы в пакет. Дайте этому пакету имя, чтобы указать, что все содержащиеся в нем элементы / классы наследуются от определенного суперкласса. Например, если суперкласс называется «SuperFoo», я бы назвал пакет «SuperFoo_SubTypes»
  • Поместите в пакет примечание, чтобы указать, что все классы в пакете наследуются от суперкласса.

**

  • СЦЕНАРИЙ 2

**

Вы действительно планируете генерировать код из вашей модели:

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

Вариант 2 Используйте альтернативную нотацию для описания наследования / обобщения путем написания для каждого из подклассов названия суперкласса курсивом и в верхних правых углах элементов подкласса. Этот метод кратко объяснен в этой статье: http://www.sparxsystems.com/resources/uml2_tutorial/uml2_classdiagram.html Это, конечно, будет зависеть от того, поддерживает ли ваш инструмент моделирования эту нотацию.

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

0 голосов
/ 26 ноября 2010

Используете ли вы наследование для повторного использования кода? Я никогда не сталкивался со сценарием, где есть 40 подклассов. В любом случае, одна идея состоит в том, чтобы сгруппировать логически связанные классы в одну диаграмму одного пакета, а затем иметь отношения пакета.

Я хотел бы предложить несколько предложений, хотя

  1. UML-диаграммы 90-х годов ;-). В текущем мире гибкой, я вижу мало использования этих диаграмм
  2. Изучите инструменты, которые могут реконструировать ваш код и создавать диаграммы классов и последовательностей, когда это необходимо. Это поможет вам визуализировать только соответствующие части приложения ПО ЗАПРОСУ
  3. Читать о подтипирование по сравнению с подклассами
0 голосов
/ 27 ноября 2010

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

Результат был блестящим.Инструментом, который я использовал, был EclipseUML Omondo.

0 голосов
/ 26 ноября 2010

Нет прямого способа упростить такой случай в спецификациях UML, но на самом деле 40 классов наследуются от одного класса?Я думаю, что вам, возможно, придется пересмотреть свой дизайн еще раз.

В общем, вы можете опускать атрибуты и методы из классов, так что, по крайней мере, лучше.

...