1、软件水平考试(中级)软件设计师上午(基础知识)试题-试卷 27及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。_2.以下描述中,错误的是(1)。(分数:2.00)A.从一个计算机系统转移到另一个计算机系统的容易程度是软件的可移植性B.软件在需要它投入使用时能实现其指定功能的概率是可靠性C.软件能够被软件维护人员阅读并理解的方便程度是软件的可理解性D.在规定条件下和规定期间内,实现所指定的功能的概率是软件的可靠性3.下述任务
2、中,不属于软件工程需求(分数:2.00)A.确定软件系统的可靠性要求B.确定软件系统的性能需求C.确定软件系统将采用什么开发语言开发D.确定软件系统的数据要求4.(3)是软件生命周期中时间最长的阶段。(分数:2.00)A.需求分析阶段B.软件维护阶段C.软件设计阶段D.软件系统实施阶段5.软件需求说明书是软件需求分析阶段的重要文件,下述(4)是其应包含的内容。 数据描述 功能描述 模块描述 性能描述(分数:2.00)A.B.C.D.6.以下关于数据流图的说法,错误的是(5)。(分数:2.00)A.数据流图是用来作为结构化分析建模的一种工具B.传统的数据流图中主要包含加工、外部实体、数据流、数据
3、存储、控制流 5种基本构件C.数据流图可只有一个也可以有多个D.数据流图属于需求分析阶段的产物7.下列关于内聚和耦合的描述中,错误的是(6)。(分数:2.00)A.内聚体现的是代码功能的集中程度B.耦合体现的是模块间联系的紧密程度C.通信内聚比逻辑内聚的内聚度更高D.数据耦合比公共耦合的耦合度更高8.下列选项中,不属于可用性子特性的是(7)。(分数:2.00)A.可理解性B.易学性C.依从性D.可操作性9.以下关于开发模型的描述中,不正确的是(8)。(分数:2.00)A.软件开发模型是指软件开发全部过程、活动和任务的结构框架B.喷泉模型主要用于描述面向对象的开发过程C.瀑布模型严格规定了各阶段
4、必须提交的文档D.螺旋模型结合了瀑布模型和快速原型模型的优点10.希赛公司的财务系统功能基本完善,但由于系统比较老旧,需要二次开发,这时应该采用(9)。(分数:2.00)A.原型法B.瀑布模型C.V-模型D.螺旋模型11.UP的基本特征是“用例驱动、以架构为中心的和受控的迭代式增量开发”。UP 将一个周期的开发过程划分为 4个阶段,其中(10)开发剩余的构件。(分数:2.00)A.初始阶段B.精化阶段C.构建阶段D.提交阶段12.某服务器软件系统能够正确运行并得出计算结果,但存在“系统出错后不能在要求的时间内恢复到正常状态”和“对系统进行二次开发时总要超过半年的时间”两个问题,上述问题依次与质
5、量属性中的(11)相关。(分数:2.00)A.可用性和性能B.性能和可修改性C.性能和可测试性D.可用性和可修改性13.在新旧系统转换的过程中,在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为(12)。(分数:2.00)A.位置转换B.直接转换C.并行转换D.分段转换14.CMM将软件过程的成熟度分为 5个等级。以下关于 CMM各级别特征的描述中,不正确的是(13)。(分数:2.00)A.处于初始级的软件过程可能是混乱的,项目成功往往依赖于个人B.管理级的最大特征是软件过程和产品质量有详细的度量标准C.定义级的最大特征是软件过程文档化,并能持续地进行过程改进D.可重复级能实现对成本、
6、进度和功能特性的跟踪15.下面有关测试的说法中,正确的是(14)。(分数:2.00)A.软件测试的目的是发现程序中所有错误B.测试人员应该在软件开发结束后立即开始测试C.要根据软件详细设计中设计的各种合理数据设计测试用例D.对发现错误较多的程序段,应进行更深入的测试16.如果要验证程序某模块能否与其他模块按照规定方式正确工作,需要进行(15)。(分数:2.00)A.单元测试B.集成测试C.确认测试D.系统测试17.下面关于软件测试的描述中,不正确的是(16)。(分数:2.00)A. 测试不需要用户参与,而 测试需要用户参与B.白盒测试能测试到程序的内部结构和处理算法C.软件发生变更后,都需要进
7、行回归测试D.黑盒测试包括边界值分析、错误推测等测试方法18.下列关于极限编程(XP)的叙述中,不正确的是(17)。(分数:2.00)A.极限编程注重用户反馈B.极限编程提倡减少文档C.极限编程的 4大价值观是沟通、变更、反馈、勇气D.简单设计是极限编程的十二个最佳实践之一19.软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档。其中用户文档不包括(18)。(分数:2.00)A.编译手册B.使用手册C.维护手册D.用户报告20.如果两个小组独立地测试同一个程序,第一组发现 60个错误,第二组发现 50个错误,在两个小组发现的错误中有 30个是共同的,那么可以估计程序中的错误总数是
8、(19)个。(分数:2.00)A.50B.60C.100D.12021.某企业根据业务需要,希望软件系统能提供柱状图的报表,这时对该软件系统进行的维护属于(20)维护。(分数:2.00)A.正确性B.完善性C.适应性D.预防性22.在某教师管理系统中,教师的级别有教授、副教授、讲师,且教师年龄在 2560 岁。若用等价类划分来进行相关测试,则(21)不是好的测试用例。(分数:2.00)A.(博士,30)B.(教授,40)C.(副教授,70)D.(博士,62)23.采用 McCabe度量法计算如图 4-1所示程序图的环路复杂性为(22)。 (分数:2.00)A.3B.4C.5D.624.关于白盒
9、测试的测试用例设计方法叙述,正确的是(23)。(分数:2.00)A.完成 SC(语句覆盖)所需的测试用例数目一定多于完成 DC(判定覆盖)所需的测试用例数目B.达到 100CC(条件覆盖)要求就一定能够满足 100SC 的要求C.达到 100CDC(条件判定覆盖)要求就一定能够满足 100CC 的要求D.任何情况下,都可以达到 100路径覆盖的要求25.对于如图 4-2所示的程序流程,当采用判定覆盖法设计测试案例时,至少需要设计(24)个测试案例。(分数:2.00)A.2B.3C.4D.526.定义风险参照水准是(25)活动常用的技术。(分数:2.00)A.风险识别B.风险预测C.风险评估D.
10、风险控制27.在进行软件工程风险分析时,项目管理人员要进行 4种风险评估活动,这 4种风险活动是(26)以及确定风险估计的正确性。(分数:2.00)A.建立表示风险概率的尺度,描述风险引起的后果,估计风险影响的大小B.建立表示风险概率的尺度,描述风险引起的后果,确定产生风险的原因C.确定产生风险的原因,描述风险引起的后果,估计风险影响的大小D.建立表示风险概率的尺度,确定产生风险的原因,估计风险影响的大小28.在下列说法中,(27)是造成软件危机的主要原因。 用户使用不当 软件本身特点 硬件不可靠 对软件的错误认识 缺乏好的开发方法和手段 开发效率低(分数:2.00)A.B.C.D.29.在软
11、件设计阶段,划分模块的原则是:一个模块的(28)。(分数:2.00)A.作用范围应该在其控制范围之内B.控制范围应该在其作用范围之内C.作用范围与控制范围互不包含D.作用范围与控制范围不受任何限制某软件项目的活动图如图 4-3所示。图中顶点表示项目里程碑,连接顶点的边表示包含的活动,则该活动图的关键路径是(29),活动 FG的松弛时间为(30)。 (分数:4.00)(1).(29)(分数:2.00)A.A-D-F-G-JB.A-C-F-H-JC.A-D-F-H-JD.A-D-F-I-H-J(2).(30)(分数:2.00)A.19B.20C.32D.24软件水平考试(中级)软件设计师上午(基础
12、知识)试题-试卷 27答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。_解析:2.以下描述中,错误的是(1)。(分数:2.00)A.从一个计算机系统转移到另一个计算机系统的容易程度是软件的可移植性B.软件在需要它投入使用时能实现其指定功能的概率是可靠性 C.软件能够被软件维护人员阅读并理解的方便程度是软件的可理解性D.在规定条件下和规定期间内,实现所指定的功能的概率是软件的可靠性解析:解析:软件可测试性:用来表示测试及验证软
13、件的难易度。 软件可理解性:软件能够被软件维护人员阅读并理解的方便程度。 软件可靠性:软件按规定的条件,在规定的时间内运行而不发生故障的能力。 软件可移植性:指软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。由于计算机的硬件体系结构不同,因而导致在某一类型机器上开发的软件不能在另一类计算机上运行,所以某一种语言开发环境中开发出来的程序,如不用修改或只需极少量的修改便能在其他种类的计算机上运行,就是可移植性好。 软件可用性:ISO 924111 国际标准对可用性做了如下定义:产品在特定使用环境下为特定用户用于特定用途时所具有的有效性(effectiveness)、效率(effi
14、ciency)和用户主观满意度(satisfaction)。其中: 有效性用户完成特定任务和达到特定目标时所具有的正确和完整程度。 效率用户完成任务的正确和完整程度与所使用资源(如时间)之间的比率。 满意度用户在使用产品过程中所感受到的主观满意和接受程度。 通俗来讲,可用性指的是产品对用户来说有效、易学、高效、好记、少错和令人满意的程度,即用户能否用产品完成任务、效率如何、主观感受怎样,实际上是从用户角度所看到的产品质量,是产品竞争力的核心,是以用户为中心。 软件兼容性:指与软件可从某一环境转移到另一环境的能力有关的一组属性。它包括以下几个属性: (1)与软件无须采用为该软件准备的活动或手段就
15、可能适应不同的规定环境有关的软件属性; (2)使软件遵循与可移植性有关的标准或约定的软件属性; (3)与软件在该软件环境中用来替代指定的其他软件的机会和努力有关的软件属性。 软件可修改性:软件能够被软件维护人员修改的方便程度。 软件的一致性:软件服从与可移植性有关的标准或约定的程度。3.下述任务中,不属于软件工程需求(分数:2.00)A.确定软件系统的可靠性要求B.确定软件系统的性能需求C.确定软件系统将采用什么开发语言开发 D.确定软件系统的数据要求解析:解析:需求分析阶段的任务主要有: (1)确定软件的综合要求:系统界面、系统功能、系统性能、安全性、保密性和可靠性方面的要求,系统的运行要求
16、、异常处理、将来的扩充和修改等。 (2)分析软件系统的数据要求:基本数据元素、数据元素之间的逻辑关系、数据量、峰值等。 (3)导出系统的逻辑模型。(4)修正项目开发计划。4.(3)是软件生命周期中时间最长的阶段。(分数:2.00)A.需求分析阶段B.软件维护阶段 C.软件设计阶段D.软件系统实施阶段解析:解析:本题考查的是软件寿命周期及其各寿命周期阶段的主要特点。 软件生命周期是软件开发的全过程,这个过程由诸多阶段构成,包括需求分析、软件设计、编码及单元测试、集成及系统测试、安装、实施与维护等阶段,在由这些阶段所构成的软件生命周期全过程中软件维护阶段是软件生命周期中时间最长的阶段。因为在软件开
17、发完投入使用后,由于多方面的原因,软件不能继续适应用户的要求,要延续软件的使用寿命,就必须对软件进行维护,所以从软件开发投入使用到软件被淘汰的整个过程都属于软件维护阶段,因此不难想象这个阶段的时长最长。5.软件需求说明书是软件需求分析阶段的重要文件,下述(4)是其应包含的内容。 数据描述 功能描述 模块描述 性能描述(分数:2.00)A.B.C.D. 解析:解析:已经确定下来的需求应当得到清晰准确的描述。通常把描述需求的文档叫做软件需求说明书。软件需求说明书的主要内容是系统的数据描述、数据流图、数据字典描述、系统接口描述、内部接口说明、系统的功能描述、处理说明、系统设计的限制系统的性能描述、性
18、能参数、对系统进行测试的种类等。6.以下关于数据流图的说法,错误的是(5)。(分数:2.00)A.数据流图是用来作为结构化分析建模的一种工具B.传统的数据流图中主要包含加工、外部实体、数据流、数据存储、控制流 5种基本构件 C.数据流图可只有一个也可以有多个D.数据流图属于需求分析阶段的产物解析:解析:本题主要考查数据流图的基本内容。数据流图是结构化开发方法中需求分析阶段的重要工具。结构化分析方法是一种面向数据流的软件分析方法。适合于开发数据处理类型软件的需求分析。数据流图是需求分析阶段使用的一种主要工具,它以图形的方式表达数据处理系统中信息的变换和传递过程。与数据流图配合使用的是数据词典,它
19、对数据流图中出现的所有数据元素给出逻辑定义。有了数据词典,使得数据流图上的数据流、加工和文件得到确切的解释。 通常在数据流图中,可能出现 4种基本符号,数据流、加工、数据存储、外部实体 (数据源及数据终点)。数据流是具有名字和流向的数据,在数据流图中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。外部实体位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。图 4-4所示是一个典型的数据流图示例。 从理论上来说,数据流图可只有一个也可以有多个。但是,一般情
20、况下,为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。稍为复杂的实际问题,在数据流图上常常出现十几个甚至几十个加工。这样的数据流图看起来很不清楚。层次结构的数据流图能很好地解决这一问题。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。 图 4-5所示为分层数据流图的示例。数据处理 S包括三个子系统 1、2、3。顶层下面的第一层数据流图为 DFDL1。第二层数据流图 DFDL21、DFDL22 及 DFDL23 分别是子系统 1、2 和 3的细化。对任何一层数据流图来说,我们称它的上层图为父图,在它下一层的图则称为子图。 画数据流图
21、的基本步骤概括地说,就是“自顶向下逐层分解”。检查和修改的原则为: (1)数据流图上所有图形符号只限于前述 4种基本图形元素。 (2)顶层数据流图必须包括前述 4种基本元素,缺一不可。 (3)顶层数据流图上的数据流必须封闭在外部实体之间。 (4)每个加工至少有一个输入数据流和一个输出数据流。 (5)在数据流图中,需按层给框加编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。7.下列关于内聚和耦合的描述中,错误的是(6)。(分数:2.00)A.内聚体现的是代码功能的集中程度B.耦合体现的是模块间联系的紧密程度C.通信内聚比逻辑内聚的内聚度更高D.数据耦合比公共耦合的耦合度更高 解
22、析:解析:本题主要考查内聚与耦合的概念。高内聚、低耦合是软件设计的一个原则,其中内聚是指模块内部各元素之间联系的紧密程度,也就是代码功能的集中程度。耦合是指模块之间相互联系的紧密程度。模块的内聚类型通常可以分为 7种,根据内聚度从高到低排序如表 4-1所示。 模块的耦合性类型通常分为 7种,根据耦合度从低到高排序如表 4-2所示。8.下列选项中,不属于可用性子特性的是(7)。(分数:2.00)A.可理解性B.易学性C.依从性 D.可操作性解析:解析:本题主要考查 ISOIEC9 126 的软件质量模型。其 6个质量特性和 21个质量子特性是我们要理解的内容。 (1)功能性。 功能性是指与软件所
23、具有的各项功能及其规定性质有关的一组属性,包括:适合性:与规定任务能否提供一组功能以及这组功能的适合程度有关的软件属性。适合程度的例子是面向任务系统中由子功能构成的功能是否合适、表容量是否合适等。 准确性:与能否得到正确或相符的结果或效果有关的软件属性。此属性包括计算值所需的准确程度。 互操作性(互用性):与同其他指定系统进行交互的能力有关的软件属性。为避免可能与易替换性的含义相混淆,此处用互操作性(互用性)而不用兼容性。 依从性:使软件遵循有关的标准、约定、法规及类似规定的软件属性。 安全性:与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性。 (2)可靠性。 可靠性是指在规定运
24、行条件下和规定时间周期内,与软件维护其性能级别的能力有关的一组属性。可靠性反映的是软件中存在的需求错误、设计错误和实现错误而造成的失效情况,包括: 成熟性:与由软件故障引起失效的频度有关的软件属性。 容错性:与在软件故障或违反指定接口的情况下,维持规定的性能水平的能力有关的软件属性。指定的性能水平包括失效防护能力。 可恢复性:与在失效发生后,重建其性能水平并恢复直接受影响数据的能力以及为达此目的所需的时间和努力有关的软件属性。 (3)可用性。 可用性是指根据规定用户或隐含用户的评估所作出的与使用软件所需要的努力程度有关的一组属性,包括: 可理解性:与用户为认识逻辑概念及其应用范围所花的努力有关
25、的软件属性。 易学性:与用户为学习软件应用(如运行控制、输入、输出)的努力有关的软件属性。 可操作性:与用户为操作和运行控制的努力有关的软件属性。 (4)效率。 效率是指在规定条件下,与软件性能级别和所用资源总量之间的关系有关的一组属性。包括: 时间特性:与软件执行其功能时响应和处理时间以及吞吐量有关的软件属性。 资源特性:与在软件执行其功能时所使用的资源数量及其使用时间有关的软件属性。 (5)可维护性。 可维护性是指与对软件进行修改的难易程度有关的一组属性,包括: 可分析性:与为诊断缺陷或失效原因及为判定待修改的部分所需努力有关的软件属性。 可改变性:与进行修改、排除错误或适应环境变化所需努
26、力有关的软件属性。 稳定性:与修改所造成的未预料结果的风险有关的软件属性。 可测试性:与确认已修改软件所需的努力有关的软件属性。此子特性的含义可能会被研究中的修改加以改变。 (6)可移植性。 可移植性是指与一个软件从一个环境转移到另一个环境运行的能力有关的一组属性。包括:适应性:与软件无须采用为该软件准备的活动或手段就可能适应不同的规定环境有关的软件属性。 可安装性:与在指定环境下安装软件所需努力有关的软件属性。 遵循性(一致性):使软件遵循与可移植性有关的标准或约定的软件属性。 可替换性:与软件在该软件环境中用来替代指定的其他软件的机会和努力有关的软件属性。为避免可能与互操作性(互用性)的含
27、义相混淆,此处用可替换性而不用兼容性。特定软件的可替换性并不隐含此软件可由所考虑的软件所替代。可替换性可能包含可安装性和适应性这两个属性。由于此概念的重要性,它已被采用作为一个独立的子特性。9.以下关于开发模型的描述中,不正确的是(8)。(分数:2.00)A.软件开发模型是指软件开发全部过程、活动和任务的结构框架B.喷泉模型主要用于描述面向对象的开发过程C.瀑布模型严格规定了各阶段必须提交的文档D.螺旋模型结合了瀑布模型和快速原型模型的优点 解析:解析:瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入到下一阶段,整个模型就像一个飞流直下的
28、瀑布。瀑布模型有许多优点:可强迫开发人员采用规范的方法;严格规定了各阶段必须提交的文档;要求每个阶段结束后,都要进行严格的评审。但瀑布模型过于理想化,而且缺乏灵活性,无法在开发过程中逐渐明确用户难以确切表达或一时难以想到的需求,直到软件开发完成之后才发现与用户需求有很大距离,此时必须付出高额的代价才能纠正这一偏差,这一开发模型主要适用于需求非常明确的应用。 喷泉模型主要用于描述面向对象的开发过程,喷泉一词体现了面向对象开发过程的迭代和无间隙特征。迭代意味着模型中的开发活动常常需要多次重复,每次重复都会增加或明确一些目标系统的性质,但却不是对先前工作结果的本质性改动。无间隙是指在开发活动(如分析
29、、设计、编程)之间不存在明显的边界,而是允许各开发活动交叉、迭代地进行。 快速原型模型对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。原型化人员对原型的实施很重要,衡量他们的重要标准是能否从用户的模糊描述中快速地获取实际的需求。 演化模型也是一种原型化开发方法,但与快速原型模型略有不同。在快速原型模型中,原型的用途是获知用户的真正需求,一旦需求确定了,原型即被抛弃。而演化模型的开发过程,则是从初始模型逐步演化为最终软件
30、产品的渐进过程。也就是说,快速原型模型是一种“抛弃式”的原型化方法,而演化模型则是一种“渐进式”的原型化方法。 螺旋模型结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制订计划、风险分析、实施工程、客户评估这循环组成的,它最初从概念项目开始第一个螺旋,这种开发模型将风险分析作为一个单独的阶段来做,比较适合风险较大的大中型的软件开发项目。10.希赛公司的财务系统功能基本完善,但由于系统比较老旧,需要二次开发,这时应该采用(9)。(分数:2.00)A.原型法B.瀑布模型 C.V-模型D.螺旋模型解析:解析:结合试题 8的分析,可以知道,原型法适用于需求不明确的开发,瀑布模型适
31、用于需求明确的开发,而螺旋模型适用于风险较大的大中型开发项目。在本题中,财务系统是已经存在的,而且功能完善,因此如果做二次开发的话,其基本需求应该是明确的,这个时候应该采用瀑布模型开发。11.UP的基本特征是“用例驱动、以架构为中心的和受控的迭代式增量开发”。UP 将一个周期的开发过程划分为 4个阶段,其中(10)开发剩余的构件。(分数:2.00)A.初始阶段B.精化阶段C.构建阶段 D.提交阶段解析:解析:统一过程(UP)的基本特征是“用例驱动、以架构为中心的和受控的迭代式增量开发”。一个UP可分为若干个周期,每个周期的开发过程被分为 4个阶段,每个阶段可进行若干次迭代。 UP 将一个周期的
32、开发过程划分为如下的 4个阶段。 (1)初始阶段:该阶段的主要任务包括确定项目范围和边界,识别系统的关键用例,展示系统的侯选架构,估计项目费用和时间,评估项目风险。其意图是建立项目的范围和版本,确定业务实现的可能性和项目目标的稳定性。提交结果包括原始的项目需求和业务用例。 (2)精化阶段:该阶段的主要任务包括分析系统问题领域,建立软件架构基础,淘汰最高风险元素。其意图是对问题域进行分析,建立系统的需求和架构,确定技术实现的可行性和系统架构的稳定性。提交结果包括系统架构及其相关文档、领域模型、修改后的业务用例和整个项目的开发计划。 (3)构建阶段:该阶段相对简单一些,其主要任务包括资源管理、控制
33、和流程优化,开发剩余的构件,然后进行构件组装和测试等。其主要意图是增量式地开发一个可以交付用户的软件产品。 (4)提交阶段:该阶段的主要任务包括进行 测试,制作发布版本,用户文档定稿,确认新系统,获取用户反馈,培训、调整产品使最终用户可以使用产品。其主要意图是将软件产品提交用户。 从以上描述中可以看出,在构建阶段才开发剩余的构件,所以正确答案为 C。12.某服务器软件系统能够正确运行并得出计算结果,但存在“系统出错后不能在要求的时间内恢复到正常状态”和“对系统进行二次开发时总要超过半年的时间”两个问题,上述问题依次与质量属性中的(11)相关。(分数:2.00)A.可用性和性能B.性能和可修改性
34、C.性能和可测试性D.可用性和可修改性 解析:解析:本题主要考查软件质量属性的判断与应用。 “系统出错后不能在要求的时间内恢复到正常状态”,这是对系统错误恢复能力的描述,属于系统可用性的范畴。“对系统进行二次开发时总要超过半年的时间”,这是对系统进行调整和维护方面能力的描述,属于系统可修改性的范畴。13.在新旧系统转换的过程中,在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为(12)。(分数:2.00)A.位置转换B.直接转换C.并行转换D.分段转换 解析:解析:本题主要考查系统转换的概念。 新老系统之间的转换有三种方式:直接转换、并行转换和分段转换。下面详细介绍这三种转换各自的特点
35、。 直接转换就是在确定新系统运行无误时,立刻启用新系统,终止老系统运行。这种方式对人员、设备费用很节省,一般适用于处理过程不太复杂、数据不很重要的场合。 并行转换是让新老系统并行一段时间,经过一段时间的考验以后,新系统正式替代老系统。对于较复杂的大型系统,它提供了一个与老系统运行结果进行比较的机会,可以对新老两个系统并行工作,消除了尚未认识新系统时的紧张和不安。在银行、财务和一些企业的核心系统中,这是一种经常使用的转换方式。它的主要特点是安全、可靠,但费用和工作量都很大,因为在相当的长时间内系统要两套班子并行工作。 分段转换又称逐步转换、向导转换、试点过渡法等。这种转换方式实际上是以上两种转换
36、方式的结合。在新系统全部正式运行前,一部分一部分地代替老系统。那些在转换过程中还没有正式运行的部分,可以在一个模拟环境中继续试运行。这种方式既保证了可靠性,又不至于费用太大。但是这种分段转换要求子系统之间有一定的独立性,对系统的设计和实现都有一定的要求,否则就无法实现分段转换的设想。 由此可以看出题目所说的“在新系统全部正式运行前,一部分一部分地代替旧系统的策略”是分段转换。14.CMM将软件过程的成熟度分为 5个等级。以下关于 CMM各级别特征的描述中,不正确的是(13)。(分数:2.00)A.处于初始级的软件过程可能是混乱的,项目成功往往依赖于个人B.管理级的最大特征是软件过程和产品质量有
37、详细的度量标准C.定义级的最大特征是软件过程文档化,并能持续地进行过程改进 D.可重复级能实现对成本、进度和功能特性的跟踪解析:解析:CMM 模型将软件过程的成熟度分为 5个等级。 (1)初始级:软件过程的特点是无秩序的,有时甚至是混乱的。软件过程定义几乎处于无章法和步骤可循的状态,软件产品所取得的成功往往依赖极个别人的努力和机遇。初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许,有些企业制订了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证,那么仍然被视为初始级。 (2)可重复级:已经建立了基本的项目管理过程,可用于对成本、进
38、度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往所取得的成功。焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐演化和成熟。从管理角度可以看到一个按计划执行的、阶段可控的软件开发过程。 (3)定义级:用于管理和工程的软件过程均已文档化、标准化,并形成整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。要求制定企业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,剪裁出与项目适宜的过程,并执行这些过程。过程
39、的剪裁不是随意 的,在使用前需经过企业有关人员的批准。 (4)管理级:软件过程和产品质量有详细的度量标准。软件过程和产品质量得到了 定量的认识和控制。 (5)优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地进行过程改进。15.下面有关测试的说法中,正确的是(14)。(分数:2.00)A.软件测试的目的是发现程序中所有错误B.测试人员应该在软件开发结束后立即开始测试C.要根据软件详细设计中设计的各种合理数据设计测试用例D.对发现错误较多的程序段,应进行更深入的测试 解析:解析:本题主要考查软件测试的一些基础知识。 软件测试的目的就是在软件投入生产性运行之前
40、,尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。而根据理论推测,是不可能发现软件中所以错误的。而一个高效的测试是指用少量的测试用例,发现被测软件尽可能多的错误。软件测试所追求的目标是以尽可能少的时间和人力发现软件产品中尽可能多的错误。 另外,在做软件测试时,要注意以下准则:(1)应该尽早地、不断地进行软件测试,把软件测试贯穿于开发过程的始终。 (2)所有测试都应该能追溯到用户需求。从用户的角度看,最严重的错误是导致软件不能满足用户需求的那些错误。 (3)应该从“小规模”测试开始,并逐步进行“大规模”测试。 (4)应该远在测试之前就制定出测试计划。 (5)根据Pareto原理,80的错误
41、可能出现在 20的程序模块中,测试成功的关键是怎样找出这 20的模块,因此,对发现错误较多的程序段,应进行更深入的测试。 (6)应该由独立的第三方从事测试工作。 (7)对非法和非预期的输入数据也要像合法的和预期的输入数据一样编写测试 用例。 (8)检查软件是否做了应该做的事仅是成功的一半,另一半是看软件是否做了不该做的事。 (9)在规划测试时不要设想程序中不会查出错误。 (10)测试只能证明软件中有错误,不能证明软件中没有错误。16.如果要验证程序某模块能否与其他模块按照规定方式正确工作,需要进行(15)。(分数:2.00)A.单元测试B.集成测试 C.确认测试D.系统测试解析:解析:单元测试
42、也称模块测试,通常可放在编程阶段,由程序员对自己编写的模块自行测试,检查模块是否实现了详细设计说明书中规定的功能和算法。单元测试主要发现编程和详细设计中产生的错误,单元测试计划应该在详细设计阶段制订。单元测试期间着重从以下几个方面对模块进行测试:模块接口、局部数据结构、重要的执行通路、出错处理通路、边界条件等。 集成测试也称组装测试,它是对由各模块组装而成的程序进行测试,主要目标是发现模块间的接口和通信问题,验证模块间是否按照规定的方式正确工作。例如,数据穿过接口可能丢失;一个模块对另一个模块可能由于疏忽而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看来是可以接受的误差可能积累到
43、不能接受的程度;全程数据结构可能有问题等。集成测试主要发现设计阶段产生的错误,集成测试计划应该在概要设计阶段制定。 确认测试主要依据软件需求说明书检查软件的功能、性能及其他特征是否与用户的需求一致。确认测试计划应该在需求分析阶段制定。一般情况下,通过确认测试后的软件就可以交付使用了。 系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统子系统设计文档和软件开发合同规定的要求。系统测试的技术依据是用户需求或开发合同,除应满足一般测试的准入条件外,在进行系统测试前,还应确认被测系统的所有配置项已通过测试,对需要固化运行的
44、软件还应提供固件。17.下面关于软件测试的描述中,不正确的是(16)。(分数:2.00)A. 测试不需要用户参与,而 测试需要用户参与 B.白盒测试能测试到程序的内部结构和处理算法C.软件发生变更后,都需要进行回归测试D.黑盒测试包括边界值分析、错误推测等测试方法解析:解析:本题主要考查软件测试的基本知识。 白盒测试又称结构测试,主要用于单元测试阶段。它把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。 黑盒测试又称功能测试,主要用于集成测试和确认测试阶段。它把软件看作一个不透明的黑盒子,完全不了解软件的内部结构和处理算法,它只检查软件功能是否能按照软件需求说明书的要求正常
45、使用,软件是否能适当地接收输入数据并产生正确的输出信息,软件运行过程中能否保持外部信息的完整性等,常见的黑盒测试方法包括等价类划分、边值分析、错误推测和因果图等。 测试是用户在开发者的场所由开发者指导完成的测试。开发者负责记录发现的错误和使用中遇到的问题,换句话说, 测试是在“受控的”环境中进行的。 测试是在一个或多个用户的现场由该软件的最终用户实施的,开发者通常不在现场,用户负责记录发现的错误和使用中遇到的问题并把这些问题报告给开发者。也就是说, 测试是在“非受控的“环境中进行的。 回归测试是测试软件变更之后,变更部分的正确性和对变更需求的符合性,以及软件原有的、正确的功能、性能和其他规定的
46、要求的不损害性,因此,只要软件发生了变更,都应该进行相应的回归测试。18.下列关于极限编程(XP)的叙述中,不正确的是(17)。(分数:2.00)A.极限编程注重用户反馈B.极限编程提倡减少文档C.极限编程的 4大价值观是沟通、变更、反馈、勇气 D.简单设计是极限编程的十二个最佳实践之一解析:解析:极限编程是一种敏捷开发方法。其他敏捷方法还有自适应开发、水晶方法、特性驱动开发等,它们都有一个共同的特点,那就是都将矛头指向了“文档”,它们认为传统的软件工程方法文档量太“重”了,称为“重量级”方法,而相应的敏捷方法则是“轻量级”方法。 在极限编程方法中,提出了四大价值观:沟通、简单、反馈、勇气。五
47、大原则:快速反馈、简单性假设、逐步修改、提倡更改、优质工作。还有十二个最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、集体代码所有制、结对编程、每周工作 40小时、持续集成、编码标准和现场客户。19.软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档。其中用户文档不包括(18)。(分数:2.00)A.编译手册 B.使用手册C.维护手册D.用户报告解析:解析:本题考查软件工程的文档知识,是常考的知识点。 软件文档也称文件,通常指的是一些记录的数据和数据媒体,它具有固定不变的形式,可被人和计算机阅读。它和计算机程序共同构成了能完成特定功能的计算机软件(有人把源程序也当作
48、文档的一部分)。我们知道,硬件产品和产品资料在整个生产过程中都是有形可见的,软件生产则有很大不同,文档本身就是软件产品。没有文档的软件,不成其为软件,更谈不到软件产品。软件文档的编制在软件开发工作中占有突出的地位和相当的工作量。高效率、高质量地开发、分发、管理和维护文档对于转让、变更、修正、扩充和使用文档,对于充分发挥软件产品的效益有着重要意义。 软件文档可以分开发文档、管理文档和用户文档三大类。 开发文档包括功能要求、投标方案、需求分析、技术分析、系统分析、数据库文档、功能函数文档、界面文档、编译手册、QA 文档、项目总结等。 管理文档包括产品简介、产品演示、疑问解答、功能介绍、技术白皮书、评测报告等。 用户文档包括安装手册、使用手册、维护手册、用户报告、销售培训等。 综上所述,可知本题的答案选 A。20.如果两个小组独立地测试同一个程序,第一组发现 60个错误,第二组发现 50个错误,在两个小组发现的错误中有 30个是共同的,那么可以估计程序中的错误总数是(19)个。(分数:2.00)A.50B.60C.100 D.120解析:解析:本题考查我们对软件测试策略的理解。对于这类题的求解,我们首先要求解出每组发现错误的效率,然后用其发现的错误数除以效率,就可以估算出总的错误数。 对