练习 1.3:定义体系结构控制规则
此练习假设您已完成练习 1.1:导入必需的资源。在练习 1.3 中,您首先将读到一个用户场景。然后您担当用户场景中所述的软件设计人员的角色,并使用在练习 1.1 中导入的项目来完成练习。
用户场景
为防止无关的依赖关系,设计人员需要在适当的地方放置防护代码,以确保不会在应用程序中引入任何东西。为此,他要通过所提供的向导创建一个规则。如果实用程序包变得依赖于应用程序包,则该规则会提醒他。
创建规则之后,设计人员通过将该规则应用于代码库来运行代码复审。发现结果将显示应用程序中所有无关的依赖关系。
练习
在此练习中,您要执行以下任务:
- 根据提供的向导定义一个规则。
- 验证用户定义的规则已添加到结构分析代码复审。
- 运行结构分析代码复审。
- 查看不符合规则标准的代码复审发现结果。
定义规则
要根据提供的向导定义体系结构控制规则,请执行以下操作:
- 在“代码复审”视图中的工具栏上单击管理规则图标
。

- 在“首选项”项窗口单击新建规则。此时将打开“新建代码复审规则”向导。
下面的屏幕捕捉显示了“新建代码复审规则”向导,它引导您通过一些步骤来定义您自己的规则。在此练习中,您将设计一个体系结构控制角色,当两个构件之间引入了依赖关系,该角色会提醒您。
- 在规则的体系结构控制列表中,单击引入的组件[依赖关系]。请注意,当您选择此选项时,列表下面的文本要求您使用此模板来禁止两个组件之间出现依赖关系。单击下一步。

- 在基本属性下,接受将规则放入结构分析类别的缺省设置,其中还带有问题的严重性级别。

- 在特定属性下,为规则指定独立的和依赖的构件:
- 独立构件: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:解决结构问题了。