毕业设计论文软件缺陷管理系统的研究Word文档格式.docx
- 文档编号:14648916
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:41
- 大小:738.17KB
毕业设计论文软件缺陷管理系统的研究Word文档格式.docx
《毕业设计论文软件缺陷管理系统的研究Word文档格式.docx》由会员分享,可在线阅读,更多相关《毕业设计论文软件缺陷管理系统的研究Word文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
摘要
随着现在计算机软件开发规模越来越大,如何管理软件开发中出现的缺陷、提高软件质量是软件企业关心的问题。
本文介绍了软件缺陷的概念、属性,利用UML分析了缺陷管理的工作流程、系统角色的权限,设计并实现了一个可对提交的缺陷进行跟踪、管理、统计和分析的软件缺陷管理系统。
系统基于B/S结构,采用ASP,SQLServer等技术来实现。
实践表明,该系统具有一定的实用价值。
关键词
软件缺陷;
缺陷收集;
缺陷跟踪;
UML;
ASP;
SQLServer
Abstract
Nowadays,thescaleofthesoftwaredevelopmentisgrowingupincreasingly.Andpeoplepaymoreattentiontothenumerousdefectsinasoftwaresystem.It’simportanttodiminishthosedefectstoimprovethequality.Inthispaper,wefocusondesignasoftwaredefectmanagementsystem.Itistohelpdevelopersdetectsoftwaredefectsandassistprojectmanagersinallocatingtestingresourcesmoreeffectively.First,weintroducethedefinitionofsoftwaredefectsanddiscussitsattributes.Then,weusetheUMLtoillustratetheworkflowandthesystemroles’authorityofthedefectmanagement.Thefunctionofthissystemistotrack,manageandanalyzethecollecteddefects.ThesystemisbasedonB/Sframework,usingASP,SQLServerandothertechnologies.Practiceshowsthatthesystemhassomepracticalvalue.
Keywords
Softwaredefect;
Defectcollecting;
defecttracking;
UML;
ASP;
SQLServer
文献综述
1、绪论
2003年8月,数百万人陷入黑暗,软件缺陷显然是造成在北美东北地区的大停电事故的元凶。
2005年4月,美国航空集团公司一些机票被错误地售价为1.86美元,这个软件缺陷造成数千美元的损失。
在最近一次美国总统大选中,在几个地区所使用的新的电脑投票机产生了不正确的统计数[1]。
这样的例子举不胜举,软件缺陷的危害几乎涉及到每一个使用计算机的单位与个人。
软件缺陷(defect)指的是系统或系统部件中那些导致系统或部件不能实现其功能的缺陷。
在软件开发的某一阶段中发现的上一阶段产生的错误,如语法错误、拼写错误或者是一个不正确的程序语句等,一般需要返工以更正这个错误。
研究表明,在软件的编码测试阶段遗漏编码缺陷,如果到系统测试时才发现,那么这时纠正缺陷所花费的成本是在编码阶段纠错花费的成本的7倍以上。
因此,是否能及早地将缺陷信息从软件产品开发过程中反馈回来是软件质量生存期中最重要的一步。
2、问题的提出
软件缺陷是软件质量的对立面,缺陷的产生主要是由软件产品的特点和开发过程决定的,有些缺陷很明显比较容易被修复成功,有些缺陷却很隐蔽很难被发现。
现在,人们越来越重视软件质量问题,试图用这样那样的方法来提高软件质量。
软件测试是检查软件发现缺陷的过程,是软件质量保证过程中不可或缺的一个环节,但软件行业发展二十多年来,开发高质量软件均非易事。
而软件测试的目标是找到至今还未发现的缺陷,而不是确保没有缺陷[2]。
因此,不管测试工作量有多大,缺陷可能仍然存在,为了保证软件正常运行,必须对软件中存在的缺陷进行有效的管理,从而提高软件质量。
软件缺陷管理就是在开发中对发现的缺陷进行跟踪并确保每个被发现的缺陷被关闭。
从某种意义上说,软件项目管理过程可以看作是软件产品的缺陷管理过程,软件过程的目的是避免将缺陷引入软件产品或将已产生的缺陷识别出来,并将其排除。
软件缺陷管理技术不仅应用在代码层次,还应用于软件工程过程的所有相关活动中。
缺陷管理作为软件质量管理的重要组成部分,正在成为软件开发管理过程的又一亮点,从国内外越来越多的公司进行相关管理工具的开发,到人们对缺陷管理工具的需求逐渐增多而且更加明确,同时渴望能够得到物美价廉的可用版本,软件缺陷管理的其重要性和被人们所给予的重视程度可见一斑。
3、软件缺陷管理系统的发展情况
软件测试是检查软件发现缺陷的过程,统计表明,在典型的软件开发项目中,软件测试工作量往往占总工作量的40%以上,而根据对国际著名IT企业的统计,测试费用占软件开发的总成本的50%以上[3]。
在国外软件产业发达国家,软件测试占有绝对重要的地位。
在微软内部,软件测试人员与软件开发人员的比率一般为1比1.5—2.5,微软软件开发的实践过程己经证明了这种人员结构的合理性与正确性。
从国内最近几年软件测试人员的短缺情况来看,软件测试行业正越来越得到重视。
以往重开发轻测试的状况也得到改善,开发人员和测试人员也不再像以前那样互相抵触,现在,开发人员期望测试人员发现更多的缺陷,在整个软件生命周期中能够愉快的合作。
越来越多的软件公司和管理技术人员在工作中将更多的时间和资源投向了测试方面。
很多优秀企业中开发与测试的人员比例达到了3比1或2比1,许多顶尖的技术人员在从事质量控制和软件测试工作。
软件缺陷跟踪管理是测试工作的一个重要部分,测试的目的是为了尽早发现软件系统中的缺陷,而对软件缺陷进行跟踪管理的目的是确保每个被发现的缺陷都能够及时得到处理。
缺陷跟踪管理系统在实现技术层面上来看是一个数据库应用程序。
它包括前台用户界面、后台缺陷数据库以及中间数据处理层。
缺陷是影响软件质量的所有外部因素,正确性(没有缺陷)就是高质量软件的本质属性。
逻辑上,仅有两种主要的方法可应用于开发低缺陷的软件:
缺陷预防(构件软件时防止引入缺陷);
缺陷排除(检测并排除在构建软件时引入的缺陷)[4]。
软件测试过程简单说就是围绕缺陷进行的,对缺陷的跟踪管理一般而言需要达到以下目标:
1.确保每个被发现的缺陷都能够被解决,“解决”的意思不一定是被修正,也可能是被延迟等等,总之,对每个被发现的bug的处理方式必须能够在开发组织中达到一致;
2.收集缺陷数据并根据缺陷趋势曲线识别测试出于测试过程中的哪个阶段;
3.决定测试过程是否结束,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式;
4.收集缺陷数据并在其上进行数据分析,作为组织过程改进的财富。
在实际运用中的软件缺陷跟踪系统用来描述报告所发现的缺陷,处理软件缺陷属性,跟踪软件缺陷的整个生命周期和生成软件缺陷跟踪图表等。
缺陷数据是生成各种各样测试分析、质量控制图表的基础,从这些缺陷分析图表中可以清楚的看到缺陷的修复过程,分析缺陷发生的根本原因,跟踪管理缺陷的效率。
软件缺陷跟踪管理系统可以通过添加、修改、排序、查寻、存储操作来管理软件缺陷。
目前,不少缺陷跟踪管理系统是采用B/S结构来实现的,相应地,采用的编程语言是ASP或JSP。
软件缺陷管理实际是软件测试流程管理的一个子过程,其应用模型一般主要由四个部分组成:
缺陷收集、缺陷跟踪、缺陷度量、项目评估。
如图1所示:
图1软件缺陷管理应用模型
软件缺陷收集部分是整个应用模型的基础;
软件缺陷跟踪部分是规范解决项目中的缺陷的一个必要手段,也是软件缺陷管理中的一个重要组成部分;
软件缺陷度量方法的选择是缺陷度量阶段的核心问题,它能最大限度的评估软件的项目;
项目评估作为软件缺陷度量方法的应用结果与这些方法的选择相关。
软件缺陷管理系统的实现过程主要分为两步,第一步是从软件缺陷管理的理论到应用模型;
第二步使用软件方法实现该模型。
软件缺陷信息的收集主要依据缺陷的属性、缺陷的生命周期以及项目开发实践中所需要的内容来设计和实现的;
软件缺陷跟踪部分是整个系统解决方案中一个重点,主要依据缺陷跟踪流程中的角色与缺陷状态关系,并以工作流技术来灵活配置角色的权限和缺陷状态的变迁过程;
软件缺陷度量是整个系统解决方案的另中一个重点,也是当前进行缺陷管理过程中容易忽略的一个阶段,其重点要解决的就是缺陷度量方法的选取,方法选取是否恰当,直接影响到下一阶段的项目评估;
项目评估部分主要依据前一阶段的缺陷度量的结果对项目的质量、进度、效率进行评估。
目前,不少软件公司研制出了相应的缺陷管理软件,用得比较多的包括Rational公司的C1earQuest软件和Mozilla公司的Bugzilla软件,国内的微创公司也推出一套缺陷管理系统BMS。
这些产品的推出说明缺陷管理越来越受到软件企业的重视,但商业软件往往价格昂贵,代价高也不一定能起到很好的作用,例如ClearQuest的一个License报价在5万人民币,如果再要使用与ClearQuest相配套的ClearCase,则一个License要5000美金。
价格是一个问题,维护代价也很高。
另外,Rational系列产品有些地方不够人性化,比如要查找一个己经提交的缺陷不是很方便,也无法避免重复缺陷的提交,这样就给缺陷审核人员带来了很多不必的麻烦[4]。
即使购买了Rational系列产品的公司往往由于过程管理没有跟上,使得这些过程支持软件发挥不了它们强大的作用。
可见,工具只是手段,过程本身的改进才是重点[5]。
而微创公司的BMS系统中的缺陷状态设置仅为3种:
已激活、已解决、已关闭,这对于缺陷状态的描述和缺陷处于不同状态的统计略显不足,因为国外许多关于缺陷管理的参考文献将缺陷状态定义为5-7种[6]。
另外,BMS系统将所有成员分成两种角色:
一般用户(包括个人用户、项目经理)、企业经理,该系统的角色设置较少,且角色不能定制。
而一些免费的开源软件功能又不够强大,比如Bugzilla软件的统计、查询和分析功能较少,人性化设计较差,用户定制界面较少。
由于过程管理软件往往与软件组织结构设置和实际的开发过程紧密关联,若软件无法进行恰当的定制,必然限制该软件在软件组织内的推广使用。
因此,根据特定的需求采取自主研发软件缺陷管理系统的方式也逐渐受到青睐。
4、总结
软件缺陷管理作为软件工程学科的一个分支,关于它的理论研究起步较晚,发展远未成熟。
同时,国内从事软件缺陷管理研究和工作的组织和企业较少。
目前国内大量的出版物中,关于软件缺陷管理方面的资料较少。
根据查阅文献所掌握的资料,目前软件缺陷管理的相关论文总量不多,尤其是国内在这方面的研究成果更少。
参
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 软件 缺陷 管理 系统 研究