1、一、 填空题 1. 软件生命周期可划分为 、 和 3 个时期,通常把这 3个时期再细分为 8 个阶段,它们是 、 、 、 、 、 、 和 ,其中的 阶段的工作量是 8个阶段中最大的。 2. 可行性研究的任务是从 、 和 等三个方面研究 。 3. 至少应该从 、 、 和 4 个方面验证软件需求的正确性,其中 和 这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性,往往需要开发 。 4. 软件总体设计时应遵循 、 、 、 、 、 和 等6 条基本原则。详细设计通常以 技术为逻辑基础,因为从软件工程观点看, 是软件最重要的质量标准之一。 5. 软件测试的目 的是 ,通常把
2、测试方法分为 和 两大类。因为通常不可能做到 ,所以精心设计 是保证达到测试目的所必须的。 6. 软件维护通常包括 4类活动,它们分别是 、 、 、 。 二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。 1. 在 进 行 需 求 分 析 时 同 时 考 虑 维 护 问 题 。 ( ) 2. 完成测试后,为缩短源程序长度而删去程序中的注释。 ( ) 3. 尽可能在软件开发过程中保证各阶段文档的正确性。 ( ) 4. 编码时尽可能使用全局变量。 ( ) 5. 选择时间效率和空间效率尽可能高的算法。 ( ) 6. 尽 可能利用硬件的特点以提高效率。 ( ) 7. 重视程序结
3、构的设计,使程序具有较好的层次结构。 ( ) 8. 使用维护工具或软件工程环境。 ( ) 9. 进行概要设计时尽可能加强模块间的联系。 ( ) 10. 提高程序可读性,尽可能使用高级语言编程。 ( ) 三、 按下述要求完成给出的程序流程图,即在答案栏内写出图中 A、 B、 C、 D、 E 的正确内容 给程序输入二维数组 W( I, J),其中 IM, JN( MT N 均为正整数)。程序打印出数组中绝对值最小的元素值 Q=W( K, L),及其下标 K、 L 的值。假定数组中仅有一个绝对值最小的元素。 应该完成的程序流程图如下所示 答案栏 A: B: C: D: E: 四、 下面给出了用盒图描
4、绘的一个程序的算法,请用逻辑覆盖法设计测试 方案,要求做到用语句覆盖和路径覆盖 五、 某高校可用的电话号码有以下几类:校内电话号码由 4 位数字组成,第 1 位数字不是0;校外电话又分为本市电话和外地电话两类,拨外地电话需先拨 0,如果是本市电话再接着拨 8 位电话号码(第 1 位不是 0),如果是外地电话则先拨区码( 35 数字),再拨当地电话号码( 7 或 8 位数字,第 1 位不是 0)。 请定义上述的电话号码。 六、 以下是用程序流程图描绘的处理算法,请把它改画为等价的盒图。 七、 办公室复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复
5、印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排队故障,故障排除后回到闲置状态。 请用状态转换图描绘复印机的行为。 八、为开发一个铁路自动售票系统(该系统预计从 2009 年使用到 2019 年),请完成下面的数据流图和数据字 典,即从供选择的答案中选出 A、 B、 C、 D 和 E 的内容 1数据流图 供选择的答案 AE 车次 表; 接受; 售票记录; 购票请求; 拒绝。 2.数据字典 购票请求 =F 乘车日期 =G 到
6、站 =4字母 20 字母 =“A”“Z”|“a”“z” 车次 =“001” “999” 拒绝 =无车次 |无票 无车次 =“no train” 无票 =“no ticker” 接受 =“to sale” 已收款 =“yes” 车次表 =起站 +止站 +车次 起站 =止站 =到站 售票记录 =乘车日期 +起站 +止站 +车次 +座号 座号 =车厢号 +座位号 车厢号 =“01” “20” 座位号 =H 注: “01” “ 20”表示数字范围从 01 到 20; 乘车日期应给出年、月、日,例如, 2009/08/21; 假设每个车厢有 100 个座位。 答案栏 A: B: C: D: E: F:
7、G: H: 九、画出简化的文本编辑程序的用例,该编辑程序的主要功能有建立文件、打开文 件、插入文本、修改文本和保存文件。 十、如下图所示的程序流程图描绘了一个非结构化的程序。 1. 为什么说它是非 结构化的? 2. 利用附加变量 flag 设计一个等价的结构化程序,用盒图描绘设计结果。 3. 不用附加变量,设计一个等价的结构化程序,用盒图描绘设计结果。 十一、画出图形用户界面( GUI)的状态转换图。该界面具有一个主菜单和一个带有文件打开命令的文件菜单,在每个菜单上都有一条退出命令。假设每次只有一个文件能够打开。 十二、有一个长度为 48000 条机器指令的程序,第一个月由甲、乙二人分别测试它
8、。甲改正了 20 个错误,使程序的平均无故障时间达到了 8 小时。乙在测试该程序的另一个副本时改正了 24 个错误,其中 6 个错误与甲改正的相同。然后,由甲一个人继续测试这个程序。请问 刚开始测试时程序逻辑中的错误总数 ET是多少? 为使平均无故障时间达到 240h,如果甲不利用乙的工作成果,则他还需再改正多少个错误? 为使平均无故障时间达到 480h,如果甲利用了乙的工作成果,则他还需再改正多少个错误? 十三、用 Jackson 图表示下图所示的二维表格: 十四、有一过程,其流程如下图所示。 其中 b1、 b2、 b3 为判定的逻辑条件, s1、 s2 为加工处理。试用判定表给予描述。 答
9、案 一、答: 1. 定义;开发;维护;问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;维护;维护。 2. 技术;经济;操作;软件项目的可行性 / 3. 一致性;现实性;完整性;有效性;完整性;有效性;原型系统。 4. 模块化;抽象;逐步求精;信息隐藏;局部化;模块独立;结构程序设 计;可理解性。 5. 发现错误;黑盒测试;白盒测试;穷尽测试;测试方案。 6. 改正性维护;适应性维护;完善性维护;预防性维护。 二、答: 对; 错; 对; 错; 错; 错; 对; 对; 错; 对。 三、答: A: |Q|W(I, J)| B: J=J+1 C: I=I+1 D: J 循
10、环 UNTIL JN E: I 循环 UNTIL IM 四、答: 1. 实现语句覆盖的测试方案如下: 1) 覆盖 THEN 部分的语句,即使得条件( A0) AND( B0)和条件( CA) OR( D0) AND( B0)和条件( CA) OR( DB)均为假 输入: A=0, B=-1, C=0, D=1 预期输出: X=1, Y=1 2. 实现路径覆盖的测试方案如下: 1) 覆盖两个条件均为假的路径 输入: A=-1, B=-2, C=-3, D=3 预期输出: X=1, Y=0 2) 覆盖第一个条件为假第二个条件为真的路径 输入: A=-1, B=-2, C=1, D=-3 预期输出:
11、 X=1, Y=4 3) 覆盖第一个条件为真第二个条件为假的路径 输入: A=1, B=1, C=0, D=2 预期输出: X=2, Y=2 4) 覆盖两个条件均为真的路径 输入: A=-1, B=-2, C=2, D=1 预期输出: X=3, Y=1 五、答: 电话号码 =校内号码 |校外号码 校内号码 =非零数字 +3 位数字 校外号码 =本市号码 |外地号码 本市 号码 =数字零 +非零数字 +7 位数字 外地号码 =数字零 +区码 +当地号码 非零数字 =1|2|3|4|5|6|7|8|9 数字零 =0 3 位数字 =3数字 3 7 位数字 =7数字 7 区码 =3数字 5 当地号码
12、=非零数字 +6数字 7 数字 =0|1|2|3|4|5|6|7|8|9 六、答: 七、答: 八、答: A:购票记录; B:接受; C:拒绝; D:车次表; E;售票记录; F: 乘车日期 +到站 +车次 ; G: “2009”“2019”+“/”+“01”“12”+“/”+“01”“31” ; H: “001”“100” 。 九、答:简化的文件编辑程序的用例见下图: 十、答: 1. 因为循环控制结构有两个出口,因此是非结构化的程序。 2. 利用附加 变量 flag 设计的等价的结构化程序如下图(左) 3. 不用附加变量 flag 设计的等价的结构化程序如下图(右) 十一、答:图形用户界面的状态转换图如下图所示 十二、答: 刚开始测试时程序 中的错误总数为: 即,为使平均无故障时间达到 480h,如果甲利用了乙的工作成果,则他还需再改正 41个错误。 十三、答: 十四、答: