【软件构造】6.1 可维护性的度量与构造原则

可维护性的度量与构造原则

1.软件维护与演化

软件维护:修复错误、改善性能。<-- 软件开发中最困难的工作之一。
软件维护的几个类型:纠错型维护、适应型维护、完善型维护、预防型维护。
软件演化:对软件进行持续的更新。
超过90%的成本来自维护阶段。
软件维护不仅仅是运维工程师的工作,而是从设计和开发阶段就开始的工作。在设计与开发阶段就要考虑将来的可维护性,采用easy to change的设计方案。

2.可维护性的度量

可维护性、可扩展性、灵活性、可适应性、可管理性、支持性…

常用的可维护性度量方式:

1.圈复杂度:线性无关的路径条数,即合理的预防错误所需测试的最少路径条数
圈复杂度大说明程序代码可能质量低且难于测试和维护
2.代码行数:
方法的代码行数过多说明该方法执行的功能太多了,应该分解掉。
3.可维护性指数:0~100 表示维护的难度
4.继承的层次数:
层次越多越不好维护。CRP原则,尽量使用代理而不是继承。
5.类之间的耦合度:
6.单元测试的覆盖度

3.模块化设计与模块性原则

模块化编程:将程序的功能划分到独立的,可交换的模块中
模块性:将系统分解为组件(模块),每个组件(模块)都能从整个系统脱离开,独立地被设计、实现、测试、复用。

3.1 评估模块性的五个标准

1.可分解性:将问题分解为各个可独立解决的子问题
目标:使模块之间的依赖关系显式化和最小化
2.可组合性:可容易的将模块组合起来形成新的系统
目标:使模块可在不同的环境下复用
3.可理解性:每个子模块 都可被系统设计者容易的理解
4.可持续性:小的变化将只影响一小部分模块,而不会影响整个体系结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值