(计算机软件与理论专业论文)离岸外包软件的质量保证及支持工具的研究.pdf_第1页
(计算机软件与理论专业论文)离岸外包软件的质量保证及支持工具的研究.pdf_第2页
(计算机软件与理论专业论文)离岸外包软件的质量保证及支持工具的研究.pdf_第3页
(计算机软件与理论专业论文)离岸外包软件的质量保证及支持工具的研究.pdf_第4页
(计算机软件与理论专业论文)离岸外包软件的质量保证及支持工具的研究.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机软件与理论专业论文)离岸外包软件的质量保证及支持工具的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着国际软件外包的发展,我国的软件企业纷纷加入到“离岸外包”的热潮 中并取得了不俗的成绩。然而,要取得进一步的发展,必须提升行业竞争力,树 立良好的软件外包服务品牌,而这些又都建立在良好的产品和服务质量基础之 上。因此,如何提高软件质量是我国软件外包企业面临的首要问题。而软件质量 保证建立在全面质量管理的理论基础之上,秉承事前预防的思想,通过评审、审 计等方法提升软件的质量,从而能够促进我国软件外包企业的良性发展。 本文在分析软件离岸外包的特点和软件质量保证辅助工具现状的基础上,对 离岸外包软件的质量保证以及关于不符合项和质量成本度量等关键技术进行了 研究,论文的工作主要体现在以下几个方面: 1 本文提出了离岸外包软件的质量保证流程。从软件离岸外包接包方的角 度,研究了软件离岸外包和质量保证的过程,给出离岸外包软件的质量保证流程。 2 给出不符合项的度量方法。在研究软件度量理论的基础之上,结合g q m 方法对不符合项进行度量,并且采用灰色关联分析理论分析不符合项之间的关联 情况。 3 给出软件质量成本的度量方法。该方法是基于经典的质量成本模型,将 软件质量保证的相关工作进行细化、分类,根据工作量计算所消耗的质量成本。 4 设计并实现了软件质量保证辅助工具h a p p y q a 。在理论研究的基础之上, 采用s t r u t s 开源框架设计并实现了软件质量保证辅助工具h a p p y q a 。 关键词:软件质量保证,离岸外包,不符合项,评审,审计 a b s 仃a c t r e s e a r c ho no f f s o u r c i n gs o f t w a r eq u a l i t ya s s u r a n c e a n da i d e dt o o l a b s t r a c t a st h eg r o w t ho fi n t e r n a t i o n a lo u t s o u r c i n go fs o f t w a r ed e v e l o p m e n t ,c h i n a s s o f t w a r ee n t e r p r i s e sh a v ej o i n e dt h e “o f f s o u r c i n g ”u p s u r g ea n dh a v ea c h i e v e dg o o d r e s u l t s h o w e v e r ,t oa c h i e v ef u r t h e rd e v e l o p m e n t ,i ti sn e c e s s a r yt oi m p r o v et h e c o m p e t i t i v e n e s so fi n d u s t r i e s ,b u i l du pag o o db r a n dm o d e lo fs o f t w a r eo u t s o u r c i n g s e r v i c e s ,w h i c hi nt u r na l eb a s e do nt h eg o o dq u a l i t yo fp r o d u c t sa n ds e r v i c e s t h e r e f o r e ,h o wt oi m p r o v es o f t w a r eq u a l i t yi st h em o s ti m p o a a n ti s s u et h a to u r s o t h v a r eo u t s o u r c i n ge n t e r p r i s e sa r ef a c i n g a n ds o f t w a r eq u a l i t ya s s u r a n c e ,b a s e do n t h et h e o r yt o t a lq u a l i t ym a n a g e m e n t ,m a k i n gt h eb e s to fp r e c a u t i o n ,i m p r o v i n g s 0 1 a r eq u a l i t yb y r e v i e w ,a u d i t i n ga n d o t h e rm e t h o d s ,s o ,i tc a na c c e l e r a t ec h i n a s s o f t w a r eo u t s o u r c i n ge n t e r p r i s e st od e v e l o ps o u n d l y b a s e do nt h ea n a l y s i so ft h ec h a r a c t e r i s t i c so f s o f t w a r eo f f s o u r c i n ga n dt h es t a t u s o fa i d e dt o o lf o rs o f t w a r eq u a l i t ya s s u r a n c e ,s t u d i e dt h e k e yt e c h n o l o g i e s i n o f f s o u r c i n g s o f t :w a r e q u a l i t ya s s u r a n c e , n o n c o m p l i a n c e i s s u e sa n d q u a l i t y - c o s t m e a s u r e m e n t ,t h ep a p e ra d d r e s s e st h ef o l l o w i n ga r e a s : 1 p r e s e n t i n go f f s o u r c i n gs o f t w a r eq u a l i t ya s s u r a n c ep r o c e s s s t a n d i n gi nt h e s h o e so fs o f t w a r e o f f s o u r c i n gr e c e i v e r ,t h ec o m p o s i t i o ns t u d yt h es o f t w a r e o f f s o u r c i n ga n dq u a l i t ya s s u r a n c ep r o c e s s ,d e l i v e r ss o f t w a r eo f f s o u r c i n gq u a l i t y a s s u r a n c ep r o c e s s 2 p o i n t i n go u tn o n c o m p l i a n c ei s s u e sm e a s u r e m e n tm e t h o d b yr e s e a r c h i n go n t h es o f t w a r em e a s u r e m e n tt h e o r y , i ti n t r o d u c e sg q mm o d e li n t on o n c o m p l i a n c e i s s u e sm e a s u r e m e n ta n da n a l y z e st h ec o r r e l a t i o n sb e t w e e nn o n c o m p l i a n c ei s s u e s u s i n gg r e yr e l a t i o n a la n a l y s i st h e o r y i i 3 p r o v i d i n gs o f t w a r eq u a l i t yc o s tm e a s u r e m e n tm e t h o d t h em e t h o d ,d e p e n d i n g o nt h ec l a s s i cq u a l i t yc o s t m o d e l ,r e f i n i n ga n dc l a s s i f y i n gt h es o f t w a r eq u a l i t y a s s u r a n c er e l a t e dw o r k ,c o u n t st h eq u a l i t yc o s t sa c c o r d i n gt ot h ew o r k l o a d 4 d e s i g n i n ga n di m p l e m e n t i n gt h es o f t w a r eq u a l i t ya s s u r a n c ea i d e dt o o l : h a p p y q a b a s e do nr e s e a r c h ,s t r u t sf r a m e w o r ki sa d o p t e dt od e s i g na n di m p l e m e n t t h et 0 0 1 k e y w o r d s :s o f t w a r eq u a l i t ya s s u r a n c e ,o f f s o u r c i n g ,n o n c o m p l i a n c e ,r e v i e w ,a u d i t i i i 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版。 本人允许论文被查阅和借阅。本人授权西北大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。同时授权中国科学技术信息研 究所等机构将本学位论文收录到中国学位论文全文数据库或其它 相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名:恹东够 2 宕年石月日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标注和致谢的地方外,本论文不包含其他人已经 发表或撰写过的研究成果,也不包含为获得西北大学或其它教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名:促东钧 铡年月7 e l 生9 挺 一 1 1 | 年 名涉c、 麟 咐 师 劢 撇 刎 第l 章绪论 第1 章绪论 本章首先介绍离岸外包软件的质量保证的研究背景及意义,随后介绍本文的 研究内容和主要工作,最后给出本文的组织结构。 1 1 研究背景 近年来,我国软件行业的发展是有目共睹的,从相关的软件行业的研究报告, 如第五界中国软交会上发布的( 2 0 0 7 中国软件自主创新报告【l 】,可以看出中国 的软件产业正在飞速发展。而软件的离岸外包随着软件行业的发展,逐渐成为一 种潮流并显示出强劲的发展势头,据i d c ( i n t e m e td a t ac e n t e r ,互联网数据中 心) 预测,2 0 0 5 年至2 0 1 0 年我国软件离岸外包业务年均复合增长率将达到 4 1 2 e 2 3 】。并且,早在2 0 0 3 年,全球最具权威的r r 研究与顾问咨询公司g a r t n e r 的一份研究报告就指出:中国的i t 外包业务将在2 0 0 7 年到2 0 1 0 年间进入世界 三强【4 5 】。但是,与占据外包业务大部分市场份额的印度和爱尔兰相比,我国的 软件外包行业还处于初级发展阶段。我国的软件企业众多,但是多数企业不仅规 模小,而且缺乏完善的项目管理经验和高级的管理人才,在产品质量方面也存在 严重的不足。由于这些因素的影响,我国的软件企业在外包领域的竞争力相对较 弱,客户群相当狭小,并且所接到的外包业务多为代码编写和测试,处于软件研 发的底层,技术含量低。因而,为了改变我国软件离岸外包目前的状态,取得更 进一步的发展,就必须解决当前企业中存在的影响前进的“拦路虎 。 软件质量问题不仅是软件离岸外包产业发展的瓶颈之一,而且也是影响软件 企业发展的主要问题。如何保证软件的质量引起了专家学者和相关机构的广泛关 注,时至今日,一系列保证软件质量的方法被提出,s q a ( s o f t w a r eq u a l i t y a s s u r a n c e ,软件质量保证) 这种以评审、审计为主的事前预防的技术随着软件 行业的不断发展越来越受到重丰见【6 。2 1 。美国卡内基梅隆大学的软件工程研究所提 出的c m m ( c a p a b i l i t ym a t u f i t ym o d e l ,能力成熟度模型) c m m i ( c a p a b i l i t y m m u r i t ym o d e li n t e g r a t i o n ,能力成熟度集成模型) 以及i s 0 9 0 0 0 质量体系中都 第1 章绪论 能找到软件质量保证的内容,并且随着c m m c m m i 和i s o 认证的流行,软件 质量保证在学术界和工业界都得到广泛的认可和发展。 本文在基于这样的背景下,并以西北大学软件工程研究所关于软件质量以及 软件工程辅助工具等相关领域的研究工作【1 3 。1 9 】为基础,对软件质量保证以及在离 岸外包软件中的应用进行系统的分析和研究,并且设计与实现了软件质量保证的 辅助工具。 1 2 论文的主要工作 本文在离岸外包软件的质量保证的相关理论的基础之上,系统地分析和研究 了离岸外包的软件质量保证过程中的一系列工作内容以及关于不符合项和软件 质量成本的度量方法,并设计与实现了以s t r u t s 为框架的软件质量保证c a s e ( c o m p u t e ra i d e ds o t t w a r ee n g i n e e r i n g ,计算机辅助软件工程) 工具h a p p y q a , 作为s q a 人员的辅助工具。论文的主要工作包括以下几个方面: 1 离岸外包软件的质量保证流程 系统地分析了软件离岸外包和质量保证的过程,指出了离岸外包软件的质量 保证流程,并将其展开,依次分析讨论了s q a 的组织结构、软件质量保证计划 的制定、软件评审和审计方法以及对不符合项的跟踪处理。 2 不符合项的度量 通过对不符合项及软件质量保证人员的度量需求的研究,给出基于g q m 模 型的不符合项的度量方法,并且为了能够为软件质量保证人员提供检查的线索, 采用灰色关联分析理论分析不符合项之间的关联情况。 3 软件质量成本的度量 根据f e i g e n b a u m 和他的同事提出的经典的质量成本模型,将与保证软件质 量相关的工作进行归纳和分类,并通过各自的工作量对质量成本进行度量。 4 软件质量保证c a s e 工具的设计与实现 通过理论的研究,结合当前较流行的开源技术,设计并实现了相关的c a s e 工具h a p p y q a ,目的是为了能够更好的实施软件的质量保证工作。 2 第1 章绪论 1 3 本论文的组织结构 本文以研究离岸外包软件的质量保证工作和工具的设计实现为重点,共分为 六章,每章的内容如下: 第l 章绪论 概述了本文研究背景以及在研究背景下的主要工作。 第2 章相关研究 简单介绍了与离岸外包软件的质量保证相关的理论知识,包括软件离岸外 包、软件质量、软件质量保证、c m m i 标准以及软件质量保证c a s e 工具的基本 知识。 第3 章离岸外包软件的质量保证过程 系统地研究了离岸外包软件的质量保证过程,详细地分析了软件质量保证的 工作内容,其中包括质量保证组织结构的建立、离岸外包软件的质量保证流程、 质量保证计划的制定、评审与审计的实施方法以及对不符合项的跟踪处理。 第4 章软件质量保证的度量 通过分析软件度量的基本知识以及软件质量保证的度量需求,给出不符项和 软件质量成本的度量方法。 第5 章软件质量保证工具的设计与实现 结合上述理论知识,设计并实现了以s t r u t s 为框架的,包括检查列表管理、 不符合项管理等模块的质量保证辅助工具h a p p y q a ,借此帮助质量保证人员进 行质量保证工作。 第6 章总结与展望 总结本论文的研究内容并指出论文中的不足以及进一步工作的内容。 第2 章相关研究 第2 章相关研究 本章首先简单介绍了软件外包的定义和分类、我国软件离岸外包的发展现状 和离岸外包软件的质量保证所面临的问题,分析比较了国际或国家标准和专家学 者对软件质量的定义,然后介绍了当前比较著名的软件质量模型,在此基础上进 行软件质量保证的研究,综述软件质量保证的国内外研究现状和基础知识,随后 分析能力成熟度集成模型c m m i 中的质量框架,最后介绍了目前较流行的质量 保证工具以及存在的问题。 2 1 软件离岸外包 2 1 1 软件外包的定义及分类 软件外包是指一些发达国家的软件公司将他们的一些非核心的软件项目通 过外包的形式交给人力资源成本相对较低的国家的公司开发,从而降低软件开发 成本【2 们。将项目外包给其它公司的一方称为发包方,而另一方称为接包方。目 前,发包方通常是经济比较发达而劳动力成本较高的欧美国家和日本,接包方则 来自劳动力成本相对较低的国家,如印度、爱尔兰、菲律宾和中国。 根据接包方地理分布状况的不同,软件外包分为境内软件外包和离岸软件外 包。境内软件外包是指发包方和接包方来自同一个国家,而离岸外包则指发包方 和接包方来自不同的国家,软件项目的开发工作跨国完成。 目前,我国的软件外包公司主要作为接包方承接来自以美国为首的欧美国家 和日本的外包业务,也就是所谓的离岸外包。 2 1 2 我国软件离岸外包的发展现状 全球外包行业的蓬勃发展给我国软件企业带来了新的发展机遇和挑战。我国 丰富的人力资源和成本优势吸引了越来越多的以日本为主的客户群,并且欧美的 客户也在逐渐地增加。我国的主要优势体现在劳动力成本低和对日外包的优势以 及广阔的国内市场【2 1 1 。但是,从目前来看,我国软件出口主要以日本市场为主, 4 第2 章相关研究 并且由于日本管理的特点,所接到往往只是技术含量较低的编码或测试的订单, 不利于企业在技术层面上的发展。而欧美软件企业通常会将项目的模块整体外包 出去,由接包方自己设计实现,具有很大的灵活性。因而,我国离岸外包取得进 一步发展的关键是争取来自欧美的客户群,借此打开欧美市场的大门。 不可否认的是,我国的离岸外包产业与印度、爱尔兰还存在着明显的差距, 印度垄断了欧美市场,而爱尔兰则占据了西欧市场。根据分析,他们之所以能够 得到现在的成绩,除了语言优势外,产品质量也是重要因素之一。不管是欧美还 是日本的软件公司,对软件质量都有严格的要求,因而我国软件公司要提升自己 的竞争力,首先必须加强企业研发和管理的能力,从而提高软件质量。而软件质 量保证从预防的角度保证软件的质量,并且能够辅助管理人员对软件开发过程和 工作产品进行监督和控制,是软件企业保证产品质量的较好选择。 结合上文的分析,本文从接包方的角度研究离岸外包软件的质量保证。 2 1 3 离岸外包软件的质量保证面临的问题 离岸外包软件是跨地区开发的,由于发包方和接包方两者的文化背景、语言 等问题的不同,对s q a 提出了更高的要求【2 2 】。 1 克服语言和文化背景的障碍 由于s q a 人员肩负着软件的质量保证工作,为了确保过程和产品符合发包 方的要求,不仅需要详细、准确地了解项目需求,而且发包方会根据项目情况对 项目开发过程进行监控,这都需要与发包方进行交流,而熟悉对方的语言和文化 是良好沟通的前提。 2 提高法律和法规意识 信任被认为是软件外包成败的最重要的因素之一【2 3 ,2 4 1 ,而知识产权则影响 着发包方对供应商的信任程度。因此,为了提高发包方的信任,就必须加强对知 识产权的保护。s q a 应该通过监督和控制协助管理人员在公司内部形成保护知 识产权的文化。 第2 章相关研究 3 加强团队协作能力 离岸外包使软件的开发存在于不同的区域,时差、文化差异等问题增加了沟 通的难度,并且项目的利益攸关者变得更加复杂。这就需要项目成员、s q a 团 队及相关人员具有较强的团队协作能力,相互协助克服困难,为发包方提供高质 量的产品和服务。 2 2 软件质量 2 2 1 软件质量的定义 随着软件行业的发展,软件的应用范围越来越广,对软件质量的关注程度也 越来越高。不仅可以在许多国家或国际标准中找到软件质量的定义,而且能够从 专家学者的著作中发现踪影,表2 1 中罗列了软件质量的部分定义。 表2 - 1 软件质量的定义 来源定义 a n s i i e e e 软件产品满足规定的和隐含的与需求能力有关的全部特征和特性,包括: s t d 7 2 9 软件产品质量满足用户需求的程度;软件各种属性的组合程度;用户对 软件产品的综合反映程度:软件在使用过程中满足用户需求的程度口5 1 。 i e e es t d6 1 0 1 2 系统、部件或过程满足规定需求的程度;系统、部件或过程满足顾客或 1 9 9 0 用户需要或期望的程度p 6 】。 i s o i e c 912 6 与软件产品满足声明的或隐含的需求能力有关的特征和特性的总和2 7 1 。 零缺陷之父 质量意味着符合需求1 9 1 。根据这个定义,高质量的软件就是指写好的软件 p h i l i pb c r o s b y 符合顾客和他的专业组编制的规格说明书。 f i s h e r 和b a k e r软件产品满足明示需求程度的一组属性的集合2 8 1 。 现代质量保证的质量在于满足顾客需要的产品特性并因而提供产品的满意度:质量在于 另一个奠基者除掉缺点2 9 1 。j u r a n 的定义旨在达到顾客的满意度,并将满足顾客的实际 j u r a n 需要看成软件质量的真正目标。 p r e s s m a n 符合明确陈述的功能和性能需求、明确文档化的开发标准和所有专业开 发软件预期的隐含特性p 0 1 。 从上面这些定义可以看出,软件质量是一个复杂的概念,对软件质量的理解 会随着角度的不同而变化。如果从用户的角度来看,质量就是满足客户的需求, 正如j u r a n 对软件质量的定义,以用户为出发点。而c r o s b y 关于质量的定义,是 6 第2 章相关研究 从开发者的角度来定义,质量意味着与需求说明书保持一致。质量还能够从产品 或价值的角度进行定义,从产品的角度来看,质量就是产品的内在特点;从价值 的角度理解时,质量意味着客户愿意购买的程度。 仅仅根据定义来判断软件的质量,是不切实际的。为了判断软件的质量如何, 还需分析影响软件质量的各种因素,不同因素对软件质量影响的程度和深度是不 同的。 2 2 - 2 软件质量因素模型 随着人们对软件质量的认识不断深入,相继提出了许多软件质量因素和将它 们分类为因素类别的各种软件质量因素模型。比较常见的三个质量因素模型是 b o e h m 模型、m c c a l l 模型和i s o9 1 2 6 质量模型。 1 b o e h m 质量因素模型 1 9 7 6 年,b o e h m 等人提出了软件质量度量的层次模型【3 1 】,在这个层次模型 的顶层是软件的可移植性、易用性和可维护性,其它因素则按照这三个方面进行 划分,如图2 1 所示。 图2 - 1b o e h m 质量因素模型 2 m c c a l l 质量因素模型 m c c a l l 等人提出的质量因素模型【3 2 1 将所有软件质量分解到能够度量的层 次,提出了包括质量因素、衡量准则和度量标准的三个层次,其中质量因素描述 7 第2 章相关研究 和评价了软件质量的一组属性;衡量标准的组合则反映某一软件质量要素;而度 量标准可由各使用单位自己定义。并且定义了1 1 个软件质量要素,分为产品运 行因素、产品校正因素和产品转移因素三个类型,如图2 2 所示。 正确性可靠性可用性完整性效率 图2 - 2m c c a l l 质量因素模型 3 i s 0 9 1 2 6 质量因素模型 i s 0 9 1 2 6 t 2 7 1 是软件质量度量的国际标准的基础,称为软件产品评价:质量 特性及其使用指南,通常以i s 0 9 1 2 6 来表示。i s 0 9 1 2 6 为质量定义提供了一个 层次框架,用来组织质量属性及子属性。i s o 质量模型由三层组成,位于高层的 是软件质量需求评价准则,而软件质量设计评价准则位于中层,处于最底层的是 软件质量度量评价准则。在高层中有六个项层质量属性,每个质量属性又由自己 的互不相交的子属性构成,如图2 3 所示。 图2 - 3i s 0 9 1 2 6 质量因素模型 第2 章相关研究 这三种质量模型的出发点是一致的,都是为了构造软件质量因素一准则一度 量三者综合的软件质量结构模型,其最终目的是为了将软件质量分解到可度量的 层次。虽然三者在各个软件质量特性、影响因素和质量指标的定义上存在一些差 别,但是表达的思想还是非常相近的。从清晰性上看,以i s 0 9 1 2 6 最为突出, 它综合了众多学者的研究成果,解决了质量特性和准则相互交叉的关系,成为质 量度量的国际标准的基础。使用这些模型进行质量度量时,可以选用其中一种, 也可以将它们结合,构造出适合自身情况的度量模型【3 3 1 。 软件质量模型为考察软件质量提供了依据,在整个软件的开发过程中,需要 通过一些方法来确定各种质量因素的需求是否符合,对不符合项则需要跟踪处 理,软件质量保证正是为此而存在的。 2 3 软件质量保证 2 3 1 国内外研究现状 第一个正式的质量保证和质量控制方案于1 9 1 6 年在贝尔实验室提出,此后 迅速风靡整个制造业【3 0 1 。在2 0 世纪4 0 年代,出现了更正式的质量控制方法, 这些方法都将测量和持续的过程改进作为质量管理的关键成分。软件开发质量保 证的历史同步于硬件制造质量保证的历史。软件质量保证的标准是2 0 世纪7 0 年代首先在军方的软件开发合同中出现的,此后迅速传遍整个商业界的软件开发 中。软件质量保证借鉴了t q m ( t o t a lq u a l i t ym a n a g e m e n t ,全面质量管理) 的 事前预防思想,而且也符合软件工程“缺陷越早发现越早修改越经济的原则。 在软件质量保证领域中,i e e e ( i n s t i t u t eo fe l e c t r i c a la n de l e c t r o n i c s e n g i n e e r s ,电气与电子工程师协会) 计算机分会、i s o ( i n t e m a t i o n a lo r g a n i z a t i o n f o rs t a n d a r d i z a t i o n ,国际标准化组织) 、d o d ( d e p a r t m e n to fd e f e n s e ,美国国 防部) 、a n s i ( a m e r i c a nn a t i o n a ls t a n d a r d si n s t i t u t e ,美国国家标准局) 、i e c ( i n t e m a t i o n a le l e c t r ot e c h n i c a lc o m m i s s i o n ,国际电工联盟) 及e i a ( e l e c t r o n i c i n d u s t r i e sa s s o c i a t i o n ,电子工业协会) 等团体与机构已经得到这个领域中的国际 赞誉与名声。这些专业机构以各种方式对软件质量保证做出贡献,一条途径是提 供更新的国际标准给s q a 活动的专业人员与经理们使用,如i s o 的s q a 管理 9 第2 章相关研究 标准和i e e e 的s q a 软件工程专业标准;另一条途径是通过独立的专业质量审 计提供s q a 认证,现在,i s 0 9 0 0 0 认证服务在欧洲与其他国家中是s q a 认证的 最突出的提供者;还有另一个重要方式是专业支持,提供一个机构的s q a 系统 及其运行的“自评估”工具,由卡内基梅隆大学软件工程研究所建立的 c m m c m m i 和i s o 的i s o i e cs t d1 5 5 0 4 是这种方法的最著名的例子。 在国内,对软件质量保证研究已经成为一个热点问题,通过发表的论文可以 看出,学术界中有中国科学院软件研究所及其它一些高等院校,如浙江大学、北 京邮电大学、北京航空航天大学等,在从事软件工程与软件质量管理技术方面的 研究【3 4 。9 1 。在工业界,众多软件公司都在探索并试图建立自己的质量保证体系 4 0 - 4 2 o 纵观国内外的软件质量保证技术,主要包括两类方法,一是调试、测试、复 审等以排除质量缺陷为目的的技术方法;二是标准化、过程管理等以控制质量缺 陷为目的的管理方法。第一类方法侧重从技术上排除质量缺陷,即软件工程常说 的“b u g ”,其中使用最多的是已经被业界人士研究讨论多年的软件测试技术, 但是,不管这门技术发展的多么成熟,它只能从后期对质量进行控制,因而,完 全依靠测试技术不能从根本上防止错误的出现,也不可能将软件缺陷全部排除。 第二类方法是标准化、过程化管理等以控制质量缺陷为目的的管理方法,如时下 软件业最流行的c m m c m m i 认证。要想获得高质量的软件产品,不但需要适用 的标准及过程,而且需要排除质量缺陷的技术。 2 3 2 软件质量保证的定义 顾名思义,s q a 是为了保证软件的质量而存在的,其主要目的是确保过程 及其产品与已经确定的标准、规程和准则相符合,采用“事前预防”的观念,最 终目的是保证生产出高质量的软件产品。 j u r a n 将质量保证定义为2 9 】:质量保证是一个活动,它向所有相关的人提供 证据以树立质量功能正在按需求运行的信心。 s q a 最常见的定义是由i e e e 名词术语提供的,在i e e e 名词术语中指出软 件质量保证是指【2 6 】:一种有计划的、系统的行动模式,它是为项目或产品符合 1 0 第2 章相关研究 已有技术需求提供充分信任所必需的;设计用来评价或制造产品的过程的一组活 动,与质量控制是有区别的。 关于软件质量保证的定义还有许多,通过分析这些定义,可以看出,它们的 本质是相同的,都是确保过程及产品与各种需求符合的一系列活动,以便保证管 理层拟定出的标准、过程、方法能够被正确地执行。 2 3 3 质量保证与质量控制的区别 质量保证和质量控制是两个不同的概念,它们的目的和职责是不同的,下面 进行具体分析。 软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软 件产品和活动进行评审和审计来验证软件是否合乎标准。它贯穿于软件开发的整 个过程,从而保证软件质量的费用最少。其主要职责是审计过程的质量,保证过 程被正确执行,可以说是过程质量的审计者。 软件质量控制在 _ e b b 名词术语中的定义为【2 6 】:一组用于评估已经开发或制 造出来的产品质量的活动。目的是为了扣下不合格的产品,而职责则是检验产品 的质量,保证产品符合客户的需求,是产品质量的检查者【4 3 1 。 由上可知,质量保证是过程的审计者,质量控制是产品的检查者。它们的对 象不同,前者主要针对过程,后者的对象则是产品。活动的方式也不同,审计是 来确认项目是否与制定的标准、准则、步骤和方法中的需求相符合,检查的主要 任务是找出产品存在问题。在这样的分工原则下,g a 主要检查项目按照过程进 行了某项活动没有,产出了某个产品没有;而q c 来检查产品是否符合质量要求。 2 3 4 软件质量保证的主要工作 软件质量保证贯穿于整个软件开发的过程中,与项目研发工程师密切相关, 只有开发人员和s q a 人员互相协作,才能使质量保证工作有效进行。 s q a 小组的主要任务是辅助软件工程小组进行开发工作,最终得到高质量 的软件产品,s q a 小组的具体工作包括以下内容: 第2 章相关研究 1 准备s q a 计划。s q a 计划是进行质量保证的前提,使得以后的质量保证 工作有章可循。s q a 计划在制定项目计划时确定,在计划中应包括的主要内容 有【删:需要进行的审计和评审;项目采用的标准;错误报告和跟踪的规程;相 关文档等。 2 评审和审计。根据s q a 计划进行评审和审计,确定过程和产品是否符合 已定义的需求。对不符合项进行识别、记录和跟踪。 3 确保软件工作及产品中的偏差已记录在案,并根据预定的规程进行处理。 4 记录所有不符合项,并且向高层报告,同时定期向相关人员进行反馈。 随着软件业的发展,软件质量保证深受重视,引起了相当多专家学者或相关 组织的关注,在一些著作、标准和模型中得以体现,如c m m c m m i 和i s o 质 量体系。由于c m m c m m i 是针对软件开发制定的过程规范,并且欧美国家在评 估软件供应商时比较重视c m m c m m i 的认证,因而c m m c m m i 认证在我国日 益流行。因此在下面篇幅中分析c m m i 中关于质量保证的内容。 2 4c m m i 2 4 1c m m i 的发展 c m m i 是由d o d 与卡内基梅隆大学共同开发和研制的。c m m i 是一套融合 多学科的、可扩充的产品集合,其研制的初步动机是为了利用两个或多个单一学 科的模型实现一个组织的集成化过程改进。c m m i 把包括s w c m m ( s o f t w a r e c m m ,软件生产能力成熟度模型) 、s e c m m ( s y s t e me n g i n e e r i n gc m m ,系 统工程能力成熟度模型) 在内的多个不同的能力成熟度模型集成到一个框架中, 也就是说c m m i 的前身是s w c m m 和s e c m m 等模型,c m m i 与c m m 的主 要区别就是前者覆盖了多个领域。2 0 0 0 年1 2 月,c m m i 项目组发布了c m m i s e s w1 0 ,并宣布大约用两年时间完成从c m m 到c m m i 的过渡,在2 0 0 2 年 初,s e i 推出了三个c m m i 模型的1 1 版本,当前的版本是在2 0 0 6 年8 月份发 布的c m m i1 2 。c m m i 自提出以来,在世界各地得到广泛地推广和接受,并且 s e i 在2 0 0 5 年1 2 月就不再接受c m m 的评估报告,由c m m i 取而代之。 1 2 第2 章相关研究 2 4 2c m m i 中的质量保证 c m m i 不但对于指导过程改进是一项很好的工具,而且把全面质量管理概念 应用到软件上,不仅能够对软件的开发过程进行控制,并且以提高质量和用户满 意度为最终目标。p p q a ( p r o c e s sa n dp r o d u c tq u a l i t ya s s u r a n c e ,过程与产品质 量保证) 是c m m i 二级的一个关键过程域( k p a ,k e yp r o c e s sa r e a ) ,其目的 是为了使成员与管理阶层对过程和产品进行客观地观察,从而保证过程和产品的 质量。p p q a 过程域包含的活动如图2 - 4 所示【6 】。 利益攸关者 ( s t a k e h 0 1 d e r s ) ; 客观的评估过程和工作产品 告、记 客观的 图2 - 4 p p q a 的基本任务 1 依据适用的流程说明、标准及程序,客观评估所执行的流程、工作产品 及服务; 2 发现并记录不符合项; 3 对项目成员与管理人员,提供质量保证活动结果的反馈; 4 确保不符合项已经处理。 p p q a 过程域通过提供给项目成员和管理人员对于项目生命周期中的流程 和工作产品适当的能见度和反馈,从而支持他们交付高品质的产品和服务。表 2 2 中展示了p p q a 过程域的两个特定目标和五个通用目标,以及为实现目标应 执行的方法。 第2 章相关研究 表2 - 2 p p q a 的目标及执行方法 目标执行方法说明 客观评估过程; 这个目标是p p q a 的特定目标,也就是满 客观评估过程 客观评估上作产品和服务。足这个关键域所必需呈现的独特的特征。 实现这个目标需要客观的评估执行的流 与工作产品 程、相关的工作产品及服务对相应的过程 说明、标准及程序的遵循程度。 提供沟通并确保解决不符合项; p p q a 的特定目标之一,客观追踪与沟通 客观的见解 建立记录。不符合项,并确保得到解决。 完成特定目标执行特定的实践。这是适用丁多个领域过程的通用目标。 建立并维护组织政策; 计划过程; 提供资源; 指派责任; 制度化培训人员;通用目标之一,目的是将流程制度化为已 已管理过程配置管理;管理过程。 界定并纳入关键人员; 监控过程; 客观评估符合程度; 与上层人员审查各状态。 制度化建立已定义流程:成熟度为3 5 级必须实现的通用目标,其 已定义流程 收集过程改进信息。目的将流程制度化为已定义过程。 制度化为过程建立质量目标;成熟度为3 5 级必须实现的通用目标,目 质量管理过程 稳定子过程的执行。的是建立质量管理过程。 制定确保持续过程改进:成熟度为3 5 级必须实现的通用目标,目 适宜的过程改正产生问题的根本原因。的为企业建立适应的过程。 在c m m i 中存在2 2 个k p a ,这些k p a 并不是独立存在着,而是存在着某 种联系,这些关系随着各k p a 内容的不同而不同。p p q a 通过特定的实践评估 过程、工作产品和服务与确定的过程定义、标准、程序的遵循程度,并确保解决 所产生的问题,因而p p q a 支持所有的过程。而项目计划和验证两个过程域为 p p q a 的执行提供关于评估对象和方法的参考。p p q a 与其它过程域之间的关系 如图2 5 所示。 1 4 第2 章相关研究 图2 - 5p p q a 与其它过程域的关系 p p q a 作为c m m i 二级的一个关键过程域,得到普遍关注,许多软件企业都 建立了自己的质量保证过程和q a 小组,并提供人力物力的支持,以此来提高软 件产品的质量。 2 5 软件质量保证c a s e 工具 c a s e 工具是支持开发者进行软件生命周期一个或多个阶段工作和( 或) 支 持软件维护的计算机化软件开发工具。c a s e 工具的功能随着所支持的阶段和目 的的不同而不同,对于软件质量保证来说,相应c a s e 工具应提供的功能包括: 1 提供存储与质量保证过程和项目相关信息的仓库; 2 辅助质量保证人员进行工作,提高效率: 3 数据整理和分析,及时了解项目及工作情况,以便进行过程改进。 据了解,虽然目前存在许多s q a 的c a s e 工具,但真正用于评审和审计的 工具少之又少,比如表2 3 中展示了目前比较常用的质量保证工具【4 引。 表2 - 3 各种测试工具 工具 简单说明 w i n r u n n e r 功能测试t 具 l o a d r u n n e r 性能测试ji :具 q u i c k t e s tp r o f e s s i o n a l 功能和回归测试1 :具 m e r c u r yt e s t d i r e c t o r基于w e b 的测试管理工具 s i l k t e s t 功能测试t 具 q a r u n 功能测试工具 第2 章相关研究 从表中可以看出,这些所谓的s q a 工具主要是为了辅助测试人员进行软件 测试的,对于以评审和审计为主要工作,以不符合项为管理对象的s q a 人员来 说,显然不适用。本文以设计并实现用于管理s q a 人员发现的不符合项和s q a 人员使用的检查列表工具为目标,目的是给s q a 人员提供一个合适的质量保证 的辅助工具,从而全面有效地帮助他们对过程和产品进行监督和控制,提高工作 效率和成果。 2 6 本章小结 软件行业的发展是有目共睹的,应用的范围越来越广,规模也越来越大,作 为软件关键要素的软件质量被普遍关注。质量已经成为衡量软件好坏的标杆,仅 靠质量控制这种事后修补的方式来得到高质量的软件产品已经成为奢求,借用全 面质量管理的事前预防思想的软件质量保证不可或缺,只有两者完美的配合,才 是保证软件质量的利器。 1 6 第3 章离岸外包软件的质量保证过程 第3 章离岸外包软件的质量保证过程 本章全面地分析和研究了离岸外包软件的质量保证过程,首先建立了软件质 量保证的组织结构,随后指出离岸外包软件的质量保证流程,最后对离岸外包软 件的质量保证的各个环节分别进行介绍。 3 1 软件外包公司s q a 的组织结构 3 1 1s q a 的组织结构 软件企业根据自身情况以及参考的模型和标准的不同,所建立的组织结构有 所不同,外包公司也不例外。而s q a 作为企业的一部分,其组织结构也有所不 同,据调查,外包公司中的s q a 常作为一个单独的部门为其它部门服务,如图 3 1 所示。 图3 - 1s q n 的组织结构 在这个组织结构中,q a 作为一个独立的部门存在,q a 成员分配到不同的 项目小组中,以便完成日常的质量保证工作。从形式上看,q a 成员虽然隶属于 不同项目,但他们统属于q a 部门,由q a 部门经理管理。需要说明的是,q a 部门的成员都是全职的q a 。采用这种组织结构,q a 人员从一开始就参与项目 1 7 第3 章离岸外包软件的质量保证过程 中,能够全面的理解项目,保证本职工作的有效执行,并且,所有q a 人员属于 一个部门,他们之间可以彼此交换经验,互相学习【4 6 1 。除l l l 2 _ # b ,由于q a 属于 一个独立的部门,使得软件质量保证人员能够站在第三方的角度看待问题,摒弃 主观思想,避免感情色彩参与其中,影响

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论