Page tree
Skip to end of metadata
Go to start of metadata

在当前页:

概要:确认分析设置需要审查技术和依赖设置。


技术设置

通过交付管理者工具交付的包会自动转化项目文件所在的分析单元。CAST应用智能平台将自动识别源代码类型,并为每个分析单元推荐最合适的分析设置,比如:


分析单元级别配置的分析设置优于应用程序级别的任何配置,而应用程序级别的配置又优于技术级别的任何配置(在CAST Management Studio中)

如果需要对分析配置进行任何更改,例如要处理分析日志中发现的警报,必须在特定分析单元适用的分析配置中进行此更改。如果分析单元适用整个应用程序,根据这里介绍的配置覆盖优先机制,应对每个分析单元做出同样修改。

如果无法跨分析单元设置配置,并且需要同时为多个分析单元设置一种配置,则需小心使用分析单元编辑器中的分析选项卡。在这种情况下,必须确保在分析单元级别,不会发生意外的配置覆盖。


CAST推荐的最优方法是接受推荐配置,仅进行任何可追溯更改,以解决分析日志中的警报和/或错误。如果应用程序非常大、非常复杂,或者必须进行一些手动更改以解决无支撑情况,可以在测试模式下运行分析(分析结果不保留),迭代修复任何问题。

有关CAST应用智能管理应执行的自动配置、当前限制和其他验证,详情请参阅以下特定技术页面:

如果使用的是CAST应用智能平台扩展,你可能还需要查阅它们的文档。


依赖设置

此步骤涉及检查依赖设置是否适合技术。在“依赖”选项卡中的应用程序级别配置依赖关系。

当依赖关系存在时,在分析过程中,扫描与源列中技术/分析单元相对应的源代码,与目标列中技术/分析单元相对应的源代码做参照。如果出现任何匹配项,则两个对象间将建立联系(例如,可在CAST Enlighten中看到)。

使用搜索字符串追踪引用,而搜索字符串的选择性低于分析器追踪的其他链接所使用的基于解析器的技术。无论引用的上下文为何,只要提到对象的名称,此技术就会检测到对该对象的引用。因此,如果一个字符串恰好与给定的名称匹配,即时它在逻辑上与相对应的对象不相关,也可能会出现不正确的链接关系。因此,你可能需要进行干预,以过滤掉不正确的引用 — 参见 验证动态链接

依赖关系有三种类型,解释如下:

不正确的依赖设置可能会导致链接缺失 — 缺少技术间相关性 — 或在大量动态链接中 — 存在不正确的依赖关系。这会对质量准则结果和事务流产生连锁反应。


默认准则

CAST Management Studio在技术间自动创建默认依赖准则,如下所示:

如果在应用程序的分析单元间没有“发现”(在CAST发现管理器工具中的包配置过程中)相依性准则,则CAST将采用在技术层面定义的“默认”准则。注意,一般来说,数据库技术中没有任何技术被设置为“目标”。例外情况是MS SQL服务器,它有默认“目标.NET”技术。

默认规则如下:

  • 任何“客户端”结果都依赖于所有“服务器”分析结果
  • JEE分析结果依赖于主机结果

以下屏幕截图示例中,没有”发现“.NET分析单元和MS SQL服务器分析单元间的依赖关系 — 因此使用默认技术级别规则,确保在引用存在的地方创建链接:

具备这种特点的更复杂的一个例子如下。假设我们在技术层面定义了以下规则:

  • JEE > JEE
  • JEE > SQL
  • JEE > Mainframe

如果应用程序中存在以下分析单元:

  • AU1 (JEE)
  • AU2 (JEE)
  • AU3 (JEE)
  • AU4 (SQL)

CAST交付管理者工具自动发现了以下依赖项:

  • AU1 > AU2
  • AU3 > AU2

则这个选项卡中将存在以下依赖项:

  • AU1 > AU2
  • AU3 > AU2
  • JEE > SQL

换言之,因为CAST发现某些分析单元依赖于其他分析单元,并为它们创建了特定的已发现规则,所以JEE > JEE 规则已被删除。JEE分析单元和SQL分析单元间没有发现任何依赖关系,因此会使用默认的JEE> SQL规则。由于应用程序中没有这种技术类型的分析单元,因此不会出现 JEE > Mainframe规则。

发现的规则

发现的依赖性规则也由CAST Management Studio自动创建— 这些规则由CAST交付管理者工具直接从源代码中“发现”。已“发现的”依赖性规则总是存在于分析单元间,因为它们有基于项目间的依赖关系(即类路径,例如 JEE, .NET, C/C++ 等)

如果CAST交付管理者工具中没有“缺失的项目”警报,那么可以确信所有“发现的”依赖项都是正确的。如果CAST交付管理者工具中确实有“缺失的项目”警报,则应始终首先尝试修复这些警报,如果无法修复,则可在项目可用处创建自定义依赖项。

自定义规则

自定义依赖规则是手动创建的规则。通常,创建这些依赖规则是为了覆盖自动默认和发现的依赖规则没有考虑到的情况 — 你需要手动检查源代码以确定应创建哪些依赖项。

一个可能需要自定义规则的例子是在跨技术情况下,分析单元技术A中的代码依赖于分析单元技术B中的代码:

另一个例子是,某项技术并不存在“发现者”,而且必须创建用户定义的分析单元 — 在这种情况下,必须手动创建依赖规则。

注意:

  • 尽管可以使用某种技术(即“给定技术的所有分析单元”)添加自定义依赖项,但应注意这会创建动态链接(见验证动态链接),并且可能也会影响分析性能。
  • 如果使用技术定义自定义依赖项,那么CAST Management Studio将删除覆盖相同技术的任何默认规则:你现在负责管理依赖项。


在多个客户端技术(例如,Java和C/C++)或多个数据库模式存在的情况下,CAST应用智能管理必须设置正确的依赖项,必要时可覆盖默认设置。依赖项设置微调可在CAST_INSTALL_FOLDER\configuration\parametrization\CustomExternalLinksRules.xml文件夹中依据规则进行配置 — 详情请参阅CAST Management Studio帮助。

  • No labels