




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士学位论文 (专业学位) 软件缺陷 管理系统的设计与实现 姓 名: 学 号: 所在院系:软件学院 职业类型: 工程硕士 专业领域:软件工程 指导教师: 副 指导教师 : 二 一三 年 八 月 A in 2013 of 软件缺陷管理系统的设计与实现 同济大学 学位论文版权使用授权书 本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意如下 各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名: 年 月 日 经指导教师同意,本学位论文属于保密,在 年解密后适用本授权书。 指导教师签名: 学位论文作者签名: 年 月 日 年 月 日 同济大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。 本 学位论文原创性声明的法律责任由本人承担。 学位论文作者签名: 年 月 日 同济大学 硕士学位论文 摘要 I 摘要 随着 国内当今各类软件开发规模的发展和变化 ,软件测试和软件缺陷管理的工作量也 在随之增加,它们占据整个研发工作量的比重 在迅速地提高。 软件缺陷管理系统是软件企业提升软件产品质量 ,提高软件开发效率 ,降低软件生产成本的重要 系统 。 软件缺陷管理的核心作用是对其缺陷采取正确的补救措施以保证软件的质量,同时为软件的升级开发提供重要的技术依据。 本文以 某 软件管理中心 的需求 为背景,设计和开发了 一个基于 构的软件缺陷管理系统 。在系统的 设计和开发过程中,我们采用了 个开源框架的基础上 ,并运用 发平台, 采用灵活的B/S 结构实现的。 本 系统 可以通过角色进行权限管理,从而实现对软件缺陷的整个生命周期的管理。该 系统 主要包括了用户操作模块、工程管理模块、缺陷管理流程模块三个功能模块,支持用户查询功能和缺陷统计功能,较好的满足了中小规模团队实现缺陷管理规范化、标准化、自动化的目标。 本文 论述 的缺陷管理系统 不但能够实现对于软件测试过程中发现的缺陷进行跟踪和查询,更多的是比较系统的、全面的把握了各个缺陷在 其生命 周期中的各个状态,切实 的将管理缺陷应用于软件开发的过程中,不仅 减少了测试工程师的工作量和文档整理的时间,并且通过直观 图形的形式来显示缺陷的统计和严重程度、缺陷来源等因素,方便测试人员进行整理、统计、分析。 关键字 : 缺陷管理 , B/S 结构 I to of as & D of in is to of of to of is to to at an on as a eb In of we /S be so as to of of to in in of is a of in of in of of to of B/S 同济大学 硕士学位论文 目录 录 第 1 章 引言 . 1 题背景 . 1 内外研究现状 . 3 课题的目的和意义 . 4 题研究内容 . 5 文的组织结构 . 6 第 2 章 相关技术 . 7 ,软件产品逐渐应用到了社会的各个领域。随着用户对软件产品的实用性和复杂性的要求不断提升,软件产品的质量自然成为了人们共同关注的焦点。不论是软件的生产者还是软件的使用者,均对软件的质量有很高的要求 1。人们在探讨如何避免软件错误和提高软件产品质量的过程中已经逐渐意识到了不论采用什么技术和方法,软件中仍然会有错 误 。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是仍然不可能完全杜绝软件中的错误,这些引入的错误需要通过软件测试找出来,软件中的错误密度也需要软件测试 来进行估计。软件测试的目的是发现缺陷,所以软件开发团队需要建立完善的缺陷管理系统来管理缺陷。同时,现实中存在着各种的中小规模团队, 这之中包括了一些团队成员因地理位置距离大而不能方便共享信息 ,比如说一些对开源项目的团队,成员分布在世界各地,需要一个能即时更新缺陷数据,使团队共享最新缺陷信息是一个急迫的需要。本文通过对缺陷管理的研究和对中小规模团队缺陷管理需求的分析,设计了一套基于 软件缺陷管理 系统 ,旨在解决中小规模软件开发团队尤其是团队成员不在一起工作 的缺陷管理需求。 软件缺陷是指那些使软件方式与需求或 客户要求不一致的东西。 软件质量按照 963 年的标准陈述,可以定义为 “ 与软件产品满足规定的和隐含的需求的能力和有关的特征和特性的全体 ” 2。 为了适应这一现实的需求,使 用软件缺陷管理系统辅助软件开发和管理显得尤为重要。 总的来说,缺陷是软件错误和失效的根源。缺陷的引入、发现、修复和关闭贯穿于整个软件开发过程中,要获得高质量的软件,必须有效的管理缺陷,对缺陷进行预防、检测并主动清除 3。 通常在软件开发过程中,造成软件出现缺陷的原因可以归纳为以下几点 3: 1. 程序编写错误 这 是一个很 常见的问题,通常会跟开发人员的经验有关。但是即便是经验再 丰富的开发人员所编写的软件也会有缺陷 3。 2. 未按规范编写程序 通常在软件开发前,开发小组会制定一套编写程序的规范,开发人员按照所规定的规范编写。制定规范最主要的目的就是为了做好程序代码的统一管理。同济大学 硕士学位论文 软件缺陷管理系统的设计与实现 2 开发人员编写程序时未按照规范要求所带来的问题,会对后续的代码维护带来很多的负面影响。 3. 软件越来越复杂 由于软件市场的竞争激烈,也迫使软件产品的功能日益增多并相应的提高了服务功能。因此程序的编写变得越来越复杂,与此同时,开发团队为了提高开发效率、缩 短开发周期、对组件进行模块化设计等行为也令软件结构更加复杂。在这种情况下,产生缺陷的机会也随之增 大 。 4. 开发人员的态度 开发人员在软件开发过程中可能产生情绪,对客户及测试人员的意见熟视无睹。这些来自开发人员的消极因素都无疑造成了软件缺陷增多的原因之一。 5. 沟通障碍 这个问题出现在人员与人员、部门与 部门、垂直与横向的沟通上,许多交流 之所以 会 存在就是为了增加沟通渠道。在一般人的印象中,工程师通常让人觉得是难以沟通的。但是在软件开发组织里沟通是必要的,促进沟通的方法除了要定期讨论之外,还要要求工程师将作业 的流程与结果予以建档,这也是一个重要的管理项目 。 6. 需求变更过频这一点也是使程序产生更多问题的原因之一 需求变更所造成的结果就是变更程序代码,程序代码只要稍做变更就必须经过测试来确保运作正常,所以这个影响是一个连锁反应或称为依存问题。需求变更如果发生在开发的初期,对整体的影响是可以控制在一定范围之内的 ;但如果发生在后期,所造成的影响除了开发周期延误之外,软件质量将很难得以控制。 软件测试是伴随着软件 的产生而产生的,有了软件生产和运行就必然有软件测试。软件测试的 主要目的在于发现存在的缺陷,对于如何处理测试 中发现的缺陷,将直接影响到测试的效果。只有正确、迅速、准确的处理这些缺陷,才能消除软件缺陷,保证要发布的软件符合需求设计的目标。在实际软件测试过程中,对于每个缺陷都要经过测试、确认、修复、验证等管理过程,这是软件测试的重要环节。 为了正确的跟踪每个软件缺陷的处理过程,需要一个完善的管理系统将软件测试发现的每个缺陷记录下来,跟踪缺陷从产生 到 最终解决的全过程,将软件缺陷分类管理,同时提供了查询接口,以供相关对软件的缺陷进行查询、统计和分析。 一套基于 统 提供了一个协同合作的环境和一个中央数据仓库 ,集中规范管理软件缺陷。由于测试人员可能分布在各地,用户需要一个 第 1章 引言 3 集中的缺陷管理系统,能让测试人员不管何时何地都能参与整个测试过程。因此设计开发一个基于 统 能消除各个团队成员间的地域障碍,能让测试人员、开发人员或其它的 员通过一个中央数据仓库,在不同的地方就能提交测试信息。通过将测试过程流水化,仅在一个基于浏览器的应用中 便 可完成,而不需要每个客 户端都安装一套客户端程序,极大地方便了测试人员、开发人员或其它 员的交流和协作。 内外研究现状 软件缺陷管理作为软件质量管理的重要 组成部分,是软件开发管理过程的关键性因素之一,人们对缺陷管理 系统 的需求逐渐增多,国内外越来越多的公司进行相关管理 系统 的开发。目前国外已有的比较知名的缺陷管理 系统 中,商业软件主要有 ,基本的功能包括:定义信息条目类型、提供工作流程的实现、查询信息、概要统计或图形表示、支持多数据库、评论系统、支持 务等。开源的软件 系统 如,其中 用了关系型数据库、支持 跨网络 报告 持通过 览或搜索 是此项目自 2001 年 3 月 12日之后处于停滞状态。国内主要使用的软件缺陷管理 系统 为 统 。 1. 一个优秀的问题跟踪及管理软件 4 。 它 是 目 前 比 较 流 行 的 基 于 浏 览 器 / 服务器(简称 B/S)架构的管理系统,由于 司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比 其他的产品要高,而且易用性也好一些 5。 统的三个基本概念为 :问题 (项目 (工作流(6。问题可以代表一个软件的缺陷,一个项目的任务,一个新的功能,一个改进等等 7。项目是指问题的集合,可以代表一个软件开发项目,一个现有产品,一个测试项目等。工作流是指一个问题在其生命周期中在不同状态中的转变。 工作流是它的核心和灵魂 8。由于 统的采用织开发的开源工作流引擎具有极其灵活的特点,因此 统可以让用 户较为方便灵活地定制符合用户需要的问题生命周期。 统的主要功能如下 5:问题追踪和管理 ;问题跟进情况的分析报告 ;对不同项目配置不同管理功能 ;组件 /模块负责人功能 ;无限制的工作流,可以自同济大学 硕士学位论文 软件缺陷管理系统的设计与实现 4 己定制工作流 (有版本限制 );子任务 (能 ;邮件通知功能 ;丰富的客户化配置项目 ;丰富的插件 (置等。 统的主要优点有 :统通过邮件功能进行协作通知,在实际工作中有效提高工作和沟通效率 ;多种插件及详细的界面自定义功能,基本上可以满 足项目的需要 ;通过工作流的定制, 了担当缺陷管理系统外,还可以作为需求管理,任务管理,过程管理系统等等偏重流程管理的系统 ; 且可以将搜索结果导出。 统的主要缺点有 :对应测试需求,测试用例等都没有提供直接的方式进行管理,没有做到测试计划,需求,用例的关联 ;定制功能实现较为复杂,需要用户配置大量的 高端客户要求较高 ;作为 于没有这些产品的用户来说这些功能显然是不必要的 ;商业软件,价格较高。产品更新和服务许可需要每年付费更新。具有 仅在企业版提供 (。 件收费更是按照系统用户数量来收取。 2. 主要目标是满足中小型项目的管理以及跟踪。 要有以下功能 5:缺陷跟踪管理 ;问题跟进分析报告 ;可以添加子项目,模块等功能 ;权限设置灵活 ;工作流自 定义配置 ;路线图,修改日志 ;统计报表,图形报表 ;与 户可以免费使用 ;较为强大的 知定制功能 ;可以跟踪程序版本变更历程 ;可以生成项目 种指标统计图表 ;丰富的过滤器搜索功能 ;开源软件,可以修改代码进行 2 次开发。 安装配置复杂,界面不美观 ;工作流整体的配置不灵活 ;管理不方便,修改配置大部分需要进行代码修改。 除了以上介绍的几款比较著名的缺陷管理 系统 之外,国内外成熟的公司都会 建立自己软件缺陷信息收集系统,并对缺陷信息都有较好的应用。本 文 将结合调查与实践经验,具体介绍构建一个基于 、方便小规模开发团队快速便捷地管理软件缺陷的缺陷管理 系统 的方法和步骤。 课题 的目的和意义 第 1章 引言 5 随着 发展,互联网彻底改变了人们的生活 以及 工作方式,越来越多的人喜欢通过网络来 工作。互联网解决了人员的地域障碍,可以实现人员之间 快速方便的交流。软件开发团队成员并不一定全部在一起工作交流,很多的团队成员是分散在各地的,这样团队的项目出现缺陷时,一个基于 缺陷管理 系统 是必须的。由 于团队的规模各异,要求也变化不一,很难在短的时间内完成一个满足所有团队需要的管理 系统 ,所以本文讨论介绍的软件缺陷 系统 是定位于小规模开发团队,这样的团队可以是有固定成员的团队,也可以是通过网络认识组成的团队,更可以是因某一个目标临时组成的团队。以上描述的团队存在着组队规模灵活、成员分配角色多变、项目变化较频繁 、成员地理位置不确定等多方面的不确定 信息,本 系统 含有更多的 素,构建了一个较为开放的系统,可以方便实现的构建小组、创建自己的工程、根据用户状态添加人员等操作,本 系统 非常方便的解决了团队的组成问题,可 以方便团队成员顺利的完成缺陷管理,达到团队协作的目的。 本论文中提到的软件缺陷管理 系统 适用于小规模软件开发团队的使用 9。由于本 系统 是基于 以使用人员可以方便的通过 络使用本 系统 。本 系统 提供了项目创建管理、模块创建管理、软件缺陷创建管理、参与人员管理、缺陷总结分析等功能,能 满足团队开发过程中的基本 软件缺陷管理需求,并提供了相应的接口,方便 系统 功能添加,可以帮助小规模开发团队克服团队人员由于地理 位置 距离过大 而 不便交流的困难,方便团队人员在任何有 地方登陆系统进行 团队交流,保证团队的合作进度合理的进行。 题研究内容 本文以 某 软件管理中心 的需求 为背景,设计和开发了一个基于 构的软件缺陷管理系统。在系统的设计和开发过程中,我们采用了 个开源框架的基础上,并运用 发平台,采用灵活的B/ 具体的研究内容包括: 1. 通过 件管理中心 的业务需求进行分析和研究,并画出相关用例图。 2. 通过 对用例图的分析, 针对软件企业对于不同项目、不同种类的缺陷 ,能在管理系统内对应 拥有不同的缺陷处理流程的 分析,发现实现过程中出现的问题,并与 团队 进行进一步的沟通和研究。 同济大学 硕士学位论文 软件缺陷管理系统的设计与实现 6 3. 对 软件缺陷 管理系统进行总体的结构设计和功能设计。 该系统主要包括了用户操作模块、工程管理模块、缺陷管理流程模块三个功能模块,支持用户查询功能和缺陷统计功能 。 4. 对 软件缺陷管理系统 进行详细设计和开发,实现各模块的功能,然后集成各模块,并对系统进行调试。 文的组织结构 本文是以 了解 开源框架和 相关技术知识以及软件缺陷管理等基本流程,遵循软件工程中软件开发 的基本流程,分析软件开发过程及缺陷管理 系统 的功能需求,研究其设计和实现的技术和 方法。设计基于 统 的总体架构,使用 统 、结合 成系统的人员操作模块、项目操作模块、缺陷管理流程模块等三个主要功能模块的编写实现,并对所实现的部分进行测试和评价。 本文的组织结构如下: 第 1 章引言,主要介绍了课题的背景,意义和目的,以及 软件缺陷 管理系统 的发展现状。 第 2 章相关技术,主要介绍了系统在设计和开发过程中所涉及到的方法和技术。 第 3 章系统的 分析,主要是通过与 团队和用户 的 交流 ,从而获得 软件缺陷管理 系统的需求信息,并运用 用例图将需求分析可视化,进而使系统的拥有者,开发者 对系统有一个直观上的认识。 第 4 章系统的设计,在本章中,运用了时序图对系统的各个子功能进行了详细的 分析,并利用 三范式设计出了系统的数据库。 第 5 章系统的实现,主要是实现了 软件缺陷 管理 系统的功能,并对部分功能进行了 介绍。 第 6 章 系统 的 测试 , 主要是对各功能模块的具体测试,包括可用性测试和功能测试。 第 7章总 结 ,主要是对系统的设计与实现进行总结,并提出下一步的计划。 第 2章 相关技术 7 第 2 章 相关技术 ,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。 B/户机上只需配置少量的客户端 软件 。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由 际上 B/,由 务器单独组成一 层来负担其任务,这样客户机的压力减轻了,把负荷分配给了 务器。 图 层体系结构 采用该结构软件的优势在于: 1. 无须开发客户端软件,维护和升级方便; 2. 可跨平台操作,任何一台机器只要装有 可作为客户机来访问系统; 3. 具有良好的开放性和可扩充性; 4. 可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。 这种三层结构层与层之间相互独立,任何一层的改 变不影响其他层的功能。 三层 B/S 结构将应用的三个部分明确的分开:表示部分、应用逻辑部分、数据访问部分。这三个部分在逻辑上独立的分开,分别加以实现,称之为:客户端、应用服务器、数据库服务器。而在客户端和应用服务器之间加入一个 形成了一种特殊的 B/S 结构: 在客户端安装浏览器软件即可。客户端使用 ,就可以让 览器 务器 同济大学 硕士学位论文 软件缺陷管理系统的设计与实现 8 变成为能够处理数据的应用系统。 由于这种模式是提供一个跨平台的、简单一致的应用环境,实现了开发系统 与应用系统的分离,因此避免了为多重不同的操作系统开发同一应用系统的重复操作,便于用户群的扩展、变化以及应用系统的管理。 因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件开发中一种流行的体系结构 层分层结构 在软件体系架构的设计中,分层结构是最常见的,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,即:数据层,业务逻辑层和表示层。其中数据层,也称为持久层,其功能主要是负责数据库的访问。业务逻辑层是整个系统的核心,它与这个系统的业务逻辑有关。而表示 层则是系统的 责用户与整个系统的交互。 一个好的分层结构,可以使开发人员的分工更加明确,一旦定义好各个层次之间的接口,负责不同逻辑设计的开发人员就可以并行开发,互不影响。一个完善的三层结构的要求是:修改表示层而不用修改逻辑业务层,修改逻辑业务层而不用修改数据层。 因此一个完善的分层结构 可以降低层与层之间的依赖性,从而保证了系统未来的可扩展性与复用性。 但是,分层结构也不可避免的存在一些缺陷。一个非常重要的缺点是降低了系统的整体性能。即很多业务不能直接访问数据库,以获得相应的数据,而必须通过一个所谓的 中间层来完成这些操作。因此三层结构并不适用于一些对执行速度要求过于苛刻的系统。 而且 分层结构可能会导致级联修改 ,即 如果在表示层需要增加一个功能,为了保证其设计符合分层结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。 总之,任何一种开发模式或方法,都是有利有弊的。在设计和开发系统时,通过比较和权衡后,选择一个适合系统的模式是很重要的。 言 一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由司于 1995 年 5 月推出的 序设计 语言和 台(即 总称 10。 效性、平台移植性和安全性,广泛应用于个人 据中心、游戏控制台、科学 第 2章 相关技术 9 超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下, 具备了显著优势和广阔前景。 程语言的解释是: 程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 明显的优势 11。它具有平台无关性的特点;具有更高的安全性;具有现象对象的特点;具有面向分布的特点;并且具有更强的健壮性。 则 1. 言可以在不同的平台上运行。由于 言引进了虚拟机的原理,即它可以在虚拟机上运行,因此 言在不同的运行平台上都具有 口。 言的虚拟机的建立是在操作系统和硬件之上的,它的数据 类型是与机器无关的,又不它提供了不同平台的接口,因此用 言 编写的程序是可以在全世界共享的。 2. +语言类似的,但是C+语言是有指针的,且指针是对应存储器的地址而进行直接的操作的, +语 言
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025办公室装修的设计合同的主要内容
- 2025标准版房屋租赁合同样本下载
- 2025年度【YY村乡村振兴基础设施建设工程施工合同】
- 2025跨国商品交易合同协议
- 政策变动对公司战略的影响试题及答案
- 网络应用程序的试题及答案分析
- IT技术持续学习考核试题及答案
- 行政法学重点知识对比试题及答案
- 行政法在社会福利体系中的作用试题及答案
- 行政法学法律术语测验题及答案
- 试卷交接签字单
- 调压器技术规范
- 学校生均占地面积
- 《康复医学》第四章 常见疾病的康复 第二节 肿瘤康复课件
- 2016年度高考全国3卷文综地理试题(解析版)
- SIPOC培训教材学习教案
- 2019年重庆江津小升初数学真题及答案
- 《菱形的判定》教学设计(共3页)
- 配电箱系统图
- 电缆井工程量计算
- 初中音乐--人声的分类--(1)pptppt课件
评论
0/150
提交评论