软件工程(答案)
● 系统中模块的__(l)__不仅意味着作用于系统的小变动将导致行为上的小变 化,也意味着规格说明的小变动将影响到一小部分模块。
(1) A. 可分解性B. 保护性C. 可理解性D. 连续性
●软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了__(27)__。 采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对__(28)__ 进 行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个__(29)__ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
(27) A. 版本管理B.可行性分析C. 风险分析D. 系统集成
(28) A.系统B.计划C. 风险D.工程
(29) A.原型项目B.概念项目C. 改进项目的 D风险项目
●关于程序模块优化的启发式规则有若干条,以下规则中不符合优化原则的是 __(30)__。如果一个模块调用下层模块时传递一个数据结构,则这种耦合属于 __(31)__。
(30)A.通过模块的合并和分解,降低模块的耦合度,提高模块的内聚性
B.提高上层模块的扇出,减少模块调用的层次
C.将模块的作用范围限制在模块的控制范围之内
D.降低模块之间接口的复杂性,避免“病态连接”
(31)A.简单耦合B.直接耦合C.标记耦合D.控制耦合
●软件设计包括四个既独立又相互联系的活动,分别为__(32)__、__(33)__、数 据设计和过程设计。
(32)A.用户手册设计B.语言设计C.体系结构设计D.文档设计
(33)A.文档设计B.程序设计C.实用性设计D.接口设计
● 当在软件工程的环境中考虑风险时,主要基于提出的有一个概念。以下选项中不属于这三个概念的是__(27)__。项目风险关系着项目计划的成败,__(28)__关系着软件的生存能力。在进行软件工程风险分析时,项目管理人员要进行四种风险评估活动,这四种风险活动是__(29)__以及确定风险估计的正确性。
(27)A.关心未来B.关心变化C.关心技术D.关心选择
(28)A.资金风险B.技术风险C.商业风险D.预算风险
(29)A.建立表示风险概率的尺度,描述风险引起的后果,估计风险影响的大小
B.建立表示风险概率的尺度,描述风险引起的后果,确定产生风险的原因
C.确定产生风险的原因,描述风险引起的后果,估计风险影响的大小
D.建立表示风险概率的尺度,确定产生风险的原因,估计风险影响的大小 ● 软件的互操作性是指__(30)__。
(30) A.软件的可移植性B.人机界面的可交互性
C.连接一个系统和另一个系统所需的工作量D.多用户之间的可交互性
● 在选择开发方法时,有些情况不适合使用原型法,以下选项中不能使用快速原型法的情况是__(32)__。
(32) A.系统的使用范围变化很大B.系统的设计方案难以确定
C.用户的需求模糊不清D.用户的数据资源缺乏组织和管理
● 从信息资源管理的观点出发,信息系统的逻辑结构一般由四部分组成,其中__ (33)__利用信息系统提供的信息进行决策和选择,是信息系统服务的对象。
(33)A.信息源B.信息处理器C.信息使用者D.信息管理者
● 以下选项中,最适合于用交互式计算机软件解决的问题是__(34)__。
(34)A.非结构化决策问题B.半结构化决策问题
C.结构化决策问题D.确定性问题
● CMU/SEI 推出的__(35)__将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。(35) A.CMM B.PSP C.TSP D.SSE-CMM
●软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是_(9)_。
(9)A.构件化方法B.结构化方法C.面向对象方法D.快速原型方法 ●下述任务中,不属于软件工程需求分析阶段的是_(10)_ 。
(10)A.分析软件系统的数据要求B.确定软件系统的功能需求
C.确定软件系统的性能要求D.确定软件系统的运行平台
●软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定_(11)_。
(11)A.模块间的操作细节B.模块间的相似性
C.模块间的组成关系D.模块的具体功能
●系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。_(12)_不是系统测试的内容。
(12)A.路径测试B.可靠性测试C.安装测试D.安全测试
●项目管理工具中,将网络方法用于工作计划安排的评审和检查的是_(13)_。
(13)A.Gantt 图B.PERT 网图C.因果分析图D.流程图
●在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法_(14)_。
(14)A.只有结构化语言B.有结构化语言和判定树
C.有结构化语言、判定树和判定表D.有判定树和判定表
●CMM 模型将软件过程的成熟度分为5 个等级。在_(15)_使用定量分析来不断地改进和管理软件过程。
(15)A.优化级B.管理级C.定义级D.可重复级
●在面向数据流的设计方法中,一般把数据流图中的数据流划分为_(16)_两种。
(16)A.数据流和事务流B.变换流和数据流
C.变换流和事务流D.控制流和事务流
● 下列叙述中,与提高软件可移植性相关的是___(18)____。
A.选择时间效率高的算法B.尽可能减少注释
C.选择空间效率高的算法
D.尽量用高级语言编写系统中对效率要求不高的部分
●在系统转换的过程中,旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略称为___(19)____;在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为_____(20)_____。
(19)A.直接转换B.位置转换C.分段转换D.并行转换
(20)A.直接转换B.位置转换C.分段转换D.并行转换
●下列要素中,不属于DFD 的是___(21)____。当使用DFD 对一个工资系统进行建模时,____(22)_____可以被认定为外部实体。
(21)A.加工B.数据流C.数据存储D.联系
(22)A.接收工资单的银行B.工资系统源代码程序
C.工资单D.工资数据库的维护
●在系统验收测试中,____(23)____ 是在一个模拟的环境下使用模拟数据运行系统;__(24)___是在一个实际环境中使用真实数据运行系统。
(23)A.验证测试B.审计测试C.确认测试D.模块测试
(24)A.验证测试B.审计测试C.确认测试D.模块测试
●采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。以下关于产生这些文档的描述中,正确的是____(25)_____。
A.外部设计评审报告在概要设计阶段产生
B.集成测试计划在程序设计阶段产生
C.系统计划和需求说明在详细设计阶段产生
D.在进行编码的同时,独立的设计单元测试计划
正确答案:A
解析:在软件生产过程中,总是产生和使用大量的信息。软件文档在产品的开发过程中起着重要的作用。它能提高软件开发过程的能见度,作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理,提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正。文档作为开发人员在一定阶段的工作成果和结束标志,记录开发过程中有关信息,便于协调以后的软件开发、使用和维护。文档还提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。文档使软件开发活动更科学、更有成效。文档便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。国家标准《计算机软件产品开发文件编制指南
GB8567-88》中规定,在一项软件开发过程,一般地说应该产生十四种文件。按照文档产生和使用的范围,软件文档大致可分为三类。(1)开发文档:软件需求说明书、数据要求说明书、数据库设计说明书、概要设计说明书、详细设计说明书、可行性研究报告、项目开发计划、测试计划和测试分析报告。(2)管理文档:项目开发计划、可行性研究报告、测试计划、测试分析报告、开发进度月报、模块开发卷宗和项目开发总结报告。(3)用户文档:用户手册、操作手册、维护修改建议和软件需求说明书。在采用瀑布模型进行系统开发的过程中,系统计划和需求说明在需求分析阶段产生,集成测试计划在概要设计阶段产生,单元测试计划在详细设计阶段产生。
●在开发一个系统时,如果用户对系统的目标是不很清楚,难以定义需求,这时最好使用(6) 。
(6)A. 原型法B. 瀑布模型C. V-模型D. 螺旋模型
●应该在(7) 阶段制定系统测试计划。
(7)A. 需求分析B. 概要设计C. 详细设计D. 系统测试
●正在开发的软件项目可能存在一个未被发现的错误,这个错误出现的概率是0.5%,给公司造成的损失将是1 000 000 元,那么这个错误的风险曝光度(risk exposure)是___(13)元。
(13)A.5 000 000 B.50 000 C.5 000 D.500
●代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法,这两种方法的主要区别是____(14)____。
(14)A.在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动
B.在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性
C.在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩
D.代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的
●在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gannt 图的描述不正确的是_____(15)____。
(15)A.Gannt 图表现各个活动的顺序和它们之间的因果关系
B.Gannt 图表现哪些活动可以并行进行
C.Gannt 图表现了各个活动的起始时间
D.Gannt 图表现了各个活动完成的进度
●在活动图中,结点表示项目中各个工作阶段的里程碑,连接各个结点的边表示活动,边上的数字表示活动持续的时间。在下面的活动图中,从A 到J 的关键路径是_____(16)___,关键路径长度是___(17)___,从E 开始的活动启动的最早时间是____(18)____。
(16)A.ABEGJ B.ADFHJ C.ACFGJ D.ADFIJ
(17)A.22 B.49 C.19 D.35
(18)A.10 B.12 C.13 D.15
●一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其它故障,这时应该进行___(19)___。
(19)A.程序走查B.退化测试C.软件评审D.接收测试
●一个系统的模块结构图如下所示,用{×,×,×}表示这个系统的测试模块组合。下面的选项中___(20)___表示自顶向下的测试,____(21)___表示三明治式测试。
(20)A.{A}{A,B,C,D,E}{A,B,C,D,E,F,G,H,I,J,K}
B.{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{A,B,C,D,E,F,G,H,I,J,K}
C.{K}{J}{I}{H}{G}{F}{B}{C}{D}{E}{A,B,C,D,E,F,G,H,I,J,K}
D.{A}{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{A,B,C,D,E,F,G,H,I,J,K}
(21)A.{A}{A,B,C,D,E}{A,B,C,D,E,F,G,H,I,J,K}
B.{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{A,B,C,D,E,F,G,H,I,J,K}
C.{K}{J}{I}{H}{G}{F}{B}{C}{D}{E}{A,B,C,D,E,F,G,H,I,J,K }
D.{A}{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{ A,B,C,D,E,F,G,H,I,J,K }
●编译程序进行词法分析时不能____(27)____。
(27)A.过滤源程序中的注释B.扫描源程序并识别记号
C.指出出错行号D.查出拼错的保留字(关键字)
正确答案:B
解析:词法分析的任务是对源程序从前到后(从左到右)逐个字符进行扫描,从中识别出一个个“单词”符号,所以不能识别记号。
●某一确定有限自动机(DFA)的状态转换图如下图所示,该DFA 接受的字符串集是____(28)___,与之等价的正规式是___(29)___。
(28)A.以1 开头的二进制代码串组成的集合
B.以1 结尾的二进制代码串组成的集合
C.包含偶数个0 的二进制代码串组成的集合
D.包含奇数个0 的二进制代码串组成的集合
(29)A.1*0(0|1)* B.((0|1*0)*1*)* C.1*((0|1)0)* D.(1*(01*0)*)* ●以下内容中,___(42)___应写入操作手册。
(42)A.描述系统对各种输入数据的处理方法B.说明系统升级时厂商提供的服务
C.描述系统处理过程的各个界面D.说明系统各部分之间的接口关系
●某软件工程项目各开发阶段工作量的比例如下表所示
假设当前已处于编码阶段,3000 行程序已完成了1200 行,则该工程项目开发进度已完成的比例是____(43)___。
(43)A.29% B.45% C.59% D.63%
● 在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gantt 图的描述中,不正确的是(15) 。
(15)A.Gantt 图表现各个活动的持续时间
B.Gantt 图表现了各个活动的起始时间
C.Gantt 图反映了各个活动之间的依赖关系
D.Gantt 图表现了完成各个活动的进度
● 耦合度描述了(16) 。
(16)A.模块内各种元素结合的程度
B.模块内多个功能之间的接口
C.模块之间公共数据的数量
D.模块之间相互关联的程度
● 内聚是—种指标,表示一个模块(17) 。
(17)A.代码优化的程度B.代码功能的集中程度
C.完成任务的及时程度D.为了与其他模块连接所要完成的工作量
● 在软件项目开发过程中,评估软件项目风险时, (18) 与风险无关。
(18)A.高级管理人员是否正式承诺支持该项目
B.开发人员和用户是否充分理解系统的需求
C.最终用户是否同意部署已开发的系统
D.开发需要的资金是否能按时到位
● 最主要的软件质量度量指标有正确性、可维护性、完整性和可用性,下面关于这些质量指标的描述中正确的是(26) 。
(26)A.软件维护的工作量比开发阶段的工作量小
B.正确性用每千行代码的故障(fault)数来度量
C.软件完整性是指软件功能与需求符合的程度
D.可用性与用户的操作效率和用户对软件的主观评价有关
● 某工程计划图如下图所示,弧上的标记为作业编码及其需要的完成时间(天), 作业E 最迟应在第(27) 天开始。
(27)A.7 B.9 C.12 D.13
● 正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于FTR 指导原则中不正确的是(28) 。
(28)A.评审产品,而不是评审生产者的能力
B.要有严格的评审计划,并遵守日程安排
C.对评审中出现的问题要充分讨论,以求彻底解决
D.限制参与者人数,并要求评审会之前做好准备
● 两个小组独立地测试同一个程序,第一组发现25 个错误,第二组发现30 个错误,在两个小组发现的错误中有15 个是共同的,那么可以估计程序中的错误总数是(29) 个。
(29)A.25 B.30 C.50 D.60
错误范围为 max(25,30)
● 下面有关测试的说法正确的是(30) 。
(30)A.测试人员应该在软件开发结束后开始介入
B.测试主要是软件开发人员的工作
C.要根据软件详细设计中设计的各种合理数据设计测试用例
D.严格按照测试计划进行,避免测试的随意性
● 在绘制数据流图时,应遵循父图与子图平衡的原则,所谓平衡是指(31) 。
(31)A.父图和子图都不得改变数据流的性质
B.子图不改变父图数据流的一致性
C.父图的输入/输出数据流与子图的输入/输出数据流一致
D.子图的输出数据流完全由父图的输入数据流确定
● 下图中的程序由A、B、C、D、E 5 个模块组成,下表中描述了这些模块之间 的接口,每—个接口有一个编号。此外,模块A、D 和E 都要引用一个专用数据 区。那么A 和E 之间耦合关系是(32) 。
(32)A.公共耦合B.数据耦合C.内容耦合D.无耦合
● 在C++语言中,若类C 中定义了一个方法int f(int a,int b),那么方法
(33)不能与该方法同时存在于类C 中。
(33)A.int f(int x,int y) B.int f(float a,int b)
C.float f(int x,float y) D.int f(int x,float y)
● 常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中
(15)模型适用于需求明确或很少变更的项目,(16)模型主要用来描述面向对象的软件开发过程。
(15)A.瀑布模型B.演化模型C.螺旋模型D.喷泉快坚
(16)A.瀑布模型B.演化模型C.螺旋模型D.喷泉模型
● 软件能力成熟度模型(CMM)是目前国际上最流行、最实用的软件生产过程标准和软件企业成熟度的等级认证标准。该模型将软件能力成熟度自低到高依次划分为初始级、可重复级、已定义级、己管理级、优化级。从(17)开始,要求企业建立基本的项目管理过程的政策和管理规程,使项目管理工作有章可循。
(17)A.初始级B.可重复级C.已定义级D.已管理级
● 软件项目开发成本的估算依据,通常是开发成本估算模型。常用的模型主要有:①IBM 模型②PUtnam 模型③基本COCOMO 模型④中级COCOMO 模型⑤高级COCOMO 模型其中(18)均是静态单变量模型。
(18)A.①② B.②④⑤ C.①③ D.③④⑤
● 统一过程(UP)的基本特征是“用例驱动、以架构为中心的和受控的迭代式增量开发”。UP 将一个周期的开发过程划分为4 个阶段,其中(26)的提交结果包含了系统架构。
(26) A.先启阶段B.精化阶段C.构建阶段D.提交阶段
● 某软件在应用初期运行在Windows NT 环境中。现因某种原因,该软件需要在UNIX 环境中运行,而且必须完成相同的功能。为适应这个要求,软件本身需要进行修改,而所需修改的工作量取决于该软件的(27)。
(27)A.可扩充性B.可靠性C.复用性D.可移植性
● 按照ISO/IEC 9126 软件质量度量模型定义,一个软件的可靠性的子特性包括(28)。
(28)A.容错性和安全性B.容错性和适应性
C.容错性和易恢复性D.易恢复性和安全性
● (29)详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。
(29) A.概要设计说明书B.详细设计说明书C.用户手册D.用户需求说明书 ● 各类软件维护活动中,(30)维护占整个维护工作的比重最大。
(30) A.完善性B.改正性C.适应性D.预防性
● 给定C 语言程序:
int foo( int x, int y, int d)
{
if( x!=0){
if(y==0)d=d/x;
else d=d/(x*y);
}else{
if(y==0)d=0;
else d=d/y;
}
return d;
}
当用路径覆盖法进行测试时,至少需要设计(31)个测试用例。
(31)A.3 B.4 C.5 D.8
● 软件的测试通常分单元测试、组装测试、确认测试、系统测试四个阶段进行。
(32)属于确认测试阶段的活动。
(32)A.设计评审B.代码审查C.结构测试D.可靠性测试
● 结构化开发方法中,数据流图是(15)阶段产生的成果。
(15)A. 需求分析B. 总体设计C.详细设计D.程序编码
● CVS 是一种(16)工具。
(16)A. 需求分析B.编译C.程序编码D. 版本控制
● 以下关于原型化开发方法的叙述中,不正确的是(17)。
(17)A. 原型化方法适应于需求不明确的软件开发
B. 在开发过程中,可以废弃不用早期构造的软件原型
C. 原型化方法可以直接开发出最终产品
D. 原型化方法利于确认各项系统服务的可用性
● 通常在软件的(18)活动中无需用户参与。
(18)A. 需求分析B.维护C.编码D.测试
● 进行软件项目的风险分析时,风险避免、风险监控和风险管理及意外事件计划是(19)活动中需要考虑的问题。
(19)A. 风险识别B.风险预测C.风险评估D.风险控制
● 下面关于编程语言的各种说法中,(20) 是正确的。
(20)A. 由于C 语言程序是由函数构成的,因此它是一种函数型语言
B. Smalltalk、C++、Java、C#都是面向对象语言
C. 函数型语言适用于编写处理高速计算的程序,常用于超级计算机的模拟计算
D. 逻辑型语言是在Client/Server 系统中用于实现负载分散的程序语言
● 统一过程(UP)是一种用例驱动的迭代式增量开发过程,每次迭代过程中主要的工作流包括捕获需求、分析、设计、实现和测试等。这种软件过程的用例图(Use Case Diagram)是通过(29) 得到的。
(29)A. 捕获需求B.分析C.设计D.实现
● 序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:程序的表示、名称和版本号,程序功能描述,接口与界面描述,输入/输出数据说明,开发历史,与运行环境有关的信息等。下列叙述中不属于序言性注释的是(30) 。
(30)A. 程序对硬件、软件资源的要求B. 重要变量和参数说明
C. 嵌入在程序中的SQL 语句D. 程序开发的原作者、审查者、修改者、编程日期等
● ISO/IEC 9126 软件质量模型中第一层定义了六个质量特性,并为各质量特性定义了相应的质量子特性,其中易分析子特性属于软件的(31) 质量特性。
(31)A.可靠性B. 效率C.可维护性D.功能性
● 软件(32) 的提高,有利于软件可靠性的提高。
(32)A. 存储效率B.执行效率C.容错性D.可移植性
● 软件能力成熟度模型将软件能力成熟度自低到高依次划分为初始级、可重复级、定义级、管理级和优化级,并且高级别成熟度一定可以达到低级别成熟度的要求。其中(33)中的开发过程及相应的管理工作均已标准化、文档化,并已建立完善的培训制度和专家评审制度。
(33)A. 可重复级和定义级B.定义级和管理级C.管理级和优化级D.定义级、管理级和优化级
● LOC 是软件规模的一种量度,它表示(34) 。
(34)A. 软件功能数B. 源代码行数C. 每单位成本数D.工作量
● 阅读下列流程图:
当用判定覆盖法进行测试时,至少需要设计(35) 个测试用例。
(35)A. 2 B. 4 C. 6 D. 8
● 在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是(37) 。
(37)A. 可划分为2 个有效等价类,2 个无效等价类
B. 可划分为1 个有效等价类,2 个无效等价类
C. 可划分为2 个有效等价类,1 个无效等价类
D. 可划分为1 个有效等价类,1 个无效等价类
● 为验证程序模块A 是否正确实现了规定的功能,需要进行(35) ;为验证模块A 能否与其他模块按照规定方式正确工作,需要进行(36) 。
(35)A. 单元测试B. 集成测试C. 确认测试D. 系统测试
(36)A. 单元测试B. 集成测试C. 确认测试D. 系统测试
● (16) 是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
(16)A. 结构化开发方法B. Jackson 系统开发方法C. Booch 方法D. UML(统一建模语言)
● 风险分析在软件项目开发中具有重要作用,包括风险识别、风险预测、风险评估和风险控制等。“建立风险条目检查表”是(18) 时的活动,“描述风险的结果”是(19) 时的活动。
(18)A. 风险识别B. 风险预测C. 风险评估D. 风险控制
(19)A. 风险识别B. 风险预测C. 风险评估D. 风险控制
● 测试用例是测试使用的文档化的细则,其规定如何对软件某项功能或功能组合进行测试。测试用例应包括下列(32) 内容的详细信息。
① 测试目标和被测功能
② 测试环境和其他条件
③ 测试数据和测试步骤
④ 测试记录和测试结果
(32)A.①③ B.①②③ C.①③④ D.①②③④
正确答案:B
解析:本题考查测试用例的概念。
测试用例应包括:
.测试目标和被测功能。
.测试环境和其他条件。
.测试数据和测试步骤。
● 软件内部/外部质量模型中,(33) 不是可移植性包括的子特性。
(33)A.适应性B.易改变性C.共存性D.易替换性
正确答案:B
解析:本题考查国标16260中可移植性包括的子特性。
可移植性包括的子特性如下。
.适应性:软件产品无需采用手段就可能适应不同的指定环境的能力。
.易安装性:软件产品在指定环境中被安装的能力。
.共存性:软件在公共环境中分享资源与其他独立软件共存的能力。
.易替换性:在环境、目的相同的情况下替代另一个指定软件的能力。
.可移植性依从性:软件产品依从可移植性相关的标准或约定的能力。
● 评价规格说明中不包括(34)。
(34)A.分析产品的描述B.规定对产品及部件执行的测量
C.按照评价需求验证产生的规格说明D.请求者说明评价覆盖范围
● 在进行产品评价时,评价者需要对产品部件进行管理和登记,其完整的登记内容应包括(35) 。
①部件或文档的唯一标识符
②部件的名称或文档标题
③文档的状态,包括物理状态或变异方面的状态
④请求者提供的版本、配置和日期信息
(35)A.①③ B.①② C.①③④ D.①②③④
● 下面的描述中,不能体现前置测试模型要点的是(36) 。
(36)A.前置测试模型主张根据业务需求进行测试设计,认为需求分析阶段是进行测试计划和测试设计的最好时机
B.前置测试模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为,提出业务需求最好在设计和开发之前就被正确定义
C.前置测试将测试执行和开发结合在一起,并在开发阶段以编码-测试-编码-测试的方式来体现,强调对每一个交付的开发结果都必须通过一定的方式进行测试
D.前置测试模型提出验收测试应该独立于技术测试,以保证设计及程序编码能够符合最终用户的需求
● 在进行软件编码规范评测过程中需要围绕几个方面的内容展开,以下描述中不属于编码规范评测内容的有(37) 。
(37)A.源程序文档化检查,包括符号名的命名、程序的注释等规范性检查
B.数据说明检查,包括数据说明次序、语句中变量顺序检查
C.程序结构检查,程序应采用基本的控制结构、避免不必要的转移控制等
D.程序逻辑检查,阅读源代码,比较实际程序控制流与程序设计控制流的区别 ● (38) 属于概要设计说明书的评测内容。
①分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求
②系统定义的目标是否与用户的要求一致
③从软件维护的角度出发,确认该软件设计是否考虑了方便未来的维护 ④是否所有界面与更高级别文档中的需求一致
(38)A.①②③ B.①③④ C.②③④ D.①②③④
● 关于确认测试,描述正确的是(39) 。
①确认测试一般包括有效性测试与软件配置复查,采用黑盒测试为主,白盒测试为辅的测试方法进行测试
②确认测试配置项复查时应当严格检查用户手册和操作手册中规定的使用步骤的完整性和正确性
③确认测试需要检测与证实软件是否满足软件需求说明书中规定的要求
④确认测试是保证软件正确实现特定功能的一系列活动和过程,目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段所设定的目标
(39)A.①② B.②③ C.③④ D.②④
● 关于软件测试的说法,(40)是不正确的。
(40)A.代码审查是代码检查的一种,是由程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程
B.软件测试的对象不仅仅是程序,文档、数据和规程都是软件测试的对象
C.白盒测试是通过对程序内部结构的分析、检测来寻找问题的测试方法
D.单元测试是针对软件设计的最小单位—程序模块进行正确性检验的测试工作,它通常需要开发辅助的桩模块作为主程序调用被测模块来完成测试
● 关于集成测试的描述中,正确的是(41)。
①集成测试也叫做组装测试或联合测试,通常是在单元测试的基础上,将所有模块按照概要设计说明书和详细设计说明书的要求进行组装和测试的过程
②自顶向下的增殖方式是集成测试的一种组装方式,它能较早地验证主要的控制和判断点,对于输入输出模块、复杂算法模块中存在的错误能够较早地发现 ③自底向上的增殖方式需要建立桩模块,并行地对多个模块实施测试,并逐步形成程序实体,完成所有模块的组装和集成测试
④在集成测试时,测试者应当确定关键模块,对这些关键模块及早进行测试,比如高层控制模块、有明确性能要求和定义的模块等
(41)A.①② B.②③ C.①④ D.②④__
● 缺陷探测率DDP 是衡量一个公司测试工作效率的软件质量成本的指标。在某公司开发一个软件产品的过程中,开发人员自行发现并修正的缺陷数量为80 个,测试人员A 发现的缺陷数量为50 个,测试人员B 发现的缺陷数为50 个,测试人员A 和测试人员B 发现的缺陷不重复,客户反馈缺陷数量为50 个,则该公司针对本产品的缺陷探测率为(42) 。
(42)A.56.5% B.78.3% C.43.5% D.34.8%
● 在执行测试和评价的过程中,会产生较多的文档, (43) 是对文档内容的正确描述。①评价需求的主要内容是描述评价的目标,特别是描述了产品的质量
需求②评价规格说明的主要内容是确定对软件及其部件实行的所有分析和测量,标识要采用的操作规程、测试方法和工具③评价记录的主要内容是对评价执行过程的详细记载,由评价请求者保留④评价报告的主要内容是执行测量和分析的结果,以及能被重复和重新评价的必要信息
(43)A.①② B.②③ C.①④ D.②④
● 用等价类划分法设计8 位长数字类型用户名登录操作的测试用例,应该分成
(44)个等价区间。
(44)A.2 B.3 C.4 D.6
● 下面为C 语言程序,边界值问题可以定位在(45) 。
int data(3),
int i,
for (i=1,i
data(i)= 100
(45)A. data(0) B. data(1) C. data(2) D. data(3)
● (46) 叙述是正确的。
①测试用例应由测试设计人员来制定
②测试点应由测试人员确立
③测试工作展开于项目立项后,而不是代码开发完成之后
④测试对象是源代码
(46)A.①②③ B.②③ C.①③ D.①②③④
● 通常测试用例很难100%覆盖测试需求,因为(47) 。
①输入量太大
②输出结果太多
③软件实现途径多
④测试依据没有统一标准
(47)A.①② B.①③ C.①②③ D.①②③④
● 假定X 为整数类型变量,X>=1 并且X
(48)A.1,10 B.0,1,10,11 C.1,11 D.1,5,10,11
● 以下(49) 方法不是黑盒测试用例的设计方法。
(49)A. 场景法B. 边界值法C. 因果图法D. 路径法
● 不属于界面元素测试的是(50)。
(50)A.窗口测试B.文字测试C.功能点测试D.鼠标测试
● 以下说法不正确的是(51) 。
(51)A.易用性测试不仅是针对应用程序的测试,而且还要包括用户手册等系列文档
B.安装测试就是按照用户安装手册安装软件,来评估安装过程的易用性、正确性
C.辅助系统测试包括帮助测试、向导测试、信息提示测试等
D.界面整体测试是指对界面的规范性、可维护性、整体性等进行测试和评估 ● 针对下列程序段,需要(52) 个测试用例可以满足语句覆盖的要求。 switch ( value )
{
case 0:
other = 30;
break;
case 1:
other = 50;
break;
case 2:
other = 300;
case 3:
other = other / value;
break;
default:
other = other * value;
}
(52)A.2 B.3 C.4 D. 5
● 针对逻辑覆盖(53) 叙述是不正确的。
(53)A.达到100%CC 要求就一定能够满足100%DC 的要求
B.达到100%CDC 要求就一定能够满足100%DC 的要求
C.达到100%MCDC 要求就一定能够满足100%DC 的要求
D.达到100%路径覆盖要求就一定能够满足100%DC 的要求
● 以下控制流程图的环路复杂性V(G)等于(54) 。
(54)A. 5 B. 6 C. 9 D 12
● 在程序控制流图中,有8 条边,6 个节点,则控制流程图的环路复杂性V(G)等于(55) 。
(55)A. 2 B. 4 C. 6 D. 8
● 针对程序段: IF(X>10)AND(Y
(56)A. (30,15) (40,10) B. (3,0) (30,30)
C. (5,25) (10,20) D. (20,10) (1,100)
● 反映web 应用客户端交易处理性能的评估指标有(59) 。
①并发用户数②交易响应时间③交易通过率④吞吐量⑤点击率
(59)A.①②③④ B.①②③④⑤ C.②③ D.②③④
● (60) 是功能测试工具。
(60)A.LoadRunner B. WinRunner C. QALoad D. WAS
● (61) 是导致软件缺陷的最大原因。
(61)A.需求规格说明书B.设计方案C.编写代码D.测试计划
● 根据ANSI/IEEE829 标准, (62) 属于《测试案例说明》中的内容。 ①输入说明②测试目的③环境要求④特殊要求
(62)A.①②③ B.①③④ C.②③ D.①②③④
● 负载压力性能测试需求分析时,应该选择(63) 类型的业务作为测试案例。 ①高吞吐量的业务②业务逻辑复杂的业务③高商业风险的业务④高服务器负载的业务⑤批处理的业务
(63)A.①②③ B.①③④ C.①④ D.①②③④⑤
● 测试记录包括(64) 。
① 测试计划或包含测试用例的测试规格说明
② 测试期间出现问题的评估与分析
③ 与测试用例相关的所有结果,包括在测试期间出现的所有失败
④ 测试中涉及的人员身份
(64)A.①②③ B.①③④ C.②③ D.①②③④
● 在性能测试中,关于数据准备, (65) 描述是正确的。
① 识别数据状态验证测试案例
② 初始数据提供了基线用来评估测试执行的结果
③ 业务数据提供负载压力背景
④ 脚本中参数数据真实模拟负载
(65)A.①②③ B.①③④ C.②③ D.①②③④
● 若一个项目由9 个主要任务构成,其计划图(如下图所示)展示了任务之间的前后关系以及每个任务所需天数,该项目的关键路径是(16) ,完成项目所需的最短时间是(17) 天。
(16)A. A→B→C→D →I B. A→B →C→E→I
C. A→B→C→F →G→I D. A→B→C→F→H→I
(17)A. 16 B. 17 C. 18 D. 19
● RUP(Rational Unified Process)分为4 个阶段,每个阶段结束时都有重要的里程碑,其中生命周期架构是在(18) 结束时的里程碑。
(18)A. 初启阶段B. 精化阶段C. 构建阶段D. 移交阶段
● 在软件工程环境中进行风险识别时,常见的、已知的及可预测的风险类包括产品规模、商业影响等,与开发工具的可用性及质量相关的风险是(19) 。
(19)A. 客户特性B. 过程定义C. 开发环境D. 构建技术
● 软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为初始级、可重复级、定义级、管理级和优化级。其中(29) 对软件过程和产品都有定量的理解与控制。
(29)A. 可重复级和定义级B. 定义级和管理级
C. 管理级和优化级D. 定义级、管理级和优化级
● 极限编程(XP)包含了策划、设计、编程和测试四个活动,其十二个最佳实践中的“持续集成”实践在(30)活动中进行。
(30)A. 策划和设计B. 设计和编程C. 设计和测试D. 编程和测试
● ISO/IEC 9126 软件质量模型中第一层定义了六个质量特性,并为各质量特性定义了相应的质量子特性。子特性(31) 属于可靠性质量特性。
(31)A. 准确性B. 易理解性C. 成熟性D. 易学性
● UP(统一过程)是用例驱动的、以架构为核心、迭代和增量的软件过程框架,它提供了一种(32)的特性。
(32)A. 演进B. 敏捷C. 测试驱动D. 持续集成
● 系统测试人员与系统开发人员需要通过文档进行沟通,系统测试人员应根据一系列文档对系统进行测试,然后将工作结果撰写成(33) ,交给系统开发人员。
(33)A. 系统开发合同B. 系统设计说明书C. 测试计划D. 系统测试报告 ● 系统的可维护性可以用系统的可维护性评价指标来衡量。系统的可维护性评价指标不包括(34)。
(34)A. 可理解性B. 可修改性C. 准确性D. 可测试性
● 某程序根据输入的三条线段长度,判断这三条线段能否构成三角形。以下6 个测试用例中,(35) 两个用例属于同一个等价类。
①6、7、13; ②4、7、10; ③9、20、35; ④9、11、21; ⑤5、5、4; ⑥4、4、4。
(35)A. ①② B. ③④ C. ⑤⑥ D. ①④
● 在模拟环境下,常采用黑盒测试检验所开发的软件是否与需求规格说明书一致。其中有效性测试属于(36)中的一个步骤。
(36)A. 单元测试B. 集成测试C. 确认测试D. 系统测试
● 一个软件开发过程描述了“谁做”、“做什么”、“怎么做”和“什么时候做”,RUP 用(16)来表述“谁做”。
(16)A.角色B. 活动C. 制品D. 工作流
● 某项目主要由A~I 任务构成,其计划图(如下图所示)展示了各任务之间的前后关系以及每个任务的工期(单位:天),该项目的关键路径是(17) 。在不延误项目总工期的情况下,任务A 最多可以推迟开始的时间是(18) 天。
(17)A. A→G→I B. A→D→F→H→I C. B→E→G→I D. C→F→H→I
(18)A. 0 B. 2 C. 5 D. 7
● 软件风险一般包含(19) 两个特性。
(19)A. 救火和危机管理B. 已知风险和未知风险
C. 不确定性和损失D. 员工和预算
● 软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为5 级。目前,达到CMM 第3级(已定义级)是许多组织努力的目标,该级的核心是(29) 。
(29)A. 建立基本的项目管理和实践来跟踪项目费用、进度和功能特性
B. 使用标准开发过程(或方法论)构建(或集成)系统
C. 管理层寻求更主动地应对系统的开发问题
D. 连续地监督和改进标准化的系统开发过程
● RUP 在每个阶段都有主要目标,并在结束时产生一些制品。在(30) 结束时产生“在适当的平台上集成的软件产品”。
(30)A.初期阶段B.精化阶段C. 构建阶段D. 移交阶段
● 根据ISO/IEC 9126 软件质量度量模型定义,一个软件的时间和资源质量子特性属于(31)质量特性。
(31)A. 功能性B. 效率C. 可靠性D. 易使用性
● McCabe 度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图G 的环路复杂性的公式为:
V(G)=m-n+2,其中V(G)是有向图G 中的环路个数,m 是G 中的有向弧数,n 是G 中的节点数。下图所示程序图的程序复杂度是(32) 。
(32)A. 2 B. 3 C. 4 D. 5
(自身的也算8-7+2)
● 在开发信息系统时,用于系统开发人员与项目管理人员沟通的主要文档是
(33) 。
(33)A. 系统开发合同B. 系统设计说明书C. 系统开发计划D. 系统测试报告 ● 软件工程每一个阶段结束前,应该着重对可维护性进行复审。在系统设计阶段的复审期间,应该从(34) 出发,评价软件的结构和过程。
(34)A. 指出可移植性问题以及可能影响软件维护的系统界面
B. 容易修改、模块化和功能独立的目的
C. 强调编码风格和内部说明文档
D. 可测试性
● 当用分支覆盖法对以下流程图进行测试时,至少需要设计(35) 个测试用例。
(35)A. 4 B. 5 C. 6 D. 8
● 某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(36) 维护。
(36)A. 正确性B. 适应性C. 完善性D. 预防性
● 在采用结构化方法进行系统分析时,根据分解与抽象的原则,按照系统中数据处理的流程,用(15) 来建立系统的逻辑模型,从而完成分析工作。
(15)A. ER 图B. 数据流图C. 程序流程图D. 软件体系结构
试题(15) 分析
本题考查结构化分析方法中图形工具的作用。数据流图摆脱系统的物理内容,在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。 [参考答案]
(15) B
● 面向对象开发方法的基本思想是尽可能按照人类认识客观世界的方法来分析和解决问题, ( 16 )方法不属于面向对象方法。
(16)A. Booch B. Coad C. OMT D. Jackson
试题(16) 分析
本题考查面向对象开发方法。面向对象开发方法有Booch方法、Coad方法和OMT方法。Jackson方法是一种面向数据结构的开发方法。 [参考答案]
(16) D
● 确定构建软件系统所需要的人数时,无需考虑(17) 。
(17)A.系统的市场前景B. 系统的规模C. 系统的技术复杂性D. 项目计划
试题(17) 分析
本题考查项目管理内容。在对软件开发资源进行规划时,为了确定构建软件系统所需的人数,需要考虑软件系统的规模、系统的技术复杂性、项目计划和开发人员的技术背景等方面,而与系统是否有市场前景无关。 [参考答案] (17) A
● 一个项目为了修正一个错误而进行了变更。但这个错误被修正后,却引起以前可以正确运行的代码出错(18) 最可能发现这一问题。
(18)A. 单元测试B. 接受测试C. 回归测试D. 安装测试
试题(18) 分析
本题考查软件测试知识。回归测试是在软件发生变更之后进行的测试,以发现在变更时可能引起的其他错误。 [参考答案] (18) C
● 风险预测从两个方面评估风险,即风险发生的可能性以及(19) 。
(19)A. 风险产生的原因B. 风险监控技术
C. 风险能否消除D. 风险发生所产生的后果
试题(19) 分析
本题考查风险预测知识。风险预测从风险发生的可能性大小以及风险发生所产生的后果是否严重两个方面评估风险。 [参考答案] (19) D ● 软件能力成熟度模型(CMM)的第4 级(已管理级)的核心是(29) 。
(29)A. 建立基本的项目管理和实践来跟踪项目费用、进度和功能特性
B. 组织具有标准软件过程
C. 对软件过程和产品都有定量的理解和控制
D. 先进的新思想和新技术促进过程不断改进
试题(29) 分析
本题考查成熟度等级(CMM)知识。在CMM的不同等级有不同的核心。在可重复级,建立了基本的项目管理过程和实践来跟踪项目费用、进度和功能特性。在已定义级,所有项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件。在已管理级,收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解与控制。在优化级,过程的量化反馈和先进的新思想、新技术促使过程不断改进。 [参考答案]
(29) C
● 软件系统设计的主要目的是为系统制定蓝图, (30) 并不是软件设计模型所关注的。
(30)A. 系统总体结构B. 数据结构C. 界面模型D. 项目范围
试题(30)分析
本题考查软件系统设计知识。系统设计为系统制定蓝图,软件设计模型关注新系统总体结构、代码设计、处理过程、数据结构和界面模型等。对项目范围的关注在软件设计之前。 [参考答案]
(30) D
● ISO/IEC 9126 软件质量模型中,可靠性质量特性包括多个子特性。一软件在故障发生后,要求在90 秒内恢复其性能和受影响的数据,与达到此目的有关的软件属性为(31) 子特性。
(31)A. 容错性B. 成熟性C. 易恢复性D. 易操作性
试题(31) 分析
本题考查软件质量模型知识。ISO/IEC9126软件质量模型中可靠性质量特性是指在规定的一段时间内和规定的条件下,软件维护其性能水平有关的能力。包括的子特性有成熟性、容错性和易恢复性。其中易恢复性是与在故障发生后,重新建立其性能水平并恢复直接受影响数据的能力,以及与为达到此目的所需的时间和工作有关的软件属性。软件故障发生后,要在90秒内恢复其性能和受影响的数据,达到这一目的有关的属性即为易恢复性子特性。 [参考答案] (31) C
● 某程序的程序图如下所示,运用McCabe 度量法对其进行度量,其环路复杂度是(32) 。
(32)A. 2 B. 3 C. 4 D. 5
试题(32) 分析
本题考查McCabe度量法。McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图G的环路复杂性的公式为V(G)=m-n+2,其中V(G)是有向图G中的环路个数,m是G中的有向弧数,n是 G中的节点数。要采用McCabe度量法度量程序复杂度,需要先画出程序图,识别有向图中节点数n=7和有向弧数m=10,然后利用环路复杂性计算公式V(G)=m-n+2进行计算,得到图中程序图的程序复杂度是5。 [参考答案]
(32) D
● 系统开发计划用于系统开发人员与项目管理人员在项目期内进行沟通,它包括(33) 和预算分配表等。
(33)A. PERT 图B.总体规划C. 测试计划D. 开发合同
试题(33) 分析
本题考查系统开发计划文档知识。
用于系统开发人员与项目管理人员在项目期内进行沟通的文档主要有系统开发计划,包括工作任务分解表、PERT
图、甘特图和预算分配表等。总体规划
和开发合同用于与系统分析人员在系统规划和系统分析阶段的沟通。测试计划用于系统测试人员与系统开发人员之间的沟通。 [参考答案] (33) A ● 改正在软件系统开发阶段已经发生而系统测试阶段还没有发现的错误,属于
(34) 维护。
(34)A. 正确性B. 适应性C. 完善性D. 预防性
试题(34) 分析
本题考查软件维护知识。
软件维护的内容一般包括准确性维护、适应性维护、完善性维护和预防性维护。正确性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。适应性维护是指使应用软件适应信息技术变化和管理需求变化而进行的修改。完善性维护主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。预防性维护是指为了适应未来的软硬件环境的变化,主动增加预防性的新功能,以使应用系统适应各类变化而不被淘汰。 [参考答案] (34) A
● 某系统重用了第三方组件(但无法获得其源代码),则应采用(35) 对组件进行测试。
(35)A. 基本路径覆盖B.分支覆盖C. 环路覆盖D. 黑盒测试
试题(35) 分析
本题考查软件动态测试方法。
软件测试方法分为静态测试和动态测试。静态测试是被测试程序不在机器上运行而采用人工检测和计算机辅助静态分析手段对程序进行检测。动态测试是通过运行程序发现错误。对软件产品进行动态测试时可以采用黑盒测试和白盒测试法。黑盒测试法在完全不考虑软件的内部结构和特性的情况下,测试软件的外部特性。对于无法获得源代码的第三方组件,可采用黑盒对组件进行测试。基本路径覆盖、分支覆盖和环路覆盖需要根据程序的内部结构和逻辑进行测
试。 [参考答案]
(35) D
● 极限编程(XP)由价值观、原则、实践和行为四个部分组成,其中价值观包括沟通、简单性、(36) 。
(36)A. 好的计划B. 不断的发布C. 反馈和勇气D.持续集成
试题(36)分析
本题考查敏捷开发方法。
极限编程(XP)是敏捷开发的典型方法之一,是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方法,它由价值观、原则、实践和行为4个部分组成。其中4大价值观为沟通、简单性、反馈和勇气。 [参考答案]
(36) C