结构化开发方法和面向对象开发方法的比较

1、 两者基本思想的比较

1.1结构化方法的基本思想

结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。结构化设计方法是以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为准则的设计软件的数据架构和模块架构的方法学。它的要点是是把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。

结构化方法的基本思想主要体现在三个方面。

(1)自顶向下,逐步求精:把程序看成是一个逐步演化的过程。把一个系统与程序看成是一层一层的。例如:户籍管理系统可以划分为:户籍迁入迁出,人员迁入迁出,户籍注销,人员注销等几个子系统,而每个子系统又划分为接收用户信息,实施处理,提供返回信息等等部分。

(2)模块化:即将几个系统分成几个模块,每个模块实现特定的功能,最终整个系统由这些模块组成。模块跟模块之间通过接口传递信息,模块最重要的特点就是独立性,模块之间还有上下层的关系,上层模块调用下层模块来实现一些功能。

(3)语句结构化:顺序结构、分支结构、循环结构,都是常用的语句结构。

结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。

结构化分析的步骤如下:

(1)通过对用户的调查,以软件的需求为线索,获得当前系统的具体模型

(2)去掉具体模型中非本质因素,抽象出当前系统的逻辑模型

(3)根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型

(4)完善目标系统并补充细节,写出目标系统的软件需求规格说明

(5)评审直到确认完全符合用户对软件的需求

结构化设计方法给出一组帮助设计人员在模块层次上区分设计质量的原理与技术。它通常与结构化分析方法衔接起来使用,以数据流图为基础得到软件的模块结构。SD方法尤其适用于变换型结构和事务型结构的目标系统。在设计过程中,它从整个程序的结构出发,利用模块结构图表述程序模块之间的关系。结构化设计的步骤如下:

①评审和细化数据流图;

②确定数据流图的类型;

③把数据流图映射到软件模块结构,设计出模块结构的上层;

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

⑤对模块结构进行优化,得到更为合理的软件结构;

⑥描述模块接口。

1.2面向对象方法的基本思想

面向对象技术:面向对象技术包括面向对象分析、面向对象设计及面向对象程序设计三部分内容。

OOP是在结构化程序设计的基础上,于80年代初涌现的一种程序设计方法,但其真正显示力量和被产业界所重视还是最近几年的事。封装是整个OOP方法的基础,主要用于在数据段外围构造保护层,以限制外界变化的影响,所有的数据访问都由保护层内的过程间接处理。应用程序员不必再按照将程序设计语言逐句拼装的方式来构造整个软件,只需组合、重用由系统程序员开发、可供他人用来装配的软件集成块即可。例如,VB是一种面向对象的程序设计语言,与传统DOS下的Basic最大的差别在于它运用了面向对象的概念。VB建立了一个事件驱动的环境,供用户直接调用。程序设计人员只要专心数据的运算处理,其余诸如Windows应用程序下所见的滚动条、按钮、下拉式菜单和对话框等,都已经有对象供用户进行调用,而且每个对象又都有许多事件、属性和方法,供用户填入适当值或程序码,从而形成一个应用程序。

2、主要特点的比较

2、1结构化分析方法的特点

(1)面向用户,用户自始至终参与系统的分析工作;

(2)强调调查工作的重要性;

(3)对管理业务中的各种数据进行分解;

(4)采用了层次分解的系统思想;

(5)用图形工具来分析和构建新方案。

2、2面向对象分析方法的特点

(1)强调系统开发的整体性和全局性

(2)侧重于数据转换的过程而不是数据本身

(3)系统的开发周期长

(4)封装性

(5)继承性

(6)多态性

(7)易维护性

3.如何选择适合的开发方法

(1)结构化方法最为成熟,对于预先制定需求的系统开发,非常有效。对于需求模糊或者随时间变化的系统开发,不太适应。

从提高程序的重用性和可维护性的角度看,面向对象方法有较好的应用前景.

形式化方法对于安全性要求很高的系统,比较适用。

但面向对象程序设计方法的基础仍然是结构化程序设计

(2)因为成本问题和技术变更,所以形式化方法在实际应用中受到限制。

(3)SOFL方法集成了结构化方法,面向对象方法,和形式化方法于一体,

在需求分析和规格说明阶段采用结构化方法,在设计和实现阶段采用面向对象方法。

时间: 2024-10-11 18:17:10

结构化开发方法和面向对象开发方法的比较的相关文章

CMM模型,结构化开发方法和面向对象开发方法的比较,UML(统一建模语言),jackson开发方法

CMM模型 一.CMM简介 CMM,英文全称为Capability Maturity Model for Software,即:软件成熟度模型. CMM的核心是把软件开发视为一个过程.它是对于软件在定义.实施.度量.控制和改善其软件过程的实践中各个发展阶段的描述. 根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化.标准化,使企业能够更好地实现商业目标. 分级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级. 优点: 1.提高软件开发的管理能力,因为CM

结构化系统开发和面向对象开发方法

结构化系统开发方法: 系统分析员.软件工程师.程序员以及最终用户按照用户至上的原则,自顶向下分析与设计和自底向上逐步实施的建立计算机信息系统的一个过程,是组织.管理和控制信息系统开发过程的一种基本框架. 三部分:管理策略部分:强调系统开发的规划.进程安排.评估.监控和反馈.开发策略部分:任务分解结构:WBS优先级结构.开发经验.开发标准. 开发过程分为:系统规划阶段.系统分析阶段.系统设计阶段.系统实施阶段.系统运行与维护阶段结构化开发早期的程序开发,如C语言,都是用结构化开发方法. 面向对象开

结构化开发方法v.s.面向对象开发方法

关于结构化和面向对象的程序设计方法的概念对比的讨论已经不是一个很新颖的话题,然而对于刚开始接触了解软件工程开发的新手,了解学习其不同的开发特点,参与其利弊的讨论,对于新的更好的编程范式的产生具有积极意义.而在在本文中,我们从该面向对象的程序和结构化程序的特征讨论区分. 结构化编程 Structured programming can be viewed as the pulling together, or synthesization of such ideas as program modu

面向对象开发方法优点

首先来看看结构化的软件开发方法 1.结构化的软件开发方法 SASD方法,也可称为面向功能的软件开发方法或者面向数据流的软件开发方法.SASD方法是20世纪80年代使用最广泛的软件开发方法.它首先用结构化分析(Structure Analysis,SA)对软件进行需求分析,然后用结构化设计(Structure Design,SD)方法进行总体设计,最后进行结构化编程(Structure Programming,SP).这种开发方法使得开发步骤明确,SA.SD和SP相辅相成,一气呵成. 结构化开发方

妙味,结构化模块化 整站开发my100du

************************************************************************************* 重要:重新审视的相关知识 /* 妙味官网:www.miaov.com 技术交流:bbs.miaov.com 1.ps查看圆角度数,border-radius:; 选择->修改-> 平滑6px 2.渐变 -ms-filter:"progid:DXImageTransform.Microsoft.gradient (G

面向对象开发方法概述

1.面向对象方法 01.简介 面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学.对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象.而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式.所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识.理解.刻画客观世

结构化与面向对象方法的比较

计算机软件在现代科学技术中有着十分重要地位和作用,已成为信息社会高技术竞争的关键领域之一.我在这篇文章中针对计算机软件两大开发方法:结构化方法与面向对象方法进行了梳理.对比,剖析了结构化方法和面向对象方法这两种软件开发方法具体的分析设计过程,讨论了各自在不同软件开发中的应用及局限性,并在最后提出了一点自己的看法. 1结构化方法 结构化方法(Structured Methodology)是编程领域的一种典型的系统开发方法. 它采用了系统科学的思想方法,从层次的角度,自顶向下地分析和设计系统. 结构

开发方法的对比

结构化系统开发方法 MSF(微软解决方案框架结构)是一组建立.开发和实现分布式企业系统应用的工作模型.开发准则和应用指南.它帮助企业融合商业和技术的目标,降低采用新技术后系统整体的费用,以及成功的应用微软技术整合商业过程的方法. 结构化系统开发的优缺点 优点: 1.强调系统开发过程的整体性和局部性,强调在整体优化的前提下来考虑具体的分析设计问题.即自顶向下的观点. 2.强调开发过程各阶段的完整性和顺序性,强调严格地区分开发阶段,严格地进行系统分析和设计,及时总结,及时问题反馈和纠正,从而避免了开

面向过程分析方法和面向对象分析方法区别到底在哪里

1.对它们的解释 面向过程分析方法是结构化的,这种分析方法具有结构化的特点,从整体的角度来思考建模过程,如要创建一个图书馆借书管理系统,整体地来布局设计思路,分析图书的收藏与借阅整个工作流程,具有宏观性,但抽象度很高,不易于理解, 面向对象分析方法是具体的,如借书者是一个类,某一具体的借书人是一个对象,他能行使的权力相当于方法,就是所说的方法或者是操作 2.一些区别 它们是从不同的角度来思考解决问题的方法的,一个是整体性,一个是具体到某一个具体的对象,在建模时应充分考虑两种分析方法各自的优势来选