面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答。
1、面向过程与面向对象的概念不同
面向过程,是结构化程序设计是一种自顶向下逐步求精的设计方法,和单入口单出口的程序结构。
面向对象是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。
2、面向过程与面向对象的侧重点不同
面向过程分析是一种以过程为中心的编程思想,开发过程基于功能分析和功能分离;
而面向对象基于构造问题领域的对象模型,以对象为中心构造软件系统。
3、面向过程与面向对象解决问题的本质不同
面向过程分析的实质是分析出解决问题所需要的步骤,然后使用函数实现这些步骤,最后调用这些函数来解决这个问题;
而在面向对象中不是将程序看成一系列过程或函数的集合,而是把程序看做是互相协作而又彼此独立的对象的集合,每个对象就像一个微型程序,有自己的数据、操作、功能和目的;而建立对象的目的不是为了完成一个步骤,而是为了描述整个事物在整个解决问题的步骤中的行为。
4、面向对象比面向过程更注重软件的稳定性而不是解决问题(或实现什么样的功能)
面向过程建立的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时,将引起整个软件结构的修改,而大部分用户的需求都是针对功能的,这样的软件系统是不稳定的。
而面向对象是用对象模拟问题领域中的模型建立起来的,而不是基于对系统应完成的功能,所以当系统的功能需求变化时,往往仅需要做一些局部的修改,因此面向对象构建的软件系统是比较稳定的。