软件工程期末复习集

上传人:平*** 文档编号:10590029 上传时间:2017-10-09 格式:DOC 页数:15 大小:262.52KB
返回 下载 相关 举报
软件工程期末复习集_第1页
第1页 / 共15页
软件工程期末复习集_第2页
第2页 / 共15页
软件工程期末复习集_第3页
第3页 / 共15页
软件工程期末复习集_第4页
第4页 / 共15页
软件工程期末复习集_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《软件工程期末复习集》由会员分享,可在线阅读,更多相关《软件工程期末复习集(15页珍藏版)》请在金锄头文库上搜索。

1、1详细设计详细设计就是要在总体设计阶段成果的基础上,考虑如何实现定义的软件系统,直到对系统中的每个模块给出足够详细的过程描述。结构化程序设计技术是进行详细设计的逻辑基础。它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。结构化程序设计的三种基本控制结构是顺序、选择、循环。详细设计的工具有程序流程图、盒图、PAD 图、判定表、判定树和 PDL 语言等。程序复杂性度量程序复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期的长短和软件内部潜伏错误的多少等。1) 代码行度量法度量程序的复杂性,最简单的方法就是统计程序的源代码行数。该方法的基本考虑是统计一个程序模块的源代码

2、行数目,并以源代码行数作为程序复杂性的度量。Lipow 及其他研究者得出一个结论:对于少于 100 个语句的小程序,源代码行数与出错率是线性相关的。随着程序的增大,出错率以非线性方式增长。2) McCabe 度量法McCabe 度量法是一种基于程序控制流的复杂性度量方法。 McCabe 定义的程序复杂性度量值又称环路复杂性,它是基于程序图中环路的个数。如果把程序流程图中每个处理符号都退化成一个结点,原来联结不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫做程序图。计算有向图 G 的环路复杂性的公式: 2)(nmV其中,V(G)是有向图 G 中的环路个数,m 是图 G 中有向弧个

3、数,n 是图 G 中结点个数。详细设计说明书1. 引言2. 总体设计。软件结构3. 程序描述。逐个模块描述其功能、性能、输入、输出、算法等例题软件详细设计工具可分为 3 类,即图形工具、设计语言和表格工具。图形工具中,(A)简单而应用广泛。 (B)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套。(C )可以纵横延伸,图形的空间效果好。(D)是一种设计和描述程序的语言,它是一种面向( E)的语言。供选答案:A-C:NS 图 流程图 HIPO 图 PAD 图D:C PDL PROLOG PascalE:人 机器 数据结构 对象2答案:A. B. C. D. E.2001 年统考 下面是两个程序

4、流程图,试分别用 N-S 图和 PAD 图表示之,并计算它们的McCabe 复杂性度量。 START P A B Q T F END START P A B Q T F END T F F T 答案: While P A B Until Q 设 置 Q的 值 为 “真 ” Q F T A B Until (not P) PAD 图略McCabe 复杂性度量都为 3。 (7-6+2)下图是使用 BASIC 语言编写的一个打印 A、B 、C 三数中最小者的程序流程图。其中出现了 6 个 GOTO 语句,1 个向前,5 个向后,程序可读性很差。 A=B and Bc) thenprint Belse

5、 print C编码所谓编码就是把软件设计的结果翻译成计算机可以“理解”的形式用某种程序设计语言书写的程序。按照软件工程的方法论,程序的质量基本上由设计的质量决定。但是,编码使用的语言,特别是写程序的风格和途径也对程序质量有相当大的影响。程序设计语言的分类、选择大量实践表明,高级程序设计语言较汇编语言有很多优点。程序设计风格包括四个方面:源程序文档化、数据说明、语句结构和输入/输出方法例题从下列叙述中选出 5 条符合程序设计风格指导原则的叙述。嵌套的重数应加以限制尽量多使用临时变量不滥用语言特色不用可以省略的括号使用有意义的变量名应尽可能把程序编得短些把常见的局部优化工作留给编译程序去做注解越

6、少越好程序的格式应有助于读者理解程序应尽可能多用 GOTO 语句答案:、是正确的4从下列关于模块化程序设计的叙述中选出 5 条正确的叙述。程序设计比较方便,但比较难以维护便于由多个人分工编制大型程序软件的功能便于扩充程序易于理解,也便于排错在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数模块之间的接口叫做数据文件只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块模块间的单向调用关系叫做模块的层次结构模块越小,模块化的优点越明显。一般来说,模块的大小都在 10 行以下答案:、是正确的测试软件测试的目的就是软件投入生产性运行之前,尽可能多地发现软件中的错误。

7、目前软件测试仍然是保证软件质量的关键步骤。软件测试在软件生命周期中横跨两个阶段:编码和测试。Grenford J.Myers 就软件测试目的提出以下观点:1) 测试是程序的执行过程,目的在于发现错误。2) 一个好的测试用例在于能发现至今未发现的错误3) 一个成功的测试是发现了至今未发现的错误的测试软件测试的原则1) 应当尽早地不断地进行软件测试2) 测试用例应由测试输入数据和与之相对应的预期输出结果这两部分组成3) 程序员应避免检查自己的程序4) 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件5) 充分注意测试中的群集现象6) 严格执行测试计划,排除测试的随意性7) 应当对每个测试

8、结果做全面检查8) 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便常分单元测试/模块测试,集成测试,确认测试和系统测试。关系重大的还可做平行运行。设计测试方案是测试阶段的关键技术问题,基本目标是选用最少量的高效测试数据,做到尽可能完善的测试,从而尽可能多地发现软件中的问题。动态测试两个基本方法黑盒测试/功能测试等价类划分边界值分析错误推测法因果图法白盒测试/结构测试语句覆盖:使得每一可执行语句至少执行一次判定覆盖:使得程序中每个判断的取真分支和取假分支至少执行一次5条件覆盖:使得程序中每个判断的每个条件的可能取值至少执行一次判定-条件覆盖:使得判断中每个条件的所有可能取值至

9、少执行一次,同时每个判断的所有可能判断结果至少执行一次条件组合覆盖:使得每个判断的所有可能的条件取值组合至少执行一次路径覆盖:覆盖程序中所有可能的路径设计测试方案的实用策略是,用黑盒法设计基本的测试方案,再用白盒法补充一些必要的测试方案。应该认识到,软件测试不仅仅指利用计算机进行的测试,还包括人工进行的测试(例如,代码审查) 。两种测试途径各有优缺点,互相补充,缺一不可。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。a.例题2000 年统考 设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:有一个处理单价为 1 元 5 角钱的盒装饮料的自动售货机软件。若

10、投入 1 元 5 角硬币,按下“橙汁” 、 “啤酒”或“红茶”按钮,相应的饮料就送出来。若投入的是 2 元硬币,在送出饮料的同时退还 5 角硬币。1) (5 分)试利用因果图法,建立该软件的因果图;2) (5 分)设计测试该软件的全部测试用例。 输 入 条 件 (原 因 ) 输 出 条 件 (结 果 ) 投 入 1元 5角 硬 币 投 入 2元 硬 币 按 ”橙 汁 ”按 钮 按 ”啤 酒 ”按 钮 按 ”红 茶 ”按 钮 退 还 5角 硬 币 送 出 ”橙 汁 ”饮 料 送 出 ”啤 酒 ”饮 料 送 出 ”红 茶 ”饮 料 (1) (2) E (21) (1) (2) (23) (24)

11、(3) (4) (5) (12) E 因果图(加入了两个中间结点 11 和 12。11 表示已投币,12 表示已按钮)测试用例1 2 3 4 5 6 7 8 9 10 11投入 1 元 5 角硬币 (1) 1 1 1 1 0 0 0 0 0 0 0输入投入 2 元硬币 (2) 0 0 0 0 1 1 1 1 0 0 06按”橙汁”按钮 (3) 1 0 0 0 1 0 0 0 1 0 0按”啤酒”按钮 (4) 0 1 0 0 0 1 0 0 0 1 0按”红茶”按钮 (5) 0 0 1 0 0 0 1 0 0 0 1已投币 (11) 1 1 1 1 1 1 1 1 0 0 0中间结点已按钮 (1

12、2) 1 1 1 0 1 1 1 0 1 1 1退还 5 角硬币 (21) 0 0 0 0 1 1 1 0 0 0 0送出橙汁饮料 (22) 1 0 0 0 1 0 0 0 0 0 0送出啤酒饮料 (23) 0 1 0 0 0 1 0 0 0 0 0输出送出红茶饮料 (24) 0 0 1 0 0 0 1 0 0 0 0软件测试是软件质量保证的主要手段之一,测试的费用已超过(A)的 30%以上。因此,提高测试的有效性十分重要。 “高产”的测试是指(B) 。根据国家标准 GB8566-88计算机软件开发规范的规定,软件的开发和维护划分为 8 个阶段,其中,单元测试是在(C)阶段完成的,集成测试的计

13、划是在(D)阶段制定的,确认测试的计划是在(E)阶段制定的。供选择的答案:A:软件开发费用 软件维护费用软件开发和维护费用 软件研制费用软件生存期全部B:用适量的测试用例运行程序,证明被测程序正确无误用适量的测试用例运行程序,证明被测程序符合相应的要求用少量的测试用例运行程序,发现被测程序尽可能多的错误用少量的测试用例运行程序,纠正被测程序尽可能多的错误C-E:可行性研究和计划 需求分析概要设计 详细设计实现 集成测试确认测试 使用和维护答案:A. B. C. D. E.集成测试也叫做(A)或(B) 。通常,在(C)的基础上,将所有模块按照设计要求组装成系统。子系统的集成测试特别称为(D )

14、,它所作的工作是要找出子系统和系统需求规格说明之间的(E) 。需要考虑的问题是在把各个模块连接起来的时候,穿越模块接口的数据是否会(F) ;一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(G)组合起来,能否达到预期要求的(H ) ;(I )是否有问题;单个模块的误差累积起来是否会放大。供选择的答案:A-D: 单元测试 部件测试 组装测试系统测试 确认测试 联合测试E-I: 子功能 丢失 父功能局部数据结构 全局数据结构 不一致一致答案:A. B. C. D. E. F. G. H. I.软件测试方法可分为黑盒测试和白盒测试两种。7黑盒测试法是通过分析程序的(A )来设计测试用例的方

15、法。除了测试程序外,它还适用于对(B)阶段的软件文档进行测试。白盒测试法是根据程序的(C)来设计测试用例的方法。除了测试程序外,它也适用于对(D)阶段的软件文档进行测试。白盒法测试程序时常按照给定的覆盖条件选取测试用例。 (E)覆盖比(F)严格,它使得每个判定的每条分支至少经历一次。 (G )覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值。 (H )覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径。单元测试一般以(I)为主,测试的依据是( J) 。供选择的答案:A、C:应用范围 内部逻辑 功能 输入数据B、D:编码 软件详细设计 软件总体设计 需求分析E、F、 G、H :语句 判定 条件 判定/条件 多重条件 路径I:白盒法 黑盒法J:模块功能规格说明 系统模块结构图 系统需求规格说明答案:A. B. C. D. E. F. G. H. I. J.从下列关于程序设计风格和软件测试的叙述中,选出 5 条正确的叙述用黑盒法测试时,测试用例是根据程序内部逻辑设计的。尽量用公共过程或子程序去代替重复的代码段。测试是为了验证该软件已正确地实现了用户的要求。对于连锁型分支结构,若有 n 个判定语句,则有 2n 条路径。尽量采用复合的条件测试,以避免嵌套的分支结构。GOTO 语句概念简单,使用方便。在某些情况下,保留 GOTO 语句反能使写出的程序更加简洁

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号