Обратный инжиниринг кода Delphi - UML

Я новичок в UML и в настоящее время использую пробную версию Delphi XE4. Я пытаюсь создать дизайн UML для своего проекта, который построен с использованием Delphi 2009. Когда я открываю проект в Delphi XE4, я могу видеть диаграмму классов в опции «Просмотр модели» для каждого файла pas, но между классами нет связи . В моем проекте более 100 файлов pas.

Я не понимаю, можно ли автоматически получить все диаграммы UML? Или мне нужно создавать каждую диаграмму вручную?

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


person Nalu    schedule 13.08.2013    source источник
comment
Похоже, вы хотите избежать изучения Delphi, глядя на представление UML, а затем применяя его в Java. Я должен вас разочаровать. Если вам нужно обновить это программное обеспечение, вам придется погрузиться в код и убедиться, что вы понимаете, что он делает. Перенос его на Java даже заставит вас читать и понимать каждую строчку исходного кода.   -  person Wouter van Nifterick    schedule 14.08.2013
comment
Спасибо Wouter, я действительно не хотел избегать Delphi, я хотел придерживаться его. Но поставщик хочет использовать Java или любую другую технологию, и у него нет выбора прямо сейчас. Я имею представление о том, что делает код, и все такое. Мы пытаемся понять, насколько сложным будет переход на другие технологии. Вот почему мне нужны диаграммы UML для визуализации сложности. Я не понимал, все ли диаграммы будут созданы автоматически? Я искал в сети, но не нашел ни одного ценного материала, который дает мне представление об этом.   -  person Nalu    schedule 14.08.2013


Ответы (1)


Насколько мне известно, встроенная в IDE поддержка диаграмм UML не выполняет обратную инженерию кода в диаграммы. На эту возможность претендуют различные сторонние инструменты, например ModelMaker, Enterprise Architect, Rational Rose и т. Д.

person David Heffernan    schedule 14.08.2013
comment
Я могу засвидетельствовать возможности ModelMaker в этом отношении. Использовал их в прошлом и нашел их очень полезными. - person Marjan Venema; 14.08.2013
comment
@Marjan Независимо от того, насколько хорош этот инструмент, можно ли рассчитывать на то, что вы получите много смысла от автоматически созданных диаграмм из 100+ исходных файлов? Я не уверен, что какой-либо инструмент может пролить свет на это. Но я спрашиваю, так как лично у меня мало опыта использования диаграмм. - person David Heffernan; 14.08.2013
comment
Нет, не из автоматически созданных диаграмм. Никакая автоматически сгенерированная диаграмма никогда не будет действительно полезной, если она не сделана для очень тривиального кода. Но они - отправная точка. Мой подход заключался в том, чтобы загрузить все в ModelMaker, определить основные классы / интерфейсы и начать строить диаграммы с тех, что находятся в ModelMaker. Это хороший способ познакомиться с базой кода. Тем более, что вам больше не нужно беспокоиться о единицах измерения (если вы не собираетесь повторно генерировать исходный код, поскольку MM является полностью двусторонним инструментом). - person Marjan Venema; 14.08.2013
comment
В качестве упражнения попробуйте визуализировать 15-строчную процедуру быстрой сортировки в UML или создать полную диаграмму классов приложения с формой, состоящей только из одной кнопки. Вы быстро поймете, что UML полезен только в определенных ситуациях, и что код (даже паскаль) - довольно эффективный метод описания и определения алгоритмов. - person Wouter van Nifterick; 14.08.2013