06软件外包中的质量管理Word下载.docx
《06软件外包中的质量管理Word下载.docx》由会员分享,可在线阅读,更多相关《06软件外包中的质量管理Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
![06软件外包中的质量管理Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/28/f1bb40c8-af27-4756-a074-3763d7b86d12/f1bb40c8-af27-4756-a074-3763d7b86d121.gif)
3.软件质量管理
软件质量管理的三个部分:
(1)质量计划:
制定质量管理计划
(2)质量保证:
全面质量管理
(3)质量控制:
工作结束后的审查和测试
图5-4软件开发生命周期中的质量检验
5.1.4软件质量度量
1.软件度量活动
(1)项目度量:
规模、成本、工作量、进度、生产力、风险、客户满意度
(2)产品度量:
产品的可靠性、可维护性、产品规模、软件复杂度、软件质量、可移植性、开发文档等
(3)过程度量:
成熟度、生命周期、生产率、缺陷率等
2.软件质量度量
软件质量度量FCM模型:
软件质量要素(factor)
软件质量评价标准(criteria)
软件质量度量标准(metrics)
图5-5软件质量度量FCM模型
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.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的每一级是按完全相同的结构构成的
●每一级包含了实现这一级目标的若干关键过程域
●每个关键过程域又包含若干关键过程活动
●每个关键过程域的关键过程活动活动又统一按六个关键实践类来进行组织
●
每个关键实践类又有若干关键实践
(4)CMM实施过程
●初始化阶段
⏹改进激励条件
⏹明确范围,培训,建立支持
●诊断阶段
⏹评估当前实践,明确现状与目标的差距
⏹编制诊断报告和建议报告
●建立阶段
⏹确立方针和优先级
⏹建立过程行动小组,规划行动
●行动阶段
⏹计划执行和跟踪
⏹规划并执行行动指南
⏹定义过程与度量
●推进阶段
⏹记录并分析经验教训
⏹修订组织的方法
5.3.4我国软件质量管理取得的进展
●我国软件企业大部分进行了CMMI和ISO9000认证
●2009年,我国有1300多家软件企业通过CMMI认证,世界排名第二
●2009年,我国有180多家软件企业通过ISO27000认证,占全球3.46%
●我国初步建立了软件过程改进服务体系,从事该业务的咨询公司有50多家,认证机构20多家,从业人员300多名
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、请从发包方和接包方二个角度简要分析如何来提高软件质量?