欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】软件设计师-软件工程及答案解析.doc

    • 资源ID:1340455       资源大小:102KB        全文页数:17页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】软件设计师-软件工程及答案解析.doc

    1、软件设计师-软件工程及答案解析(总分:35.00,做题时间:90 分钟)软件设计包括四个既独立又相互联系的活动,分别为 (1) 、 (2) 、数据设计和过程设计。(分数:2.00)A.用户手册设计B.语言设计C.体系结构设计D.文档设计A.文档设计B.程序设计C.实用性设计D.接口设计1.选择一个适当的测试用例,用以测试图 2-21 所示的程序,能达到判定覆盖的是(分数:1.00)A.B.C.D.如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误, (1) 测试是由软件的最终用户在一个或多个用户实际使用环境下来进行的。 (2) 测试是由一个

    2、用户在开发者的场所来进行的。测试的目的是寻找错误的原因并改正之。(分数:2.00)A.AlphaB.BetaC.GammaD.DeltaA.AlphaB.BetaC.GammaD.Delta2. (1) 是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的_上。(分数:1.00)A.版本记录B.还原点C.基线D.变更点3.瀑布模型把软件生命周期划分为三个阶段,它们分别是:计划阶段、开发阶段和_。(分数:1.00)A.可行性分析阶段B.运行阶段C.详细计划阶段D.测试与排错阶段4.软件工程方法学的三要素是_。方法 项目管理 过程 开发语言

    3、 工具(分数:1.00)A.B.C.D.5.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定_。(分数:1.00)A.模块间的操作细节B.模块间的相似性C.模块间的组成关系D.模块的具体功能6.进行软件测试的目的是_。(分数:1.00)A.尽可能多地找出软件中的缺陷B.缩短软件的开发时间C.减少软件的维护成本D.证明程序没有缺陷7.如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为_模块。(分数:1.00)A.功能内聚B.顺序内聚C.通信内聚D.过程内聚8.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是_。(分数:1.0

    4、0)A.Gantt 图B.PERT 网图C.因果分析图D.流程图软件维护工作越来越受到重视,因为它的花费常常要占软件生存周期全部花费的 (1) %左右。其工作内容为 (2) 。为了减少维护工作的困难,可以考虑采取的措施是 (3) 。而软件的可维护性包含 (4) 。所谓维护管理主要指的是 (5) 等。(分数:5.00)A.1020B.2040C.6080D.90 以上A.纠正与修改软件中含有的错误B.因环境已发生变化,软件需作相应的变更C.为扩充功能,提高性能而做的变更D.包括上述各点内容A.设法开发出无错的软件B.增加维护人员数量C.切实加强维护管理,并在开发过程中就采取有利于未来维护的措施D

    5、.限制修改的范围A.正确性、灵活性、可移植性B.可测试性、可理解性、可修改性C.可靠性、可复用性、可用性D.灵活性、可靠性、高效性A.加强需求分析B.重新编码C.判定修改的合理性并审查修改质量D.加强维护人员管理软件能力成熟度模型(Capability Maturity Model,CMM)描述和分析了软件过程能力的发展与改进的程度,确立了一个软件过程成熟程度的分级标准。在初始级,软件过程定义几乎处于无章法可循的状态,软件产品的成功往往依赖于个人的努力和机遇。在 (1) ,已建立了基本的项目管理过程,可对成本、进度和功能特性进行跟踪。在 (2) ,用于软件管理与工程两方面的软件过程均已文档化、

    6、标准化,并形成了整个软件组织的标准软件过程。在已管理级,对软件过程和产品质量有详细的度量标准。在 (3) ,通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对过程进行改进。(分数:3.00)A.可重复级B.管理级C.功能级D.成本级A.标准级B.已定义级C.可重复级D.优化级A.分析级B.过程级C.优化级D.管理级9.下述任务中,不属于软件工程需求分析阶段的是_。(分数:1.00)A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台10.代码走查(code walkthrough)和代码审查(code insp

    7、ection)是两种不同的代码评审方法,这两种方法的主要区别是_。(分数:1.00)A.在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动B.在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性C.在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩D.代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的11.螺旋模型的开发实施和_基本相吻合。(分数:1.00)A.智能模型B.快速原型模型C.喷泉模型D.V 模型12.应该在_阶段制定系统测试计划。(分数:1.00)A.需求分析B.概要设计C

    8、.详细设计D.系统测试13.在面向数据流的设计方法中,一般把数据流图中的数据划分为_两种。(分数:1.00)A.数据流和事务流B.变换流和数据流C.变换流和事务流D.控制流和事务流软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了 (1) 。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对 (2) 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个 (3) 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。(分数:3.00)A.版本管B.可行性分析C.风险分析D.系统集成A.系统B.计划C.风险D.工程A

    9、.原型项目B.概念项目C.改进项目D.风险项目14.用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为_工具。(分数:1.00)A.CADB.CAIC.CAMD.CASE15.一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其它故障,这时应该进行_。(分数:1.00)A.程序走查B.退化测试C.软件评审D.接收测试16.瀑布模型(Waterfall Model)突出的缺点是不能适应_的变动。(分数:1.00)A.算法B.开发或应用平台C.程序语言D.用户需求17.软件的测试通常分单元测试、组装测试、确认测试、系统测试四个阶段进行。_属于确认测试阶

    10、段的活动。(分数:1.00)A.设计评审B.代码审查C.结构测试D.可靠性测试18.软件设计一般分为外部设计和内部设计,它们之间的关系是_。(分数:1.00)A.全局和局部B.抽象和具体C.总体和层次D.没有关系在系统转换的过程中,旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略称为 (1) ;在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为 (2) 。(分数:2.00)A.直接转换B.位置转换C.分段转换D.并行转换A.直接转换B.位置转换C.分段转换D.并行转换软件设计师-软件工程答案解析(总分:35.00,做题时间:90 分钟)软件设计包括四个既独立又相互联系的活动,

    11、分别为 (1) 、 (2) 、数据设计和过程设计。(分数:2.00)A.用户手册设计B.语言设计C.体系结构设计 D.文档设计解析:A.文档设计B.程序设计C.实用性设计D.接口设计 解析:软件设计包括体系结构设计、接口设计、数据设计和过程设计。系统设计的四方面内容是:体系结构设计、模块设计、数据结构与算法设计、接口设计(用户界面设计、内外部接口设计)。1.选择一个适当的测试用例,用以测试图 2-21 所示的程序,能达到判定覆盖的是(分数:1.00)A.B.C. D.解析:首先要搞清楚什么是条件,什么是判定,以“A OR B”为例,单个的 A 或者 B 是一个条件,而“A OR B”才是判定。

    12、所谓判定覆盖,就是指设计的测试用例能使得程序中的每个判定的真值分支和假值分支至少经过一次,因此,判定覆盖亦称分支覆盖。A、B、D 选项中测试用例显然只覆盖了“A OR B”真值分支。如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误, (1) 测试是由软件的最终用户在一个或多个用户实际使用环境下来进行的。 (2) 测试是由一个用户在开发者的场所来进行的。测试的目的是寻找错误的原因并改正之。(分数:2.00)A.AlphaB.Beta C.GammaD.Delta解析:A.Alpha B.BetaC.GammaD.Delta解析:大型通用软件

    13、在正式发布前,通常需要执行 Alpha 和 Beta 测试,目的是从实际终端用户的使用角度,对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。Alpha 测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试。Alpha 测试不能由程序员或测试员完成。Alpha 测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。Alpha 测试的目的是评价软件产品的功能、可使用性、可靠性、性能和支持,尤其注重产品的界面和特色。Alpha 测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程

    14、中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在 A1pha 测试前准备好。Beta 测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场。Beta 测试不能由程序员或测试员完成。因此,Beta 测试是在开发者无法控制的环境下进行的软件现场应用。在 Beta 测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的问题,定期向开发者报告;开发者在综合用户的报告后做出修改,最后将软件产品交付给全体用户使用。Beta 测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当 Alpha 测试达到一定的可靠程度后,才能开始Beta

    15、 测试。由于 Beta 测试的主要目标是测试可支持性,因此 Beta 测试应该尽可能由主持产品发行的人员来管理。由于 Alpha 和 Beta 测试的组织难度大,测试费用高,测试的随机性强、测试周期跨度较长,测试质量和测试效率难于保证,因此,很多专业软件可能不再进行 Beta 测试。随着测试技术的提高以及专业测试服务机构的大量涌现,很多软件的 Beta 测试外包给这些专业测试机构进行测试。2. (1) 是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的_上。(分数:1.00)A.版本记录B.还原点C.基线 D.变更点解析:基线是软件生

    16、存期中各开发阶段的一个特定点,它的作用是把各开发阶段的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查和肯定阶段成果。3.瀑布模型把软件生命周期划分为三个阶段,它们分别是:计划阶段、开发阶段和_。(分数:1.00)A.可行性分析阶段B.运行阶段 C.详细计划阶段D.测试与排错阶段解析:瀑布模型的软件生命周期分为计划阶段、开发阶段和运行阶段(即维护阶段)三个大的阶段,这三个阶段又可细分为:可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试、运行维护几个小的阶段。4.软件工程方法学的三要素是_。方法 项目管理 过程 开发语言 工具(分数:1.00)A.B.C.D. 解析:软件工

    17、程方法学包含三个要素:方法、工具和过程。方法是指完成软件开发的各项任务的技术方法;工具是指为运用方法而提供的软件工程支撑环境;过程是指为获得高质量的软件所需要完成的一系列任务的框架。5.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定_。(分数:1.00)A.模块间的操作细节B.模块间的相似性C.模块间的组成关系 D.模块的具体功能解析:这里所说的软件设计其实指概要设计,其主要任务就是:合理划分模块,并追求更高的内聚度和更低的耦合度。6.进行软件测试的目的是_。(分数:1.00)A.尽可能多地找出软件中的缺陷 B.缩短软件的开发时间C.减少软件的维护成本D.证

    18、明程序没有缺陷解析:进行软件测试的目的是想以最少的时间和人力找出软件中潜在的各种错误和缺陷,而不是证明程序没有缺陷。7.如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为_模块。(分数:1.00)A.功能内聚B.顺序内聚C.通信内聚 D.过程内聚解析:一般模块的内聚性分为七种,如图 2-28 所示。*(1)功能内聚(Functional Cohesion)。一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作、紧密联系、不可分割的,则称该模块为功能内聚模块。它是内聚程度最高的,也是模块独立性最强的模块。功

    19、能内聚模块的优点是容易修改和维护,因为它们的功能是明确的,模块间的耦合是简单的。但是,如果把一个功能分成两个模块来解决,就会导致模块之间的很强的耦合,而且它们不易单独理解和实现。在把一个系统分解成模块的过程中,应当尽可能使模块达到功能内聚这一级,便于主程序的调用和控制。(2)顺序内聚(Sequential Cohesion)。模块内各组成部分和同一个功能密切相关,而且一个组成部分的输出恰好是另一组成部分的输入,这种内聚称为顺序内聚。顺序内聚强调的是一个部分的输出要作为另一个部分的输入,这样,当上一个部分没有完成时下一个部分就不能执行,即强调顺序性,必须顺序执行。由于模块内各处理元素间存在着这种

    20、逻辑联系,所以顺序内聚模块的可理解性较强。(3)通信内聚(Communication Cohesion)。如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为通信内聚模块。通常,通信内聚模块是通过数据流图来定义的。通信内聚模块的内聚程度比过程内聚模块的内聚程度要高,因为在通信内聚模块中包括了许多独立的功能。但是,由于顺序内聚模块中各功能部分使用了相同的输入/输出缓冲区,因而降低了整个系统的效率。(4)过程内聚(Procedural Cohesion)。如果一个模块内的处理是相关的,而且必须以特定次序执行,则称这个模块为过程内聚模块。使用流程图作为工具设计程序时,常常通

    21、过流程图来确定模块划分,把流程图中的某一部分划出组成模块,就得到过程内聚模块。例如,把流程图中的循环部分、判定部分、计算部分分成 3 个模块,这 3 个模块都是过程内聚模块。这类模块的内聚程度比时间内聚模块的内聚程度更强一些。另外,因为过程内聚模块仅包括完整功能的一部分,所以它的内聚程度仍然比较低,模块间的耦合程度还比较高。(5)时间内聚(Classical Cohesion)。时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行,如初始化模块和终止模块。初始化模块要为所有变量赋初值,对所有介质上的文件置初态,初始化寄存器和

    22、栈等,因此要求在程序开始执行的最初一段时间内,模块中的所有功能要全部执行一遍。时间内聚模块比逻辑内聚模块的内聚程度稍高一些。因为时间内聚模块中所有部分都要在同一时间段内执行,而且在一般情形下,各部分可以以任意的顺序执行,所以它的内部逻辑更简单,存在的开关(或判定)转移更少。(6)逻辑内聚(Logical Cohesion)。这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能。例如,根据输入的控制信息的不同,或从文件中读入一个记录,或向文件写出一个记录。这种模块是单入口多功能模块。类似的还有错误处理模块,它接收出错信号,根据不同类型的错误打印出不

    23、同的出错信息。(7)巧合内聚(Coincidental Cohesion)。巧合内聚又称为偶然内聚。模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块。例如,一些没有任何联系的语句可能在许多模块中重复多次,程序员为了节省存储,把它们抽出来组成一个新的模块,这个模块就是巧合内聚模块。这种模块的缺点首先是不易修改和维护。另外,有的书提到信息内聚模块,这种模块可完成多个功能,各个功能都在同一数据结构上操作,每一项功能有唯一的入口点。这种模块具有 4 个功能:在符号表中查找登记项;把新登记项登录到符号表中;从符号表中删除一个登记项;修改一个指

    24、定的登记项。这种模块将根据不同的要求,确定该执行哪一个功能。由于这种模块的所有功能都是基于同一个数据结构(符号表)的,因此称其为信息内聚模块。信息内聚模块可以看成是多个功能内聚模块的组合,并且达到了信息的隐蔽,即把某个数据结构、资源或设备隐蔽在一个模块内,不为别的模块所知晓。这种模块的优点是,当把程序某些方面细节隐藏在一个模块中时,各个模块的独立性就增加了。信息内聚模块的内聚程度介于功能内聚和过程内聚之间。事实上,没有必要精确确定某个模块的内聚级别,最重要的是在设计模块时力争做到高内聚,并且能够根据相关特征辨认出低内聚的模块,有能力通过修改来提高模块的内聚程度,降低模块间的耦合程度,从而获得独

    25、立性较高的模块。8.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是_。(分数:1.00)A.Gantt 图B.PERT 网图 C.因果分析图D.流程图解析:Gantt 图:以水平线段表示任务的工作阶段。线段的起点和终点分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。从甘特图上可以很清楚地看出各子任务在时间上的对比关系,并以文档编制与评审作为软件开发进度的里程碑。甘特图的优点是标明了各任务的计划进度和当前进度,能动态地反映软件开发进展情况。缺点是难以反映多个任务之间存在的复杂的逻辑关系。PERT 网图:也叫做计划评审技术。它采用网络图来描述一个项目的任务网络,不

    26、仅可以表达子任务的计划安排,还可以在任务计划执行过程中估计任务完成的情况,分析某些子任务的完成情况对全局的影响,找出影响全局的区域和关键子任务,以便及时采取措施,确保整个项目的完成。因果分析图:又叫特性要素图、树枝图和鱼刺图等,是质量管理常用工具之一。流程图:流程图是以图解方式来说明实现一个解决方案所需完成的一系列操作。软件维护工作越来越受到重视,因为它的花费常常要占软件生存周期全部花费的 (1) %左右。其工作内容为 (2) 。为了减少维护工作的困难,可以考虑采取的措施是 (3) 。而软件的可维护性包含 (4) 。所谓维护管理主要指的是 (5) 等。(分数:5.00)A.1020B.2040

    27、C.6080 D.90 以上解析:A.纠正与修改软件中含有的错误B.因环境已发生变化,软件需作相应的变更C.为扩充功能,提高性能而做的变更D.包括上述各点内容 解析:A.设法开发出无错的软件B.增加维护人员数量C.切实加强维护管理,并在开发过程中就采取有利于未来维护的措施 D.限制修改的范围解析:A.正确性、灵活性、可移植性B.可测试性、可理解性、可修改性 C.可靠性、可复用性、可用性D.灵活性、可靠性、高效性解析:A.加强需求分析B.重新编码C.判定修改的合理性并审查修改质量 D.加强维护人员管理解析:软件维护就是在软件交付使用之后直至软件被淘汰的整个时期内为了改正错误或满足新的需求而修改软

    28、件的活动。软件维护的代价是很大的,据 1994 年 Software Engineering Encyclopedia 记载,它在20 世纪 70 年代占 35%40%,在 80 年代上升到 40%60%,在 90 年代上升到 70%80%。根据以上分析,第(1)空只有选项 C 符合题意。软件维护的目的是为了改正错误或满足用户新的需求,因此纠正与修改软件中含有的错误,因环境已发生变化,对软件所做的变更以及为扩充功能,提高性能而做的变更都属于软件维护的内容。所以,第(2)空应选择 D。软件维护是一件十分困难的工作,其原因主要是由于软件需求分析和开发方法的缺陷造成的。软件开发过程中没有严格而又科学

    29、的管理和规划,便会引起软件运行时的维护困难。为了提高软件的可维护性,在软件生命周期的各个阶段都必须充分考虑维护问题。先进的软件工程方法,是软件可维护的基础保证。软件的可维护性是指理解、改正、改动、改进软件的难易程度。根据 Boehm 质量模型,通常影响软件可维护性的因素有可理解性、可测试性和可修改性。软件维护管理是指为保证维护质量、提高维护效率、控制维护成本而进行的维护过程管理,它要求对软件的每次“修改”均需经过申请、评估、批准、实施、验证等步骤。软件维护管理的核心是维护评估和维护验证。维护评估的主要工作包括:判定维护申请的合理性与轻重缓急、确定维护的可行性与时间及费用、制定维护策略与维护计划

    30、等。维护验证主要审查修改后的软件是否实现了维护目标、软件文档是否也做了相应修改等。软件能力成熟度模型(Capability Maturity Model,CMM)描述和分析了软件过程能力的发展与改进的程度,确立了一个软件过程成熟程度的分级标准。在初始级,软件过程定义几乎处于无章法可循的状态,软件产品的成功往往依赖于个人的努力和机遇。在 (1) ,已建立了基本的项目管理过程,可对成本、进度和功能特性进行跟踪。在 (2) ,用于软件管理与工程两方面的软件过程均已文档化、标准化,并形成了整个软件组织的标准软件过程。在已管理级,对软件过程和产品质量有详细的度量标准。在 (3) ,通过对来自过程、新概念

    31、和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对过程进行改进。(分数:3.00)A.可重复级 B.管理级C.功能级D.成本级解析:A.标准级B.已定义级 C.可重复级D.优化级解析:A.分析级B.过程级C.优化级 D.管理级解析:略。9.下述任务中,不属于软件工程需求分析阶段的是_。(分数:1.00)A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台 解析:需求分析的任务主要有:(1)确定软件的综合要求:系统界面,系统功能,系统性能,安全性、保密性和可靠性方面的要求,系统的运行要求,异常处理,将来的扩充和修改等。(2)分析软件系

    32、统的数据要求:基本数据元素,数据元素之间的逻辑关系,数据量,峰值等。(3)导出系统的逻辑模型。(4)修正项目开发计划。10.代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法,这两种方法的主要区别是_。(分数:1.00)A.在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动B.在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性C.在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩D.代码审查是一种正式的评审活动,而代码走查的讨论过程是

    33、非正式的 解析:静态分析中进行人工测试的主要方法有桌前检查、代码审查(会审)和走查。经验表明,使用这种方法能够有效地发现 30%到 70%的逻辑设计和编码错误。桌前检查(Desk Checking):由程序员自己检查自己编写的程序。程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析、检验,并补充相关的文档,目的是发现程序中的错误。检查项目有:检查变量的交叉引用表:重点是检查未说明的变量和违反了类型规定的变量;还要对照源程序,逐个检查变量的引用、变量的使用序列;临时变量在某条路径上的重写情况;局部变量、全局变量与特权变量的使用;检查标号的交叉引用表:验证所有标号的正确性:检查所

    34、有标号的命名是否正确;检查转向指定位置的标号是否正确。检查子程序、宏、函数:验证每次调用与被调用位置是否正确;确认每次被调用的子程序、宏、函数是否存在;检验调用序列中调用方式与参数顺序、个数、类型上的一致性。等值性检查:检查全部等价变量的类型的一致性,解释所包含的类型差异。常量检查:确认每个常量的取值和数制、数据类型;检查常量每次引用同它的取值、数制和类型的一致性;标准检查:用标准检查程序或手工检查程序中违反标准的问题。风格检查:检查在程序设计风格方面发现的问题。比较控制流:比较由程序员设计的控制流图和由实际程序生成的控制流图,寻找和解释每个差异,修改文档和校正错误。选择、激活路径:在程序员设

    35、计的控制流图上选择路径,再到实际的控制流图上激活这条路径。如果选择的路径在实际控制流图上不能激活,则源程序可能有错。用这种方法激活的路径集合应保证源程序模块的每行代码都被检查,即桌前检查应至少是语句覆盖。对照程序的规格说明,详细阅读源代码:程序员对照程序的规格说明书、规定的算法和程序设计语言的语法规则,仔细地阅读源代码,逐字逐句进行分析和思考,比较实际的代码和期望的代码,从它们的差异中发现程序的问题和错误。补充文档:桌前检查的文档是一种过渡性的文档,不是公开的正式文档,通过编写文档,也是对程序的一种下意识的检查和测试,可以帮助程序员发现和抓住更多的错误。这种桌前检查,由于程序员熟悉自己的程序和

    36、自身的程序设计风格,可以节省很多的检查时间,但应避免主观片面性。代码会审(Code Reading Review):是由若干高级管理人员、程序员和测试员组成一个会审小组,通过阅读、讨论和争议,对程序进行静态分析的过程。高级管理人员领导整个会审小组。代码会审分两步。第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为评审的依据。小组成员在充分阅读这些材料之后,进入审查的第二步:召开程序审查会。在会上,首先由程序员逐句讲解程序的逻辑。在此过程中,程序员或其他小组成员可以提出问题,展开讨论,审查错误是否存在。实践表明,程序员在讲解过程中能发现许多原来自己

    37、没有发现的错误,而讨论和争议则促进了问题的暴露。在会前,应当给会审小组每个成员准备一份常见错误的清单,把以往所有可能发生的常见错误罗列出来,供与会者对照检查,以提高会审的实效。这个常见错误清单也叫做检查表,它把程序中可能发生的各种错误进行分类,对每一类列举出尽可能多的典型错误,然后把它们制成表格,供会审时使用。这种检查表类似于本章单元测试中给出的检查表。走查(Walkthroughs):与代码会审基本相同,一般由编写代码的程序员来组织讨论,其过程分为两步。第一步也把材料先发给走查小组每个成员,让他们认真研究程序,然后再开会。开会的程序与代码会审不同,不是简单地读程序和对照错误检查表进行检查,而

    38、是让与会者“充当”计算机。即首先由测试组成员为被测程序准备一批有代表性的测试用例,提交给走查小组。走查小组开会,集体扮演计算机角色,让测试用例沿程序的逻辑运行一遍,随时记录程序的踪迹,供分析和讨论用。代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。人们借助于测试用例的媒介作用,对程序的逻辑和功能提出各种疑问,结合问题开展热烈的讨论和争议,能够发现更多的问题。11.螺旋模型的开发实施和_基本相吻合。(分数:1.00)A.智能模型B.快速原型模型 C.喷泉模型D.V 模型解析:略。12.应该在_阶段制定系统测试计划。(分数:1.00)A.需求分析 B.概要设计C.详细设计D.系统测试

    39、解析:软件测试贯穿整个软件开发周期,它包括三方面的工作:测试计划的制定、测试用例的设计以及测试的执行。这些工作的执行时间表如表 2-7 所示。表 2-7 测试执行时间表测试类型 需求概要设计详细设计编码集成测试确认测试系统测试系统测试测试计划设计测试 执行用例确认测试测试计划设计测试用例执行集成测试测试计划设计测试用例执行单元测试计划/设计执行13.在面向数据流的设计方法中,一般把数据流图中的数据划分为_两种。(分数:1.00)A.数据流和事务流B.变换流和数据流C.变换流和事务流 D.控制流和事务流解析:数据流图简称 DFD,是描述数据处理过程的一种图形工具。数据流图从数据传递和加工的角度,

    40、以图形的方式描述数据在系统流程中流动和处理的移动变换过程,反映数据的流向、自然的逻辑过程和必要的逻辑数据存储。一般把数据流图中的数据划分为变换流和事务流两种。软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了 (1) 。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对 (2) 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个 (3) 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。(分数:3.00)A.版本管B.可行性分析C.风险分析 D.系统集成解析:A.系统B.计划C.风险 D.工程解析:A.原型

    41、项目B.概念项目 C.改进项目D.风险项目解析:略。14.用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为_工具。(分数:1.00)A.CADB.CAIC.CAMD.CASE 解析:软件工具是指用于辅助软件开发、运行、维护、管理、支持等过程中的活动的软件,通常也称为CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具。CAD:Computer Aided Design,计算机辅助设计。1972 年 10 月,国际信息处理联合会(IFIP)在荷兰召开的“关于 CAD 原理的工作会议”上给出如下定义:CA

    42、D 是一种技术,其中人与计算机结合为一个问题求解组,紧密配合,发挥各自所长,从而使其工作优于每一方,并为应用多学科方法的综合性协作提供了可能。CAD 是工程技术人员以计算机为工具,对产品和工程进行设计、绘图、分析和编写技术文档等设计活动的总称。CAD 在机械制造行业的应用最早,也最为广泛。采用 CAD 技术进行产品设计不但可以使设计人员“甩掉图板”,更新传统的设计思想,实现设计自动化,降低产品的成本,提高企业及其产品在市场上的竞争能力;还可以使企业由原来的串行式作业转变为并行作业,建立一种全新的设计和生产技术管理体制,缩短产品的开发周期,提高劳动生产率。CAM:Computer Aided M

    43、anufacturing,计算机辅助制造,核心是计算机数值控制(简称数控),是一种将计算机应用于制造生产过程的技术。CAD/CAM 技术产生于 20 世纪 50 年代后期发达国家的航空和军事工业中,随着计算机软硬件技术和计算机图形学技术的发展而迅速成长起来。1989 年美国国家工程科学院将 CAD/CAM 技术评为当代(1964-1989 年)十项最杰出的工程技术成就之一。五十多年来 CAD 技术和系统有了飞速的发展,CAD/CAM 的应用迅速普及。在工业发达国家,CAD/CAM 技术的应用已迅速从军事工业向民用工业扩展,由大型企业向中小企业推广,由高技术领域的应用向日用家电、轻工产品的设计和

    44、制造普及。如今世界各大航空、航天及汽车等制造业巨头不但广泛采用 CAD/CAM 技术进行产品设计,而且投入大量的人力、物力及资金进行 CAD/CAM 软件的开发,以保持自己技术上的领先地位和国际市场上的优势。CAI:Computer Assisted Instruction,计算机辅助教学,是指利用计算机媒体帮助教师进行教学。CAI是计算机科学、教育学、心理学等多门学科交叉形成的一门综合性新兴学科,它既代表一个十分广阔的计算机应用领域,又是一项重要的教育技术。15.一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其它故障,这时应该进行_。(分数:1.00)A.程序走查B.退化测试 C

    45、.软件评审D.接收测试解析:在维护过程中,当修正一个故障以后要进行回归测试,但此处没有这个选项,所以我们要考查哪个选项是回归测试的意思。这里可以直接把 A 和 C 排除,而 D 选项的接收测试就是确认测试,所以我们选B。其实退化测试就是回归测试,只是翻译不同而已。16.瀑布模型(Waterfall Model)突出的缺点是不能适应_的变动。(分数:1.00)A.算法B.开发或应用平台C.程序语言D.用户需求 解析:瀑布模型有许多优点:可强迫开发人员采用规范的方法;严格规定了各阶段必须提交的文档;要求每个阶段结束后,都要进行严格的评审。但瀑布模型过于理想化,而且缺乏灵活性,无法在开发过程中逐渐明

    46、确用户难以确切表达或一时难以想到的需求,有时可能直到软件开发完成之后才发现与用户需求有很大距离,此时必须付出高额的代价才能纠正这一偏差。17.软件的测试通常分单元测试、组装测试、确认测试、系统测试四个阶段进行。_属于确认测试阶段的活动。(分数:1.00)A.设计评审B.代码审查C.结构测试D.可靠性测试 解析:此题考的是与测试相关的基本概念,下面是备选答案中提及的几个活动说明:设计评审:对设计方案进行正式审查,以确认其是否能够满足需求。代码审查:对源程序进行正式审查,以确认其是否满足设计的需要,以及能否达到预定的规范要求。结构测试:也称为路径测试,对软件系统内部进行逻辑测试,常使用白盒测试法。

    47、可靠性测试:验证软件是否满足需求说明书中的可靠性要求,通常使用 MTBF(平均无故障时间)、MTTR(平均修复时间)来衡量,由于是验证需求说明的内容,故在确认测试阶段完成。从以上说明可以得出题目答案为:D。此外下面这一组与测试相关的概念也是需要掌握的,请大家牢记。功能测试:在规定的一段时间内运行软件系统的所有功能,以验证软件系统有无严重错误。回归测试:用于验证软件修改后是否引出了新的错误。强度测试:检查在系统运行环境不正常到发生故障的情况下,系统可以运行到何种程度。性能测试:检查系统是否满足在需求规格说明书中规定的性能。恢复测试:证实在克服硬件故障后,系统能否继续正常工作。启动/停止测试:验证

    48、在机器启动及关机阶段,软件系统正确处理的能力。配置测试:检查计算机系统内各个设备或各种资源之间的相互连接和功能分配中的错误。安全性测试:检验系统中已有的系统安全性、保密性措施是否发挥作用,有无漏洞。可使用性测试:主要从使用的合理性、方便性等角度来对软件系统进行检查,发现人为因素或使用上的问题。可支持性测试:主要验证系统的支持策略对公司与用户是否切实可行。安装测试:目的在于查找安装过程中的错误。互连测试:验证两个或多个不同的系统之间的互连性。兼容性测试:验证软件产品在不同版本之间的兼容性。容量测试:也称为压力测试,验证系统的能力最高能达到什么程度。文档测试:检查用户文档的清晰性和精确性。表 2-6 对以上测试项目与不同测试步骤的关联性进行了总结。表 2-6 测试项目与测试步骤的关联性开发阶段的测试 产品阶段的测试测试种类 设计 单元测试模块测试集成测试部件测试确认测试测试测试验收测试系统测试设计评审 代码评审 功能测试(黑盒) 结构测试(白盒) 回归测试 可靠性测试 强度测试 性能测试 恢复测试 启动/停止测 试配置测试 安全性测试 可使用性测试 可支持性测试 安装测试 互连测试 兼容性测试 容量测试 文档测试 注:表示需要,表不建议。18.软件设计一般分


    注意事项

    本文(【计算机类职业资格】软件设计师-软件工程及答案解析.doc)为本站会员(cleanass300)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开