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

Я не проверял это сам, но нашел это в своих закладках: http://wiki.php.net/rfc/e-user-deprecated-warning

Изменить: Хорошо, это еще не работает - поэтому вместо E_USER_DEPRECATED просто используйте что-то вроде E_USER_NOTICE:

Это закончится этим:

Notice: Use Bar instead in /home/unexist/projects/ingame/svn/foo.php on line 6

11
задан Amokrane Chentir 6 June 2009 в 20:26
поделиться

7 ответов

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

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

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

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

21
ответ дан 3 December 2019 в 02:30
поделиться

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

Задайте себе вопрос: «Какую полезную информацию я пытаюсь показать с помощью этой диаграммы?».

4
ответ дан 3 December 2019 в 02:30
поделиться

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

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

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

2
ответ дан 3 December 2019 в 02:30
поделиться

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

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

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

С уважением и удачным моделированием

Бруно

2
ответ дан 3 December 2019 в 02:30
поделиться

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

Вы можете , вероятно, реорганизовать его с помощью FacadePattern. В основном это просто разбиение материала на модули. Например, табель учета рабочего времени, PayCheck, BonusRecord может быть заземлен в ManagementSystem. Продукт, заказ можно сгруппировать в OperationSystem и т. Д.

1
ответ дан 3 December 2019 в 02:30
поделиться

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

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

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

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

1
ответ дан 3 December 2019 в 02:30
поделиться

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

1
ответ дан 3 December 2019 в 02:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: