Обратный инжиниринг кода Delphi 2010 - инструмент UML - PullRequest
5 голосов
/ 16 декабря 2010

Я ищу программное обеспечение, которое может изменить проект Delphi 2010 и создать диаграмму классов. Я попробовал некоторые программы (ModelMaker, Enterprise Architect), но они не работают, как я ожидаю. Корпоративный архитектор не может выполнить реверс-инжиниринг кода Delphi 2010, он не понимает, например, обобщений кода. http://www.sparxsystems.com/cgi-bin/yabb/YaBB.cgi?num=1292432202. ModelMaker слишком сложен, мне действительно не нравится, как он был построен (интерфейс ужасен, ИМХО). Так у вас, ребята, есть предложения по поводу хорошего инструмента UML, который работает с Delphi 2010? Неважно, если это бесплатно или платно. Я просто хочу хороший инструмент UML.

Ответы [ 3 ]

2 голосов
/ 17 декабря 2010

Для полноты картины:

Вы можете выполнить круговую инженерию с помощью Rational Rose .Вам просто нужно загрузить дополнительное программное обеспечение: http://cc.codegear.com/partners/delphi7disk2/ensemble_systems/rose_delphi_link/index.html

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

...

В какой-то момент мы все приходим к одному и тому же выводу: полезность UML сильно переоценена.

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

1 голос
/ 16 декабря 2010

Встроенные диаграммы классов Delphi можно использовать для обратного проектирования вашего кода.

0 голосов
/ 16 декабря 2010

Раньше был проект под названием StarUML , который был надстройкой Delphi, которая была намного более продвинутой, чем встроенная поддержка UML. К сожалению (в любом случае для пользователей Delphi) проект изменил направление и начал полную редизайн, написанный на Java. Исходный исходный код Delphi доступен для загрузки, но с 2006 года его не обрабатывали, поэтому он не будет включать поддержку обобщений, анонимных методов, вспомогательных классов и т. Д.

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

...