期末整理 软件工程期末习题
一、单项选择题 1.瀑布模型的存在问题是( B ) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B ) A.数据、公共、标记、控制 B.数据、标记、控制、公共 C.控制、数据、标记、公共 D.控制、数据、公共、标记 4.在SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 5.软件测试的目的是( B )。 A.评价软件的质量 B.发现软件的错误C.找出软件的所有错误 D.证明软件是正确的 6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。 A. 等价类划分 B. 边界值分析 C. 因果图 D. 判定表 7. 需求分析最终结果是产生( B )。 A. 项目开发计划 B.需求规格说明书 C.设计说明书 D.可行性分析报告 8. Jackson图中,模块框之间若有直线连接,表示它们之间存在( A )。 A. 调用关系 B. 组成关系 C. 链接关系 D. 顺序执行关系 9. 软件详细设计的主要任务是确定每个模块的( C )。 A. 功能 B. 外部接口 C. 算法和使用的数据结构 D. 编程 10.为了提高软件的可维护性,在编码阶段应注意( B ) A.保存测试用例和数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 在软件工程领域,题目涉及了多个关键概念,涵盖了软件开发过程的不同阶段,如需求分析、设计、测试和维护。以下是对这些知识点的详细说明: 1. **瀑布模型**:这是一种线性的开发方法,各阶段顺序进行,一旦进入下一阶段,就无法回溯。其主要问题在于缺乏灵活性,难以适应需求变化(选项B)。 2. **软件危机**:指软件开发过程中遇到的挑战,如高成本、低质量、进度延迟等,这表明传统方法不足以应对复杂软件的开发(选项C)。 3. **耦合性**:衡量模块间相互依赖程度。耦合性从低到高的顺序是数据耦合、标记耦合、控制耦合、公共耦合(选项B)。 4. **SD方法**(Structured Design,结构化设计):强调模块独立性作为模块划分的重要原则(选项D),旨在减少模块间的交互,提高系统的可理解和可维护性。 5. **软件测试的目的**:主要是为了发现软件的错误(选项B),而不是评价软件质量或证明其正确性。 6. **黑盒测试**中最常用的方法是等价类划分(选项A),它通过将输入数据分成若干等价类,测试每个等价类的代表数据。 7. **需求分析**的最终结果是生成需求规格说明书(选项B),它是后续设计和实现的基础。 8. **Jackson图**:在Jackson设计方法中,直线连接表示模块间的调用关系(选项A)。 9. **软件详细设计**:主要关注每个模块的算法和使用的数据结构(选项C),以实现功能并确保效率。 10. **提高软件可维护性**:在编码阶段,提高模块的独立性(选项B)是非常重要的,因为它可以减少模块间的相互影响,便于后期修改和维护。 此外,题目还涉及了其他知识点: 11. **复利计算**:现存款p元,年利率i,经过n年后,按复利计算,可得金额为p*(1+i)^n(选项B)。 12. **时间内聚**:如果模块中的操作必须同时执行,即体现了时间内的聚性(选项A)。 13. **判定/条件覆盖**:测试覆盖策略,要求每个判定和条件取到所有可能的值(选项C)。 14. **螺旋模型**:一种风险驱动的软件开发模型,包含了瀑布模型和原型模型的特点,还有风险评估(选项C)。 15. **软件维护**:生命周期中费用最高的是维护阶段(选项D)。 16. **完善性维护**:在整个维护阶段,完善性维护占比最大,主要是为了改进性能和增加功能(选项C)。 17. **作用域**:模块的作用域是指其内部判断影响的所有模块集合(选项B)。 18. **PDL**:伪码,一种用于描述算法的语言(选项A)。 19. **从数据流图导出结构图**的关键是找到中心变换(选项C)。 20. **结构分析方法**:面向数据流,自顶向下逐步细化的需求分析方法(选项B)。 21. **详细设计**:包括为每个模块确定算法(选项B),而非成本效益分析、编写代码或确定模块结构。 22. **程序调试**:未达到预期结果可能是变量未初始化、循环控制出错或代码输入错误,而变量没有明确的注释不是直接原因(选项C)。 23. **不良编程习惯**:不使用注释是不良习惯,可能导致代码难以理解(选项B)。 24. **软件维护副作用**:不包括恢复副作用,因为修复错误可能导致其他部分代码失效或文档不一致(选项D)。 25. **可行性研究**:技术可行性研究通常最难,因为需要评估是否具备实现技术的能力(选项B)。 26. **软件调试技术**:包括演绎法,如回溯和推理(选项B),而非边界值分析、循环覆盖或集成测试。 27. **瀑布模型的问题**:缺乏灵活性,难以适应需求变更(选项B)。 以上是对软件工程期末习题涉及知识点的详细阐述,涵盖了软件开发过程的关键环节,有助于理解和掌握软件工程的基本原理和实践方法。
剩余10页未读,继续阅读
- xiaoheijia2013-12-09有答案,复习必看!
- 王楠楠2012-01-02好,还有答案,复习必看!
- swyzywzhy2013-10-11考试的时候用上了,很好!
- 小道安全2013-01-14还有答案,复习必看!
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助