ξ 3.1 软件系统的可维护性
☆ 导致一个软件设计的可维护性较低,也就是说会随着性能要求的变化二“腐烂”的真正原因有四个:
① 过于僵硬
加入一个新性能,不仅仅意味着建造一个独立的模块,而且因为这个新性能会波及很多其他的模块,最好变成跨越几个模块的改动。
② 过于脆弱
对一个地方的修改,往往会导致看上去没什么关系的另外一个地方发生故障。尽管在修改之前,设计师会尽力预测可能的故障点,当是修改完成之前,系统的原始设计师们甚至都无法预测到可能会波及的地方。
③ 复用率低
每当程序员发现一段代码、函数、模块所做的事情是可以在新的模块、或者新系统中使用的是,他们总是发现,这些已有的代码依
赖于一堆其他的东西,以至于很难将它们分开。最好他们发现最好的办法就是不去“碰”这些已有的东西,而是重新写自己的代码。他们可能会使用源代码拷贝的办
法,以最原始的复用方式,节省一些时间。
④ 黏度过高
有的时候,一个改动可以以保存原始设计意图和原始设计框架的方式进行,也可以以破坏原始意图和框架的方式进行。一个系统设
计,如果总是使得第二种办法比第一种办法容易,就叫黏度过高。一个黏度过高的系统会诱使维护它的程序员采取错误的维护方案,并惩罚采取正确维护方案的程序
员。
☆ 一个好的系统俄军应该有如下的性质:
① 可扩展性
新的性能可以很容易地加入到系统中去,就是可扩展性。这就是系统“过于僵硬”的属性的方面。
② 灵活性
可以允许代码修改平稳地发生,而不会波及到很多其他的模块,这就是灵活性。灵活性其实就是“过于脆弱”的属性的方面。
③ 可插入性
可以很容易地将一个类抽出去,同时将另外一个有同样接口的类加入进来,这就是可插入性。其实,这就是“黏度过高”的方面。
ξ 3.2 系统的可复用性
☆ 软件复用的好处
第一,较高的生产效率;
第二,较高的软件质量;
第三,恰当使用复用可以改善系统的可维护性。
☆ 传统的复用形式
① 代码的剪贴复用;
② 算法的复用;
③ 数据结构的复用。
☆ 提高系统可维护性和可复用性的设计原则
① “开-闭”原则(Open-Closed Principle,或者OCP);
② 里氏替代原则(Liskov Substitution Principle,或者LSP);
③ 依赖倒转原则(Dependency Inversion Principle,或者DIP);
④ 接口隔离原则(Interface Segregation Principle,或者ISP);
⑤ 组合/聚合复用原则(Composition/Aggregation Principle,或者CARP);
⑥ 迪米特法则(Law of Demeter,或者LoD);
分享到:
相关推荐
该项目是一款基于freeRTOS操作系统和STM32F103x微控制器的手机远程控制浴室温度系统设计源码,共包含1087个文件,包括580个C语言源文件、269个头文件、45个汇编源文件、36个数据文件、36个目标文件、35个编译规则文件、28个包含文件、27个文本文件、6个源文件、3个归档文件。此系统通过手机远程实现对浴室温度的有效控制,适用于智能浴室环境管理。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。