Visio 2010 Beta может генерировать статическую диаграмму UML из Native C++ проекта, и это здорово. Как можно решить обратную проблему: учитывая статическую диаграмму UML из Visio, сгенерируйте файлы заголовков?Создать код C++ из диаграммы UI Visio
Или, может быть, есть бесплатные инструменты для разработки архитектуры и обратной инженерии?
EDIT Вообще говоря, мне не нужны диаграммы строго UML. Они просто должны быть достаточно ясными, чтобы смотреть на них и понимать классы во время разработки приложений, их реализации и поддержки. Но у него должна быть функция обратного проектирования и генерации кода.
Я попытаюсь использовать предложенные альтернативы через несколько дней, а затем напишу немного сравнения.
- ArgoUML Я пытался импортировать мой существующий код и не удалось. Причина в том, что поддержка C++ является предварительной альфа. Многие конструкции языка еще не поддерживаются. Из MessageBox, показанного в процессе импорта:
C++ модуль обратного проектирования является предварительно альфа-стадии. Его известные пределы:
* very few C++ constructs are supported, e.g., enums, unions, templates, etc, aren't; * no support for non-member variables and functions; * no integration with the C++ generator => RTE won't work!; * no operator overload support; * very immature, certainly this list needs to grow!
Для меня кажется, что такие инструменты должны быть такими, потому что это очень удобно. И Microsoft имеет VS для разработки и Visio для отображения диаграмм (и Visio имеет Toolbox в VS, который обращает инженеров код в UML). Если бы я был Microsoft, я бы создал какой-то инструмент (или функцию Visio/VS) для генерации диаграмм. К настоящему времени я знаю только Sysbase Powerdesigner, который может делать такие вещи (код <--> UML). И Visio может работать с диаграммами баз данных. Но для C++ ...: (( – flashnik
+1 flashnik спасибо за отзыв. Я удивлен, что visio может сделать это с диаграммами баз данных. –
Я обнаружил, что был Visio 2003 для Enterprise Architects, и он был отправлен с Team Suite VS. Он может генерировать код C++ и .Net с диаграммы UML. Так что проблема может быть не в Visio, а в современной версии студии. Может быть, давайте создадим запрос функции для Visio 2010 и VS 2010, в то время как оба они находятся в бета-версии? – flashnik