2009年北京大学软件工程试卷及答案解析

需积分: 0 0 下载量 103 浏览量 更新于2024-08-05 收藏 216KB PDF 举报
"北京大学信息科学技术学院2009年软件工程考试试卷答案" 这份试卷主要涵盖了软件工程领域的多个核心知识点,包括软件开发模型、需求工程、数据流图(DFD)、软件过程分类、测试方法以及面向对象设计。下面将详细阐述这些知识点: 1. **软件开发模型**:题目中提到了瀑布模型、演化模型、螺旋模型、喷泉模型和增量模型。这些都是软件开发的不同生命周期模型,各有其特点和适用场景。瀑布模型是最传统的线性模型,依次进行需求分析、设计、编码、测试和维护;演化模型强调迭代和渐进式开发;螺旋模型结合了瀑布模型和风险分析;喷泉模型则适用于需求不明确或快速变化的情况;增量模型则是将软件开发分成若干个增量阶段,每次实现一部分功能。 2. **需求工程**:需求获取的结果是需求定义,需求分析的产出是需求规格说明书。需求工程是软件开发的重要前期阶段,包括需求获取、分析、规格说明、验证和管理等活动,确保软件满足用户需求。 3. **DFD(数据流图)**:分为变换型和事务型两种类型。变换型DFD主要处理输入数据到输出数据的转换过程,而事务型DFD关注于数据处理的事务操作,通常涉及数据的存储和检索。 4. **结构化设计**:将DFD转化为模块结构图(MSD),是结构化方法中系统设计的一部分,目的是将复杂的系统分解为可管理的模块,降低系统的复杂性。 5. **软件过程分类**:分为基本过程(如需求工程、设计、实现、测试和维护),支持过程(如配置管理、质量管理、项目管理)和组织过程(如培训、质量保证政策)。 6. **测试技术**:白盒测试关注程序内部逻辑,黑盒测试则关注程序的功能行为。两者都是为了确保软件的正确性和可靠性。 7. **面向对象设计**:涉及问题域、人机交互、控制驱动和数据接口四个部分的设计,体现面向对象设计的封装、继承和多态特性。 8. **判断题**:涉及到软件的正确性定义、软件测试与调试的区别、模块耦合的分类、软件过程的理解、面向对象方法与结构化方法的区别、对象关系、等价类划分法等概念的正误判断,有助于检验考生对这些基本概念的掌握程度。 这份试卷全面考察了软件工程的基础理论和实践,对于理解和掌握软件开发的各个阶段及关键活动具有重要的学习价值。