1、软件工程考试题软件工程考试题(总12页)一、 填空题 1. 软件生命周期可划分为 定义 、 开发 和 维护 3个时期,通常把这3个时期再细分为8个阶段,它们是 问题定义 、可行性研究 、 需求分析 、 总体设计 、 详细设计 、 编码和单元测试 、 综合测试 和 维护,其中的 维护 阶段的工作量是8个阶段中最大的。2. 可行性研究的任务是从 技术 、 经济 和 操作 等三个方面研究 软件项目可行性 。3. 至少应该从 一致性 、 现实性、 完整性 和 有效性 4个方面验证软件需求的正确性,其中 完整性 和 有效性 这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性,
2、往往需要开发 原型系统。4. 软件总体设计时应遵循 模块化、 抽象 、 逐步求精 、 信息隐藏 、 局部化、和 模块独立 等6条基本原则。详细设计通常以 结构程序设计 技术为逻辑基础,因为从软件工程观点看, 可理解性 是软件最重要的质量标准之一。5. 软件测试的目的是 发现错误 ,通常把测试方法分为 黑盒测试 和 白盒测试 两大类。因为通常不可能做到 穷尽测试 ,所以精心设计 测试方案 是保证达到测试目的所必须的。6. 软件维护通常包括4类活动,它们分别是 改正性维护、 适应性维护、 完善性维护 、 预防性维护 。 二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。 1
3、. 在进行需求分析时同时考虑维护问题。 ( 对 ) 2. 完成测试后,为缩短源程序长度而删去程序中的注释。 (错 ) 3. 尽可能在软件开发过程中保证各阶段文档的正确性。 (对 ) 4. 编码时尽可能使用全局变量。 (错 ) 5. 选择时间效率和空间效率尽可能高的算法。 (错 ) 6. 尽可能利用硬件的特点以提高效率。 (错 ) 7. 重视程序结构的设计,使程序具有较好的层次结构。 (对 ) 8. 使用维护工具或软件工程环境。 (对 ) 9. 进行概要设计时尽可能加强模块间的联系。 (错 ) 10. 提高程序可读性,尽可能使用高级语言编程。 (对 )三、 按下述要求完成给出的程序流程图,即在答
4、案栏内写出图中A、B、C、D、E的正确内容 给程序输入二维数组W(I,J),其中IM,JN(MT N均为正整数)。程序打印出数组中绝对值最小的元素值Q=W(K,L),及其下标K、L的值。假定数组中仅有一个绝对值最小的元素。 应该完成的程序流程图如下所示 答案栏 A: |Q|W(i,j)| B: j = j+1 C: j循环 until jN D: i = i+1 E: i循环 until iN 四、 下面给出了用盒图描绘的一个程序的算法,请用逻辑覆盖法设计测试方案,要求做到用语句覆盖()和路径覆盖 解: 实现语句覆盖的测试方案如下:1) 覆盖THEN部分的语句,即使得条件(A0)AND(B0)
5、和条件(CA)OR(D0)AND(B0)和条件(CA)OR(D结构化)。 为什么说它是非结构化的?解:循环控制结构有两个出口。 利用附加变量flag设计一个等价的结构化程序,用盒图描绘设计结果。 不用附加变量,设计一个等价的结构化程序,用盒图描绘设计结果。解: 十一、画出图形用户界面(GUI)的状态转换图。该界面具有一个主菜单和一个带有文件打开命令的文件菜单,在每个菜单上都有一条退出命令。假设每次只有一个文件能够打开。 解:十二、有一个长度为48000条机器指令的程序,第一个月由甲、乙二人分别测试它。甲改正了20个错误,使程序的平均无故障时间(MTTF)达到了8小时。乙在测试该程序的另一个副本
6、时改正了24个错误,其中6个错误与甲改正的相同。然后,由甲一个人继续测试这个程序。请问 刚开始测试时程序逻辑中的错误总数ET是多少?解:估计:20*24/6 = 80个 为使平均无故障时间达到240h,如果甲不利用乙的工作成果,则他还需再改正多少个错误? 解:由(1),Et=80 =K = 100 =Ec(1) = 78 ,故他还需改正78-20 = 58个错误。 注:采用此法,纠错接受后,依然有80-78 = 2个错误潜伏在程序中。为使平均无故障时间达到480h,如果甲利用了乙的工作成果,则他还需再改正多少个错误?解: =Ec(2) = 79 甲乙共已经测试了20+24-6 = 38个错误,因此还需测试79-38 = 41 个错误。 注:采用此法,纠错接受后,依然有80-79 = 1个错误潜伏在程序中。 十三、用Jackson图表示下图所示的二维表格: 解:十四、有一过程,其流程如下图所示。 其中b1、b2、b3为判定的逻辑条件,s1、s2为加工处理。试用判定表给予描述。 解:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1