2009-04-28 25 views
4

コードを調査してアーキテクチャを分析するためにLattixに出くわしました。 C/C++、Java、.Netなどをサポートしています。定義されたアーキテクチャを維持するためのルールを定義できます。このツールは、ビルド時に違反にフラグを付けることができます。Lattixアーキテクチャ解析ツール

誰かがこのツールや他の同様のツールを使用していますか?このツールの開発にはいくつかの利点がありますが、この種のツールがなければならないかどうかはわかりません。

答えて

0

NDependは.Netプログラムのソフトウェアアーキテクチャを分析するための非常に完全なツールです。この種のツールは、依存関係を追跡したり、さまざまなコードメトリックを測定するのに非常に便利です。

1

私たちは、LattixとNDependの両方を使用して、アセンブリの依存関係を追跡します。

両方のツールは、依存関係構造マトリックス(DSM)を使用して、アセンブリとクラス間の静的なビジュアライズ依存関係をサポートします。 DSMを使用すると、アプリケーションのアーキテクチャを表示することができます。たとえば、レイヤーを使用する場合、これはDSMに表示されます。サイクリック依存関係もDSMに表示されます。

素敵な実用的な導入がOOPSLA05-dsm.pdf

NDependsで見つけることができ、具体的.NETを対象とVisual Studioの統合を持っています。 Lattixは他の言語用のDSMを作成することもできます。両方とも、ビルドの統合をサポートしています。これにより、誤った依存関係を防ぐためにビルドのルールを作成することができます。

両方のツールを試して、生成されたDSMが期待どおりのものかどうかを確認してください。循環依存関係をチェックし、無効な依存関係があるかどうかを確認します。たとえば、ビジネスレイヤーを使用する代わりにデータアクセスレイヤーを直接使用するユーザーインターフェイス。

+0

依存構造の詳細ここでデザインパターンを見つけるためのマトリックスの使用http://www.ndepend.com/Doc_Matrix.aspx –

0

さて、このツールは、膨らんだように見えて、うまくいき、提示されるときれいになりました。
その後、リバースエンジニアリング(Rational Rose、StarUML、Sparx(より良いもの)のいくつかのバージョンでの私の経験では、C++からの理解)が問題になります。
私はなぜC#のコードが複雑で、C#よりも順序が劣り、ライブラリ、モジュール、COMなどへのリンクがあるのがわかります。
私たちの本当のプロジェクトでは、リバースエンジニアリングは即座に完全にフリーズされました(私はハードリセットフリーズを意味します)。
WSまたはサーバーで実行する必要があるかもしれません。
理解できなかったのかもしれません。
リセット後、その行列が〜200モジュールを下回ったときに非常に遅くなりました。まあ、私のプロジェクトはうまく発展しているとは言いませんでした。我々はそれをより良くするためにそれを研究することを望んだ。 私はまだ長期的に(あなたの会社が継続的な再作業の小切手を支払うことに同意した)非常に役立つことができると信じていますが、すべてのツールとして、最初からスタートして常に使用してください。 NB bsc(Microsoftデータベース)と共に使用しようとしましたが、失敗しました。

0

私はLattixを主にC++、.NET、Java、Fortranコードの解析に使用しました。新しいアプリケーションの開発と既存のソフトウェアのアーキテクチャの改善の両方に役立ちます。このツールは、.NET DLL、Javaクラスまたはjarファイルの直接インポート、およびSQL接続をサポートしています。 C++やFortranを見ているなら、Klockwork、Understand、Clangのようなパーサが必要になります。すべてのソフトウェアビルドでLattixプロジェクトの更新を継続することができます。これにより、ソフトウェアのアーキテクチャを継続的に監視するDSMが更新されます。これにより、時間の経過とともにソフトウェアがどのように変化しているのか、デザインの始めに設定したルールに違反しているコードや修正が必要なルールに違反しているかどうかを知ることができます。システムを構築し、周期的な依存関係がどこにあるかを特定します。依存性パターンに基づいて、他のサブシステム(例えば、クラス)への近接性またはサブシステムをグループ化することに基づいてシステムを区分するためのアルゴリズムがある。これは、既存のソフトウェアのアーキテクチャを改善し、モジュラー化する場合に役立ちます。

kb.lattix.comには豊富な情報があります。記事を読むためにサインアップしてください。また、評価版を提供していると思うので、ツールがあなたに役立つかどうかを調べることができます。

関連する問題