软件工程基础:王立福教授讲解软件开发本质

需积分: 31 73 下载量 108 浏览量 更新于2024-08-20 收藏 3.53MB PPT 举报
"北大王立福《软件工程》自考课件主要涵盖了软件工程的基础知识,包括软件开发的本质、软件过程、软件需求、开发方法学以及CMM模型。课程强调了对软件生存周期的理解,以及如何通过不同的开发方法将问题域映射到计算逻辑上。" 在软件开发中,王立福教授强调了以下几点关键知识点: 1. **软件开发的本质**:软件开发的本质是将问题域中的客观事物系统,通过不同的抽象层次,映射到计算逻辑上。这包括数据抽象和过程抽象。数据抽象是将问题空间的概念转化为模型化概念,而过程抽象则是将问题空间的处理逻辑转化为解空间的可构造计算逻辑。 2. **软件过程**:软件过程涉及到一系列的开发活动及这些活动的组织,形成软件生存周期模型。这一过程包括需求获取、分析、设计、实现、测试和维护等阶段,每个阶段都有其特定的任务和目标。 3. **软件需求及系统/产品规约**:软件开发的起点是明确和理解软件需求,形成系统或产品的需求规约。需求规约是后续开发工作的基准,并且是产品确认(测试)的标准。 4. **软件开发方法学**:包括结构化方法、面向对象方法、面向数据结构方法、维也纳开发方法等多种方法。每种方法学提供了不同的实现开发活动的途径,帮助开发者将需求转化为实际的软件系统。 5. **CMM(Capability Maturity Model for software)**:CMM模型关注的是如何确保软件开发过程的能力,以产出正确的系统或产品。它提供了一套成熟度级别的框架,指导软件组织提升其过程能力和产品质量。 6. **软件工程基本知识结构**:涵盖从概论到具体实施的各个层面,包括对软件开发的理解,活动的定序,以及支撑过程的技术和方法。这些知识结构为软件工程师提供了扎实的理论基础和实践指导。 课程中通过实例分析,如计算学生成绩的应用,展示了需求分析、面向对象方法和结构化方法的运用,以帮助学习者理解和掌握软件开发的核心概念。通过这样的教学方式,旨在使学习者不仅理解软件开发的表面操作,还能深入理解其背后的原理和逻辑。