软件工程与CMM:王立福教授解析能力成熟度模型

需积分: 32 23 下载量 132 浏览量 更新于2024-08-20 收藏 3.86MB PPT 举报
"能力成熟度等级-北大王立福教授 软件工程2012研修班课件" 这篇课件主要介绍了软件工程中的核心概念,特别是能力成熟度模型(CMM),以及软件开发过程的各个阶段。王立福教授通过北大软件工程国家工程研究中心的视角,阐述了软件开发的本质、过程、需求、方法学以及CMM在确保过程能力成熟度中的作用。 1. 软件开发的本质 软件开发本质上是将问题域的概念和处理逻辑转化为一系列不同抽象层的概念和计算逻辑。这包括问题空间、需求分析、设计、实现和部署等阶段。软件模型是连接客观事物系统与计算逻辑的桥梁,需要跨越“距离”,适应不同的运行环境和平台。 2. 软件过程 软件过程涵盖了从项目启动到软件交付和维护的整个生命周期。它试图回答软件开发涉及的活动以及如何组织这些活动。每个阶段都有其特定的目标和产出,如需求分析用于明确软件开发的起点,而系统/产品需求规约则是测试和确认产品的标准。 3. 软件需求及系统/产品(需求)规约 需求是软件开发的起点,它们定义了软件应具备的功能性和非功能性特性。需求规约作为工作产品,是评估和验证软件是否符合预期的关键依据。 4. 软件开发方法学 开发方法学包括结构化方法、面向对象方法、面向数据结构方法、维也纳开发方法等,它们为实际的开发过程提供了路径。选择合适的开发方法有助于更有效地实现需求并支持软件的生命周期过程。 5. CMM(Capability Maturity Model for software) CMM是一种评估软件开发组织过程能力成熟度的框架。它由一系列等级构成,每个等级代表了一组过程目标。当组织达到某一级别的目标时,表明其在软件过程的一个或多个关键方面有所进步,为向更高层次的成熟度迈进打下基础。 软件工程是一门应用计算机科学理论、技术与工程管理原则来按预算和进度开发满足用户需求的软件产品的学科。它强调采用合适的开发范式、方法,提供工程支持,并实施有效的工程管理,以确保软件项目的成功。