[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编14及答案与解析.doc

上传人:吴艺期 文档编号:507049 上传时间:2018-11-29 格式:DOC 页数:19 大小:91.50KB
下载 相关 举报
[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编14及答案与解析.doc_第1页
第1页 / 共19页
[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编14及答案与解析.doc_第2页
第2页 / 共19页
[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编14及答案与解析.doc_第3页
第3页 / 共19页
[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编14及答案与解析.doc_第4页
第4页 / 共19页
[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编14及答案与解析.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编 14及答案与解析 1 在多态的几种不同形式中, (37)多态是一种特定的多态,指同一个名字在不同上下文中可代表不同的含义。 ( A)参数 ( B)包含 ( C)过载 ( D)强制 2 在面向对象技术中,对象具有以下特性: (37)。 清晰的边界 良好定义的行为 确定的位置和数最 可扩展性 ( A) ( B) ( C) ( D) 3 以下关于封装在软件复用中所充当的角色的叙述,正确的是 (38)。 ( A)封装使 得其他开发人员不需要知道一 个软件组织内部是如何 1二作 ( B)封装使得软件组织更有效地工作 ( C)封装使得软件开发

2、人员不需要编制开发文档 ( D)封装使得软件组件开发更加容易 4 在有些程序设计语言中,过程调用和响应调用需执行的代码的绑定直到运行时才进行,这种绑定称为 (39)。 ( A)静态绑定 ( B)动态绑定 ( C)过载绑定 ( D)强制绑定 5 面向对象分析的第一步是 (37) ( A)定义服务 ( B)确定附加的系统约束 ( C)确定问题域 ( D)定义类和对象 6 下列关于一个类的 静态成员的描述中,不正确的是 (38)。 ( A)类的静态方法只能访问该类的静态数据成员 ( B)静态数据成员可被该类的所有方法访问 ( C)该类的对象共享其静态数据成员的值 ( D)该类的静态数据成员的值不可修

3、改 7 以下关于面向对象方法中继承的叙述中,错误的是 (37)。 ( A)继承是父类和子类之间共享数据和方法的机制 ( B)继承定义了一种类与类之间的关系 ( C)继承关系中的子类将拥有父类的全部属性和方法 ( D)继承仅仅允许单重继承,即不允许一个子类有多个父类 8 (41)不是面向对象分析阶 段需要完成的。 ( A)认定对象 ( B)组织对象 ( C)实现对象及其相互关系 ( D)描述对象间的相互作用 9 某程序设计语言规定在源程序中的数据都必须具有类型,然而, (28)并不是做出此规定的理由。 ( A)为数据合理分配存储单元 ( B)可以定义和使用动态数据结构 ( C)可以规定数据对象的

4、取值范围及能够进行的运算 ( D)对参与表达式求值的数据对象可以进行合法性检查 10 以下关于变量和常量和叙述中,错误的是 (20)。 ( A)变量的取值在程序运行过程中可以改变,常量则不行 ( B)变量具 有类型属性,常量则没有 ( C)变量具有对应的存储单元,常量则没有 ( D)可以对变量赋值,不能对常量赋值 11 以下关于可视化程序设计的叙述中,错误的是 (49)。 ( A)可视化程序设计使开发应用程序无需编写程序代码 ( B)可视化程序设计基于面向对象的思想,引入了控件和事件驱动 ( C)在可视化程序设计中,构造应用程序界面就像搭积木 ( D)在可视化程序设计中,采用解释方式可随时查看

5、程序的运行效果 12 以下关于面向对象设计的叙述中,错误的是 (42)。 ( A)面向对象设计应在面向对象分析之前, 因为只有产生了设计结果才可对其进行分析 ( B)面向对象设计与面向对象分析是面向对象软件过程中两个重要的阶段 ( C)面向对象设计应该依赖于面向对象分析的结果 ( D)面向对象设计产生的结果在形式上可以与面向对象分析产生的结果类似,例如都可以使用 UML表达 13 采用面向对象开发方法时,对象是系统运行的基本实体。以下关于对象的叙述中,正确的是 (37)。 ( A)对象只能包括数据 (属性 ) ( B)对象只能包括操作 (行为 ) ( C)对象一定有相同的属性和行为 ( D)对

6、象通常由对象名、属性和操作三个部分组成 14 基于构件的软件开发,强调使用可复用的软件 “构件 ”来设计和构建软件系统,对所需的构件进行合格性检验、 (15),并将它们集成到新系统中。 ( A)规模度量 ( B)数据验证 ( C)适应性修改 ( D)正确性测试 15 采用面向对象方法开发软件的过程中,抽取和整理用户需求并建立问题域精确模型的过程叫 (16)。 ( A)面向对象测试 ( B)面向对象实现 ( C)面向对象设计 ( D)面向对象分析 16 以下关于 UML部署图的叙述中,正确的是 (40)。 ( A)因为一条消息总是有某种响应,部署 组件之间的依赖是双向的 ( B)部署组件之间的依

7、赖关系类似于包图 ( C)部署图不用于描述代码的物理模块 ( D)部署图不用于描述系统在不同计算机系统的物理分布 16 继承是父类和子类之间共享数据和方法的机制。以下关于继承的叙述中,不正确的是 (38)。有关图 91中 doIt()方法的叙述中,正确的是 (39)。17 (38) ( A)一个父类可以有多个子类,这些子类都是父类的特例 ( B)父类描述了这些子类的公共属性和操作 ( C)子类可以继承它的父类 (或祖先类 )中的属性和操作而不必自己定义 ( D)子类中可以定义自己的新操作而不能定义和父类同名的操作 18 (39) ( A) doIt()必须由 Thing3实现,同时可能由 Th

8、ing4实现 ( B) doIt()必须由 Thing5实现 ( C) doIt()必须由 Thing2、 Thing3、 Thing4和 Thing5实现 ( D) dolt()已经由 Thing1实现,因此无需其他类实现 18 在面向对象技术中, (38)说明一个对象具有多种形态, (39)定义超类与子类之间的关系。 19 (38) ( A)继承 ( B)组合 ( C)封装 ( D)多 态 20 (39) ( A)继承 ( B)组合 ( C)封装 ( D)多态 20 一个类是 (38)。在定义类时,将属性声明为 private的目的是 (39)。 21 (38) ( A)一组对象的封装 (

9、 B)表示一组对象的层次关系 ( C)一组对象的实例 ( D)一组对象的抽象定义 22 (39) ( A)实现数据隐藏,以免意外更改 ( B)操作符重载 ( C)实现属性值不可更改 ( D)实现属性值对类的所有对象共享 22 在面向对象技术中, (41)定义了超类和子类之间的关系,子类中以更具 体的方式实现从父类继承来的方法称为 (42),不同类的对象通过 (43)相互通信。 23 (41) ( A)覆盖 ( B)继承 ( C)消息 ( D)多态 24 (42) ( A)覆盖 ( B)继承 ( C)消息 ( D)多态 25 (43) ( A)覆盖 ( B)继承 ( C)消息 ( D)多态 25

10、 不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做 (38)。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定在编译时进行,叫做 (39);而 (40)则在运行时进行,即一个给定的过程调用和执行代码的结合直到调用发生时才进行。 26 (38) ( A)继承 ( B)多态 ( C)动态绑定 ( D)静态绑定 27 (39) ( A)继承 ( B)多态 ( C)动态绑定 ( D)静态绑定 28 (40) ( A)继承 ( B)多态 ( C)动态绑定 ( D)静态绑定 28 开一闭原则 (OpenClosedPrincipie, OCP)是面向对象

11、的可复用设计的基石。开一闭原则是指一个软件实体应当对 (37)开放,对 (28)关闭;里氏代换原则(LiskovSubstitutionPrinciple, LSP)是指任何 13业可以出现的地方, (40)一定可以出现。依赖倒转原则 (DependenceInversionPrinciple, DIP)就是要依赖于 (41)而不依赖于 (42),或者说要针对接口编程,不要针对实现编程。 29 (37) ( A)修改 ( B)扩展 ( C)分析 ( D)设计 30 (38) ( A)修改 ( B)扩展 ( C)分析 ( D)设计 31 (39) ( A)变量 ( B)常量 ( C)基类对象 (

12、 D)子类对象 32 (40) ( A)变量 ( B)常量 ( C)基类对象 ( D)子类对象 33 (41) ( A)程序设计语言 ( B)建模语言 ( C)实现 ( D)抽象 34 (42) ( A)程序设计语言 ( B)建模语言 ( C)实现 ( D)抽象 软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编 14答案与解析 1 【正确答案】 C 【试题解析】 一般将多态分为通用多态和特殊多态。其中通用多态包括参数多态和包含多态,参数多态利用泛型编程,是发散式的,是静态绑定的,让相同的实现代码应用于不同的场合,看重的是算法的普适性,包含多态利用 00P,是收敛式的,是动态绑定的

13、,让不同的实现代码应用于相同的场合,看重的是接口与实现的分离度。特殊多态包括强制多态和过载多态,其中强制多态即一种类型的变量在作为参数传递时隐式转换成另一种类型,比如一个整型变量可以匹配浮点型变量的函数参数;过载多态即同一个名 (操作符、函数名 )在不同的上下文中有不同的类型。程序设计语言中基本 【知识模块】 面向对象技术 2 【正确答案】 C 【试题解析】 对象是类的实例,具有清晰的边界、良好定义的行为和 可扩展性。 【知识模块】 面向对象技术 3 【正确答案】 A 【试题解析】 封装就是将抽象得到的数据和行为 (或功能 )相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的

14、结合,形成 “类 ”,其中数据和函数都足类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。 【知识模块】 面向对象技术 4 【正确答案】 B 【试题解析】 绑定指的是一个方法的调用与方法所在的类 (方法主体 )关联起来。静态绑 定:在程序执行前方法已经被绑定,此时由编译器或其他连接程序实现。动态绑定:在运行时根据具体对象的类型进行绑定。若一种语言实现了动态绑定,同时必须提供一些机制,可在运行期间判断对象的类型,并分别调用适当的方法。也就是说,编译器此时依然不知道对象的类型,但方法调用机制能自己去调查,找到正确的方法主

15、体。不同的语言对动态绑定的实现方法是有所区别的。 【知识模块】 面向对象技术 5 【正确答案】 C 【试题解析】 面向对象分析 (OOA)需要将真实世界进行抽象,通过问题的叙述,将真实世界系统加以描述。分析的目的是为了构造一个系统属性和系统行为的模型,该模型是根据对象和对象之间的关系、动态控制和功能转移来确定的。 OOA应该包含以下几个步骤: 分析问题域,建立用例模型。 发现和定义对象和类。 识别对象的内部特征。 识别对象的外部联系。 识别对象之间的交互。面向对象分析的基础就是问题域以及用户的需求,研究问题域和系统需求的主要目的是通过对问题域的深入研究,建立一个能够满足用户需求的系统模犁。面向

16、对象分析的第 。步就是分析用户 【知识模块】 面向对象技术 6 【正确答案】 D 【试题解析】 在面向对象程序设计中,可以通过类的静态成员来解决同,一个类的对象之间共享数据的问题。静态数据成员是属于类的,因此,静态数据成员可以在没有任何对象的情况下就可以访问到。类的静态方法可以不以捆绑对象的形式调用,在调用时没有当前对象的信息,所以静态方法只能访问静态成员,不能访问非静态的数据成员和方法。静态数据成员的值可以修改,选项 D错误。 【知识模块】 面向对象技术 7 【正确答案】 D 【试题解析】 面向对象技术中,继承是父类和子类之间共享数据和方法的机制。这是类之间的一种关系,在定义和实现一个类的时

17、候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。可以存在多重继承的概念,但不同的程序设计语言可以有自己的规定。 【知识模块】 面向对象技术 8 【正确答案】 C 【试题解析】 面向对象分析包含 5个活动:认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息。实现对象及其相互关系应该归入到系统的实现阶段,不属于 分析阶段的任务。 【知识模块】 面向对象技术 9 【正确答案】 B 【试题解析】 若一种程序设计语言规定其程序中的数据必须具有类型,则有利于在翻译程序的过程中为数据合理分配存储单元、对参与表达式计算的数据

18、对象进行检查、规定数据对象的取值范围及能够进行的运算。动态数据结构是在程序运行过程中动态地定义和使用,在编译或解释过程中不会涉及到,因此答案选择B。 【知识模块】 面向对象技术 10 【正确答案】 C 【试题解析】 常量是在程序运行过程中值不可以改变的数据。根据数组的组织类型 的不同,可以将数据分为基本数据类型、用户自定义数据类型、构造类型等。变量具有类型属性,常量也有数据类型,如整数常量、字符串常量等。 【知识模块】 面向对象技术 11 【正确答案】 A 【试题解析】 可视化 (visual)程序设计是一种全新的程序设计方法,它主要是让程序设计人员利用软件本身所提供的各种控件,像搭积木式地构

19、造应用程序的各种界面。可视化程序设计以 “所见即所得 ”的编程思想为原则,力图实现编程工作的可视化,即随时可以看到结果,程序与结果的调整同步。可视化编程语言的特点主要表现在两个方面 :一是基于面向对象的思想,引入了控件的概念和事件驱动;二是程序开发过程一般遵循以下步骤,即先进行界面的绘制工作,再基于事件编写程序代码,以响应鼠标、键盘的各种动作。可视化程序设计最大的优点是设计人员可以不用编写或 【知识模块】 面向对象技术 12 【正确答案】 A 【试题解析】 面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,面向对象分析产生分析模型,该分析模型可以使用 LIML表达,面向对象设计以分析模

20、型为基础,继续对分析模型进行加工,得到设计模型,其表达仍然可以采用 UML建模语言 。 【知识模块】 面向对象技术 13 【正确答案】 D 【试题解析】 在面向对象的系统中,对象是基本的运行时的实体,它既包括数据(属性 ),也包括作用于数据的操作 (行为 )。一个对象通常可由对象名、属性和操作三个部分组成。 【知识模块】 面向对象技术 14 【正确答案】 C 【试题解析】 基于构件的软件开发,主要强调在构建软件系统时复用已有的软件“构件 ”,在检索到可以使用的构件后,需要针对新系统的需求对构件进行合格性检验、适应性修改,然后集成到新系统中。 【知识模块】 面向 对象技术 15 【正确答案】 D

21、 【试题解析】 采用面向对象的软件开发,通常有面向对象分析、面向对象设计、面向对象实现。面向对象分析是为了获得对应用问题的理解,其主要任务是抽取和整理用户需求并建立问题域精确模型。面向对象设计是采用协作的对象、对象的属性和方法说明软件解决方案的一种方式,强调的是定义软件对象和这些软件对象如何协作来满足需求,延续了面向对象分析。面向对象实现主要强调采用面向对象程序设计语言实现系统。面向对象测试是根据规范说明来验证系统设计的正确性。 【知识模块】 面向对象技术 16 【正确答案】 B 【试题解析】 部署图展现了运行处理节点以及其中的构件的配置。部署图给出了体系结构的静态实施视图。它与构件图相关,通

22、常一个节点包含一个或多个构件即类似于包图,所以答案选 B。 【知识模块】 面向对象技术 【知识模块】 面向对象技术 17 【正确答案】 D 【知识模块】 面向对象技术 18 【正确答案】 A 【试题解析】 继承是父类和子类之间共享数据和方法的机制。这是类之问的一种关系,在定义和实现一个类 (子类 )的时候,可以在一个已经存在的类 (父类 )的 基础卜进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。一个父类可以有多个子类,这些子类都是父类的特例,父类描述了这些子类的共有属性和操作。一个子类可以继承它的父类 (或祖先类 )中的属性和操作,这些属性和操作在子类中不必定义,子类

23、中还可以定义自己的属性和操作。所以 D选项错误。题中的 Thing1为接口,那么 doIt()为接口中的抽象方法,必须由实现它的类去实现 【知识模块】 面向对象技术 【知识模块】 面向对象技术 19 【正确答案】 D 【知识模块】 面向对象技术 20 【正确答案】 A 【试题解析】 在面向对象技术中,不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态,这说明一个对象具有多种形态:继承是父类和子类之间共享数据和方法的机制,这是类之间的一种关系。 【知识模块】 面向对象技术 【知识模块】 面向对象技术 21 【正确答案】 D 【知识模块】 面向对象技术 22 【正确答案】 A 【试题解

24、析】 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。类是对象的抽象,而对象 是类的具体实例。在类中,可将数据声明为 prjvate、 protect和 public,声明为 private的数据为私有的,只能被类中的成员函数调用,不能在类外访问,从而实现数据隐藏的目的,可防止意外更改。 【知识模块】 面向对象技术 【知识模块】 面向对象技术 23 【正确答案】 B 【知识模块】 面向对象技术 24 【正确答案】 A 【知识模块】 面向对象技术 25 【正确答案】 C 【试题解析】 本题主要考察面向对象的基本概念。继承是一种联结类的层次模型,并且允许 和

25、鼓励类的重用,它提供了一种明确表述共性的方法。 【知识模块】 面向对象技术 【知识模块】 面向对象技术 26 【正确答案】 B 【知识模块】 面向对象技术 27 【正确答案】 D 【知识模块】 面向对象技术 28 【正确答案】 C 【试题解析】 在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态 (polymoll)hism)。在使用多态的时候,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定。 这样,同一消息就 可以调用不同的方法。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行的,

26、叫做静态绑定。 动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。动态绑定是和类的继承以及多态相联系的。在继承关系中,子类是 【知识模块】 面向对象技术 【知识模块】 面向对象技术 29 【正确答案】 B 【知识模块】 面向对象技术 30 【正确答案】 A 【知识模块】 面向对象技术 31 【正确答案】 C 【知识模块】 面向对象技术 32 【正确答案】 D 【知识模块】 面向对象技术 33 【正确答案】 D 【知识模块】 面向对象技术 34 【正确答案】 C 【试题解析】 开一闭原则 (OpenClosedPrincipie)可以说是面向对象设计的核心所在。开一闭原则的两个重要特点是 “对扩展开放,对修改关闭 ”,即允许对程序作出扩展 (以扩展的方式响应需求的变化 ),但拒绝对程序作出修改 (即修改之前运行良好的程序 )。实现 “开一闭原则 ”的重要机制就是 “抽象 ”与 “多态 ”。通过对 “变化 ”进行抽象隔离,使程序具有更好的扩展性与可维护性。里氏代换原则(LiskovSubstitutionPrincipie, L,SP)在实现继承时,子类 (sLtbtype)必须能替换掉它们的基类 (basety 【知识模块】 面向对象技术

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

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

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