知识卡片
以架构为度量对象的四点理由
内容
度量对所有科学领域的进步都至关重要,软件度量是保证软件质量的重要技术之一;架构作为开发早期阶段的设计模型,如果能通过度量预测待开发软件的质量、及时发现早期设计缺陷,对降低开发风险、提高最终产品质量意义重大。书中给出以架构(而非代码)作为度量对象的四点理由。一是架构把开发人员的关注点从代码转移到粗粒度的组件间互联关系上,让设计者从编程细节中解放出来,更有效地把握整个系统的设计结构和版本更新问题。二是基于架构的度量能在设计早期发现不合理之处——开发周期后期发现的问题和故障,修改代价远大于早期发现,在设计早期对整体架构度量能及时发现症结、进行相应修改,同时可以基于度量结果对相关指标进行预测。三是基于架构的度量能对架构演化程度进行评估和预测——大型软件通常经历多版本变迁,功能扩充或需求变更容易导致架构大幅改动、系统复杂度升高、可维护性降低,架构度量能从整体把握系统质量属性,通过架构间结构对比直观发现导致质量属性变化的原因,相比传统软件度量更利于分析版本间差距、计算版本距离,帮助控制演化过程并做出合理预测。四是架构度量是一种静态度量方法,不需要执行软件或做仿真,具有成本低、容易实现、不依赖程序特定运行环境的优点——这一点在当前软件网络化、服务化的趋势下尤其受关注,因为很多分布式、服务化系统本身就难以完整地”运行起来”做动态度量。这四点理由共同指向一个核心判断:架构度量的价值不在于它比代码度量”更精确”,而在于它能在更早的阶段、以更低的成本,捕捉到代码度量根本捕捉不到的宏观结构信息。
参考来源
- 位置:《软件架构理论与实践》第13章《软件架构度量和评估》"13.1 引言"节(源文件:_epub-src/OEBPS/text00104.html)
- 结论依据:原文列出以软件架构作为度量对象的四点原因("①从架构出发,可以更有效地把握整个软件系统的设计结构和版本更新问题……④架构度量是一种静态的度量方法,不需要执行软件或者进行仿真"),直接支撑本卡片结论。
- 原始内容:架构度量是一种静态的度量方法,不需要执行软件或者进行仿真,具有成本低、容易实现且不依赖于程序特定的运行环境的优点,在当前软件网络化、服务化的趋势下备受关注。