软件的可复用性和维护性

一.软件的可复用性

  复用也就是重复利用。自从20世纪60年代以来,软件的复用便是重要研究的课题,但是一般软件的复用性尚不高。

1.复用的重要性:

  软件的复用的好处有:

  1. 较高的生产效率。
  2. 较高的软件质量。
  3. 恰当的复用可以改善系统的可维护性。

  一个可以重复使用的软件成分可以为将来的使用节省费用。一个构件被复用的频率越高,构件的初始开发投资就相对越少。

  一个可复用的软件成分总是必不能复用的软件成分有更多的质量保证。如果一个复用率高的软件构件有程序缺陷的话,这种缺陷可以更快的、更彻底的被排除。这样的软件成分必是有利于系统的可维护性的。

  更为重要的是,复用与系统的可维护性有直接的关系,这主要是由于在面向对象的系统设计中复用的概念与传统的概念有很大的不同。

2.传统的复用

  复用不仅仅是代码的复用,代码的复用仅仅是复用的一个初等形式。

  2.1代码的剪贴复用

  利用现代的代码编辑器、集成开发环境等,可以很容易的做到减少抄写代码的人力成本。这虽然比完全没有复用好一些,但是一开剪贴代码达到复用,仅仅是复用的最初步的做法。元代的剪贴往往作为程序员自发的代码服用形式出现。在具体实施的过程时,仍要冒着产生错误的风险。管理人员不可能跟踪大块的代码的变异和使用,一旦这块软件代码发生错误,需要修改时,程序员需要独立的修改每一块拷贝。由于同样的原因,多个软件成分需要独立的检测。复用所能节省的初期投资十分有限。

  2.2算法的复用

  各种算法比如排序算法得到了大量的研究。现在几乎不会有人在应用程序编程时试图建立自己的排序算法,通常的做法是在得到了很好的研究的算法中选择一个。

  2.3数据结构的复用

  最常见的如队、栈、队列、列表等数据结构。

二.软件的维护性

  一个软件的开发只需要半年,维护则需要很多年,通常在一个软件生命周期内,在维护上面的花费是原始开发上面的钱的两倍。

  通常情况下,软件开发完成后,用户的需求变化无常,是的系统的设计无法跟上快速的变化。如果维护人员与原始设计师不是同一组人员的话,程序的修改可能会破坏原有的设计意图和设计框架。

  在很多情况下,一个系统的维护设计师并不是原始设计师。这样一来,这个维护设计师并不熟悉原始设计师的设计意图,维护师会增加一些自己的设计意图和设计框架,随着改动的次数累积,到最后以至于彻底破坏了原有的设计意图和设计框架,系统就这样崩溃了。

  我们都应该明白的一点是,用户的需求是不断的改变的,各种常见软件几天一更新也是常有的事,此时软件的可维护性就显得至关重要。

posted @ 2020-03-14 15:16  崔小磊  阅读(246)  评论(0编辑  收藏  举报