软件工程课自测题及答案.doc

上传人:s****u 文档编号:12789563 上传时间:2020-05-24 格式:DOC 页数:10 大小:56KB
返回 下载 相关 举报
软件工程课自测题及答案.doc_第1页
第1页 / 共10页
软件工程课自测题及答案.doc_第2页
第2页 / 共10页
软件工程课自测题及答案.doc_第3页
第3页 / 共10页
点击查看更多>>
资源描述
一. 判断题 1软件实际就是程序 ( X ) 2.成功的测试是没有发现错误的测试 ( X ) 3软件工程的主要思想是从理论的角度来观察分析软件开发盒生产活动 ( X ) 4一个模块直接引用另一个模块中的数据,这两个模块之间的耦合不是内容耦合 ( X ) 5程序只要逻辑正确,能够被机器理解并执行就够了 ( X )二选择题 1.在软件质量因数中,软件在异常条件下人能运行的能力称为软件的( B ) A)可靠性 B)健壮性 C)可用性 D)安全性 2软件开发可行性研究,一般涉及经济,技术盒操作可行性,而进行可行性研究的基本依据是用户提出的软件 ( C )A)系统质量 B)系统目标 C)系统功能 D)系统性能 3结构化程序设计中,一般包含3种基本结构,下列结构中哪个不属于基本结构( B )A)顺序结构 B)嵌套结构 C)顺序结构 D)选择结构4JACKSON方法是一种面向( B )的方法A)对象 B )数据结构 C)数据流 D)控制流5模块内部过程描述就是模块内部的( B ),它的表述形式就是详细设计语言A)模块化设计 B)算法设计 C)程序设计 D)详细设计6在设计测试用例时,( A )是用的最多的一种黑盒测试方法A)等价类划分 B)边值分析 C)因果图 D)判定表7软件的可维护性,可使用性, ( B ) 是衡量软件质量的几个主要特性A)可靠性 B)可复用性 C)可理解性 D)可修改性8原型化方法是一种( B )型的设计过程A)自外向内 B)自顶向下 C)自内向外 D)自底向上9模块( B )定义为受该模块内一个判断影响的所有模块集合A)控制流 B)作用域 C)宽度 D)接口10程序控制的3种基本结构中,( C )结构可提供程序重复控制A)遍历 B)排列 C )循环 D)分支三填空题1黑箱测试即_性能测试_、白箱测试即_结构测试_。2开发期的主要任务需求分析 总体设计, 详细设计, 编码, 测试。3. 结构化方法将软件生命周期分为_设计_,_开发_,_运行_三个时期.4. 各模块经过单元测试后,将各模块组装起来进行 集成测试 ,以检查与设计相关的 软件体系结构 的有关问题。5. 在单元测试时,需要为被测模块设计 驱动模块 和 桩模块 。6. 集成测试的方法主要有两种: 非增式测试 和 渐增式测试。7. 非渐增式方法把 单元测试 和 集成测试 分成两个不同的阶段。8. 渐增式测试有以下两种不同的组装模块的方法: 自顶向下结合 、 自底向上结合。9. 软件测试的目的是 尽可能多地发现程序中的错误。10. 软件维护的内容有四种:正确性维护 适应性维护 完善性维护 预防性维护11. 为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。12. 因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用。13维护的副作用有 编码副作用 , 数据副作用 , 文档副作用-三种14. 软件的 可理解性 、 可使用性 、 可靠性 是衡量软件质量的几个主要特性。15. 软件可维护性可用下面七个质量特性来衡量,即可理解性, 可测试性、可修改性、可靠性、可移植性、 可使用性 和 效率。四 名词解释1 数据字典2 内聚性3软件生存周期模型4多态性5. 集成测试6. 维护7. 正确性维护8. 预防性维护五 简答题1. 软件测试的目的是什么?. 答:软件测试的目的。G. J. Myers对软件测试的目的提出了以下观点:(1)软件测试是为了发现错误而执行程序的过程。(2)一个好的测试用例能够发现至今尚未发现的错误。(3)一个成功的测试是发现了至今尚未发现的错误的测试。2. 什么是集成测试?为什么要进行集成测试?3. 非渐增式测试与渐增式测试有什么区别?4. 软件维护有哪些内容?答:软件维护的内容。软件维护的内容有四种:正确性维护,适应性维护,完善性维护和预防性维护。(1)正确性维护。(2)适应性维护。(3)完善性维护。(4)预防性维护。5. 软件维护的副作用有哪些?六. 应用题1. 请将下图的DFD转换为软件结构图(注:图中的表示“或者”)主图:子图A:答案一 判断题 全错二 选择题1 B 2 C 3 B 4 B 5 B 6 A 7 B 8 B 9 B 10 C三填空题1 功能测试 结构测试2需求分析 总体设计 详细设计 编码 测试 3计划 开发 运行4. 集成测试 软件体系结构5. 驱动模块 桩模块6. 非增式测试 渐增式测试7. 单元测试 集成测试8. 自顶向下结合 自底向上结合9. 尽可能多地发现程序中的错误 .10. 正确性维护 适应性维护 完善性维护 预防性维护11. 预防性维护12. 维护的副作用13. 编码副作用 数据副作用 文档副作用14. 可理解性 可使用性 可靠性15. 可理解性 可测试性 可修改性 可靠性 可移植性 可使用性 效率四.名词解释1. 数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。2. 内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。3. 是描述软件开发过程中各种活动如何执行的模型。4. 指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)5. 集成测试是指在单元测试的基础上,将所有模拟按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。6. 在软件运行/维护阶段对软件产品所进行的修改就是维护。7. 为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。8. 为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。5.五.简答题1. 答:软件测试的目的。G. J. Myers对软件测试的目的提出了以下观点:(1)软件测试是为了发现错误而执行程序的过程。(2)一个好的测试用例能够发现至今尚未发现的错误。(3)一个成功的测试是发现了至今尚未发现的错误的测试。2. 答:集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。实践证明,单个模块能正常工作,组装后不见得仍能正常工作,这是因为:(1)单元测试使用的驱动模块和桩模块,与它们所代替的模块并不完全等效,因此单元测试有不彻底、不严格的情况。(2)各个模块组装起来,穿越模块接口的数据可难会丢失。(3)一个模块的功能可能会对另一个模块的功能产生不利的影响。(4)各个模块的功能组合起来可能达不到预期要求的主功能。(5)单个模块可以接受的误差,组装起来可能累积和放大到不能接受的程度。(6)全局数据可能会出现问题。因此必须要进行集成测试,用于发现模块组装中可能出现的问题,最终构成一个符合要求的软件系统。集成测试的方法主要有两种:非渐增式测试和渐增式测试。(1)非渐增式测试。首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。(2)渐增式测试。逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。3. 渐增式与非渐增式测试的方法有以下区别:(1)非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模拟的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试与集成测试合在一起,同时完成。(2)非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。(3)渐增式可以较早地发现接口之间的错误,非渐增式最后组装时才发现。(4)渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。(5)渐增式比较彻底,已测试的模块和新的模块再测试。(6)渐增式占用的时间较多,但非渐增式需更多的驱动模块。桩模块也占用一些时间。(7)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。4. 答:软件维护的内容。软件维护的内容有四种:正确性维护,适应性维护,完善性维护和预防性维护。(1)正确性维护。在软件交付使用后,由于在软件开发过程中产生的错误并没有完全彻底的在测试中发现,因此必然有一部分隐含的错误被带到维护阶段上来。这些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。(2)适应性维护。随着计算机的飞速发展,计算机硬件和软件环境也在不断发生变化,数据环境也在不断发生变化。为了使应用软件适应这种变化而修改软件的过程称为适应性维护。例如,某个应用软件原来是在DOS环境下运行的,现在要把它移植到Windows环境下来运行;某个应用软件原来是在一种数据库环境下工作的,现在要改到另一种安全性较高的数据库环境下工作,这些变动都需要对相应的软件作修改。(3)完善性维护。在软件漫长的运行时期中,用户往往会对软件提出新的功能要求与性能要求。这是因为用户的业务会发生变化,组织机构也会发生变化。为了适应这些变化,应用软件原来的功能和性能需要扩充和增强。这种增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。例如,软件原来的查询响应速度较慢,要提高响应速度;软件原来没有帮助信息,使用不方便,现在要增加帮助信息。(4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。这是为以后进一步的运行和维护打好基础。这需要采用先进的软件工程方法对需要维护的软件或软件中的某一部分进行设计、编码和测试。5. 答:因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用。维护的副作用有编码副作用、数据副作用、文档副作用三种。(1)编码副作用。在使用程序设计语言修改源代码时可能引入错误。例如: 删除或修改一个子程序、一个标号、一个标识符; 改变程序代码的时序关系,改变占用存储的大小,改变逻辑运算符; 修改文件的打开或关闭; 改进程序的执行效率; 把设计上的改变翻译成代码的改变; 为边界条件的逻辑测试作出改变; 以上这些变动都容易引入错误。(2)数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。例如: 重新定义局部或全局的常量,重新定义记录或文件格式; 增加或减少一个数组或高层数据结构的大小; 修改全局或公共数据; 重新初始化控制标志或指针; 重新排列输入/输出或子程序的参数。(3)文档副作用。对数据流、软件结构、模拟逻辑或任何其他有关特性进行修改时,必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配、缺省条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。如果对执行软件的修改没有反映在文档中,就会产生文档副作用。六.应用题10
展开阅读全文
相关资源
相关搜索

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


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

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


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