面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?

简单地说结构化分析方法主要用来分析系统的功能,依据系统内部的逻辑关系将复杂的系统分解为易于理解和分析的子系统,是一种直接根据数据流划分功能层次的分析方法,而面向对象分析方法则是根据获得的需求信息从中抽象出类与对象并分析他们之间的静态关系,再结合实际问题,确定对象的动态行为以及对象间的信息传递,以此建立需求模型。

结构化的分析方法较为传统,主要适用于数据处理,其主要以非专业人士也易于理解的图形符号来表示系统的基本功能;若遇到大型复杂的系统则根据其系统内部的逻辑关系将其划分为简单易懂的子系统,然后根据具体的实际情况确定系统内部的数据流以及交换关系,并用数据流图表示出来,以此更好的理解整个系统。

描述手段:

1、 一套分层的数据流图:表示系统的各部分,以及各部分之间的关系;

2、  数据词典:为数据流图中出现的每个元素进行说明;

3、  其他的补充材料

   面向对象分析方法主要分为问题分析和应用分析两个方面。问题分析主要是通过对需求信息的分析,从中将信息中的实体标识为问题域中的对象类,并定义出对象类之间的关系。应用分析则是描述对象之间的消息传递和协同工作的动态信息。由此可见面向对象的分析过程实质就是创建模型的过程。在解决一个问题的时候,首先将实际问题中所涉及到的实体以及实体之间的相互关系抽象为静态的对象模型,若问题中还涉及到用户与系统的交互过程,则需要构建动态模型。

描述手段:

1、  构建对象模型:根据实际问题确定对象与类,以及他们之间的静态关系;

2、  构建动态模型:在实际问题中免不了存在时序关系和状态变化,通过构建动态模型来表示这种变化;

3、  构建功能模型:以此来表示系统内部数据流的传递和处理。

4、  定义类和对象中的操作:依据功能模型和动态模型来确定类中应提供的服务;

综上所述:我觉得结构化分析注重于将问题分解,“化整为零,各个击破”;而面向对象分析则注重于创建模型,将实际问题抽象化以此来解决问题。

原文地址:https://www.cnblogs.com/Axiao1995A/p/5277967.html