软件质量管理体系建设方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于软件质量管理体系建设的
方案
参考资料:
《cmmi3级软件过程改进方法与规范》
《ISO9001:2000标准》
修改记录:
作者简介:
软件企业质量经理、高级项目经理,联系方式__qq:317974257
方案说明:
参考了《cmmi3级软件过程改进方法与规范》、《ISO9001:2000标准》。同时参考了业界同行写的相关方案或文章,吸收了他们的优秀见解。
1.引言 (3)
1.1软件质量概述 (3)
1.2公司软件质量现状分析 (3)
1.3软件质量管理的特点 (4)
1.4软件质量责任分配 (6)
2.软件质量管理体系建设总体方案 (6)
2.1进一步推动软件质量管理体系建设的原则 (6)
2.2软件质量管理体系完善需要解决的主要问题 (8)
2.3配置管理—实施软件质量管理的重要步骤 (8)
2.4进一步完善我们的测试管理体系 (10)
2.4.1.软件测试的组织与管理规划 (10)
2.4.2.测试管理体系过程控制 (12)
2.4.2.1测试流程模型 (13)
2.4.2.2测试流程控制 (13)
2.4.2.3测试小结 (15)
2.5软件质量保证(SQA)的实施 (16)
2.5.1.SQA概述 (16)
2.5.1.SQA实施 (16)
2.5.2.SQA与SQC区别与协作 (17)
2.6全面软件质量管理 (18)
2.6.1.全面软件质量管理 (18)
2.6.2.全面软件质量管理的方法---制定质量管理计划 (19)
2.6.3.全面软件质量管理的方法---技术评审 (19)
3.结束语 (19)
1.引言
1.1软件质量概述
随着信息技术的飞速发展,使软件产品应用到社会的各个领域,也造就了软件行业激烈竞争的生存环境,随着软件规模及复杂性急剧加大,软件质量已经成为人们共同关注的焦点。技术是软件企业的生命,而质量则是它的灵魂,软件企业要在竞争中占有一席之地,软件质量保证是第一要素。由此,软件质量的重要性是不言而喻的。
软件质量是指与软件产品满足规定的和隐含的需求的能力有关的特征和特性的总和。通常来说,软件质量应该包含六方面的特性: 功能性、可靠性、易使用性、效率、可维护性、可移植性。
软件质量管理包括:软件质量计划编制、软件质量保证和软件质量控制三个过程域。质量计划就是为了实现质量目标的计划,它主要结合各个公司的质量方针,产品描述以及质量标准和规则通过收益、成本分析和流程设计等工具制定出来实施方略,其内容全面反应用户的要求,为质量小组成员有效工作提供了指南,为项目小组成员以及项目相关人员了解在项目进行中如何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。质量保证(Quality Assurance ,QA)的目的是提供一种有效的人员组织形式和管理方法,通过客观地检查和监控“过程质量”与“产品质量”,从而实现持续地改进质量。质量保证是一种有计划的、贯穿于整个产品生命周期的质量管理方法。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据,它是一个PDCA循环过程。
1.2公司软件质量现状分析
公司的软件开发历经多个生产个环节,产生大量的中间产品,每个环节都有可能带来产品质量问题;同时由于软件产品是逻辑体,不具备实体的可见性,因而难以度量,质量也难以把控,因此如何有效地管理软件产品的质量一直是我们面临的挑战。
虽然我公司在研发电力行业信息化相关软件方面取得很大成绩,但是其软件能力成熟度与国内同行业知名企业相比,还有一定的差距。我公司研发的软件产品,除了产业规模偏小、自主创新能力不足之外,在易用性、可靠性、可移植性、可维护性、可扩展性及系统集成等方面也存在着一定的质量问题,导致“用户抱怨较多、产品投产后缺陷纠正过多、公司售后服务投入过大”的不利局面,制约了我公司在电力软件行业的持续快速健康发展。究其原因,可能是以下几种原因造成的:(1)对软件工程标准化重视不够。(2)软件质量管理体系不健全,实施效果不佳。(3)企业对测试工作投入不足,测试管理和测试环境有待完善,测试技术有待提升。
1.3软件质量管理的特点
要解决软件的质量问题,同时保证开发的成本和项目的进度控制、解决研发中的诸多不规范问题,关键是要建立起完善的软件质量管理体系,把软件开发过程合理地监控起来,管理起来,进而达到提高产品的质量,控制产品开发的进度和成本的目的。分析软件质量管理的特点,主要有以下几点:
1、软件质量管理是贯穿软件研发的全过程,而不能仅局限于软件本身
软件质量不仅仅是一些测试数据、统计数据、客户满意度调查反馈表等等,衡量一个软件质量的好坏,应该首先考虑完成该软件生产的整个过程是否达到了一定的质量要求。在软件开发实践中,软件质量控制可以依靠流程管理(如需求管理、缺陷管理、配置管理、软件发布等),严格按照软件工程执行,确保软件的功能性、可靠性、易使用性、效率、可维护性、可移植性。
2、对技术文档的评审是控制软件质量的有效方式
研发过程中的很多技术文档作为产品的组成部分,也需要像对产品一样进行检验,而对技术文档的评审就构成了产品检验的重要方式。技术评审主要有以下好处:通过消除工作成果的缺陷而提高产品的质量;技术评审可以在任何开发阶段执行,不必等到软件可以运行之际,越早消除缺陷就越能降低开发成本;开发人员能够及时地得到同行专家的帮助和指导,无疑会加深对工作成果的理解,更好地预防缺陷,一定程度上提高了开发效率。
3、运用技术手段保证质量
利用多种工具软件进行质量保证的各种工作,如用Svn软件进行配置管理、文档管理和软件变更控制。采用先进的系统分析方法和软件设计方法(OOA、OOD、软件复用等)来促进软件质量的提高。
4、应用质量管理思想满足顾客需求
●缺陷预防
分析已经产生的缺陷并采用相应的措施以避免这类缺陷重复出现, 找出并确定引起缺陷的通常原因。不公如此,还要规划缺陷预防活动, 对引起缺陷的通常原因划分优先级并系统地予以消除。
紧紧抓住用户需求
充分地满足客户的需求,不管是付钱的顾客,还是软件的使用者,都要尽可能地满足。采用快速原型法,尽快演示(Demo)给用户并及时获取用户的反馈,根据用户的反馈不断修改软件,而不是全部完工后再最后交给用户。否则,要改的地方可能很多。甚至推翻重来。充分设计之后再编码,防止因考虑不周而造成返工。
●牢牢控制对缺陷的修改
通过诸如TD之类的强大的软件缺陷管理平台,记录、跟踪和控制软件缺陷的修复。
●对软件进行充分的系统测试
在软件通过集成测试后,还需要进行充分的、完整的系统测试和回归测试,直至所有的缺陷关闭为止。
●把握软件放行的尺度
商业目标决定质量目标。提高软件质量的最终目的是为了赢利,而不是创造完美无缺的产品。因此对于普通商业软件而言,并不是“质量越高越好”,而是恰好让广大用户满意,并且将提高质量所付出的代价控制在预算之内。软件零缺陷几乎是不可能的,对遗留的缺陷要进行充分分析,只要能满足用户需求,软件遗留的缺陷可以在今后升级版本中解决。