软件设计师考试冲刺(习题与解答)

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

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!