演習 1.3: アーキテクチャー制御ルールの定義
この演習は、『演習 1.1: 必要なリソースのインポート』が
完了していることを前提としています。演習 1.3 では、最初にユーザー・シナリオを
読みます。次に、ユーザー・シナリオに説明されているソフトウェア設計者の役割を
担い、演習 1.1 でインポートしたプロジェクトを使用して、演習を実行します。
ユーザー・シナリオ
設計者は、外部依存関係を防ぐために、正しい場所に保護を導入して、
アプリケーションに何も取り込まれないようにする必要があります。これを行うには、
提供されたウィザードからルールを作成します。ルールは、ユーティリティー・
パッケージがアプリケーション・パッケージに依存するようになると、設計者に警告を出します。
ルールを作成した後で、設計者は、それをコード・ベースに適用してコード・レビューを
実行します。検出結果には、アプリケーションの外部依存関係が表示されます。
演習
この演習では、以下の作業を実行します。
- 提供されたウィザードを基にルールを定義する。
- ユーザー定義ルールが構造分析コード・レビューに追加されていることを
確認する。
- 構造分析コード・レビューを実行する。
- ルールの基準に従っていないコード・レビュー結果を表示する。
ルールの定義
提供されるウィザードを基にしたアーキテクチャー制御ルールを定義するには、
以下のようにします。
- 「コード・レビュー (Code Review)」ビューの
ツールバーで、「ルールの管理 (Manage Rules)」アイコン
を
クリックします。

- 「設定」ウィンドウで、「新規ルール (New rule)」をクリックします。
「新規コード・レビュー・ルール (New Code Review Rule)」ウィザードが開きます。
次の画面取りに示されているように、「新規コード・レビュー・ルール (New Code Review Rule)」
ウィザードは、独自のルールを定義するための幾つかのステップを示します。
この演習では、2 つのコンポーネント間に依存が発生した場合に警告を出す
アーキテクチャー制御ルールを設計します。
- ルールの「アーキテクチャー制御 (Architectural Control)」
リストで、「取り込まれたコンポーネント [依存] (Component [dependency] introduced)」を
クリックします。この項目を選択すると、リストの下に、
2 つのコンポーネント間の依存が許可しないためにこのテンプレートを使用するように示すテキストが表示されます。
「次へ」をクリックします。

- 「基本プロパティー (Basic properties)」の下で、「問題」の
重大度レベルとともに、構造分析カテゴリーでルールを設置するというデフォルトを
受け入れます。

- 「特定のプロパティー (Specific properties)」で、ルールの
独立コンポーネントと依存コンポーネントを指定します。
- 独立コンポーネント: workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\IndependentComponent.java
- 依存コンポーネント: workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\DependentComponent.java.
- 「完了」をクリックします。
コード・レビューに追加したルールの表示
- ルールを定義すると、「設定」ウィンドウが表示されます。
「コード・レビューの選択 (Select Code Review)」リストで、選択した
コード・レビューがない場合は、「コード・レビューの作成 (Complete Code Review)」を
クリックします。これにより、コード・レビュー・カテゴリーがすべて表示されます。
- 先ほど作成したルールを表示するには、Structural Analysis フォルダーを
展開します。
- 次の画面取りに示されているように、設定したプロパティーを表示する
ルールをクリックします。

ユーザーのルールのみを適用するコード・レビューの選択
ユーザーのルールのみについてコード・レビューを実行するには、前の画面取りに
示されているように、Structural Analysis フォルダーを除く
リスト内のフォルダーをすべてクリアします。「OK」をクリックします。
レビューを実行するコード・ベースの選択
レビューを実行するコード・ベースとしてワークスペースを選択するには、以下の手順を実行します。
- 「コード・レビュー (Code Review)」ビューのツールバーで、「レビュー (Review)」アイコン
(
) >「ワークスペースのレビュー
(Review Workspace)」をクリックします。
コード・レビューの実行
レビューを実行するコード・ベースを選択した後で、コード・レビューを実行します。
ビューの右下隅にある進行状況表示バーを確認することで、状況を追跡できます。
コード・レビュー検出結果の表示
以下の画面取りに示されているように、コード・レビューが終了すると、
「コード・レビュー (Code Review)」ビューに検出結果が表示されます。タブの下の
統計行には、レビューの要約が表示されます。

- 検出結果を表示するには、Structural Analysis フォルダーを展開します。

- 次の画面取りに示されているように、エディターでソース・コードを
表示するために、3 番目の検出結果をダブルクリックします。

『演習 1.3: アーキテクチャー制御ルールの定義』が完了しました。
ユーザー定義ルールの利点の利用
独自のルールを作成することによって、設計の実装をモニターするための
カスタムの保護が正しい場所に導入されます。以下の手段を取ることができます。
- ルールの基準を指定する。
- ルールに重大度レベル (問題、警告、または勧告) を割り当てる。
- 自身のルールでのみコード・レビューを実行する。
演習 1.3 の要約
『演習 1.3: アーキテクチャー制御ルールの定義』が完了しました。この演習では、
次のタスクを実行しました。
- 提供されたウィザードを基にルールを定義する。
- ユーザー定義ルールが構造分析コード・レビューに追加されていることを
確認する。
- 構造分析コード・レビューを実行する。
- ルールの基準に従っていないコード・レビュー結果を表示する。
これで、『演習 1.4: 構造上の問題の解決』の
開始準備ができました。