Создавать диаграммы потоков данных из источника VB.NET?

Доступен ли какой-либо инструмент, который может генерировать диаграммы потоков данных и диаграммы отношений сущностей непосредственно из исходного кода VB.NET?


person gudluck    schedule 17.03.2009    source источник
comment
Пожалуйста, укажите, для какого языка (языков) вам это нужно, так как любой такой инструмент должен быть очень специфичным для языка.   -  person unwind    schedule 17.03.2009


Ответы (2)


Doxygen может создавать диаграммы отношений сущностей непосредственно из исходного кода. Это будет наиболее эффективно, если вы аннотируете источники в стиле разметки Doxygen. Я могу от всей души порекомендовать использовать Doxygen для проектов разработки языков C/C++...

Это не (по крайней мере, не последнее, что я проверял) диаграммы потоков данных.

Все его диаграммы создаются путем их описания на точечном языке, понятном пакету Graphviz компании AT&T.

Конечно, можно было бы рисовать диаграммы потоков данных с помощью graphviz, но для того, чтобы делать это автоматически из исходного кода, вам нужно было бы иметь достаточно синтаксического анализатора, чтобы найти поток данных в первую очередь. Существует XML-бэкэнд для GCC, который может предоставить информацию, необходимую для реализации этого, но это, безусловно, нетривиальный проект.

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

person RBerteig    schedule 17.03.2009

Не совсем отвечая вашим потребностям, Doxygen имеет некоторые возможности в этой области для нескольких распространенных языков. Он использует пакет Graphviz.

person mouviciel    schedule 17.03.2009