2008-09-17 5 views
27

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

Например, Netbeans IDE делает фантастическую работу, но включает в себя все вызовы String или Integer, которые загромождают диаграмму до такой степени, что она непригодна для использования.

Любая помощь с благодарностью !!!!!!!

+0

Вы использовали так много тегов, что вы еще не дали понять, на каком языке вы хотите перепроектировать! Ява? – 2008-09-17 20:17:50

ответ

9

Я думаю, что jtracert - это то, что вы ищете. Он генерирует диаграмму последовательности из запущенной программы Java. Кроме того, поскольку его вывод представляет собой текстовое описание диаграммы (в форматах нескольких популярных инструментов SD), вы можете использовать grep для фильтрации только для интересующих вас классов.

+5

с веб-сайта проекта, jTracert прекращен в пользу jSonde – 2011-10-11 18:52:59

+0

Нет реального контента на jsonde.com – zkarthik 2013-03-15 16:25:01

+0

любой инструмент для генерации диаграммы последовательности из исходных файлов? вместо запуска кода? – Mahesha999 2016-08-22 13:52:37

1

Архитектор предприятия от Sparx утверждает, что может быть перепроектировать код Java, включая диаграмму последовательности генераторной - см этого раздел user guide

он выглядит, как он может записать сеанс отладки, а затем вы создаете диаграмму последовательности из этого

Я не пробовал (хотя использовали EA в качестве инструмента моделирования), поэтому ymmv!

Существует бесплатный 30day скачать оценки доступны

1

Посмотрите на http://www.maintainj.com

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

0

Я только начал использовать функцию записи диаграммы последовательности в Sparx Systems Enterprise Architect. Он отлично работает для C#. Вы можете создавать фильтры по классам и по методу. Я на самом деле пытаюсь выяснить, можно ли отфильтровать весь пакет. Существует флажок для автоматического исключения внешних модулей (например, .NET Framework), которые помогают в declutter. YMMV для Java, но я думаю, что их поддержка (и документация) для Java в целом лучше (больше примеров), чем для .NET.

3

У меня есть инструмент, который точно соответствует вашим требованиям. Проверьте это

http://sourceforge.net/projects/javacalltracer/

В дополнение к тому, инженерный инструмент для Java это также очень легкий. Вы можете управлять тем, что хотите записать из своей Java-программы.

9

Попробуйте MaintainJ. MaintainJ генерирует диаграммы последовательности во время выполнения для прецедента. Он обеспечивает multiple ways to filter out unwanted calls. Да, фильтрация нежелательных вызовов является наиболее важной функцией, необходимой в инструментах генерации диаграмм последовательности. Кроме того, MaintainJ обеспечивает удобный интерфейс для изучения диаграммы и поиска вызовов в одном случае или в разных вариантах использования.

Прослушать demo video, чтобы получить быстрый обзор.

Я являюсь автором MaintainJ, кстати.

1

Heatlamp (http://www.jmolly.com/heatlamp/) был разработан именно для этой цели.

Он генерирует интерактивные (и печатаемые) диаграммы из запуска Java-кода. Вы можете указать фильтры для описания того, какие классы, пакеты и методы отслеживать. Вы также можете искать, фильтровать и сворачивать вызовы после визуализации диаграммы для дальнейшего уменьшения диаграммы последовательности.

Отказ от ответственности: Я являюсь автором Heatlamp.

1

MaintainJ - действительно замечательный инструмент, недавно я начал использовать с MaintainJ с моим приложением, он дает больше комфорта с моим использованием, чтобы понять мою систему на основе последовательности Maintainj. & UML-диаграммы.

Уверен, что в вышеупомянутом вопросе MaintainJ предоставит лучшую идею. Спасибо, Krishna MM

10

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

Это плагин для Eclipse, и позволяет:

  • легко отслеживать ваши Java программы
  • НАГЛЯДНЫЕ программы функциональные возможности выполнения
  • Фильтр следов, чтобы сделать их более компактными
  • Фильтр IDE основанный на том, что происходит во время выполнения
  • Посмотрите, что код запустил в ваших редакторах исходного кода

Это на Github и есть также project web site

Полное раскрытие: Я в настоящее время руководитель проекта для Diver

0

Вот и дополнения к ответу Асгеир в. Вот ссылка, которую я нашел.

http://www.zanthan.com/ajm/sequencev7/sequence.jar

Выполнить из командной строки ... "ява -jar sequence.jar" ... это приложение Java с графическим интерфейсом.

В разделе справки сказано: SEQUENCE - это программа для создания диаграмм последовательности UML. В отличие от большинства подобных программ вы фактически не рисуете диаграмму. Вместо этого вы пишете текстовое описание вызовов методов, которые вы хотите использовать для диаграммы, и макет вычисляется и рисуется автоматически.

Таким образом, этот инструмент не реверсирует ничего, но я могу видеть, как это может быть полезно, если вы хотите быстро нарисовать диаграммы с нуля. Похоже, что он был построен в 2002 году, и я думаю, что сейчас есть, вероятно, лучшие инструменты.

Вот еще один подобный инструмент здесь: http://sdedit.sourceforge.net/example/index.html

0

Это выглядит как очень хороший инструмент: http://www.architexa.com/learn-more/sequence-diagrams

Но, похоже, это бесплатно только в течение года, то его $ 250 в год. Облом.


Я нашел плагин ModelGoon полезным. Это немного ограничено, потому что вы выбираете один метод в качестве отправной точки для диаграммы последовательности, и она показывает только вызовы, метод делает (так пройти уровень глубже вам нужно создать еще одну диаграмму.)

http://www.modelgoon.org/?page_id=53

0

JIVE (www.cse.buffalo.edu/jive) построит диаграмму последовательности из выполнения программы Java. Он имеет функцию фильтра исключения, позволяющую исключать объекты, принадлежащие определенным классам или пакетам. JIVE может рисовать диаграммы последовательности для многопоточной реализации Java-программы. Он также имеет возможность компактных больших диаграмм как по горизонтали, так и по вертикали, под руководством пользователя.