您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 06-第5章-软件外包中的质量管理
第5章软件外包中的质量管理主要内容5.1软件质量5.2软件质量保证与质量控制5.3质量体系认证与软件企业5.4软件外包与质量管理软件外包概论5.1软件质量5.1.1案例:波音飞机跳票事件(P118)推迟发布5.1.2案例:Oracle11g提前发布的秘密(P118)提前发布软件外包概论5.1.3软件质量管理概述1.什么是软件质量软件外包概论2.软件质量模型(1)MeCall质量模型MeCall在1977年提出,软件特性决定了软件的质量图5-1McCall质量模型软件外包概论(2)Boehm质量模型Boehm在1978年提出分层结构的软件质量模型图5-2Boehm质量模型软件外包概论(3)ISO9126质量模型图5-3ISO9126质量模型软件外包概论3.软件质量管理软件质量管理的三个部分:(1)质量计划:制定质量管理计划(2)质量保证:全面质量管理(3)质量控制:工作结束后的审查和测试图5-4软件开发生命周期中的质量检验软件外包概论5.1.4软件质量度量1.软件度量活动(1)项目度量:规模、成本、工作量、进度、生产力、风险、客户满意度(2)产品度量:产品的可靠性、可维护性、产品规模、软件复杂度、软件质量、可移植性、开发文档等(3)过程度量:成熟度、生命周期、生产率、缺陷率等2.软件质量度量软件质量度量FCM模型:软件质量要素(factor)软件质量评价标准(criteria)软件质量度量标准(metrics)软件外包概论图5-5软件质量度量FCM模型软件外包概论5.2软件质量保证与质量控制5.2.1案例:软件质量事故(P126)宇宙飞船坠毁导弹误炸5.2.2软件质量保证(SQA)1.为项目制定SQA计划SQA计划应明确:需要进行哪些评价?需要进行哪些评审?项目采用什么标准?错误报告的要求和跟踪过程是什么?软件外包概论SQA小组应完成哪些文档?SQA小组应向开发小组提供哪些反馈信息?2.参与开发该软件项目的软件过程描述选择软件开发(过程)模型3.评审各项软件工程活动检查软件开发的实际活动与已定义过程的吻合程度4.审计产品检查工作产品的质量5.记录与处理记录计划与实际的差别,当差别大于规定的阈值时及时进行处理6.跟踪检查和发现实际工作与计划的偏差,并及时记录软件外包概论图5-6软件质量保证流程软件外包概论5.2.3软件质量控制按软件生命周期,对每个阶段的结束时行质量控制:1、需求分析:审查需求规格说明书2、概要设计:审查软件的结构3、详细设计:审查模块内部的数据结构、算法和接口4、编码及代码测试;编码,及编码后的单元测试5、集成测试:模块间的集成、处理流程、接口6、确认测试:系统测试,根据验收要求测试5.2.4软件测试1.软件测试概述2.白盒测试与黑盒测试软件外包概论白盒测试:结构测试,覆盖率好、代价高黑盒测试:功能测试,易第三方测试、成本低、覆盖率差3.软件测试和软件质量管理的关系软件测试只能控制软件的质量,但不能提高软件的质量5.2.5软件质量保证与软件质量控制的关系质量保证(SQA):从过程和标准来控制开发过程,审计过程的质量,保证过程被正确执行,是事前和事中的行为质量控制(SQC):通过测试、评审、验证、确认等手段来发现软件中的缺陷,并保证缺陷得到解决(缺陷跟踪),是事后行为软件外包概论软件外包概论5.3质量体系认证与软件企业5.3.1案例:IBM360机的操作系统开发(P134)4千多模块、100万条指令、耗资数10亿美元,但不能正常运行著名的“人月神话”软件存在的通病:延期、超支、质量差、不便维护5.3.2软件质量认证1.质量体系ISO9001:全面质量管理CMMI:软件能力成熟度模型ISO2700:信息安全能力2.质量体系认证软件外包概论认证机构、认证师3.质量体系认证程序软件外包概论图5-7质量体系认证流程软件外包概论5.3.3软件质量标准1.ISO9000标准(1)ISO9000概述ISO是国际标准化组织的简称ISO宗旨:在世界范围内促进标准化及其相关活动的开展,以便于商品及服务的国际交换,在智力、科学、技术和经济领域内开展合作ISO负责除电工、电工以外的所有领域的标准化活动ISO编号格式:ISO标准号[-分标准号]:发布年号ISO9000不是一个标准,而是涉及质量保证和质量管理活动的一簇标准ISO9000第一版1987年发布,第二版1994年发布,第三版,2000年发布。包括9001,9002,9003,9004.它们范围不同,向后包含ISO9000-3:是对1994发布的ISO9001第三部分质量管理和质量保证内容的追软件外包概论加,主要用于计算机软件开发、供应、安装、维护中的指南ISO9000:2000簇标准(第三版)于2000年12月15日正式发布,它将原来的ISO9001、9002、9003合而为一(2)ISO9000八项质量管理原则以顾客为关注焦点强调领导作用全员参与重视过程方法管理的系统方法持续改进基于事实的决策方法与供方互利的关系(3)ISO9000认证程序软件外包概论提交认证申请书签定认证协议书预评审初次审核每年的年审每三年的复审(4)ISO9000对软件企业的作用企业内部人员职责分明使工作具有可视性、可知性、可查性产品质量得到保证降低成本为客户提供信心提高企业形象和竞争实力软件外包概论满足市场需求2.CMMI能力成熟度模型(1)CMM由来CMM由卡内基梅隆大学(CMU)软件工程研究所(SEI)提出1986年11月,SEI在有关公司的协助下,着手开展CMM的工作,为客户提供评价软件开发方能力、帮助组织改进和提高其软件过程1987年SEI推出软件过程成熟度的简短描述[Humphrey87a]随后,开发了二种方法(软件过程评估和软件成熟度评价)和一个成熟度问卷,以估计软件过程成熟度1991年SEI将成熟度框架发展为成熟度模型在应用中几经修改,最后在1993年2月正式发布了CMM1.1版,在政府等部门得到广泛应用软件外包概论目前这一成果已在北美、欧洲和日本等国家及地区得到了广泛应用成为事实上的软件过程改进的工业标准(2)CMM的框架(3)CMM结构除第一级外,CMM的每一级是按完全相同的结构构成的成熟度级别关键过程域关键实践类关键实践过程能力主要问题实施或制度化活动或基础设施表明解决归类描述5个包含划分为包含软件外包概论每一级包含了实现这一级目标的若干关键过程域每个关键过程域又包含若干关键过程活动每个关键过程域的关键过程活动活动又统一按六个关键实践类来进行组织每个关键实践类又有若干关键实践1.初始级2.可重复级3.已定义级4.已管理级5.优化级有纪律的过程标准、一致的过程可预测、量化的过程持续改进的过程软件外包概论(4)CMM实施过程初始化阶段改进激励条件明确范围,培训,建立支持诊断阶段评估当前实践,明确现状与目标的差距编制诊断报告和建议报告建立阶段确立方针和优先级建立过程行动小组,规划行动行动阶段软件外包概论计划执行和跟踪规划并执行行动指南定义过程与度量推进阶段记录并分析经验教训修订组织的方法5.3.4我国软件质量管理取得的进展我国软件企业大部分进行了CMMI和ISO9000认证2009年,我国有1300多家软件企业通过CMMI认证,世界排名第二2009年,我国有180多家软件企业通过ISO27000认证,占全球3.46%软件外包概论我国初步建立了软件过程改进服务体系,从事该业务的咨询公司有50多家,认证机构20多家,从业人员300多名软件外包概论5.4软件外包与质量管理5.4.1案例:软件外包失败背后的经验(P144)A公司开发业务外包给B公司;B公司价格诱人,但人员经验不足,管理不善,导致进度和质量存在问题。后A终止与B的外包合同,另请报价高一陪的C公司进行收尾。5.4.2软件外包中质量管理的重要性软件质量是软件企业的生命软件质量是我国软件企业进入国际外包市场的前提条件和“通行证”软件质量影响着人们的工作和生活软件外包概论5.4.3发包方的软件质量管理1、对发包方要求技术水平管理水平人力资源沟通与控制能力2、发包方控制软件质量的几个方面1)评价选择承包方选择合适的接包商是外包项目成功的关键2)与承包方签订合同或协议与接包方明确责、权、利明确质量管理要求、外包业务的结果要求软件外包概论对接包方有限制和约束3)验证承包过程的结果4)对重要的外包过程,应到现场进行监控需求进行确认和细分按需求进行设计、开发和测试测试的有效性,缺陷的跟踪与管理5.4.4承包方的软件质量管理1、对接包方要求对质量、进度、成本控制规划和能力业务能力、交流能力、承包渠道、商业信誉2、接包方控制质量的几个方面1)建立软件质量保证(SQA)组织软件外包概论图5-11SQA的组织结构软件外包概论2)建立有效的SQA流程图5-12全生命周期的离岸外包软件的SQA流程3)强化质量意识4)加强软件质量控制(SQC)工作SQC主要是通过软件测试来实现的5)克服语言障碍,加强沟通交流软件外包概论6)建立健全的文档体系明确文档对软件的重要性文档管理是需要成本的追求文档的完整性、一致性、连续性、及时性7)加强对以往项目总结经验对提高软件质量早十分有益的软件外包概论思考与练习1、什么是软件质量?软件质量有哪些要素?2、软件质量和软件外包过程有什么关系?3、如何理解软件质量度量的FCM模型及其内容?4、什么是软件质量保证?什么是软件质量控制?二者有什么区别和联系?5、ISO9000、ISO27000、CMM三种质量体系的内容、适用范围是什么?6、请从发包方和接包方二个角度简要分析如何来提高软件质量?
本文标题:06-第5章-软件外包中的质量管理
链接地址:https://www.777doc.com/doc-3051794 .html