软件工程考试重点:题库解析与测试方法

需积分: 0 1 下载量 194 浏览量 更新于2024-08-04 1 收藏 79KB DOC 举报
"软件工程考试题库完整" 在软件工程领域,这个题库涵盖了多个关键概念,以下是其中一些重点知识的详细说明: 1. 软件定义时期:包括可行性研究和需求分析两个阶段,这是软件开发的初期,确定项目是否值得投资以及明确软件应满足的需求。 2. 数据流图(DFD):由4种基本符号组成,分别是数据流、加工(处理)、数据存储和外部实体。箭头表示数据流,表示数据在系统中的流动路径。 3. 变换型与事务型结构:DFD有两种主要结构,变换型关注数据的转换过程,事务型则关注数据的输入、处理和输出。 4. 通信量计算:4个人之间的最大通信组合为6,这是组合数学中的组合公式C(n, k)的应用。 5. 耦合与聚:耦合衡量模块间的相互依赖程度,从弱到强分为非直接耦合、数据耦合、标记耦合、控制耦合、公共耦合和内容耦合(容耦合)。聚则指模块内部元素的相关性,高聚模块表示内部元素紧密相关。 6. 程序结构复杂性度量:V(G)值与程序控制流的复杂性有关,顺序结构的V(G)为1,选择结构的为2,这些值用于评估代码的可读性和维护性。 7. 扇入与扇出:扇入是指直接调用一个模块的模块数量,扇出则是指一个模块直接调用的其他模块数量,扇入和扇出是模块耦合度的指标。 8. 良好的模块设计原则:高聚低耦合,意味着模块内部元素紧密关联,模块间关系简单,有利于代码的可读性和可维护性。 9. 测试方法:白盒测试中的语句覆盖技术确保每个程序语句至少被执行一次;黑盒测试中的等价类划分技术,将输入数据划分为有效等价类和无效等价类,以测试功能是否正确。 10. 维护分类:根据原因可分为改正性维护(修复错误)、适应性维护(适应环境变化)、完善性维护(增加新功能)和预防性维护(改进未来维护)。 11. 可行性研究与需求分析:在项目早期进行简化的、压缩的需求分析,以评估项目的可行性和预期结果。 12. 系统流程图:用于描述当前运行系统的状态,帮助理解现有流程并进行改进。 13. 控制结构:程序的三种基本控制结构(顺序、选择和循环)均有一个入口和一个出口,这是结构化编程的基本原则。 14. 维护副作用:如误删除标识符属于编码副作用,可能导致程序错误。 15. 技术评审:是提升软件质量的重要活动,通过同行评审来发现和纠正潜在问题。 16. 面向对象方法:强调对象的封装、继承和多态性,将现实世界的问题映射到软件系统中。 17. 原型化方法:适用于需求不明确的系统,通过快速构建原型与用户交互,逐步明确需求。 18. CASE工具:结构化基于图形的CASE工具是早期的软件开发辅助工具,帮助自动化软件工程过程。 19. 成本估算模型:Putnam模型是动态多变量模型,考虑多个因素来估算软件开发成本。 20. McCall软件质量模型:适应性是衡量软件产品能否适应环境变化的能力。 21. ISO软件质量评价模型:SQDC用于评价设计质量,包括软件的质量特性。 22. 软件复杂性度量参数:规模是重要的度量参数,例如源代码行数或功能点。 23. 对象特性:对象集成了数据和操作,实现了数据隐藏和封装,使得软件结构更加清晰。 这些知识点构成了软件工程的基础,对于准备软件工程考试或者实际工作中的软件开发和维护具有重要指导意义。理解并掌握这些概念,有助于提升软件开发的专业水平和项目管理能力。