Существует ли какое-либо программное обеспечение для генерации UML-диаграмм на основе анализа кода?[закрыто]

StackOverflow https://stackoverflow.com/questions/4841312

  •  27-10-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Существует множество инструментов, делающих именно это на различных уровнях качества.Я хотел бы упомянуть, что создание UML-диаграмм для целей документации может оказаться не очень хорошей идеей, особенно в крупных проектах.Проблема в том, что в сложных кодовых базах существует множество связей между классами, вызывается много кода и т.д.в принципе, любой выбранный вами тип диаграммы может в конкретном проекте выглядеть раздутым.Запутанная диаграмма может быть хуже, чем хорошо структурированная текстовая документация.По сути, я пытаюсь сказать, что основная идея моделирования заключается в том, чтобы абстрагироваться от несущественных деталей и автоматически определять, что является несущественным, непросто и часто зависит от проекта, поэтому в большинстве случаев полезнее создавать гораздо меньше диаграмм вручную, что будет содержать гораздо больше полезной информации.

Другие советы

В Visual Studio 2010 вроде как есть это для проектов на C # и VB, а Visio 2003 в свое время мог это сделать для .NET и C ++ проектов...Другие инструменты, я не знаю.

Если вы спрашиваете о диаграммах классов, Корпоративный архитектор Sparx может сделать это для нескольких языков, включая Visual Basic, C #, Java и Python.

Я также знаю, что у него есть возможность генерировать диаграммы последовательностей путем запуска .ЧИСТЫЙ код в отладчике, но я не знаю, доступна ли эта функция для других языков.

UMLGraph или apiviz может помочь, если вы работаете в среде Java.

хтх.

Какой конкретно язык вы используете (также платформа и инструменты помогли бы точно определить потенциальные решения)?

Похоже, что doxygen поддерживает диаграмму как есть (для C ++): http://www.doxygen.nl/manual/diagrams.html

Возможно, вас заинтересуют ответы здесь:Генерация UML из кода C ++?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top