软件工程软件能力成熟模型与项目管理_第1页
软件工程软件能力成熟模型与项目管理_第2页
软件工程软件能力成熟模型与项目管理_第3页
软件工程软件能力成熟模型与项目管理_第4页
软件工程软件能力成熟模型与项目管理_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、为什么内部审计师要关注软件开发流程和软件开发项目管理 【字体:大 中 小】【打印】 本章的主要内容·为什么内部审计师要关注软件开发流程和软件开发项目管理·软件流程能力成熟度模型·内部审计师与软件流程能力成熟度模型·信息系统项目管理·项目管理与内部审计人员为什么内部审计师要关注软件开发流程和软件开发项目管理·软件质量影响组织业务正常有效运营。·内部审计师作为公司治理和完整内部控制框架的一个必要组成部分,对于公司软件开发流程管理控制也具有监督、咨询职能。软件质量属性·软件的质量属性功能性可靠性易用性效率可维护

2、性可移植性内部审计师在软件开发流程管理中的职责 为什么内部审计师要关注软件开发流程和软件开发项目管理 【字体:大 中 小】【打印】 本章的主要内容·为什么内部审计师要关注软件开发流程和软件开发项目管理·软件流程能力成熟度模型·内部审计师与软件流程能力成熟度模型·信息系统项目管理·项目管理与内部审计人员为什么内部审计师要关注软件开发流程和软件开发项目管理·软件质量影响组织业务正常有效运营。·内部审计师作为公司治理和完整内部控制框架的一个必要组成部分,对于公司软件开发流程管理控制也具有监督、咨询职能。软件质量属性

3、83;软件的质量属性功能性可靠性易用性效率可维护性可移植性内部审计师在软件开发流程管理中的职责 软件流程能力成熟度模型CMM 【字体:大 中 小】【打印】 一、什么是CMM·Capability Maturity Model企业软件流程的能力、成熟度模型是用来确定一个企业的软件流程的成熟程度以及指明如何提高该成熟度的参考模型。二、CMM的基本概念·组织(organization)。管理软件项目,能对项目进行评估和流程改进的实体,如政府机关、公司、服务部门等。·项目(project)。由组织承担的,并需要组织中各部门通力合作完成的指定产品的开发和维护任务。

4、任何一个项目都涉及经费、成本和进度计划。这里的产品包括硬件、软件或其他构件。·软件流程(software process)。软件开发人员为开发和维护软件及相关产品所实施的一系列步骤,这些步骤涉及方法、工具以及人的组织和行为。软件产品的质量取决于软件开发和维护流程的质量,与其他产品的开发流程一样,软件流程也必须进行严格管理,因为只有严格管理才能保证效益和质量。·组织的标准软件流程(organizations standardsoftware process)。组织内部使用的软件流程,它描述软件流程要素和要素之间的关系,用它可以建立某一具体项目的软件流程。·软件开发组

5、织的软件流程能力是软件开发组织能够承接软件项目的重要依据。成熟的软件开发组织十分重视提高自身的软件流程能力,组织的领导者注意调动各层次、各类型人员的积极性和创造性,注意提高员工素质和技能,注意培育和发扬企业文化。在软件开发流程中,大家能够团结协作,能够将人、软件开发策略和方法、软件工具和环境有机地结合起来,使得软件开发和维护的整个流程是系统的、完整的、一致的和规范的。软件开发组织的软件流程是动态的,是逐步成熟和演化的。· 项目的软件流程(projects defined softwareprocess)。按照项目的特点和要求,对组织的标准软件流程进行剪裁和描述,包括相关的软件标准、规

6、程、工具和方法。三、为什么需要CMM·软件企业的目标:获得利润建立&保障产品的信誉·产品本身的品质·产品满足需求的程度·产品的工期要求产品的成本·产品的质量生产流程的质量·软件企业的主要问题产品本身:不能满足用户的需求;质量难以满足预定要求,bug过多流程方面:成本和工期不可测;成功的软件开发经验依赖于个人而不可重复·问题症结:流程的不规范(不成熟)·美国国防部指定卡内基-梅隆大学的软件工程研究所(SEI:Software Engineering Institute) 在1987年研究了一套流程规范CMM四

7、、CMM概述·为企业的发展规定流程成熟级别,分为5级(Version 1.0):初始级(Initial):一般企业皆具有可重复级(Repeatable):成功经验可以重复定义级(Defined):一套完整的企业流程,人员自觉遵守(培训)管理级(Managed):流程&产品可度量和控制优化级(Optimizing):流程持续改进·从无序到有序、从特殊到一般、从定性管理到定量管理、最终达到动态优化能力成熟度级别的提高 ·软件流程或软件开发组织按照CMM模型认真评估并找出优势和差距后,通过有针对性的自身建设,可以提高能力成熟度等级。逐级提高的基础和涉及的主要建设

8、内容如图 CMM各级别特征描述CMM级别组织行动项目中的行动软件开发能力1级缺乏合理管理;无效的规划、被动交付服务出现危机时项目领导通常放弃既定的规定;缺乏合理的协调开发管理无法预测软件开发结果;没有稳定的软件开发流程2级既定的软件开发政策与流程;项目管理流程制度化,以往经验可重复可预测项目投入;可跟踪开发成本、监督和质量,确认开发中遇到的问题;项目控制与实施与项目标准要求一致有相对稳定的规划,追踪;项目可以依计划进行,可有效控制3级开发流程被记录;与项目管理整合;各关键流程域有持续支持,包括培训方案项目可以根据组织开发流程剪裁,定义项目开发流程;管理人员明确项目技术进程软件开发能力标准化并一

9、贯执行;软件质量、进度、成本都得到控制4级为软件产品和开发流程设定质量目标;组织测评方案中包括各项目的生产能力和软件质量的测评;组织提供量化的评价依据项目开发流程带来的产品差异控制在可接受的范围;管理良好开发能力可以预期;也许开发流程和质量在可量化的范围内变动,超出范围时可以采取纠正措施5级持续改进;面对新技术新流程进行成本-效益分析;开发实务中的创新在组织内可以推广项目中分析缺陷并确定其原因;项目组评价开发流程,防止出现类似缺陷能力持续得到改进;采用创新技术和方法CMM的能力成熟度级别及关键流程域·CMM的能力成熟度级别及关键流程域如表所示。CMM的能力成熟度共分5级:L1初始级、

10、L2可重复级、L3已定义级、L4已管理级和L5优化级。因为初始级L1处于无序工作状态,无系统的规范,故在表中略去。L2以上包含若干关键流程域。 表1414CMM的能力成熟度级别关键流程域 成熟度等级关键流程域L2可重复级需求管理 软件项目计划 项目跟踪和监督分包合同管理 软件质量保证 软件配置管理L3已定义级组织级流程焦点 组织级流程定义 培训大纲集成软件管理 软件产品工程 组间协调 同行评审L4已管理级定量的流程管理 软件质量管理L5优化级缺陷的预 技术更新管理 流程更改管理五、CMM的五个级别:1级·Level 1:初始级开发流程不存在或无法识别CMM的五个级别:2级·

11、Level 2:可重复级 Milestone可见,按计划开发 2级软件组织的特征和改进要求表现要求活动关键流程区域CMM2级:建立基本的项目管理规范和工作机制明确需求建立需求基线需求管理建立项目计划文档估算项目规模、工作量、成本、资源;建立项目计划、估算、过程、风险文档。软件项目计划跟踪项目进度度量项目进展,及时采取纠正措施;验证产品和活动是否符合需求。软件项目跟踪与监控软件质量保证对产品进行管理和控制对产品、变更、问题进行识别和控制;选择合适的承包商,管理其开发活动。软件配置管理软件转包合同管理 2级关键流程域·需求管理流程:建立客户的软件项目需求,并使项目开发人员与客户对软件需求

12、产生一致的理解。这一点很重要,因为它是软件项目管理和开发的基础,在很多场合还需要软件需求工程的支持。·软件项目计划:制定实施软件工程与管理软件项目的工作计划。主要工作包括:明确任务,估算软件产品的规模、所需资源和约束条件,估算存在的风险以及产生项目计划文档等。软件项目计划是管理软件项目必需的文件和工具。内部审计师审核应关注的内容·确保组织具备适当的评估方法并对计划和跟踪所有信息系统工程的文件存档。·组织必须具备一定的评估步骤用于记录与重大工程相关的责任与行为。·工程开发流程中所有受到影响的团体都应当提交关于工程的承诺书。·工程计划应当遵循拟定好

13、的并获得批准的企业工程计划条例。·企业应当有一定的度量方法来跟踪全部工程计划行为的状态。·应当即时跟踪全部工程成本和工程进度,并比较工程计划估计值和实际发生值。·如果实际结果与项目计划发生很大差异,组织应当实施一定的方法进行修正。·组织应当定期跟踪工程各个阶段的进度和实际花费,并比较计划进度和预算。·高层管理者应当定期检查项目跟踪的状态并适时进行调节。 2级关键流程域·软件跟踪与监控:根据软件开发计划管理软件项目,随时掌握软件项目的实际开发流程。按照项目计划对软件开发的进度和阶段产品进行跟踪和评审,当软件项目的执行状况与软件项目计划发

14、生较大偏差时,管理机构必须采取有效的控制措施,必要时可根据项目的实际完成情况和结果修订项目计划。·软件质量保证:复核并审计软件产品和软件开发行为,以确保其遵循适当的程序和标准,对发现的问题应采取必要措施。评审软件产品和活动,检验它们是否与应用予以解决。·软件配置管理:保证软件项目生成的产品在软件生命周期中的完整性。在给定时间点上确定软件配置(如工作产品及其说明),系统地控制软件配置的变化并在整个软件生命周期中维护配置的完整性和可跟踪性。 ·软件转包合同管理:根据商业联盟、流程能力和技术等因素选择高质量的软件承接方来承接软件项目的部分子项目。制订子项目承接方的工作任

15、务和项目计划文档,它是主承接方跟踪检查和监督子项目流程和产品的依据。 CMM的五个级别:3级·Level 3:定义级 每个阶段的内部活动可见 标准流程和项目定义流程裁剪 3级软件组织的特征和改进要求表现要求活动关键流程区域CMM3级:促使组织内部所有软件流程活动标准化建立标准开发流程在组织内明确软件流程改进工作职责;根据最佳开发实践,建立组织的标准软件流程及流程数据库;建立软件开发活动标准;通过裁剪标准软件流程,确定项目的开发流程。组织流程焦点组织流程定义软件产品工程集成软件管理培育团队精神 使所有人赞同项目需求和承诺;增加团队成员的技能和知识。组间协调培训大纲减少缺陷尽早识别缺陷并

16、快速消除缺陷同行评审3级关键流程域·组织流程焦点:不断提高对组织软件工程和项目软件流程的认识和理解,围绕流程定义和流程改进目标及时采取措施,协调、评估、开发和维护流程改进活动。·组织流程定义:流程定义的关键实践活动包括:描述软件生命周期、制定流程剪裁准则和指南、建立组织级的软件流程数据库及相关文档库、确定定量流程管理需要的数据、形成稳定的准则支持组织制定各项规章制度等。·软件产品工程:按照软件工程流程的定义,有效地开发出稳定的软件工作产品。软件工作产品指描述软件流程的文档、计划、规程,计算机程序和数据等,其中的一部分或全部将交付客户或最终用户。主要活动是描述软件项

17、目的技术活动,如需求分析、设计、编码和测试,为软件工作产品建立文档,并保持它们的可跟踪性和一致性。·集成软件管理:集成化软件管理的基础是,L2的需求管理、软件项目计划、软件项目跟踪和监督3个关键流程。满足集成化软件管理的组织应能够按照组织严格定义的流程来计划和管理一个软件项目·组间协调:软件流程工作量大,参与的人员多、复杂程度高,软件产品时效性强,必须有严格的分工和密切的协作。软件工程小组应特别注意系统需求、测试等方面的问题,主动与相关小组协调,因为只有合作攻关才能使项目更好、更有效地满足客户需求。·培训大纲:通过培训,提高组织成员个人的知识水平和技能,以便更好地

18、、更有效地完成工作任务。培训内容应针对组织、项目和个人的实际需要。根据培训需求制定培训大纲,包括培训计划、内容、资料、设备、方式和评价等。·同行评审:同行专家评审是一种有效的、重要的工程方法,评审方式有检查、结构走查等。评审能够加深对软件工作产品的理解,能够尽早地、有效地排除软件产品的缺陷。CMM的五个级别:4级·Level 4 管理级流程可度量,预测值与结果之间的偏差可控4级软件组织的特征和改进要求表现要求活动关键流程区域CMM4级:为了跟踪和控制软件开发质量,要对开发过程和产品进行分析建立质量目标为改进软件过程建立度量目标;建立软件产品质量目标。数量化过程管理软件质量管

19、理对项目进展进行量化管理 对软件过程的性能进行度量;对产品质量进行度量数量化过程管理软件质量管理 4级关键流程域定量的流程管理(quantitative processmanagement)。定量地控制项目的软件流程能够达到的实际结果,从而得到一个稳定的、可定量预测的流程。软件质量管理(software quality management)。软件质量管理以产品为中心,目标是定量地评价软件产品的质量,实现具体的质量目标,满足客户和最终用户的需要。关键实践活动内容包括:定义软件产品的质量目标,制定软件质量计划,监督、调整软件质量计划、软件工作产品、开发活动及目标等。 CMM的五个级别:5级

20、83;Level 5 优化级流程动态调整、新技术的采用 5级软件组织的特征和改进要求表现要求活动关键流程区域CMM5级:过程改进活动已经制度化优化性能识别和消除产生缺陷的原因;持续改进质量、生产率和开发周期模型。缺陷预防流程变更管理采用新技术识别、改进和使用新技术技术变更管理5级关键流程域·缺陷的预防(defect prevention)。分析软件项目的缺陷,确定原因,并采取相应措施预防他们再次发生。缺陷预防措施常常涉及软件流程的定义、管理和技术的进步等。·技术更新管理(technology change management)。选择、评价和确定新技术,如工具、方法和流程,

21、并将有效的技术引入到软件开发组织,以便改进软件质量、提高软件生产率、缩短软件产品的开发周期。技术更新管理能有效地改进软件流程。·流程变更管理(process change management)。为提高软件质量和软件生产率,缩短软件产品的开发周期,必须不断改进组织中使用的软件流程。流程更改管理应在上级管理部门的主持下,积极主动且系统地对组织的标准软件流程和项目定义的软件流程进行改进和创新。·综上所述,自然会得出这样的结论:组织的成熟度级别越高,其软件开发能力越强,产品质量越好,效率越高,成本越低。 内部审计师与软件流程能力成熟度模型 【字体:大 中 小】【打印】

22、SEI/CMU制定了项目的软件流程CMM评估方法,该方法也可以用于组织的软件能力成熟度评价。基于CMM的评估方法分6个步骤:成立评估小组,小组由软件工程和管理工作经验丰富的专家组成,小组成员应接受过CMM基本概念和评估方法的专门培训。制定成熟度问卷调查表,参评单位的代表认真填写成熟度问卷调查表,并回答有关问题。评估小组分析调查问卷。评估小组现场访问、召开座谈会、审核流程文档,判断关键流程域的实践活动是否达到预定目标,并将结论记入文档。整理调查结果、撰写调查报告,指明软件流程的强项和弱项。绘制软件关键流程域剖面图,显示是否达到关键流程域的目标,并向有关部门提交评估的结论性意见。信息系统项目管理&

23、#160;【字体:大 中 小】【打印】 一、项目概述-定义·项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。二、项目概述项目的特征1.有明确的目标2.项目之间的活动具有相关性3.限定的周期4.有独特性5.资源成本的约束性6.项目的不确定性项目与日常运作的区别项目是一次性的,日常运作是重复进行的,项目是以目标为导向的,日常运作是通过效率和有效性体现的,项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理;项目存在大量的变更管理,而日常运作则基本保持连贯性的。项目举例·开发新产品或服务;·开发一个新系统;·采购并实施一个系

24、统;·实施新业务流程;·建筑物的布线;·建造一座桥梁;·奥运会的信息系统工程;·IT项目的问题及原因三、项目管理的定义·项目管理:在项目活动中运用知识、技能、工具和技术以达到项目的目标和要求。项目管理的能力和水平将构成新经济时代的个人和组织的核心竞争力;大量投资要通过项目来实现;IT项目的投资金额越来越大;IT对企业核心业务帮助增大,并带动业务的发展;项目生命周期·将项目的全过程,分解为几个阶段,这些阶段的总和,称为项目的生命周期·项目生命周期定义了项目的开始和结束·项目的阶段的划分主要是根据一项或几项交付件的完成·项目生命周期的使用,可以方便项目经理对项目进行管理和控制项目的生命周期的特点·项目可以分为多个阶段启动、计划阶段中间执行阶段收尾阶段·每一个阶段完成后应有里程碑·开始时风险和不确定因素多,随着项目的进展不确定因素减少;·工作量在各阶段不同·随着项目的进行,项目变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论