软件工程期末试卷答案全解
软件工程试题一软件工程试题一 一.单项选择题 1.以下不是软件危机的典型表现的是: (D) 。 A. 对软件开发成本和进度的估计常常很不准确 B. 用户对“已完成的”软件系统不满意的现象经常发生 C. 软件产品的质量往往靠不住 D.采用面向对象方法开发软件 3. 下列哪个不是软件工程方法学中的要素(C )。 A. 方法B. 工具C. 程序D. 过程 4. 下列模块的独立性的耦合方式中,最好的是(C) A.公共耦合B. 控制耦合C. 数据耦合D. 内容耦合 5.概要设计中,开发人员要解决的最重要的问题是 ( D) 。 A. 要让软件做什么B. 要给该软件提供哪些信息 C. 要求软件工作效率怎样D. 要让该软件模块具有何种结构 6. 为了提高模块的独立性,模块内部最好是 ( C ) 。 A. 逻辑内聚B. 时间内聚C. 功能内聚D. 通信内聚 7. 程序的三种基本控制结构的共同特点是 (C) 。 A.不能嵌套使用B.只能用来写简单程序 C.只能一个入口和一个出口D.已经用硬件实现 8. 以下说法错误的是 () 。A A. 面向对象分析与面向对象设计的定义没有明显区别 B. 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程 C. 在实际的软件开发过程中,面向对象分析与面向对象设计的界限是模糊的 D. 面向对象分析和面向对象设计活动是一个多次反复迭代的过程 9. 软件测试过程中的确认测试主要是为了发现 (A) 阶段的错误。 A.需求分析B.概要设计C.详细设计D.编码 10. 在面向对象的高层设计体系结构中, (C) 是用来描述用户一般使用软件习惯 的部分 A.人机交互界面B.问题论域C.系统交互界面D.数据管理 11.为适应软硬件环境变化而修改软件的过程是 (B ) 。 A.校正性维护B.适应性维护 C.完善性维护D.预防性维护 12. 在 UML 的各类图中, (A )图是描述软件功能的。 A 用例图B 类图C 活动图D 顺序图 13. (D)不属于 OO 三要素。 A.对象B. 继承C.封装D.多态 14. (C )在 ATM机系统中,下列哪个不能在面向对象设计中被定义为类。 C A 中央计算机B 柜台事务C 拨号D 营业厅 15.在黑盒测试中,作为相关黑盒测试有效补充的测试方法是 (B) 。 A. 等价类划分法B. 边界值分析法C. 错误推测法D. 因果图法 二.判断题(本大题共__15__题,每题___1___分,共___15_____分。 1.软件简单的说就是程序和相关的数据及文档。 T 2.测试用例由一系列输入和实际的输出组成。 F 3.软件工程的集成测试都是自顶向下的。 F 4.编码是尽可能采用局部变量。T 5.在进行需求分析时需同时考虑维护性问题。T 6.顺序图描述了对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。 T 7.在进行概要设计时应加强模块间的联系。 F 8.模块越小,模块化的优点越明显。一般来说,模块的大小都在 10 行以下。F 9.模块间的联系越紧密越好。F 10. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 F 11. 维护就是在软件交付使用后进行的修改。T 12. 一组测试用例是判定覆盖,则一定是语句覆盖。T 13. 面向对象软件工程方法就是至上而下、逐步求精的方法。F 14. 向一个已经延期的项目增加人手,往往不会加快其开发进程。T 15. 应尽可能多用 GOTO 语句。F 四.简答题 1.简述螺旋模型。 螺旋模型(Spiral Model)采用一种周期性的方法来进行系统开发。这会导致开发出 众多的中间版本。使用它,项目经理在早期就能够为客户实证某些概念。该模型是快速 原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一 个周期都包括需求定义、 风险分析、 工程实现和评审 4 个阶段, 由这 4 个阶段进行迭代。 软件开发过程每迭代一次,软件开发又前进一个层次 2.简述你对模块独立性的理解。 模块独立性指每个模块只完成系统要求的独立的子功能 ,并且与其他模块的联系最 少且接口简单, 模块内部各部分及模块间的关系的一种衡量标准, 由内聚和耦合来度量。 模块独立性的重要性:具有独立的模块的软件比较容易开发出来。这是由于能够分 割功能而且接口可以简化;独立的模块比较容易测试和维护。这是因为相对说来,修改 设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够“插入“模块。 总之,模块独立是优秀设计的关键,而设计又是决定软件质量的关键环节。 五.综合题(本大题共__3__题,每题___10___分,共___30_____分。) 1、问题陈述:为更好的管理食堂工作,某公司拟开发食堂管理系统,食堂管理员 将所有菜式信息输入到系统中,并提前录入每日菜谱信息到系统中,员工通过系统进 行网上订餐,从而得到本人的相关订餐信息, 员工可以通过系统了解每日菜谱信息和自己的消费情况,每月,食堂管理员得到所有 第2页,共10页 员工的消费情况和每个菜式的订餐统计信息(10 分) (1) 以结构化方法建立该问题的数据流图(至少 2 层,即顶层和 0 层) (7 分) (2) 描述数据流图中的主要数据字典(3 分) 软件工程试题二软件工程试题二 一、填空题(每空 1 分,共 25 分) 1.软件生存周期一般可以划分为,问题定义问题定义、__可行性研究可行性研究__、__需求分析需求分析___、设设 计计 、编码编码、测试测试和_ _运行与维护运行与维护_。 2、 基于软件的功能划分,软件可以划分成___系统软件系统软件__、__支撑软件支撑软件__、___应用软应用软 件件___三种。 3、 可行性研究, 应从经济可行性经济可行性、 技术可行性、技术可行性、 运行可行性运行可行性、 法律可行性法律可行性和 开放方案可行性开放方案可行性 等方面研究。 4、数据流图的基本四种成分:数据输入的源点和数据输出汇点数据输入的源点和数据输出汇点、加工加工、数据流数据流 和数据数据 存储文件存储文件 5、结构化分析方法是面向______数据流数据流__进行需求分析的方法。结构化分析方法使用 ____数据流图数据流图 DFD_DFD___与_____数据字典数据字典 DD_DD___来描述。 6、为了在软件开发过程中保证软件的质量,主要采取下述措施:审查审查_、复查和管理复复查和管理复 审、测试审、测试 7、 大型软件测试包括单元测试单元测试、集成测试集成测试、 确认测试确认测试和系统测试系统测试四 个步骤。 二、单项选择题(每小题 2 分,共 20 分) 1、 软件设计中划分模块的一个准则是(C) 。 A、低内聚低耦合B、低内聚高耦合 C、高内聚低耦合D、内聚高耦合 2.Jackson 设计方法是由英国的 M. Jackson 提出的,它是一种面向(C)的软件设 计方法。 A、对象B 数据流C 数据结构D 控制结构 3.试判断下列叙述中,哪 个(些)是正确的( C )。 a、软件系统中所有的信息流都可以认为是事务流 第3页,共10页 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、