作为二代的软件系统分析与设计的方法,面向对象方法开发出来的软件的维护性要比面向过程方法更好。
这是因为:
- 使用面向对象方法开发的软件更稳定
面向过程的开发是基于功能分析和功能分解进行的,它所建立起来的软件架构紧密依赖于软件的功能。所以,当软件功能需求发生变化时就可能引起软件架构的整体修改。而面向对象方法是用对象模拟问题领域中的实体,以对象为中心建立软件架构。所以,当对软件的功能需求发生变化时,通常只需要修改某个对即可,不会引起软件架构的整体修改。
- 使用面向对象方法开发的软件更容易修改
虽然面向过程设计也要求尽可能地使用高内聚松耦合的模块,但是这些模块与数据是紧密结合的。与之相比,面向对象方法中的类则是更理想的模块机制,类具有更好的独立性,修改一个类通常很少会牵扯到其他类。而且,面向对象方法中的继承和多态的特性,都可以使得对软件的修改和扩充比较容易实现。
- 使用面向对象方法开发的软件更容易理解
面向过程的方法是以算法为核心,把数据和代码作为分离的实体,这其实是一种计算机的观点,因为计算机内部就是把数据和程序分开存放的。用这种方法设计出来的软件的解空间和问题空间是不一致的,所以往往难以让人理解。
面向对象的方法对问题领域进行抽象和分解,确定使用的对象和类,在对象之间通过传递消息进行联系,这种思维方式更符合人们解决问题时的习惯思维方式,所以它更容易被人理解。
- 使用面向对象方法开发的软件容易测试和调试
面向对象方法使用类来构建软件,而类是独立性很强的模块,只要向类的实例发消息即可运行它,从而观察它是否被正确地实现,所以对类的测试通常比较容易实现。而且如果有问题产生也往往集中在类的内部,所以,它也比较容易调试。
理想模块原是类,易于修改易测试
习惯思维易理解,面向对象好维护
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!