软件设计师软件设计师考试冲刺(习题与解答)第4章软件工程从历年的考试试题来看,本章的考点在综合知识考试中的平均分数为11分,约为总分的14.67%.主要分数集中在软件开发模型、软件开发方法、软件测试、软件模块划分、软件质量要求、软件项目管理等这些知识点上。4.1考点提炼根据考试大纲,本章要求考生掌握以下几个方面的知识点。软件工程知识:软件生存周期与软件生存周期模型、软件开发方法、软件开发项目管理、软件开发工具与软件开发环境。系统分析基础知识:系统分析的主要步骤、机构化分析方法。系统设计基础知识:概要设计与详细设计的基本任务、系统设计的基本原理、系统模块结构设计、结构化设计方法、面向数据结构的设计方法、系统详细设计。系统实施基础知识:系统实施的基本内容、程序设计方法、程序设计的基本模块、系统测试、系统转换。系统运行和维护基础知识:系统可维护性的概念、系统维护的类型、系统评价的概念和类型软件质量管理基础知识:软件质量特性(ISO/IEC9126软件质量模型)、软件质量保证、软件复杂性的概念及度量方法(McCabe度量法)、软件评审(设计质量评审、程序质量评审)、软件容错技术。软件过程改进基础知识:软件能力成熟度模型CMM、统一过程(UP)与极限编程(XP)软件设计师的基本概念。但结合历年考试真题来看,希赛教育的软考专家认为,考生必须要掌握以下几个方面的内容:1、软件生命周期在软件生命周期这个知识点,涉及的考点有:软件生命周期的定义、软件生命周期的划分、各阶段的任务(重点)。2、软件开发模型软件开发模型基本是每次考试的一个必考知识点,涉及的考点有:瀑布模型、原型模型、演化模型、喷泉模型、增量模型、螺旋模型、基于构件的模型、统一过程等软件模型的特点及适用环境。3、软件开发方法论在软件开发方法这部分,涉及的考点有:结构化开发方法、面向对象开发方法、模块设计的原则(重点)、7种内聚的理解、7种耦合的理解、软件开发各阶段的常用工具(如数据流图、程序流程图等等)、开发文档。4、软件测试在软件测试这部分,涉及的考点有:软件测试的目的、软件测试的准则、软件测试的分类、白盒测试(语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合条件覆盖和路径覆盖)、黑盒测试(等价类划分、边界值分析)。5、软件维护在软件维护部分,我们重点要掌握软件维护的四种分类:改正性维护、完善性维护、适应性维护和预防性维护,另外需要了解软件的可维护性(可理解性、可测试性、可修改性)、软件设计师软件维护的管理。6、软件质量管理在软件质量管理部分,涉及的考点有:软件质量特性(重点掌握ISO/IEC9126软件质量模型、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.数据流图是用来作为结构化分析建模的一种工具软件设计师传统的数据流图中主要包含加工、外部实体、数据流、数据存储、控制流五种基本构件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.喷泉模型主要用于描述面向对象的开发过程软件设计师瀑布模型严格规定了各阶段必须提交的文档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.50B.60C.100D.1204.2.20例题20例题20某企业根据业务需要,希望软件系统能提供柱状图的报表,这时对该软件系统进行的维护属于__(20)__维护。(20)A.正确性B.完善性C.适应性D.预防性4.2.21例题21例题21在某教师管理系统中,教师的级别有教授、副教授、讲师,且教师年龄在25~60岁。若用等价类划分来进行相关测试,则__(21)__不是好的测试用例。(21)A.(博士,30)B.(教授,40)C.(副教授,70)D.(博士,62)4.2.22例题22例题22软件设计师采用McCabe度量法计算如图4-1所示的程序图的环路复杂性为__(22)__.图4-1程序流程图(22)A.3B.4C.5D.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.2B.3C.4D.54.2.25例题25例题25定义风险参照水准是__(25)__活动常用的技术。(25)A.风险识别B.风险预测C.风险评估D.风险控制4.2.26例题26例题26在进行软件工程风险分析时,项目管理人员要进行4种风险评估活动,这4种风险活动是__(26)__以及确定风险估计的正确性。(26)A.建立表示风险概率的尺度,描述风险引起的后果,估计风险影响的大小B.建立表示风险概率的尺度,描述风险引起的后果,确定产生风险的原因C.确定产生风险的原因,描述风险引起的后果,估计风险影响的大小D.建立表示风险概率的尺度,确定产生风险的原因,估计风险影响的大小软件设计师例题27例题27在下列说法中,__(27)__是造成软件危机的主要原因。①用户使用不当②软件本身特点③硬件不可靠④对软件的错误认识⑤缺乏好的开发方法和手段⑥开发效率低(27)A.①③⑥B.①②④C.③⑤⑥D.②⑤⑥4.2.28例题28例题28在软件设计阶段,划分模块的原则是:一个模块的__(28)__.(28)A.作用范围应该在其控制范围之内