




已阅读5页,还剩82页未读, 继续免费阅读
(计算机应用技术专业论文)基于软件缺陷分类标准与分析技术的软件缺陷管理系统应用与研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
t h e s i sf o rm a s t e rd e g r e e ,2 011 s c h o o lc o d e :1 0 2 6 9 s t u d e n tn o :5 1 0 8 1 2 1 1 0 1 5 ea stchina normaluniver sit y h es t u d ya n d a p p l i c a t i o no f t h e ba s e do ns o f t w a r e a n a g e m e n t p l a t f o r m d e f e c tm e a s u r e m e n t a n da n a l y s i st e c h n o l o g y d e p a r t m e n t :q 盟p 坠! 星! 曼蛩土星! m a j o r :c o m p u t e ra p p l i c a t i o n & t e c h n o l o g y r e s e a r c ha r e a :翌选坠p p l i 曼丛i q 堕坠璺虹q ! q g y s u p e r v i s o r : 圣h 皇堕g 坠垒s 曼里i q ! 星旦g i 旦金曼! s t u d e n tn a m e :显塾圣h 星! 墅l i 旦g c o m p l e t e d i nn o v 2 010 脚8 删9删0 册7m 48 脚1脚y 华东师范大学学位论文原创性声明 郑重声明:本人呈交的学位论文基于软件缺陷分类标准与分析技术的软件缺陷管 理系统应用与研究,是在华东师范大学攻读硕垒博士( 请勾选) 学位期间,在导师的 指导下进行的研究工作及取得的研究成果。除文中已经注明引用的内容外,本论文不包 含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体, 均已在文中作了明确说明并表示谢意。 作者签名:日期:加j d 年月辨日 华东师范大学学位论文著作权使用声明 基于软件缺陷分类标准与分析技术的软件缺陷管理系统应用与研究系本人在华 东师范大学攻读学位期间在导师指导下完成的两旺博士( 请勾选) 学位论文,本论文的 研究成果归华东师范大学所有。本人同意华东师范大学根据相关规定保留和使用此学位 论文,并向主管部门和相关机构如国家图书馆、中信所和“知网”送交学位论文的印刷 版和电子版:允许学位论文进入华东师范大学图书馆及数据库被查阅、借阅;同意学校 将学位论文加入全国博士、硕士学位论文共建单位数据库进行检索,将学位论文的标题 和摘要汇编出版,采用影印、缩印或者其它方式合理复制学位论文。 本学位论文属于( 请勾选) ( ) 1 经华东师范大学相关部门审查核定的“内部”或“涉密”学位论文毒, 于年月日解密,解密后适用上述授权。 ( ) 2 导师签 本人签名囡盘墨 2 o o 年f f 月z 牛日 幸“涉密”学位论文应是已经华东师范大学学位评定委员会办公室或保密委员会审定过的学位 论文( 需附获批的华东师范大学研究生申请学位论文“涉密”审批表方为有效) ,未经上 述部门审定的学位论文均为公开学位论文。此声明栏不填写的,默认为公开学位论文,均适用 上述授权) 。 且握送硕士学位论文答辩委员会成员名单 姓名职称单位备注 杨宗源教授华东师范大学信息学院主席 朱敏高级工程师华东师范大学信息学院 陈志云副教授华东师范大学信息学院 华东师范大学2 0 1i 届研究生硕 :学位论文 摘要 缺陷分析报告中提供的统计分析结果,既是评估当前软件产品质量状况的重 要依据,也是判定是否能按期发布软件产品的重要依据之一。开展缺陷分析的前 提,需要一个符合项目开发要求的缺陷数据管理系统,利用该系统采集到缺陷数 据信息,对缺陷数据实行分析。根据缺陷数据分析的结果,实施缺陷预防措施, 改进软件过程质量。 缺陷原因分析是缺陷预防的核心任务。开展缺陷原凶分析的目的是找到软件 缺陷产生的共通和根本原凶。目前在这一方面,国内的技术资料较为匮乏,使得 软件企业在应用时有一定的困难。 基于目前软件缺陷管理的现状,本文提出了基于能力成熟度模型集成 ( c a p a b i l i t ym a t u r i t ym o d e li n t e g r a t i o n ,c m m i ) 的缺陷预防过程改进模型,具体设 计思想如下: 在仔细研究了软件缺陷生命周期,缺陷属性度量分类方法,以及常用的软件 缺陷分析指标。明确了缺陷管理的目标和任务,在此基础上通过运用缺陷数据分 析方法,在开发过程中依据缺陷分析的结果,可以采取合适的对策及时发现和消 除存在的缺陷,确保软件产品的开发质量和成功率。 本文针对软件开发企业的对缺陷管理系统的实际需求,结合浏览器朋艮务器 结构( b r o w s e r s e r v e r ,b s ) 与软件缺陷生命周期模型,在w i n d o ws e r v e r2 0 0 3 服务器上用分享服务( w i n d o w ss h a r e p o i n ts e r v i c e ,w s s ) 技术,对缺陷管理系统 的功能结构,以及主要模块进行了设计与实现。 该缺陷管理系统具有缺陷管理、查询统计、修正状态统计,以及自定义修正 审批流程等功能,可以在软件开发过程中提高缺陷的修正率,并根据需要调整改 进缺陷修正流程以及缺陷属性分类标准。 实践表明,通过运用该模型设计的缺陷管理系统,能够有效控制开发流程, 在软件开发过程中对提高软件产品的开发质量取到了较好的效果。 关键词:软件缺陷,缺陷度量,缺陷分析,软件过程 a b s t r a c t d e f e c ta n a l y s i sr e p o r t so fs t a t i s t i c a ld a t aa n da n a l y s i so fi n d i c a t o r s ,b o t ho nt h e c u r r e n ts t a t eo fs o f t w a r ep r o d u c tq u a l i t ya s s e s s m e n t ,a n di ti sa l s oa ni m p o r t a n tb a s i s t od e t e m f i n ew h e t h e rt h es o f t w a r ei sr e l e a s e do rd e l i v e r e dt os c h e d u l e d e f e c ta n a l y s i s i sp r e m i s e do nt h ei m p l e m e n t a t i o no fac o m p l i a n c ep r o j e c tr e q u i r e m e n t sn e e dt o d e f e c td a t am a n a g e m e n ts y s t e m ,t h ed e f e c t sb yc o l l e c t i n gd a t a ,b yd e f e c ta n a l y s i st o i m p r o v es o f t w a r ep r o c e s sq u a l i t ya n di m p l e m e n t i n gd e f e c tp r e v e n t i o nm e a s u r e s t h ec o r et a s k so fd e f e c tp r e v e n t i o ni st oa n a l y s i sc a u s e sp r o d u c e db yd e f e c t s ,a n d f i n dt h ec o m m o na n db a s i cc a u s e sw h i c hl e a dt os o f t w a r ed e f e c t s ,t h ec u r r e n t d o m e s t i cl a c ko ft e c h n i c a li n f o r m a t i o ni nt h i sa r e a ,t h es o f t w a r ee n t e r p r i s e sh a s c e r t a i nd i f f i c u l t i e si nt h ea p p l i c a t i o no ft h i st e c h n o l o g y b a s e do nt h ec u r r e n ts t a m so fs o f t w a r ed e f e c tm a n a g e m e n t ,i nt h i sp a p e r , w e p r o p o s e am o d e lo fd e f e c tp r e v e n t i o np r o c e s sb a s e do nc m m i ( c a p a b i l i t ym a t u r i t y m o d e li n t e g r a t i o n ) t h es p e c i f i cd e s i g ni d e a sa r ea sf o l l o w s : b yc a r e f u l l ys t u d y i n gt h ee x i s t i n gc l a s s i f i c a t i o na n dl i f ec y c l eo fs o f t w a r ed e f e c t s , a n dd e f e c ta n a l y s i ss o f t w a r ec o m m o n l yu s e di n d i c a t o r s ,c l e a rg o a l sa n dt a s k so f d e f e c tm a n a g e m e n t ,o nt h i sb a s i st h r o u g ht h eu s eo fd e f e c td a t aa n a l y s i sm e t h o d s , f l a w si nt h ed e v e l o p m e n tp r o c e s so fa p p l y i n gt h er e s u l t s ,y o uc a nt a k et i m e l ya n d a p p r o p r i a t er e s p o n s ea ss o o na sp o s s i b l ea n d e l i m i n a t et h ed e f e c t sf o u n d ,t oi m p r o v e t h eq u a l i t yo fs o f t w a r ep r o d u c td e v e l o p m e n ta n dt h es u c c e s sr a t e f o rs o f t w a r ec o m p a n i e si nt h ed e f e c tm a n a g e m e n ts y s t e mf o rt h ea c t u a ld e m a n d , i nt h i sp a p e r , c o m b i n et h eb r o w s e r s e r v e rs t r u c t u r ea n dl i f ec y c l em o d e lo fs o f t w a r e d e f e c t s o nw i n d o ws e r v e r2 0 0 3s e r v e ru s i n gw s s ( w i n d o w ss h a r e p o i n ts e r v i c e ) t e c h n o l o g yt od e s i g na n di m p l e m e n tt h ef u n c t i o na n d m a i nm o d u l e so ft h ed e f e c t m a n a g e m e n ts y s t e m t h ed e f e c tm a n a g e m e n ts y s t e mh a st h ed e f e c tm a n a g e m e n t ,q u e r ys t a t i s t i c sa n d t h ea m e n d m e n t st ot h es t a t es t a t i s t i c s ,c u s t o mm o d i f i e da p p r o v a lp r o c e s sa n do t h e r f u n c t i o n s ,t h es o f t w a r ed e v e l o p m e n tp r o c e s si nt h eb u gf i x e st oi m p r o v et h er a t ea n d a d j u s tt oi m p r o v ed e f e c tc o r r e c t i o np r o c e s s b yu s i n gt h ed e f e c tm a n a g e m e n ts y s t e md e s i g nb a s e do n t h i sm o d e l ,p r o j e c t 华东师范人学2 0 1l 届研究生硕l 学位论文 r e s u l t ss h o wt h a tt h i sm e t h o dc a nb eu s e dt oc o n t r o la n di m p r o v et h eq u a l i t yo f s o f t w a r ep r o d u c ti ns o f t w a r ed e v e l o p i n gp r o c e s sw i t hag o o dr e s u l t k e y w o r d s :s o f t w a r ed e f e c t ,d e f e c tm e a s u r e m e n t ,d e f e c t a n a l y s i s ,s o f t w a r ep r o c e s s i i i 华东师范大学2 0 11 届研究生硕j :学位论文 目录 摘要 i a b s t r a c t i i 目勇乏i v 第一章绪论l 1 1 研究背景1 1 2 研究意义与研究内容2 1 4 1 5 第二章 2 1 2 4 2 5 2 6 2 7 第三章 3 1 3 2 1 2 1 研究意义2 1 2 2 研究内容2 国内外研究现状3 1 3 1 缺陷管理系统现状3 1 3 2 缺陷的度量与分析研究现状4 论文各章节安排5 本章小节5 缺陷预防过程改进模型和测试方法6 缺陷管理的目标及其特征6 2 1 1 缺陷管理的目标6 2 1 2 软件缺陷的特征6 软件缺陷的产生原因及规避原则7 2 2 1 软件缺陷的产生原因7 2 2 2 减少缺陷的几个关键点9 2 2 3 软件缺陷增长的原凶分析1 0 软件过程改进模型。1 0 2 3 1 c m m l o 2 3 2c m m i l l 2 3 3p s p 和t s p 1 2 基于c m m i 的缺陷预防过程改进模型设计1 3 2 4 1 缺陷管理与软件能力成熟度的关系1 3 2 4 2 基于c m m i 的缺陷预防过程改进模型1 3 软件测试1 4 2 5 1 软件测试的分类1 4 2 5 2 软件测试的过程1 5 2 5 3 软件测试的不确定性1 6 2 5 4 软件测试的局限性17 软件质量和可靠性1 8 2 6 1 软件质量控制】8 2 6 2 软件可靠性1 9 本章小结1 9 缺陷分类方法及分配管理模型2 0 缺陷分类的目的和原则2 0 基于缺陷度量属性的分类方法2 0 3 2 。1 基于缺陷描述属性的分类2 0 3 2 2 基于缺陷统计属性的分类2 1 3 2 3 基于缺陷控制属性的分类2 2 i v 华东师范人学2 0 11 届研究生硕士学位论文 3 3 3 4 3 5 3 6 3 5 第四章 4 1 4 2 4 3 4 4 4 5 第五章 5 1 5 2 5 3 5 4 5 5 基于过程的缺陷分类方法2 2 处理缺陷的角色2 3 软件缺陷的生命周期2 4 软件缺陷的分配管理流程2 4 本章小结2 9 缺陷管理系统的设计与实现3 0 缺陷管理系统的总体需求3 0 缺陷管理系统的功能模块3 1 缺陷管理系统的开发及测试环境3 3 缺陷管理系统的实现3 4 本章小结4 2 实验结果及其分析4 3 缺陷分析的时机和方法4 3 5 1 1 缺陷分析的时机4 3 5 1 2 缺陷分析的方法4 3 缺陷分布状况分析。4 5 缺陷发展趋势分析4 6 缺陷引入流出原因分析4 9 缺陷预防措施5l 5 5 1设计问题5 l 5 5 2 接口问题5 1 5 5 3 需求问题5 3 5 5 4 理解不足5 4 5 5 5 客观问题5 5 5 5 6 主观原因5 5 5 5 7 待分析的缺陷5 6 5 6 对于软件开发过程的改进5 7 5 7 本章小结5 7 第六章总结与展望5 8 6 1 总结5 8 6 2 论文的工作和创新点5 8 6 3 进一步工作和展望5 9 附录6 0 参考文献6 2 致谢一6 4 v 聃t 疆 华东师范人学2 0 1l 届研究生硕 :学位论文 1 1研究背景 第一章绪论 软件产品的质量由软件产品的生产过程所决定。在软件的生产过程中各项活 动的共同目标就是提高软件产品的质量。因此,在软件的生产过程中,进行有效 的质量控制与管理是十分有必要的。 软件缺陷是在软件开发生命周期各个阶段中,软件产品中存在的一种不能够 满足给定需求属性的问题【2 】。在目前已发布及交付使用的软件中,或多或少地都 会存在着各种缺陷,某些存在的缺陷就可能会成为软件的致命隐患,这些缺陷流 出时就有可能导致应用软件或操作系统崩溃【3 】。因此,软件开发人员和软件企业 都必须采取积极有效的方法,尽可能的减少和预防缺陷的产生。软件缺陷还是引 起开发计划延期的重要因素,不但会造成软件产品质量的下降,还会导致开发成 本大大提高,开发周期无法控制。因此,软件企业都会采取各种方法和技术措施, 尽可能地减少软件中存在的各种缺陷。但是,通常采取的手段是通过各种测试及 审查方法,发现和消除缺陷。实际上,无论是采用测试手段、还是各种技术审查 方法,都只是被动的缺陷检测手段,并不能保证存在的缺陷都被检测到,也无法 防止新缺陷的引入,采用这种方式消除缺陷的效果是非常有限的。 另外,无论是测试或者审查方法发现和消除缺陷的过程都会消耗大量的成 本,尤其是当软件项目处于开发后期阶段。因此,需要采取更加主动的缺陷预防 手段。通过深入分析已存在缺陷产生的根本原因,有针对性地采取缺陷预防措施, 防止类似的缺陷再次被引入。就能够最大程度的减少缺陷的引入,实现软件项目 的开发效率和效益一j 。 缺陷分析是软件工程领域内研究的一个重要课题。在软件开发过程中收集到 的各种历史信息( 如缺陷数据记录、各个版本的源代码等信息) ,可能为缺陷分 析的实施提供很有价值的经验数据。如何有效地利用采集到的缺陷数据信息进行 缺陷分析,也是软件库数据挖掘领域研究的重要课题之一。 华东师范人学2 0 1 1 届研究生硕士学位论文 1 2 研究意义与研究内容 1 2 1 研究意义 随着软件产业的迅猛发展,软件产品的规模越来越大,复杂度越来越高,但 是软件产品质量却变得越来越难以控制。从某种意义上看,当前的软件产品的竞 争力并不完全取决于技术能力,更重要的是对软件质量的保证。 然而在软件产品生产过程中会出现软件缺陷是必然的,如何采取合适的对策 尽早发现和消除己经产生的缺陷,提高软件产品的开发质量和成功率,以及研究 如何减少软件缺陷所产生的代价和成本是很有现实意义的。 1 2 2 研究内容 本文研究的是一个基于缺陷度量与分析技术的缺陷预防过程改进模型。通过 对基于属性的缺陷分类方法、基于过程的缺陷分类方法、以及缺陷数据分析方法 的研究,在开发过程中运用缺陷分析的结果,为提高项目开发效率提供一个改进 方向和指导方法。结合实际应用,本文中设计出一种易于在软件开发过程中实施 的缺陷管理方案,对软件缺陷管理系统的设计和实现进行研究,在以下几个方面 进行了探索: 1 研究软件缺陷管理,对软件企业开展有效的质量控制,以及改进软件开 发过程中的不足,对于国内中小型软件企业有着极为重要的现实意义。 2 研究软件缺陷管理系统,对软件开发企业的缺陷修复效率和缺陷管理水 平提高有着很大帮助,并且能够保证缺陷修复的质量。通过使用缺陷管理系统中 的统计功能,对采集到的缺陷数据信息实施缺陷分析,利用缺陷分析的结果找出 影响软件开发效率及软件产品质量的瓶颈等有用信息,采取缺陷预防对策改进软 件开发过程。 3 通过本文中对缺陷管理研究,可以给软件开发企业在缺陷管理系统的设 计与实现等方面,起到一定的借鉴参考作用。并希望能够帮助软件开发企业提高 自身的缺陷管理水平和缺陷修复效率,达到提高软件开发效率和软件质量目的。 2 华东师范大学2 0 1l 届研究生硕 j 学位论文 1 3国内外研究现状 自上世纪6 0 年代开始以来,国外就已经开展了与软件缺陷过程管理相关的研 究。就其研究范围而言,主要研究领域集中在: 1 缺陷来源( d e f e c ts o u r c e ) 2 缺陷预防( d e f e c tp r e v e n t i o n ) 3 缺陷检查( d e f e c ti n s p e c t i o n ) 4 缺陷管理( d e f e c tt r a c k ) 5 缺陷模式( d e f e c tp a t t e m ) 6 缺陷诊断( d e f e c td i a g n o s i s ) 7 缺陷修复的效率( e f f i c i e n c yo f d e f e c t f i x ) 8 缺陷起因分析( a n a l y s i so f d e f e c tr o o tc a u s e ) 1 3 1 缺陷管理系统现状 当前中小型企业里的软件产品开发过程中,在缺陷信息的管理和控制方面多 数处于一种混乱的状态。项目前期的设计和开发阶段,对于缺陷数据统计和分析 严重不足,进入编码测试阶段之后才有大量缺陷被统计报告出。然后进行缺陷的 修正,持续不断地反复测试,出现缺陷再修正这样一个过程。但是这样没有对缺 陷数据实施统计与分析,从而无法采取合适的措施施行缺陷预防机制,软件产品 的开发周期也变得难以掌控【5 j 。 随着软件复杂程度的提高,产生的软件缺陷数目越来越多,尤其是近几年来 自动化测试技术的发展,使得无法再通过文档方便有效地记录管理测试中发现的 各种的缺陷。因此,很多公司开始研发基于后台缺陷数据库的缺陷数据管理系统, 缺陷信息管理系统就是在这样的背景下产生的。 缺陷信息管理系统通常包括:软件配置管理系统( 如c v s ,s u b v e r s i o n ) 、 软件的缺陷数据管理系统( 女n b u gz i l l a ) 、软件团队的开发人员之间沟通用的新 闻组,以及邮件列表等等。这些系统综合在一起,形成了开发项目的软件库。随 着软件项目规模的不断扩大,在这些系统内部逐渐积累了大量与和软件开发相关 的历史数据。对这些历史数据进行分析和整理,可以为软件设计、软件复用、如 何减少开发和维护成本、以及对软件开发过程中出现的各种问题进行检验、等许 多方面提供非常重要的经验数据,其价值已经逐渐被研究人员所认测2 1 。 薏 华东师范人学2 0 11 届研究生硕士学位论文 当前市场上已出现的缺陷管理系统,j t l m o z i l l a 公司的丌源软件b u gz i l l a ,非 常著名的i b m 公司的商业软件c l e a rq u e s t 、微创公司的缺陷管理工具b m s , m e r c u r y 公司的q u a l i t yc e n t e r ,i b m 公司的r a t i o n a l 系列管理工具等,微软公司的 v s t s 也是常用的缺陷管理系统工具。这些软件在功能上都比较强大,它们从不 同程度上能够提供流程定制管理功能、权限分配功能和邮件通知等功能【2 儿6 】。 但是,这些系统相对比较复杂,通常都比较注重与其它测试工具的整合,如 何部署和管理这些系统也需要经过培训。凶此,从使用和经济角度来讲,花费的 物力人力成本都相对较耐6 1 。并且,对于缺陷属性的分类方法在类似的商用的缺 陷管理系统没有一个统一的标准,在特性功能上也是各有特色。在实际开发过程 中,现有的缺陷管理系统通常只能够提供一些简单的数量统计功能,在缺陷数据 的分析方面普遍比较薄弱,用户需要借助其它的统计分析软件,或者是通过自行 开发缺陷数据分析工具来实施缺陷数据的分析【7 】。 1 3 2 缺陷的度量与分析研究现状 软件产品的开发过程中实施缺陷的度量与分析,对于预防缺陷产生,保证软 件产品的质量,提高软件产品的开发和测试效率,有着极其重要的作用。缺陷分 析是对软件开发各个阶段产生的缺陷数据进行分类和汇总统计,并计算分析指 标,提供出缺陷分析报告的活动 8 j 。从缺陷分析结果中,可以了解缺陷集中的区 域以及缺陷发展趋势。通过挖掘产生缺陷的根本原因,采取措施预防缺陷的再次 发生【2 1 。 目前已经出现的几种软件缺陷分类方法。如i b m 公司制定的缺陷正交分类 方法( o r t h o g o n a ld e f e c t sc l a s s i f i c a t i o n ,o d c ) ,该方法适用于提出软件过程改 进方案,通过评价软件开发过程,给出了一种从缺陷数据中提取各种有用信息的 测量范例。其缺点在于不好把握缺陷分类的标准,分类也过于复杂。t h a y e r 软件 错误分类方法适用于指导项目开发人员消除缺陷,通过发现的错误的性质来划分 缺陷。美国电气和电子工程师协会( 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 e e e ) 制定的软件异常分类标准,是对软件产品和项目文档中发现 的各种异常进行的分类。它提供了一个统一化的分类方法。其不足之处在于分类 过程很复杂,也没有考虑软件工程的过程缺吲圳。 软件生产中的各种活动,都围绕着软件生产过程进行,使用的工具和方法也 都与软件生产过程密切联系【9 】o 软件过程由一系列的活动组成,通过开发者使用 4 华东师范人学2 0 1 1 届研究生硕上学位论文 各种方法和技术来完成这些活动 1 0 】。通过在过程的基础上改进缺陷分类,可以 更好地把握缺陷的本质和理解缺陷形成的过程,从根本上实现预防缺陷【l l 】。 本文基于上述思考,重点研究了缺陷的属性和过程分类方法,以及缺陷分析 方法,并结合某项目中采集的缺陷数据信息,进行了缺陷预防对策说明。 1 4论文各章节安排 本论文共分为六个章节,具体章节安排如下: 第一章、绪论,介绍了课题背景、课题的研究意义及主要工作、以及国内外 缺陷度量管理与分析技术研究与应用的发展现状。 第二章、主要介绍了本文研究的理论基础,如软件缺陷及其相关概念,主要 内容包括软件缺陷的定义及其特征、缺陷的产生原因规律,几种软件过程改进模 型、软件测试的方法和过程、软件质量等,并提出了一个基于c m m i 的缺陷预防 过程改进模型。 第三章、设计了基于缺陷度量属性分类方法、基于过程的缺陷分类方法,以 及缺陷的生命周期和缺陷分配管理流程。 第四章、首先从需求分析出发,给出了缺陷跟踪管理系统要实现的功能模块, 然后结合w s s 技术对系统功能进行整体设计,最后对系统的主要模块进行设计 以及实现,并给出了缺陷跟踪管理系统实现部分的功能演示图。 第五章、本章中设计了适用于指导项目实施缺陷分析的评价指标,通过实施 缺陷分析把握软件开发过程的质量状况,应用分析结果可以帮助项目组及时了解 缺陷集中区域和发展趋势。通过在软件开发过程中实施缺陷过程度量管理,深入 挖掘缺陷出现的各种原因,找出产生缺陷的技术和流程上的不足,采取应对措施 消除当前存在的缺陷,总结经验制定缺陷预防方案,防止类似缺陷再次发生。 第六章、全文的总结和展望部分。 1 。5 本章小节 本章介绍了软件缺陷管理相关的背景知识,本课题的研究意义以及国内外研 究现状,所做的主要工作和文章的组织结构,对论文各章中的重点研究内容进行 了简要描述。 塞 华东师范人学2 0 11 届研究生硕士学位论文 第二章缺陷预防过程改进模型和测试方法 2 1 缺陷管理的目标及其特征 2 1 1 缺陷管理的目标 不同的软件开发企业在软件开发过程、质量保证体系都不同,对于缺陷管理 的方式和处理流程也不尽相同。通常缺陷管理应当具有如下目标【6 】【8 】: 1 消除每个已发现的缺陷。在这里,消除的含义不一定是修正发现的每一 个缺陷,也可能是通过在下一版本中对应等其他方式进行处理。对于每个已经发 现了的缺陷,开发过程中的处理方式应保持一致。 2 统计缺陷数据。分析缺陷发展趋势曲线,判断某测试过程是否结束。通 过缺陷发展趋势曲线,确定测试过程何时能够结束,是较为常用的一种确定测试 过程是否结束的方式。 3 采集缺陷数据,并实施数据分析。积累软件开发过程中各方面的缺陷数 据信息。 其中,第一条目标是最容易被想到的一点,一般项目管理人员都马上会想到 这一条。但是却容易忽视掉第二条和第三条中的缺陷管理目标。在一个良好运行 的软件过程中,对于缺陷数据信息的采集和统计分析是很重要的。从缺陷分析结 果中可以得到很多有用的信息与软件质量相关,这些信息可以为软件企业的开发 过程改进方向提供指导。 2 1 2 软件缺陷的特征 虽然每个单独的软件缺陷的表现形式、重现步骤、严重等级和消除方法都是 不同的,但是多个缺陷在这些特性下面有着共性。研究这些隐藏在缺陷背后的共 性,对于挖掘缺陷产生的根本原因,以及进行缺陷修复的管理工作有着重要的意 义。基于以上考虑,将软件的缺陷的特征归纳为以下几点1 6 j : 1 缺陷产生原因。缺陷的产生总是有触发原因的,可以从缺陷引入原因和 缺陷流出的原因方面进行分析。 6 华东师范火学2 0 1l 届研究生顾 :学位论文 2 缺陷的重现性。确认缺陷时,第一步,就是能够重现这个缺陷。要模拟出 该缺陷发生时候的操作步骤,环境,以及触发条件。比如通常要按照缺陷发生时 的软硬件环境、当时软件发布的版本、操作步骤等信息,还原出缺陷,保存并分 析重要的日志文件,将异常结果与预期结果进行比较。对所修复的系统的理解程 度,以及发现缺陷的人员与修复缺陷的人员之间是否沟通顺利,缺陷报告中的描 述是否正确和清晰是缺陷能否重现的关键。在缺陷修复过程中,确实有个别缺陷 比其他缺陷的重现要困难的多。但这只是因为我们缺少适当的条件、工具和环境, 去模拟缺陷发生时的操作环境【l 引。 因此,在重现缺陷时所遇到的困难,并不能说明缺陷是无法重现的。由于缺 陷的产生是一个非常小的概率事件,需要花费很大的成本再现缺陷的产生。如果 很难在短时间将缺陷重现,可暂时处理成“无法重现”,以后再讨论对策。 3 缺陷的累积放大性 13 1 。在软件生命周期的各开发阶段,都有引入软件缺 陷的可能,并且引入的缺陷会被不断的累积增多。实践中证明,由于需求分析和 设计的不当而被引入到软件中的缺陷,要占到整个软件开发阶段中引入缺陷的 7 0 左右。并且修复这些缺陷所花费的成本也同时被不断地被累积放大。尽早发 现并改正软件中的缺陷,就可以大大节省修复缺陷所做的工作和成本,还能够提 高软件产品的开发效率和内在质量。 4 修复有可能会引入新的缺陷。在修复一个缺陷时,要仔细检查这个修复 会不会带来某个新的问题,不能修复了一个缺陷后又引入了新的缺陷。这主要是 因为程序代码机能之间的依赖关系。例如,修改了某个方法的实现,必须保证所 用到了这个方法相关代码都能正常工作,以避免引入新的缺陷。 2 2软件缺陷的产生原因及规避原则 2 2 1 软件缺陷的产生原因 造成软件缺陷的原因通常可以归为以下几点:程序代码错误、不符合编码规 范、软件复杂度高、工作态度、沟通能力、变更频繁、进度控制不力,以及管理 失误 6 】【9 ”】。 7 华东师范人学2 0 11 届研究生硕士= 学位论文 1 程序代码错误 这通常与开发人员的技术水平和开发经验有关。但即便是经验丰富的开发人 员,他所编写的软件由于对开发和经验的过分依赖也一定会有缺陷出现。而经验 不足的开发人员所编写的错误程序相对的所占的数量要高一些。 2 不符合编码规范 软件企业都会制定一套编码规范,开发人员必须按照规范进行开发。制定这 些规范最主要的目的就是为了能够做好程序代码的统一化管理。不符合编码规范 的程序,会使得程序代码的阅读和维护变得更加困难。 3 软件复杂度高 现今软件产品的功能需求比过去要增加许多,因此,程序的代码量和复杂度 上相比过去也大大增多,使得开发难度加大。另外,计划安排不合理,有时为了 追赶进度,压缩开发周期,提高开发效率,在某种程度上产生缺陷的机率也随之 被加大。 4 工作态度 有的开发人员面对问题时常采用回避的态度,还有的开发人员在软件开发过 程中表现出过于自大的情绪,对测试人员及客户的反应不理会,或是采取抱怨抵 触的态度应对闯题。这些消极因素都会造成软件缺陷的增多。 。 5 沟通能力 项目开发中邮件,会议,即时通讯工具等许多交流方式的存在就是为了增加 沟通渠道。在软件开发企业里,人员、部门间及时的进行沟通是必要的,促进沟 通的方法除了会议讨论之外,还要求项目管理人员将开发流程及阶段性的各种开 发成果物建档。 6 变更频繁 需求设计变更所造成的结果就是要求变更对应的程序代码。另外还必须经过 测试,确保软件产品能够运行正常,增加了一定的开发成本。需求设计变更如果 发生在项目开发的初期阶段,在一定范围之内能够控制对开发进度带来的影响; 但如果发生在项目开发的后期阶段,除了会大大增加开发成本,使得开发周期延 误之外,对软件产品的质量很难控制。 8 华东师范大学2 0 11 届研究生硕十学位论文 7 进度控制不力 任何的产品的开发必须要有严格的进度管理控制,但是如何制定一个比较合 理的开发计划是需要项目经理考虑的事情,并且在开发计划可控范围内,能够确 保开发的质量。 8 管理失误 许多的管理人员对于如何控制开发进度,如何保证开发出的软件产品的质 量,采用何种手段来保证开发效率也不是很了解,从而浪费了人力,制作出来的 产品到交付阶段时被用户抱怨,大大增加了维护成本。虽然这是属于管理上的问 题,但也是导致软件缺陷产生的重要原因之。 2 2 2 减少缺陷的几个关键点 通过多年的统计研究,总结软件开发过程中缺陷引入的规律,以及减少软件 缺陷的具体方法策略,b a r r y 提出软件开发过程中减少缺陷有十个关键点 1 5 】,对 于软件开发企业很有参考价值: 1 软件产品在正式发布后发现和解决一个缺陷所需的费用,通常要比在需 : 求和设计阶段发现、解决缺陷所需的费用高出约1 0 0 倍。 2 当前的软件项目开发过程中,约有4 0 到5 0 的费用,花费在了重复工 作上,这些重复工作是可以避免的。 3 通常有2 0 的缺陷,是由于大约8 0 的可避免的重复工作产生的。 4 通常在2 0 的机能模块中,会产生大约有8 0 的缺陷,并且大约半的 机能模块中存在的缺陷是很少的。 5 表现出的软件故障大约9 0 来自于1 0 的缺陷。 6 通过有效的复查审核,可以找出软件产品中的约6 0 的缺陷。 7 有目的性的复查审核,能够比无方向的复查审核,多找出约3 5 的缺陷。 8 对开发人员进行专业性训练或培训,可减少约7 5 的缺陷出现率。 9 同等条件下,开发高可信赖的软件产品与开发低可信赖的软件产品相 比,开发成本要高出近5 0 。然而,如果考虑到软件产品的运行和维护成本,那 么这种投资是完全值得的。 1 0 通常大约4 0 到5 0 的用户程序,其中都会有小的缺陷。 9 华东师范人学2 0 1 1 届研究生硕士学位论文 2 2 3 软件缺陷增长的原因分析 软件自身的缺陷以及人为因素导致的缺陷,如人的错误认知,人的随机性失 误等,都是引起软件缺陷增长的原凶。如果企j i k 内严格的定义了内部规范和业内 的通用规范,开发人员的技术水平和自我审查能力又足够好,在小组或部门的阶 段性审查中能够及时的发现问题并消除,并且测试人员的测试活动有着足够的覆 盖面,那么软件缺陷的增长就能够很有效的被控制住。 软件缺陷的引入并不是完全随机、不可控的。对于那些能够通过统计建模分 析,可以找到软件缺陷的确定性增长部分,对于这部分的软件缺陷,是可以通过 改进软件过程,实施缺陷预防机制来加以控制和消除的,这也是软件缺陷研究领 域的一个热门研究方向。 2 3 软件过程改进模型 2 3 1c m m 9 0 年代初,美国卡耐基梅隆大学软件工程研究院( s o f t w a r ee n g i n e e ri n s t i t u t e , s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院行政人员工作计划
- 2025-2030中国防火防烟执行器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国防水蓝牙扬声器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国防弹玻璃行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国镇流器市场行情监测及发展趋势前景分析研究报告
- 2025-2030中国锚固连接器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国银喷涂设备行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国铝型材行业深度调研及投资前景预测研究报告
- 2025-2030中国钐过滤器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国都市休闲农业行业市场发展现状及发展前景与投资经营研究报告
- 小学语文整本阅读指导课《城南旧事》教学案例
- (机械创新设计论文)
- GB/T 39802-2021城镇供热保温材料技术条件
- GB/T 2792-2014胶粘带剥离强度的试验方法
- GB/T 21566-2008危险品爆炸品摩擦感度试验方法
- GB/T 215-2003煤中各种形态硫的测定方法
- GB/T 17492-2012工业用金属丝编织网技术要求和检验
- GB/T 17207-2012电子设备用固定电容器第18-1部分:空白详细规范表面安装固体(MnO2)电解质铝固定电容器评定水平EZ
- GB/T 16886.7-2001医疗器械生物学评价第7部分:环氧乙烷灭菌残留量
- 国开电大《人员招聘与培训实务》形考任务4国家开放大学试题答案
- 铁路职工政治理论应知应会题库
评论
0/150
提交评论