软件工程基础与王立福教授研修班讲义

需积分: 32 23 下载量 166 浏览量 更新于2024-08-20 收藏 3.86MB PPT 举报
"北大王立福教授的软件工程2012研修班课件,主要探讨了软件工程的基础知识,包括软件开发的本质、软件过程、需求分析、开发方法学以及CMM(软件能力成熟度模型)。" 在软件工程中,王立福教授强调了几个核心概念: 1. **软件开发的本质**:软件开发不仅仅是编写代码,而是将问题域的概念和处理逻辑转化为不同的抽象层,包括需求、设计、实现和部署阶段。这一过程涉及将客观问题转化为概念模型,再通过设计模型和实现模型最终在特定平台上运行。 2. **软件过程**:软件过程涵盖了从需求获取到维护的整个生命周期,包括活动的组织和管理。这一过程需要遵循一定的顺序和方法,以确保软件的质量和效率。 3. **软件需求及系统/产品需求规约**:软件开发的起点在于明确需求,需求规约作为产品确认和测试的基准,它定义了软件应具备的功能性和非功能性特性。 4. **软件开发方法学**:教授提到了结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法等多种开发方式,这些方法提供了实现开发过程的不同路径,帮助开发者选择最适合项目的方法。 5. **CMM(软件能力成熟度模型)**:CMM旨在提高软件过程的能力,确保软件产品的质量和可靠性。它提供了软件开发过程改进的框架,通过五个成熟度级别逐步提升组织的软件开发能力。 6. **软件生存周期模型**:软件生存周期模型描述了软件从诞生到退役的各个阶段,包括需求分析、设计、实现、集成、部署和维护等。每个阶段都有其特定的任务和目标,并通过合适的开发风范、方法、工程支持和管理来实现。 7. **抽象层和模型映射**:问题空间、需求、设计、实现和部署构成了软件开发的不同抽象层。在这些层之间进行映射,意味着将问题域的复杂性转化为可管理和计算的结构,如概念模型、设计模型、实现模型和部署模型。 8. **软件工程的基本知识结构**:软件工程不仅包含技术层面,还涉及到工程管理原则,如成本控制、时间安排和用户需求满足。正确的思想基础是成功软件开发的关键,它需要将计算机科学理论、工程技术和管理原则结合起来。 王立福教授的课程深入浅出地讲解了软件工程的核心理念和实践,为理解和掌握软件开发过程提供了全面的视角。