第22节 软件工程知识

软件工程知识
1[单项选择题]某开发项目配置管理计划中定义了三条基线,分别是需求基线、设计基线和产品基线,( )应该是需求基线、设计基线和产品基线均包含的内容。
A需求规格说明书
B详细设计说明书
C用户手册
D概要设计说明书
【参考答案】A
【题目解析】软件需求是一个为解决特定问题而必须由被开发或被修改的软件展示的特性。因此,软件需求是软件配置控制的基础。软件设计、实现、测试和维护等所有软件开发生命周期中的活动所产生的产品都要建立与软件需求之间的追溯关系。通常,要唯一地标识软件需求,才能在整个软件生命周期中,进行软件配置控制。因此,需求基线、设计基线和产品基线必然要包括软件的需求,通常用需求规格说明书来表达软件需求。因此选择A。

2[单项选择题]各类软件维护活动中,( ) 维护占整个维护工作的比重最大。
A完善性
B改正性
C适应性
D预防性
【参考答案】A
【题目解析】维护是软件生命周期中的重要阶段。按照引发维护的原因,可将软件维护活动分为 (1)改正性维护,是指改正系统中已发生、但测试中未发现的错误。这种维护工作量约占整个维护工作量的20%左右。
(2)适应性维护,是指为使软件适应信息技术变化、软硬件环境和管理需木等变化 而修改软件,约占整个维护工作量的24%左右•
(3)完善性维护,是指为扩充软件功能、改进加工效率、改善系统性能而修改软件, 这种维护对系统质量的影响较大,约占整个维护工作量的50%左右。
(4)预防性维护,是指为提商软件的可维护性和可靠性,并适应未来的软硬件环境 变化而对软件或软件中的一部分重新设计,这种维护约占整个维护工作量的5%左右。

3[单项选择题]黑盒测试注重于测试软件的功能性需求,主要用于软件的后期测试。( )不能用黑盒测试检查出来。
A功能不对或遗漏错误
B界面错误
C外部数据库访问错误
D程序控制结构错误
【参考答案】D
【题目解析】黑盒测试注重于测试软件的功能性需求,即黑盒测试使软件工程师能设计出将测试程序所有功能霱求的输入条件集。
黑盒测试试图发现以下类型的错误:①功能不正确或遗漏:②接口错误:③数据结构或外部数据库访问错误;④行为成性能错误:⑤初始化和终止错误.
白盒期测试在测试过程的早期执行,而黑盒测试倾向于应用在测试的后期阶段。

4[单项选择题]模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为 ( ) 。
A数据耦合
B标记耦合
C公共耦合
D内容耦合
【参考答案】D
【题目解析】一般可将耦合度从弱到强分为以下七级:
★ 非直接耦合
指两个模块中任一个都不依赖对方独立工作。这类耦合度最低。
★ 数据耦合
指两个模块间只是通过参数表传递简单数据。
★ 特征耦合
指两个模块都与同一个数据结构有关。
★ 控制耦合
指两个模块间传递的信息中含有控制信息。
★ 外部耦合
指若干模块都与同一个外部环境关联,例如I/O处理使所有I/O模块与特定的设备、格式和通信协议相关联。
★ 公共耦合
指两个或多个模块通过引用一个公共区的数据而发生相互作用。
★ 内容耦合
最高耦合度的是内容耦合。出现内容耦合的情形包括:当一个模块使用另一模块内部的控制和控制信息;一个模块直接转移到另一模块内部等等。
一般说来,尽量使用数据耦合,少用控制耦合,限制外部耦合,完全不用内容耦合。

5[单项选择题]高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是( )。
A语句
B语义
C语用
D语法
【参考答案】A

6[单项选择题]以下关于基准测试的叙述中,正确的是()。
A运行某些诊断程序,加大负载,检查哪个设备会发生故障
B验证程序模块之间的接日是否正常起作用
C运行一个标准程序对多种计算机系统进行检查,以比较和评价它们的性能
D根据程序的内部结构和内部逻辑,评价程序是否正确
【参考答案】C

7[单项选择题]一个故障已经被发现,而且也被排除了,为了检查修改是否引起其他故障,这时应该进行()
A程序走查
B回归测试
C软件评审
D接受测试
【参考答案】B
【题目解析】回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。题干意思即为回归测试基本思想。

8[单项选择题]软件需求可理解为:为解决特定问题则由被开发或被修改的软件所展示出的特性。所有软件需求的基本特性是 ( )。
A可验证性
B与用户交互性
C解决冲突
D面向对象
【参考答案】A
【题目解析】所有软件需求的一个基本特性就是可验证性,验证某些软件需求可能很困难或成本很高,但无法完成验证的需求,不能成为真正的软件需求。软件需求和软件质保人员都必须保证,在现有的资源约束下,需求可以被验证。

9[单项选择题]在软件生存周期的各项工作中,()是直接面向用户的
A设计
B单元测试
C需求分析
D编码
【参考答案】C
【题目解析】这题很简单,只有需求是需要向用户了解的。
需求调研直接面向用户,需求分析阶段也会多次反复地和用户沟通、确认,最终形成需求规格说明书,同时向客户确认。

10[单项选择题]错误管理的流程可以概括为:测试人员提交新的错误入库,错误状态为1;高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为2,如果不是错误,则拒绝,设置为“拒绝”状态;开发人员查询状态为3 的错误,做如下处理:如果不是错误,则置状态为“拒绝”,如果是错误则修复并置状态为4,如果不能解决的错误,要留下文字说明并保持错误为“拒绝”状态;测试人员查询状态为5 的错误,验证错误是否已解决,做如下处理:如问题解决了置错误的状态为6,如问题没有解决则置状态为7。上述流程中1至7 相对应的状态标识为( )。
A新信息→打开→打开→修正→修正→关闭→重新打开
B打开→修正→关闭→修正→修正→关闭→打开
C新信息→打开→打开→关闭→修正→关闭→重新打开
D新信息→打开→打开→修正→关闭→修正→重新打开
【参考答案】B

11[单项选择题]软件项目中的测试管理过程包括( )
A单元测试、集成测试、系统测试、验收测试
B单元测试、集成测试、验收测试、回归测试
C制定测试计划、开发测试工具、执行测试、发现并报告缺陷、测试总结
D制定测试计划及用例、执行测试、发现并报告缺陷、修正缺陷、重新测试
【参考答案】D
【题目解析】软件项目中的测试管理过程包括制定测试计划及用例、执行测试、发现并报告缺陷、修正缺陷、重新测试

12[单项选择题]基线是软件生存期各个开发阶段的工作成果,测试阶段的基线是 ( ) 。
A可提交的软件
B被测试的程序
C提交报告
D测试报告
【参考答案】D
【题目解析】本题考查配置管理的基本概念。
基线(baseline)是软件生命期各个开发阶段末尾的特定点,也叫做里程碑(milestone)。连续的开发工作在这些点上被分割开来进行成果检验,必要时可以进行变更控制。有了基线,就可以防止开发中的错误跨越阶段向后扩散,也可以防止跨越里程碑去修改另一开发阶段的工作成果。软件配置基线如下图所示。
开发计划
A
需求规格说明 用户手册
A
设计规格 说明
A
程序清单
A
测试报告
A

13[单项选择题]对那些为广大用户开发的软件而进行的β测试是指在( )的情况下所进行的测试。
A开发环境下,开发人员可不在场
B开发环境下,开发人员应在场
C用户的实际使用环境下,开发人员可不在场
D用户的实际使用环境下,开发人员应在场
【参考答案】C
【题目解析】β测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关错误 信息给开发者。测试时,开发者通常不在测试现场。因而,β测试是在开发者无法控制 的环境下进行的软件现场应用.在β测试中,由用户记下遇到的所有问题,包括真实的 以及主观认定的,定期向开发者报告.b测试主要衡设产品的FLURPS。着重于产品的支 持性,包括文档、客户培训和支持产品生产能力。只有当a测试达到一定的可靠程度 时,才能开始β测试,它处在整个测试的后阶段。同时,产品的所有手册文本也应该 在此阶段完全定稿•

14[单项选择题]软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为初始级、可重复级、定义级、管理级和优化级.其中( )对软件过程和产品都有定量的理解与控制.
A可重复级和定义级
B定义级和管理级
C管理级和优化级
D定义级、管理级和优化级
【参考答案】C
【题目解析】CMM是对软件组织进化阶段的描述.随着软件组织定义、实施、测量、控制 和改进其软件过程.软件组织的能力经过这些阶段逐步前进• CMM将软件过程的成熟度分为5个等级. 详见表3-8.
级别 描述 特点 关键过程域
第一级 初始级 软件过程是无序的,几乎没有明确定义的步骤成功完全依赖个人努力和英雄式的核心任务,企业一般不具备稳定的软件开发与维护的环境,常在遇到问题的时候就放弃原定计划,而只专注于编程与测试
第二级 可重复级 在这一级别上,建立了基本的项目管理来跟踪成本,进度和机能,制定了必要的过程纪律,并基于以往的项目经验来计划与管理新的项目
需求管理、软件配置管理、软件子合同管理等
第三级 定义级 管理和过程的软件过程已经文档化、标准化、并综合成整个软件开发组织的标准软件过程,所以的项目都采用根据实际情况修改后得到的标准软件过程来发展,和维护软件 组织过程定义、集成软件管理软件产品工程等
第四级 定量管理级 在这一级别上,制定了软件工程和产品质量的详细度量标准,使用定量分析来不断地改进和管理软件过程,软件过程和产品的质量都被开发组织的成员,所理解和控制,因为软件产品具有可预期的高质量 定量的过程管理、软件质量管理
第五级 优化级 提高来自过程质量反馈和来自新观念,新技术的反馈,使过程能够持续不断的改进,可见整个企业将会把重点放在对过程进行不断的优化上,企业会主动去找出过程的弱点与长处,以达到预防缺陷的目标 缺陷预防、技术变更管理、过程变更管理
由表3-8可知,管理级和优化级对软件过程和产品都有定量的理解与控制•

15[单项选择题]某大型移动通信运营商欲开发一个新的应用系统以替换原有系统。在需求分析阶段,为尽快从已有系统文档资料和用户处获取整体系统需求,采用 ( ) 的方法捕获需求最为合适。
A用户访谈
B联合需求计划
C抽样
D头脑风暴
【参考答案】C
【题目解析】需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。常见的需求获取方式有用户访谈、问卷调查、抽样和联合需求计划等。根据题干描述,应该采用抽样的方法。
关键词是“大型移动通信运营商”,我们就想象是中国移动运营商,您说她的用户,都是几亿的数量,怎么用户访谈,哪不累死了吗?只有抽样。
题目也说了“尽快从已有系统文档资料和用户处获取整体系统需求”,范围都限定死了,还用得着头脑风暴吗?

16[单项选择题]软件设计时需要遵循抽象、模块化、信息隐蔽和模块独立原则。在划分软件系统模块时,应尽量做到 ( ) 。
A高内聚高耦合
B高内聚低耦合
C低内聚高耦合
D低内聚低耦合
【参考答案】B
【题目解析】本题考查软件设计原则的基础知识。
    软件设计时需要遵循抽象、模块化、信息隐蔽和模块独立原则。耦合性和内聚性是模块独立性的两个定性标准,在划分软件系统模块时,尽量做到高内聚、低耦合,提高模块的独立性。

17[单项选择题]下列叙述中,与提高软件可移植性相关的是 ( ) 。
A选择时间效率高的算法
B尽可能减少注释
C选择空间效率高的算法
D尽量用高级语言编写系统中对效率要求不高的部分
【参考答案】D
【题目解析】软件可移植性是指与软件可从某一环境移植到另一环境的能力有关的一组属性。高级语言具有较好的可移植性,所以可以尽量用高级语言编写系统中对效率要求不高的部分。减少注释、选择时间/空间效率高的算法都不能提高软件的可移植性。

18[单项选择题]系统测试步骤的第一步是( )
A验收测试
B模块测试
C有效性测试
D黑盒测试
【参考答案】B

19[单项选择题]
在CMM模型中属于4级以上的关键过程域是 ( ) 。

A集成软件管理
B软件质量管理
C项目子合同管理
D软件产品工程
【参考答案】B
【题目解析】
本题考查能力成熟度模型(CMM)的关键过程域。

CMM模型分为5级,除了初始级没有关键过程之外,其他级别的关键过程域表示如下:

这些级别的关键过程是向下包含的,即下一级别的关键过程包含在上一级别的关键过程域中。

20[单项选择题]面向功能的软件度量使用软件所提供功能的测量作为规范化值。下面关于面向功能的软件度量方法的描述,不正确的是 ( ) 。
A面向功能度量是由Albrecht首先提出来的,他建议采用基于功能点的测量
B功能点是基于软件信息领域的可计算的(直接的)测量及软件复杂性的评估而导出的
C“功能”不能直接测量,所以必须通过其他直接的测量来导出
D“用户输入数”和“用户输出数”不属于面向功能的软件度量需要考虑的因素
【参考答案】D
【题目解析】面向功能的软件度量使用软件所提供的功能的测量作为规范化值。因为“功能”不能直接测量,所以必须通过其他直接的测量来导出。面向功能度量是由Albrecht首先提出的,他建议一种称为功能点的测量。功能点是基于软件信息领域的可计算的(直接的)测量及软件复杂性的评估而导出的。信息域值按下列方式定义。(1) 用户输入数:计算每个用户输入,它们向软件提供面向应用的数据。输入应该与查询区分开来,分别计算。(2) 用户输出数:计算每个用户输出,它们向用户提供面向应用的信息。这里,输出是指报表、屏幕和出错信息等。一个报表中的单个数据项不单独计算。(3) 用户查询数:一个查询被定义为一次联机输入,它导致软件以联机输出的方式产生实时的响应。每一个不同的查询都要计算。(4) 文件数:计算每个逻辑的主文件(如数据的一个逻辑组合,它可能是某个大型数据库的一部分或是一个独立的文件)。(5) 外部接口数:计算所有机器可读的接口(如磁带或磁盘上的数据文件),利用这些接口可以将信息从一个系统传送到另一个系统。根据上面的描述可以知道,D的描述是错误的,因此本题应该选择D。

21[单项选择题]软件质量强调3个方面的内容:( )是测试软件质量的基础;开发标准定义了一组用于指导软件开发方式的准则;期望需求间按定义了用户对某些特性的需求。
A软件需求
B软件设计
C软件实现
D软件验证
【参考答案】A
【题目解析】软件质量是对明确陈述的功能和性能需求、明确记录的开发标准,以及对所有专业化软件开发应具备的隐含特殊的符合度。它强调以下3个方面的内容。
①软件需求是质量测试的基础,不符合需求就是没有质量。
②开发标准定义了一组用于指导软件开发方式的准则。若未能遵守唯则,则肯定质贤有问题。
③期望需求(例如,对易使用性的期望)定义了用户的某些稍缓的、期望的需求,即间接定义了用户对某些特性的需求。
软件的分析、设计和实现都是为了满足软件需求的。开发文档是记录开发成果的,维护手册 是指导软件维护的,用户手册是提供用户使用软件的操作指南。

22[单项选择题]为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括( )。
A配置项标识、配置项控制、配置状态报告、配置审计
B配置基线确立、配置项控制、配置报告、配置审计
C配置项标识、配置项变更、配置审计、配置跟踪
D配置项标识、配置项控制、配置状态报告、配置跟踪
【参考答案】A

23[单项选择题]( )可以作为软件测试结束的标志。
A使用了特定的测试用例
B错误强度曲线下降到预定的水平
C查出了预定数目的错误
D按照测试计划中所规定的时间进行了测试
【参考答案】B

24[单项选择题]软件测试不再是一种仅在编码阶段完成后才开始的活动,现在的软件测试被认为是一种应该包括在整个开发和维护过程中的活动,测试工作往往采用V模型来进行,可以从()阶段就开始编写测试计划。
A立项
B需求分析
C设计
D编码
【参考答案】B
【题目解析】软件测试文件描述要执行的软件测试及测试的结果。由于软件测试是一个很复杂的过程,同时也是设计软件开发其它一些阶段的工作,对于保证软件的质量和它的运行有着重要意义,必须把对它们的要求、过程及测试结果以正式的文件形式写出。测试文件的编写是测试工作规范化的一个组成部分。
  测试文件不只在测试阶段才考虑,它在软件开发的需求分析阶段就开始着手,因为测试文件与用户有着密切的关系。在设计阶段的一些设计方案也应在测试文件中得到反映,以利于设计的检验。测试文件对于测试阶段工作的指导与评价作用更是非常明显的。需要特别指出的是,在已开发的软件投入运行的维护阶段,常常还要进行再测试或回归测试,这时仍须用到测试文件。
根据V模型的结构图

25[单项选择题]选择软件开发工具时,应考虑功能、 ( ) 、稳健性、硬件要求和性能、服务和支持。
A易用性
B易维护性
C可移植性
D可扩充性
【参考答案】A
【题目解析】为提高开发效率,通常的软件开发活动中需要干开发工具的支持。而在选择这些 支撑工具时,应当选择功能上满足需要、运行稳定,且具有良好服务支持的工具。另外, 工具的易用性也是需要考虑的一个重要因素,因为一个容易使用的工具可有效提高开发 效率。

26[单项选择题]通常,软件开发过程包括需求分析、概要设计、详细设计、编码、测试、运行维护等阶段。待开发软件的顶层结构设计一般在()中完成.
A需求分析阶段
B概要设计阶段
C详细设计阶段
D代码编写阶段
【参考答案】B
【题目解析】软件开发过程可划分为若干子过程,每个子过程有明确的任务。
需求分析子过程确需定软件的功能、性能、数据和界面等要求。
概要设计子过程中开发人员要把确定的各项功能需求转换为需要的体系结构,主要任务包括 总体结构设计(也称为顶层设计)、数据结构及数据库设计、编写概要设计文档、评审(包括是否 实现了需求分析中规定的功能、性能等要求,设计方法的可行性,各部分之间的一致性等)。其中, 总体结构设计的基本任务是采用某种设计方法,将-个复杂的软件系统划分成模块:确定每个模块 的功能:确定模块之间的协调关系:确定模块之间的接口:评价模块结构的质量。
详细设计子过程的主要任务是对每个模块完成的功能进行具体描述,要把

功能描述转变为稍精确的、结构化的过程描述。
编写代码子过程就是将每个模块的控制结构转换为计算机可接受的程序代码,即写成某种特 定程序设计语言表示的源程序消单。

27[单项选择题]下面有关测试的说法正确的是( )。
A测试人员应该在软件开发结束后开始介入
B测试主要是软件开发人员的工作
C要根据软件详细设计中设计的各种合理数据设计测试用例
D严格按照测试计划进行,避免测试的随意性
【参考答案】D
【题目解析】本题考查的是软件测试的基本知识。测试应该在需求阶段即开始介入,以及早了解测试的内容等;传统观念中测试主要是软件开发人员的工作,这是错误的。测试应由专门的测试人员进行。测试时不应只考虑各种合理的测试数据或用例,更多的应考虑各种可以引起错误的数据(包含各种边界数据等)。测试应该严格按照测试计划进行,禁止测试的随意性。

28[单项选择题]软件内部/外部质量模型中,可移植性不包括( )子特性。
A适应性
B共存性
C兼容性
D易替换性
【参考答案】B

29[单项选择题]程序的三种基本控制结构是( )。
A过程,子程序,分程序
B顺序,条件,循环
C递归,堆栈,队列
D调用,返回,转移
【参考答案】B

30[单项选择题]软件需求可以分为功能需求、性能需求、外部接口需求、设计约束和质量属性等几类,( )属于软件项目功能性需求。
A操作界面兼容各类浏览器
B系统能够支持2000个并发访问
C对生产数据根据销售情况自动排序
D对特定范围内修改所需的时间不超过3秒
【参考答案】C
【题目解析】《计算机软件需求说明編制指南(GB/T 9385))中定义了软件需求的具体内容,包括功需求、性能需求、设计约束,质量属性,外部接口需求和其他需求等.其屮,功能需求是指描述软件产品的输入怎样交换成输出.即软件必须完成的基本功作.对于每一类功能或者有时对于每一个功能需要具体描述其输入、加工和输出的需求.
性能需求是从整体来说本条应具体说明软件成人与软件交互的静态或动态数值需求.静态数值需求可能包栝:①支持的终端数;2支持并行操作的用户数;③处理的文卷和记录数;④表和文卷的大小等。动态数值需求包括预处理的事务和任务的数量,以及在正常情况下和峰值工作条件下一定时问周期中处理的数据总量。所有这些霱求都必须用可以度量的术语来叙述.例如,95%的事务必须在小于1s时间内处理完.不然操作员将不等待处理的完成.
设计约束受其他标准(如报表格式,数据命名、财务处理、审计追踪等)•硬件限制(如内存 容量. 硬件的特点(接口数.指令系统等)、辅助储存器容量等)等方面的影响。
软件质量属性是影响软件架构设计的重要因素.常见的软件质量属性有多种.例如性能.可靠性 .可用性.键壮性.安全性、 "可修改性、可变性.易用性、可测认性,功能性和互操作性等. 外部接口需求通常抱括用户接口、硬件接口,软件接口和通信
其它需求,即根据软件和;用户组织的特性等某些需求放在数据库、用户要求的、常规的和特 殊的操作、场合适应性需求中描述.
对于本试题所的拥列举的例子.属于功能需求的有②和⑤:性能需求的有①和③:属于设计 约束的有1④和⑥.

31[单项选择题]将系统需求模型转换为架构模型是软件系统需求分析阶段的一项重要工作,以下描述中,()是在转换过程中需要关注的问题。
A如何通过多视图模型描述软件系统的架构
B如何确定架构模型中有哪些元素构成
C如何采用表格或用例映射保证转换的可追踪性。
D如何通过模型转换技术,将高层架构模型逐步细化为细粒度架构模型
【参考答案】B
【题目解析】本题主要考查软件架构设计与生命周期的关系。
从木质上看,需求和软件架构设计面临的是不同的对象:一个是问题空间: 另一个解空间.保持两者的可追踪性和转换,一直是软件工程领域追求的目标•从软件需求模型向SA模型的转换主要关注两个问填:①如何根椐需求模型构建软件架构模取,②如何保证模型转换的可追踪性.本题答案中A、B是软件架构设计阶段需要考虑的问题. D是软件架构实现阶段中需要考虑的问题.

32[单项选择题]某软件在应用初期运行在Windows NT环境中。现该软件需要在UNIX环境中运行,而且必须完成相同的功能。为适应这个要求,软件本身需要进行修改,而所需修改的工作量取决于该软件的 ( ) 。
A可扩充性
B可靠性
C复用性
D可移植性
【参考答案】D
【题目解析】可移植性主要是指把同一软件放置到不同系统平台(如不同的硬件平台和操作系 统),并使之正常运行的难易程度。可移植性有时候被表述为跨平台性。

33[单项选择题]在软件需求规格说明书中,有一个需求项的描述为:“探针应以最快的速度响应气压值的变化”。该需求项存在的主要问题是不具有( )。
A可验证性
B可信性
C兼容性
D一致性
【参考答案】A
【题目解析】软件需求是一个为解决特定问题而必须由被开发或被修改的软件展示的特性。所有软件需求的一个基本特性就是可验证性。软件需求和软件质保人员都必须保证,在现有资源约束下,需求可以被验证。
    在需求项“探针应以最快的速度响应气压值的变化”中,没有定量地阐述探针响应气压值变化的速度,在现有资源约束下不具有可验证性。因此应选A。

34[单项选择题]系统集成项目通过验收测试的主要标准为 ( )。
A所有测试项均未残留各等级的错误
B需求文档定义的功能全部实现,非功能指标达到目标要求
C立项文档、需求文档、设计文档与系统的实现和编码达到一致
D系统通过单元测试和集成测试
【参考答案】B
【题目解析】验收测试的工作之一就是“确认测试”,就是确认已开发出的项目产品,是不是用户所需要的,因此要依据需求规格说明书,对实际的项目产品进行一项一项的确认。

35[单项选择题]一个功能模块 M1 中的函数 F1 有一个参数需要接收指向整型的指针,但是在功能模块 M2 中调用 F1 时传递了一个整型值,在软件测试中, ( ) 最可能测出这一问题。
AM1 的单元测试
Bm2 的单元测试
CM1 和 m2 的集成测试
D确认测试
【参考答案】C
【题目解析】本题考查软件测试基础知识。
单元测试侧重于模块中的内部处理逻辑和数据结构,所有模块都通过了测试之后,把模块集成起来仍可能会出现穿越模块的数据丢失、模块之间的相互影响等问题,因此,需要模块按系统设计说明书的要求组合起来进行测试,即集成测试,以发现模块之间协作的问题。
一个功能模块Ml中的函数F1有一个参数需要接收指向整型的指针,但是在功能模决M2中调用F1时传递了一个整型值,这种模块之间传递参数的错误,在集成测试中最可能测试出来

36[单项选择题]Linux 的基本特点是( )。
A多用户,单任务,实时
B多用户,多任务,交互式
C单用户,单任务,分时
D多用户,多任务,分时
【参考答案】D

37[单项选择题]需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起到桥梁的作用。需求分析使得系统工程师能够刻画出软件的 (1) 、指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析是发现、求精、建模和规约的过程。包括详细地精化由系统工程师建立并在软件项目计划中精化的软件范围,创建所需数据、信息和(2) 以及操作行为的模型,此外还有分析可选择的解决方案,并将它们分配到各软件元素中去。
1.
指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析是发现、求精、建模和规约的过程。包括详细地精化由系统工程师建立并在软件项目计划中精化的软件范围,创建所需数据、信息和
A功能和性能
B数据和操作
C实体和对象
D操作和对象
参考答案:A
解析:需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起到桥梁的作用。需求分析使得系统工程师能够刻划出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析允许软件工程师(该角色也经常称之为系统分析员)精化软件分解模块,并建造将被软件处理的数据、功能和行为模型。需求分析为软件设计者提供了可被翻译成数据、体系结构、界面和过程设计的模型,最后,需求规约为开发者和客户提供了软件建造完后质量评估的依据。
2.
以及操作行为的模型,此外还有分析可选择的解决方案,并将它们分配到各软件元素中去。
A事件流
B消息流
C对象流
D控制流
参考答案:D
解析:需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起到桥梁的作用。需求分析使得系统工程师能够刻划出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析允许软件工程师(该角色也经常称之为系统分析员)精化软件分解模块,并建造将被软件处理的数据、功能和行为模型。需求分析为软件设计者提供了可被翻译成数据、体系结构、界面和过程设计的模型,最后,需求规约为开发者和客户提供了软件建造完后质量评估的依据。
隐藏答案
纠错
【题目解析】需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起到桥梁的作用。需求分析使得系统工程师能够刻划出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析允许软件工程师(该角色也经常称之为系统分析员)精化软件分解模块,并建造将被软件处理的数据、功能和行为模型。需求分析为软件设计者提供了可被翻译成数据、体系结构、界面和过程设计的模型,最后,需求规约为开发者和客户提供了软件建造完后质量评估的依据。
38[单项选择题]在软件产品交付后产品仍然需要不断进行修改,其中用来检测和纠正软件产品中的潜在故障,使其不成为有效故障的行为是( ) 。
A完善性维护
B适应性维护
C改正性维护
D预防性维护
【参考答案】D
【题目解析】完善性维护是为扩充功能和改挥性能而进行的修改,主要是指对己有的软件系统增 加一些在系统分析和设计阶段中没有规定的功能与性能特征:适应性维护是指使用软件 适应信息技术变化和管理需求变化而进行的修改;改正性维护是指改正在系统开发阶段 己发生而系统测试阶段尚未发现的错误;预防性维护是指在软件产品交个后产品仍然是要不断近行修改,用来检测和纠正软件产品的潜在故障。

39[单项选择题]下述说法错误的是( )。
A单元测试又称为模块测试,是针对软件测试的最小单位-程序模块进行正确性检验的测试工作
B集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试
C集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统
D系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等正确配置与连接,并满足用户需求
【参考答案】B
【题目解析】本题考查按开发阶段划分的软件测试类型的详细概念。
  单元测试、集成测试、确认测试、系统测试、验收测试的概念描述如下:
  . 单元测试
  单元测试又称模块测试,针对软件设计的最小单位——程序模块进行正确性检验的测试工作。其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。
  . 集成测试
  集成测试也叫做组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。
  . 确认测试
  确认测试是通过检验和提供客观证据,证实软件是否满足特定预期用途的需求。确认测试是检测与证实软件是否满足软件需求说明书中规定的要求。
  . 系统测试
  为验证和确认系统是否达到其原始目标而对集成的硬件和软件系统而进行的测试。系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件、支持平台等)正确配置、连接,并满足用户需求。
  . 验收测试
  按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。
  注意集成测试是在单元测试的基础上所进行的测试,而不是在编码完成的基础上即可开始的测试。

40[单项选择题]某系统重用了第三方组件(但无法获得其源代码),则应采用( )对组件进行测试。
A基本路径
B分支覆盖
C环路覆盖
D黑盒测试
【参考答案】D
【题目解析】本题考查软件动态测试方法。
软件测试方法分为静态测试和动态测试。静态测试是被测试程序不在机器上运行而采用人工检测和计算机辅助静态分析手段对程序进行检测。动态测试是通过运行程序发现错误对软件产品进行动态测试时可以采用黑盒测试和白盒测试法。黑盒测试法在完全不考虑软件的内部结构和特性的情况下,测试软件的外部特性。对于无法获得源代码的第三方组件,可采用黑盒对组件进行测试。基本路径覆盖、分支覆盖和环路覆盖需要根据程序的内部结构和逻辑进行测试。

41[单项选择题]以下关于变量和常量的叙述中,错误的是 ( ) 。
A变量的取值在程序运行过程中可以改变,常量则不行
B变量具有类型属性,常量则没有
C变量具有对应的存储单元,常量则没有
D可以对变量赋值,不能对常量赋值
【参考答案】B
【题目解析】答案B是错误的。因为只要是程序中的数据,总是属于一种数据类型,无论是变量还是常量,即使没有显示指定数据类型属性,系统也会默认为其指定。

42[单项选择题]以下关于可视化程序设计的叙述中,错误的是 ( ) 。
A可视化程序设计使开发应用程序无需编写程序代码
B可视化程序设计基于面向对象的思想,引入了控件和事件驱动
C在可视化程序设计中,构造应用程序界面就像搭积木
D在可视化程序设计中,采用解释方式可随时查看程序的运行效果
【参考答案】A
【题目解析】可视化程序设计语言是指应用可视化开发工具开发图形用户界面应用程序的方法。利用可视化程序设计语言,软件开发人员无须编写大量代码来实现windows应用程序中的界面元素的外观和位置,而只需选用系统提供的某些界面元素样本,编写少量代码和相关事件处理程序,就可完成应用程序的开发。

43[单项选择题]以下关于软件系统文档的叙述中,错误的是 ( ) 。
A软件系统文档既包括有一定格式要求的规范文档,又包括系统建设过程中的各种来往文件、会议纪要、会计单据等资料形成的不规范文档
B软件系统文档可以提高软件开发的可见度
C软件系统文档不能提高软件开发效率
D软件系统文档便于用户理解软件的功能、性能等各项指标
【参考答案】C
【题目解析】在软件开发过程中,软件文档起着重要的作用。编制软件文档使得开发人员对各个阶段进行周密思考、全盘权衡,返工率下降,并可在开发早期发现错误和不一致,及时纠正,从而提高了开发效率。

44[单项选择题]许多程序设计语言规定,程序中的数据都必须具有类型,其作用不包括( )
A便于为数据合理分配存储单元
B便于对参与表达式计算的数据对象进行检查
C便于定义动态数据结构
D便于规定数据对象的取值范围及能够进行的运算
【参考答案】C
【题目解析】本题考查程序语言基础知识。
  数据具有类型,便于编译程序在基础机器中完成对值的布局,同时还可用于检查表达式中对运算的应用是否正确。

45[单项选择题]软件的横向重用是指重用不同应用领域中的软件元素.( )是一种典型的、原始的横向重用机制。
A对象
B构件
C标准函数库
D设计模式
【参考答案】C
【题目解析】软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软 件元素的过程。按照重用活动是否跨越相似性较少的多个应用领域,软件重用可以区別为横句重用和纵向重用。横向重用是指重用不同应用领域中的软件元素,例如数据结构、分类算法和人机界面 构建等。标准函数是一种典型的、原始的横向重用机制。纵向重用是指在一类具有较多公共性的应 用领域之间进行软部件中:用。纵向重用活动的主:要关键点是域分析:根据应用领域的特征及相似性预测软部件的可重用性。

46[单项选择题]以下属于软件产品的质量的特殊性的是()
A很难制定具体的、数量化的产品质量标准,所以没有相应的国标标准、国家标准或行业标准
B软件产品之间很难进行横向的质量对比,很难说这个产品比那个产品好多少
C满足了用户需求软件质量,就是好的软件质量
D软件的类型不同,但是软件质量的衡量标准的侧重点相同
【参考答案】D

47[单项选择题]需求工程在设计和构造之间建立起联系的桥梁。其( )阶段的活动主要是开发一个精确的技术模型,用以说明软件的功能、特征和约束。
A需求管理
B规格说明
C导出
D精化
【参考答案】D
【题目解析】需求工程通过起始、导出、精化、协商、规格说明、确认和需求管理7个不同 的活动,在设计和构造之间建立起联系的桥梁.其中,精化阶段的活动主要是开发一个精确的技术模型, 用以说明软件的功能、特征和约束。精化的最终成果是形成一个定义了问题的信息域、功能域和行为域的 分析模型。

48[单项选择题]软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是()。
A设计构件
B需求获取
C标识构件
D架构需求评审
【参考答案】A
【题目解析】一般可将耦合度从弱到强分为以下七级:
★ 非直接耦合
指两个模块中任一个都不依赖对方独立工作。这类耦合度最低。
★ 数据耦合
指两个模块间只是通过参数表传递简单数据。
★ 特征耦合
指两个模块都与同一个数据结构有关。
★ 控制耦合
指两个模块间传递的信息中含有控制信息。
★ 外部耦合
指若干模块都与同一个外部环境关联,例如I/O处理使所有I/O模块与特定的设备、格式和通信协议相关联。
★ 公共耦合
指两个或多个模块通过引用一个公共区的数据而发生相互作用。
★ 内容耦合
最高耦合度的是内容耦合。出现内容耦合的情形包括:当一个模块使用另一模块内部的控制和控制信息;一个模块直接转移到另一模块内部等等。
一般说来,尽量使用数据耦合,少用控制耦合,限制外

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值