UML - как управлять большими диаграммами классов?

для моего отчета о проекте мне нужно показать диаграмму классов программного обеспечения, которое я построил, которая насчитывает около 20 классов! Проблема в том, что когда я визуализирую диаграмму классов в jpeg-файле(используя StarUML или ArgoUMl или что-то еще..) мы не можем видеть детали правильно (очень большая картина из-за большого количества классов). Ну, а как правильно управлять этой ситуацией? Так как отчет будет напечатан на страницах формата А4 ?

спасибо !

8 ответов


с 20 классами я ожидал бы, по крайней мере, 3 подсистемы (модули, слои), возможно, больше

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

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

его удовольствие печатать большие диаграммы на огромных кусках бумаги (например, 500 таблиц на A0 ; -), но это толку от него не много.


создание диаграммы классов, содержащей 20 классов, совершенно бесполезно - что это на самом деле показывает? При использовании диаграмм классов я никогда не создавал диаграмму, которая имеет более 5-8 классов.

вопрос, который нужно задать себе: "какую полезную информацию я пытаюсь показать с помощью этой диаграммы?". Не создавайте диаграмму классов ради нее!

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


есть несколько вещей, которые вы можете сделать:

  1. больше бумаги
  2. не отображать сигнатуры методов
  3. не отображать частные методы
  4. разделите вашу проблему на несколько пакетов
  5. меньше классов на диаграмму

Это одна из проблем с попыткой рассматривать UML как инженерные чертежи: как только вы получаете его с доски, это плохой язык для общения. Не очень хорошо читается.


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

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

Bouml (http://bouml.free.fr) имеет все эти параметры рисования, и, как было сказано, экспорт PNG и SVG

с наилучшими пожеланиями и счастливого моделирования

Бруно


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


Я думаю, что это неотъемлемая проблема, что вы пытаетесь показать так много вещей на одной диаграмме. Ваш вопрос так же, как "как я могу поместить 100 слов в предложение, чтобы читатель не устал от него?"

вы можете наверное рефакторинг его с FacadePattern. В основном это просто разбивка материалов на модули. Например, расписание, зарплата, BonusRecord могут быть заземлены в ManagementSystem. Продукт, заказ можно сгруппировать в OperationSystem, etc.


используйте BOUML. ArgoUML и StarUML-это классика, которую все упоминают, когда дело доходит до вопроса "есть ли бесплатное программное обеспечение UML?". Забавно, что историческое программное обеспечение не делает его неизвестным и неиспользуемым. В случае Argo и Star исторический коэффициент делает их известными и используемыми.

BOUML может экспортировать в SVG. это решит ваши проблемы.Я описал инструмент здесь

благодаря SVG вы сможете быстро переключение между birds eye view и detail view. Я делаю это с Firefox. Это быстро и быстро.

PS. Я только что заметил, что вы хотите напечатать отчет. SVG тогда, вероятно, не то, что вы хотите:\


разделите свои классы на несколько диаграмм! При создании модели UML в нескольких диаграммах могут отображаться элементы модели, такие как классы (no not). Диаграмма-это просто посмотреть вашей модели UML, так что вы можете выделить модули в вашей конкретной схемы.