《第三章_软件质量管理.pptx》由会员分享,可在线阅读,更多相关《第三章_软件质量管理.pptx(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章 软件质量管理袁永科内容提要o 质量发展阶段o 软件质量保证o 软件质量管理人员的职责与地位o 软件质量管理分析方法o 软件能力成熟度模型(CMM)质量管理的发展阶段质量管理的发展阶段o 20世纪,人类跨入了以加工机械化、经营规模化、资本垄断化为特征的工业化时代。在整整一个世纪中,质量管理的发展,大致经历了三个阶段 n 1.质量检验阶段质量检验阶段 n 2.统计质量控制阶段统计质量控制阶段 n 3.全面质量管理阶段全面质量管理阶段 1.质量检验阶段质量检验阶段o20世纪初,人们对质量管理的理解还只限于质量的检验。质量检验所使用的手段是各种的检测设备和仪表,方式是严格把关,进行百分之百的检
2、验。期间,美国出现了以泰罗为代表的“科学管理运动”。“科学管理”提出了在人员中进行科学分工的要求,并将计划职能与执行职能分开,中间再加一个检验环节,以便监督、检查对计划、设计、产品标准等项目的贯彻执行。这就是说,计划设计、生产操作、检查监督各有专人负责,从而产生了一支专职检查队伍,构成了一个专职的检查部门、这样,质量检验机构就被独立出来了。起初,人们非常强调工长在保证质量方面的作用,将质量管理的责任由操作者转移到工长,故被人称为“工长的质量管理”。 o后来,这一职能又由工长转移到专职检验人员,由专职检验部门实施质量检验。称为“检验员的质量管理”。 2.统计质量控制阶段统计质量控制阶段o 这一阶
3、段的特征是数理统计方法与质量管理的结合。第一次世界大战后期,休哈特将数理统计的原理运用到质量管理中来,并发明了控制图。他认为质量管理不仅要搞事后检验,而且在发现有废品生产的先兆时就进行分析改进,从而预防废品的产生。控制图就是运用数理统计原理进行这种预防的工具。因此,控制图的出现,是质量管理从单纯事后检验进入检验加预防阶段的标志,也是形成一门独立学科的开始。第一本正式出版的质量管理科学专著就是1931年休哈特的工业产品质量的经济控制。在休哈特创造控制图以后,他的同事在1929年发表了抽样检查方法。他们都是最早将数理统计方法引入质量管理的,为质量管理科学做出了贡献 3.全面质量管理阶段全面质量管理
4、阶段o 20世纪50年代以来,科学技术和工业生产的发展,对质量要求越来越高。要求人们运用“系统工程”的概念,把质量问题作为一个有机整体加以综合分析研究,实施全员、全过程、全企业的管理。60年代在管理理论上出现了“行为科学”学派,主张调动人的积极性,注意人在管理中的作用。随着市场竞争,尤其国际市场竞争的加剧,各国企业都很重视“产品责任”和“质量保证”问题,加强内部质量管理,确保生产的产品使用安全、可靠。 戴明质量管理14项原则 o 要有一个改善产品和服务的长期目标,而不是只顾眼前利益的短期观点。为此,要投入和挖掘各种资源。o 要有一个新的管理思想,不允许出现交货延迟或差错和有缺陷的产品。 o 要
5、有一个从一开始就把质量造进产品中的办法,而不是依靠检验去保证产品质量。 o 要有一个最小成本的全面考虑,在原材料、标准件和零部件的采购上不要只以价格高低来决定对象。 o 要有一个识别体系和非体系原因的措施。85%的质量问题和浪费现象是由于体系的原因,15%的是由于体系上的原因。 o 要有一个更全面、更有效的岗位培训。不只是培训现场操作者怎样干,还要告诉他们为什么要这样干。 o 要有一个新的领导方式,不只是管,更重要的是帮,领导自己也要有一个新的风格。 戴明质量管理14项原则 o要有一个新的领导方式,不只是管,更重要的是帮,领导自己也要有一个新的风格。 o要在组织内有一个新风气,消除员工不敢提问
6、题、建议的恐惧心理。 o要在部门间有一个协作的态度,帮助从事研制开发、销售的人员多了解制造部门的问题。 o要有一个激励、教导员工提高质量和生产率的好办法。不能只对他们喊口号、下指标。 o要有一个随时检查工时定额和工作标准有效性的程序,并且要看他们是真正帮助员工干好工作,还是妨碍员工提高劳动生产率。 o要把重大的责任从数量上转移到质量上,要使员工都能感到他们的技艺和本领受到尊重。 o要有一个强而有效的培训计划,以使员工能够跟上原材料、产品设计、加工工艺和机器设备的变化。 o要在领导层内建立一种结构,推动全体员工都来参加经营管理的改革。 戴明质量管理7大绝症o 目的o 压力o 绩效o 跳槽o 数字
7、o 成本o 费用软件质量保证o 软件质量保证是为了保证软件产品和服务能够充分满足用户所要求的质量而进行的有计划有组织的活动,确保软件产品从诞生到消亡的所有阶段的质量活动.o 为了确定,达到和维护需要的软件质量而进行的所有计划有系统的管理活动.o 目标是:为管理层提供为获知产品质量信息所需要的数据,从而获得产品质量是否符合预定目标的认识和信心.软件质量保证过程一般的o 建立小组o 选择和确定活动o 制定和维护计划o 执行计划o 不断完善软件质量属性(分组讨论)o 软件质量的属性o 软件质量属性和产品活动的关系软件质量保证体系与实施o 明确双方职责o 使用合理的质量评价指标体系o 质量检查措施o
8、建立监控体系实施质量保证明确双方职责o 项目开发方的职责:n 设立组织结构n 制定质量方针和质量目标n 管理评审o 项目需求方的职责:n 提出需求n 回答相关问题n 认可方案n 签定协议n 规定验收准则和规程n 提供必要的信息使用合理的质量评价指标体系o 功能性指标n 完备性与正确性n 定性评价法o 可靠性指标n 可用度,初期故障率,偶然故障率,平均失效前时间,平均失效间隔时间,缺陷密度,平均失效恢复时间n 定量分析法o 易用性指标:易理解性,易学习性,易操作性o 效率特征指标:代码规模,处理时间质量检查措施o 事前制定检查表o 事前制定议事日程o 事前对检查人员进行培训o 事中只评审工作,不
9、评审开发者o 事中不太多争论和辩论o 事中只说清楚问题所在,不要企图当场解决所有问题建立监控体系实施质量保证o 全面的审核制度o 配备专门的质量保证人员开展质量活动软件质量管理内容o 软件过程改进软件质量管理内容o 软件过程改进n 戴明的漏斗试验软件质量管理内容o 软件过程改进n规则一:将漏斗口对准目标点。保持这种状态,将珠子由漏斗口落下50次,在珠子每次静止的位置坐标记规则一-10-50510软件质量管理内容o 软件过程改进n规则二:根据每次珠子落下的静止位置与目标位置之间的差距,移动漏斗位置以弥补误差。例如珠子落在目标点东北30厘米处,则漏斗由现有位置往西南移30厘米规则二-15-10-5
10、0510软件质量管理内容o 软件过程改进n规则三:每次珠子落下后调整漏斗位置,但以目标点作为移动的参考点。按照落点与目标点之间的差距,把漏斗移往与目标点等距但相反方向的位置,以弥补前次偏差规则三-20-1001020软件质量管理内容o 软件过程改进n规则四:每次珠子落下降漏斗移至该位置规则四-50510软件质量管理人员职责o 软件质量工程师的工作原则是“用过程质量确保产品质量”o 软件质量工程师的职责分为组织相关的职责和项目相关的职责o 讨论:软件质量管理人员职责1.组织相关的职责组织相关的职责n与客户及时沟通,确保客户满意与客户及时沟通,确保客户满意软件质量工程师应当担当客户代表的角色,及时
11、与客户进行沟通,了解客户对产品质量、开发进度、开发费用等方面的需求。定期进行客户满意度调查,对客户反馈信息进行分析,为项目管理提供分析结果,及时根据客户需求协助项目经理调整项目开发计划。 软件质量管理人员职责n内部评审内部评审软件质量工程师参与项目的内部评审活动,其职责包括确定评审员,为评审组织确定评审内容,确保评审按既定的过程执行,并向管理团队通报评审结果。n审计审计软件质量工程师参与改进并跟踪现有审计制度以适应项目和产品解决方案发展的需要。软件质量工程师相互协作以确保不断地改进现有的审计内容和审计制度,提高管理的透明性。n度量度量其职责主要是进行量化过程管理,包括完善和执行统计过程控制,贯
12、彻执行度量标准,通过数据采集和分析完善度量基准。 软件质量管理人员职责n2.项目相关的职责项目相关的职责n为相关项目提供过程管理和质量保证咨询为相关项目提供过程管理和质量保证咨询软件质量工程师参加项目启动会议,为制定项目开发计划提供相关历史数据。为项目开发人员提供质量保证相关知识的咨询。n帮助项目建立切实可行的质量保证目标,选择适当的质帮助项目建立切实可行的质量保证目标,选择适当的质量保证基准量保证基准软件质量工程师根据客户需求、企业内部质量审查标准、行业标准,按照项目类别建立项目质量保证目标,与项目成员一起讨论并进行必要的修改。明确度量标准和数据收集方法,在项目实施过程中根据建立的目标对项目
13、进行实时监控。软件质量管理人员职责n制定项目质量保证计划制定项目质量保证计划 软件质量工程师根据项目类别、质量保证目标、项目开发进度制定相应的质量保证计划。n项目审查项目审查软件质量工程师应当参与必要的项目审查。审查内容包括:- 产品需求说明书- 软件项目开发计划- 测试计划- 测试总结报告软件质量管理人员职责n数据收集和分析数据收集和分析软件质量工程师负责按软件质量保证计划收集与项目相关的数据,通过对数据进行分析,及时将与质量相关的反馈和建议汇报给项目负责人和高级主管。项目负责人根据反馈数据调整项目开发计划。n项目审计项目审计 软件质量工程师负责鉴别项目开发中与项目质量保证计划中规定的标准和
14、过程不相符的内容,当这些内容与计划偏离比较多,以至于可能影响到项目的及时高质量完成时,可以考虑召开项目审计会议。软件质量工程师负责会议的计划、主持,确保审计所有偏离内容,并汇报审计结果。软件质量管理人员职责n系统测试系统测试软件质量工程师可以介入系统测试,确保软件产品符合质量要求,满足客户需求。软件质量工程师帮助系统测试工程师收集数据,将数据分析结果反馈给项目负责人、系统测试工程师和项目组其他成员。n错误预防错误预防 软件质量工程师负责提供历史和当前数据,帮助项目了解项目所处状态、进度和存在的弱点。所有的错误预防工作都应由项目负责人计划并跟踪,软件质量工程师负责监督。 软件质量管理人员职责n研
15、究表明,组织内职能的集中化程度越高,该组织就越成功。n如果程度太低,会被忽视;太高也可能引发问题;n管理此项活动的人质量经理需要与部门内的其他经理位于同等位置。软件质量管理人员职责软件质量管理人员职责o质量保证经理必须努力与其他部门经理及中层经理合作,参与程序或用户系统的运行和应用,并参与标准的开发,因为整个组织内部都可能发生质量问题。o集中式质量保证职能n质量保证必须位于组织的高层管理位置。n如果层次太低,将会被忽视。n如果层次太高,可能会损失细节性运行结果。n质量保证经理和项目经理必须共同努力。软件质量管理人员职责o 软件质量管理人员的价值在于n 项目的助手n 高层的助手n 过程改进的出发
16、点n 提供过程与产品的可视性软件质量管理分析方法o 散点图o 回归分析o 时序图o 直方图o 帕雷托图o 因果分析图o 控制图o 过程能力指标软件质量管理分析方法o 散点图n 快速识别变量之间的关系n 通过分析散点图的形状,可以判断o 有无明显的趋势或走向?o 变量之间关联吗?n 为回归分析提供依据软件质量管理分析方法o 散点图散点图0.0050.00100.00150.00200.00250.00300.000.0010.0020.0030.0040.00缺陷个数/KLOCLOC/人时软件质量管理分析方法o 回归分析n 回归分析可以以量化的方式描述变量之间的依赖关系n 当使用线性回归方法时(
17、例如最小二乘法假定变量之间线性相关)n 在分析实际情况时,可以有选择地消除一些异常点软件质量管理分析方法o 回归分析回归分析拟合图0.0050.00100.00150.00200.00250.00300.000.0010.0020.0030.0040.00X Defect/KlocYY预测 Y软件质量管理分析方法o 时序图有效工作时间0204060周软件质量管理分析方法o 直方图直方图0246810121316.620.223.827.4其他软件质量管理分析方法o 帕雷托图 1897年由意大利经济学家Vilfred Pareto所提出 Juran 将其发展为一般的帕雷托原则 80-20原则 帕
18、雷托图中数据的重要性以下降的顺序排列 按优先顺序表示数据,并将注意力集中在关键数据上,一般来说,关注在前两到三个因素就可以解决绝大部分的问题软件质量管理分析方法o 帕雷托图帕雷托分析图0102030405060123456020406080100120缺陷数目百分比80-20原则o80%的穷人,20%的富人;80%的人:掌握世上20%的财富,20%的人:掌握世上80%的财富;80%的人:用脖子以下赚钱,20%的人:用脖子以上赚钱;80%的人:负面思考者,20%的人:正面思考者;80%的人:卖时间,20%的人:买时间;80%的人:找一个好工作,20%的人:找一个好员工;80%的人:受人支配,20
19、%的人:支配别人;80%的人:做事情,20%的人:做事业;80%的人:重视学历,20%的人:重视经验;80%的人:知识就是力量,20%的人:行动才有结果;80%的人:我要是有钱我就怎么样怎么样做,20%的人:我怎么样怎么样做我就有钱;80%的人:爱购物,20%的人:爱投资;80%的人:爱瞎想,20%的人:有目标;80%的人:答案中找问题,20%的人:问题中找答案;80%的人:在乎眼前,20%的人:放眼长远;80%的人:错失机会,20%的人:把握机会;80%的人:早上才想今天干嘛,20%的人:计划未来;80%的人:按自己的意愿行事,20%的人:按成功的经验行事;80%的人:不愿做简单的事,20%
20、的人:重复做简单的事;80%的人:今天的事明天做,20%的人:明天的事今天做;80%的人:不可能办到,20%的人:如何能办到;80%的人:忘性好,20%的人:记笔记;80%的人:受失败人的影响,20%的人:受成功人的影响;80%的人:状态不好,20%的人:状态很好;80%的人:不整理资料,20%的人:会整理资料;80%的人:受以前失败的影响,20%的人:相信以后会成功;80%的人:不愿改变环境,20%的人:与成功人为伍;80%的人:改变别人,20%的人:改变自己;80%的人:爱生气,20%的人:爱争气;80%的人:批评和漫骂,20%的人:鼓励和赞美;80%的人:爱放弃,20%的人:会坚持。 软
21、件质量管理分析方法o 因果分析图日本质量管理学者石川馨首先提出,又称石川图或鱼刺图它把影响产品质量诸因素之间的关系以树状图的方式表示出来,使人一目了然,便于分析原因并采取相应的措施最后细分出来的原因应是具体的,便于采取实际措施在细分原因时,应集思广益,力求分析结果准确而无遗漏软件质量管理分析方法o 因果分析图客客户户满满意意度度下下降降项项目目上上线线日日起起严严重重拖拖延延系系统统不不稳稳定定客客户户方方职职责责不不明明确确测测试试不不充充分分项项目目计计划划过过于于乐乐观观软软件件系系统统架架构构可可扩扩充充性性差差客客户户需需求求变变更更频频繁繁采采用用的的第第三三方方软软件件B BU
22、UG G过过多多项项目目前前期期估估计计不不充充分分服服务务器器性性能能不不稳稳定定软件质量管理分析方法o统计控制过程n统计过程控制为过程建立可接受的偏差nSPC由Walter A.Shewart 于二十世纪二十年代提出,主要用于控制产品的费用和质量nSPC一度被认为是解决各种问题的万灵药。Deming等人提出了TQM的概念,SPC做为一种核心的方法而得到发扬光大软件质量管理分析方法软件质量管理分析方法o 统计控制过程o 在一切制造过程中所呈现的波动有两个分量,第一个分量是过程内部引起的稳定分量(即偶然波动),第二个分量是可查明原因的间断波动(即异常波动)o 异常波动可用有效方法加以发现并被剔
23、除,但偶然波动不会消失,除非改变基本过程o 基于3Sigma的控制图可以把偶然波动和异常波动区分开来休哈特博士软件质量管理分析方法o 统计控制过程软件质量管理分析方法o 统计控制过程软件质量管理分析方法o 统计控制过程n 应用统计过程控制的分析结果o 如果数据分析结果只用于描述我们所作的事情,那它可能会提供有用的信息,但它的作用就像“昨天的新闻” o 数据分析的结果应该对明天的工作有所帮助数据分析方法o可用于统计分析的软件过程数据n成本:资金、分包合同金额、总金额n时间:年、月、日、时等n工作量:人时、人月、人年等n规模:功能点、KLOC、对象点和 McCabe 复杂度n缺陷:测试前、测试后、
24、发布后、总数等n功能:功能点、产品的功能数n变更:需求变更、设计变更n关键计算机资源:内存或CPU的使用率n任务:活动的完成状态nCMMoCMM的产生的产生n 软件能力成熟度(the Capability Maturity Model for Software, 简称CMM)是美国软件工程研究所(Software Engineering Institute, 缩写为SEI)首先提出的。SEI是美国国防部设立,SEI的任务是提供一系列技术管理方法来提高软件工程水平,保证美国防部能够通过成本、进度和质量的预估和改进获得并且支持其精准的软件系统。CMMo任务包含四个目标:1、 通过对实践和技术(或为
25、未充分应用的技术和实践)的定义、评估和成熟预测,以加快导入和推广高成效的软件工程的实践和技术。2、 在软件工程和技术转型方面维护一个长期有效的资格认证工作3、 使工业和政府组织通过自己的直接努力实现软件工程的有规划的改进4、 促进软件工程持续不断的应用所采纳的优秀标准管理思想o质量管理的八大原则n 以顧客為關注焦點: 組職依存於顧客,因此組織應當理解顧客當前和未來的需求,滿求滿足顧客要求並爭取超越顧客期望.n 領導作用:領導者確立組織統一的宗旨和方向,他們應當創造並保持使員工能充分參與實現組織目標的內部環境.n 全員能與: 各級人員都是組織人,只有他們的充分參與,才能使他們的才干為組織帶來收益
26、,n 過程方法: 將活動和相關的資源作為過程進行管理,可以更高效地得到期望的結果.管理思想o质量管理的八大原则n 管理的系統方法: 將相互關聯的過程作為系統加以識別,理解和管理有助於組織提高實現目標的有效性的效率.n 持續改進:持續改進總體業績應當是組織上的一個永恆目標.n 基於事實的決策方法:有效決策是建立在數據和信息分析的基礎上.n 與供方互利的關系:組織與供方是相互依存的,互利的關系可增強雙方創造價值的能力.比较项目比较项目不成熟的软件不成熟的软件组织组织成熟的软件组成熟的软件组织织软件过程临时拼凑,不能贯彻统一标准,不断改进,全员理解管理方式反应式主动式进度,经费估计无根据,质量让步有
27、历史数据和客观比较质量管理问题判断无基础,质量活动无保证质量保证CMM的一些基本概念 o 软件过程:人们用于开发和维护软件及其相关过程的一系列活动,包括软件工程活动和软件管理活动。o 软件过程能力:描述(开发组织或项目组)遵循其软件过程能够实现预期结果的程度,它既可对整个软件开发组织而言,也可对一个软件项目而言。o 软件过程性能:表示(开发组织或项目组)遵循其软件过程所得到的实际结果,软件过程性能描述的是已得到的实际结果,而软件过程能力则描述的是最可能的预期结果,它既可对整个软件开发组织而言,也可对一个特定项目而言。o 软件过程成熟度:一个特定软件过程被明确和有效地定义,管理测量和控制的程度。
28、CMM的一些基本概念 o 软件能力成熟度等级:软件开发组织在走向成熟的途中几个具有明确定义的表示软件过程能力成熟度的平台。o 关键过程域:每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程域,它们的实施对达到该成熟度等级的目标起到保证作用。这些过程域就称为该成熟度等级的关键过程域,反之有非关键过程域是指对达到相应软件成熟度等级的目标不起关键作用。归纳为:互相关联的若干软件实践活动和有关基础设施的一个集合。o 关键实践:对关键过程域的实践起关键作用的方针、规程、措施、活动以及相关基础设施的建立。关键实践一般只描述做什么而不强制规定如何做。整个软件过程的改进是基于许多小的、渐进的步骤,而
29、不是通过一次革命性的创新来实现的,这些小的渐进步骤就是通过一些着关键实践来实现。 CMM模型概要 o软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术起不到预期的作用。而且项目的成功也是通过工作组的杰出努力,所以仅仅建立在可得到特定人员上的成功不能为全组织的生产和质量的长期提高打下基础,必须在建立有效的软件工程实践和管理实践的基础设施方面,坚持不懈地努力,才能不断改进,才能持续地成功。 CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟等级,为过程不断改进奠定了循序渐进的基础。这5个成熟度等级定义了一个
30、有序的尺度,用来测量一个组织的软件过程成熟和评价其软件过程能力,这些等级还能帮助组织自己对其改进工作排出优生次序。成熟度等级是已得到确切定义的,也是在向成熟软件组织前进途中的平台。每一个成熟度等级为连续改进提供一个台基。每一等级包含一组过程目标,通过实施相应的一组关键过程域达到这一组过程目标,当目标满足时,能使软件过程的一个重要成分稳定。每达到成熟框架的一个等级,就建立起软件过程的一个相应成分,导致组织能力一定程度的增大。下面给出了CMM模型概要,5个等级各有其不同的行为特征。要通过描述不同等级组织的行为特征:即一个组织为建立或改进软件过程所进行的活动,对每个项目所进行的活动和所产生的横跨各项
31、目的过程能力。o 软件能力成熟度模型:随着软件组织定义、实施、测量、控制和改进其软件过程,软件组织的能力也伴随着这些阶段逐步前进,完成对软件组织进化阶段的描述模型。初始级可重复级确定级可管理级优化级不断改进的过程能预见的过程标准一致的过程有纪律的过程CMM结构5个等级o CMM将软件开发过程和软件质量的成熟程度分成以下5个等级 n 提出了由第一级(低级)向第五级(高级)逐级发展的模式。模型的等级从低到高,可以预计企业的开发风险越来越低,开发能力越来越高。模型的每个等级由不同的过程方面(Process Area)构成,而每个过程方面又由各种目标构成,每个目标由各种特定惯例和通用惯例支持。 等级等
32、级特点特点关键过程域关键过程域初始级无序过程,消极管理可重复级基本的过程跟踪,重复早先类似的项目需求管理,软件项目策划,跟踪和监督,软件培植管理,软件质量保证已定义级标准软件过程组织过程定义,焦点;培训大纲,集成软件管理,产品工程,同行评审已定量管理级定量的理解和控制定量的过程管理,软件质量管理优先级过程不断改进缺陷预防,技术变更管理,过程变更管理CMM的具体级别划分如下的具体级别划分如下 o 第一级:初始级(The Initial Level):n 初始级的软件机构缺乏对软件过程的有效管理,其软件项目的成功来源于个人英雄主义而非机构行为,因此它不是可重复的。o 第二级:可重复级(The Re
33、peatable Level)n 第二级软件机构的主要特点是:项目计划和跟踪的稳定性,项目过程的可控性和以往成功的可重复性。更具体的说: n 机构建立了管理软件项目的策略和实现这些策略的过程。 n 新项目的计划和管理基于类似项目的经验。 CMM的具体级别划分如下的具体级别划分如下 o 第二级:可重复级(The Repeatable Level)n 过程能力的增强基于以各个项目为基础的有纪律的基本过程管理。 n 不同的项目可有不同的过程,而对机构的要求是具有指导项目建立适当管理过程的策略。 n 每个项目都确定了基本的软件管理控制,包括:基于前面项目的经验和新项目特点,做出现实的项目承诺(如预算、
34、交付期、软件质量等);软件项目管理者要跟踪开支、日程、软件功能; n 满足承诺的过程中的出现的问题要及时发现,妥善解决; n 定义了软件项目标准,且机构确保其被遵守。CMM的具体级别划分如下的具体级别划分如下 o 第二级:可重复级(The Repeatable Level)o 本级的关键过程领域(KPA)包括: n 需求管理(Requirements Management)客户的需求是软件项目的基础。软件需求管理的目的是在客户和软件项目之间达成对客户需求的一致理解。 n 软件项目计划(Software Project Planning) 为软件工程和项目管理建立一个合理的计划。 n 软件项目的
35、跟踪和监督(Software Project Tacking and Oversight) 使管理者对实际的软件项目进展过程有足够的了解,以在项目效能偏离计划太多是采取有效措施。 CMM的具体级别划分如下的具体级别划分如下 o 第二级:可重复级(The Repeatable Level)o 本级的关键过程领域(KPA)包括: n 软件子合同管理(Software Subcontract Management)选择合格的分包商,并有效管理之。 n 软件质量保证(Software Quality Assurance) 对软件项目过程及其间生产的各个产品进行监管以保证最终软件质量。 n 软件配置管理
36、(Software Configuration Management) 在整个软件生命周期里建立并维护软件项目的工作产品的完整性。CMM的具体级别划分如下的具体级别划分如下o第三级:已定义级(The Defined Level) o 第三级的主要特征在于软件过程已被提升成标准化过程,从而更加具有稳定性、可重复性和可控性。处于第三级的企业具有如下一些特征:o 机构采用标准的软件过程,软件工程和管理活动被集成为一个有机的整体。标准化的目的是使之可使管理者和技术人员有效工作。 o 有一组人员专门负责机构的软件过程,并且在机构中有培训计划来确保stuff和manager有知识和技能完成所赋予的角色。
37、o 标准的软件过程结合项目的特点即形成定义的软件过程,它包括一组集成的定义良好的软件工程和管理过程。 CMM的具体级别划分如下的具体级别划分如下o第三级:已定义级(The Defined Level) o 一个定义良好的过程包括就绪准则、输入、完成工作过程、验证机制、输出和完成准则。 o 在已建立的产品线上cost, schedule, functionality 均可控制,软件质量被加以跟踪。 o 过程能力体现在在机构范围内对一个定义的软件过程活动、角色和责任的共同理解。 CMM的具体级别划分如下的具体级别划分如下o第三级主要处理以下的KPA: o机构过程关注(Organization Pr
38、ocess Focus) 机构对于改进机构的软件过程能力的软件过程活动的责任。 o机构过程定义(Organization Process Definition) 维护一组有用的软件过程assets和提供一个用于定义定量过程管理的有意义的数据的基础 o培训计划(Training Program)个体的技能和知识以使他们能够更加有效的完成他们的角色 o集成软件管理(Integrated Software Management) 业务环境和项目的技术需要,从机构的标准软件过程和相关的过程assets经过剪裁,将软件工程和管理活动集成为一个有机的定义的软件过程。 o软件产品工程(Software Pr
39、oduct Engineering) 地完成定义良好的工程过程。它描述了项目的技术活动,如需求分析,设计,编码和测试。 o组间协调(Intergroup Coordination) 软件工程组主动介入其它工程组以便项目能更好满足客户要求的手段 o同行评审(Peer Reviews) 且有效的排除软件工作产品中的缺陷。它可通过inspection,structured walkthrough等手段进行。 第四级:已管理级(The Managed Level) o第四级的软件机构中软件过程和软件产品都有定量的目标,并被定量地管理,因而其软件过程能力是可预测的,其生产的软件产品是高质量的。具体地说,
40、第四季的机构具有如下特征:o 软件过程和产品有定量质量目标。 o重要的软件过程活动均配有生产率和质量度量; o数据库被用来收集和分析定义软件过程的数据; o项目的软件过程和质量的评价有定量的基础; o项目的产品和过程控制具有可预测性。 o缩小过程效能落在可接受的定量界限内的偏差; o可区分过程效能的有效偏差和随机偏差; o面向新领域的风险是可知并被仔细管理;第四级:已管理级(The Managed Level)o 本级的关键过程领域包括: o 定量过程管理(Quantitative Process Management) 地控制软件项目的过程效能。 o 软件质量管理(Software Qual
41、ity Management) 定量了解项目软件产品的质量,并达到既定的质量目标。第五级:The Optimizing Level o 概括来说,第五级的主要特点是技术和过程改进被作为常规的业务活动加以计划和管理。处于第五级的企业具有如下一些特征: o 机构集中于连续的过程改进 o 具有标识弱点和增强过程的手段。 o 采用过程数据分析使用新技术的代价效益并提出改进。 o 项目队伍能够分析出错原因并防止其再次出现。 o 防止浪费是第五级的重点。 第五级:The Optimizing Level o 改进的途径在于已有过程的增量改进和使用新技术和新方法的革新构成 :o 陷预防(Defect Pre
42、vention) 出错原因,防止错误再现(通过改变定义的软件过程) o 技术变更管理(Technology Change Management) 有益的新技术(工具、方法和过程),并按有序的方式将其转移至机构之中。其重点在于在变化的世界中有效的完成革新。 o 过程变更管理(Process Change Management)改进机构所采用的软件过程,以改进软件质量,提高生产率和减少产品开发时间。o 概括来说,第五级企业的重点是连续的过程改进级级别别千行代码缺陷数千行代码缺陷数 相同项目的开发相同项目的开发周期周期生产率生产率1100%100%100%246%70%202%320%50%291%
43、48%41%365%53%36%405%CMM模型中的质量管理(SQA)o 计划软件质量保证活动;o 客观地验证软件产品和活动符合规定的标准、程序和需求:评审过程符合性、审计工作产品符合性。o 软件质量保证活动和结果要通知到相关的组和个人;o 软件项目中不能解决的不符合要求的问题,报告给有关的高级管理者。 SQA目标o目标1制定SQA计划o目标2客观地验证软件产品和活动与标准、规程以及需求的符合性o目标3SQA活动和结果要通知受影响的人和组o目标4在软件项目中不能解决的问题要汇报高层经理SQA目标之间的关系目标1:制定SQA计划目标3:把SQA活动及其结果通报给受影响的组SQA计划开展开展SQ
44、A活动活动目标2:客观验证软件产品与活动的符合性SQA活动结果活动结果目标4:把项目中不能解决的问题报告给高层经理项目中无法解决软件活动软件活动软件产品软件产品目标与活动的关系1目标1:制定SQA计划AC1:根据规程为每个项目制定SQA计划AC2:按计划开展SQA活动制定计划时要:与项目计划同时开始受影响的组同意SQA计划SQA计划目标与活动的关系2目标2:客观验证软件产品与活动的符合性SQA计划AC2:按计划开展SQA活动AC5:SQA组评审指定的工作产品AC4:SQA组评审软件工程组活动AC3:SQA组参与并评审开发计划目标与活动的关系3目标3:把SQA活动及其结果通报给受影响的组AC6:SQA组定期报告结果AC8:SQA组与用户SQA一道定期评审SQA活动和结果受影响组SQA计划目标与活动的关系4目标4:把项目中不能解决的问题报告给高层经理AC7:活动和产品中的不符合问题形成文档,按规程处理规程:确定问题性质评审项目中无法解决时,向高层经理报告项目组项目中无法解决的问题CMM的应用o CMM的软件过程评估o CMM的软件能力评价o 其他应用结束谢谢大家的耐心!谢谢大家的耐心!