演習 1.3: アーキテクチャー制御ルールの定義
この演習では、『演習 1.1: 必要なリソースのインポート』を完了していることを想定としています。演習 1.3 では、最初にユーザー・シナリオを読みます。次に、ユーザー・シナリオで説明しているソフトウェア設計者の役割を想定し、演習 1.1 でインポートしたプロジェクトを使用して演習を完了します。
ユーザー・シナリオ
外的な要因による依存関係を防ぐために、設計者は安全策をとり、アプリケーションでこのような依存関係が発生しないようにすることができます。これを行うには、提供されているウィザードでルールを作成します。このルールは、ユーティリティー・パッケージがアプリケーション・パッケージに依存するときにアラートを出します。
ルールを作成した後、設計者はそのルールをコード・ベースに適用してコード・レビューを実行します。検出結果には、外的な要因によるアプリケーションでの依存関係が示されます。
演習
この演習では、以下の作業を行います。
- 提供されているウィザードに基づいてルールを定義します。
- ユーザー定義ルールが構造分析コード・レビューに追加されていることを確認します。
- 構造分析コード・レビューを実行します。
- 自分のルールの基準に従っていないコード・レビューの検出結果を表示します。
ルールの定義
提供されているウィザードに基づいてアーキテクチャー制御ルールを定義するには、以下のようにします。
- 「コード・レビュー」ビューのツールバーで、「ルールの管理」アイコン
をクリックします。

- 「設定」ウィンドウで「新規ルール」をクリックします。「新規コード・レビュー・ルール」ウィザードが開きます。
「新規コード・レビュー・ルール」ウィザードで (次の画面取りを参照)、いくつかのステップを行って独自のルールを定義します。この演習では、2 つのコンポーネントの間に依存関係が発生した場合にアラートを出すアーキテクチャー制御ルールを設計します。
- ルールの「アーキテクチャー制御」リストで、「コンポーネント間の [dependency] の挿入を避ける」をクリックします。この選択項目を選択すると、このテンプレートを使用すると 2 つのコンポーネントの間の依存関係が禁止されることがリストの下のテキストに示されます。「次へ」をクリックします。

- 「基本プロパティー」で、デフォルトを受け入れ、構造分析カテゴリーに重大度レベルを「問題」にしてルールを入力します。

- 「固有プロパティー」で、以下のようにルールの独立コンポーネントおよび従属コンポーネントを指定します。
- 独立コンポーネント: workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\IndependentComponent.java
- 従属コンポーネント: workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\DependentComponent.java.
- 「終了」をクリックします。
コード・レビューに追加したルールの表示
- ルールを定義すると、「設定」ウィンドウが表示されます。「コード・レビューの選択」リストで、(まだ選択したコード・レビューになっていない場合は) 「完全コード・レビュー」をクリックします。これにより、すべてのコード・レビュー・カテゴリーが表示されます。
- 「構造分析」フォルダーを展開すると、作成したルールが表示されます。
- ルールをクリックすると、そのルールに設定したプロパティーが表示されます (以下の画面取りを参照してください)。

自分のルールのみを適用するコード・レビューの選択
自分のルールのみについてコード・レビューを実行するには、「構造分析」フォルダー以外のリスト内のフォルダーをすべてクリアします (前の画面取りを参照してください)。「OK」をクリックします。
レビューするコード・ベースの選択
レビューするコード・ベースとしてワークスペースを選択するには、以下のようにします。
- 「コード・レビュー」ビューのツールバーで、「レビュー」アイコン (
) > 「ワークスペースのレビュー」をクリックします。
コード・レビューの実行
レビューするコード・ベースを選択したら、コード・レビューを実行します。ビューの右下隅にある進行状況表示バーを確認すると、状況が分かります。
コード・レビューでの検出結果の表示
コード・レビューが完了すると、「コード・レビュー」ビューに検出結果が表示されます (以下の画面取りを参照してください)。タブの下の統計行に、レビューの要約が示されます。

- 「構造分析」フォルダーを展開すると、検出結果が表示されます。

- 3 番目の検出結果をダブルクリックしてソース・コードをエディターに表示します (以下の画面取りを参照してください)。

『演習 1.3: アーキテクチャー制御ルールの定義』は完了です。
ユーザー定義ルール機能の活用
独自のルールを作成することにより、設計の実装をモニターするカスタムの安全策を適切に配置します。以下の手段をとることができます。
- ルールの基準を指定する。
- ルールに重大度レベル (問題、警告、推奨のいずれか) を割り当てる。
- 自分のルール (複数可) のみについてコード・レビューを実行する。
演習 1.3 のまとめ
『演習 2 アーキテクチャー制御ルールの定義』は完了です。ここでは、以下の作業を行いました。
- 提供されているウィザードに基づいてルールを定義しました。
- ユーザー定義ルールが構造分析コード・レビューに追加されたことを確認しました。
- 構造分析コード・レビューを実行しました。
- 自分のルールの基準に従っていないコード・レビューの検出結果を表示しました。
『演習 1.4: 構造上の問題の解決』に進んでください。