软件工程能力成熟度模型CMM解析-王立福

需积分: 37 19 下载量 33 浏览量 更新于2024-08-15 收藏 3.61MB PPT 举报
"能力成熟度等级-2011版王立福自学考试的软件工程课件" 在软件工程领域,能力成熟度模型(Capability Maturity Model,简称CMM)是一个重要的概念,它用于评估和改进软件开发组织的能力水平。王立福教授的课件中提到,能力成熟度等级是指软件开发组织在发展过程中逐步建立的一系列有明确界定的平台,这些平台代表了组织在软件过程能力上的进步。每个等级包含一组过程目标,当组织达到这些目标,意味着其软件过程的一个或多个关键方面得到改善,为向更高级别的成熟度迈进奠定了基础。 软件工程的基础在于能够有效地进行软件开发和评估。这不仅要求理解具体的技术操作,还要深入理解其背后的原理。北京大学软件工程国家工程研究中心的王立福教授强调了五个主要的软件工程方面: 1. 概论:探讨软件开发的本质和基本方法,帮助开发者树立正确的开发思想,理解软件开发不仅仅是编写代码,还包括对问题域的理解和映射。 2. 软件过程:关注开发过程中涉及的各项活动及其组织方式,确保软件生命周期中的各个阶段有序进行。 3. 软件需求及系统/产品(需求)规约:这是软件开发的起点,定义了产品的功能和非功能需求,同时也是测试和验证产品的标准。 4. 软件开发方法学:包括各种开发方法,如结构化方法、面向对象方法、面向数据结构的方法和特定的开发框架,为实现开发过程提供路径。 5. CMM:提供了一种评估和提升软件过程能力的框架,通过五个成熟度等级(初始级、可重复级、已定义级、已管理级、优化级),确保开发过程的质量和效率。 软件开发的本质在于将问题域的概念和逻辑映射到解决方案的不同抽象层。这涉及到数据抽象(例如,将现实世界对象转化为模型化概念)和过程抽象(将问题处理逻辑转化为可构造的计算逻辑)。需求分析是这一过程的关键,它使用不同的方法(如面向对象方法和结构化方法)来理解和表达这些映射关系,形成计算的客体和逻辑。 通过理解和应用CMM,软件开发组织可以系统地改进其过程,提高生产力,降低风险,并最终交付更高质量的软件产品。王立福教授的课件为自学软件工程的学生提供了全面且深入的学习材料,帮助他们理解软件开发的本质和实践。