### 结构化与面向对象系统分析设计方法对比 #### 一、结构化方法与面向对象方法概述 在软件工程领域,结构化方法和面向对象方法是两种常见的系统分析设计方法。这两种方法各有特点,在实际应用中也有各自的优势和局限性。 ##### 1.1 结构化方法 结构化方法是一种传统的系统开发方法,它基于功能分解来设计系统结构。这种方法通过不断地将复杂的处理逐层分解,从而简化问题。结构化方法从内部功能上模拟客观世界,提高软件的运行效率和可靠性。 - **结构化分析(SA)**: 面向数据流的需求分析方法,主要采用数据流图(DFD)、数据字典、结构化语言、判定表和判定树等工具,建立需求规格说明书。 - **结构化设计(SD)**: 将数据流图表示的信息转换为程序结构的设计描述。SD过程分为两个步骤:一是构建系统设计方案,决定模块结构;二是详细设计,确定每个模块的内部结构和算法。 ##### 1.2 面向对象方法 面向对象方法从内部结构上模拟客观世界,它更加注重人类逻辑思维方式,如抽象、分类、继承、聚合、封装等。这种方法不仅是一种软件开发技术,还是一种关于如何看待软件系统与现实世界关系的哲学。 - **面向对象分析(OOA)**: 是面向对象系统分析的第一步,目的是将问题领域和系统认识抽象为对象模型,为后续设计和编程提供指导。 - **面向对象设计(OOD)**: 根据需求决定所需的类、类的操作及类之间的关联,对OOA的结果进行规范化整理,使其能够被面向对象编程直接接受。 #### 二、结构化方法与面向对象方法的基本思想 **2.1 结构化方法的基本思想** - **自顶向下,逐步求精**:把系统看成是一个逐步演化的层级结构,将大问题分解为小问题。 - **模块化**:将系统划分为多个模块,每个模块实现特定功能,模块之间通过接口通信。 - **语句结构化**:使用顺序结构、分支结构和循环结构等基本结构来编写代码。 **2.2 面向对象方法的基本思想** - **对象模型**:认为客观世界中的事物都是对象,对象之间存在关系,并且复杂对象由简单对象构成。 - **类与实例**:具有相同属性和操作的对象属于同一类,对象是类的一个实例。 - **类的层次结构**:类之间可以有层次关系,子类继承父类的所有属性和操作,并且可以有自己的属性和操作。 #### 三、结构化方法与面向对象方法的对比 **3.1 方法论差异** - **结构化方法**侧重于将问题分解为一系列功能性的模块,通过模块之间的接口通信实现整个系统的功能。 - **面向对象方法**强调对象的概念,将系统建模为一系列相互作用的对象集合,这些对象通过消息传递来实现交互。 **3.2 设计思想** - **结构化方法**的设计思想是自顶向下,逐步求精,强调模块化和语句结构化。 - **面向对象方法**的设计思想是基于对象和类的概念,强调抽象、继承、封装和多态性等特性。 **3.3 应用场景** - **结构化方法**适用于那些需求明确、变化不大的项目。 - **面向对象方法**更适合需求不确定或者变化频繁的项目,因为它具有更好的灵活性和扩展性。 **3.4 实现方式** - **结构化方法**通过数据流图和结构化设计图等工具来描述系统的逻辑结构。 - **面向对象方法**则通过类图、序列图等多种图形化工具来描述系统的结构和行为。 结构化方法和面向对象方法各有优势和适用场景。选择合适的方法取决于项目的具体需求和技术背景。在实践中,往往也会结合两种方法的优点,采取混合的方法来进行系统分析和设计。
剩余7页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助