練習 1.3:定義架構控制規則
這個練習假設您已經完成練習 1.1:匯入所需的資源。在練習 1.3 中,請先閱讀使用者實務。然後您要擔負使用者實務中說明的軟體架構設計師角色,
並使用您在練習 1.1 匯入的專案,來完成練習。
使用者實務
為了避免額外的相依關係,架構設計師要訂立一套防範措施,確保應用程式不會發生這種情況。為了做到這一點,他使用系統提供的精靈建立一個規則。該規則會在有公用程式套件依賴應用程式套件時,向他提出警示。
建立好規則之後,架構設計師就將規則套用到程式碼庫,以執行程式碼複查。執行後的發現項目,會顯示出應用程式內發生之任何額外的相依關係。
練習
在本練習中,您要執行下列作業:
- 依據系統提供的精靈,定義規則。
- 確定您的由使用者定義的規則,有加入「結構分析程式碼複查」中。
- 執行「結構分析程式碼複查」。
- 檢視程式碼複查的發現項目中,不符合您規則之準則的部分。
定義規則
若要依據系統提供的精靈,定義架構控制規則:
- 在「程式碼複查」視圖的工具列上,按一下管理規則圖示
。

- 在「喜好設定」視窗中,按一下新增規則。這時會開啟「新增程式碼複查規則」精靈。
「新增程式碼複查規則」精靈,如下一個畫面擷取所示,會以數個步驟引導您完成定義您自己的規則。在此練習中,您將設計一個架構控制規則,以便在元件之間產生相依關係時,向您提出警示。
- 在規則的「架構控制」清單中,按一下元件發生 [dependency]。請注意,當您選取這個選項時,清單下方的文字會指出使用此範本可禁止元件之間發生相依關係。按下一步。

- 在基本內容下,接受預設值,將規則放在結構分析種類內,並具有一個問題嚴重性層次。

- 在特定的內容下,指定規則的獨立與相依元件:
- 獨立元件:workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\IndependentComponent.java
- 相依元件:workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\DependentComponent.java。
- 按一下完成。
查看您的規則已加入程式碼複查
- 定義好規則之後,會出現喜好設定視窗。在選取程式碼複查清單中,
按一下完整程式碼複查(如果尚未選取)。此動作會顯示所有程式碼複查種類。
- 展開結構分析資料夾,查看您剛剛建立的規則。
- 按一下該規則,查看您對其設定的內容,如下列畫面擷取所示:

選擇只適用您的規則之程式碼複查
若要只針對您的規則執行程式碼複查,請清除清單中的所有資料夾,
只保留結構分析資料夾,如前一個畫面擷取所示。然後按一下確定。
選取要複查的程式碼庫
若要選取工作區作為要複查的程式碼庫:
- 在「程式碼複查」視圖的工具列上,按一下複查圖示
(
) > 複查工作區。
執行程式碼複查
當您選取要複查的程式碼庫之後,程式碼複查就會開始執行。您可以檢查位在視圖右下角的進度列,追蹤其執行狀態。
檢視程式碼複查發現項目
當程式碼複查完成時,就會在「程式碼複查」視圖中顯示發現項目,如下列畫面擷取所示。在標籤下方的統計行,會彙總複查結果。

- 展開結構分析資料夾,查看其中的發現項目。

- 按兩下第三個發現項目,在編輯器中查看其原始碼,如下列畫面擷取所示:

現在您已經完成「練習 1.3:定義架構控制規則」。
運用使用者定義規則的威力
藉由建立您自己的規則,您可以設置自訂的防範措施,來監視您的設計之實作方式。您可以採取下列措施:
- 指定規則的準則。
- 對規則指定嚴重性層次:問題、警告或建議。
- 只用您的規則執行程式碼複查。
完成練習 1.3
現在您已經完成「練習 2:定義架構控制規則」。在這個練習中,您執行了下列作業:
- 依據系統提供的精靈,定義一個規則。
- 確定您的由使用者定義的規則,已加入「結構分析程式碼複查」中。
- 執行「結構分析程式碼複查」。
- 檢視程式碼複查的發現項目中,不符合您規則之準則的部分。
現在,您可以開始進行練習 1.4:解決架構問題。