软件过程成熟度与CMM:北大王立福软件工程解析

需积分: 31 73 下载量 108 浏览量 更新于2024-08-20 收藏 3.53MB PPT 举报
"软件过程成熟度指明-北大王立福《软件工程》自考课件" 这篇摘要涉及的是软件工程领域的一个核心概念——软件过程成熟度,以及它对软件开发组织的重要意义。由北大软件工程国家工程研究中心的王立福教授在2009年的课程中讲解。王立福教授强调了理解软件开发的本质和基本手段的重要性,并围绕软件过程、需求、方法学以及CMM(软件能力成熟度模型)进行了深入探讨。 首先,软件过程成熟度是指一个软件开发组织在软件过程能力上的增长潜力、丰富多样性和一致性。这表明,随着组织对软件过程运用的不断强化,能够在不同项目中保持一致的纪律性,从而逐步提升软件生产效率和质量。这种持续的改进是软件开发组织追求的目标。 接着,课程涵盖了软件工程的四个主要方面: 1. 概论:讨论软件开发的本质,即问题域到不同抽象层之间的映射,以及软件开发的基本手段。 2. 软件过程:关注软件开发所涉及的活动和活动组织,这是实现高效软件开发的关键。 3. 软件需求及系统/产品(需求)规约:作为软件开发的起点,明确需求是确保项目成功的基础,同时也是测试和验证的依据。 4. 软件开发方法学:介绍了不同的开发方法,如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法等,这些方法提供了实现开发过程的路径。 此外,课程还提到了CMM,这是一种评估和改进软件开发过程能力的模型。通过CMM,组织可以系统地提高其过程成熟度,从而更有可能交付高质量的软件产品。 在讨论软件开发的本质时,王立福教授给出了三个示例,分别展示了数据抽象、过程抽象以及交互设计在需求分析和设计阶段的应用。这些例子清晰地揭示了软件开发过程中抽象思维的重要性,以及如何将问题空间的需求转化为解空间的模型。 这篇摘要涵盖了软件工程的核心要素,包括软件过程成熟度的提升、需求管理、开发方法的选择以及过程改进模型。对于理解和实践软件工程有重要的指导价值。