结构化方法和面向对象方法详解

一、结构化方法和面向对象方法的地位

 在系统建模中占主导地位。

二、结构化方法(Structure Analysis,SA)

软件工程中, 结构化方法是较为经典的设计与开发方式之一, 侧重于对系统进行功能
分解,它使用图表和文字在不同抽象层次上描述系统。复杂的过程被层层分解为子图,
直到每一个子过程都清晰得足以实现为止。
SA使用数据流图(DFD)和实体-关系图(ERD)进行系统建模,之后再为系统的每一个功
能画出描述功能行为的状态转换图。

补充:
1.数据流图:数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
2.实体-关系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。实体关系图表示在信息系统中概念模型的数据存储。

SA应用范围:

   1.客户对他们需求十分明确。
   2.业务过程定义的非常好,不会经常改动。

结构化方法的特点:

   1.重点放在数据结构、算法和执行步骤上,过程难以重用;
   2.编程上本质是机器/汇编语言的抽象

三、面向对象方法(OOA)

      在面向对象方法的分析中,分析以对象为中心,侧重于从现实对象的角度出发
  去研究和理解问题,在分析阶段不考虑过程。

OOA的应用范围:

    1.软件将以面向对象的语言来编程,如:C++。
    2.客户需求陈述不清。
    3.客户会频繁增加新的功能。
    4.开发的系统很复杂,迭代关系较强。

四、结构化方法和面向对象方法的区别

其主要的区别在于侧重点和风格不同,两种技术从不同的角度看待同一个问题。
举例说明:

     在花名册管理系统中,使用SA方法分析时,系统将花名册功能分为L:建立花名册,
打开花名册,添加学生,修改信息,删除信息等,而从OOA方法分析时,系统则将分为学生,班级
专业、年级等。

注:大致举例,C语言采用结构化,Java采用面向对象。

本文参考:面向对象分析与设计(UML) 清华大学出版社

猜你喜欢

转载自blog.csdn.net/qq_43279782/article/details/108366090