试题详情
- 简答题面向对象开发方法与面向数据流的结构化开发方法有什么不同?使用面向对象开发方法的优点在什么地方?
-
结构化开发方法是使用最广泛、历史最长的过程化开发方法。结构化开发方法产生过程的抽象,这些抽象把软件视为处理流,定义构成一系列步骤的算法,每一步骤都是带有预定义输入和特定输出的一个过程,把这些步骤串联在一起可产生合理的稳定的贯通于整个程序的控制流。这将最终导致一个很简单的具有静态结构的体系结构。
在结构化开发方法中,数据结构是应算法步骤的要求而开发的。数据结构贯穿于过程,提供过程需要传送给它的操作的信息。系统的状态是一组全局变量,这组全局变量保持了状态的值,把它们从一个过程传送到另一个过程。
结构化开发方法是一种成熟的应用开发过程。对这种方法已经存在许多支持。然而,在大型系统的开发上和在面向用户系统的构造上存在一些问题。改进大型系统开发的技术主要集中在开发数据抽象。日益增多的考虑是使用抽象数据类型,把过程化系统开发过程包括到数据驱动的方法中。随着大型系统的开发,接踵而来的问题就是要把过程抽象与数据抽象方法组合起来,这种需要导致了面向对象开发方法的诞生。
面向对象开发方法是我们分解问题所使用方法演化的结果。在结构化开发方法中过程抽象是优先的,而面向对象开发方法中优先的是实体,即问题论域的对象。在面向对象开发方法中,把标识和模型化问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。
面向对象系统中的对象是数据抽象与过程抽象的一个混合体。表示这些实体的数据抽象是面向对象设计过程的主要产品,系统的状态保存在各个数据抽象的核心所定义的数据存储中。控制流被分成块,并被包括在各个在数据抽象上的各个操作里面。不像在结构化开发方法里那样,把数据从一个过程传送到另一个过程,而是控制流从一个数据抽象被传送到另一个数据抽象。完成的系统体系结构更复杂但也更灵活。在块中分离的控制流允许把复杂的动作视为局部的相互影响。 关注下方微信公众号,在线模考后查看
热门试题
- 在软件开发和维护过程中需要变更需求时,为
- 简述传统方法和面向对象方法的特点。
- 在软件的系统结构中,模块是可组合、可分解
- 耦合性的概念和软件的可移植性有什么关系?
- 将非结构化的程序转换为结构化程序的过程中
- 简述四种UML依赖关系异同。
- 状态是对象属性值的抽象,状态指明了对象对
- 试说明ISO为什么要建议停止使用程序流程
- 为什么说软件界面设计的质量会直接影响到用
- 软件出错处理设计,即软件安全性设计。一个
- 简述容错系统的设计过程?
- 请对下面代码的布局进行改进,使其符合规范
- COAD方法严格区分了面向对象分析OOA
- 软件工程原则不包括下列哪一项()。
- 软件开发环境是支持软件产品开发的软件系统
- IBM公司的统计资料表明,使用静态测试的
- 面向对象的特征是()、()和()、()。
- 按照类生存期,类的开发有哪几种方式?每一
- 一个模块的()是指能直接控制模块的模块数
- 试说明螺旋模型软件开发方法的基本过程,比