Форум Сообщества Аналитиков
Общий раздел => ПО Аналитика => Sparx => Тема начата: sh0375 от 09 Февраля 2010, 14:53:37
-
Добрый день!
Я разработал большую программу на C++. Теперь возникла необходимость передать ее другому разработчику. Разобраться в структуре классов ему легче если создать диаграмму классов. Я сделал импорт всех классов в диаграмму на Enterprise Architect, но она получилась таких размеров, что интерфейс EA тормозит нещадно. При этом разобраться в ней сложно, т.к. она огромных размеров. Интуитивно я понимаю, что нужно все классы поделить на группы и для каждой из групп создать отдельную диаграмму классов.
По какому принципу лучше делить все классы на группы, есть ли в EA средства для визуального представления групп классов?
Есть ли у кого-нибудь опыт работы над такой задачей? Какие подходы использовались?
-
В большом проекте классы группируются в пакеты или в подсистемы. Применив такое разбиение, избавляются от необходимости иметь общую ДК, рисуются отдельные диаграммы для каждого пакета (подсистемы) и диаграммы, поясняющие внешние связи пакетов (подсистем). Для разбиения часто используют два принципа:
низкое зацепление -- количество связей проходящих сквозь границу пакета меньше чем количество внутренних;
высокая функциональная прочность -- классы внутри пакета работают в связке для решения общих задач.
-
ИМХО это теоретический вопрос, не связанный с ЕА. Если не против, то я перенесу его в раздел Моделирование.
-
В большом проекте классы группируются в пакеты или в подсистемы. Применив такое разбиение, избавляются от необходимости иметь общую ДК, рисуются отдельные диаграммы для каждого пакета (подсистемы) и диаграммы, поясняющие внешние связи пакетов (подсистем). Для разбиения часто используют два принципа:
низкое зацепление -- количество связей проходящих сквозь границу пакета меньше чем количество внутренних;
высокая функциональная прочность -- классы внутри пакета работают в связке для решения общих задач.
Насколько я понимаю, пакеты или подсистемы называются Frameworks в EA?
Можно ли автоматизировать процесс разбиения одной Class Model на несколько моделей, привязанных к Framework-ам?
Или мне нужно вручную переносить классы с одной большой диаграммы в отдельные?
-
Насколько я понимаю, пакеты или подсистемы называются Frameworks в EA?
Можно ли автоматизировать процесс разбиения одной Class Model на несколько моделей, привязанных к Framework-ам?
Или мне нужно вручную переносить классы с одной большой диаграммы в отдельные?
Да не они так и называются пакеты. Есть там еще и view, но вам думаю оно пока не требуется. Боюсь при обратном инжениринге все определяется структурой вашей программы, и ЕА автоматом просто так не разнесет ваши классы, он же принципа не знает