1、软件水平考试中级网络工程师上午基础知识(计算机系统开发基础)模拟试卷 1及答案与解析 1 渐增式开发方法有利于 ( )。 ( A)获取软件需求 ( B)快速开发软件 ( C)大型团队开发 ( D)商业软件开发 2 基于计算机的信息系统主要包括计算机硬件系统、计算机软件系统、数据及其存储介质、通信系统、信息采集设备、 ( )和工作人员等七大部分件。 ( A)信息处理系统 ( B)信息管理者 ( C)安全系统 ( D)规章制度 3 在面向对象的软件工程中,一个组件包含了 ( )。 ( A) 所有的属性和操作 ( B)各个类的实例 ( C)每个演员 (device or user)的作用 ( D)一
2、些协作类的集合 4 常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中 ( )适用于需求明确或很少变更的项目。 ( A)瀑布模型 ( B)演化模型 ( C)螺旋模型 ( D)喷泉模型 5 一个项目为了修正一个错误而进行了变更,这个错误被修正后却引起了 ( )。 ( A)单元测试 ( B)接受测试 ( C)回归测试 ( D)安装测试 6 软件能力成熟度模型 (CMM)将软 件能力成熟度自低到高依次划分为初始级、可重复级、定义级、管理级和优化级,其中 ( )对软件过程和产品都有定量的理解与控制。 ( A)可重复级和定义级 ( B)定义级和管理级 ( C)管理级和优化级 ( D)定义
3、级、管理级和优化级 7 确定构建软件系统所需要的人数时不必考虑 ( )。 ( A)系统的市场前景 ( B)系统的规模 ( C)系统的技术复杂性 ( D)项目计划 8 如图 3 7所示的 PERT图中,事件 6的最晚开始时刻是 ( )。 ( A) 0 ( B) 3 ( C) 10 ( D) 11 9 某项目组拟开发一个大规模系统,且具备了相关领域及类似规模系统的开发经验。下列过程模型中, ( )最合适开发此项目。 ( A)原型模型 ( B)瀑布模型 ( C) V模型 ( D)螺旋模型 10 下列叙述中,与提高软件可移植性相关的是 ( )。 ( A)选择时间效率高的算法 ( B)尽可能减少注释 (
4、 C)选择空间效率高的算法 ( D)尽量用高级语言编写系统中对效率要求不高的部分 11 在开发一个系统时,如果用户对系统的目标是不很清楚,难以定义需求,这时最好使用 ( )。 ( A)原型法 ( B)瀑布模型 ( C) V 模型 ( D)螺旋模型 12 应该在 ( )阶段制定系统测试计划。 ( A)需求分析 ( B)概要设计 ( C)详细设计 ( D)系统测试 13 软件设计时需要遵循抽象、模块化、信息隐蔽和模块独立原则,在划分软件系统模块时,应尽量做到 ( )。 ( A)高内聚高耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)低内聚低耦合 14 ISO IEC9126软件质量模型中
5、第一层定义了六个质量特性,并为各质量特性定义了相应的质量子特性。子特性 ( )属于 可靠性质量特性。 ( A)准确性 ( B)易理解性 ( C)成熟性 ( D)易学性 15 使用 LOC(linsofcode)度量软件规模的优点是 ( )。 ( A)容易计算 ( B)与使用的编程语言有关 ( C)与采用的开发模型有关 ( D)在设计之前就可以计算出 LOC 16 在软件项目管理中可以使用各种图形工具来辅助决策,下面对 Gantt图的描述中,不正确的是 ( )。 ( A) Gantt图表现了各个活动的持续时间 ( B) Gantt图表现了各个活动的起始时间 ( C) Gantt图反映了各 个活动
6、之间的依赖关系 ( D) Gantt图表现了完成各个活动的进度 17 CMM模型将软件过程的成熟度分为 5个等级,在 ( )使用定量分析来不断地改进和管理软件过程。 ( A)优化级 ( B)管理级 ( C)定义级 ( D)可重复级 18 某网络工程计划图如图 3 8所示,边上的标记为任务编码及其需要的完成时间(天 ),则整个工程的工期为 ( )。 ( A) 23 ( B) 10 ( C) 17 ( D) 21 19 采用 UML进行软件设计时,可用 ( )关系表示两类实体之间存在的特殊一般关系,用聚 集关系表示事物之间存在的整体部分关系。 ( A)依赖 ( B)聚集 ( C)泛化 ( D)实现
7、 20 一个软件项目的活动图如图 3 9所示,其中顶点表示项目里程碑,边表示包含的活动,边上的权重表示活动的持续时间,则里程碑 ( )在关键路径上。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 21 软件风险一般包含 ( )两个特征。 ( A)救火和危机管理 ( B)已知风险和未知风险 ( C)不确定性和损失 ( D)员工和预算 22 面向对象开发方法的基本思想是尽可能按照人类认识客观世界的方法来 分析和解决问题, (24)方法不属于面向对象方法。 ( A) Booch ( B) Coad ( C) 0MT ( D) Jackson 23 程序的 3种基本控制结构是 ( )。 (
8、A)过程、子程序和分程序 ( B)顺序、选择、重复 ( C)递归、堆栈、队列 ( D)调用、返回、跳转 24 栈是一种按后进先出原则插入和删除操作的数据结构,因此 ( )必须用栈。 ( A)函数或过程进行递归调用及返回处理 ( B)将一个元素序列进行逆置 ( C)链表节点的申请和释放 ( D)可执行程序的装入和卸载 25 软件开发中的瀑布模型典型的刻画了软件生命周期的阶段划分,与其最适应的软件开发方法是 ( )。 ( A)构件化方法 ( B)结构化方法 ( C)面向对象方法 ( D)快速原型法 26 利用结构化分析模型进行接口设计时,应以 ( )为依据。 ( A)数据流图 ( B)实体关系图
9、( C)数据字典 ( D)状态迁移图 27 确定软件的模块划分及模块之间的调用关系是 ( )阶段的任务。 ( A)需求分析 ( B)概要设计 ( C)详细设计 ( D)编码 28 模块 A直接访问模块 B的内 部数据,则模块 A和模块 B的耦合类型为 ( )。 ( A)数据耦合 ( B)标记耦合 ( C)公共耦合 ( D)内容耦合 29 软件产品的可靠性并不取决 ( )。 ( A)潜在错误的数量 ( B)潜在错误的位置 ( C)软件产品的使用方式 ( D)软件产品的开发方式 29 (1)是面向对象程序设计语言不同于其他语言的主要特点,是否建立了丰富的 (2)是衡量一个面向对象程序设计语言成熟与
10、否的重要标志之一。 30 (1) ( A)继承性 ( B)信息传递 ( C)多态性 ( D)静态联编 31 (2) ( A)函数库 ( B)类库 ( C)类型库 ( D)方法库 软件水平考试中级网络工程师上午基础知识(计算机系统开发基础)模拟试卷 1答案与解析 1 【正确答案】 B 【试题解析】 增量模型又称渐增模型,把软件产品作为一系列的增量构件来设计、编码、集成和测试。这样可以并行开发构件,快速开发软件。 【知识模块】 计算机系统开发基础 2 【正确答案】 D 【试题解析】 信息系统主要包括计算机硬件系统、计算机软件系统、数据及其存储介质、通信系统、信息采集设备、规章制度和工作人 员等 7
11、大部分。 【知识模块】 计算机系统开发基础 3 【正确答案】 D 【试题解析】 在面向对象的软件工程中,一个组件 (component)包含了一些协作的类的集合。这属于常识知识。 【知识模块】 计算机系统开发基础 4 【正确答案】 A 【试题解析】 本题考查的是常见的软件开发模型的基本概念。 【知识模块】 计算机系统开发基础 5 【正确答案】 C 【试题解析】 本地考查软件测试的基本概念,这里的回归测试是在软件发生变更之后进行的测试,以发现在变更时可能引起 的其他错误。 【知识模块】 计算机系统开发基础 6 【正确答案】 C 【试题解析】 本题考查软件能力成熟度模型 (CMM)的成熟度等级。
12、CMM将软件过程能力成熟度划分为 5级,每一级都为下一级提供一个基础。管理级对软件过程和产品都有定量的理解与控制,因此管理级和优化级均对软件过程和产品有定量的理解与控制。 【知识模块】 计算机系统开发基础 7 【正确答案】 A 【试题解析】 本题考查项目管理基础知识。在规划软件开发资源时为了确定系统开发所需的人员数量,需要综合考虑软件系统的规模、 系统的技术复杂性、项目计划和开发人员的技术背景等方面。系统的市场前景与开发管理人员无关,主要是决策者和销售者所关心的事情。 【知识模块】 计算机系统开发基础 8 【正确答案】 C 【试题解析】 计算如下:先计算每个任务的最早时间: 2号开始的最早时间
13、是0+2=2, 5号是 2+2=4, 7号是 4+5=9, 3号是 0+2=2, 4号是 0, 6的两个前驱任务3, 4中取最迟的,则是 4, 8号的两个前驱任务是 5和 6,取最迟的是 9, 9的两个前驱是 7, 8,去最迟的时间是 15 接下来计算最迟开始时间, 9号任务的 最迟时间是 15,就是最早开工时间,因为 9是最后一个任务了。倒过来计算 7的最迟时间是 156=9, 8号的最迟是 154=11, 8号的前驱是 6,因此 6的最迟时间是 11一 1=10,其余依次类推即可。 【知识模块】 计算机系统开发基础 9 【正确答案】 B 【试题解析】 本题考查软件开发生命周期模型的基本知识
14、。 常见的软件生存周期模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型,适合于软件需求很明确的软件项目的模型。 V模型是 瀑布模型的一种演变模型,将测试和分析与设计关联进行,加强分析与设计的验证。原型模型是一种演化模型,通过快速构建可运行的原型系统,然后根据运行过程中获取的用户反馈进行改进。演化模型特别适用于对软件需求缺乏准确认识的情况。螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析。 本题中项目组具备了所开发系统的相关领域及类似规模系统的开发经验,即需求明确,瀑布模型最适合开发此项目。 【知识模块】 计
15、算机系统开发基础 10 【正确答案】 D 【试题解析】 软件可移植性指与软件从 某一环境转移到另一环境下的难易程度。为获得较高的可移植性,在设计过程中常采用通用的程序设计语言和运行支撑环境。尽量不用与系统的底层相关性强的语言。 【知识模块】 计算机系统开发基础 11 【正确答案】 A 【试题解析】 应用原型法的主要目的就是获取需求,使用原型法,在用户的共同参与下可以改善和加快需求获取过程。 【知识模块】 计算机系统开发基础 12 【正确答案】 A 【试题解析】 软件开始是一个长时间的过程,其测试计划的制定应该是尽可能的早,一般在需求分析阶段就开始指定测试计划。 【知识模块】 计算机系统开发基础
16、 13 【正确答案】 B 【试题解析】 内聚性能是一个软件模块内部相关性。而耦合性能指不同软件模块之间的相关性或者说依赖性。高内聚指一个软件模块由相关性很强的代码组成,只负责完成一项任务,即单一责任原则;低耦合指不同软件模块之间通过稳定的接口交互,而不需要关心模块内部如何实现。高内聚和低耦合是相互矛盾的,分解力度越粗的系统耦合性越低;分解力度 越细的系统内聚性越高。过度低耦合的软件系统模块内部不可能高内聚,而过度高内聚的软件模块之间必然是高度依赖的,因此软件设计时尽量做到高内聚、低耦合。 【知识模块】 计算机系统开发基础 14 【正确答案】 C 【试题解析】 本题考查 ISO IEC 9126
17、软件质量模型中第一层定义的可靠性。可靠性包括成熟性、容错性和易恢复性子特性。子特性易理解性和易学性属于易使用性,子特性准确性属性功能性。 【知识模块】 计算机系统开发基础 15 【正确答案】 A 【试题解析】 代码行技术 (LOC)是比较简单的定量估算软件规模的方法。它的计算过程是:首先由多名有经验的软件工程师分别估计出软件的最小规模 (a)、最大规模 (b)和最可能的规模 (p),然后分别计算三种规模的平均值 、 和 ,最后代入公式 L=(+4+) 6,就可以得出程序规模的估计值 L。 【知识模块】 计算机系统开发基础 16 【正确答案】 C 【试题解析】 甘特图的优点是直观表明各个任务的计
18、划进度和当前进度,能动态地反映软件开发进展的情况,是小型项目中常用的工具。缺点是不能显式地描绘各个任务间的依赖关系,关键任务也不明 确。 【知识模块】 计算机系统开发基础 17 【正确答案】 A 【试题解析】 CMM为软件企业的过程能力提供了一个阶梯式的进化框架,将软件过程改进的进化步骤组织成 5个成熟度等级,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该采取的实践活动,为不断改进过程莫定了循序渐进的基础。 (1)初始级,企业一般缺少有效的管理,不具备稳定的软件开发与维护的环境。软件过程是未加定义的随意过程,项目的执行随意甚至是混乱的,几乎没有定义过程的规则 (或步骤 )。 (2
19、)可重复级,企业建 立了基本的项目管理过程的政策和管理规程,对成本、进度和功能进行监控,以加强过程能力。 (3)定义级,企业全面采用综合性的管理及工程过程来管理,对整个软件生命周期的管理与工程化过程都已标准化,并综合成软件开发企业标准的软件过程。 (4)管理级,企业开始定量地认识软件过程,软件质量管理和软件过程管理是量化的管理。对软件过程与产品质量建立了定量的质量目标,制定了软件过程和产品质量的详细而具体的度量标准,实现了度量标准化。 (5)优化级,企业将会把工作重点放在对软件过程改进的持续性、预见及增 强自身,防止缺陷及问题的发生,不断地提高过程处理能力上。通过来自过程执行的质量反馈和吸收新
20、方法和新技术的定量分析来改善下一步的执行过程,即优化执行步骤,使软件过程能不断地得到改进。 【知识模块】 计算机系统开发基础 18 【正确答案】 A 【试题解析】 本题主要考查项目管理中进度管理中的网络图方面的知识。题目给出的工程网络图表示各个任务完成需要的时间以及相互依存的关系,整个工程的工期就是网络图中关键路径上各个任务完成时间的总和。就本题而言,关键路径是 一 ,历时 23天。 【 知识模块】 计算机系统开发基础 19 【正确答案】 C 【试题解析】 本题考查 UML实体间联系的概念。 UML实体间相互关系有如下 4种。 (1)依赖关系:假设 A类的变化引起了 B类的变化,则说明 B类依
21、赖于 A类。依赖关系有如下 3种情况。 A类是 B类的一个成员变量; A类是 B类方法中的一个参数; A类向 B类发送消息,从而影响 B类发生情况。 (2)泛化关系: A是 B和 C的父类, B和 C具有公共类 (父类 )A,说明 A是 B和C的一般化也称泛化。在 UML中对泛化关系有如下 3个要 求。 子类与父类应该完全一致,父类所具有的属性和操作,子类应该都有; 子类中除了与父类一致的信息以外,还包括额外的信息; 可以使用父类的实例处也可以使用子类的实例。 (3)聚集关系:聚集关系是所有关系当中最通用的关系,指的是两个类的实例之间存在某种语义上的联系且这种联系不存在非常明确的定义,如学校、
22、教室、老师。聚集关系分为如下两种。 聚合关系:整体与部分的关系,二者可以分开; 组合关系:整体与部分的关系,二者不可以分开。 (4)实现关系:用来规定接口和 实现接口的类或者构建结构的关系,接口是操作的集合,而这些操作用于规定类或者构建的一种服务。 【知识模块】 计算机系统开发基础 20 【正确答案】 B 【试题解析】 本题主要考查关键路径求解的问题。 从开始顶点到结束顶点的最长路径为关键路径 (临界路径 ),关键路径上的活动为关键活动。 在本题中找出的最长路径是 Start2578Finish,其长度为8+15+15+7+20=65,而其他任何路径的长度都比这条路径小,因此我们可以知道里程碑
23、 2在关键路径上。 【知识模块】 计算机系统开发基础 21 【正确答案】 C 【试题解析】 这是一道软件风险概念题,软件风险包括不确定性和损失两个特征。不确定性指风险有可能发生,也可能不发生;损失是当风险确实发生时所引起的不希望的损失或结果。救火和危机管理是对不合适,但经常采用的软件风险管理策略,已知风险和未知风险是对软件风险进行分类的一种方式,员工和预算是在识别项目风险时需要识别的因素。 【知识模块】 计算机系统开发基础 22 【正确答案】 D 【试题解析】 本题考查面向对象开发方法,该方法有 Booch、 Coad、和 OMT方法, Jackson是一种面向数据结构的开发方法。 【知识模块
24、】 计算机系统开发基础 23 【正确答案】 B 【试题解析】 本题考查的是结构化程序设计中的 3种基本控制结构,是一道概念题。选择也成为 “判断 ”,重复也称为 “循环 ”。 【知识模块】 计算机系统开发基础 24 【正确答案】 A 【试题解析】 栈结构最大的特点就是后进先出,因此非常适合函数的递归调用和及时返回。 【知识模块】 计算机系统开发基础 25 【正确答案】 B 【试题解析】 结构化的分析与设计的软件开发方法是采用结构化技术来完成软件开发的各项任务。该方法把软件生命周期的全过程依次划分为若干阶段,然后顺序地完成每个阶段的任务,与瀑布模型有很好的结合度,是与其最相适应的开发方法。 【知
25、识模块】 计算机系统开发基础 26 【正确答案】 A 【试题解析】 数据流图是结构化分析模型需求分析阶段得到的结果,描述了系统的功能,在进行接口设计时,应以它为依据。 【知识模块】 计算机系统开发基础 27 【正确答案】 B 【试题解析】 需求分析阶段的任务主要是要解 决系统做什么的问题,即弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。 概要设计的主要任务是把需求分析得到的结果转换为软件结构和数据结构,即将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面、确定数据的结构特性,以及数据库的设计等。 详细设计是在概要设计的基础上更细
26、致的设计,它包括具体的业务对象设计、功能逻辑设计、界面设计等工作。详细设计是系统实现的依据,需要更多地考虑设计细节。 编码即编写程序代码,具体实现系统。 【知识模块】 计算机系统开发基础 28 【正确答案】 D 【试题解析】 软件工程中对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小耦合性由低到高分别是:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。其中内容耦合指的是当一个模块直接修改或操作另一个模块的数据,或者直接访问入另一个模块时,就发生了内容耦合。
27、 【知识模块】 计算机系统开发基础 29 【 正确答案】 D 【试题解析】 软件产品的可靠性取决于潜在错误的数量、潜在错误的位置以及软件产品的使用方式,但不包括软件产品的开发方式。 软件可靠性与软件缺陷有关,也与系统输入和系统使用有关。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。但是实际上任何软件都不可能达到百分之百的正确,而且也无法精确度量。一般情况下,只能通过对软件系统进行测试来度量其可靠性。 这样,给出如下定义: “软件可靠性是软件系统在规定的时间内及规定的环境条件下,完成规定功能的能力 ”。根据这个定义,软件可靠性 包含了以下三个要素: (1)规定的时间 软件可靠性只是体现
28、在其运行阶段,所以将 “运行时间 ”作为 “规定的时间 ”的度量。 “运行时间 ”包括软件系统运行后工作与挂起 (开启但空闲 )的累计时间。由于软件运行的环境与程序路径选取的随机性,软件的失效为随机事件,所以运行时间属于随机变量。 (2)规定的环境条件 环境条件指软件的运行环境。它涉及软件系统运行时所需的各种支持要素,如支持硬件、操作系统、其他支持软件、输入数据格式和范围以及操作规程等。不同的环境条件下软件的可靠性是不同的。具体地说, 规定的环境条件主要是描述软件系统运行对计算机的配置情况以及对输入数据的要求,并假定其他一切因素都是理想的。有了明确规定的环境条件,还可以有效判断软件失效的责任在
29、用户方还是研制方。 (3)规定的功能 软件可靠性还与规定的任务和功能有关。由于要完成的任务不同,软件的运行剖面会有所区别,则调用的子模块就不同 (即程序路径选择不同 ),其可靠性也就可能不同。所以要准确度量软件系统的可靠性必须首先明确它的任务和功能。 【知识模块】 计算机系统开发基础 【知识模块】 计算机系统开发基础 30 【正确答案】 A 【知识模块】 计算机系统开发基础 31 【正确答案】 B 【试题解析】 面向对象程序设计语言的特点主要有继承性、封装性和多态性,其中,继承性是其他类型的程序语言所不具有的。衡量一个面向对象程序设计语言成熟与否的重要标志之一是看其是否建立了丰富的类库。 【知识模块】 计算机系统开发基础