软件研发质量管理层次模型

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件研发质量管理层次模型摘要:本文对软件研发质量管理的层次进行了初步的划分,形成了软件研发质量管理层次模型,并对模型中的各个层次内涵做了简要说明。关键字:质量管理、软件研发、层次。正文:概述质量:一组固有特性满足需求的程度,指产品或服务满足规定或潜在需要的特征和特性的总和。他既包括有形产品也包括无形产品;既包括产品内在的特性、也包括产品外在的特性。即包括了产品的适用性和符合性的全部内涵。软件质量:和软件产品满足明确或隐含需求的能力有关的特征和特征的总和。有四个含义:1、能满足给定需要的特性之全体;2、具有所希望的各种属性的组合的程度;3、顾客或用户认为能满足其综合期望的程度;4、软件的组合特性,他确定软件在使用中将满足顾客预期需求的程度。从用户最感兴趣的的角度来说,软件质量能从三个不同的角度来看待:怎么使用软件、使用效果怎么、软件性能怎么;从软件研发的团队的角度来说,不仅要生产出满足质量需求的软件,也对中间产品的质量感兴趣,也对怎么运用最少的的资源、最快的进度生产出质量最优的产品感兴趣;从软件维护者的角度看,对软件维护方面的特性感兴趣;对企业的管理层来说,注重的是总体效益和长远利益,就是说质量好的软件一般能帮助企业扩大市场;反之,质量差的软件一般会造成企业市场萎缩。软件质量特性:根据《GB/T16260-1996(idtISO/IEC9126:1991)信息技术软件产品评价质量特性及其使用指南》软件的质量特性包括功能性、可靠性、易用性、效率、可维护性、可移植性等六个方面,每个方面都包含若干个子特性:功能性:适合性、准确性、互操作性、依从性、安全性;可靠性:成熟性、容错性、易恢复性;易用性:易理解性、易学性、易操作性;效率:时间特性、资源特性;可维护性:易分析性、易改动性、稳定性、易测试性;可移植性:适应性、易安装性、遵循性、易替换性;质量管理:在质量方面指挥和控制组织的协调的活动,指对确定和达到质量所必须的全总职能和活动的管理,其管理职能主要包括制定质量方针和质量目标及质量策划、质量控制、质量确保和质量改进。软件研发质量管理,就是为了研发出符合质量需求的软件产品,贯穿于软件研发生存期过程的质量管理工作。软件研发质量管理层次初步划分如下:1、技术层次(数据、编程、文件)2、方法体系层次(措施、项目、过程)3、社会因素层次(质量环境、技术标准、业务标准、人员)软件研发质量管理层次模型如下图:技术层次1、数据质量管理层次多数情况下,软件系统的最终目的是对用户关心的各类数据(信息)完成各种各样静态或动态的处理或管理任务,为用户创造他们所期望和额外的价值。因此数据质量是用户最为关心的,数据质量也反映了软件系统产品的质量。数据质量是数据抽取、数据转换、数据整合、数据仓库及管理信息系统研发等项目中质量控制和质量确保必须考虑的主要工作。数据质量管理可分为人工比对、程式比对、统计分析三个层次。1.1人工比对为了检查数据的正确性,测试人员打开相关数据库,对转换前和转换后的数据进行直接的比对,发现其不一致性,通知相关人员进行纠正。1.2程式比对为了自动化地检查数据的质量,更好地进行测试对比,程式员编写查询比对程式给测试人员使用。测试人员使用此程式对转换前和转换后的数据进行比对,发现其不一致性,通知相关人员进行纠正。1.3统计分析为了更加全方面地从总体上检查数据的质量,需要通过统计分析的方法,主要通过对新旧数据不同角度、不同视图的统计对数据转换的正确程度进行量化的分析,发现其在某个统计结果的不一致性,通知相关人员进行纠正。2、编程质量管理层次软件系统是靠“编”出来的,为了确保软件产品的质量,就必须确保软件程式代码的质量。为了提高编程质量,应检查源码的逻辑、属性、对象命名标准、语言代码布局等内容;代码的编译、链接、集成和构建必须得到验证和确认。编程质量管理层次可分为黑盒测试、灰盒测试、白盒测试、编译检查、编程规范、编程逻辑、编程优化。2.1黑盒测试黑盒测试检验是否符合系统需求,也称功能测试或数据驱动测试。他是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。在测试时,把程式看作一个不能打开的黑盆子,在完全不考虑程式内部结构和内部特性的情况下,测试者在程式接口进行测试,他只检查程式功能是否按照需求规格说明书的规定正常使用,程式是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。2.2灰盒测试灰盒测试介于白盒和黑盒二者之间,关注输出对于输入的正确性,同时也关注内部表现,但这种关注不像白盒那样周详、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会非常低,因此需要采取这样的一种灰盒的方法。2.3白盒测试白盒测试也称结构测试或逻辑驱动测试,他是在知道产品内部工作过程的情况下,按照程式内部的结构测试程式,检验程式中的每条通路是否都有能按预定需求正确工作,而不顾他的功能。白盒测试的主要方法有逻辑驱动、基路测试等。2.4编译检查使用研发工具所带的编译功能或专门程式对软件源码进行检查,分析和寻找源码存在的问题。2.5编程规范通过人工源码检查判断源码是否符合企业已制定的相关编程规范。制定编程规范,在企业内形成一个研发约定和规则,有利于整体风格统一、代码的可读性、可维护性和可扩展性。2.6编程逻辑所编写的源码是否考虑周全,无矛盾或遗漏之处。常见问题如:忘记定义变量就使用、变量没有赋值初就直接使用、输入输出的数据类型和所用格式说明符不一致、没有注意数据的数值范围造成数组越界或数据溢出、输入时数组的组织方式和需求不符、循环语句可能会造成死循环、条件语句只考虑符合的情况而没有考虑例外的情况、读取文件或数据库中的数据没有考虑例外情况,等等。2.7编程优化通过人工或软件检查判断是否可进一步提高源码总体性能和运行可管理性。总体性能如内存管理、数据库组织和内容、非数据库信息、任务并行性、网络多人操作、关键算法、和网络、硬件和其他系统接口对性能的影响等等;运行可管理性如便于控制系统运行、监视系统状态、错误处理;模块间通信的简单性等等。3、文件质量管理层次文件(包括模型)是软件研发过程中的中间成果,这些中间结果关系到软件需求的准确性完整性、设计的合理性,对软件系统的最终结果有决定性作用。文件质量管理层次包括文件规范、文件语法、文件语义、文件逻辑、文件美学、文件优化。3.1文件规范文件成果符合企业或业界已制定的文件模板规范。企业甚至行业应当制定统一的文件规范,形成一个文件约定和规则,以统一文件内容和风格。3.2文件语法文件成果正确使用通用的工具和术语、符合相关行业的技术标准。所有语言都有他的语法,所有质量合格的文件(包括模型)都应该是语法正确的,不正确的语法会影响规格说明和可视化的质量。3.3文件语义文件成果表达正确、无歧义。所有质量合格的文件(包括模型)都代表他期望代表的语义,而且应该在代表这些语义的时候具有一致性。3.4文件逻辑文件成果考虑周全,不矛盾,满足客户的关键需求,特别是要符合相关行业的业务标准。3.5文件美学文件成果是最佳表述,文字、图表是均衡和完整的。就是追求平衡的美,每个组成部分应该不大不小,可解读、可变更、不同时代表太多的元素。3.6结果优化通过检查判断文件成果(如项目计划、需求规格、设计方案)是否更有改进的空间,以尽可能达到最佳方案。所有一项设计,都能有许多不同的方案,通过“方案优化”选定一种最佳的方案。所有一位设计师在做一项设计的时候总是选择他认为是最佳的方案,都有某种程度上的“优化”,因此他能说他的产品是经过“优化”的。无论何种意义上的优化,都有一个一起的特点,就是相对性。这个相对性有两方面的意义,一是优化是相对某种目标的,目标不同优化的结果不同。另一方面是在大多数的情况下,优化的结果并不是最优的,只能是相对好的。方法体系层次1、措施质量管理层次为提高软件质量企业所采取的相关措施。决定成败的不是目标,而是措施。所有好的规章制度或计划,最终都需要具体措施才能落到实处。措施层次包括质量检查、质量确保、预防不合格品、完美无缺。1.1质量检查确保质量的方式是进行临时性的最后检查,然后消除次品。软件测试是软件质量检查的具体实现环节。把软件测试有效地组织进软件的生产流程,是软件质量控制规划的主要内容。1.2质量确保质量目标仍主要通过生产部门或企业进行生产过程的优化和稳定化来确保质量目标的达成。从软件产业的发展初期到目前的大型软件研发过程,软件质量确保已成为研发中的一个不可分割的部分。1.3预防不合格品整个软件业项目属于需求分析和软件设计的错误和缺陷约占软件错误的64%,而属于程式代码的错误仅占36%。软件错误具有随着阶段的进展而产生积累和放大效应,因此应当尽早消除错误,否则“差之毫厘,失之千里”。所以在软件研发生命周期的前期就通过对关键过程成果的评审控制来预防不合格品。1.4完美无缺这一级上的企业都有一种内在的质量文化氛围,在此氛围下的方方面面工作都有助于质量的提高。每个员工都意识到质量对企业成功的重要性,都在寻求提高质量的新途径,都在为达到完美无缺而奋斗。同时,企业始终如一地面向外部客户,通过优越的设计质量来满足客户需要,并从供给商到客户形成一个优化的管理流程。2、项目管理质量层次软件研发任务一般是以项目的形式完成,项目管理质量包括组织资源、组建团队、设定目标、确定范围、确定优先级、管理风险、建立沟通机制等内容,其层次分为通用术语、通用过程、单一方法、基准比较、持续改进。科兹纳博士对项目成功的定义,不仅要满足传统的项目时间、费用和性能的三大目标及满足客户或用户定义的质量标准,还要满足具有最少的或双方同意的范围变更、没有干扰组织的企业文化或价值观、没有干扰组织的日常工作进程等条件。2.1通用术语企业了解了项目管理的重要性,并需要进一步了解对项目管理基础知识及相关的语言和术语。在企业内部普及项目管理基础知识,使用业界通语言和用术语进行沟通,使大家形成对问题的正确理解。2.2通用过程企业认识到自己需要定义和建立通用过程,以便在一个项目上成功之后,还能将该过程及其成功经验重复地用于其他许多个项目。在这一层次上,还包括理解项目管理原则对公司所用其他方法的应用和支持。2.3单一方法企业尽量通过单一的方法研发,而不是使用多个方法,能最佳地实现协同效应和控制,认识到了把公司所以方法结合成一个单一方法所产生的协同效应,其核心是项目管理。和使用多个方法相比,只用一个方法所产生的协同效应使得程控更加容易。2.4基准比较不断将本企业的管理实践和行业龙头企业比较,以获得信息来帮助自己改善。企业认识到为了保持竞争优势,过程改进是必要的。基准比较必须连续进行。公司必须决定以谁为基准点及需要比较什么。2.5持续改进质量是“没有最佳,只有更好”。企业持续在必要时评估基准比较中获得的信息,实施为改进过程所必要的变革。在ISO9000:2000中,持续改进不是个独立的过程或质量体系要素,而是管理质量体系的方法。企业最重要的问题是“明天这样做的比今天好”企业要永不满足,没有终点,永无休止地努力工作,追求进步和持续改进,为未来努力奋斗。3、过程质量管理层次《GB/T8566—2001(idtISO/IEC12207)信息技术-软件生存周期过程》把软件生存周期的各个过程分为三类,即基本生存周期过程、支持生存周期过程、组织生存周期过程。对于质量,强调的是对过程的重视,通过确保每个环节的工作质量,来确保最终质量,而不是通过最后的检验测试找出缺陷。他们的质量概念,不仅涵盖产品,还包括企业的整个运营过程,贯穿产业链的各个环节。确保生产出高质量的软件产品,就是遵循一套有质量原则的软件研发过程。目前软件过程改进主要根据能力成熟度模型集成CMMI,其层次分为初始级、可重复级、已定义级、已管级、优化级。3.1初始级企业的软件过程是无序的,甚至是混乱的。几乎没有什么过程是经过妥善定义的,项目的成功往往依赖于没写个人的技能和经验。3.2可重复级已建立了基本的项目管

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功