Форум Сообщества Аналитиков

×


Диаграмма классов для большого проекта на С++(Прочитано 6962 раз)
Добрый день!

Я разработал большую программу на C++. Теперь возникла необходимость передать ее другому разработчику. Разобраться в структуре классов ему легче если создать диаграмму классов. Я сделал импорт всех классов в диаграмму на Enterprise Architect, но она получилась таких размеров, что интерфейс EA тормозит нещадно. При этом разобраться в ней сложно, т.к. она огромных размеров. Интуитивно я понимаю, что нужно все классы поделить на группы и для каждой из групп создать отдельную диаграмму классов.

По какому принципу лучше делить все классы на группы, есть ли в EA средства для визуального представления  групп классов?

Есть ли у кого-нибудь опыт работы над такой задачей? Какие подходы использовались?




В большом проекте классы группируются в пакеты или в подсистемы. Применив такое разбиение, избавляются от необходимости иметь общую ДК, рисуются отдельные диаграммы для каждого пакета (подсистемы) и диаграммы, поясняющие внешние связи пакетов (подсистем). Для разбиения часто используют два принципа:
низкое зацепление -- количество связей проходящих сквозь границу пакета меньше чем количество внутренних;
высокая функциональная прочность -- классы внутри пакета работают в связке для решения общих задач.



ИМХО это теоретический вопрос, не связанный с ЕА. Если не против, то я перенесу его в раздел Моделирование.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



В большом проекте классы группируются в пакеты или в подсистемы. Применив такое разбиение, избавляются от необходимости иметь общую ДК, рисуются отдельные диаграммы для каждого пакета (подсистемы) и диаграммы, поясняющие внешние связи пакетов (подсистем). Для разбиения часто используют два принципа:
низкое зацепление -- количество связей проходящих сквозь границу пакета меньше чем количество внутренних;
высокая функциональная прочность -- классы внутри пакета работают в связке для решения общих задач.
Насколько я понимаю, пакеты или подсистемы называются Frameworks в EA?
Можно ли автоматизировать процесс разбиения одной Class Model на несколько моделей, привязанных к Framework-ам?
Или мне нужно вручную переносить классы с одной большой диаграммы в отдельные?



Насколько я понимаю, пакеты или подсистемы называются Frameworks в EA?
Можно ли автоматизировать процесс разбиения одной Class Model на несколько моделей, привязанных к Framework-ам?
Или мне нужно вручную переносить классы с одной большой диаграммы в отдельные?
Да не они так и называются пакеты. Есть там еще и view, но вам думаю оно пока не требуется. Боюсь при обратном инжениринге все определяется структурой вашей программы, и ЕА автоматом просто так не разнесет ваши классы, он же принципа не знает




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19