结构化方法与面向对象

结构化方法与面向对象

结构化方法:

结构化方法是一种常用的软件开发方法。它的要点是是把一个复杂问题的求解过程分阶段进行,这种分解是自顶向下的,将一个复杂的大问题分成许多不那么复杂的小问题,然后再逐个解决。使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。

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

一、自顶向下:

把一个系统与程序划分为不同的层次。从问题的总体开始,抽象底层的细节,先构建高层的结构,再一层一层分解细化。从而使复杂的设计变得简单,避免一开始就陷入复杂的细节中,过程的结果也容易做到简单可靠。

二、模块化:

将系统的功能划分为不同的独立模块,模块跟模块之间通过接口传递信息,模块之间只有很少的相互联系,模块可以当做程序中的插件,所有模块的功能通过相应的子程序(函数或过程)的代码来实现。程序的主体是子程序层次库,它与功能模块的抽象层次相对应,编码原则使得程序流程简洁、清晰,增强可读性。

三、语句结构化:

程序流程遵循简单的层次化模型,由顺序结构、分支结构、循环结构组成。

面向对象方法(Object-Oriented Method)

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

面向对象方法的基本思想体现在以下方面:

一、客观世界中的事物都是对象,对象之间存在一定的关系,并且复杂对象由简单对象构成。

二、具有相同属性和操作的对象属于一个类,对象是类的一个实例。

三、继承性,一个类直接继职其它类的全部描述,同时可修改和扩充。

四、封装性,用户只能见到对象的对外特征,能够接受那些信息,有何种处理能力,而对象的内部特征是隐藏的。使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。

五、多态性,同一消息为不同的对象接受时可产生完全不同的行动。用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定。

六、强调充分运用人在日常逻辑思维中经常采用的思想方法与原则。例如:抽象,分类,继承,聚合,封装,关联等。

主要特点的比较

结构化方法的特点:

(1)逻辑设计与物理设计分开;

(2)强调开发工作中的阶段性评估;

(3)开发过程中形成一套规范化的文档,便于后期的修改和维护;

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

(5)用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求;

(6)系统的开发周期长;

面向对象方法的特点:

(1)对象和传递消息分别表现事物及事物间相互联系的概念

(2)方法是允许作用于该类对象上的各种操作

(3)通过封装将对象的定义和对象的实现分开

(4)通过继承体现类与类之间的关系

优缺点的比较

结构化方法的优点和缺点

结构化方法的优点:

1) 从系统整体出发,强调在整体优化的条件下“自上而下”地分析和设计,保证了系统的整体性和目标的一致性;

2) 结构化方法强调功能抽象和模块化。由于它采取了分块处理问题的方法,可以把一个比较复杂的问题分解为若干个容易处理解决的部分,从而降低了问题处理的难度。

3) 强调开发过程各阶段的完整性和顺序性,强调严格地区分开发阶段,严格地进行系统分析和设计,及时总结,及时问题反馈和纠正,从而避免了开发过程的混乱状态。

4) 文档规范化,按工程标准建立标准化的文档资料,便于软件在以后的维护。而且由于结构化方法思路清晰,条理清楚,又有效地分解了繁复的问题,使得编写程序时清晰明了,也大大简化了编程人员繁杂的工作。

结构化方法的不足:

1) 重用性差:结构化分析与设计清楚的定义了系统的接口, 当系统对外界接口发生变动时,可能会造成系统结构产生较大变动, 难以扩充新的功能接口;

2) 软件可维护性差:由于软件的可修改性差,导致维护困难,造成维护时费用和成本高,可维护性变差;

3) 它要求系统开发者在早期调查中就要充分的掌握用户需求、管理状况以及预见能发生的变化,这是不太符合人们循序渐进地认识事务的客观规律性。

面向对象方法的优缺点

面向对象方法的优点:

1) 面向对象更接近于现实,可以从现实的东西出发,进行适当的抽象。,所有的对象被赋予属性和方法,结果编程就更加富有人性化。

2) 面向对象方法的可重用好,减小外部对内部的影响。封装将对象有关的数据和行为封装成整体来处理,使得对象以外的部分不能随意存取对象的内部属性,从而有效地避免了外部错误对它的影响,大大减小了查错和排错的难度。

3) 容易扩展,代码重用率高。容易扩展,在大框架不变的情况下很容易就开发出适合自己的功能,实现简单,可有效地减少程序的维护工作量,软件开发效率高。

面向对象方法的缺点。

1) 性能低。由于面向更高的逻辑抽象层,使得面向对象在实现的时候,不得不做出性能上面的牺牲,计算时间和空间存储大小的都开销很大。

2) 如果一味地强调封装,当进行修改对象内部时,对象的任何属性都不允许外部直接存取,则要增加许多没有其他意义、只负责读或写的行为。这会为编程工作增加负担,增加运行开销,并且使程序显得臃肿。

总结

结构化方法与面向对象方法各有长处与缺点。

结构化方法条理清晰,目标明确,适合于需求明确的软件开发,比如编译器,操作系统,可以在明确的开发过程中得到所需的程序,并有不错的运行性能,但修改时容易牵一发而动全身,不利于维护及修改。

面向对象方法相对结构化方法更加灵活,开发周期更短,使用者与维护者都更容易理解程序,软件的可维护性与可重用性较好,有利于不同团队的合作,以及根据变化快速对软件进行修改。

在具体的应用中,应该根据项目的特点选择合适的方法。

时间: 2024-08-07 17:16:03

结构化方法与面向对象的相关文章

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

学习过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)分解原则 分解原则是结构化方法中最基本的