2009-04-28 83 views
4

我遇到了Lattix,通過調查代碼來分析體系結構。它支持C/C++,Java,.Net等。可以定義某些規則來維護定義的體系結構。該工具可以在構建時標記任何違規行爲。Lattix體系結構分析工具

有沒有人使用過這個或任何其他類似的工具?我看到了這個工具在開發中的一些好處,但不確定這種工具是否必須具備?

回答

0

NDepend是一個非常完整的工具來分析.Net程序的軟件架構。這種工具非常便於跟蹤依賴關係並衡量各種代碼度量。

1

我們同時使用Lattix和NDepends來跟蹤我們的程序集的依賴關係。

這兩種工具都支持通過依賴關係結構矩陣(DSM)靜態可視化程序集和類之間的依賴關係。 DSM使您能夠顯示應用程序的體系結構。例如,如果您使用分層,則應在DSM中可見。循環依賴關係也將在DSM中可見。

一個不錯的實用介紹可以在OOPSLA05-dsm.pdf

NDepends找到專門針對.Net和具有Visual Studio集成。 Lattix還能夠爲其他語言創建DSM。兩者都支持構建集成,允許您在構建中創建規則以防止錯誤的依賴關係。

只需嘗試這兩種工具,看看生成的DSM是否是您所期望的。檢查循環依賴關係,看看是否有無效的依賴關係。例如,直接使用數據訪問層而不是使用業務層的用戶界面。

+0

更多依賴結構矩陣使用這裏http://www.ndepend.com/Doc_Matrix.aspx發現設計模式 – 2010-10-18 17:48:52

0

嗯,這個工具看起來很膨脹,很好,並且在展示時工作得很好。
之後,好吧,所有那些從C++開始進行反向工程的工具(根據我的經驗,很少有Rational Rose,StarUML,Sparx(更好的版本),理解)......都陷入困境。
我可以看到爲什麼 - C++中的代碼比C#更復雜,次序更少,鏈接到庫,模塊和COM等等。
在我們的實際項目中(基於Understanding數據庫),逆向工程被立即凍結並完全凍結(我的意思是硬重置凍結)。
可能我們需要在WS或服務器上運行它。
可能是理解錯誤。
重置後,它的矩陣在〜200個模塊以下打開時變得非常慢。那麼,我從來沒有說過我們的項目開發得很好,對。我們希望研究它以使其更好。 我仍然認爲它可以在長期內非常有幫助(如果貴公司同意支付連續重新工作的支票),但所有這些工具最好從頭開始並始終持續使用。 NB我們嘗試將它與bsc(Microsoft數據庫)結合使用,但它也失敗了。

0

我已經使用Lattix來主要分析C++,.NET,Java和Fortran代碼。這對於新的應用程序開發和改進現有軟件的體系結構都很有幫助。該工具支持直接導入.NET dll,Java類或jar文件以及SQL連接。如果您正在查看C++或Fortran,則需要像Klockwork,Understanding或Clang這樣的解析器。您可以使用每個軟件構建對您的Lattix項目進行持續更新 - 這將確保您擁有更新的DSM,以持續監控您的軟件架構。這可以讓你知道你的軟件隨着時間的推移如何變化,以及代碼是否違反了你在設計開始時設置的規則,或者是否需要修改任何規則等。爲了查看現有軟件,該工具可以快速分解系統,並確定哪裏存在週期性依賴關係。存在用於基於與其他子系統(例如類)的接近度來對系統進行分區的算法或基於依賴性模式對子系統進行分組的算法。如果您希望改進現有軟件的體系結構並使其成爲模塊化,這會很有幫助。

有上kb.lattix.com豐富的信息 - 只需註冊閱讀文章。另外,我認爲他們提供了一個評估版本,您可以查看該工具是否對您有用。