C++ 大规模程序设计 之 物理层次结构

本文探讨了C++大规模程序设计中物理层次结构的重要性,强调易测试性设计,提出分布测试、隔离测试和避免循环依赖的规则。层次号用于组件的层次划分,累积组件依赖(CCD)作为评估设计质量的量化指标,通过NCCD衡量系统的水平化和耦合程度。
摘要由CSDN通过智能技术生成

在系统中物理组件间必然会存在着各种各样的联系(DependOn 关系)。良好的设计应该是接口短小,易于理解,易于使用和易于测试的。理清物理层次结构对于设计良好的系统是很有帮助的。


易测试性设计

质量设计的一个重要部分是易测试性设计,如果一个组件设计良好,那么用它构造测试用例也是比较容易的,同样它的易用性对于用户来说也是很好的,很多时候测试用例和用户使用的场景是一致的。这个和极限编程中测试驱动的想法是一致的。由使用倒逼设计。

规则 1:对整个系统的层次结构进行分布测试比只在上层测试要有效的多。

如果层次定义的清晰,那么测试起来会很方便,而且测试用例的构造也会非常的合理。如果发现分层次结构测试时构造测试用例很困难,或者很难划分清晰的层次,恐怕物理结构的设计已经出现了问题。

规则 2:隔离测试

也可以理解成一种独立的测试,针对每个模块的独立测试目的是为了降低集成测试时的风险。隔离测试可以确保单个组件的有效性。同时也是检查组件间依赖设计的好坏的一种方式。如果要单独执行某个组件还要依赖好多其他的组件,隔离起来有点困难,那么可能要重新考虑一下组件或子系统的设计了。

规则 3:非循环物理依赖

循环依赖,组件间的相互依赖。

这里写图片描述

非循环依赖的好处是可以更容易的进行测试。有循环依赖甚至很难确定测试的顺序。循环依赖更大问题是限制了组件的重用,增加理解和使用的成本。

要想解决循环依赖,可以考虑两个方面:一,重新打包,解开循环链。二,将循环依赖的两个或多个组件组成一个新的组件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值