BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース アーキテクチャ分析ツールであるSonarJ 6.0が構造的負債指数と品質モデルをサポート

アーキテクチャ分析ツールであるSonarJ 6.0が構造的負債指数と品質モデルをサポート

ブックマーク

原文(投稿日:2010/08/16)へのリンク

ソフトウエア アーキテクチャの分析と品質管理ツールである SonarJの最新バージョンは、構造的負債指数メトリクスとアーキテクチャ品質モデルをサポートしている。この製品を出しているのは、hello2morrowで、先月、このツールのバージョン6のリリースを アナウンスした

この新メトリクス「構造的負債指数」によって、アプリケーションの全体的な構造的負債を測定できる。経験則を使って、プロジェクトの構造的な低下を測定し、アプリケーションの構造的負債を除くのに必要な工数を示してくれる。もしプロジェクトに循環するパッケージ 依存関係、アーキテクチャ設計上の違反、しきい値オーバーの警告、あるいは、残っているタスクがあると、Structural Debt(構造的負債) ダッシュボックスが表示される。

SonarJの無料版では、このメトリクスの内、循環するパッケージ 依存関係を示す。商用ライセンス版には、その他の統計、すなわちアーキテクチャ設計上の違反、しきい値オーバーの警告、あるいは、残っているタスクが加わる。他のメトリクス、例えば、「カットすべき型の依存関係」と「除くべき参照の数」は、すべてのパッケージ循環を断ち切るために、除くべき型の依存関係がいくつあり、その各変更によって、影響を受けるコードが何行かを示す。またコード分析ツール Sonarプラグイン のアップデート版があり、 Sonarダッシュボード webページに新しい 構造的負債指数の統計データを表示する。

SonarJ 6.0では、またソフトウエア アーキテクトは、アプリケーション アーキテクチャの品質モデルを定義することができる。品質モデルは、特定の品質ガイドラインに従うことを強制するのに使うことができる、メトリクスのしきい値のセットである。新しいリリースには、“Essential”モデルと“Extended”モデルと呼ばれる2つのすぐ使える品質モデルがいっしょに出荷される。 Essentialモデルでは、継続的な結合のために、簡単な入門として使える。またExtended モデルは、もっとしきい値が定義でき、知らないコード中の問題を見つけるのに役に立つ。

最新バージョンに含まれる他の新しいフィーチャには,以下のものがある:

  • 新しいダッシュボードは、1ページに最も重要なメトリクスを集め、交通信号灯の色で、潜在的な問題を強調する。
  • 新しいシステム生成ウィザードに従って、ユーザが、必要な全ステップを済ませれば、Eclipse IDEやMaven アプリケーション ビルド ツールからソフトウエア システムをインポートできる。また新たに加わったビルド ユニットは、Maven あるいは EclipseのプロジェクトとSonarJ プロジェクトのマッピングに役立つ。ビルド ユニットには,ソースのセットやクラスファイルのルート ディレクトリが含まれていて、通常は、Maven あるいは Eclipseのプロジェクトに直接マップされる。SonarJ プロジェクトは、ビルド ユニットをいくつでも含むことができる。
  • Javaの型をアーキテクチャの要素(レーヤー,スライス、あるいはサブシステム)に割り当てるパターンは、今回のリリースでは、強い階層パターンと弱い階層パターンを持っている。強い階層パターンは、ある型を親要素から課せられた制約にかかわらず、特定のアーキテクチャ要素に強制的に割り当てるのに使用できる。そして弱い階層パターンは、他の(より強いパターン)によってマッチされなかったタイプに、マッチするのに使うことができる。
  • サンドボックシング: 新しいサンドボックシングモードによって、ユーザは、アーキテクチャ上のアイデアやリファクタリングのアイデアを色々試すのに、元のシステムファイルを変更すること無く、システムファイルの変形版を試すことができる。
  • レポート生成: SonarJ は、またRTFのテンプレートをベースにしたレポートを生成できるようになった。生成されたレポートは、RTFファイルを扱えるエディタ プログラム(例えば、Microsoft Word )を使ってカスタマイズできる。
  • アーキテクチャ ビューには、"highlight restrictions(制限のハイライト)"と呼ばれる新しいオプションが加わった。このモードで、あるアーキテクチャ要素を選択すると、他のすべての要素は,グリーンかレッドに色付けされる。グリーンの要素は、この選択した要素からアクセスできるもので、レッドの要素は、アクセスできないものである。

SonarJ には、製品が3種類ある。 SonarJ-Architectは、アーキテクチャ ルールを作成したり,修正したりできる。SonarJ-Developer モジュールは、開発者がEclipse 上で、ルール違反を検知したり、仮想のリファクタリングを実行することができる。 SonarJ-Reportは、Ant タスクと Mavenプラグインからできていて、レポートの作成や CruiseControlのような、継続的結合をサポートする。またSonarJ のワーク アイテムを JIRACodebeamerのようなタスク トラッキングやアプリケーション ライフサイクル 管理(ALM)ツールと同期をとるのに使うこともできる。このツールは、無料版があり、バイトコードで5万命令 (コードで約2万行)まで使うことができる。

この記事に星をつける

おすすめ度
スタイル

BT