Как я могу автоматически генерировать UML-диаграммы из кода Objective-C? - PullRequest
17 голосов
/ 29 июля 2011

Есть ли способ автоматически создать диаграмму UML из кода, в target-C?

Ура, Нильс

Ответы [ 3 ]

12 голосов
/ 15 марта 2012

Та же проблема, все еще ищите ответ:

  • Проверено Doxygen , но я мог генерировать только документацию и фрагменты графика.Может быть, стоит потратить некоторое время на документацию
  • Проверено OmniGraffle , вывод вроде нормальный.Запустите бесплатный демо-период и не собирайтесь покупать полную версию ТОЛЬКО для нескольких случайных графиков.Может быть, будет хорошо, если у вас есть другие способы использования.Не уверен, если OmniGraffle «официально» поддерживает это больше

Наконец найден " objc_dep .py" из GitHub .Это бесплатно, быстро, просто и работает как есть.Он генерирует своего рода «график зависимостей», основанный на импорте, который на самом деле не является UML или диаграммой классов, но был на удивление достаточно близок.

Так вот, что я сейчас использую, но не активно ищуНечто большее".Блог о инструменте objc_dep в " Инструменте графиков зависимостей для проектов iOS " может быть интересен, если вы хотите больше информации с примерами графиков.

... но ищете что-то для создания реального классадиаграммы.

8 голосов
/ 29 июля 2011

Посмотрите на doxygen . Которые, кажется, поддерживают Objective-C. Он может не дать вам диаграмму UML, но он способен отображать ссылки и т. Д. В виде графиков, а с помощью добавленных комментариев вы можете дать больше информации для форматированного вывода.

Смотрите здесь пример в Objective-C, проект clang (на самом деле, clang написан на C ++ и работает с кодом Objective-C) Но я нашел это сообщение в блоге об использовании doxygen для кода Objective-C

0 голосов
/ 21 сентября 2012

Не существует правильного решения для создания UML-диаграммы из кода Reverse Engineering.Я попробовал все вышеперечисленные методы, включая код Python.Код Python, хотя и полезный, терпит неудачу, если у вас огромный проект, к сожалению, это был мой случай.

Спасибо, Прадип

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...