您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 软件缺陷管理系统的设计与实现
龙源期刊网软件缺陷管理系统的设计与实现作者:谢春芝来源:《电脑知识与技术》2010年第22期摘要:软件缺陷管理是软件项目管理的重要组成部分,是保证软件质量的重要手段,该文研究了软件缺陷管理模型,在此基础上设计软件缺陷管理系统,采用J2EE三层架构和MVC设计模式实现该系统,系统提供BUG跟踪、软件功能模块、测试用例、部门及角色管理功能,并提供大量统计报表功能。关键词:软件缺陷;软件质量;MVC中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)22-6235-02DesignandApplicationofSoftwareDefectManagementSystemXIEChun-zhi(SchoolofMathematicandComputer,XihuaUniversity,Chengdu610039,China)Abstract:Softwaredefectmanagementisanimportantcomponentforsoftwareprojectmanagementandisamainmethodforsoftwarequality.Inthispaper,themodelofsoftwaredefectisstudied.Asoftwaredefectmanagementsystemisdesignedbaseonthismodel.ThesystemadopttheMVCdesignmodelandthreelayersystemstructureofJ2EE,providemanagementforbug,softwarefunctionmodel,testusecase,departmentandrolesetc.andalsoprovideabundanceofgraphandstatisticalchartform.Keywords:softwaredefect;softwarequality;MVC软件质量是决定复杂系统成败的关键,软件系统质量难于保证,一是由于软件系统固有得到复杂性,二是由于软件系统及其管理工作固有的不可见性[1]。软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去执行程序,以发现软件故障的过程。软件测试的目的是发现软件中存在的缺陷,发现缺陷的目的是为了解决这些缺陷,以使软件满足用户的使用需要。软件测试过程中会产生大量的缺陷,如何对这些缺陷进行跟踪管理,如何通过软件缺陷的管理分析形成组织决策,如何通过使用软件缺陷记录来提高软件质量的可靠性,如何将将发现缺陷和解决缺陷的经验形成组织知识和经验,提高软件组织软件高质量软件开发的水平等,已获得广大软件开发组织的重视。针对以上问题,本文设计与实现了软件缺陷管理系统,通过该系统软件组织可以在统一的流程下自动地完成软件测试过程中发现的BUG的跟踪管理,同时提供各种统计报表功能,可以较好支撑软件测试管理过程。1软件缺陷管理模型龙源期刊网软件测试活动贯穿整个软件开发过程,包括需求测试、概要设计测试、详细设计测试、单元测试、集成测试、系统测试和验收测试等,软件测试管理是一种活动,可以对软件测试各阶段的测试计划、测试用例、测试流程进行管理、跟踪、记录其结果,并将结果反馈给系统的开发者和管理者,同时将测试人员发现的缺陷记录下来,进行跟踪、控制和监督,同时生成缺陷报告并对其进行管理[2]。本文结合前人的工作,结合软件开发和测试的过程,提出了软件缺陷管理工作模型,如图1所示。首先,系统分析员将需求分析提交到需求库,并指定给测试经理和项目经理;测试经理接收到需求分析后,将需求分析审核测试划分为若干任务指派给各测试人员,测试人员接收到任务后进行需求规格测试,对找到的需求缺陷创建缺陷实例,进入BUG库,并指派给测试经理;测试经理对所找到的需求缺陷进行审核鉴别,审核缺陷的是否为真实缺陷,审核缺陷的登记,确定对该缺陷的下一步处理方案等。如果确定该缺陷要立即进行处理,测试经理则将该缺陷指派给对应的需求分析人员。对于设计和编码做同样的处理。2系统分析与设计2.1系统的功能描述根据软件缺陷管理的特点和需求,系统应该具备下列基本功能:1)测试人员可以通过系统获得测试任务,通过系统创建测试用例、管理测试用例,通过系统创建缺陷,管理跟踪缺陷。2)测试经理可以通过该系统创建测试任务,指派测试任务,审核软件缺陷,指派软件缺陷。3)决策人员可以通过系统分析当前软件缺陷的状态,分析软件的质量。系统功能模块图如图2所示。2.2软件缺陷的属性及生命周期软件缺陷的管理是本系统的重要内容,一个完整的缺陷数据信息主要由缺陷的基本属性、状态和等级等组成。我们主要考虑的软件缺陷信息有:1)所属模块,软件缺陷属于整个项目中具体的模块编号。2)缺陷类型,该缺陷属于什么样的BUG,需求错误,设计错误或则编码错误等。3)严重程度,描述缺陷的破坏程度,分为严重、主要、次要和轻微四个等级。4)优先级,描述缺陷解决的紧急程度,分为紧急、很高、高、中和低等5个级别。5)缺陷的状态,描述缺陷在生命周期中所处的阶段。6)拥有者,发现缺陷的人。7)指派给,指定该缺陷由谁负责下一步处理。8)解决者,解决该软件缺陷的人。9)缺陷标题,缺陷的简要描述。10)重现步骤,再现该缺陷的操作步骤,供相关人员找到该缺陷的原因。11)用例,该缺陷所对应的测试用例。12)附件,与缺陷相关的文件。龙源期刊网软件缺陷的生命周期分为创建,未审核,分配,打开,拒绝中,拒绝,修正,异议,关闭等几个状态,各状态间的转换如图3所示。2.3系统的结构系统结构采用J2EE的三层架构设计,三层分别是客户层,应用服务层和数据服务层,其中应用服务层按照MVC设计思想进一步分层设计,包括:表示层,控制,业务层和数据访问层。该设计最大的优点是模型、视图和控制分离,各组件之间有较低的耦合度,提高了系统的开发效率,增加了系统的可维护性。系统结构如图4所示。1)表示层的设计主要采用JSP,CSS,JavaScript等将模型数据,业务关系展示给用户。2)控制层处理用户与软件之间的交互操作,实现针对不同的用户请求进行不同的页面流重定向。3)模型层实现对数据库表的封装,数据库中每一张表都对应一个JavaBean和一个与该JavaBean相关的java类以实现相关的业务逻辑。3系统实现本文,MVC模式采用Structs框架实现。Structs框架是一个很好的MVC的应框架。Structs框架的优点:视图与业务逻辑分离,使开发者只关注业务逻辑的实现。有丰富Struts标记库(TagLib),大大提高开发效率。开放源码,可以查看代码并能检查代码[3]。在Structs框架中,模型由Action和ActionForm对象构成,所有的Action处理器对象都是从Structs的Action类派生的子类,Action处理器对象封装了具体的处理逻辑,调用业务处理模块,并且把响应提交到合适的视图组件以产生响应。例如在收到测试人员新缺陷记录的请求后,将测试人员在页面上输入的缺陷信息数据填入模型类中,然后控制器进行业务处理,将一条新的缺陷数据添加到系统中。实现的部分关键代码如下:publicclassNewBugActionextendsAction{publicActionForwordadd(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){Bugbug=newBug();Stringforword=“”;Try{bug.AddBug(sco);龙源期刊网=“success”;}catch(Exceptionex){Forword=“failure”}Returnmapping.findForword(forword);}}.4总结本文在前人工作的基础上,提出了软件缺陷管理模型,该模型实现了软件测试过程的自动管理,定义了缺陷的生命周期和相应的状态变换,达到减少测试人员的工作量,提高测试效率的目的。系统采用J2EE三层架构,并且运用了Struts模板技术,实现了MVC经典的模式,使系统结构松散,具体有较高的可靠性和可维护性。参考文献:[1]鞠秀娟,赵明.基于CMM的缺陷管理系统的设计及应用[J].四川大学学报:工程科学版,2007,39(S1).[2]陈文海,秦晓.软件测试管理工具的研究与实现[D].中国科学院研究生院,2003.[3]沈江,于洪志.基于J2EE与MVC框架的现代远程教育系统设计[J].长春工程学院学报:自然科学版,2010,11(1):89-92.
本文标题:软件缺陷管理系统的设计与实现
链接地址:https://www.777doc.com/doc-4683569 .html