2010-01-06 4 views
3

Visio 2010 Beta может генерировать статическую диаграмму UML из Native C++ проекта, и это здорово. Как можно решить обратную проблему: учитывая статическую диаграмму UML из Visio, сгенерируйте файлы заголовков?Создать код C++ из диаграммы UI Visio

Или, может быть, есть бесплатные инструменты для разработки архитектуры и обратной инженерии?

EDIT Вообще говоря, мне не нужны диаграммы строго UML. Они просто должны быть достаточно ясными, чтобы смотреть на них и понимать классы во время разработки приложений, их реализации и поддержки. Но у него должна быть функция обратного проектирования и генерации кода.

Я попытаюсь использовать предложенные альтернативы через несколько дней, а затем напишу немного сравнения.

  1. 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! 

ответ

3
  1. Поднимают схему в Visio
  2. Поднимают Visual Studio, открытый с ++ проект.
  3. Начните вводить в коде :)

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

Итак, я не думаю, что там будет такой инструмент.

+1

Для меня кажется, что такие инструменты должны быть такими, потому что это очень удобно. И Microsoft имеет VS для разработки и Visio для отображения диаграмм (и Visio имеет Toolbox в VS, который обращает инженеров код в UML). Если бы я был Microsoft, я бы создал какой-то инструмент (или функцию Visio/VS) для генерации диаграмм. К настоящему времени я знаю только Sysbase Powerdesigner, который может делать такие вещи (код <--> UML). И Visio может работать с диаграммами баз данных. Но для C++ ...: (( – flashnik

+0

+1 flashnik спасибо за отзыв. Я удивлен, что visio может сделать это с диаграммами баз данных. –

+0

Я обнаружил, что был Visio 2003 для Enterprise Architects, и он был отправлен с Team Suite VS. Он может генерировать код C++ и .Net с диаграммы UML. Так что проблема может быть не в Visio, а в современной версии студии. Может быть, давайте создадим запрос функции для Visio 2010 и VS 2010, в то время как оба они находятся в бета-версии? – flashnik

4

StarUML - это бесплатная (и лучшая) альтернатива с возможностью генерации кода.
Большинство платформ UML генерируют код.

3

ArgoUML - это хороший бесплатный инструмент, который может генерировать диаграммы классов UML, а затем генерировать исходный код из диаграммы. ArgoUML может выводить код на нескольких языках, включая C++.

Вы можете найти его по адресу: http://argouml.tigris.org

+0

Tigris .. Я люблю продукты тигра :) Спасибо, я попробую, а затем снова ответит. – flashnik

+0

Мне также очень нравятся «критики дизайна», они критикуют UML, который вы написали, тем самым помогая вам писать лучший UML. :) –

+0

Нет, это не хорошо для C++. Я попытался импортировать проект, и он не удался ... Надеюсь, они разработают его и исправить проблемы. Теперь это очень ранний продукт. – flashnik

1

Enterprise Architect из Sparx Systems работает хорошо для меня.

Смежные вопросы