软件工程软件能力成熟度模型与项目管理文档格式.docx
- 文档编号:4786655
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:27
- 大小:956.95KB
软件工程软件能力成熟度模型与项目管理文档格式.docx
《软件工程软件能力成熟度模型与项目管理文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程软件能力成熟度模型与项目管理文档格式.docx(27页珍藏版)》请在冰点文库上搜索。
软件流程(softwareprocess)。
软件开发人员为开发和维护软件及相关产品所实施的一系列步骤,这些步骤涉及方法、工具以及人的组织和行为。
软件产品的质量取决于软件开发和维护流程的质量,与其他产品的开发流程一样,软件流程也必须进行严格管理,因为只有严格管理才能保证效益和质量。
组织的标准软件流程(organization’sstandardsoftwareprocess)。
组织内部使用的软件流程,它描述软件流程要素和要素之间的关系,用它可以建立某一具体项目的软件流程。
软件开发组织的软件流程能力是软件开发组织能够承接软件项目的重要依据。
成熟的软件开发组织十分重视提高自身的软件流程能力,组织的领导者注意调动各层次、各类型人员的积极性和创造性,注意提高员工素质和技能,注意培育和发扬企业文化。
在软件开发流程中,大家能够团结协作,能够将人、软件开发策略和方法、软件工具和环境有机地结合起来,使得软件开发和维护的整个流程是系统的、完整的、一致的和规范的。
软件开发组织的软件流程是动态的,是逐步成熟和演化的。
项目的软件流程(project’sdefinedsoftwareprocess)。
按照项目的特点和要求,对组织的标准软件流程进行剪裁和描述,包括相关的软件标准、规程、工具和方法。
三、为什么需要CMM
软件企业的目标:
获得利润
–建立&
保障产品的信誉
·
产品本身的品质
产品满足需求的程度
产品的工期要求
–产品的成本
产品的质量+生产流程的质量
软件企业的主要问题
–产品本身:
不能满足用户的需求;
质量难以满足预定要求,bug过多
–流程方面:
成本和工期不可测;
成功的软件开发经验依赖于个人而不可重复
问题症结:
流程的不规范(不成熟)
美国国防部指定卡内基-梅隆大学的软件工程研究所(SEI:
SoftwareEngineeringInstitute)在1987年研究了一套流程规范--CMM
四、CMM概述
为企业的发展规定流程成熟级别,分为5级(Version1.0):
–初始级(Initial):
一般企业皆具有
–可重复级(Repeatable):
成功经验可以重复
–定义级(Defined):
一套完整的企业流程,人员自觉遵守(培训)
–管理级(Managed):
流程&
产品可度量和控制
–优化级(Optimizing):
流程持续改进
从无序到有序、从特殊到一般、从定性管理到定量管理、最终达到动态优化
能力成熟度级别的提高
软件流程或软件开发组织按照CMM模型认真评估并找出优势和差距后,通过有针对性的自身建设,可以提高能力成熟度等级。
逐级提高的基础和涉及的主要建设内容如图
CMM各级别特征描述
CMM级别
组织行动
项目中的行动
软件开发能力
1级
缺乏合理管理;
无效的规划、被动交付服务
出现危机时项目领导通常放弃既定的规定;
缺乏合理的协调开发管理
无法预测软件开发结果;
没有稳定的软件开发流程
2级
既定的软件开发政策与流程;
项目管理流程制度化,以往经验可重复
可预测项目投入;
可跟踪开发成本、监督和质量,确认开发中遇到的问题;
项目控制与实施与项目标准要求一致
有相对稳定的规划,追踪;
项目可以依计划进行,可有效控制
3级
开发流程被记录;
与项目管理整合;
各关键流程域有持续支持,包括培训方案
项目可以根据组织开发流程剪裁,定义项目开发流程;
管理人员明确项目技术进程
软件开发能力标准化并一贯执行;
软件质量、进度、成本都得到控制
4级
为软件产品和开发流程设定质量目标;
组织测评方案中包括各项目的生产能力和软件质量的测评;
组织提供量化的评价依据
项目开发流程带来的产品差异控制在可接受的范围;
管理良好
开发能力可以预期;
也许开发流程和质量在可量化的范围内变动,超出范围时可以采取纠正措施
5级
持续改进;
面对新技术新流程进行成本-效益分析;
开发实务中的创新在组织内可以推广
项目中分析缺陷并确定其原因;
项目组评价开发流程,防止出现类似缺陷
能力持续得到改进;
采用创新技术和方法
CMM的能力成熟度级别及关键流程域
CMM的能力成熟度级别及关键流程域如表所示。
CMM的能力成熟度共分5级:
L1初始级、L2可重复级、L3已定义级、L4已管理级和L5优化级。
因为初始级L1处于无序工作状态,无系统的规范,故在表中略去。
L2以上包含若干关键流程域。
表14—14CMM的能力成熟度级别关键流程域
成熟度等级
关键流程域
L2可重复级
需求管理软件项目计划项目跟踪和监督
分包合同管理软件质量保证软件配置管理
L3已定义级
组织级流程焦点组织级流程定义培训大纲
集成软件管理软件产品工程组间协调同行评审
L4已管理级
定量的流程管理软件质量管理
L5优化级
缺陷的预技术更新管理流程更改管理
五、CMM的五个级别:
Level1:
初始级开发流程不存在或无法识别
CMM的五个级别:
Level2:
可重复级
–Milestone可见,按计划开发
2级软件组织的特征和改进要求
表现
要求
活动
关键流程区域
CMM2级:
建立基本的项目管理规范和工作机制
明确需求
建立需求基线
需求管理
建立项目计划文档
估算项目规模、工作量、成本、资源;
建立项目计划、估算、过程、风险文档。
软件项目计划
跟踪项目进度
度量项目进展,及时采取纠正措施;
验证产品和活动是否符合需求。
软件项目跟踪与监控软件质量保证
对产品进行管理和控制
对产品、变更、问题进行识别和控制;
选择合适的承包商,管理其开发活动。
软件配置管理
软件转包合同管理
2级关键流程域
需求管理流程:
建立客户的软件项目需求,并使项目开发人员与客户对软件需求产生一致的理解。
这一点很重要,因为它是软件项目管理和开发的基础,在很多场合还需要软件需求工程的支持。
软件项目计划:
制定实施软件工程与管理软件项目的工作计划。
主要工作包括:
明确任务,估算软件产品的规模、所需资源和约束条件,估算存在的风险以及产生项目计划文档等。
软件项目计划是管理软件项目必需的文件和工具。
内部审计师审核应关注的内容
确保组织具备适当的评估方法并对计划和跟踪所有信息系统工程的文件存档。
组织必须具备一定的评估步骤用于记录与重大工程相关的责任与行为。
工程开发流程中所有受到影响的团体都应当提交关于工程的承诺书。
工程计划应当遵循拟定好的并获得批准的企业工程计划条例。
企业应当有一定的度量方法来跟踪全部工程计划行为的状态。
应当即时跟踪全部工程成本和工程进度,并比较工程计划估计值和实际发生值。
如果实际结果与项目计划发生很大差异,组织应当实施一定的方法进行修正。
组织应当定期跟踪工程各个阶段的进度和实际花费,并比较计划进度和预算。
高层管理者应当定期检查项目跟踪的状态并适时进行调节。
软件跟踪与监控:
根据软件开发计划管理软件项目,随时掌握软件项目的实际开发流程。
按照项目计划对软件开发的进度和阶段产品进行跟踪和评审,当软件项目的执行状况与软件项目计划发生较大偏差时,管理机构必须采取有效的控制措施,必要时可根据项目的实际完成情况和结果修订项目计划。
软件质量保证:
复核并审计软件产品和软件开发行为,以确保其遵循适当的程序和标准,对发现的问题应采取必要措施。
评审软件产品和活动,检验它们是否与应用予以解决。
软件配置管理:
保证软件项目生成的产品在软件生命周期中的完整性。
在给定时间点上确定软件配置(如工作产品及其说明),系统地控制软件配置的变化并在整个软件生命周期中维护配置的完整性和可跟踪性。
·
软件转包合同管理:
根据商业联盟、流程能力和技术等因素选择高质量的软件承接方来承接软件项目的部分子项目。
制订子项目承接方的工作任务和项目计划文档,它是主承接方跟踪检查和监督子项目流程和产品的依据。
CMM的五个级别:
Level3:
定义级
–每个阶段的内部活动可见
–标准流程和项目定义流程裁剪
3级软件组织的特征和改进要求
表现
活动
关键流程区域
CMM3级:
促使组织内部所有软件流程活动标准化
建立标准开发流程
在组织内明确软件流程改进工作职责;
根据最佳开发实践,建立组织的标准软件流程及流程数据库;
建立软件开发活动标准;
通过裁剪标准软件流程,确定项目的开发流程。
组织流程焦点组织流程定义软件产品工程集成软件管理
培育团队精神
使所有人赞同项目需求和承诺;
增加团队成员的技能和知识。
组间协调
培训大纲
减少缺陷
尽早识别缺陷并快速消除缺陷
同行评审
3级关键流程域
组织流程焦点:
不断提高对组织软件工程和项目软件流程的认识和理解,围绕流程定义和流程改进目标及时采取措施,协调、评估、开发和维护流程改进活动。
组织流程定义:
流程定义的关键实践活动包括:
描述软件生命周期、制定流程剪裁准则和指南、建立组织级的软件流程数据库及相关文档库、确定定量流程管理需要的数据、形成稳定的准则支持组织制定各项规章制度等。
软件产品工程:
按照软件工程流程的定义,有效地开发出稳定的软件工作产品。
软件工作产品指描述软件流程的文档、计划、规程,计算机程序和数据等,其中的一部分或全部将交付客户或最终用户。
主要活动是描述软件项目的技术活动,如需求分析、设计、编码和测试,为软件工作产品建立文档,并保持它们的可跟踪性和一致性。
集成软件管理:
集成化软件管理的基础是,L2的需求管理、软件项目计划、软件项目跟踪和监督3个关键流程。
满足集成化软件管理的组织应能够按照组织严格定义的流程来计划和管理一个软件项目
组间协调:
软件流程工作量大,参与的人员多、复杂程度高,软件产品时效性强,必须有严格的分工和密切的协作。
软件工程小组应特别注意系统需求、测试等方面的问题,主动与相关小组协调,因为只有合作攻关才能使项目更好、更有效地满足客户需求。
培训大纲:
通过培训,提高组织成员个人的知识水平和技能,以便更好地、更有效地完成工作任务。
培训内容应针对组织、项目和个人的实际需要。
根据培训需求制定培训大纲,包括培训计划、内容、资料、设备、方式和评价等。
同行评审:
同行专家评审是一种有效的、重要的工程方法,评审方式有检查、结构走查等。
评审能够加深对软件工作产品的理解,能够尽早地、有效地排除软件产品的缺陷。
Level4管理级
–流程可度量,预测值与结果之间的偏差可控
4级软件组织的特征和改进要求
CMM4级:
为了跟踪和控制软件开发质量,要对开发过程和产品进行分析
建立质量目标
为改进软件过程建立度量目标;
建立软件产品质量目标。
数量化过程管理
软件质量管理
对项目进展进行量化管理
对软件过程的性能进行度量;
对产品质量进行度量
数量化过程管理软件质量管理
4级关键流程域
–定量的流程管理(quantitativeprocessmanagement)。
定量地控制项目的软件流程能够达到的实际结果,从而得到一个稳定的、可定量预测的流程。
–软件质量管理(softwarequalitymanagement)。
软件质量管理以产品为中心,目标是定量地评价软件产品的质量,实现具体的质量目标,满足客户和最终用户的需要。
关键实践活动内容包括:
定义软件产品的质量目标,制定软件质量计划,监督、调整软件质量计划、软件工作产品、开发活动及目标等。
Level5优化级
–流程动态调整、新技术的采用
5级软件组织的特征和改进要求
CMM5级:
过程改进活动已经制度化
优化性能
识别和消除产生缺陷的原因;
持续改进质量、生产率和开发周期模型。
缺陷预防流程变更管理
采用新技术
识别、改进和使用新技术
技术变更管理
5级关键流程域
缺陷的预防(defectprevention)。
分析软件项目的缺陷,确定原因,并采取相应措施预防他们再次发生。
缺陷预防措施常常涉及软件流程的定义、管理和技术的进步等。
技术更新管理(technologychangemanagement)。
选择、评价和确定新技术,如工具、方法和流程,并将有效的技术引入到软件开发组织,以便改进软件质量、提高软件生产率、缩短软件产品的开发周期。
技术更新管理能有效地改进软件流程。
流程变更管理(processchangemanagement)。
为提高软件质量和软件生产率,缩短软件产品的开发周期,必须不断改进组织中使用的软件流程。
流程更改管理应在上级管理部门的主持下,积极主动且系统地对组织的标准软件流程和项目定义的软件流程进行改进和创新。
综上所述,自然会得出这样的结论:
组织的成熟度级别越高,其软件开发能力越强,产品质量越好,效率越高,成本越低。
SEI/CMU制定了项目的软件流程CMM评估方法,该方法也可以用于组织的软件能力成熟度评价。
基于CMM的评估方法分6个步骤:
①成立评估小组,小组由软件工程和管理工作经验丰富的专家组成,小组成员应接受过CMM基本概念和评估方法的专门培训。
②制定成熟度问卷调查表,参评单位的代表认真填写成熟度问卷调查表,并回答有关问题。
③评估小组分析调查问卷。
④评估小组现场访问、召开座谈会、审核流程文档,判断关键流程域的实践活动是否达到预定目标,并将结论记入文档。
⑤整理调查结果、撰写调查报告,指明软件流程的强项和弱项。
⑥绘制软件关键流程域剖面图,显示是否达到关键流程域的目标,并向有关部门提交评估的结论性意见。
一、项目概述---定义
项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。
二、项目概述
项目的特征
1.有明确的目标
2.项目之间的活动具有相关性
3.限定的周期
4.有独特性
5.资源成本的约束性
6.项目的不确定性
项目与日常运作的区别
□项目是一次性的,日常运作是重复进行的,
□项目是以目标为导向的,日常运作是通过效率和有效性体现的,
□项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理;
□项目存在大量的变更管理,而日常运作则基本保持连贯性的。
项目举例
开发新产品或服务;
开发一个新系统;
采购并实施一个系统;
实施新业务流程;
建筑物的布线;
建造一座桥梁;
奥运会的信息系统工程;
…
IT项目的问题及原因
三、项目管理的定义
项目管理:
在项目活动中运用知识、技能、工具和技术以达到项目的目标和要求。
◆项目管理的能力和水平将构成新经济时代的个人和组织的核心竞争力;
◆大量投资要通过项目来实现;
◆IT项目的投资金额越来越大;
◆IT对企业核心业务帮助增大,并带动业务的发展;
项目生命周期
将项目的全过程,分解为几个阶段,这些阶段的总和,称为项目的生命周期
项目生命周期定义了项目的开始和结束
项目的阶段的划分主要是根据一项或几项交付件的完成
项目生命周期的使用,可以方便项目经理对项目进行管理和控制
项目的生命周期的特点
项目可以分为多个阶段
–启动、计划阶段
–中间执行阶段
–收尾阶段
每一个阶段完成后应有里程碑
开始时风险和不确定因素多,随着项目的进展不确定因素减少;
工作量在各阶段不同
随着项目的进行,项目变更和改正错误所需要花费的成本随着项目的推进而急增;
项目管理的活动及流程
项目管理活动包括:
启动(Initialing)
明确项目或阶段的开始,并承诺执行;
计划(Planning)
制定和维护可执行的计划;
执行(Executing)
协调组织人员和其它资源执行项目计划;
控制(Controlling)
通过监控项目进程,并在必要时采取正确的行动,以确保达成项目的目标;
结束(Closing)
项目或阶段的正规验收,以产生一个有序的结束。
项目管理国际标准
项目管理知识(基于美国PMI的PMBOK)
–以知识为主,流程为辅
–回答:
项目管理是什么?
项目管理流程(基于英国OGC的PRINCE2)
–以流程为主,知识为辅
怎样进行项目管理?
项目管理9大领域(PMBOK)
项目管理的框架:
流程和组件
项目管理流程
项目准备流程模块
项目启动流程(IP)
项目启动流程模块
项目指导流程(DP)
项目指导模块
阶段控制流程(CS)
阶段控制模块
产品交付管理流程(MP)
产品交付管理模块
阶段边界管理流程(SB)
阶段边界管理模块
项目收尾流程(CP)
项目收尾模块
计划流程(PL)
内部审计人员与项目管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 能力 成熟度 模型 项目 管理