软件过程改进与CMM_第1页
软件过程改进与CMM_第2页
软件过程改进与CMM_第3页
软件过程改进与CMM_第4页
软件过程改进与CMM_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

课程简介《软件过程改进与软件质量》课程试图通过36学时全面阐述软件过程改进的各个方面。首先说明软件过程规范、成熟度及其相关的概念和理论,包括软件过程标准体系。然后在此基础上,深入讨论软件过程的组织管理、需求管理、项目管理、质量管理、技术管理和集成管理等流程、方法和实践,并进一步探讨了软件过程评估和改进的框架、模型和实施细节,最后阐释软件质量的评价方法。2024/7/61课程目标2024/7/62通过本课程的学习,可以了解并掌握:软件过程规范的内容、影响和作用软件过程不成熟的特点、软件过程成熟的标准软件过程的可视性和过程能力软件过程文化、环境和过程框架如何定义组织过程并对过程剪裁以获得项目过程软件过程的需求管理、项目管理和质量管理软件过程的技术管理和集成管理如何实施软件过程的评估和改进……课程服务于2024/7/63

项目经理Projectmanager

程序经理Programmanager

产品经理Productmanager-软件质量管理人员ThememberofSQAG

软件工程过程组成员ThememberofSEPG

软件配置管理人员ThememberofSCMG还包括:软件企业高层管理人员软件工程师和测试工程师软件分析师、软件咨询顾问课程安排3月2日软件开发过程(绪论)3学时3月9日软件过程度量3学时3月16日软件过程成熟度及CMM模型3学时3月23日可重复性管理与定量管理3学时3月30日标准化和一致性管理3学时4月6日从CMM到CMMI3学时4月13日理解CMMI各过程域3学时4月20日软件质量模型3学时5月4日软件质量度量3学时5月11日软件可靠性度量和测试3学时5月18日软件全面质量管理3学时5月25日汇报与总结3学时2024/7/64参考书目清华大学出版社:《过程改进方法与实践案例》《软件过程管理》《软件质量保证和管理》中国标准出版社:《过程改进基本原理及CMMI实施》机械工业出版社:《CMMI成功项目管理》2024/7/65第一章绪论1.1软件生产过程的变迁1.2硬件与软件的故障特性对比1.3软硬件的开发过程比较1.4软件质量观点1.5传统工业化生产中的产品质量控制1.6过程和过程规范1.7软件生命周期的过程需求1.8软件过程改进的起源2024/7/661.1Fromcomputingtoprogram,tosoftware汇编器机器代码汇编代码模块1汇编代码模块2汇编代码模块n计算机计算结果计算机计算结果<10参与劳动的程序员:1-3个编译器/链接器高级语言代码模块1高级语言代码模块2高级语言代码模块n计算机计算结果>10文档(自然语言描述)2024/7/67Softwareengineering1968年,在NATO会议上提出“软件工程”以来,人们一直致力于研究新的软件方法和技术。然而,87年左右,人们认识到:“二十多年来,并未实现用新的软件方法和技术解决软件产业化和软件质量方面问题的承诺,工业界和政府组织认识到根本的问题是软件开发过程管理上的不足”。---DoD,ReportoftheDefenseScienceBoardTaskForceonMilitarySoftware,September1987SE真正的目的是:在资金、人力资源、进度等约束条件下,如何生产出高质量的软件。在市场经济中,如何让软件企业(投资者)获得最大的效益。2024/7/68

提高软件的生产率和质量一直是软件工作者关注的焦点。软件生产,如果能做到自动化生产,例如:把C语言自动转换为机器语言(编译),或从流程图直接转换为机器语言.这样,由于软件的生产就是开发,因此,软件企业可以获得真正的一本万利。软件产业的危机2024/7/69关键问题软件需求总是不清楚、总是在变化。没有办法自动化地获得需求。软件规模越来越大,一般都超出了预期的估计软件越来越复杂,超出了靠天才程序员(经理)的控制范围在很多组织中,软件项目开发进度经常严重迟后、经费预算往往超支乃至翻番。

最根本的问题是:在无纪律的、混乱的软件项目开发状态中,开发组织不可能从软件工程的研究成果,即较好的软件方法和工具中获益。2024/7/610Whatis

software?Softwareisalogicalratherthanaphysicalsystemelement1.Softwareisdevelopedorengineered,notmanufacturedintheclassicalsense2.Softwaredoesnot‘wearout’3.Althoughtheindustryismovingtowardscomponent-basedassembly,mostsoftwarecontinuestobecustombuilt.2024/7/6111.2ComparisonofHWandSW2024/7/612ContinuesSystemandDiscreteSystemTheContinueSystem至少是一阶可导的,or多阶可导函数其行为遵守小线性的规律,因此,可以用小线性方法预测TimeDiscreteisaspecialtypeofcontinuessystem.DiscreteSystemNo.itisimpossibletopredicttheperformanceaccordingtothehistoryvalue.SoftwareisDiscreteSystemYoucouldnotpredictitiscorrect,exceptthatitistestedwith100%coverage.bcdae2024/7/6131.3软硬件的开发过程比较TheProductionProcessofHardwareRequirements,Design,Manufacture,…TheDevelopmentProcessofSoftwareRequirements,Design,Coding,Integrated/Test,Release,Maintenance2024/7/614各行业的特点对比行业生产过程的可见性工作(产品)结果的可预测性劳动规模数学家可见性差,只有同一分支的同行才能看懂他人的定理证明过程不可预测,没人能准确预测歌德巴赫猜想的“1+1”问题何时能被证明出来把100个数学家集中到一起求证一个定理,并不能加快定理的证明画家可见性差,纯个体劳动行为创作过程不可预测,结果也不可预测多个画家一起画一副画,主题、色调很难协调一致中国风味菜馆佐料“稍许”,把握“火候”难以掌握同样是川菜,各餐馆的味道不一样“色香味”与生产规模呈反比2024/7/615各行业的特点对比行业生产过程的可见性工作(产品)结果的可预测性劳动规模美国的麦当劳标准化生产,可见性得到提升食品的色香味永远一个样,可预测生产和经营模式容易复制粮食种植四季分明,春播秋收排除天气灾害,产量可预测可以成规模劳动电子产品的来料加工业可见性强,工人素质要求低可预测。质量易被检查可以成规模生产集成电路生产精密仪器组成的生产线,生产的可见性差提升产品成品率是生产的关键可大规模、自动化生产建筑行业可见性强,构件标准化可预测。建筑和进度均可预测可以成规模劳动软件项目可见性差。如果没有文档,再好的代码也很难读懂进度、产品质量、费用等都不好把握规模化生产是奋斗的方向2024/7/616DoD-STD-2167的开发过程观点2024/7/617硬件与软件的相似之处1)

可靠性是系统复杂性的函数Hardware:硬件可靠性是设备复杂性的函数;Software:直观地看,软件可靠性也是其复杂性的函数。系统越复杂,其可靠性越低。2)

失效性服从概率统计规律尽管硬件与软件的失效机理不同,但硬件与软件失效的外部表现都具有明显的随机性,都采用概率统计方法研究硬件和软件产品的可靠性。3)

缺陷是生产过程引入的如果固态电子器件(如晶体管和微型电路)的制造质量好,那么,在很长的时期内,它们没有耗损机理。造成故障的缺陷(不包括明显误用器件造成的故障)是在器件的制造过程中引入的。软件也是如此。Right!!!4)

可靠性增长试验模型硬件可靠性可以采用可靠性增长试验来提高,也就是采用试验-分析-改正计划来发现、确定及改正可能造成设备早期故障的故障模式及机理。这与在软件中寻找和消除“缺陷”,并且因此提高可靠性的做法类似。

5)质量管理和保证软件质量管理和保证方法与硬件质量管理和保证方法有许多相似之处,可以将许多成熟的硬件质量管理和保证方法直接应用于软件质量管理和保证。

2024/7/618硬件与软件的异同启示软件质量管理和保证方法能否借用硬件(产品)质量管理和保证的成功经验和成熟方法。并且,结合软件的特点进行改造和改进,以使软件企业能实现在规定的时间和预算内开发出符合质量。

2024/7/6191.4WhatisQualityofSoftware?“充分地满足用户的要求,并在可移植性、可维护性、健壮性和可适应性上达到较高水准”。

----DARPA的BarryBoehm博士

“具有很高的适用性,同需求很好地吻合,并具有高的可靠性和可维护性”----SEI的WattsHumphrey与用户需求的一致程度”----ITT主管质量的副总裁PhilCrosby“不存在那些使得软件无法执行或产生错误结果的缺陷。这些缺陷可能在需求阶段、设计阶段、编码阶段、文档阶段甚至是在修正前一个缺陷时产生的。缺陷的严重程度从小到大”。----CapersJohnsGB/T11457将软件质量定义为:“(1)软件产品中能满足给定需要的性质和特性的总体。例如,符合规格说明;(2)软件具有所期望的各种属性的组合程度;(3)顾客或用户觉得软件满足其综合期望的程度;(4)确定软件在使用中将满足顾客预期要求的程度”。

2024/7/6201.4软件质量观点先验论的质量观用户的质量观基于产品的质量观基于价值的质量观基于过程的质量观2024/7/621先验论的质量观先验论的质量观将软件的质量视为可以认识但不可定义的东西。尽管每一张桌子都各不相同,但是,每一张桌子都逼近于一张理想的桌子。如何评价桌子的质量?软件质量是我们作为一个理想所追求的目标,却永远无法完全实现的目标。例如,当软件管理者要求我们产生用户满意的软件产品时,用户的满意代表了我们力求达到的、对质量的先验论定义的一种“认识”。2024/7/622用户质量观用户的质量观将软件的质量视为对用户要求的满足性。国际质量管理权威朱兰(Juran)

指出:对用户来说,质量就是对应用的适用性而不是对规格(或规范)的符合性,最终用户一般很少知道规格(或规范)到底是什么,用户对质量的评价总是以产品是否适用且其适用性是否持久为基础的,是一种“用户评价第一”的质量观。在软件领域,用户对软件质量的需求在于软件产品满足规定的需求或者隐含的需求。其主要的兴趣在于软件的使用、软件的性能以及由使用软件所产生的效果。例如,软件是否具有所需要的功能?软件的可靠性如何?软件的效率如何?软件是否易于使用?软件从一个环境移植到另一个环境的难易程度如何?用户对软件质量的评价并不需要了解软件的内部结构,也不关心软件是如何开发出来的。

2024/7/623基于产品的质量观将质量视为软件产品固有的有关特性软件产品固有的特性包括:适用性、准确性、可互操作性、一致性、安全保密性、成熟性、容错性、可恢复性、易理解性、易学性等等。基于产品的质量观是以软件产品的质量特性是否符合规定的标准作为质量评价依据的质量观,它从内部考虑软件产品固有的特性。持这种观点的人认为:测量并控制软件产品的内部属性(内部的质量指示器)将会改善软件产品的外部行为(使用中的质量)。通过测量软件产品的内部属性来评估软件产品的质量是很吸引人的,因为它提供了一个客观的和独立于具体背景的质量观点。然而,需要进行大量的研究,以确定内部质量的哪些方面影响着软件产品的使用。最具有代表性的是ISO9126。2024/7/624基于价值的质量观将软件的质量视为客户愿意为之付出的资金量。DaveDuchesneau:“Businessiswar,andqualityisabattleground(商场如战争,质量则是战场之一)”。软件的质量是客户愿意为之付出的代价,以鼓励人们考虑费用和质量间的折衷。这种质量观把“价廉物美”作为人们努力追求的质量目标.其中“价廉”代表了人们对质量的“经济性”要求,而“物美”则反映了人们对质量的“适用性”要求。“适用性”和“经济性”构成了现代质量观的最主要的内容,是质量经济分析研究的主要内容。软件产品购买者考虑软件质量的重点是了解一个软件产品是否物有所值。在这种情况下,购买者并不关心软件的内部质量测量,而只关注软件产品的费用和潜在利益。软件产品开发者则重点考虑:在软件产品交付之后,软件质量对软件产品在使用过程中的

影响方式;以及为保证软件产品的高质量,在时间和资源方

面的投资是否能够获得更高的收益和更大的市场份额。

2024/7/625基于过程的质量观将软件的质量视为软件开发过程对规范的符合性。以软件开发过程是否符合规定标准作为质量评价依据的质量观,它强调在软件开发期间以及交付之后的软件产品质量。该观点检查软件产品是否在一开始就得到了适当的构造,以免在开发期间和软件交付之后造成与返工有关的费用。这种对过程的强调可以导出实际上独立于软件产品本身的质量评估。也就是说,基于过程的质量观主张符合过程而不是符合需求规格说明。但是,没有什么证据表明符合过程标准就能确保生产出好的产品。对这种观点的批评者们指出:过程标准仅能保证输出的一致性,因而可以使产生普通的软件产品或者劣质软件产品成为制度。ISO9000坚持改进过程,以改进软件产品的质量。为何?统计意义上的质量!2024/7/6261.5传统工业化生产中的产品质量控制起源上世纪30年代,贝尔电话公司的WalterShewhart(休哈特)博士就注意到了产品质量与生产过程的密切关系。他提出了基于统计的过程控制方法,并建议在对生产过程建立统计的基础上,分四步(计划-做-研究-实施,Plan-Do-Study-Act)来改进生产过程,从而在总体上提高产品的质量。WalterShewhart发表质量的统计控制原则DoStudyActPlanGrandfatherofTotalQualityManagementStatisticalProcessControl2024/7/627TQM的雏形传统工业化生产中的产品质量控制1.5.1Juran的质量三步曲1.5.2Deming的十四点1.5.3六西格玛方法1.5.4Crosby的质量成熟度表2024/7/628JosephM.JuranJosephM.Juranmademanycontributionstothefieldofqualitymanagementinhis70+activeworkingyears.Hisbook,theQualityControlHandbook,isaclassicreferenceforqualityengineers.HerevolutionizedtheJapanesephilosophyonqualitymanagementandinnosmallwayworkedtohelpshapetheireconomyintotheindustrialleaderitistoday.Dr.JuranwasthefirsttoincorporatethehumanaspectofqualitymanagementwhichisreferredtoasTotalQualityManagement.TheprocessofdevelopingideaswasagradualoneforDr.Juran.Topmanagementinvolvement,theParetoprinciple,theneedforwidespreadtraininginquality,thedefinitionofqualityasfitnessforuse,theproject-by-projectapproachtoqualityimprovement--thesearetheideasforwhichJuranisbestknown,andallemergedgradually.2024/7/629QualityTrilogyAsearlyas1928,Juranhadwrittenapamphletentitled"StatisticalMethodsAppliedtoManufacturingProblems."Hisclassicbook,theQualityControlHandbook,firstreleasedin1951,isstillthestandardreferenceworkforqualitymanagers.ThefollowingtableoutlinesthemajorpointsofDr.Juran'squalitymanagementideas:QualityTrilogy:

QualityPlanningIdentifywhoarethecustomers.Determinetheneedsofthosecustomers.Translatethoseneedsintoourlanguage.Developaproductthatcanrespondtothoseneeds.Optimisetheproductfeaturessoastomeetourneedsandcustomerneeds.QualityImprovement

Developaprocesswhichisabletoproducetheproduct.Optimisetheprocess.QualityControl

Provethattheprocesscanproducetheproductunderoperatingconditionswithminimalinspection.TransfertheprocesstoOperations2024/7/630Juran的质量三步曲2024/7/6312024/7/632Dr.W.EdwardsDeming(1900-1993)Dr.W.EdwardsDemingisknownasthefatheroftheJapanesepost-warindustrialrevivalandwasregardedbymanyastheleadingqualityguruintheUnitedStates.Hepassedonin1993.Trainedasastatistician,hisexpertisewasusedduringWorldWarIItoassisttheUnitedStatesinitsefforttoimprovethequalityofwarmaterials."Wehavelearnedtoliveinaworldofmistakesanddefectiveproductsasiftheywerenecessarytolife.ItistimetoadoptanewphilosophyinAmerica."HewasinvitedtoJapanattheendofWorldWarIIbyJapaneseindustrialleadersandengineers.TheyaskedDr.DeminghowlongitwouldtaketoshifttheperceptionoftheworldfromtheexistingparadigmthatJapanproducedcheap,shoddyimitationstooneofproducinginnovativequalityproducts.AsDr.Demingtoldit,"Theysurprisedmeanddiditinfouryears."

HewasinvitedbacktoJapantimeaftertimewherehebecameareveredcounselor.ForhiseffortshewasawardedtheSecondOrderoftheSacredTreasurebytheformerEmperorHirohito.JapanesescientistsandengineersnamedthefamedDemingPrizeafterhim.Itisbestowedonorganizationsthatapplyandachievestringentquality-performancecriteria.2024/7/633戴明环2024/7/634Dr.Deming’s14Points1)目的永恒性(.Constancyofpurpose)要为连续的产品改进创立永恒的目的,立足于长远的观点,而不是从短期利润。2)新的思想体系(Thenewphilosophy)采用新的思想体系。例如,在当时日本所处的创新的经济时代,就不能再接受通常的拖拉、误解、有缺陷的材料和有缺陷的工艺。3)不依赖大规模的产品检查(Ceasedependenceonmassinspection)将质量贯穿于产品中。在生产和采购两个层面上,将统计作为质量的证据。4)拒绝最低价的标书(Endlowesttendercontracts)不能将竞标价格作为唯一的依据。要将价格和质量一起考虑。通过统计和质量的其他数据,来削减相同项目的供应商。其目的是通过降低偏差,将总费用降低到最小,而不单单是最初的费用。从而与供应商建立长期的信任关系。2024/7/635Dr.Deming’s14Points5)改进每个过程(Improveeveryprocess)从计划、生产到服务,持久地改进每个过程。不断地寻找问题,改进质量和生产效率,不断地降低费用。管理者的主要任务是不断地对系统(设计、进货材料、维护、机器的改进、监督、培训、再培训)做工作。6)有组织的岗位培训(Institutetrainingonthejob)有组织地进行在岗培训,包括对管理层的培训,使其能很好地管理每个员工。随着材料、产品与服务设计、机械设备、技术,以及服务的变更,要对员工进行新的技能培训。7)领导岗位的制度化(Instituteleadership)领导岗位制度化的目的是帮助人们更好地做工作。经理和监督人员的责任要从追求数量转变为追求质量。2024/7/636Dr.Deming’s14Points8)驱走恐惧心理(Driveoutfear)利用双向的交流和其他方法来驱走组织内部的恐惧心理,使得每个员工能够为公司高效地工作。9)打破围墙(Breakdownbarriers)打破部门间和员工间的围墙。不同的领域,例如维护、管理、采购等部门的员工必须用团队精神解决在生产和服务中遇到的问题。10)消除劝告(Eliminateexhortations)消除对标语的使用,消除海报和劝告等方式给工作添加的压力,消除在没有提供新的方法的前提下,要求“零缺陷”和新的生产能力的要求。2024/7/637Dr.Deming’s14Points11)消除随意的定量目标(Eliminatearbitrarynumericaltargets)消除预定的工作量和对人的数字目标管理。建立辅助和有帮助的领导关系,以便获得持续的质量和生产效率的改进。12)提倡工艺改进(Permitprideofworkmanship)消除强盗式的计时工作工人和管理层,让他们以提高工艺为自豪。经理、监督人员、领班必须从单纯地追求数量改为重视质量。13)鼓励教育(Encourageeducation)将教育程序制度化,鼓励每个人改进自身能力。组织所需要的不仅仅是优秀的人员,更是那些通过教育而不断改进的人员。14)高层管理的承诺和行动(Topmanagementcommitmentandaction)清晰地定义管理者为改进质量和生产能力所作的长久承诺,以及他们为实现这些目标所担负的责任。必须在高层管理层建立一种能每天推动上述13点的结构,并询问完成这些工作所采取的行动。2024/7/638六西格玛过程改进的模式(DMAIC)自上世纪80年代诞生于摩托罗拉以来,经过20多年的发展,现在已经演变成为一套行之有效的、系统的方法论,该方法论能够解决问题和提高企业绩效。DMAIC过程活动的5个阶段:界定(Define)阶段:确认顾客的关键需求并识别需要改进的产品或流程,组成项目团队,制定项目计划,决定要进行测量、分析、改进和控制的关键质量特性,将改进项目界定在合理的范围内。测量(Measure)阶段:通过对现有过程的测量和评估,制定期望达到的目标及绩效衡量标准,识别影响过程输出Y的输入X,并验证测量系统的有效性,确定过程基线。分析(Analyze)阶段:通过数据分析,确定影响输出Y的关键输入X,即确定过程的关键影响因素。改进(Improve)阶段:寻找最优改进方案,优化过程输出Y并消除或减小关键输入X的影响,使过程的缺陷或变异降至最低。控制(Control)阶段:对过程成果进行固化,通过修订文件等方法,使成功经验制度化。通过有效的监测方法,维持过程改进的成果并寻求进一步提高改进效果的持续改进方法。2024/7/639PhilipCrosby:TheFunUncleoftheQualityRevolutionPhilipCrosbywasBorninWestVirginiain1926.AfterservinginWWIIandtheKoreanWarhehasworkedforCrosley,Martin-MariettaandITTwherehewascorporatevicepresidentfor14years.PhilipCrosbyAssociates,Inc.,foundedin1979,washismanagementconsultingfirmthatservedservedhundredsofcompanies.Sinceretiringin1991hehasfoundedCareerIV,Inc.,PhilipCrosbyAssociatesII,Inc.andtheQualityCollege.PhilCrosbydiedinAugust,2001,buthislegacywillliveoninbetterqualityinthousandsoforganizations.2024/7/640PhilipCrosby:TheFunUncleoftheQualityRevolutionDIRFT-----"DoItRighttheFirstTime"FourAbsolutesofQualityManagement1)质量应定义为与需求的符合程度,不是“好”或“优雅”。Qualityisdefinedasconformancetorequirements,notas'goodness'or'elegance'.2)质量的体系是预防,而不是评估。Thesystemforcausingqualityisprevention,notappraisal.3)性能的标准必须是“零缺陷”(ZeroDefects),而不是“足够接近”。TheperformancestandardmustbeZeroDefects,not"that'scloseenough".4)质量测量是“不符合性的代价”(PriceofNonconformance),而不是指标。ThemeasurementofqualityisthePriceofNonconformance,notindices.2024/7/641质量管理成熟度表格质量类别阶段I:不确定阶段II:觉醒阶段III:启迪阶段IV:智慧阶段V:确定管理的理解与属性质量组织状态问题处理质量占销售费用的百分比质量改进运动对公司质量态度的总结能力持续提高2024/7/642

一旦人们将注意力转向过程,将发现一个全新的思维空间。——JamesHarrington

2024/7/643七人分粥2024/7/644方案一:七人轮流,一天饱,六天饥方案二:推选好人,权利导致腐败方案三:一人分,一人监督,从权利制约到权利合作方案四:委员会制度,公平了,粥凉了真正好制度:轮流分,最后取不同的流程和方法,会造成迥然不同的结果,包括效率、成本上的差异。有什么过程,就有什么结果,流程决定了结果。1.6过程和过程规范1.6.1过程的定义1.6.2软件过程的分类和组成1.6.3软件过程定义的层次性1.6.4什么是过程规范1.6.5过程规范的内容和示例1.6.6过程规范的影响和作用1.6.7软件开发过程的特性2024/7/6451.6.1过程的定义《牛津简明词典》中,“过程”被定义为活动与操作的集合,例如一系列的生产阶段或操作。《书氏大词典》定义“过程”是用于产生某结果的一整套操作、一系列的活动、变化以及作为最终结果的功能。IEEE-Std-610定义“过程”是为完成一个特定的目标而进行的一系列操作步骤,如软件开发过程。SEI-CMM定义过程是用于软件开发及维护的一系列活动、方法及实践。2024/7/646过程的简单描述2024/7/647实现、管理和支持过程之间的关系2024/7/6481.6.2软件过程的分类和组成软件基本过程:软件获取、供应、开发、运行和维护的过程,包括需求分析、软件设计、编码等过程。软件支持过程:对软件主要过程提供支持的过程,包括文档编制过程、配置管理过程、质量保证过程、验证和确认过程(测试过程)、评审过程等。软件组织过程:对软件主要过程和支持过程的组织保证过程,包括管理过程、基础设施过程、改进过程和培训过程。2024/7/649IEC12207软件生存周期过程2024/7/650软件过程的组成2024/7/6511.6.3软件过程定义的层次性

公共(通用)软件过程。组织标准软件过程。项目自定义的软件过程。

2024/7/6521.6.4什么是过程规范“规范”一词被解释为“明文规定或约定俗成的标准”,或理解为“用来控制或治理一个团队的一系列准则与章程,以及团队成员必须遵守的相关的规章制度”过程规范就是对输入/输出和活动所构成的过程进行明文规定或约定俗成的标准。软件过程规范是软件开发组织行动的准则与指南,可以依据上述各类过程的特点而建立相应的规范,如软件基本过程规范、软件支持过程规范和软件组织过程规范。2024/7/653软件过程规范的建立软件能力成熟度模型(CMM/CMMI)个体软件过程(PSP)团队软件过程(TSP)IBM-Raional统一过程(RUP)极限编程(eXtremeProgramming,XP)微软软件框架(MSF)2024/7/6541.6.5过程规范的内容和示例任务规范日常规章制度软件工具“责任人、参与人员、入口准则、出口准则、输入、输出和活动”等基本内容2024/7/6551.6.6过程规范的影响和作用消极影响的存在和消除

FredBrooks“创造力来自个人,而不是组织结构或者过程”规范存在的必要性过程规范的作用帮助团队实现共同的目标一个规范的软件过程必将能带来稳定的、高水平的过程质量过程规范使软件组织的生产效率更高2024/7/6561.6.7软件开发过程的特性简单性过程的特性可视性可预测性标准化可审计可剪裁性文档化多样化一致性可追溯性2024/7/657可视性与可预测性可视性可视性就是指一个生产过程能否被人们看清楚。“内行看门道,外行看热闹”“软件过程的可视性是指,是否存在一组反映软件开发过程和中间产品质量的数据。”可预测性能否预测出其进度、费用、人力资源消耗、中间产品的质量等指标,是掌控影响工程进度的关键技术和预测风险的关键。2024/7/658可剪裁与可追溯性可剪裁性软件开发过程应当是可剪裁的,因为没有完全一样的两个项目。可剪裁性意味着开发队伍可以依据项目的大小、时间进度、经费、质量要求、人员情况、被开发软件的领域知识等因素,对企业或更大范围的统一软件开发标准进行剪裁。可追溯性过程是一系列的活动。后续活动的输入一定要以前面活动的输出为依据。否则,所有的活动将失去关联。从而也就不可能实现有效的管理。可追溯性(traceability)表明后续活动一定要能够追溯到前面的活动。在软件开发中,用可追溯性矩阵来描述这种前后的追溯和映射关系。2024/7/6591.7软件生命周期的过程需求1.7.1软件工程过程1.7.2软件支持过程1.7.3软件管理过程1.7.4软件组织过程1.7.5软件客户-供应商的过程2024/7/6601.7.1软件工程过程工程过程是软件系统、产品的定义、设计、实现以及维护的过程。开发过程:定义并开发软件产品的活动过程,包括需求分析、软件设计和编程等。运行过程:在规定的环境中为其用户提供运行计算机系统服务的活动过程,包括软件部署维护过程:提供维护软件产品服务的活动过程,也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役。2024/7/6611.7.2软件支持过程

文档编制配置管理质量保证验证确认联合评审审核问题解决

明确并定义文档开发中所采用的标准、软件过程中所需要的各类文档。详细说明所有文档的内容、目的及相关的输出产品。根据定义的标准与已确定的计划来编写、审查、修改和发布所有文档。按已定义的标准和具体的规则维护文档。

软件过程或项目中的配置项(如程序、文件和数据等有关内容)被标识、定义。根据已定义的配置项建立基线,以便对更改与发布进行有效的控制,并控制配置项的存储、处理与分发,确保配置项的完全性与一致性。记录并报告配置项的状态以及已发生变更的需求。针对过程或项目确定质量保证活动、制定出相应的计划与进度表。确定质量保证活动的有关标准、方法、规程与工具。确定进行质量保证活动所需的资源、组织及其组织成员的职责。有足够的能力确保必要的质量保证活动独立于管理者以及过程实际执行者之外进行开展和实施。在与各类相关的计划进度保持一致的前提下,实施所制定的质量保证活动。根据需要验证的工作产品所制定的规范(如产品规格说明书)实施必要的检验活动:有效地发现各类阶段性产品所存在的缺陷,并跟踪和消除缺陷。

根据客户实际需求,确认所有工作产品相应的质量准则,并实施必需的确认活动。提供有关证据,以证明开发出的工作产品满足或适合指定的需求。与客户、供应商以及其他利益相关方(或独立的第三方)对开发的活动和产品进行评估。为联合评审的实施制定相应的计划与进度,跟踪评审活动,直至结束。判断是否与指定的需求、计划以及合同相一致。由合适的、独立的一方来安排对产品或过程的审核工作。以确定其是否符合特定需求

提供及时的、有明确职责的以及文档化的方式,以确保所有发现的问题都经过相应的分析并得到解决。提供一种相应的机制,以识别所发现的问题并根据相应的趋势采取行动。2024/7/6621.7.3软件管理过程2024/7/6631.7.3软件的管理过程

项目管理过程是计划、跟踪和协调项目执行及生产所需资源的管理过程。项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等。质量管理过程是对项目产品和服务的质量加以管理,从而获得最大的客户满意度。此过程包括在项目以及组织层次上建立对产品和过程质量管理的关注风险管理过程,在整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制子合同商管理过程,选择合格的子合同商并对其进行管理的过程2024/7/6641.7.4软件组织过程

业务规划过程是为组织与项目成员提供对愿景的描述以及企业文化的介绍,从而使项目成员能更有效地工作。定义过程是建立一个可重复使用的过程定义库,从而对其它过程等提供指导、约束和支持改进过程是为了满足业务变化的需要,提高过程的效率与有效性,而对软件过程进行持续的评估、度量、控制和改善的过程人力资源和培训过程,为项目或其它组织过程提供培训合格的人员所需的活动基础设施过程是建立生存周期过程基础结构、为其他过程建立和维护所需基础设施的过程2024/7/6651.7.5软件客户-供应商的过程客户-供应商过程是内部直接影响到客户、外部直接影响开发、向客户交付软件以及软件正确操作与使用的过程,包括软件获得、客户需求管理、提供软件、操作软件以及提供客户服务等5个子过程获取过程从确定需要获取的软件系统、产品或服务开始,然后制定和发布标书、选择供方和管理获取过程,直到验收软件系统、产品或服务。该过程的成功实施会导致最终生成一个明确的合同或条约,清楚地描述出客户与供应方的期望、职责与义务。在整个软件生命周期中,针对不断变化的客户需求加以收集、处理和跟踪,并建立软件需求的基准线,以作为项目中软件开发活动过程和产品度量和变更管理的基础按客户、事先规定的要求对软件进行包装、发布与安装的活动过程确定包装、发布以及安装软件的有关要求。软件有效地被安装与使用。软件达到需求定义中所规定的质量水平。确定和管理由于引人并发操作软件而带来的操作上的风险。按要求的步骤和在要求的操作环境中运行软件。提供操作上的技术支持,以便解决操作过程个出现的问题.确保软件(或主机系统)有足够的能力满足用户的需求。基于实施情况,确定客户所需要的支持服务。通过提供适当的服务来满足客户的需求。针对客户对产品本身及其相应的支持服务的满意程度进行持续的评估2024/7/6661.8软件过程改进的起源“如果开发过程处于一种统计控制之下,那么只有通过对过程的改进,才能持续地获得更好的结果;如果不以统计的方法对过程加以控制,就无法维持这个过程。”WattsHumphrey建议组织应通过下面的步骤来改进其软件能力:(1)理解当前开发过程或其他过程的状态。(2)描述出理想过程的远景。(3)按优先级顺序列出一系列需要进行的过程改进活动。(4)为实现这些活动制定出一个计划。(5)为实施这个计划承诺相应的资源。(6)重复上述步骤。“二十多年来,并未实现用新的软件方法和技术解决软件产业化和软件质量方面问题的承诺,工业界和政府组织认识到根本的问题是软件开发过程管理上的不足”。——DoD,ReportoftheDefenseScienceBoardTaskForceonMilitarySoftware,September1987WattsHumphrey美国国防部门2024/7/667QualityMovementtoSoftwareIndustryWalterShewhart(1920-1930)EdwardsDeming(1956)JosephJuran(1956)PhilCrosby(1980)WattsHumphrey(1986)SEI1987----发表统计学质量控制原理进一步发展并成功证明Shewhart的原则发展质量成熟度的量化软件过程中采用Crosby成熟度量化,加入成熟度等级的概念发展成熟度的框架,成熟度问卷,SPA,SCE,CMM,CMMI2024/7/668CMM的开始1987年,美国SEI首先提出SEI’87问卷,接着提出的软件能力成熟度模型(SW-CMM)试图来解决上述问题。CMM是一个分级的模型,其分层结构是基于已有60多年历史的产品质量原理建立的。Ifyoudon’tknowwhereyourare,amapwon’thelp----WattsS.HumphreyIfyoudon’tknowwhereyou’regoing,anyroadwilldo.2024/7/669从质量原理改变为成熟度框架实际上,将质量原理改变为成熟度框架的思想是ITT的PhilipCrosby在其书“QualityisFree”中首先提出的。Crosby的质量管理成熟度网格描述了采用质量管理实践时的五个进化阶段。该成熟度框架后来在WattsHumphrey指导下,由IBM的RonRadice及其同事们作了进一步改进,使之适应软件过程的需要。1986年,Humphrey将此成熟度框架带到了软件工程研究所(SEI),并增加了成熟度等级的概念,形成了当前已在整个软件产业界使用的软件能力成熟度框架的基础。质量类别阶段I:不确定阶段II:觉醒阶段III:启迪阶段IV:智慧阶段V:确定管理的理解与属性质量组织状态问题处理质量占销售费用的百分比质量改进运动对公司质量态度的总结DoD赞助了SEI的工作。并任命WattsHumphrey为主任,该计划产生了CMM。2024/7/670运动的普及欧洲委员会建立一个特别投资计划:欧洲系统和软件自主权(ESSI:EuropeanSystemandSoftwareInitiative),鼓励和赞助全欧洲的实验以及传播软件过程改进实验(PIE)的组织。这些实验结果被记录下来,在欧洲的关于PIE实验经验的交流会上发表和演示。英国国防部(MoD)通过国防研究机构资助有关软件质量标准和软件过程改进方面的工作,而后者所发展出来的质量标准最终成为了向ISO提出SPICE的实质内容。它强调了采用国际标准对软件供应商的软件过程能力进行评估的必要性,而最终导致ISO/IEC15504过程评估标准的开发。2024/7/671运动的普及加拿大贝尔(BellCanada)为主,由贝尔北方研究院和加拿大北方电讯积极参与的国际电信公司组织,开发和公布了Trillium,Trillium是一个主动的持续的软件过程改进的模型。欧洲空间局(ESA)开发和公布软件工程标准----PSS-05-0,提供给ESA软件开发的供应商和分支机构使用。国际标准化组织(ISO)开发出ISO9000系列标准。其中部分文档的目的在于将ISO标准运用到软件开发过程中,其中包括:ISO9000-3(ISO,1991,1994)、ISO/IEC12207和ISO15504。2024/7/672运动的普及1996年,总装备部成立“载人航天软件工程化”专家组,开展“软件工程化”运动1999年开始,国内的IT关注并进行CMM认证,例如:华为,鼎新,联想,中软,等…..2000年,软件成熟度模型(CSCMM)正式出版各大软件企业开始CMM评估工作2003年,GJB5000发布2024/7/6731.8SW-CMM的诞生历程(1)Humphrey的成熟度框架早期版本发表在SEI技术报告[Humphrey87b]、文章[Humphrey88]和书《ManagingthesoftwareProcess》[Humphrey89]中。1987年发表了初步的成熟度提问单[Humphrey87b],它作为工具给软件开发组织提供了软件过程评估的一种方法。1987年又进一步提出了软件过程评估和软件能力评价的方法,以便估计软件开发组织的软件过程成熟度。2024/7/674SW-CMM的诞生历程(2)自1990年以来,在政府和工业部门许多人的帮助下,SEI基于几年来在将框架运用到软件过程改进方面所取得的经验,进一步扩展和精炼了该模型,提出了CMM2.0版的

温馨提示

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

评论

0/150

提交评论