1、软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷 17 及答案与解析 1 在软件项目管理中可以使用各种图形工具来辅助决策,下面对 Gantt图的描述中,不正确的是 _。 ( A) Gantt图表现各个活动的持续时间 ( B) Gantt图表现了各个活动的起始时间 ( C) Gantt图反映了各个活动之间的依赖关系 ( D) Gantt图表现了完成各个活动的进度 2 在软件项目开发过程中,评估软件项目风险时, _与风险无关。 ( A)高级管理人员是否正式承诺支持该项目 ( B)开发人员 和用户是否充分理解系统的需求 ( C)最终用户是否同意部署已开发的系统 ( D)开发需要的资金是
2、否能按时到位 3 正式的技术评审 FTR (Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于盯 R的指导原则中不正确的是 _。 ( A)评审产品,而不是评审生产者的能力 ( B)要有严格的评审计划,并遵守日程安排 ( C)对评审中出现的问题要充分讨论,以求彻底解决 ( D)限制参与者人数,并要求在评审会之前做好准备 4 在软件项目管理中可以使用各种图形工具来 辅助决策,下面对 Gantt图的描述不正确的是 _。 ( A) Gantt图表现各个活动的顺序和它们之间的因果关系 ( B) Gantt图表现哪些活动可以并行进行 ( C) Gantt图表现了各
3、个活动的起始时间 ( D) Gantt图表现了各个活动完成的进度 5 正在开发的软件项目可能存在一个未被发现的错误,这个错误出现的概率是0.5%,给公司造成的损失将是 1000000元,那么这个错误的风险曝光度 (Risk Exposure)是 _ 元。 ( A) 5000000 ( B) 50000 ( C) 5000 ( D) 500 6 某软件工程项目各开发阶段工作量的比例如表 4-1所示。 假设当前已处于编码阶段,3000行程序已完成了 1200行,则该工程项目开发进度已完成的比例是 _。 ( A) 29%. ( B) 45%. ( C) 59%. ( D) 63%. 7 下述任务中,
4、不属于软件工程需求分析阶段的是 _。 ( A)分析软件系统的数据要求 ( B)确定软件系统的功能需求 ( C)确定软件系统的性能要求 ( D)确定软件系统的运行平台 8 软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定 _ 。 ( A)模块间的操作细节 ( B)模块间的相似性 ( C)模块间的组成关系 ( D)模块的具体功能 9 在项目管理工具中,将网络方法用于工作计划安排的评审和检查的是 _。 ( A) Gantt图 ( B) PERT 图 ( C)因果分析图 ( D)流程图 10 在下列说法中, _ 是造成软件危机的主要原因。 用户使用不当 软件本身特点
5、硬件不可靠 对软件的错误认识 缺乏好的开发方法和手段 开发效率低 ( A) ( B) ( C) ( D) 11 最主要的软件质量度量指标有正确性、可维护性、完整性和可用性,下面关于这些质量指标的描述中正确的是 _。 ( A)软件维护的工作量比开发阶段的工作量小 ( B)正确性用每千行代码的故障 (Fault)数来度量 ( C)软件完整性是指软件功能与需求符合的程度 ( D)可用性与用户的操作效率和 用户对软件的主观评价有关 12 CMM模型将软件过程的成熟度分为 5个等级。在 _ 使用定量分析来不断地改进和管理软件过程。 ( A)优化级 ( B)管理级 ( C)定义级 ( D)可重复级 13
6、CMU/SEI推出的 _ 将软件组织的过程能力分为 5个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。 ( A) CMM ( B) PSP ( C) TSP ( D) SSE-CMM 14 美国卡内基 梅隆大学 SEI提出的 CMM 模型将软件过程的成熟度分为 5个等级,以下选项中,属于管理级的特征是 _ 。 ( A)工作无序,项目进行过程中经常放弃当初的计划 ( B)建立了项目级的管理制度 ( C)建立了企业级的管理制度 ( D)软件过程中活动的生产率和质量是可度量的 15 在开发一个系统时,如果用户对系统的目标不是很清楚,难以定义需求,这时最好使用
7、 _ 。 ( A)原型法 ( B)瀑布模型 ( C) V-模型 ( D)螺旋模型 16 在采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。以下关于产生这些文档的描述中,正确的是 _。 ( A)外部设计评审报告在概要设计阶段产生 ( B)集成测评计划在程序设计阶段产生 ( C)系统计划和需求说明在详细设计阶段产生 ( D)在进行编码的同时,独立地设计单元测试计划 17 软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是 _。 ( A)构件化方法 ( B)结构化方法 ( C)面向对象方法 ( D)快速原型方法 18 在绘制数据流图时,应遵循父图与子图
8、平衡的原则,所谓平衡是指 _。 ( A)父图和子图都不得改变数据流的性质 ( B)子图不改变父图数据流的一致性 ( C)父图的输入 /输出数据流与子图的输入 /输出数据流一致 ( D)子图的输出数据流完全由父图的输入数据流确定 19 在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法 _。 ( A)只有结构化语言 ( B)有结构化语言和判定树 ( C)有结构化语言、判定树和判定表 ( D)有判定树和判定表 20 在面向数据流的设计方法中,一般把数据流图中的数据流划分为 _ 两种。 ( A)数据流和事务流 ( B)变 换流和数据流 ( C)变换流和
9、事务流 ( D)控制流和事务流 21 系统论认为系统是 “相互作用的多个元素的复合体 ”,系统具有多元性、相关性及整体性,其中 _ 是系统思想的核心。 ( A)动态性 ( B)多元性 ( C)相关性 ( D)整体性 22 用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件工具,通常也称为 _工具。 ( A) CAD ( B) CAI ( C) CAM ( D) CASE 23 使用软件开发工具有助于提高软件的开发、维护和管理的效率。集成型软件开发环境通常由工具集和环境集成机制组成。这种环境应具有 _。环境集成机制主要有数据集成机制、控制集成机制和界面集成机制。 ( A)开放性
10、和可剪裁性 ( B)开放性和不可剪裁性 ( C)封闭性和可剪裁性 ( D)封闭性和不可剪裁性 24 耦合度描述了 _。 ( A)模块内各种元素结合的程度 ( B)模块内多个功能之间的接口 ( C)模块之间公共数据的数量 ( D)模块之间相互关联的程度 25 内聚是一种指标,表示一个模块 _。 ( A)代码优化的程度 ( B)代码功能的集中程度 ( C)完成任务的及时程度 ( D)为了与其他模块连接所要完成的工作量 26 图 4-4中的程序由 A, B, C, D, E 5个模块组成,表 4-3中描述了这些模块之间的接口,每一个接口有一个编号。此外,模块 A, D和 E都要引用一个专用数据区。那
11、么 A和 E之间的耦合关系是 _。 ( A)公共耦合 ( B)数据耦合 ( C)内容耦合, ( D)无耦合 27 系统中模块的 _不仅意味着作用于系统的小变动将导致行为上的小变化,也意味着规格说明的小变动将影响到一小部分模块。 ( A)可分解性 ( B)保护性 ( C)可理解性 ( D)连续性 28 概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是_。 ( A)把软件划分成模块 ( B)确定模块之间的调用关系 ( C)确定各个模块的功能 ( D)设计每个模块的伪代码 29 开发专家系统时,通过描述事实和规则由模式匹配得出结论,在这种情况下适用的开发语言是 _。 ( A)面向对象语
12、言 ( B)函数式语言 ( C)过程式语言 ( D)逻辑式语言 30 两个小组独立地测试同一个程序,第一组发现 25个错误,第二组发现 30个错误,在两个小组发现的错误中有 15个是共同的,那么可以估计程序中的错误总数是 _个。 ( A) 25 ( B) 30 ( C) 50 ( D) 60 31 下面有关测试的说法中正确的是 _。 ( A)测试人员应该在软件开发结束后开始介入 ( B)测试主要是软件开发人员的工作 ( C)要根据软件详细设计中设计的各种合理数据设计测试用例 ( D)严格按照测试计划进 行,避免测试的随意性 32 应该在 _ 阶段制订系统测试计划。 ( A)需求分析 ( B)概
13、要设计 ( C)详细设计 ( D)系统测试 33 代码走查 (Code Walkthrough)和代码审查 (Code Inspection)是两种不同的代码评审方法,这两种方法的主要区别是 _。 ( A)在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动 ( B)在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性 ( C)在代 码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩 ( D)代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的 34 一个故障已经被发现,而且也被排除了,为了检查
14、修改是否引起了其他故障,这时应该进行 _。 ( A)程序走查 ( B)退化测试 ( C)软件评审 ( D)接收测试 35 以下内容中, _ 应写入操作手册。 ( A)描述系统对各种输入数据的处理方法 ( B)说明系统升级时厂商提供的服务 ( C)描述系统处理过程的各个界面 ( D)说明系统 各部分之间的接口关系 36 在系统转换的过程中,旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略称为 (74);在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为 (75)。 ( A)直接转换 ( B)位置转换 ( C)分段转换 ( D)并行转换 ( A)直接转换 ( B)位置转换 ( C
15、)分段转换 ( D)并行转换 38 系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。 _ 不是系统测试的内容。 ( A)路径测试, ( B)可靠性测试 ( C) 安装测试 ( D)安全测试 39 在选择开发方法时,有些情况不适合使用原型法,以下选项中不能使用快速原型法的情况是 _。 ( A)系统的使用范围变化很大 ( B)系统的设计方案难以确定 ( C)用户的需求模糊不清 ( D)用户的数据资源缺乏组织和管理 40 关于维护软件所需的成本,以下叙述中正确的是 _。 ( A)纠正外部和内部设计错误比纠正源代码错误需要更人的成本 ( B)与需求定义相比,源代码的文字量
16、大得多,所以源代码的维护成本更高 ( C)用户文档需要经常更新,其维护成本超过了 纠正设计错误的成本 ( D)需求定义的错误会在设计时被发现并纠正,因此需求定义纠错的成本小于源代码纠错的成本 41 下列叙述中,与提高软件可移植性相关的是 _。 ( A)选择时间效率高的算法 ( B)尽可能减少注释 ( C)选择空间效率高的算法 ( D)尽量用高级语言编写系统中对效率要求不高的部分 42 软件的互操作性是指 _。 ( A)软件的可移植性 ( B)人机界面的可交互性 ( C)连接一个系统和另一个系统所需的工作量 ( D)多用户之间的可交互性 43 以下选项中,最适合 于用交互式计算机软件解决的问题是
17、 _。 ( A)非结构化决策问题 ( B)半结构化决策问题 ( C)结构化决策问题 ( D)确定性问题 44 已知一不确定的有限自动机 (NFA)如图 2-8所示,采用子集法将其确定化为 DFA的过程如表 2-1所示。状态集 T1中不包括编号为 (23)的状态;状态集 T2中的成员有 (24):状态集 T3等于 (25);该自动机所识别的语言可以用正规式 (26)表示。 ( A) 2 ( B) 4 ( C) 3 ( D) 5 ( A) 1, 3, 4, 5, Z ( B) 2, 3 ( C) 6 ( D) 4, 5, Z ( A) Z ( B) 6 ( C) 4, 5, Z) ( D) ( A
18、) (0 1)* ( B) (0* 1*)*001 ( C) (0* 1*)*0(0 1)* ( D) (0* 1*)0(0 1)* 软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷 17 答案与解析 1 【正确答案】 C 【试题解析】 Gantt 图中横坐标表示时间,纵坐标表示任务,图中的水平线段则表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示 完成该任务所需的时间。 Gantt图能清晰地描述每个任务从何时开始,到何时结束,以及各个任务之间的并行性,但是它不能清晰地反映出各个任务之间的依赖关系,难以确定整个项目的
19、关键所在,也不能反映计划中有潜力的部分。 2 【正确答案】 C 【试题解析】 风险预测又称风险估算,它从两个方面评估一个风险:一是风险发生的可能性或概率,二是如果风险发生所产生的后果。通常项目计划人员与管理人员、技术人员一起,进行 4种风险预测活动:建立一个尺度或标准,以反映风险发生的可能性;描述风险的后果:估计风险对项目和产品的影响 ;标注风险预测的整体精确度,以免产生误解。一个有效的策略必须考虑 3个问题: 风险避免; 风险监控; 险管理及意外事件计划。如果软件项目组对于风险采取主动的方法,则避免是最好的策略。 3 【正确答案】 C 【试题解析】 正式的技术评审是一种由技术人员实施的程式化
20、会议,其惟一的目的是揭露质量问题。在多数情况下,评审能像测试一样有效地揭露软件中的缺陷。这是发现问题的过程,而不是解决问题的过程,所以选项 C不正确。 4 【正确答案】 A 【试题解析】 进度安排常用图形描述法有甘特 (Gantt)图和 计划评审技术 (PERT)图。在 Gantt图中横坐标表示时间,纵坐标表示任务,图中的水平线表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。 Gantt图能清晰地描述每个任务从何时开始、到何时结束,以及各个任务之间的并行性,但不能清晰地反映出各个任务间的依赖关系,难以确定整个
21、项目的关键所在,也不能反映计划中有潜力的部分。 PERT图是一种图形化的网络模型,描述一个项目中的任务和任务间的关系,可清晰看到各个活动的顺序及其间的依赖关系 ,但不能反映任务间的并行关系。 5 【正确答案】 C 【试题解析】 本题考查项目管理方面的风险分析知识。可能蒙受的损失是10000000.5%=5000(元 )。 6 【正确答案】 C 【试题解析】 本题考查软件工程项目管理方面的知识。由于当前已经处于编码阶段,所以该工程项目开发进度应该认为已经完成前面的三项,即需求分析、概要设计和详细设计。于是开发进度己完成比例为 0.29+0.13+0.17=0.59。 7 【正确答案】 D 【试题
22、解析】 需求分析阶段的任务主要包括确定软件的 综合要求,分析软件系统的数据要求,导出系统的逻辑模型,以及修正项目开发计划。确定软件系统的运行平台是在软件设计阶段考虑的问题。 8 【正确答案】 C 【试题解析】 软件设计通常分为概要设计和详细设计。概要设计的任务是确定软件系统的结构,进行模块划分,确定每个模块的功能、接口及模块间的调用关系。设计软件系统的结构的主要目的是确定模块间的组成关系。 9 【正确答案】 B 【试题解析】 Gantt 图和 PERT图是两种常用的项目管理工具。 PERT图是一种图形化的网络模型,描述一个项目中的任务和任 务间的关系,用于工作计划安排的评审和检查。 Gantt
23、图中横坐标表示时间,纵坐标表示任务,图中的水平线表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。 10 【正确答案】 D 【试题解析】 软件危机的出现使得人们去寻找产生软件危机的内在原因,其原因可归结为两个重要方面,一方面是软件生产本身存在着复杂性;另一方面与软件开发所使用的方法和技术有关。 11 【正确答案】 D 【试题解析】 正确性:系统满足规格说 明和用户目标的程度,即在预定环境下能正确地完成预期功能的程度。完整性 (安全性 ):对未经授权的人使用软件或数据的企图,系统能够控制 (禁止 )的程度。可用性
24、:系统在完成预定应该完成的功能时令人满意的程度。可维护性:诊断和改正在运行现场发现的错误所需要的工作量的大小。 12 【正确答案】 A 【试题解析】 CMM 将软件组织的过程能力分成 5个成熟度级别,即初始级、可重复级、定义级、管理级和优化级。由低到高,软件开发生产的精度越来越高,每单位工程的生产周期越来越短。初始级:软件过程是无序的,有时甚至是混乱的, 对过程几乎没有定义,成功取决于个人努力。可重复级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功。定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。
25、所有项目均使用经批准、剪裁的标准软件过程来开发和维 护软件。管理级:收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解和控制。优化级:过程的量化反馈和先进的新思想、新技术促使过程不断改进。在优化级,通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对过程进行改进,从而提高产品的质量。 13 【正确答案】 A 【试题解析】 CMM 将软件组织的过程能力分成 5个成热度级别,即初始级、可重复级、定义级、管理级和优化级。由低到高,软件开发生产精度越来越高,每单位工程的生产周期越来越短。 14 【正确答案】 D 【试题解析】 可管理级组织制定了软件产品和过
26、程的数量及质量目标,生产率和质量是可度量的,所有项目的重要软件过程活动都是组织的度量系统的组成部分。全组织的软件过程数据库用于收集和分析已定义的项目软件过程。这一级的软件过程具有明确定义的、一致的度量手段。这些度量手段奠定了评价项目软件过程和产品的数量基础。项目管理人员可以控制它们的产品和过程,减少了过程执行中的变数,使其处于可以接受的数量界限之内。这一级组织的软件过程能力可以概括为数量的、可预计的过程,因为过程是可度量的,运作在可度量的界限之内。软件能力 成熟度模型 CMM(Capability Maturity Model)描述和分析了软件过程能力的发展与改进的程度,确立了一个软件过程成熟
27、程度的分级标准。在初始级,软件过程定义几乎处于无章法可循的状态,软件产品的成功往往依赖于个人的努力和机遇。 15 【正确答案】 A 【试题解析】 常见的软件开发模型有瀑布模型、演化模型、螺旋模型和喷泉模型。 瀑布模型将软件生存周期的各项活动规定为依固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件产品。 演化模型主要针对事先不能完整定义需求的软件开 发。用户先给出待开发系统的核心需求,并当用户看到核心需求实现后,有效地给出反馈,以支持系统的最终设计和实现。 螺旋模型是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。 喷泉模型体现了软件创建所固有的迭代和无间隙
28、的特征。 除此之外还有原型法和 V-模型。原型法比较适合于用户需求不清、业务理论不确定、需求经常变化的情况。 V-模型就是每个开发阶段都进行验证,状似 V型。 16 【正确答案】 A 【试题解析】 在用瀑布模型进行系统开发的过程中,每个阶段产生的 文档为:需求阶段产生需求规格说明书,确认测试计划:概要阶段产生概要设计说明书,集成测试计划;详细设计阶段产生详细设计说明书和单元测试计划。 17 【正确答案】 B 【试题解析】 瀑布模型严格遵循软件生命周期各个阶段的固定顺序:计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入下一阶段。快速原型法是指快速建立起来的可以在计算机上运行的程序,它所
29、能完成的功能只是最终软件产品功能的一个子集。快速原型模型的第一步是快速建立一个能反映用户主要需求的软件原型,让用户在计算机上使用它,通过实际操作了解目 标系统的概貌。构件化方法有如下几个基本属性: 构件是可独立配置的单元,因此构件必须自包容。 构件强调与环境和其他构件的分离,因此构件的实现是严格封装的。构建可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范。 构件不应当是持续的,即构件没有个体特有的属性,理解为构件不应当与自身副本区别。从以上属性可以看出,构件沿袭了对象的封装特性,但同时并不局限于一个对象,其内部可以封装一个或多个类、原犁对象,甚至过程,结构是灵活的。面向对象方法是一
30、种非常实用的软件开发方法。它以客观实践中的对象为中心,其分析和设 计思想符合人们的思维方式,分析和设计的结果与客观世界比较接近。结构化方法是指具有结构性的编程方法。其结构性主要反映在:编程工作是一个抽象的过程:按模块组装的方法进行编程的思想:所有程序都只含顺序结构、分支结构,以及重复结构。结构化分析以数据流图和控制流图为基础,系统分析员划分出流变换函数,然后用状态迁移图来创建行为模型,用数据词典开发数据模型。 18 【正确答案】 C 【试题解析】 所谓数据平衡,就是在多层次数据流程图中,父图和子图之间的数据流必须保持一致,比如说在父图中某加工有两个输入数据流和一 个输出数据流,那么在该加工的子
31、图中的输入 /输出数据流必须在数目上和内容上与父图保持一致。 19 【正确答案】 C 【试题解析】 在结构化分析中,数据流图描述了系统的分解,但没有对图中各成分进行说明。数据词典就是为数据流图中的每个数据流、文件、加工及组成数据流或文件的数据项作出说明,其中对加工的描述称为 “加工逻辑说明 ”,它描述了输入数据流、输入文件与输出数据流、输出文件之间的逻辑关系。常用的加工逻辑描述方法有结构化语言、判定树和判定表。 20 【正确答案】 C 【试题解析】 在面向数据流的 设计方法中,一般把数据流图中的数据流划分为两种类型,即变换流和事务流。信息沿着输入通路进入系统,同时将信息的外部形式转换成内部表示
32、,然后通过变换中心处理,再沿着输出通路转换成外部形式离开系统。具有这种特性的信息流称为变换流。信息沿着输入通路到达一个事务中心,事务中心根据输入信息的类型在若干个动作序列中选择一个来执行,这种信息流称为事务流。 21 【正确答案】 D 【试题解析】 系统论认为系统是 “相互作用的多个元素的复合体 ”,系统具有多元性、相关性及整体性,其中整体性是系统思想的核心。 22 【 正确答案】 D 【试题解析】 软件工具是指用于辅助软件开发、运行、维护、管理、支持等过程中的活动的软件,通常也称为 CASE 工具。 23 【正确答案】 A 【试题解析】 软件开发环境是指支持软件产品开发的软件系统。集成型软件
33、开发环境是一种把支持多种软件开发方法和开发模型、支持软件开发全过程的软件工具集成在一起的软件开发环境。这种环境通常具有开放性和可剪裁性。 24 【正确答案】 D 【试题解析】 衡量模块独立程度的标准有两个,即耦合和内聚。耦合是指模块之间联系的紧密程度。耦合度越高则 模块的独立性越差。内聚是指模块内部各元素之间联系的紧密程度。内聚度越低,模块的独立性越差。 25 【正确答案】 B 【试题解析】 解答参见上题。 26 【正确答案】 A 【试题解析】 选项中的名词的概念如下。 数据耦合:两个模块间通过数据交换信息,且每一个参数仅仅为数据的块间耦合,称为数据耦合。 公共耦合:两个模块间彼此通过一个公共
34、的数据区域传递信息的块间耦合称为公共耦合。 内容耦合:一个模块需要涉及另一个模块的内部信息的块间耦合称为内容耦合。 所以 A和 E之间是公 共耦合关系。 27 【正确答案】 D 【试题解析】 模块的可分解性是指软件工程及项目管理对系统的一种需求,它要求系统能被分解成可管理的模块,从而能很容易地改变,并可以赋予个人或小组连贯的工作包任务。模块的可理解性有助于在理解整个系统之前,仅需参考其部分就能理解该系统。系统在谨慎处理后,就有助于学习并进行维护,所以即使整个系统可能展示出了部分无法显示的新特性,这一原则也是有效的。模块的保护性准则要求异常及错误状况要么被限制在发生这些异常或错误的模块内,要么其
35、影响只波及很少的几个其他相关模块。 28 【正确答案】 D 【试题解析】 在概要设计阶段,设计人员将系统划分为一个个具有特定功能的模块,并给出相应模块的功能、模块间的联系与调用关系和决定模块的界面等。详细设计阶段的主要工作之一就是根据概要设计的文档,设计每个模块的伪代码。 29 【正确答案】 D 【试题解析】 逻辑式语言是一类以形式逻辑为基础的语言,其代表是建立在关系理论和一阶谓词理论基础上的 Prolog。 Prolog 程序是一系列事实、数据对象或事实间的具体关系和规则的集合。 30 【正确答案】 C 【试题解析】 25+30-15=40,因为可能还会有其他错误,当然也不会太多,所以选择
36、50个比较合适。 31 【正确答案】 D 【试题解析】 根据测试的概念和目的,在进行信息系统测试时应遵循以下基本原则:应尽甲并不断地进行测试:测试工作应该避免由原开发软件的人或小组承担:设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期的输出结果;在设计用例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件:在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事:严格按照测试计划 来进行,避免测试的随意性;妥善保存测试计划、测试用例,将其作为软件文档的组成部分,为维护提供方便;测试用例都是精心设计出来的,可以为重新测试或追加测试提供方便。 3
37、2 【正确答案】 A 【试题解析】 软件测试计划是做好软件测试工作的前提,因此在进行实际测试之前,应制订良好的、切实可行的测试计划并严格执行。测试规划与软件开发活动同步进行。在需求分析阶段,要完成验收测试计划,并与需求规格说明一起提交评审。在概要设计阶段,要完成和评审系统测试计划。在详细设计阶段,要完成和评审集成测试计划。在编码实现阶段 ,要完成和评审单元测试计划。对于测试计划的修订部分,需要进行重新计审。 33 【正确答案】 D 【试题解析】 代码走查是一种静态分析方法的非正式评审过程。在此过程中,设计者或程序员引导小组部分成员已通读过书写的设计和编码,其他成员提出问题并对有关技术、风格、可
38、能的错误、是否有违背开发标准和规范的地方进行评论。走查过程是让与会成员充当计算机,由被指定作为测试员的小组成员提出一批测试实例,在会议上对每个测试用例用头脑来执行程序,在纸上或黑板上监视程序的状态。大多数走查中,在怀疑程序的过程中所发现的缺陷 比通过测试实例本身发现的缺陷更多。代码审查是一种正式的检查和评估方法,它是采用逐步检查源代码中有无逻辑或语法错误的办法来检测故障的。可以认为它是拿代码与标准和规范对照的补充,需要组织代码检查小组进行代码检查 常由独立的仲裁人、程序编写小组、其他组程序员和测试小组成员组成。 34 【正确答案】 B 【试题解析】 退化测试的目的是在程序有修改的情况下保证原有
39、功能正常的一种测试策略和方法,因为这时的测试不需要进行全面测试,只要根据修改的情况进行有效测试即可。程序走查是静态测试,属于单元测试阶段。 35 【正确答案】 C 【试题解析】 操作手册是写给用户的,目的是指导用户正确操作软件,不用关心系统如何实现,以及系统各部分的接口。 36 【正确答案】 D 37 【正确答案】 C 【试题解析】 新系统试运行成功之后,就可以在新系统和旧系统之间进行转换。新旧系统之间的转换方式有直接转换、并行转换和分段转换。直接转换:就是在确定新系统运行无误时,立刻启用新系统,终止老系统运行。并行转换:是新老系统并行一段时间,经过一段时间的考验以后,新系统正式代替老系统。分
40、段转换:又称逐步转换、向导转换、 试点过渡法等。这种方法实际上是以上两种转换方式的结合。 38 【正确答案】 A 【试题解析】 系统测试的目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。常见的系统测试主要有以下内容:恢复测试、安全性测试、强度测试、性能测试、可靠性测试及安装测试。在本题 4个选项中,只有 “路径测试 ”不是系统测试的内容。 39 【正确答案】 D 【试题解析】 使用原型的原型化方法特别适用于需求不确定性较高的软件系统的开发。它的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小 型的可执行的模型,满足用户的基本要求,这就是系统界面原型。让用户计
41、算机上实际运行这个用户界面原型,使用户在试用的过程中得到亲身感受和受到启发,作出反应和评价,提出同意什么和不同意什么。然后开发者根据用户的意见对原型加以改进。随着不断试验、纠错、使用、评价和修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中的误解,弥补不足之处,进一步确定各种需求细节,适应需求的变更,从而提高最终产品的质量。 40 【正确答案】 A 【试题解析】 软件维护是指在软件运行或维护阶段对软件产品所进行的修改。根据软 件维护的不同原因,软件维护可以分成三种类型,它们是改正性维护、适应性维护和完善性维护。改正性维护的目的在于纠正在开发期间未能发现的错误。由于软件测试的不彻底性,任
42、何大型软件在交付使用后都会发现一些潜藏的错误,对它们进行的诊断和改正就称为改正性维护。改正性维护约占总维护的20%。完善性维护指的是任何软件,无论是应用软件还是系统软件,在使用期间都要不断改善,加强产品的功能和性能,以满足用户日益增长的需求,提高自己产品的市场竞争力。刚投入使用的是第 l版,以后就可能不断升级为第 2版、第 3版等。在整个维护工作量中,完 善性维护所占比重最大,约占 50% 60%。适应性维护是指软件为适应运行环境的变化而进行的一种维护,如硬件或支撑软件 (如操作系统升级 )改变引起的变化,将软件移植到其他的运行平台上等,这类维护大约占总维护量的 25%。在软件交付使用的初期,
43、改正性维护的工作量较大。随着错误发现率不断降低,软件便进入了正常使用期。在长期的软件使用过程中,由于计算机新技术的出现和用户新需求的提出,适应性维护和完善性维护的工作量逐步增加。在这种维护过程中,又会引入新的错误,从而加重了维护的工作量。在整个软件维护阶段所花费的全部工作量中, 完善性维护占了一半以上的工作量,这说明较大部分维护工作是改变和加强软件,而不是纠错。同时,软件维护技术不像开发技术那样成熟和规范,自然消耗的工作量就比较多,其工作量占整个生存周期工作量的 70%以上。 41 【正确答案】 D 【试题解析】 可移植性是指与一个软件从一个环境转移到另一个环境运行的能力有关的一组属性,包括适
44、应性、可安装性、遵循性和可替换性。从选项来看,我们首先排除 B。注释是给人看的,不会生成目标代码。减少注释只会使程序的可读性变差,不会提高可移植性。选择时间效率高的算法能提高程序的运行速 度,选择空间效率高的算法可以减少程序运行时所需内存。但这些都和可移植性没什么关联。只有选项 D所说的是与可移植性有关的。这句话可以反过来看,也就是如果一个系统的所有部分都用低级语言来编写将是什么状况。比如说汇编语言就是一种低级语言,这种语言直接用到了大量寄存器,而我们知道不同的系统中寄存器的数量和特性是不同的,所以用低级语言写的代码虽执行效率很高,但可移植性却不好,所以答案应选 D。 42 【正确答案】 C
45、【试题解析】 软件的互操作性 (互用性 )是指与同其他指定系统进行交互的能力有关的软件属性。 43 【正确答案】 B 【试题解析】 企业决策过程可分为三大类,分别为结构化决策、半结构化决策和非结构化决策。一般说来,战略管理层的决策活动属于非结构化决策,作业管理层的决策活动属于结构化决策,战术管理层的决策活动属于半结构化决策。结构化决策:通常指确定型的管理问题,它依据一定的决策规则或通用的模型实现其决策过程的自动化。解决这类问题通常采用数据管理方式,它着眼于提高信息处理的效率和质量,如管理业务活动中的财务结算处理、物资入库处理等。半结构化决策:通常指企业职能部门主管业务人员的计划控制等管理决策活
46、 动。它多属短期的、局部的决策。在该类决策过程中,在结构化决策过程所提供的信息的基础上,一般应有专用模型来帮助。这些模型主要用来改善管理决策的有效性,增强和扩大决策者处理问题的能力和范围,如市场预测模型、物资配送模型等。非结构化决策:很难用确定的决策模型来描述,它强调决策者的主观意志。这类问题一般都带有全面性、战略性和复杂性。它所需要的信息大多来自于系统的外部环境,即使是来自内部的信息一般也都带有综合性,最终的决策取决于领域的专家知识和水平。解决这类问题往往借助于人工智能技术帮助。通常,人们力图把非结构化决策 问题转化为半结构化决策问题处理,以利于非结构化决策问题的求解,如市场开发、企业发展战
47、略问题等。交互式软件是指能实现人机通信的软件,它能在半结构化甚至非结构化任务的中高层次的决策中辅助和支持决策者。 44 【正确答案】 A 45 【正确答案】 D 46 【正确答案】 D 47 【正确答案】 D 【试题解析】 将 NFA转换为 DFA一般用于集法。下面用子集法来进行转换。 首先, K0=_closure(0)=(S, 1, 2, 3),这是初始集,也就是初始状态。这里值得注意的一点是图中 表 示空,从 S 到 1是 箭头线,所以如果能到达 S,也就能到达 1。所以如果图 2-2的初态实际上包含 S, 1, 2, 3四个。因此在表 2-1中,第一行第一列是 S1, 2, 3。 接下来对初态集 S, 1, 2, 3)输入 0,即 K1=_closuremove(K0, 0)=1, 3,4, 5, Z,所以第一行 I0列对应的数据为 1, 3, 4, 5, Z。 接着 K2=_closure(move(K0, 1)=2, 3,所以第一行 I1列对应的数据为 2,3。 依次类推: 令 K3=_closure(move(K1, 0)=1, 3, 4, 5, 6, Z, 令 K4=_closure(move(K1, 1)=。 最终求得 T1=1, 3, 4, 5, 6, Z, T24, 5, Z, T3=,据此可以得出答案。