[计算机类试卷]软件工程基础练习试卷2及答案与解析.doc

上传人:brainfellow396 文档编号:506647 上传时间:2018-11-29 格式:DOC 页数:22 大小:52KB
下载 相关 举报
[计算机类试卷]软件工程基础练习试卷2及答案与解析.doc_第1页
第1页 / 共22页
[计算机类试卷]软件工程基础练习试卷2及答案与解析.doc_第2页
第2页 / 共22页
[计算机类试卷]软件工程基础练习试卷2及答案与解析.doc_第3页
第3页 / 共22页
[计算机类试卷]软件工程基础练习试卷2及答案与解析.doc_第4页
第4页 / 共22页
[计算机类试卷]软件工程基础练习试卷2及答案与解析.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、软件工程基础练习试卷 2及答案与解析 1 在面向对象的系统中,由于有了 _,所以父类的数据和方法可以应用于子类。 ( A)继承性 ( B)封装性 ( C)抽象性 ( D)多态性 2 在面向对象程序设计语言中, (1)是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性: (2)可以实现发送一个通用的消息而调用不同的方法: (3)是实现信息隐蔽的一种技术,其目的是使类的 (4)相互分离。 ( A)封装 ( B)消息传递 ( C)引用 ( D)继承 ( A) 封装 ( B)消息传递 ( C)引用 ( D)继承 ( A)引用 ( B)继承 ( C)封装

2、 ( D)多态 ( A)定义与实现 ( B)分析与测试 ( C)分析与设计 ( D)实现与测试 6 下列关于结构化设计与面向对象设计的叙述中,不正确的是 _。 ( A)结构化设计以过程设计为核心 ( B)面向对象设计以对象设计为核心 ( C)结构化设计比面向对象设计更易支持数据结构的修改 ( D)面向对象设计比结构化设计更易支持系统的维护 7 对象之间通过消息机制实现相互作用与通信, _不是消 息的组成部分。 ( A)基类 ( B)派生类 ( C)抽象类 ( D)用户定义类型 8 不支持自定义类的程序设计语言是 _语言。 ( A) C ( B) C# ( C) C+ ( D) Java 9 C

3、+语言兼容 C语言,所以, _。 ( A) C+的关键字与 C语言的关键字完全相同 ( B) C+的数据类型与 C语言的数据类型完全相同 ( C) C+编译器能编译 C语言程序 ( D) C+编译器能把 C语言程序翻译成 C+程序 10 计算机程序 =算法 +数据结构 +程序设计方法 +语言工具和环境, 其中关于程序设计的叙述,正确的是 _。 ( A)程序设计语言与程序设计方法是一一对应的关系 ( B)面向对象的程序设计语言只能支持面向对象的程序设计方法 ( C)面向对象的程序设计技术与结构化程序设计技术是相互排斥的 ( D)过程式程序设计是一种传统的程序设计方法 11 _是错误的描述。 (

4、A) Delphi和 Visual Basic都是可视化编程语言 ( B)可视化编程中采用控件技术和事件驱动工作方式 ( C)在可视化编程中,可以不编写程序代码来完成界面的设计工作 ( D)使用 UML(Unified Modeling Language)开发软件不需要编写程序 12 在面向对象方法中, _机制是对现实世界中遗传现象的模拟。 ( A)封装 ( B)继承 ( C)多态 ( D)抽象接口 13 在公有继承的情况下,基类的成员在派生类中的访问权限为 _。 ( A)公有 ( B)私有 ( C)保持不变 ( D)受保护 14 消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来

5、请求其服务。一个消息通常包括 _。 ( A)发送消息的对象的标识、调用的发送方 的操作名和必要的参数 ( B)发送消息的类名和接收消息的类名 ( C)接收消息的对象的标识、调用的接收方的操作名和必要的参数 ( D)接收消息的类名 15 面向对象程序设计中,采用 _机制实现共享类中的方法和数据。 ( A)引用调用 ( B)封装 ( C)动态绑定 ( D)继承 16 采用面向对象技术开发的应用系统的特点是 _。 ( A)重用性更强 ( B)运行速度更快 ( C)占用存储量小 ( D)维护更复杂 17 不能作为类成员的是 _。 ( A)自身类对象 ( B) 自身类对象的引用 ( C)自身类对象的指针

6、 ( D)另一个类的对象 18 下面对对象概念描述错误的是 _。 ( A)任何对象都必须有继承性 ( B)对象是属性和方法的封装体 ( C)对象间的通信靠消息传递 ( D)操作是对象的动态属性 19 在面向对象方法中,对象可看成是属性 (数据 )以及这些属性上的专用操作的封装体。封装是一种 (1)技术,封装的目的是使对象的 (2)分离。类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个 (3)。类之间共享属性和操作的机制称为 (4)。一个 对象通过发送 (5)来请求另一对象为其服务。 ( A)组装 ( B)产品化 ( C)固化 ( D)信息屏蔽 ( A)定义和实现 (

7、B)设计和测试 ( C)设计和实现 ( D)分析和定义 ( A)例证 (illustration) ( B)用例 (use-case) ( C)实例 (instance) ( D)例外 (exception) ( A)多态型 ( B)动态绑定 ( C)静态绑定 ( D)继承 ( A)调用语句 ( B)消息 ( C)命令 ( D)口令 24 在 C+语言中引进了类的概念。类的定义包括类 名、类的说明和类的实现。 (1)是类的外部接口, (2)是类的内部表示,类具有 (3)、 (4)和 (5)。有了 (3)可以隐藏类对象内部实现的复杂细节,有效地保护内部所有数据不受外部破坏; (4)增强了类的共享

8、机制,实现了软件的可重用性,简化系统的开发工作; (5)可实现函数重载和运算符重载。 ( A)类的引用 ( B)类的说明 ( C)类的实现 ( D)类的标识 ( A)类的引用 ( B)类的说明 ( C)类的实现 ( D)类的标识 ( A)开放性 ( B)封装性 ( C)兼容性 ( D)继承性 ( A)开放性 ( B)封装性 ( C)兼容性 ( D)继承性 ( A)多态性 ( B)封装性 ( C)兼容性 ( D)继承性 29 数据流图包含的成分有 _。 ( A)关系、实体和属性 ( B)数据流、加工和数据存储 ( C)数据流、数据源和数据实体 ( D)数据流、属性、数据存储和加工 30 面向对象

9、开发方法中, (1)是把数据以及操作数据的相关方法组合在一起,从而可以把 (2)作为软件开发中最基本的复用单元。 ( A)多态 ( B)聚合 ( C)封装 ( D)继承 ( A)类 ( B)函数 ( C)过程 ( D)结构 32 程序中凡是引用 (1)对象的地方都可以使用 (2)对象代替。 ( A)基类 ( B)派生类 ( C)基本类型 ( D)用户定义类型 ( A)基类 ( B)派生类 ( C)抽象类 ( D)用户定义类型 34 请从下列名词中区分类和对象。其中, (1)全部是类, (2)全部是对象。 ( A)电影、序列号为 sw1987532的电影胶片、足球赛 ( B)电影、足球赛、电影胶

10、片 ( C)影片 “卡萨布兰卡 ”、足球赛 ( D)影片 “卡萨布兰卡 ”、序列号为 sw1987532的电影胶片 ( A)电影、序列号为 sw1987532的电影胶片、足球赛 ( B)电影、足球赛、电影胶片 ( C)影片 “卡萨布兰卡 ”、足球赛 ( D)影片 “卡萨布兰卡 ”、序列号为 sw1987532的电影胶片 36 在统一建模语言 (Unified Modeling Language, UML)中,描述本系统与外部系统及用户之间交互的图是 (1);按时间顺序描述对象间交互的图是 (2)。 ( A)用例图 ( B)类图 ( C)对象图 ( D)状态图 ( A)部署图 ( B)序列图 (

11、 C)协作图 ( D)状态图 38 面向对象程序设计以 (1)为基 本的逻辑构件,用 (2)来描述具有共同特征的一组对象;以 (3)为共享机制,共享类中的方法和数据。 ( A)模块 ( B)对象 ( C)结构 ( D)类 ( A)类型 ( B)抽象 ( C)类 ( D)数组 ( A)引用 ( B)数据成员 ( C)成员函数 ( D)继承 41 (1)是面向对象程序设计语言不同于其他语言的主要特点。是否建立了丰富的 (2)是衡量一个面向对象程序设计语言成熟与否的一个重要标志。 (3)上是在类及子类之间自动地共享数据和方法的一种机制。 ( A)继承性 ( B)消息传递 ( C)多态 性 ( D)静

12、态联编 ( A)函数库 ( B)类库 ( C)类型库 ( D)方法库 ( A)调用 ( B)引用 ( C)消息传递 ( D)继承 软件工程基础练习试卷 2答案与解析 1 【正确答案】 A 【试题解析】 继承是父类和子类之间共享数据和方法的机制。一个父类可以有多个子类,这些子类都是父类的特例,父类描述子类的公共属性和操作。子类可以继承它的父类中的属性和操作,这些属性和操作在子类中不必定义,子类中还可以定义自己的属性和操作。综上所述,本题正确答案为选项 A。 【知识模块】 软件工程基 础 2 【正确答案】 D 【知识模块】 软件工程基础 3 【正确答案】 B 【知识模块】 软件工程基础 4 【正确

13、答案】 C 【知识模块】 软件工程基础 5 【正确答案】 A 【试题解析】 在面向对象程序设计语言中,继承是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性,所以,对于第 1空,选项 D正确。消息传递可以实现发送一个通用的消息而调用不同的方法。对于第 2空,选项 B正确。封装是实现信息隐蔽的一种技术,其目的是使类的 定义与实现相互分离。对于第 3空,选项 C正确;对于第 4空,选项 A正确。 【知识模块】 软件工程基础 6 【正确答案】 C 【试题解析】 结构化设计是以过程为核心 (选项 A说法正确 ),而面向对象设计则是以对象设计为核心 (选

14、项 B说法正确 ),因为面向对象设计支持封装,将数据及其对应的操作绑定在一起。因此,面向对象设计更容易支持数据结构的修改以及系统的维护。所以,选项 C说法错误,为所选答案。选项 D说法正确。 【知识模块】 软件工程基础 7 【正确答案】 C 【试题解析】 在面向对象的程序 设计中,对象之间通过消息机制实现相互作用与通信,对象之间发送消息,需要指定接收消息对象的名称,要求该对象完成的功能,即执行的函数名,以及执行函数过程中需要的参数。对象之间传送消息,不需要知道待执行函数的内部结构。所以,本题正确答案为 C。 【知识模块】 软件工程基础 8 【正确答案】 A 【试题解析】 C#、 C+和 Jav

15、a都是面向对象程序设计语言,都支持用户自定义类。 C语言是面向过程的程序设计语言,不支持用户自定义类。所以,本题正确答案为 A。 【知识模块】 软件工程基础 9 【正确 答案】 C 【试题解析】 C+语言兼容 C语言,也就是 C+语言在 C语言的基础上进行了扩充。 C语言的所有结构也是 C+的组成部分,也就是说, C+完全兼容 C语言, C+编译器能正确编译 C语言程序。本题正确答案为选项 C。 【知识模块】 软件工程基础 10 【正确答案】 D 【试题解析】 程序设计方法学的目标是能设计出可靠、易读而且代价合理的程序。程序设计方法学包括程序理论、研制技术、支援环境、工程规范和自动程序设计等课

16、题,使程序设计更加科学化和工程化。其基本内容是:结构程序设计;程序理论在程序设计技术中的应用,以及规格说明和变换技术。程序理论与程序设计方法学的发展密切相关,它丰富了程序人员的思维方法,促进了程序设计技术的发展。程序设计方法学也与软件工程关系密切,对软件的研制和维护起指导作用。基本的程序设计方法有过程式程序设计 (结构化程序设计 )方法、逻辑式程序设计方法、函数 式程序设计方法和面向对象程序设计方法等。程序设计语言与程序设计方法不是一一对应的关系,例如 C+语言是面向对象的程序设计语言,它既支持结构化程序设计又支持面向对象的程序设计。过程式程序设计的基本特点是详细描述计算的步骤,至 20世纪

17、90年代,计算机软件开发过程中主要采用过程式 (结构化 )程序设计技术。 【知识模块】 软件工程基础 11 【正确答案】 D 【试题解析】 UML是一种面向对象的建模语言,它提出了一套统一的标准建模符号。最常用的 UML图包括用例图、类图、序列图、状态图、活动图、组件图 和部署图。这些图可以帮助开发人员设计和规划项目,但并不能替代编码的工作,所以选项 D是错误的描述。 【知识模块】 软件工程基础 12 【正确答案】 B 【试题解析】 子类继承父类使得子类能够直接具有父类的数据和方法,这和现实世界的遗传现象类似。 【知识模块】 软件工程基础 13 【正确答案】 C 【试题解析】 派生类会继承基类

18、的成员函数和成员变量,在公有继承的情况下,派生类不改变基类成员的访问权限。本题正确答案为选项 C。 【知识模块】 软件工程基础 14 【正确答案】 D 【试题解析】 消息是向对象发出的服务请求,它包含下面的信息:提供服务的对象 (也就是接收消息的对象 )标识,消息名 (也就是操作名 ),以及必要的参数。本题正确答案为选项 C。 【知识模块】 软件工程基础 15 【正确答案】 D 【试题解析】 对于选项 A,引用调用是通过传引用的方式进行调用。对于选项B,封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的类进行信息隐藏。对于选项 C,在计算机语

19、言中有两种主要的绑定方式:静态绑定和动态绑定。静态 绑定发生于数据结构和数据结构间,程序执行之前。静态绑定发生于编译期,因此不能利用任何运行期的信息。它针对函数调用与函数的主体,或变量与内存中的区块。因为 PHP是一种动态语言,它不使用静态绑定。但可以模拟静态绑定。动态绑定则针对运行期产生的访问请求,只用到运行期的可用信息。在面向对象的代码中,动态绑定意味着决定哪个方法被调用或哪个属性被访问,将基于这个类本身而不基于访问范围。对于选项 D,面向对象程序设计中,采用继承机制实现共享类中的方法和数据。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写 原来的类的情况下对这些功能进行

20、扩展。本题正确答案为选项 D。 【知识模块】 软件工程基础 16 【正确答案】 A 【试题解析】 使用面向对象方法开发的应用系统,强调封装和复用。封装隐藏信息,使得被封装的模块与外界的耦合度更低,更容易重用。软件复用是将已有的软件成分用于构造新的软件系统。可以被复用的软件成分一般称作可复用构件,无论对可复用构件原封不动地使用还是作适当的修改后再使用,只要是用来构造新软件,则都可称作复用。面向对象方法之所以特别有利于软件复用,是由于它的主要概念及原则与软件复用的要求 十分吻合。面向对象方法从面向对象的编程发展到面向对象的分析与设计,使这种方法支持软件复用的固有特征能够从软件生命周期的前期阶段开始

21、发挥作用,从而使 OO方法对软件复用的支持达到了较高的级别。与其他软件工程方法相比,面向对象方法的一个重要优点是,它可以在整个软件生命周期达到概念、原则、术语及表示法的高度一致。这种一致性使得各个系统成分尽管在不同的开发与演化阶段有不同的形态,但可具有贯穿整个软件生命周期的良好映射。这一优点使 OO方法不但能在各个级别支持软件复用,而且能对各个级别的复用形成统一的、高效的支持,达到良 好的全局效果。综上所述,选项 A为本题正确答案。 【知识模块】 软件工程基础 17 【正确答案】 A 【试题解析】 类的成员可以是另一个类的对象,也可以是自身类的引用或指针。如果是自身类对象,那么,会形成嵌套定义

22、。本题正确答案为选项 A。 【知识模块】 软件工程基础 18 【正确答案】 A 【试题解析】 有时为了保护某些特有的对象,可以通过定义其为私有属性达到不被继承的目的,所以 A选项的说法错误,为所选。 【知识模块】 软件工程基础 19 【正确答案】 D 【知识 模块】 软件工程基础 20 【正确答案】 A 【知识模块】 软件工程基础 21 【正确答案】 C 【知识模块】 软件工程基础 22 【正确答案】 D 【知识模块】 软件工程基础 23 【正确答案】 B 【试题解析】 封装是一种进行信息屏蔽的技术 (第 1空的正确答案为选项 D),它的目的是,将定义与实现进行分离 (第 2空的正确答案为选项

23、 A,保护数据,不被对象的使用者直接存取。类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个实例 (第 3空的正确答案为选项 C)。类之间共享属性和操作的机制称为继承 (第 4空的正确答案为选项 D)。一个对象通过发送消息来请求另一对象为其服务 (第 5空的正确答案为选项 B)。 【知识模块】 软件工程基础 24 【正确答案】 B 【知识模块】 软件工程基础 25 【正确答案】 C 【知识模块】 软件工程基础 26 【正确答案】 B 【知识模块】 软件工程基础 27 【正确答案】 D 【知识模块】 软件工程基础 28 【正确答案】 A 【试题解析】 类的定义包括类名、类

24、的说明和类的实现。 类的说明是类的外部接口,类的实现是类的内部表示。本题第 1空、第 2空的正确答案分别为选项 B和选项 C。 类具有封装性、继承性和多态性。 封装即是将数据与操作此数据的方法包含在一起的特性。它可以隐藏类对象内部实现的复杂细节,有效地保护内部所有数据不受外部破坏。第 3空的正确答案为选项 B。 继承是是实现对类的复用。通过 “继承 ”一个现有的类,可以避免相似类的重复定义,提高编程效率。继承而产生的类叫做子类,被继承的类叫做父类。继承增强了类的共享机制,实现了软件的可重用性,简化系统的开发工作。第 4空的 正确答案为选项 D。 所谓多态性是指发出同样的消息被不同类型的对象接收

25、时导致完全不同的行为。这里所说的消息主要是指对类的成员函数的调用,而不同的行为是指不同的实现。利用多态性,用户只需发送一般形式的消息,而将所有的实现留给接收消息的对象。对象根据所接收到的消息而做出相应的动作 (即操作 )。函数重载和运算符重载是简单的多态性。所谓函数重载简单地说就是赋给同一个函数名多个含义。运算符重载就是赋予已有的运算符多重含义。第 5空的正确答案为选项 A。 【知识模块】 软件工程基础 29 【正确答案】 B 【试题解析】 数据流图包含的成分有数据流、加工和数据存储,本题正确答案为选项 B。 【知识模块】 软件工程基础 30 【正确答案】 C 【知识模块】 软件工程基础 31

26、 【正确答案】 A 【试题解析】 在面向对象的开发方法中,把数据以及操作数据的相关方法组合在一起的做法称为封装,封装所得到的数据以及对数据的操作形成类,类是面向对象程序设计的基本构造单元,也是软件开发中最基本的复用单元。 【知识模块】 软件工程基础 32 【正确答案】 A 【知识模块】 软件工程基础 33 【正确答案】 B 【试题解析】 任何派生类的对象都是基类的对象,凡是引用基类对象的地方,都可以用派生类对象代替。所以,第 1空的正确答案为选项 A,第 2空的正确答案为选项 B。 【知识模块】 软件工程基础 34 【正确答案】 B 【知识模块】 软件工程基础 35 【正确答案】 D 【试题解

27、析】 对象是类的实例,类通常描述了一组对象的共同特性,是一个集合的概念,而对象则是类所描述的一组对象中的某一个。在第 1空的选项中,序列号为 sw1987532的电影胶片是一个特例,所以不 属于类,故 A不为所选;影片 “卡萨布兰卡 ”是特例,故 C和 D不为所选。在第 2空中,电影、足球赛和电影胶片均是泛指一类东西,故 A、 B和 C均不正确。 【知识模块】 软件工程基础 36 【正确答案】 A 【知识模块】 软件工程基础 37 【正确答案】 B 【试题解析】 常用的 UML图如下: 类图。类图表示一组对象、接口、协作以及它们之间的关系,显示了系统的静态结构。 对象图。对象图展现一组对象以及

28、它们之间的关系。 用例图。用例图展现一组用例、主角以及它们之间的关系。对 于第 1个空,选项 A为正确答案。 序列图。序列图是场景的图形化表示。对于第 2个空,正确答案为选项 B。 协作图。协作图强调收发消息的对象的组织结构。 状态图。状态图表示某个类所处的不同状态和该类的状态转换信息。 活动图。活动图表示在处理某个活动时,两个或者更多类对象之间的过程控制流。 构件图。构件图展现一组构件之间的组织和依赖,专注于系统的静态实现视图。 部署图。部署图展现了运行处理结点及其构件的配置。 【知识模块】 软件工程基础 38 【正确答案】 B 【知识模块】 软件工程基础 39 【正确答案】 C 【知识模块

29、】 软件工程基础 40 【正确答案】 D 【试题解析】 在面向对象的系统中,对象是基本的运行时的实体,它既包括数据(属性 ),也包括作用于数据的操作 (行为 )。所以,第 1空应该选择 B。一个类定义了一组大体上相似的对象。故第 2空选 C。继承是父类和子类之间共享数据和方法的机制。因此,第 3空应该选择 D。 【知识模块】 软件工程基础 41 【正确答案】 A 【知识模块】 软件工程基础 42 【正确答案】 B 【知识模块】 软件工程基础 43 【正确答案】 D 【试题解析】 继承是指一个子对象可以继承其父类的属性及操作。它可以提高软件开发效率,是面向对象语言与其他语言不同的主要特点。第 1个空的正确答案为选项 A。是否建立了丰富的类库是衡量一个面向对象程序设计语言成熟与否的一个重要标志。第 2个空的正确答案为选项 B。继承是在类及子类之间自动地共享数据和方法的一种机制。第 3个空的正确答案为选项 D。 【知识模块】 软件工程基础

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1