软件开发的基本策略_第1页
软件开发的基本策略_第2页
软件开发的基本策略_第3页
软件开发的基本策略_第4页
软件开发的基本策略_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、软件开发的基本策略人们在探索软件工程方法的几十年里,提出了许多软件开发的方法,但这些方法都不是严密的理论。我们不应该教条地套用方法,更重要的是学会"选择合适的方法"和"产生新方法"。 软件开发中的三种基本策略:复用、分而治之、优化与折衷复用 对于建立软件系统而言,所谓复用就是利用某些已开发的、对建立新系统有用的软件元素来生成新的软件系统。在一个新系统中,大部分的内容是成熟的,只有小部分内容是创新的。一般地,可以相信成熟的东西总是比较可靠的,而大量成熟的工作可以通过复用来快速实现,人们应该把大部分的时间用在小比例的创新工作上,而把小部分的时间用在大比例的成

2、熟工作中,这样才能把工作做得既快又好。我们将具有一定集成度并可以重复使用的软件组成单元称为软构件(Software Component),软件复用就是直接使用已有的软构件,即可组装(或加以合理修改)成新的系统,而可以不必每次从零做起。一方面,软件复用方法合理化并简化了软件开发过程,减少了总的开发工作量与维护代价,既降低了软件的成本又提高了生产率。另一方面,由于软构件是经过反复使用验证的,自身具有较高的质量,因此由软构件组成的新系统也具有较高的质量。分而治之分而治之是指把大而复杂的问题分解成若干个简单的小问题,然后逐个解决。这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件

3、的体系结构设计、模块化设计都是分而治之的具体表现。优化与折衷<p>软件的优化是指优化软件的各个质量因素,如提高运行速度、提高对内存资源的利用率、使用户界面更加友好、使三维图形的真实感更强等等。我们应该树立这样的正确认识:优化工作不是可有可无的事情,而是必须要做的事情。当优化工作成为一种责任时,程序员才会不断改进软件中的算法,数据结构和程序组织,从而提高软件质量。著名的3D游戏软件Quake,能够在PC机上实时地绘制高度真实感的复杂场景。Quake的开发者能把很多成熟的图形技术发挥到极致,例如把Bresenham画线、多边形裁剪、树遍历等算法的速度提高近一个数量级,其技术水平已经远胜

4、于目前国内领先的图形学相关科研成果。优化工作是十分复杂的,有时很难实现所有目标的优化,这时就需要"折衷"策略。软件的折衷策略是指通过协调各个质量因素,实现整体质量的最优。软件折衷的重要原则是不能使某一方损失关键的职能,更不可以象"舍鱼而取熊掌"那样抛弃一方。例如3D动画软件的瓶颈通常是速度,但如果为了提高速度而在程序中取消光照明计算,那么场景就会丧失真实感,3D动画也就不再有意义了。折衷是有原则的,如果滥用折衷的话,那么一旦碰到困难,人们就会用拆东墙补西墙的方式去折衷,不再下苦功去做有意义的优化。所以,我们应当坚持这样的折衷立场:在保证其它因素不差的前提

5、下,使某些因素变得更好。 人们对软件存在着许多错误的观点,这些观点表面上看起来很有道理,符合人们的直觉,但实际上给管理者和开发人员带来了严重的问题。许多人认识到下述观点是错误的,但遗憾的是旧的观念和方法培植了拙劣的管理和技术习惯。观点之一 我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助我们解决软件开发中遇到的任何问题。 客观事实 好的参考书无疑能指导我们的工作,充分利用书籍中的方法、技术和技巧,可以有效地解决软件开发中大量常见的问题。但实践者并不能依赖于书籍,因为在现实工作中,由于条件千差万别,即使是相当成熟的软件工程规范,常常也无法套用。另外,软件技术日新月异,没有哪一种

6、软件标准能长盛不衰。 观点之二 如果我们已经落后于计划,可以增加更多的程序员来赶上进度。客观事实 软件开发不同于传统的机械制造,人多不见得力量大。如果给落后于计划的项目增添新人,可能会更加延误项目。因为新人会产生很多新的错误,使项目混乱,并且原有的开发人员向新人解释工作和交流思想都要花费时间,使实际的开发时间更少,所以制定恰如其分的项目计划是很重要的。 【讲解】假设一个项目估计需要12人月工作量,指定由3个人在4个月内完成,如果第一个月的任务花了两个月才完成,那么增加人力的结果如何?假设增加2个人参加项目,不论新增加的人适应能力有多强,总需要有人去帮助了解熟悉情况,如果这些工作占用了一个月的时

7、间,这样又有3个人月工作量在新计划之外。由于人员增加,工作任务需要重新划分,到第3个月结束时虽然有5个人在工作,实际上余留下7个人的工作量。 观点之三 项目需求总是在不断变化,但这些变化能够很容易地满足,因为软件是灵活的。 客观事实 软件需求确实是经常变化的,但这些变化产生的影响会随着其引入时间的不同而不同。对需求把握得越准确,软件的修修补补就越少。有些需求在一开始时很难确定,在开发过程中要不断地加以改正。软件修改越早代价越少,修改越晚代价越大,就跟治病一样道理。 观点之四 有了对目标的一般描述就足以开始写程序了,我们以后可以再补充细节。 客观事实 不完善的系统定义是软件项目失败的主要原因。关

8、于待开发软件的应用领域、功能、性能、接口、设计约束和标准等需要详细的描述,而这些只有通过用户和开发人员之间的通信交流才能确定。越早开始写程序,就要花越长时间才能完成它。一旦我们写出了程序并使其正常运行,我们的工作就结束了。人们有时认为,只有差的软件产品才需要维护。 客观事实 从如图1.12所示的统计数据来看,软件投入的50%70%是花费在交付给用户之后。品质差的产品被丢弃,只有好的产品才需要维护和改进。 观点之六 一个成功的项目唯一应该提交的就是运行程序。 客观事实 软件包括程序、数据和文档,其中文档是成功开发的基础,为软件维护提供了指导。 早期的CMMI(CMMI-SE/SW/IPPD)1.

9、02版本是应用于软件业项目的管理方法,SEI在部分国家和地区开始推广和试用。随着应用的推广与模型本身的发展,演绎成为一种被广泛应用的综合性模型。目录简介 评估 1. 预备工作 2. 评估方法 3. cmm是项目管理等级 1. 1 初始级 2. 2可重复级 3. 3 已定义级 4. 4 量化管理级 5. 5 优化管理级评估方式 CMMI的基本思想 研发背景 源模型 原则 目标 方法 内容 与CMM差别 标准名词术语 实施 人员素质 实施流程简介评估 1. 预备工作 2. 评估方法 3. cmm是项目管理等级 1. 1 初始级 2. 2可重复级 3. 3 已定义级 4. 4 量化管理级 5. 5

10、优化管理级评估方式CMMI的基本思想研发背景源模型原则· 目标· 方法· 内容· 与CMM差别· 标准名词术语· 实施· 人员素质· 实施流程展开编辑本段简介CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。 CMMI家族包括CMMI for Development, CMMI for Service和CMMI for Acquisition三个套装产品。 自从1994 年SEI 正式发布软件CMM 以来,相继又开发出了系统工程、软件采购、人力资源

11、管理以及集成产品和过程开发方面的多个能力成熟度模型。虽然这些模型在许多组织都得到了良好的应用,但对于一些大型软件企业来说,可能会出现需要同时采用多种模型来改进自己多方面过程能力的情况。这时他们就会发现存在一些问题,其中主要问题体现在: n 不能集中其不同过程改进的能力以取得更大成绩; n 要进行一些重复的培训、评估和改进活动,因而增加了许多成本; n 遇到不同模型中有一些对相同事物说法不一致,或活动不协调,甚至相抵触。 于是,希望整合不同CMM 模型的需求产生了。1997 年,美国联邦航空管理局(FAA)开发了FAA-iCMMSM(联邦航空管理局的集成CMM),该模型集成了适用于系统工程的SE

12、-CMM、软件获取的SA-CMM 和软件的SW-CMM 三个模型中的所有原则、概念和实践。该模型被认为是第一个集成化的模型。 编辑本段评估预备工作评估实践证明:在进行CMMI评估之前,制定一个正确的评估计划并将其文档化,确保有一个富有经验的、受过培训且具有适当资格的小组能被用来评估,为执行评估过程做准备,是十分必要的。 我们所说的文档化CMMI评估计划的结果,包括:要求,协定,估价,风险,剪裁方法,以及与评估相关的实际考虑(例如:日程安排,后勤,组织的背景信息)。此外,还应当获取并记录发起方对于CMMI评估计划的正式批准。在制定评估计划之前,应对CMMI评估输入中反映出来的协议文档化,该协议将

13、有助于CMMI评估目标和关键评估计划参数的共同理解。在对驱动计划过程的关键参数达成共同理解的基础上,CMMI评估发起方和SCAMPI主任评估师应就评估计划达成一致;发起者和评估小组领导应就已计划的评估中技术和非技术细节达成一致。这个计划在执行其他的计划和准备阶段活动中需要进一步细化。 而通过CMMI评估小组的准备工作,将产生一支富有经验的、受过培训的且定位准确的小组准备执行CMMI评估任务。该小组的成员都应当获得了完成他们各自的任务所必备的知识,或者他们之前所拥有的知识被证实足以完成相关任务。评估小组领导者已经给每一个人提供了为完成他们各自的任务所需的对技能进行实践的机会,或者证实这些技能在过

14、去已经得到了示范。小组成员相互了解,同时开始计划他们如何协调一致的工作。还应该做到:准备好的小组是为评估目标而服务的,小组的成员已提供培训且培训结果被记录,在必要的时候,对他们所做的因知识或技能不足的补救工作已经完成。我们认为,无论CMMI评估小组领导者是从头培训一支全新的评估小组,还是通过从富有经验的小组成员中选择来组建一个小组,确保他们与CMMI评估小组领导者能组成一个成功的集体是其责任。此外,在对CMMI评估进行的预备工作的过程中,我们还应当对模型剪裁的原则有所了解: 1.在某些应用中,计划模板和例行的程序能够根据评估的需要进行调整,这和当地的过程所有权一样,有助于交流; 2.一个结构化

15、的计划工艺组有利于只有有限的评估经验的组织,这样一个工艺就像缓和策略样,对于发现风险是一个很有价值的机会; 3.案例研究材料提供了各种各样的选择来扩充小组培训内容以增强那些更需要培训的重点; 4.富有经验的评估小组领导者在没有案例分析的情况下,同样可以管理和模拟评估行为; 5.在小组所有已获得培训成员的集合中,对小组的建立工作进行管理以确保其团队凝聚力是十分重要的,因此,很多的小组建立练习是可以利用的,小组的规模、技能、组成部分都是本方法的裁剪内容; 6.所采用工具可以包括评估计划模板,样例,和计划模板中嵌入式的程序上的帮助,此外,为了估计评估约束的影响,估算工作表和方法也是很有用处的。 总之

16、,CMMI评估是一个十分复杂的过程,更由于其具有的不确定性,在评估的实践中,一定要做到有备无患。真理来自于实践,我们相信,随着越来越多的软件组织着手CMMI评估,越来越多的成功经验将为我们所利用和借鉴。 评估方法自1991年起,CMM出现了很多模型,覆盖了各种各样的专业领域。其中著名的模型有系统工程·软件工程·软件采购·集成产品和流程开发等。然而当企业想要在组织内不同专业领域的流程改进,这些针对不同专业领域的模型在架构·内容和方法上的不同限制了组织成功实施改进的能力。此外,将这样模型在组织内部集成也提高了培训·认证和改进的费用。一套包括多个专业

17、领域的模型加上整合的培训和认证支持将解决这些问题。 CMMI(Capability maturity model integration)是为了合并三个模型到一个框架中 Capability Maturity Model for Software (SW-CMM) v2.0 draft C, Electronic Industries Alliance Interim Standard (EIA/IS) 731 Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98 正如其他CMM模型,CMMI提供了流程

18、改进的指导,而不是流程或流程的描述。组织使用的实际流程取决于很多因素,包括应用领域·组织框架和规模。CMMI将许多经过验证的方法加入架构中,来帮组组织评价成熟度·某个软件流程的能力度,并且建立改进的优先顺序和实施改进。 从CMMI框架可以产生不同的CMMI模型,因此必须首先确定那种模型最适合企业流程改进的需要。 阶段式描述 or 连续式描述 系统工程 or 软件工程 or 两者皆有 使用连续式描述可以根据企业需要选择流程改进顺序,降低企业风险,这给通过ISO做流程改进提供了一个方便的比较。使用能力度(Capability)来衡量。 阶段式描述提供了已经过验证的流程改进顺序,

19、方便从CMM移植过来。使用成熟度(Maturity)来衡量流程改进。 系统工程包括整个系统的开发,可能包括软件也可能不包括。 软件工程用于软件系统的开发,主要集中在使用系统的·科学的·量化的方法来开发·运行·维护软件。 cmm是项目管理由美国卡内基梅隆大学的软件工程研究所(SEI)创立的CMM(Capability Maturity Model 软件能力成熟度模型)认证评估,在过去的十几年中,对全球的软件产业产生了非常深远的影响。CMM共有五个等级,分别标志着软件企业能力成熟度的五个层次。从低到高,软件开发生产计划精度逐级升高,单位工程生产周期逐级缩短,

20、单位工程成本逐级降低。据SEI统计,通过评估的软件公司对项目的估计与控制能力约提升40%到50%;生产率提高10%到20%,软件产品出错率下降超过1/3。 对一个软件企业来说,达到CMM2就基本上进入了规模开发,基本具备了一个现代化软件企业的基本架构和方法,具备了承接外包项目的能力。CMM3评估则需要对大软件集成的把握,包括整体架构的整合。一般来说,通过CMM认证的级别越高,其越容易获得用户的信任,在国内、国际市场上的竞争力也就越强。因此,是否能够通过CMM认证也成为国际上衡量软件企业工程开发能力的一个重要标志。 CMM是目前世界公认的软件产品进入国际市场的通行证,它不仅仅是对产品质量的认证,

21、更是一种软件过程改善的途径。参与CMM评估的博科负责人表示,通过CMM的评估认证不是目标,它只是推动软件企业在产品的研发、生产、服务和管理上不断成熟和进步的手段,是一种持续提升和完善企业自身能力的过程。如果一家公司最终通过CMMI的评估认证,标志着该公司在质量管理的能力已经上升到一个新的高度。 编辑本段等级1 初始级软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。 2可重复级建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。 3 已定义级已将软件管理和工程两方面的过程文档化、标准化,并综合

22、成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。 4 量化管理级分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。 5 优化管理级过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。 每个等级都被分解为过程域,特殊目标和特殊实践,通用目标、通用实践和共同特性: 每个等级都有几个过程区域组成,这几个过程域共同形成一种软件过程能力。每个过程域,都有一些特殊目标和通用目标,通过相应的特殊实践和通用实践来实现这些目标。当一个过程域的所有

23、特殊实践和通用实践都按要求得到实施,就能实现该过程域的目标。 能力度等级:属于连续式表述,共有六个能力度等级(05),每个能力度等级对应到一个一般目标,以及一组一般执行方法和特定方法。 0不完整级 1执行级 2管理级 3定义级 4量化管理级 5最佳化级 编辑本段评估方式自我评估:用于本企业领导层评价公司自身的软件能力。 主任评估:使本企业领导层评价公司自身的软件能力,向外宣布自己企业的软件能力 CMMI的评估类型: 软件组织的关于具体的软件过程能力的评估。 软件组织整体软件能力的评估(软件能力成熟度等级评估)。 编辑本段CMMI的基本思想1、解决软件项目过程改进难度增大问题 2、实现软件工程的

24、并行与多学科组合 3、实现过程改进的最佳效益 编辑本段研发背景CMM的成功促使其他学科也相继开发类似的过程改进模型,例如系统工程、需求工程、 人力资源、集成产品开发、软件采购等等,从CMM衍生出了一些改善模型,比如: (1) SW-CMM (Software CMM) 软件CMM (2) SE-CMM (System Engineering CMM) 系统工程CMM (3) SA-CMM (Software Acquisition CMM) 软件采购CMM (4) IPT-CMM (Integrated Product Team CMM) 集成产品群组CMM (5) P-CMM (People

25、 CMM) 人力资源能力成熟度模型 为了以示区别,国内外很多资料把CMM叫做SW-CMM。按照SEI原来的计划,CMM的改进版本2.0应该在1997年11月完成,然后在取得版本2.0得实践反馈意见之后,在1999年完成准CMM2.0版本。 但是,美国国防部办公室要求SEI推迟发布CMM2.0版本,而要先完成一个更为紧迫的项目CMMI,原因是在同一个组织中多个过程改进模型的存在可能会引起冲突和混淆, CMMI就是为了解决怎么保持这些模式之间的协调。 CMMI(Capability Maturity Model Integration)即能力成熟度集成模型,这是美国国防部的一个设想,他们想把现在所

26、有的以及将被发展出来的各种能力成熟度模型,集成到一个框架中去。这个框架有两个功能,第一,软件采购方法的改革;第二,建立一种从集成产品与过程发展的角度出发、包含健全的系统开发原则的过程改进。就软件而言,CMMI是SW-CMM的修订本。 它兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科学和更周密的优点。SEI在发表CMMI-SE/SW 1.0版时,宣布大约用两年的时间完成从CMM到CMMI的过渡。 CMMI项目更为工业界和政府部门提供了一个集成的产品集,其主要目的是消除不同模型之间的不一致和重复,降低基于模型改善的成本。CMMI将以更加系统和一致的框架来指导组织改善软件过程,提高产品和

27、服务的开发、获取和维护能力。 由业界、美国政府和卡内基梅隆大学软件工程研究所率先倡导的能力成熟度模型集成(CMMI)项目致力于帮助企业缓解这种困境。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够重总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。 与原有的能力成熟度模型类似,CMMI也包括了在不同领域建立有效过程的必要元素,反映了业界普遍认可的"最佳"实践;专业领域覆盖软件工程、系统工程、集成产品

28、开发和系统采购。在此前提下,CMMI为企业的过程构建和改进提供了指导和框架作用;同时为企业评审自己的过程提供了可参照的行业基准。 编辑本段源模型软件能力成熟度模型2.0版,C稿;电子行业协会临时标准(EIA/IS)731;集成产品开发能力成熟度模型(IPD-CMM)v0.98。 编辑本段原则(1)、强调高层管理者的支持。过程改进往往也是由高层管理者认识和提出的,大力度的、一致的支持是过程改进的关键。 (2)、 仔细确定改进目标,首先应该对给定时间内的所能完成的改进目标进行正确的估计和定义并制定计划。选择能够达到的目标和能够看到对组织的效益。 (3)、 选择最佳实践,应该基于组织现有的软件活动和

29、过程财富,参考其他标准模型,取其精华去其糟粕,得到新的实践活动模型。 (4)、 过程改进要与组织的商务目标一致,与发展战略紧密结合。 编辑本段目标(1)、 为提高组织过程和管理产品开发、发布和维护能力提供保障。 (2)、 帮助组织客观评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。 编辑本段方法(1)、决定哪个CMMI模型等级最适合组织过程改进需要。 (2)、 选择模型的表示法是连续式还是阶段式。 (3)、 决定组织需要用到的模型中的知识领域。 (4)、 类似CMM提出的过程改进6步,集成化过程改进分成:开始集成过程改进,建造集成改善平台,集成传统过程,启动新过程,进行改

30、进评估。 编辑本段内容CMMI内容分为“Required”(必需的)、“Expected”(期望的)、“Informative”(提供信息的)三个级别,来衡量模型包括的质量重要性和作用。最重要的是"要求"级别,是模型和过程改进的基础。第二级别"期望"在过程改进中起到主要作用,但是某些情况不是必须的可能不会出现在成功的组织模型中。 "提供的信息"构成了模型的主要部分,为过程改进提供了有用的指导,在许多情况下他们对"必需"和"期望"的构件做了进一步说明。 "必需"的模型构件是目标

31、,代表了过程改进想要达到的最终状态,它的实现表示了项目和过程控制已经达到了某种水平。当一个目标对应一个关键过程域,就称为"特定目标";对应整个关键过程域就称为"公用目标"。整个CMMI模型包括了54个特定目标,每个关键过程域都对应了一到四个特定目标。每个目标的描述都是非常简捷的,为了充分理解要求的目标就是扩展"期望"的构件。 "期望"的构件是方法,代表了达到目标的实践手段和补充认识。每个方法都能映射到一个目标上,当一个方法对一个目标是唯一就是"特定方法";而能适用于所有目标时就是"公用

32、方法"。CMMI模型包括了186个特定方法,每个目标有两到七个方法对应。 CMMI包括了10种"提供的信息":目的,概括和总结了关键过程域的特定目标;介绍说明,介绍关键过程域的范围、性质和实际方法和影响等特征;引用,关键过程域之间的指向是通过引用;名字,表示了关键过程域的构件;方法和目标关系,关键过程域中方法映射到目标的关系表;注释,注释关键过程域的其他模型构件的信息来源;典型工作产品集,定义关键过程域中执行方法时候产生的工作产品;子方法,通过方法活动的分解和详细描述;学科扩充,CMMI对应学科是独立的,这里提供了对应特定学科的扩展;公用方法的详细描述,关键过程域

33、中公用方法应用实践的详细描述。 CMMI提供了阶段式和连续式两种表示方法,但是这两种表示法在逻辑上是等价的。我们熟悉的SW-CMM软件能力成熟模型就是是阶段式的模型,SE-CMM系统工程模型是连续式模型,而IPD-CMM集成产品开发模型结合了阶段式和连续式两者的特点。 阶段式方法将模型表示威一系列"成熟度等级"阶段,每个阶段都有一组KPA指出一个组织应集中于何处以改善其组织过程,每个KPA用满足其目标的方法来描述,过程改进通过在一个特定的成熟度等级中满足所有KPA的目标而实现的。 连续式模型没有像阶段式那样的分散阶段,模型的KPA中的方法是当KPA的外部形式,并可应用于所有

34、的KPA中,通过实现公用方法来改进过程。它不专门指出目标,而是强调方法。组织可以根据自身情况适当裁剪连续模型并以确定的KPA为改进目标。 两种表示法的差异反应了为每个能力和成熟度等级描述过程而使用的方法,他们虽然描述的机制可能不同,但是两种表示方法通过采用公用的目标和方法作为"必需"的和"期望"的模型元素,而达到了相同的改善目的。 现在CMMI面临的一个挑战就是创建一个单一的模型,可以从连续和阶段两个角度进行观察,包含相同的过程改进基本信息;处理相同范围的一个CMMI过程能够产生相同的结论。统一的CMMI(U-CMMI)是指产生一个只有公用方法和支持他们

35、的KPA组成的模型。当按一种概念性的可伸展的方式编写,并产生了用于定义组织的特定目标过程模版,定义的模版构件将定义一个模型以适用于任何工程或其他方面。 编辑本段与CMM差别CMMI 模型的前身是 SW-CMM 和 SE-CMM,前者就是我们指的CMM。CMMI与SW-CMM的主要区别就是覆盖了许多领域;到目前为止包括四个下面领域: (1)、软件工程(SW-CMM) 软件工程的对象是软件系统的开发活动,要求实现软件开发、运行、维护活动系统化、制度化、量化。 (2)、系统工程(SE-CMM) 系统工程的对象是全套系统的开发活动,可能包括也可能不包括软件。系统工程的核心是将客户的需求、期望和约束条件

36、转化为产品解决方案,并对解决方案的实现提供全程的支持。 (3)、集成的产品和过程开发(IPPD-CMM) 集成的产品和过程开发是指在产品生命周期中,通过所有相关人员的通力合作,采用系统化的进程来更好地满足客户的需求、期望和要求。如果项目或企业选择IPPD进程,则需要选用模型中所有与IPPD相关的实践。 (4)、采购(SS-CMM) 采购的内容适用于那些供应商的行为对项目的成功与否起到关键作用的项目。主要内容包括:识别并评价产品的潜在来源、确定需要采购的产品的目标供应商、监控并分析供应商的实施过程、评价供应商提供的工作产品以及对供应协议很供应关系进行适当的调整。 在以上模块中,企业可以选择软件工

37、程,或系统工程,也可以都选择。集成的产品和过程开发和采购主要是配合软件工程和系统工程的内容使用。例如,纯软件企业可以选择CMMI中的软件工程的内容;设备制造企业可以选择系统工程和采购;集成的企业可以选择软件工程、系统工程和集成的产品和过程开发。CMMI中的大部分内容是适用各不同领域的,但是实施中会有显著的差别,因此模型中提供了"不同领域应用详解"。 CMM的基于活动的度量方法和瀑布过程的有次序的、基于活动的管理规范有非常密切的联系,更适合瀑布型的开发过程。而CMMI相对CMM更一步支持迭代开发过程和经济动机推动组织采用基于结果的方法:开发业务案例、构想和原型方案;细化后纳入

38、基线结构、可用发布,最后定为现场版本的发布。虽然CMMI保留了基于活动的方法,它的确集成了软件产业内很多现代的最好的实践,因此它很大程度上淡化了和瀑布思想的联系。 在 CMMI 模型中在保留了CMM阶段式模式的基础上,出现了连续式模型,这样可以帮助一个组织以及这个组织的客户更加客观和全面的了解它的过程成熟度。同时,连续模型的采用可以给一个组织在进行过程改进的时候带来更大的自主性,不用再象CMM 中 一样,受到等级的严格限制。这种改进的好处是灵活性和客观性强,弱点在于由于缺乏指导,一个组织可能缺乏对关键过程域之间依赖关系的正确理解而片面的实施过程,造成一些过程成为空中楼阁,缺少其他过程的支撑。两

39、种表现方式(连续的和阶段的)从他们所涵盖的过程区域上来说并没有不同,不同的是过程区域的组织方式以及对成熟度(能力)级别的判断方式。 CMMI 模型中比CMM 进一步强化了对需求的重视。在CMM 中,关于需求只有需求管理这一个关键过程域,也就是说,强调对有质量的需求进行管理,而如何获取需求则没有提出明确的要求。在CMMI的阶段模型中,3 级有一个独立的关键过程域叫做需求开发,提出了对如何获取优秀的需求的要求和方法。CMMI 模型对工程活动进行了一定的强化。在CMM中,只有3级中的软件产品工程和同行评审两个关键过程域是与工程过程密切相关的,而在CMMI中,则将需求开发,验证,确认,技术解决方案,产

40、品集成这些工程过程活动都作为单独的关键过程域进行了要求,从而在实践上提出了对工程的更高要求和更具体的指导。CMMI中还强调了风险管理。不像在CMM 中把风险的管理分散在项目计划和项目跟踪与监控中进行要求,CMMI3级里单独提出了一个独立的关键过程域叫做风险管理。 编辑本段标准名词术语1 AT Assessment Team 评审小组 2 ATM Assessment Team Member 评审小组成员 3 BA Baseline Assessment 基线评审 4 CAR Causal Analysis and Resolution 原因分析与决策 5 CBA CMM-Based Appra

41、isal 基于CMM的评价 6 CBA-IPI CMM-Based Appraisal for Internal Process Improvement 为内部过程改进而进行的基于CMM的评价(通常 称为CMM评审) 7 CC Configuration Controller 配置管理员 8 CF Common Feature 公共特性 9 CFPS Certified Function Point Specialist 注册功能点专家 10 CI Configuration Item 配置项 11 CM Configuration Management 配置管理 12 CMM Capabil

42、ity Maturity Model 能力成熟度模型 13 CMMI Capability Maturity Model Integration 能力成熟度集成模型 14 COTS Commerce off the shelf 商业现货供应 15 DAR Decision Analysis and Resolution 决策分析与制定 16 DBD Database Design 数据库设计 17 DD Detailed Design 详细设计 18 DP Data Provider 数据提供者 19 DR Derived Requirement 派生需求 20 EPG Engineering

43、 Process Group 工程过程小组 21 FP Function Point 功能点 22 FPA Function Point Analysis 功能点分析 23 FR Functional Requirement 功能性需求 24 GA Gap Analysis 差距分析 25 ID Interface Design 接口设计 26 IFPUG International Function Point Users Group 国际功能点用户组织 27 IPM Integrated Project Management 集成项目管理 28 IR Interface Requireme

44、nt 接口需求 29 KPA Key Process Area 关键过程域 30 KR Key Requirements 关键需求 31 LA Lead Assessor 主任评审员 32 MA Measurement and Analysis 测量与分析 33 MAT Metrics Advisory Team 度量咨询组 34 MCA Metrics Coordinator and Analyst 度量专员 35 ML matreraty library 度量数据库 36 NFR Non-functional Requirement 非功能性需求 37 OC Operational Con

45、cept 操作概念 38 OID Organizational Innovation and Deployment 组织革新与部署 39 OPD Organizational Process definition 组织过程定义 40 OPF Organizational Process focus 组织过程焦点 41 OPL Organizational Process Assets 组织过程财富 42 OPP Organaizational Process Perormance 组织过程性能 43 OSSP Organizations Set of Standard Process 组织标准

46、过程集合 44 OT Organizational Training 组织级培训 45 PA Process Areas 过程域 46 PAT Process Action Team 过程行动小组 47 PB Process Assets Library 过程财富库 48 PD Preliminary Design 概要设计 49 PDSP Project Defined Standard Processes 项目定义标准过程 50 PI Produce Integration 产品集成 51 PLC Product Life Cycle 产品生命周期 52 PMC Project Monit

47、oring and Control 项目监控 53 PP Project Planning 项目策划 54 PPQA Process and Product Quality Assurance 过程与产品质量保证 55 PPR Price Performance Ratio 性能价格比 56 QA Software Quality Assurance 软件质量保证 57 QA Quality Assurance 质量保证 58 QAP Software Quality Assurance Plan 质量保证计划 59 QPM Quantitative Project Management 量化

48、项目管理 60 RD Requirements Development 需求开发 61 RM/ReqM Requirements Management 需求管理 62 RSKM Risk Management 风险管理 63 RTM Requirement Traceability Matrix 需求跟踪矩阵 64 SAM Supplier Agreement Management. 供应协议管理 65 SC Steering Committee 指导委员会 66 SCAMPI Standard CMMI Assessment Method for Process Improvement 过程

49、改进CMMI标准评审方法 67 SCCB Software Configuration Control Board 软件配置管理控制委员会 68 SCM Software Configuration Management 软件配置管理 69 SDP Software Development Plan 软件开发计划 70 SEI Software Engineering Institute (美国)软件工程学院 71 SEPG Software Engineering Process Group 软件工程过程组 72 SPI Software Process Improvement 软件过程改进

50、 73 SPP Software Project Planning 软件项目策划 74 SPTO Software Project Tracking and Oversight 软件项目跟踪与监控 75 SR System Requirements 系统需求 76 SRS Software Requirement Specification 软件需求规格 77 SSM Software Subcontract Management 软件分包管理 78 SSR Software System Requirement 软件系统需求 79 TS Technical Solution 技术解决方案 8

51、0 UC Use Case 用例 81 UID User Interface Design 用户界面设计 82 VAL Validation 确认 83 VER Verification 验证 84 WBS Work Breakdown Structure 工作分解结构 85 WP Work Products 工作产品 86 Pre-assessment 预评审 87 Baseline 基线 88 Quality Attribute 质量属性 89 Scenario 场景 编辑本段实施现在很多企业因某种原因想做CMMI了,大体做法 1、决定实施CMMI 2、EPG接受培训,理解CMMI 3、E

52、PG根据自己理解的CMMI和实际情况开发一大堆漂漂亮亮的过程文档、流程图、表格、模板、检查单、作业指南。 4、大家边听着EPG的解释(包括培训、答疑),边执行这些过程标准,然后审计(内、外) 将目前的最佳实践记录下来、写下来、文档化下来。 很多新的EPG在做了一段时间后无奈的发现自己居然沦落成了一个过程标准解说员、甚至文档管理员。自己工作大部分时间是面对文档,或者督促别人写文档 EPG最主要的工作应该深入到研发第一线,帮助研发人员解决研发过程中面临的最严重的实际问题(当然是解决方案要上升到过程高度,而不应是单个问题或个人),甚至哪怕是一些不严重但以你的项目经验知道该如何解决的问题上。总体说来就

53、是掌握项目进展中的任何细微的技术难点要点,并主动记录下来。 为什么这么说呢?CMMI实施的主要宗旨就是以每个项目为采集数据的源头,达到企业整体效益提升和资源重用。真正有价值的东西,是需要一线人员在实际工作中遇到问题,解决问题,并总结问题,不是一个一线工作的流水帐。就象一份研发人员的日报。写了上午做什么,下午做什么。这对企业的积累有什么用处呢?他工作过程中,遇到什么问题,他是怎么解决的,走过什么弯路,实验过几种方法,失败了,失败的原因是什么,最后选择了什么方法,可能不是最好的,但完成了任务,达到了效率和资源分配的平衡。这些东西才可能是未来类似项目中,遇到类似问题时,可能有参考价值的。通常也是EPG个人职业生涯的技术积累。只有公司里每个员工,把自己认为最有价值的积累贡献出来。才可能达到公司有价值的积累。而决不是形式上写的上午下午每个小时的流水帐。

温馨提示

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

评论

0/150

提交评论