结构化方法及面向对象方法的较

结构化方法和面向对象方法的于

翁松秀

北京航空航天大学

    摘要:编程的花在编程思想,而不同的编程方法发生不同之编程思想。结构化程序设计方法一直以来还是编程人员基本的编程方法,而最近流行的面向对象方法为面临众人刮目相看。文章通过介绍编程世界的立刻半种植关键编程方法,结构化方法与面向对象方法的剖析、设计及动。并当最终对片种植方式开展比较分析,比较结构化方法和面向对象方法编程思想之异同以及有限种植艺术的下。

关键词:结构化方法;面向对象方法;编程思想;再抽象;再模块化;

   0 前言

  结构化方法及面向对象方法是当前软件开发最常用之主意。基于“瀑布模型”的软件开发方法中,以软件架构为着力,采用结构化设计与分析方法将软件开发的生命周期划分为制定计划、需求分析、软件设计、程序编制、软件测试和运转保障六只主导阶段。而于经过迭代式和增量式进行开发的神速软件开发方法吃,主要运用面向对象的宏图以及分析方法。结构化方法和面向对象方法的行使,与现实的开销条件以及开发方法有关,如风软件工程被重新切合用结构化方法,而快速软件开发方法中面向对象开发方法更让青睐。

  1   结构化方法

  结构化编程思想由艾慈格·迪杰斯特拉以1976年当《GOTO陈述有害论》中提出,1975年赖瑞·康斯坦丁以及爱德华·尤登提出结构化设计,1978年汤姆·迪马克和爱德华·尤登等以1975年提出结构化分析,后来逐步为全面,形成现在软件开发方法吃重大运用的结构化方法。结构化方法从效益上针对网进行剪切,将系统以功能划分成梯次模块,将子模块编写成子程序,通过子程序中的布局以及层次中的耦合来解决复杂的题目。结构化方法按软件周期而划分为结构化分析、结构化设计及结构化实现,这里根本讨论SA和SD。

  1.1 结构化分析(Structured
Analysis)

  结构化分析是经过数量来对需求开展辨析,功能模块之间通过数量进行联络,采用的建模技术发生:数据流图DFD(Data
Flow Diagram)、ERD(Entity Relation Diagram)和数目字典DD(Data
Dictionary)等。数据在结构化分析方法中根本,就一定给血管的为体,系统的依次模块通过数据的传递进行关联与关系,导致了功能模块的强耦合性,模块之间的耦合性降低了结构化程序的不过重用性和可维护性。主要分析步骤如下:

  ① 
分析当前之景象,做出反映当前大体模型的DFD;

  ②  推导出相当价格的逻辑模型的DFD;

  ③ 
设计新的逻辑系统,生成数据字典和基元描述;

  ④ 
建立人机接口,提出但供应选择的对象体系物理模型的DFD;

  1.2 结构化设计(Structured
Design)

  结构化设计阶段将分析阶段得到的目标体系物理模型的DFD表示的实际信息转化成为程序结构的设计描述,过渡成为软件结构。在这个进程中应用的建模技术来:系统结构图SSD(System
Struct
Diagram)。这个历程分点儿步成功,第一步是由分析得到的结果出发,构造一个设计方案,决定系统功能模块的结构。第二步进行详细计划,确定每个功能模块的内控制结构和算法,最终闹每个功能模块的程序流程图。具体步骤如下:

  ①   评审与细化数据流图;

  ②   确定数据流图的种;

  ③  
把多少流图映射到软件模块结构;

  ④  
基于数流图逐层分解高层模块,设计中下层模块;

  ⑤  
对模块的控制结构和算法进行优化;

  ⑥   描述模块接口;

  1.3 结构化方法的采用

  结构化方法对需求变化的适应能力比较弱,功能的更动还是会牵一发而动全身,但由于结构化分析和规划针对网进行完的架构和求实职能的剖析及贯彻的各个阶段严谨的测试,所以结构化程序可靠性强。基于结构化分析、设计和实现着之这些主要优点和缺陷,结构化比较适合给诸如操作系统、实时处理系统等这样以力量为主的系统。比如多数操作系统还是因结构化语言C语言写的。

  2   面向对象方法

  面向对象OO(Object
Oriented)方法将面向对象的构思下被软件开发,将系统受到的多少与系操作进行分拣与包装,抽象成一栽新的数据结构——类,并以系统的实现过程中实例化,实例化的目标同客观实体有一直指向承诺提到,通过对象的性质和表现,以及对象中的关联来缓解实际问题。面向对象方法吸收了结构化的中心思维与长处,在数据抽象的根基及添加对操作的纸上谈兵,使面向对象程序有所强重用性。面向对象方法其实就算是结构化的双重抽象和重模块化。

  2.1 面向对象分析(Object Oriented
Analysis)

  面向对象分析阶段通过分析,确定问题空间和空间受到有目标及其性质,进而确定每个对象的操作,即针对工作的拍卖能力,然后通过对象期间的所作所为来规定目标中的干。具体步骤如下:

  ①   确定问题域和解空间;

  ②   区分类与目标;

  ③  
区分整体目标以及部分,确定类的干和内部结构;

  ④  
定义类的数(属性)和操作(处理事务的行为);

  ⑤   确定附加的系统约束

  2.2 面向对象设计(Object Oriented
Design)

  面向对象设计阶段主要针对分析阶段的结果进行更进一步的规范化整治,以便后面的现实贯彻。OOA阶段与OOD阶段没有显著的分割界限,两者并行通,最能体现出这种关联的凡近年出现的初的软件生命周期模型——喷泉模型。如图(1)

766游戏网官网 1                                               
                                           图(1)

  面向对象设计阶段的机要步骤如下:

  ①  
改进和宏观分析阶段对系统的辨析结果;

  ②   设计互动过程以及用户接口;

  ③  
设计任务管理、子系与任务中的和谐艺术;

  ④  
设计全局资源,确定任务还是分段系的资源分配;

  ⑤   设计目标;

  2.3 面向对象方法的使

  面向对象方法从问题之范开始,模拟人对事物的认对事物进行分拣,进而识别对象,通过整理对象的内部结构和目标期间的涉持续细化问题,它的面目就是是迅速开发方法中之迭代和递增。开发过程通过不断地对效果进行频繁的迭代,使系统的力量不断完善。所以面向对象方法适用于SCRUM、XP(极限编程)、CRYSTAL(水晶编程)、PDD(特性使得开发)等快捷软件开发。

  3  
结构化方法和面向对象方法的可比

  3.1 编程思想之比

  766游戏网官网软件开发的经过就是人人使用各种计算机语言将切实世界之问题翻译到电脑世界,可讲述为祈求(2):

766游戏网官网 2

图(2)

  结构化方法的编程思想是自上而下,逐步求精,按系统的功力拓展模块化设计,将一个复杂和完整的系以职能分解成稍之模块,模块内由逐一、分支和巡回等主导控制结构组成,各模块的效应由子程序进行落实。如图(3)

766游戏网官网 3

图(3)

  而面向对象方法通过模拟人类日常的逻辑思考中常常利用的思索方法和规范,将系统受到之物进行抽象、分类、继承和包装。通过架空出的接近里的一言一行涉嫌来确定整个系统的联系,并在网遭到实例化需要之靶子,在系统的规划中尽量地以人类的思方式。与结构化相比面向对象更合乎人们对事物与解决问题之经过与思想方法。如图(4)

766游戏网官网 4

图(4)

  3.2 应用之可比分析

  结构化开发方法开发前期对网的职能需求与非功能需求开展整体的架构,使软件具备高可靠性。开发过程自上而下,按照严谨的软件开发生命周期:计划、分析、设计、编码、测试和保障逐个阶段进行开,各个阶段相通连,每一个号还如经严格的甄别,测试通过才会进入下一个路,保证了软件的强质量。所以比较符合为像操作系统、实时处理系统等这么坐力量为主底系。而鉴于面向对象方法迭代和递增的本来面目,所以面向对象方法重新可吃当快速软件开发中采取。如SCRUM、XP(极限编程)、CRYSTAL(水晶编程)、PDD(特性使得开发)等。

参考文献:

[1]雷西玲,谢天保,何文娟.
面向对象方法以及结构化方法的可比. 2001

[2]邵维忠,杨芙清. 面向对象的系分析.
1998

[3]蔡希尧. 面向对象技术. 2001

[4]翁松秀.
敏捷软件开发与传统软件工程概述比较. 2016

[5]张莉,裘国永.
结构化方法与面向对象方法的可比分析. 陕西师范大学学报. 2001

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注