软件工程复习题.doc_第1页
软件工程复习题.doc_第2页
软件工程复习题.doc_第3页
软件工程复习题.doc_第4页
软件工程复习题.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一部分 选择题 1. “软件危机”是指( C) A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 2. DFD中的每个加工至少需要(D ) A. 一个输入流 B. 一个输出流 C. 一个输入或输出流 D. 一个输入流和一个输出流 3. 为了提高模块的独立性,模块之间最好是(D ) A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合 4. 下面关于PDL语言不正确的说法是(B ) A. PDL是描述处理过程怎么做 B. PDL是只描述加工做什么 C. PDL也称为伪码 D. PDL的外层语法应符合一般程序设计语言常用的语法规则 5. 详细设计与概要设计衔接的图形工具是(D ) A. DFD图 B. 程序图 C. PAD图 D. SC图 6. 不适合作为数据处理与数据库应用的语言是( D) A. SQL B. Cobol C. 4GL D. Lisp 7. 下列关于功能性注释不正确的说法是(B ) A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释 8. 下列关于效率的说法不正确的是( D) A. 效率是一个性能要求,其目标应该在需求分析时给出 B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法 C. 效率主要指处理机时间和存储器容量两个方面 D. 程序的效率与程序的简单性无关 9. 测试的关键问题是( D) A. 如何组织对软件的评审 B. 如何验证程序的正确性 C. 如何采用综合策略 D. 如何选择测试用例 10. 结构化维护与非结构化维护的主要区别在于( D) A. 软件是否结构化 B. 软件配置是否完整 C. 程序的完整性 D. 文档的完整性 11. 软件维护困难的主要原因是(C ) A. 费用低 B. 人员少 C. 开发方法的缺陷 D. 得不到用户支持 12. 可维护性的特性中,相互矛盾的是(B ) A. 可理解性与可测试性 B. 效率与可修改性 C. 可修改性和可理解性 D. 可理解性与可读性 13. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的(A)。 A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 14. 从目前情况来看,增量模型存在的主要问题是( C) A. 用户很难适应这种系统开发方法 B. 该方法的成功率很低 C. 缺乏丰富而强有力的软件工具和开发环境 D. 缺乏对开发过程中的问题和错误具有应付变化的机制 15. 下列有关软件工程的标准,属于行业标准的是(D ) A. GB B. DIN C. ISO D. IEEE 16. 下列文档与维护人员有关的有( C) A. 软件需求说明书 B. 项目开发计划 C. 概要设计说明书 D. 操作手册 17. 在屏蔽软件错误的冗错技术中,冗余附加件的构成包括( D) A. 关键程序和数据的冗余存储和调用 B. 为检测或纠正信息在运算或传输中的错误须外加的一部分信息 C. 检测、表决、切换、重构、纠错和复算的实现 D. 实现错误检测和错误恢复的程序 18. (A )是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作。 A. 质量检测 B. 软件容错 C. 软件维护 D. 系统容错 19. 表示对象相互行为的模型是(A )模型。 A. 动态模型 B. 功能模型 C. 对象模型 D. 静态模型 20. CASE工具的表示集成是指CASE工具提供相同的(B ) A. 编程环境 B. 用户界面 C. 过程模型 D. 硬件/操作系统 可行性研究要进行一次(C)需求分析。A.详细的 B。全面的 C。简化的、压缩的 D。彻底的2在下列工具与环境中(C )属于较早期的CASE。A基于信息工程CASEB人工智能CASEC结构的基于图形CASED集成的CASE环境3、系统流程图用于可行性分析中(A)的描述A当前运行系统 B。当前逻辑模型 C。目标系统 D。新系统2Putnam成本估算模型是一个( D)模型。A静态单变量 B动态单变量 C静态多变量 D动态多变量4在McCall软件质量度量模型中,(C )属于面向软件产品修改。A可靠性 B可重用性 C适应性 D可移植性5、系统流程图是描述(C)的工具A、逻辑系统B、程序系统C、体系结构D、物理系统6、(D)工具在软件详细设计过程中不采用。A、判定表B、IPO图C、PDL D、DFD图7ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是(D )ASQIC BSQMC CSQRC DSQDC8软件复杂性度量的参数包括(B )A效率 B规模 C完整性 D容错性9对象实现了数据和操作的结合,使数据和操作(C )于对象的统一体中。A结合 B隐藏 C封装 D抽象10、产生软件维护的副作用,是指(C)A、开发时的错误B、隐含的错误C、因修改软件而造成的错误D、运行时误操作11、维护中,因误删除一个标识符而引起的错误是(C)副作用A、文档B、数据C、编码D、设计12软件调试技术包括(B )A边界值分析 B演绎法 C循环覆盖 D集成测试13瀑布模型的存在问题是(B )A用户容易参与开发B缺乏灵活性C用户与开发者易沟通D适用可变需求14、可维护性的特性中相互促进的是(A)A、可理解性和可测试性B、效率和可移植性C、效率和可修改性D、效率和结构好15软件测试方法中的静态测试方法之一为( A)A计算机辅助静态分析B黑盒法C路径覆盖D边界值分析16软件生命周期中所花费用最多的阶段是(D )A详细设计 B软件编码 C软件测试 D软件维护17第一个体现结构化编程思想的程序设计语言是(B )AFORTRAN语言 BPascal语言 CC语言 DPL/1语言18、汽车有一个发动机,汽车和发动机之间的关系是(B)关系A、一般具体B、整体部分C、分类关系D、主从关系19程序的三种基本控制结构是(B )A过程、子程序和分程序B顺序、选择和重复C递归、堆栈和队列D调用、返回和转移20、在变更控制中(B)可以用来确保不同用户所执行的并发变更。A、异步控制B、同步控制C、存取控制D、基线控制21在详细设计阶段,经常采用的工具有(A )APAD BSA CSC DDFD22详细设计的结果基本决定了最终程序的( C)A代码的规模 B运行速度 C质量 D可维护性23需求分析中开发人员要从用户那里了解(A )A软件做什么 B用户使用界面 C输入的信息 D软件的规模24(D)是以提高软件质量为目的的技术活动A、技术创新B、测试C、技术创造D、技术评审25结构化程序设计主要强调的是( D)A 程序的规模B 程序的效率C 程序设计语言的先进性D 程序易读性26经济可行性研究的范围包括(C )A资源有效性 B管理制度 C效益分析 D开发风险二、填空题1、在软件开发过程中要产生大量的信息,要进行大量的修改, 协调软件开发,并使混乱减到最低程序。2、规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有 的软件。3、McCALL提出的软件质量模型包括 个软件质量特性。4、软件可维护性试题的七个质量特性是可理解性、可测试性、可修改性、可靠性、 可使用性和效率。5、为了便于对照检查,测试用例应由输入数据和预期的 两部分组成。6、程序设计语言的心理特性主要表现在 、简洁性、传统性、局部性和顺序性。7、软件结构是以 为基础而组成的一种控制层次结构。8、结构化语言是介于自然语言和 之间的一种半形式语言。 9、若年利率为I,不计复利,N年后可得钱数为F,则现在的价值P= 。10、数据流图的基本符号包括 、 、 、 。11、软件开发模型有 、 、第四代技术模型、 、构件组装模型、混合模型。12、Jackson图除了可以表达程序结构外,还可以表达 ,它首先要分析 ,并用适当的工具来描述。三、名词解释题 1、软件生存周期模型2、数据字典(DD)3、内聚性4、JSP方法5、多态性6、(1)模块;(2)模块化;(3)模块化设计。7、什么是模块独立性?用什么度量?8、静态分析技术9、软件危机10、模块化四、简答题 1、简述容错技术的四种主要手段,并解释。2、以G.J.Myers的观点,简述对软件测试的目的。3、就程序设计语言的工程特性而言,对程序编码有哪些要求?4、模块的内聚性包括哪些类型?5、.软件工程的目标是什么?6、在软件开发过程中为什么有各种不同的开发方法?7、测试与质量保证是否等同的?8、需求说明(或需求规格说明书)由哪些部分组成?各部分的主要内容是什么?9、什么是自顶向下设计?为什么说它尤其适用于大型软件的开发?答案 二、填空题1、软件配置管理2、容错功能 3、11 4、可移植性 5、输出结果 6、歧义性 7、判定树 8、形式语言 9、F/(1+(n*i)10、数据输入的源点和数据输出的汇点 加工 数据流 数据存储文件。11、瀑布模型、螺旋模型、原型模型、构件组装模型。12、数据结构、数据结构。三、名词解释题 1.是描述软件开发过程中各种活动如何执行的模型。2数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。3内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。4JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。5指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)6、答:模块是一个拥有明确定义的 、输出和特性的程序实体。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块化设计是把大型软件按照规定的原则划分成一个个较小的、相对独立但又相互关联的模块。但又相互关联的模块。7、答:模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。独立性可以从两个方面来度量:模块本身的内聚性(Cohesion)和模块之间的耦合(Coupling)。8、答:静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。9、一个软件从开始立项起,到废弃不用止统称为软件生存周期。软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。10、是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块化设计是把大型软件按照规定的原则划分成一个个较小的、相对独立但又相互关联的模块。但又相互关联的模块。四、简答题 1结构冗余:包括静态冗余、动态冗余和混合冗余。信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。冗余附加技术:指为实现上述冗余技术所需的资源和技术。2软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。3就程序设计语言的工程特性而言,对程序编码有如下要求:(1)可移植性(2)开发工具的可利用性(3)软件的可重用性(4)可维护性4模块的内聚性包括:(耦合自己写)(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚5、软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产,从而开发满足用户需要、及时交付、不超过预算和无故障的软件。其主要目标包括: (1) 合理预算开发成本,付出较低的开发费用; (2) 实现预期的软件功能,达到较好的软件性能,满足用户的需求; (3) 提高所开发软件的可维护性,降低维护费用; (4) 提高软件开发生产率,及时交付使用。6、软件开发可以使用许多不同的方法,对于一个新的开发人员来说,这种多样性会使他们感到困惑不解。似乎每一个软件企业都有自己的开发方法,即使在同一个公司中,每一个开发小组或个人也都有自己的开发方法。造成这种现象的主要原因有:(1) 软件工程是一个新兴的学科,相应的方法和技术尚未完全成熟;(2) 软件技术变化非常快;(3) 不同的组织有不同的需求;(4) 存在许多不同类型的系统,彼此之间差异很大;(5) 开发人员在背景知识上存在巨大差异。7、测试的一个连带作用是帮助确保一个产品满足需求,但测试并不是质量保证,有些人错误地将测试和质量保证等同起来。软件测试是发现并指出软件系统缺陷的过程,软件质量保证是为了确定、达到和维护需要的软件质量而进行的所有有计划、有组织的管理活动。测试是任何质量保证过程中必需的但不是所有的部分,质量保证包括计划软件质量保证活动,客观地验证软件产品和活动符合规定的标准、程序和需求,评审过程符合性,审计工作产品的符合性等,从事的是那些用来防止和去除在产品中确实存在的缺陷的活动。8、答:引言、信息描述、功能描述、行为描述、质量描述、接口描述、其他描述。引言:主要叙述在文体定义阶段确定的关于软件的目标与范围,简要介绍系统背景、盖帽、软件项目约束和按考资料等。信息描述:给出对软件所含信息的详细描述,包括信息的内容、关系、数据流向、控制流向和结构等。功能描述:对软件功能要求的说明,包括系统功能划分、每个功能的处理说明、限制和控制描述等。行为描述:包括对系统状态变化及事件和动作的描述,据此可以检查外部事件和软件内部的控制特征。质量描述:阐明在软件交付使用前需要进行的共更能测试和性能测试,并且规定源程序和文档应该遵守的各种标准。接口描述:包括系统的用户界面、硬件接口、软件接口和通信接口等的说明。其他描述:阐述系统设计和实现上的限制,系统的假设和依赖等其他需要说明的内容。9、设计时首先对所设计的系统有一个全面的理解。然后从顶层开始,连续的逐层向下分解,直至系统的所有模块都笑道便于掌握为止。自底向上设计反映了软件规模较小的设计思想,随着软件规模的增长,这种方法的缺点逐渐暴露出来。而自顶向下的设计需要进行详细的可行性论证,易于修改和扩展,整体测试较易通过。五、应用题 1、请使用PAD图和PDL语言描述在数组A(1)A(10)中找最大数的算法。解:PDL语言:N=1WHILE N=10 DOIF A(N) =A(N+1);ELSE MAX=A(N) ENDIF;ENDWHILE;PAD图:注:人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。2、某电器集团公司下属的厂包括技术科、生产科等基层单位,现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:根据销售公司转来的内部合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论