为什么说使用面向对象方法开发出来的软件维护性更好?

作为二代的软件系统分析与设计的方法,面向对象方法开发出来的软件的维护性要比面向过程方法更好。

这是因为:

  1. 使用面向对象方法开发的软件更稳定

面向过程的开发是基于功能分析和功能分解进行的,它所建立起来的软件架构紧密依赖于软件的功能。所以,当软件功能需求发生变化时就可能引起软件架构的整体修改。而面向对象方法是用对象模拟问题领域中的实体,以对象为中心建立软件架构。所以,当对软件的功能需求发生变化时,通常只需要修改某个对即可,不会引起软件架构的整体修改。

  1. 使用面向对象方法开发的软件更容易修改

虽然面向过程设计也要求尽可能地使用高内聚松耦合的模块,但是这些模块与数据是紧密结合的。与之相比,面向对象方法中的类则是更理想的模块机制,类具有更好的独立性,修改一个类通常很少会牵扯到其他类。而且,面向对象方法中的继承和多态的特性,都可以使得对软件的修改和扩充比较容易实现。

  1. 使用面向对象方法开发的软件更容易理解

面向过程的方法是以算法为核心,把数据和代码作为分离的实体,这其实是一种计算机的观点,因为计算机内部就是把数据和程序分开存放的。用这种方法设计出来的软件的解空间和问题空间是不一致的,所以往往难以让人理解。

面向对象的方法对问题领域进行抽象和分解,确定使用的对象和类,在对象之间通过传递消息进行联系,这种思维方式更符合人们解决问题时的习惯思维方式,所以它更容易被人理解。

  1. 使用面向对象方法开发的软件容易测试和调试

面向对象方法使用类来构建软件,而类是独立性很强的模块,只要向类的实例发消息即可运行它,从而观察它是否被正确地实现,所以对类的测试通常比较容易实现。而且如果有问题产生也往往集中在类的内部,所以,它也比较容易调试。

这正是:

理想模块原是类,易于修改易测试

习惯思维易理解,面向对象好维护

参考书目:软件工程(第4版),作者:张海藩 吕云翔,出版社:人民邮电出版社有限公司

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

为什么说使用面向对象方法开发出来的软件维护性更好?》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.hashtobe.com/3469.html