面向过程的分析方法与面向对象的分析方法相比,可以说是一种传统的方法,面向过程的分析方法主要是用于数据处理,特别是大型管理信息系统的需求分析,主要用于分析系统的功能,是一种直接根据数据流划分功能层次的分析方法,它的基本思想是:把复杂的系统“化整为零,各个击破”,即把大型复杂的软件系统,根据其的逻辑特性和系统内部各成分之间的逻辑关系分解成若干个人们易于理解和分析的子系统。在分解过程中,被分解的上层就是下层的抽象,下层为上层的具体细节,即按照由抽象到具体、逐层分解的方法,确定软件系统内部的数据流、变换的关系,并用数据流图表示。对系统进行合理的分解之后,就可分别理解子系统的每一个细节,然后理解所有子系统,得到关于整个系统的理解。
面向对象的分析方法关键是识别问题域内的类和对象,以对象为中心,以类和继承为构造机制,来设计、构建相应的软件系统。对象是封装数据结构及可以施加在这些数据结构上的操作的封装体,面向对象的分析将一个大事件分解成几个小事件对象,我们只需要解决好每个对象的问题,就能完成整个大事件,并不是要知道如何解决这个小事件的具体方法。
面向过程设计需要对每个小问题从头到尾进行分析,但当需要在系统中添加额外的功能时,会导致整个程序需要改动;面向对象设计可以通过添加一些对象而增加额外的功能,然后进行调用,实现新功能。总之,面向过程要求对每个小问题都具体分析,而面向对象则由特定的功能来解决问题。