【计算机类职业资格】软件设计师-软件工程及答案解析.doc
《【计算机类职业资格】软件设计师-软件工程及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】软件设计师-软件工程及答案解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
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、定的登记项。这种模块将根据不同的要求,确定该执行哪一个功能。由于这种模块的所有功能都是基于同一个数据结构(符号表)的,因此称其为信息内聚模块。信息内聚模块可以看成是多个功能内聚模块的组合,并且达到了信息的隐蔽,即把某个数据结构、资源或设备隐蔽在一个模块内,不为别的模块所知晓。这种模块的优点是,当把程序某些方面细节隐藏在一个模块中时,各个模块的独立性就增加了。信息内聚模块的内聚程度介于功能内聚和过程内聚之间。事实上,没有必要精确确定某个模块的内聚级别,最重要的是在设计模块时力争做到高内聚,并且能够根据相关特征辨认出低内聚的模块,有能力通过修改来提高模块的内聚程度,降低模块间的耦合程度,从而获得独
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 软件 设计师 软件工程 答案 解析 DOC
