面向对象方法和结构化方法各自的特点与利弊
发布网友
发布时间:2022-03-24 03:13
我来回答
共5个回答
热心网友
时间:2022-03-24 04:42
结构化分析设计方法遵循面向过程的问题求解方法,其中心思想是用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的解决过程。结构化的程序设计的核心就是算法加数据结构。 面向过程方法大多基于瀑布模型,需要对整体结构做以通盘的掌握。当用户的需求发生变化时,整个软件功能就随之发生变化,从而导致整个软件结构的不稳定。同时,过程分析和数据分析始终是两个相对独立的过程,两者之间存在着明显的边界,这个问题始终在结构化方法中终没解决。 对象是面向对象的程序设计的核心,它由描述状态的属性(变量)和用来实现对象行为的方法(函数)组成,完成了从数据模型到处理模型的结合与统一。面向对象方*的出发点和基本原则是尽可能的模拟人类习惯的思维方式,使开发软件的方法与过程尽可能的接近人类认识世界解决问题的方法与过程。 结构化的程序设计是一种自上而下的设计方法,设计者用一个主函数概括出整个应用程序需要做的事情主线,并由对一系列子函数的调用组成。以函数为中心。 结构化方法是将系统看成是过程的集合,过程与数据实体之间交互,过程接受输入并产生输出; 面向对象方法则不再把程序看成工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作而又彼此独立的对象的集合。 从概念方面看,结构化软件是功能的集合;面向对象软件是事物对象的集合。 从构成方面看,结构化软件是过程和数据的集合,以过程为中心;面向对象软件是数据和相应操作的封装,以对象为中心。 从运行控制方面看,结构化软件采用顺序处理方式,由过程驱动控制;面向对象软件采用交互式,并行处理方式,由消息驱动控制。
结构化程序设计特点:
优点: 与非结构化程序相比,结构化程序在调试、可读性和可维护性等方面都有很大的改进。
缺点:代码重用性不高:以过程为中心设计新系统,除了一些标准函数,大部分代码都必须重新编写。
由于软、硬件技术的不断发展和用户需求的变化,按照功能划分设计的系统模块容易发生变化,使得开发出来的模块的可维护性欠佳。
面向过程模式将数据与过程分离,若对某一数据结构做了修改,所有处理数据的过程都必须重新修订,这样就增加了很多的编程工作量。
面向对象的优点:
而面向对象围绕现实世界的概念来组织模块,采用对象描述问题空间的实体,用程序代码模拟现实世界中的对象,使程序设计过程更自然、更直观。
面向过程是以功能为中心来描述系统,而面向对象是以数据为中心来描述系统。相对于功能而言,数据具有更强的稳定性。
面向对象模拟了对象之间的通信。就象人们之间互通信息一样,对象之间也可以通过消息进行通信。这样,我们不必知道一个对象是怎样实现其行为的,只需通过对象提供的接口进行通信并使用对象所具有的行为功能。而面向过程则通过函数参数和全局变量达到各过程模块联系的目的。
面向对象把一个复杂的问题分解成多个能够完成独立功能的对象(类),然后把这些对象组合起来去完成这个复杂的问题。采用面向对象模式就象在流水线上工作,我们最终只需将多个零部件(已设计好的对象)按照一定关系组合成一个完整的系统。这样使得软件开发更有效率。
热心网友
时间:2022-03-24 06:00
参见教材245页 五个方面 ^_^ 石头
热心网友
时间:2022-03-24 07:35
放心 期末考试 不会有这条题目 模拟卷上的 不会再出的
热心网友
时间:2022-03-24 09:26
东软的孩子吧
真可怜~
结构化技术的特点:把现实世界描绘为数据在信息系统中的流动,在数据流动过程中数据发生转化。通过自顶向下的程序设计将复杂的程序分解为程序模块的层次图。概括为自顶向下、逐步求精、模块化设计、结构化编码的基本特点。面向对象的特点:面向对象技术将数据模型和处理模型二者合一,将属性和方法封装在一个对象当中。将信息系统看成是一起工作来完成某项任务的相互作用的对象集合;通过定义系统中所有对象类型并显示对象之间是如何通过相互作用来完成分析任务。面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。面向对象优点:1、稳定性好; 2、可重用性好; 3、较易开发大型软件产品; 4、可维护性好。结构化方法是将系统看成是过程的集合,过程与数据实体之间交互,过程接受输入并产生输出。面向对象方法则不再把程序看成工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作而又彼此独立的对象的集合。1、从概念方面看,结构化软件是功能的集合,通过模块以及模块和模块之间的分层调用关系实现;面向对象软件是事物对象的集合,通过对象以及对象和对象之间的通讯联系实现;2、从构成方面看,结构化软件是过程和数据的集合,以过程为中心;面向对象软件是数据和相应操作的封装,以对象为中心;3、从运行控制方面看,结构化软件采用顺序处理方式,由过程驱动控制;面向对象软件采用交互式、并行处理方式,由消息驱动控制;4、从开发方面看,结构化方法的工作重点是设计;面向对象方法的工作重点是分析;但是,在结构化方法中,分析阶段和设计阶段采用了不相吻合的表达方式,需要把在分析阶段采用的具有网络特征的数据流图转换为设计阶段采用的具有分层特征的软件结构图,在面向对象方法中设计阶段的内容是分析阶段成果的细化,则不存在这一转换问题;5、从应用方面看,相对而言,结构化方法更加适合数据类型比较简单的数值计算和数据统计管理软件的开发;面向对象方法更加适合大型复杂的人机交互软件的开发。
热心网友
时间:2022-03-24 11:34
东软的吧。。。。