1、程序员-软件工程基础知识及答案解析(总分:41.00,做题时间:90 分钟)一、单项选择题(总题数:36,分数:41.00)1.关于对象和类的叙述,正确的是 。(分数:1.00)A.如果两个对象的所有成员变量的值相同,则这两个对象是同一对象B.编写代码时,不允许使用匿名类C.不同的对象一定属于不同的类D.每个对象都有唯一标识,以彼此区分2.采用结构化方法开发软件时,常使用数据流图来描述系统数据处理过程,它是 阶段产生的。(分数:1.00)A.系统分析B.概要设计C.详细设计D.编码程序中的局部数据结构测试通常在 (33) 阶段进行,而全局数据结构测试通常在 (34) 阶段进行。(分数:2.00
2、)A.单元测试B.集成测试C.确认测试D.系统测试A.单元测试B.集成测试C.确认测试D.系统测试3.瀑布模型是传统的软件开发过程模型,它强调各阶段的严格性,其主要缺点是 。(分数:1.00)A.需要软件人员和用户进行沟通B.需要付出较高的维护成本C.开发的软件不易于移植D.不适应需求不确定的软件开发4. 是对象之间关联的一个重要方面,它说明了在关联中一个类的对象可以对应另一个类的多个对象。(分数:1.00)A.继承B.多态C.封装D.多重性5.软件测试是保证软件质量的关键活动,实施软件测试的可行目标是 。(分数:1.00)A.证明软件不存在错误和缺陷B.验证程序的数据表示方式是否正确C.找出
3、软件中的所有错误和缺陷D.尽量多地发现软件中的错误和缺陷6.对程序进行白盒测试时,可采用 法设计测试用例。(分数:1.00)A.等价类划分B.边界值分析C.逻辑覆盖D.因果图将软件从一种计算机环境转换到另一种环境运行的难易程度是指软件的 (39) 。在规定的条件下和规定的时间间隔内,按设计要求,软件成功运行的特性称为 (40) 。(分数:2.00)A.可靠性B.可移植性C.可使用性D.灵活性A.可靠性B.可移植性C.可重用性D.正确性7.通常在软件开发的 活动中无需用户参与。(分数:1.00)A.需求分析B.维护C.编码D.测试8.聚集的一种形式是聚集对象和它的组成对象之间具有强关联关系,这种
4、聚集称为 ,其关键特征是部分对象只能存在于组成对象之中。(分数:1.00)A.集合B.组合C.关联D.弱关联9.下面关于类、对象和实例的叙述中,错误的是 。(分数:1.00)A.类是创建对象的模板B.对象是类的实例C.类是对象的实例D.类是一组具有共同特征的对象集合10.通常在软件开发过程的 阶段,无需用户参与。(分数:1.00)A.需求分析B.维护C.编码D.测试11.面向对象中的 机制是对现实世界中遗传现象的模拟,通过该机制,基类的属性和方法被遗传给派生类。(分数:1.00)A.封装B.多态C.继承D.变异12.软件测试分为黑盒测试和白盒测试,其中 方法属于黑盒测试。(分数:1.00)A.
5、等价类划分和边界值划分B.循环覆盖以及基本路径测试C.错误推测和逻辑覆盖D.因果图和路径覆盖软件测试通常采用黑盒测试和白盒测试。其中黑盒测试根据软件的 (31) 设计测试用例,白盒测试根据软件的 (32) 设计测试用例。(分数:2.00)A.功能规格说明B.需求说明C.内部结构和逻辑D.数据流图A.功能规格说明B.需求说明C.内部结构和逻辑D.数据流图13.原型化方法是动态确定软件需求的方法之一,该方法适应于 的系统。(分数:1.00)A.需求不确定性高B.需求确定C.结构简单D.可移植性好在统一建模语言(Unifled Modeling Language,UML)中,描述本系统与外部系统及用
6、户之间交互的图是 (14) ;按时间顺序描述对象间交互的图是 (15) 。(分数:2.00)A.用例图B.类图C.对象图D.状态图A.部署图B.序列图C.协作图D.状态图14.ISO/IEC 9126软件质量模型中第一层定义了 6个质量特性,并为各质量特性定义了相应的质量子特性。其中易替换性子特性属于软件的 质量特性。(分数:1.00)A.可靠性B.可移植性C.效率D.可维护性15.关于软件文档的叙述,“ ”是错误的。(分数:1.00)A.文档就是指软件的操作说明书B.文档是软件产品的一部分,没有文档的软件就不能成为软件C.高质量文档对于软件开发、维护和使用有重要的意义D.测试用例也是重要的软
7、件文档16.UML是一种 。(分数:1.00)A.面向对象的程序设计语言B.面向过程的程序设计语言C.软件系统开发方法D.软件系统建模语言17. 不是面向对象程序设计语言。(分数:1.00)A.XMLB.JaVaC.C#D.Simula18.传统的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。图 7-4给出的软件开发过程属于 模型。(分数:1.00)A.瀑布B.演化C.螺旋D.喷泉19.下列关于结构化设计与面向对象设计的叙述中,不正确的是 。(分数:1.00)A.结构化设计以过程设计为核心B.面向对象设计以对象设计为核心C.结构化设计比面向对象设计更易支持数据结构的修改D.面向对象设
8、计比结构化设计更易支持系统的维护20.某软件在进行维护时,因误删除一个标识符而引起的错误是 副作用。(分数:1.00)A.文档B.数据C.编码D.设计面向对象 (6) 强调对问题的调查而不是如何确定解决方案,面向对象 (7) 强调的是问题的逻辑解决方案,即系统怎样才能满足需求。(分数:2.00)A.编程B.实现C.分析D.设计A.编程B.实现C.分析D.设计21. 属于动态交互图,它们关注系统的动态特性。(分数:1.00)A.序列图和通信图B.序列图和类图C.类图和对象图D.用例图和通信图22. 是一种面向数据结构的软件开发方法,该方法以数据结构为基础,通过一组映射或转换过程来建立程序的结构。
9、(分数:1.00)A.结构化开发方法B.Jackson系统开发方法C.Boockl方法D.UML(统一建模语言)23. 关系描述了某对象由其他对象组成。(分数:1.00)A.依赖B.一般化C.聚合D.具体化24.关于对象封装的叙述,正确的是 。(分数:1.00)A.每个程序模块中都封装了若干个对象B.封装可实现信息隐藏C.封装使对象的状态不能改变D.封装是把对象放在同一个集合中25.软件设计活动中的 设计指定各个组件之间的通信方式以及各组件之间如何相互作用。(分数:1.00)A.数据B.接口C.结构D.组件26.软件“做什么”和“怎么做”是软件开发过程中需要解决的关键问题,其中“怎么做”是在
10、阶段解决的。(分数:1.00)A.需求分析B.文档设计C.软件编码D.测试27. 是类的特性,它描述了类的对象所具有的一系列特性值。(分数:1.00)A.属性B.操作C.行为D.状态28.为了改善系统硬件环境和运行环境而产生的系统更新换代需求而导致的软件维护属于 维护。(分数:1.00)A.适应性B.正确性C.完善性D.预防性29. 语言最适用于过程式程序设计。(分数:1.00)A.CB.HTMLC.JavaD.PROLOG30.在软件开发过程中,软件设计包括 4个既独立又相互联系的活动,分别为体系结构设计、 、数据设计和过程设计。(分数:1.00)A.文档设计B.程序设计C.用户手册设计D.
11、接口设计31.在面向对象技术中,抽象类是 。(分数:1.00)A.接口B.没有方法的类C.没有子类的类D.至少有一个未定义消息的类程序员-软件工程基础知识答案解析(总分:41.00,做题时间:90 分钟)一、单项选择题(总题数:36,分数:41.00)1.关于对象和类的叙述,正确的是 。(分数:1.00)A.如果两个对象的所有成员变量的值相同,则这两个对象是同一对象B.编写代码时,不允许使用匿名类C.不同的对象一定属于不同的类D.每个对象都有唯一标识,以彼此区分 解析:解析 本题考查的是对象和类的基本概念。每个对象都有唯一标识,以彼此区分,即便是两个对象的所有成员变量的值都相同,在内存中仍然占
12、有两份不同的存储空间;编写代码时,大都可以使用匿名类;不同的对象可以属于同一个类,反过来说就是一个类可以有多个不同的对象。2.采用结构化方法开发软件时,常使用数据流图来描述系统数据处理过程,它是 阶段产生的。(分数:1.00)A.系统分析 B.概要设计C.详细设计D.编码解析:解析 数据流图是结构化分析方法中的重要工具,所以它是系统分析阶段产生的。程序中的局部数据结构测试通常在 (33) 阶段进行,而全局数据结构测试通常在 (34) 阶段进行。(分数:2.00)A.单元测试 B.集成测试C.确认测试D.系统测试解析:A.单元测试B.集成测试 C.确认测试D.系统测试解析:解析 程序中的局部数据
13、结构测试通常在单元测试阶段进行,而全局数据结构测试通常在集成测试阶段进行。3.瀑布模型是传统的软件开发过程模型,它强调各阶段的严格性,其主要缺点是 。(分数:1.00)A.需要软件人员和用户进行沟通B.需要付出较高的维护成本C.开发的软件不易于移植D.不适应需求不确定的软件开发 解析:解析 瀑布模型是传统的软件开发过程模型,它强调各阶段的严格性,但瀑布模型缺乏灵活性,不适应需求不确定的软件开发。4. 是对象之间关联的一个重要方面,它说明了在关联中一个类的对象可以对应另一个类的多个对象。(分数:1.00)A.继承B.多态C.封装D.多重性 解析:解析 多重性是对象之间关联的一个重要方面,它说明了
14、在关联中一个类的对象可以对应另一个类的多个对象。5.软件测试是保证软件质量的关键活动,实施软件测试的可行目标是 。(分数:1.00)A.证明软件不存在错误和缺陷B.验证程序的数据表示方式是否正确C.找出软件中的所有错误和缺陷D.尽量多地发现软件中的错误和缺陷 解析:解析 对软件进行测试主要是尽可能多地发现软件中的错误和缺陷,来保证软件的质量和可靠性。6.对程序进行白盒测试时,可采用 法设计测试用例。(分数:1.00)A.等价类划分B.边界值分析C.逻辑覆盖 D.因果图解析:解析 采用白盒设计时,可采用逻辑覆盖法、基本路径测试等技术设计测试用例。将软件从一种计算机环境转换到另一种环境运行的难易程
15、度是指软件的 (39) 。在规定的条件下和规定的时间间隔内,按设计要求,软件成功运行的特性称为 (40) 。(分数:2.00)A.可靠性B.可移植性 C.可使用性D.灵活性解析:A.可靠性 B.可移植性C.可重用性D.正确性解析:解析 本题考查软件质量的基础知识。将软件从一种计算机环境转换到另一种环境运行的难易程度是指软件的可移植性。在规定的条件下和规定的时间间隔内,按设计要求,软件成功运行的特性称为可靠性。7.通常在软件开发的 活动中无需用户参与。(分数:1.00)A.需求分析B.维护C.编码 D.测试解析:解析 编码只是将软件设计用具体的程序设计语言进行实现,不需要用户的参与。8.聚集的一
16、种形式是聚集对象和它的组成对象之间具有强关联关系,这种聚集称为 ,其关键特征是部分对象只能存在于组成对象之中。(分数:1.00)A.集合B.组合 C.关联D.弱关联解析:解析 聚集分为聚合和组合,它的一种形式是聚集对象和它的组成对象之间具有强关联关系,这种聚集称为组合,其关键特征是部分对象只能存在于组成对象之中。9.下面关于类、对象和实例的叙述中,错误的是 。(分数:1.00)A.类是创建对象的模板B.对象是类的实例C.类是对象的实例 D.类是一组具有共同特征的对象集合解析:解析 类是一组具有共同特征的对象集合。对象是类的实例。10.通常在软件开发过程的 阶段,无需用户参与。(分数:1.00)
17、A.需求分析B.维护C.编码 D.测试解析:解析 在软件开发过程的编码阶段不需要用户的参与。11.面向对象中的 机制是对现实世界中遗传现象的模拟,通过该机制,基类的属性和方法被遗传给派生类。(分数:1.00)A.封装B.多态C.继承 D.变异解析:解析 本题考查继承的基本概念。面向对象中的继承机制是对现实世界中遗传现象的模拟,通过该机制,基类的属性和方法被遗传给派生类。12.软件测试分为黑盒测试和白盒测试,其中 方法属于黑盒测试。(分数:1.00)A.等价类划分和边界值划分 B.循环覆盖以及基本路径测试C.错误推测和逻辑覆盖D.因果图和路径覆盖解析:解析 黑盒测试常用方法有等价类划分、边界值划
18、分、错误猜测和因果图等。软件测试通常采用黑盒测试和白盒测试。其中黑盒测试根据软件的 (31) 设计测试用例,白盒测试根据软件的 (32) 设计测试用例。(分数:2.00)A.功能规格说明 B.需求说明C.内部结构和逻辑D.数据流图解析:A.功能规格说明B.需求说明C.内部结构和逻辑 D.数据流图解析:解析 软件测试通常采用黑盒测试和白盒测试。其中黑盒测试根据软件的功能规格来说明设计测试用例,而白盒测试根据软件的内部结构和逻辑设计测试用例。13.原型化方法是动态确定软件需求的方法之一,该方法适应于 的系统。(分数:1.00)A.需求不确定性高 B.需求确定C.结构简单D.可移植性好解析:解析 本
19、题考查原型化方法的理解。原型化方法是一种适应于需求不确定的软件系统开发方法。在统一建模语言(Unifled Modeling Language,UML)中,描述本系统与外部系统及用户之间交互的图是 (14) ;按时间顺序描述对象间交互的图是 (15) 。(分数:2.00)A.用例图 B.类图C.对象图D.状态图解析:A.部署图B.序列图 C.协作图D.状态图解析:解析 在 UML中,描述本系统与外部系统及用户之间交互的图是用例图;按时间顺序描述对象间交互的图是序列图。14.ISO/IEC 9126软件质量模型中第一层定义了 6个质量特性,并为各质量特性定义了相应的质量子特性。其中易替换性子特性
20、属于软件的 质量特性。(分数:1.00)A.可靠性B.可移植性 C.效率D.可维护性解析:解析 可移植性指软件从一种运行环境转移到另一种环境中的容易程度,它包括易安装性、易替换性、适应性和一致性。15.关于软件文档的叙述,“ ”是错误的。(分数:1.00)A.文档就是指软件的操作说明书 B.文档是软件产品的一部分,没有文档的软件就不能成为软件C.高质量文档对于软件开发、维护和使用有重要的意义D.测试用例也是重要的软件文档解析:解析 文档不仅是指软件的操作说明书,软件生命周期的每个阶段都有文档产生,比如需求文档、测试文档等。16.UML是一种 。(分数:1.00)A.面向对象的程序设计语言B.面
21、向过程的程序设计语言C.软件系统开发方法D.软件系统建模语言 解析:解析 本题考查 UML的基本概念。UML 是一种建模语言,主要用于软件系统建模。17. 不是面向对象程序设计语言。(分数:1.00)A.XML B.JaVaC.C#D.Simula解析:解析 Java、C#及 Simula都是面向对象的程序设计语言,而 XML不是程序设计语言。18.传统的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。图 7-4给出的软件开发过程属于 模型。(分数:1.00)A.瀑布 B.演化C.螺旋D.喷泉解析:解析 图中的模型是典型的瀑布模型。19.下列关于结构化设计与面向对象设计的叙述中,不正确
22、的是 。(分数:1.00)A.结构化设计以过程设计为核心B.面向对象设计以对象设计为核心C.结构化设计比面向对象设计更易支持数据结构的修改 D.面向对象设计比结构化设计更易支持系统的维护解析:解析 本题考查结构化设计与面向对象设计的基本概念。面向对象设计更容易支持数据结构的修改以及系统的维护。20.某软件在进行维护时,因误删除一个标识符而引起的错误是 副作用。(分数:1.00)A.文档B.数据C.编码 D.设计解析:解析 软件维护的副作用有三类,包括编码副作用、数据副作用和文档副作用。软件在进行维护时,因误删除一个标识符而引起的错误是编码副作用。面向对象 (6) 强调对问题的调查而不是如何确定
23、解决方案,面向对象 (7) 强调的是问题的逻辑解决方案,即系统怎样才能满足需求。(分数:2.00)A.编程B.实现C.分析 D.设计解析:A.编程B.实现C.分析D.设计 解析:解析 面向对象分析强调对问题的调查而不是如何确定解决方案,面向对象设计强调的是问题的逻辑解决方案,即系统怎样才能满足需求。21. 属于动态交互图,它们关注系统的动态特性。(分数:1.00)A.序列图和通信图 B.序列图和类图C.类图和对象图D.用例图和通信图解析:解析 类图、对象图和用例图都是静态交互图,序列图和通信图是动态交互图。22. 是一种面向数据结构的软件开发方法,该方法以数据结构为基础,通过一组映射或转换过程
24、来建立程序的结构。(分数:1.00)A.结构化开发方法B.Jackson系统开发方法 C.Boockl方法D.UML(统一建模语言)解析:解析 Jackson 系统开发方法是一种面向数据结构的软件开发方法,该方法以数据结构为基础,通过一组映射或转换过程来建立程序的结构。23. 关系描述了某对象由其他对象组成。(分数:1.00)A.依赖B.一般化C.聚合 D.具体化解析:解析 本题考查的是对象问的关系,聚合表示了对象之间的组成关系。24.关于对象封装的叙述,正确的是 。(分数:1.00)A.每个程序模块中都封装了若干个对象B.封装可实现信息隐藏 C.封装使对象的状态不能改变D.封装是把对象放在同
25、一个集合中解析:解析 本题考查的是对象封装的概念,对象封装是指将数据和操作数据的方法结合在一起,外界仅仅通过方法对对象的数据进行更改或者说对对象的状态进行改变,封装可实现信息隐藏。25.软件设计活动中的 设计指定各个组件之间的通信方式以及各组件之间如何相互作用。(分数:1.00)A.数据B.接口 C.结构D.组件解析:解析 软件设计活动中的接口设计指定各个组件之间的通信方式以及各组件之间如何相互作用。26.软件“做什么”和“怎么做”是软件开发过程中需要解决的关键问题,其中“怎么做”是在 阶段解决的。(分数:1.00)A.需求分析B.文档设计C.软件编码 D.测试解析:解析 软件编码阶段主要是解
26、决“怎么做”的问题。27. 是类的特性,它描述了类的对象所具有的一系列特性值。(分数:1.00)A.属性 B.操作C.行为D.状态解析:解析 属性是类的特性,它描述了类的对象所具有的一系列特性值。28.为了改善系统硬件环境和运行环境而产生的系统更新换代需求而导致的软件维护属于 维护。(分数:1.00)A.适应性 B.正确性C.完善性D.预防性解析:解析 为了改善系统硬件环境和运行环境而产生的系统更新换代需求而导致的软件维护属于适应性维护。29. 语言最适用于过程式程序设计。(分数:1.00)A.C B.HTMLC.JavaD.PROLOG解析:解析 C 语言仅支持过程式程序设计,HTML 不是
27、程序设计语言,Java 支持面向对象程序设计,PROLOG支持逻辑式程序设计。30.在软件开发过程中,软件设计包括 4个既独立又相互联系的活动,分别为体系结构设计、 、数据设计和过程设计。(分数:1.00)A.文档设计B.程序设计C.用户手册设计D.接口设计 解析:解析 在软件开发过程中,软件设计包括 4个既独立又相互联系的活动,分别为体系结构设计、接口设计、数据设计和过程设计。31.在面向对象技术中,抽象类是 。(分数:1.00)A.接口B.没有方法的类C.没有子类的类D.至少有一个未定义消息的类 解析:解析 本题考查的是抽象类的基本概念。接口属于抽象类,但不能够完全代表抽象类,抽象类可以有子类,也有自己的方法,但至少有一个未定义的消息。