《软件工程13软件过程管理与改进.pptx》由会员分享,可在线阅读,更多相关《软件工程13软件过程管理与改进.pptx(17页珍藏版)》请在第壹文秘上搜索。
1、软件工程2023-5-82第第13章章 软件过程管理与改进软件过程管理与改进 软件企业组织需要建立一个软件企业组织需要建立一个统一的、明确定义的组织统一的、明确定义的组织级软件过程级软件过程,使得所有的项目遵照执行,同时在实用,使得所有的项目遵照执行,同时在实用执行中不断地改进和完善组织级过程体系。执行中不断地改进和完善组织级过程体系。 CMMI是一个企业级的软件开发过程模型和质量标准,是一个企业级的软件开发过程模型和质量标准,提供了一个组织级的管理模型、标准、改进框架。提供了一个组织级的管理模型、标准、改进框架。 软件过程框架形成一个包含软件过程框架形成一个包含CMMI、PSP和和TSP三者
2、三者的严密的整体,的严密的整体, 本章重点阐述以此为基础的组织级的本章重点阐述以此为基础的组织级的软件过程体系。软件过程体系。软件过程管理软件过程管理 承认并坚持过程改进带来的潜在积极作用,是质承认并坚持过程改进带来的潜在积极作用,是质量管理的核心任务。量管理的核心任务。 擅于站在巨人的肩膀上,在别人的工作基础上进擅于站在巨人的肩膀上,在别人的工作基础上进行过程的利用和改进。行过程的利用和改进。 由于项目领域的多样性以及边界约束的复杂性,由于项目领域的多样性以及边界约束的复杂性,一个一成不变的通用开发过程是不存在的。一个一成不变的通用开发过程是不存在的。2023-5-83功能质量成本时间 过程
3、的裁剪定制和灵活性是过程的裁剪定制和灵活性是质量管理的目标和准则。质量管理的目标和准则。能力成熟度模型能力成熟度模型 由卡内基梅隆大学软件工由卡内基梅隆大学软件工程研究所(程研究所(SEI)负责研发)负责研发,并形成了一套系统的评,并形成了一套系统的评估标准,也为软件公司提估标准,也为软件公司提供了认证的标准和路线。供了认证的标准和路线。 模型中将过程的能力和成模型中将过程的能力和成熟情况按照等级或成熟度熟情况按照等级或成熟度进行了划分。进行了划分。 开发的能力与成熟度阶段开发的能力与成熟度阶段性的改善过程和路线通过性的改善过程和路线通过下图进行了可视化的描述下图进行了可视化的描述。2023-
4、5-84CMM模型(模型(Capability Maturity Model)初衷是为美)初衷是为美国国防部(国国防部(DoD)提供对软件)提供对软件开发承包商的资质进行评估,开发承包商的资质进行评估,以增加国防项目成功的几率。以增加国防项目成功的几率。CMMI与与过程改进过程改进2023-5-852023-5-86工作包定义估算每个工作包的工作量计划调度资源组织项目任务分解任务描述风险分析技术准备交付产品定义责任分配确定可重用的部件建立初始的WBS原公司标准流程按照CMMI“需求开发” SP1.1的改进each task CMMI提供了对所有任务提供了对所有任务的风险和人员需求的描述的风险和
5、人员需求的描述,图中右侧针对原企业模,图中右侧针对原企业模型进行了具体改进。型进行了具体改进。 CMMI二级及以上中的子过程又称为是过程域(二级及以上中的子过程又称为是过程域(Process Area) 过程域简单的说就是做好一个事情的某一个方面过程域简单的说就是做好一个事情的某一个方面,对应软件开发来说,就是,对应软件开发来说,就是做好软件开发的某一做好软件开发的某一个方面个方面。 CMMI中过程域(中过程域(PA)主要内容分四大类)主要内容分四大类22个,个,其中其中2-3级有级有18个,个,4-5级级4个个2023-5-87CMMI过程域过程域CMMI核心过程域核心过程域2023-5-8
6、8过程域结构过程域结构 每个过程域具有一系列的目标,包括特定目标(每个过程域具有一系列的目标,包括特定目标(Specific Goals)和通用目标()和通用目标(General Goals),并给出了它们对),并给出了它们对应的特定实践(应的特定实践(Specific Practice)和通用实践()和通用实践(General Practice)。)。2023-5-89PP过程域示例过程域示例 PP过程域的基本描述结构过程域的基本描述结构2023-5-810PP过程域示例过程域示例2023-5-811特定目标和实践描述结构特定目标和实践描述结构PP过程域示例过程域示例2023-5-812特定
7、子实践描述结构特定子实践描述结构PP过程域示例过程域示例2023-5-813通用目标和实践描述结构通用目标和实践描述结构CMMI为每位员工也定义了阶段性为每位员工也定义了阶段性的能力和成熟度,即个体软件过程的能力和成熟度,即个体软件过程(Personal Software Proces,PSP)。)。PSP0理解软件过程的思想并且完成理解软件过程的思想并且完成相应的开发工作。相应的开发工作。PSP1计划个人工作安排(个人过程计划个人工作安排(个人过程的改进),通过实际开发时间和缺的改进),通过实际开发时间和缺陷的度量,确定对个人过程的改进陷的度量,确定对个人过程的改进是否带来了工作的提升。是否
8、带来了工作的提升。PSP2开发人员能够树立自己的质量开发人员能够树立自己的质量目标并通过自我评审评估工作效率目标并通过自我评审评估工作效率。2023-5-814PSPTSP TSP是对团队软件过程的定义、度量和改革是对团队软件过程的定义、度量和改革提出了一整套原则、策略和方法提出了一整套原则、策略和方法 把把CMMI要求实施的管理与要求实施的管理与PSP要求开发人要求开发人员具有的技巧结合起来,以按时交付高质员具有的技巧结合起来,以按时交付高质量的软件,并把成本控制在预算的范围之量的软件,并把成本控制在预算的范围之内。内。2023-5-815TSP框架框架 TSP是一个框架,个人将自己的工作过
9、程和是一个框架,个人将自己的工作过程和技能结合到具备团队成熟的过程管理技术,技能结合到具备团队成熟的过程管理技术,使他们能够完成高质量的工作。使他们能够完成高质量的工作。 TSP框架结构包括一系列框架结构包括一系列能力领域能力领域。 每个能力领域都由一组相互关联的知识域组成每个能力领域都由一组相互关联的知识域组成 知识域又是由概念和技能组成,知识域又是由概念和技能组成, 这些概念和技能是知识域中包含的最小信息单这些概念和技能是知识域中包含的最小信息单位。位。 概念用于描述概念用于描述TSP内容的智能方面,即技术的信息内容的智能方面,即技术的信息、事实、术语和哲学成分。、事实、术语和哲学成分。
10、技能指个人理解和应用一个或多个概念的能力,从技能指个人理解和应用一个或多个概念的能力,从而能够完成工作任务的执行。而能够完成工作任务的执行。2023-5-8166个个能力领域,分别是能力领域,分别是TSP基基础和原理、团队基础、础和原理、团队基础、TSP的的项目策划、项目策划、TSP的项目实施和的项目实施和跟踪、收集和使用跟踪、收集和使用TSP数据、数据、扩大扩大TSP。每个能力领域都全面描述了相每个能力领域都全面描述了相关的知识域以及知识域中的概关的知识域以及知识域中的概念与技能,供团队应用到项目念与技能,供团队应用到项目管理中。管理中。 当过程满足了一些预定的要求和约束,可以按照某些标准当
11、过程满足了一些预定的要求和约束,可以按照某些标准对过程进行认证。对过程进行认证。 ISO9000质量体系能够在很多不同的业务领域使用质量体系能够在很多不同的业务领域使用 ITIL(Information Technology Infrastructure Library)信息技术)信息技术基础架构库主要适用于基础架构库主要适用于IT服务管理。服务管理。 SPICE(Software Process Improvement and Capability dEtermination)是一种类似于)是一种类似于CMMI的机制,提供了对软件开发的机制,提供了对软件开发公司的过程质量进行评估的框架。公司的过程质量进行评估的框架。 从制度到企业文化,再到全面质量管理(从制度到企业文化,再到全面质量管理(Total Quality Management,TQM)一般要经历僵化、固化和优化三个)一般要经历僵化、固化和优化三个阶段。阶段。2023-5-817过程标准认证过程标准认证