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

1.结构化方法

1.1概述

结构化方法(SD方法)是一种传统的软件开发方法,它是由结构化分析结构化设计结构化程序设计三部分有机组合而成的。它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。

1.2基本要点

结构化方法的基本要点是:自顶向下、逐步求精模块化设计、结构化编码。

结构化分析方法是以自顶向下,逐步求精为基点,以一系列经过实践的考验被认为是正确的原理和技术为支撑,以数据流图数据字典结构化语言判定表,判定树等图形表达为主要手段,强调开发方法的结构合理性和系统的结构合理性的软件分析方法。

结构化设计方法是以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为准则的设计软件的数据架构和模块架构的方法学。

结构化方法按软件生命周期划分,有结构化分析(SA),结构化设计(SD),结构化实现(SP)。 其中要强调的是,结构化方法学是一个思想准则的体系,虽然有明确的阶段和步骤,但是也集成了很多原则性的东西,所以学会结构化方法,不是能够单从理论知识上去了解就足够的,要的更多的还是实践中慢慢的理解个个准则,慢慢将其变成自己的方法学。

1.3基本原则

使每个模块尽量只执行一个功能(坚持功能性内聚);

每个模块用过程语句(或函数方式等)调用其他模块;

模块间传送的参数作数据用;

模块间共用的信息(如参数等)尽量少。

2.面向对象方法

2.1概述

面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

2.2要素

⑴抽象。

抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。

类实现了对象的数据(即状态)和行为的抽象

封装性(信息隐藏)。

封装性是保证软件部件具有优良的模块性的基础。

面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。

对象封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象封装比传统语言的封装更为清晰、更为有力。

⑶共享性

面向对象技术在不同级别上促进了共享

同一类中的共享。同一类中的对象有着相同数据结构。这些对象之间是结构、行为特征的共享关系。

在同一应用中共享。在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承,使各相似子类共享共同的结构和行为。使用继承来实现代码的共享,这也是面向对象的主要优点之一。

在不同应用中共享。面向对象不仅允许在同一应用中共享信息,而且为未来目标的可重用设计准备了条件。通过类库这种机制和结构来实现不同应用中的信息共享。

2.3特征

对象唯一性。

每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。

抽象性。

抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

继承性

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。

在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。

在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承

多重继承,JAVA、VB、NET、Objective-C均仅支持单继承,注意在C++多重继承时,需小心二义性。

软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重用性。

采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。

多态性(多形性)

多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性

多态性允许每个对象以适合自身的方式去响应共同的消息。

多态性增强了软件的灵活性和重用性。

3.比较

结构化方法首先关心的是功能,强调以模块(即过程)为中心,采用模块化、自顶向下、逐步求精设计过程,系统是实现模块功能的函数和过程的集合,结构清晰、可读性好,的确是提高软件开发质量的一种有效手段。每个模块有可能保持较强的独立性,但它往往与数据库结构相独立,功能模块与数据库逻辑模式间没有映射关系,程序与数据结构很难封装在一起。如果问题世界的功能比数据更复杂或者更重要,那么结构化方法仍然应是首选的方法。如果数据结构复杂,模块独立性很难保证。

面向对象方法抽象的系统结构往往并不比结构化方法产生的系统结构简单,但它能映射到数据库结构中,很容易实现程序与数据结构的封装。

结构化方法思路清晰,条理清楚,又有效地分解了繁复的问题,使得编写程序时清晰明了,简化了编程人员繁杂的工作,而在阅读时也能够一气呵成,给人以明朗的感觉。  面向对象方法与人类习惯的思维方法一致,使得使用者和维护人员都容易理解,在用户使用时不会理解困难,在软件维护中可维护性也较高,并且易于测试和调试。它的稳定性好,对软件的局部进行修改时,不会引起整体的变化,而且对局部修改容易实现。它的可重用性好,并且由于它是把大的问题分解成相互独立的小问题处理,降低了开发的技术难度,开发工作的管理也变的容易了,开发大型软件变的容易,成本也降低了。

时间: 2024-09-29 22:09:04

结构化方法与面向对象方法应用比较的相关文章

结构化方法和面向对象方法在软件开发中的对比

学习过C语言和JAVA的同学们一定清楚,这两种语言代表了两种不同的开发方式,即以C语言为代表的结构化开发方法和JAVA代表的面向对象的开发方法.由于二者在程序结构上有着很大的区别,因此,在软件开发领域中,根据自己的需求来选择合理的开发方式就显得尤为重要. 开发软件通常有三个层次: 1.满足用户需求 2.可维护性,即可修改性,让软件能随着用户需求的变更而容易改变 3.可重用性(在其它软件中,能尽量重用该软件的模块) 通过对软件的这三个主要层次的分析,我们就能在实际开发中确定我们的选择. 结构化方法

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

结构化方法和面向对象方法的比较 结构化方法 1概述        结构化方法(SD方法)是一种传统的软件开发方法,它是由结构化分析.结构化设计和结构化程序设计三部分有机组合而成的.它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内. 2基本思想 结构化方法的基本要点是:自顶向下.逐步求精.模块化设计.结构化编码. 结构化分析方法是以自顶向下,逐步求精为基点,以一系列经过实践的考验被认为是正确的原理和技术为支

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

在软件开发的过程中,采用的开发方法主要有两种,分别为结构化开发方法和面向对象的开发方法,本文将对两种开发方法进行介绍和比较. 一.      结构化方法介绍 结构化方法,即面向过程开发是最早最传统的软件开发方法,由结构化分析,结构化设计和结构化程序设计三个部分有机的组合而成,它将软件分为多个过程进行开发,是迄今为止信息系统中应用最普遍,最成熟的一种软件开发方法. 1.1结构化分析 结构化分析(SA)是一种面向功能或面向数据流的需求分析方法,它是结构化方法中的一部分,是由1960到70年代的系统分

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

结构化方法与面向对象方法之比较 姓名  周子硕   学号  14061031 软件开发的过程中,结构化方法和面向对象方法先后被提出,为解决不同的软件开发问题带来了不同的思路.下面是对于结构化方法和面向对象方法的认识和比较. 结构化方法的基本要点是对现实世界的营运问题进行分解,面向过程设计问题空间的解域,强调自顶向下.逐步求精.模块化设计.结构化方法将待解决的问题看做一个系统,从而用系统科学的思想方法来分析和解决问题.结构化方法循序以下基本原则: 抽象原则: 抽象原则是一切系统科学方法都必须遵循的

结构化方法与面向对象方法

结构化方法 结构化方法是一种传统的软件开发方法,这种方法强调的是自顶向下.逐步求精.模块化设计.结构化编码的思想与要点.结构化软件开发方法可以说是最早的软件开发方法,同时也是到现今开发应用中比较普遍.比较成熟的软件开发方法,由结构化方法所引入的工程与结构化的思想对于软件的设计.开发与编写都有很大的影响. 结构化方法中自顶向下的思想将程序的设计分层,将程序的功能分解,程序变成了一种逐步向下,从概况到详细的过程.而结构化方法中的模块化设计将程序所需要的各种功能分解,将一个系统划分为若干个模块,每一个

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

结构化方法与面向对象方法的比较 引言 结构化方法(SD方法)是一种传统的软件开发方法,它是由结构化分析.结构化设计和结构化程序设计三部分有机组合而成的.它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内. 面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在"对象"

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

结构化和面向对象,这两个概念在计算机领域的中应用十分广泛.在软件工程中,结构化和面向对象的思想也占有重要地位,产生了结构化方法和面向对象方法,用来指导软件生产. 一.结构化方法 结构是指系统内各个组成要素之间的相互联系.相互作用的框架.结构化方法强调开发方法的结构合理性以及所开发软件的结构合理性.针对软件生存周期各个不同阶段,可以分为结构化分析(SA).结构化设计(SD).结构化程序设计(SP)等方法. 1.1结构化分析方法 结构化分析方法是面向数据流的分析方法,是70年代由Yourdon.Co

结构化方法和面向对象方法之比较

结构化方法和面向对象方法之比较 我们都知道,结构化方法和面向对象方法是当前程序设计中主流的两大设计方法,编写程序的时候,我们根据所编写的程序来选择适当的方法进行开发,来获得最大的效率.本文就结构化方法和面向对象方法的特点和过程,分析比较了该两种方法的优劣. 一.结构化方法 结构化方法按生命周期划分由结构化分析(SA).结构化设计(AD).结构化程序设计(SP)三部分组成.系统按功能需求分解成若干个子功能模块,子模块再继续进行分解,如此循环直至模块功能变得非常具体,由综合变得单一.这种分解自顶向下

结构化方法与面向对象方法之应用比较

软件的开发对于整个软件产业的发展,起着至关重要的作用,在开发过程中,需要有各种开发工具.开发方法和开发过程的支持.不管是开发工具.开发方法还是开发过程,都一直在不断的发展和更新.在软件开发方法发展的过程中,产生了许多众所周知的开发方法,如结构化方法,原型法,面向数据结构的Jackson方法.面向对象方法等.其中,结构化方法和面向对象方法是两种应用十分广泛的软件开发方法,未来的软件开发过程中,可能还会出现一些更好的软件开发方法,如现在的面向服务的软件开发方法,但就目前来说,结构化方法和面向对象方法

结构化方法VS面向对象方法

结构化方法和面向对象方法都是现在软件工程领域应用比较广泛的软件开发方法,要探讨两者的区别,必须先把两者的概念搞清. 首先对比一下两者的基本原则: 一.基本原则 1.结构化方法遵循的基本原则 结构化方法的基本思想就是将待解决的问题看作一个系统从而用系统科学的思想方法来分析和解决问题结构化方法遵循以下基本原则(1)抽象原则 抽象原则是一切系统科学方法都必须遵循的基本原则它注重把握系统的本质内容而忽略与系统当前目标无关的内容它是一种基本的认知过程和思维方式(2)分解原则 分解原则是结构化方法中最基本的