软件工程方法学与大学派解析 - 王立福自考课件

需积分: 31 73 下载量 157 浏览量 更新于2024-08-20 收藏 3.53MB PPT 举报
"北大王立福的《软件工程》自考课件主要涵盖了软件工程的基础、软件过程、软件需求、软件开发方法学以及CMM等内容,旨在深入理解软件开发的本质和手段,通过不同的方法学来指导开发活动。" 在王立福的软件工程课程中,他强调了软件开发不仅要知道如何做,还要理解为什么要这样做。这体现在以下几个关键知识点上: 1. **软件开发的本质**:软件开发的本质是对问题域的抽象,将客观事物系统转化为在不同抽象层之间的概念和计算逻辑映射。例如,需求分析阶段会进行数据抽象和过程抽象,将问题空间中的概念转化为解空间的模型化概念,处理逻辑则被转换为可构造的计算逻辑。 2. **软件过程**:软件过程涉及到软件开发中的各种活动及其组织,包括需求获取、系统/产品需求规约、设计、实现、测试等。这一过程需要明确的步骤和实施策略,确保软件开发的有效性。 3. **软件开发方法学**:课程提到了多种方法学,如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法等。每种方法学都有其适用场景和优缺点。例如,面向对象方法易于学习和掌握,但可能不够灵活应对新问题;而结构化方法侧重过程抽象,适用于构建清晰的处理逻辑。 4. **软件需求及系统/产品(需求)规约**:需求是软件开发的起点,也是测试的基准。需求规约明确表达了产品的功能和性能要求,是软件开发过程中必不可少的一环。 5. **CMM(Capability Maturity Model for software)**:CMM是一种评估和改进软件开发过程成熟度的框架,它提供了获得正确产品/系统的过程能力保障。通过CMM,可以逐步提升软件开发的效率和质量。 6. **软件工程基本知识结构**:软件工程涵盖了许多支持和管理技术,如需求分析工具、设计工具、版本控制、测试工具等,这些工具和技术共同构成了软件工程的基本知识结构。 王立福的《软件工程》课程全面讲解了软件开发的各个环节,从理论到实践,旨在培养学生的系统思维和软件工程素养,使他们能够适应不断变化的软件开发环境。通过学习这些内容,开发者能够更好地理解和掌握软件开发的精髓,提高软件项目的成功率。