定义23:累积组件依赖(CCD,cumulative component dependency)就是在一个子系统内的所有组件Ci之上,对每个组件Ci在增量式地测试时所需要的组件数量进行求和。(即累积组件依赖就是为了增量式地测试子系统中所有组件所需的组件数量的总和)
原则25:N代表系统中组件的数量。CCD循环依赖图(N)=(组件的总数)*(测试一个组件的连接时开销)=N*N=N2
大型系统中连接的开销常常是运行彻底的回归测试的开销的主要部分。
原则26:非循环物理依赖可以明显减少与开发、维护和测试大型系统相关的连接时开销。
如果一个非循环设计的依赖关系是树型层次关系,那么其单个测试驱动程序的平均连接时间是与组件数的log成正比的。
原则27:设N为系统中组件的数量。CCD循环依赖图(N)=(N+1)*(log2(N+1)-1)+1
定义24:平均组件依赖(ACD,Average Component Dependency)是指一个子系统的CCD与系统中的组件数量N的比值:ACD(子系统)=CCD(子系统)/N子系统
完全水平化的系统,一个单一组件的规范的改变只会引起一个组件变化;对于一个有N个组件的树型体系结构,平均需要改变大约log(N)个组件;而对于垂直结构,改变一个组件的的接口,可能预期需要重新回访(N+1)/2个组件;对于一个完全循环依赖的设计,单个组件接口的变化可能会影响所有N个组件。
原则28:CCD主要用途是,对一个给定体系结构的较小改动引起的整个耦合结构的变化进行量化。
定义25:标准累积组件依赖(NCCD)是指包含N个组件的子系统的CCD值与相同大小的树型系统的CCD值的比值。NCCD(子系统)=CCD(子系统)/CCD平衡二叉树(N子系统)
如果NCCD的值小于1.0,则可以认为是较"水平化的"或松散耦合的,这样的系统可能很少使用重用;如果NCCD值大于1.0,则可以认为是较"垂直的"或紧密耦合的,这样的系统可能大量使用重用;如果NCCD值远远大于1.0,则表面系统中可能有明显的循环物理依赖。