簡體   English   中英

序列圖逆向工程

[英]Sequence Diagram Reverse Engineering

我正在尋找一種工具,可以將Java反向工程為序列圖。但也提供了過濾掉某些庫調用的功能。

例如,Netbeans IDE在這方面做得非常出色,但它包括對String或Integer的所有調用,這會使圖表混亂到無法使用的程度。

任何幫助是極大的贊賞!!!!!!!

我相信解決您問題的完美工具是Diver:逆向工程的動態交互式視圖。 它提供靜態和動態序列圖,並且可以解決您問題中的所有要求。

它是Eclipse的插件,可以讓你:

  • 輕松跟蹤Java程序
  • 可視化程序的運行時功能
  • 過濾您的痕跡,使其更緊湊
  • 根據運行時發生的情況過濾IDE
  • 查看源代碼編輯器中運行的代碼

它在Github上 ,還有一個項目網站

完全披露:我是潛水員目前的項目負責人

試試MaintainJ MaintainJ在運行時為用例生成序列圖。 它提供了多種方法來過濾掉不需要的呼叫 是的,過濾掉不需要的調用是序列圖生成工具中最重要的功能。 此外,MaintainJ提供了一個簡潔的界面來探索圖表並在一個用例或用例中搜索調用。

查看演示視頻以獲得快速概述。

順便說一句,我是MaintainJ的作者。

我認為jtracert就是你要找的東西。 它從正在運行的Java程序生成序列圖。 此外,因為它的輸出是圖表的文本描述(以幾種流行的SD工具的格式),您可以使用grep僅過濾您感興趣的類。

JTracert現已停產。 到位,他們推薦http://www.jsonde.com/

我有一個完全符合您要求的工具。 看看這個

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

除了作為java的逆向工程工具之外,它還非常輕量級。 您可以從java程序中控制要記錄的內容。

Heatlamp( http://www.jmolly.com/heatlamp/ )就是為了這個目的而設計的。

它通過運行Java代碼生成交互式(和可打印的)圖表。 您可以指定過濾器來描述要跟蹤的類,包和方法。 您還可以在呈現圖表后搜索,過濾和折疊調用,以進一步減少序列圖。

免責聲明:我是Heatlamp的作者。

MaintainJ是非常棒的工具,最近我開始使用MaintainJ和我的應用程序,它讓我更加舒適地了解我的系統,基於Maintainj序列和UML圖表來理解我的系統。

我相信上面的問題,MaintainJ會給出更好的主意。 謝謝,克里希納MM

Sparx的企業架構師聲稱能夠對java代碼進行逆向工程,包括生成序列圖 - 請參閱用戶指南的這一部分

看起來它可以記錄調試會話,然后從中生成序列圖

我沒有嘗試過(雖然已經使用EA作為建模工具)所以ymmv!

有免費的30天評估下載

看看http://www.maintainj.com

它不知道,它是否可以過濾庫調用,但它有一個合理的圖形前端,似乎跟蹤甚至非常大的應用程序。

我剛剛開始使用Sparx Systems Enterprise Architect中的序列圖記錄功能。 它對C#非常有效。 您可以按類和方法創建過濾器。 我實際上是在試圖找出是否有可能過濾掉整個包裹。 有一個用於自動排除外部模塊(如.NET Framework)的復選框,它有助於整理。 YMMV for Java,但我認為他們對Java的支持(和文檔)通常比.NET更好(更多示例)。

這是Asgeir答案的附加內容。 這是我找到的鏈接。

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

從命令行運行...“java -jar sequence.jar”...這是一個帶有GUI的Java應用程序。

幫助部分說:SEQUENCE是一個用於生成UML序列圖的程序。 與大多數類似的程序相比,您實際上並沒有繪制圖表。 而是編寫您想要繪制的方法調用的文本描述,並自動計算和繪制布局。

所以這個工具不會對任何東西進行反向工程,但是如果你想從頭開始快速繪制圖形,我可以看到它是如何有用的。 看起來它建於2002年,我認為現在可能有更好的工具。

這是另一個類似的工具: http//sdedit.sourceforge.net/example/index.html

這看起來是一個非常好的工具: http//www.architexa.com/learn-more/sequence-diagrams

但它看起來只有一年免費,然后是每年250美元。 游民。


我發現ModelGoon插件很有幫助。 它有點受限,因為您選擇單個方法作為序列圖的起點,並且它僅顯示方法所做的調用(因此需要更深層次地生成另一個圖表。)

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

JIVE(www.cse.buffalo.edu/jive)將根據Java程序的執行構建一個序列圖。 它具有排除過濾器功能,允許您排除屬於指定類或包的對象。 JIVE可以繪制多線程Java程序執行的序列圖。 在用戶指導下,它還具有水平和垂直尺寸的緊湊大圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM