首页 > 代码库 > 结构化方法与面向对象方法之比较
结构化方法与面向对象方法之比较
结构化方法与面向对象方法之比较
目前,结构化方法和面向对象方法都是计算技术中常用的软件开发方法,但是,具体使用哪一种开发方法,还需要根据所做项目的实际情况已经开发人员对项目的分析来决定。当然,十全十美的开发方法是不存在的,真正实用的系统开发方法往往是多种方法的结合体,因为一个项目的开发往往要考虑到很多因素的影响,就某一种开发方法来说是不可能满足一个项目的开发需求的。下面,我将会对结构化方法与面向对象方法这两种流行的软件开发方法谈谈自己的理解。
1、结构化方法
结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机结合组成的。它的基本思想是:把一个复杂问题的求解过程分阶段进行,而这种分解是自顶向下、逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。
1.1、结构化分析
对当前的数据进行分析,做出数据流图DFD,然后利用DFD对数据处理等过程进行分析。
1.2、结构化设计
将数据流图所示的信息转换成程序结构的设计描述。在这一阶段,首先是通过需求分析的结果,构造出一个具体的系统设计方案,然后在总的设计基础上,确定每个模块的的内部结构和算法,生成每个模块的程序流程图。
1.3、结构化方法遵循的基本原则
抽象原则、分解原则、模块化原则。
1.4、结构化方法的局限
(1)结构化分析方法在需求分析中不是以不是以某一固有事物作为基本单位,而是以全局范围内的数据为中心来进行分析,这样的话,我们分析出来的结果就不能直接反应某一个问题;(2)结构化方法中从分析到设计往往并不存在确定的转化规则,通常带有人为的随意性,这样容易因为理解上的错误而使得设计文档与实际的问题需求相差较大;(3)结构化方法对需求变化的适应能力较弱,一个功能的变化往往会引起很多的数据流的修改,所以,结构化方法所设计的软件的重用率较低。
2、面向对象方法
面向对象方法是以面向对象思想为指导进行系统开发的一类方法的总称。这类方法以对象为中心,以类和继承为构造机制来抽象现实世界,并构建相应的软件系统。
2.1、面向对象分析
面向对象分析的关键是识别出问题域内的对象,并分析它们之间的关系,建立系统的静态模型,并通过静态模型构造出系统的结构。然后根据系统的执行顺序和交互关系来构造其动态模型。
2.2、面向对象设计
面向对象设计需要把分析阶段的结果扩展成技术解决方案,但从OOA到OOD并不是转换,而是调整和增补,增补人机交互部分、构建及部属部分、控制驱动部分、数据管理部分。
2.3、面向对象方法缺陷
面向对象方法有时对象的确定会模糊难定,这样就难以保证软件描述的正确性。
结束语
从上面的分析对比我们可以发现,结构化方法比较适合于像操作系统、实时处理系统等以功能为主的系统;而面向对象方法适用于数据库、信息管理系统等以数据为主而操作较少的操作系统。
参考文献:
[1]张莉,裘国永.结构化方法与面向对象方法的比较分析[J].陕西师范大学学报自然科学版,2001,29(2).
[2]缪淮扣,高晓雷,李刚.结构化方法、面向对象方法和形式方法的比较与结合[J ].计算机工程和科学, 1999 ,21(4) :28~29.
[3]全兆明.对结构化方法和面向对象方法的对比和讨论[J].今日科苑,2010.
结构化方法与面向对象方法之比较