缺陷跟踪管理系统毕业设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
缺陷跟踪管理系统在现代软件开发中已经占据了很重要的位置,每一个软件组织都知道必须妥善处理软件中的缺陷,这是关系到软件组织生存、发展的质量根本。
从系统考虑,应将缺陷跟踪管理纳入到项目管理信息系统之中,成为项目管理信息系统的一个子系统。
整个系统分为管理员和项目参与者,测试人员和技术人员,每一个成员都有各自的任务;管理员完成功能:用户操作、项目成员操作、缺陷类别管理、缺陷状态管理﹑修改密码;项目经理完成功能:用户操作、缺陷操作、缺陷类别管理、缺陷状态管理、本人信息;测试员完成功能:用户操作、缺陷操作、缺陷类别管理、缺陷状态管理;我主要负责登陆界面和管理员的部分。
本文的侧重点放在了讨论这个程序的需求分析、设计、实现及所用到的项目管理知识。
借着实现这个简单的缺陷跟踪系统,探讨了个人软件开发过程当中遇到的各种问题,以及解决它们的方法,展示了个人软件开发的一般过程。
内容琐碎,难免会牵扯到当前流行的各种编程技术的细节。
关键词:缺陷;跟踪;项目管理
word文档可自由复制编辑
Abstract
Defect Tracking Management System in the modern software development has occupied a very important position, each software organization must properly deal with all know that defects in software, which is related to the survival of organizations to develop the quality of the fundamental.
Considered from the software system, software defect tracking management should be incorporated into the project management information systems, project management information system to become a sub-system. The whole system is divided into project managers and participants, testing staff and technical staff, each member of their respective mandates; administrator to complete functions: user management, role management, and defect type of management, state management shortcomings, project management, change password ; the completion of the project manager features: users management, defect management, modify your password; testing personnel functions: add defects; technical personnel complete the function: See defect, modify defects; my main interface and the administrator in charge of landing the part.
This article focuses on the discussion of this process needs analysis, design, implementation and use of the Project Management Body of Knowledge. With the realization of this simple defect tracking system, discusses the software development process of the individual problems that may arise, as well as ways to solve them, demonstrated the development of personal software process in general. Content trivial, inevitably involves a variety of popular programming details.
Keywords: Defects; Tracking; Project management
word文档可自由复制编辑
目录
摘要 (I)
Abstract (II)
1 绪论 (1)
1.1 开发背景 (1)
1.1.1 什么是缺陷 (1)
1.1.2缺陷管理的目标 (1)
1.1.3一般流程 (1)
1.1.4缺陷跟踪系统的现状 (1)
1.2 开发工具介绍 (2)
2 可行性分析 (4)
2.1可行性研究 (4)
2.1.1可靠性分析 (4)
2.1.2 可行性分析 (4)
2.1.3 技术可行性 (5)
2.1.4 经济可行性 (5)
2.1.5 运行可行性 (5)
3 需求分析与系统分析 (6)
3.1需求分析 (6)
3.2 系统分析 (6)
3.2.1系统总体设计 (6)
3.3系统的运行环境 (9)
4 数据库设计 (10)
4.1 Access数据库简介 (10)
4.2 SQL语言简述 (12)
4.3 系统中数据库的设计 (13)
4.3.1 系统的E-R图 (14)
4.3.2 建立表结构 (16)
5 设计界面及部分代码 (19)
5.1 设计思想和原则 (19)
word文档可自由复制编辑
5.2 详细设计及编写部分代码 (19)
5.2.1登录界面 (19)
5.2.2 用户操作模块 (21)
5.2.3 项目成员操作模块 (24)
5.2.4 缺陷类别管理模块 (26)
5.2.5缺陷状态管理模块 (28)
5.2.6修改密码模块 (29)
6 软件测试与分析报告 (31)
6.1 软件测试的目的和原则 (31)
6.1.1测试目的 (31)
6.1.2 测试原则 (31)
6.2 软件测试的内容 (31)
6.3系统测试 (32)
6.3.1具体测试步骤 (32)
6.3.2 主要测试方法介绍 (32)
6.3.3系统测试出现的错误 (33)
6.4测试范围与主要内容 (34)
6.5测试报告 (34)
结论 (35)
致谢 (36)
参考文献 (37)
附录 (38)
word文档可自由复制编辑
1绪论
1.1开发背景
1.1.1什么是缺陷
缺陷是软件开发中的副产品。
通常,缺陷也会导致软件在某种程度上不满足用户的需要。
缺陷能够引起软件运行时产生的一种不希望或不可接受的外部行为结果。
但究竟什么缺陷?可能有人认为缺陷就是BUG,但这是不准确的。
简单的说,缺陷就是:不满足用户确定的需求;软件使用当中出现的问题;不符合设计要求。
而BUG是程序代码当中的错误。
1.1.2缺陷管理的目标
对缺陷的管理一般而言需要达到以下目标:
⑴确保被发现的缺陷能够被解决;这里解决的意思不一定是被修正,也可能是其他处理方式(例如,在下一个版本中修正或是不修正),总之,对每个被发现的BUG的处理方式必须能够在开发组织中达到一致;
⑵收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段;决定测试过程是否结束有很多种方式,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式;
⑶收集缺陷数据并在其上进行数据分析,作为组织的过程财富。
1.1.3一般流程
缺陷信息提交后,会进行分配,进入待修正状态。
通常情况下,被分配的开发人员会负责对它进行修复。
然后由测试人员进行验证,验证通过后就会被关闭。
如果没有通过验证,就会交给开发人员进行修复。
但开发人员基于某种原因或理由,也可能会拒绝修改,这时会交给评审委员会进行评审,如果通过评审,则这个缺陷会被关闭,否则开发人员还是要继续进行修复。
1.1.4缺陷跟踪系统的现状
word文档可自由复制编辑
软件缺陷跟踪对于保证软件质量的重要作用目前已经被大多数软件组织所接受。
在上,几乎每一个比较受欢迎的开源项目,都有十分完备的缺陷追踪记录。
目前比较著名的商业缺陷跟踪软件有Compuware公司的TrackRecord。
开源软件有Mozilla的Bugzilla。
在国内,大家最熟悉的可能就是BugFree了。
BugFree的作者原是微软的一名员工。
在微软时他就对微软的内部缺陷管理软件Raid十分佩服。
他认为,遍布全球的微软员工之所以会保持一致的思维模式和做事习惯,与整个研发流程的配套工具密不可分。
而其中最重要的就是通过Raid把整个产品的研发有机地联系起来。
阅读每个Bug,你可以详细地看到大家讨论解决该问题的完整思路。
他引用Project 2002的Architect的一句话说:“Raid是微软最伟大的产品,为Bill Gates节省了无数金钱”。
1.2开发环境介绍
至于前台应用程序开发工具,常见的有Visual Studio、Delphi、Power Builder、Visual C++,、Visual Basic等,其中是Microsoft公司最新推出基于.NET框架的新一代网络编程语言,也是目前最新的Web技术之一。
是建立在公共语言运行库上的编程框架,可用于服务器上生成功能强大的Web程序,在中程序代码与页面可以完全剥离,使用Web Control,不再区分客户端或服务器端程序,可以直接进行数据交换,用Visual Studio可以方便的调试和跟踪,支持C#和VB语言,支持面向对象编程,可利用早期绑定,实时编译、本机优化和缓存服务,这相当于在编写代码之前便显著提高了性能。
是建立在通用语言运行时刻库(CLR)上的应用程序框架。
他用来在服务器端构建功能强大的web应用程序。
提供了几个超越以前web开发模式的优点:
⑴增强的性能。
是运行在服务器端的编译后的CLR代码,而不是像ASP 那样解释执行。
利用提前绑定,即时编译,本地优化和缓存服务来提高性能。
所有这一切,性能远远大于你以往写的每一行代码。
⑵世界级水平的开发工具支持。
在Visual Studio .net的集成开发环境(IDE)中,框架由丰富的工具箱和设计器组成。
所见即所得的(WYSIWYG)编辑方式、拖放服务器控件、以及自动部署,仅仅是这一强大工具所提供的一少部分功能。
⑶强大而富有弹性。
由于是基于(CLR)的,因此整个.net平台的强大和富有弹性,同样可以应用于web应用程序开发者。
.net框架的类库、消息以及数据访问解决方案,都可以无缝集成到web。
也是语言中立的,因此你可以选择你最熟悉
word文档可自由复制编辑
的语言,或者通过几种语言来共同完成一个应用。
而且,CLR的互用性可以保证你升级到的时候,现存的基于COM的开发投资依然保留。
⑷简单。
使执行常用的工作变得很容易,比如从简单的表单提交、客户端验证,到部署和站点配置。
例如,允许你建立用户接口,实现页面和逻辑代码的分离,同时,就像vb的表单执行模式那样来处理事件(也就是说,由页面驱动模式变成了事件驱动模式)。
此外,CLR简化了部署,用来管理代码服务,例如自动参照和垃圾回收。
⑸易于管理。
使用一个基于文本的、分层次的配置系统,它简化了服务器端环境和web应用程序的设置。
由于配置信息用纯文本格式保存,新的设置不需要本地管理工具的支持。
这种“零本地支持”的理念也同样应用到了部署应用程序。
应用程序部署到服务器,简化为复制必要的文件到服务器。
在部署,甚至替换正在运行的变异代码的时候,也不需要重新启动服务器。
⑹可伸缩性和有效利用性。
被设计成可伸缩的,能为集群和多处理器环境设计提高性能。
而且,运行时刻密切监视和管理进程,这样,如果发生了错误的行为,例如漏洞和死锁,新的进程会在当前位置建立,来帮助你的应用程序继续处理事件请求。
⑺可订制和扩展。
提供一种良好的扩充结构,允许开发者在适当的级别“插入”他们的代码。
事实上,使用自己的编写的组件可以扩展或者替换运行时刻的任何子组件。
执行自定义验证或状态服务变得前所未有的容易。
⑻安全性。
内建的windows验证和每一个应用程序的独立配置,你可以认为你的应用程序是安全的。
小结
本章对开发背景及开发环境做了详细的介绍,首先介绍了什么是缺陷,缺陷管理的目标及现状,另外还介绍了本系统的一般流程,其次还介绍了开发环境—,这样就为开展本系统做好了前期准备工作。
word文档可自由复制编辑
2 可行性分析
2.1可行性研究
2.1.1可靠性分析
可靠性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。
2.1.2可行性分析
可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。
可行性分析阶段的主要工作包括以下几个方面:
⑴新系统目标可行性分析:
分析新系统的目标是否符合的现状和发展的需要。
⑵社会可行性分析:
社会可行性分析主要是指管理信息系统的开发是否符合国家法律、下策,是否能够与社会大系统实现良好的对接。
⑶技术可行性分析:
技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。
⑷经济可行性分析:
经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给带来一定的经济效益。
⑸管理可行性分析:
管理可行性分析主要是分析现行的管理体制和领导是否具有现代化的管理意识和管理水平。
word文档可自由复制编辑
可行性研究的输入信息是系统的一个框架描述和系统将如何在机构中使用的说明信息。
它指明现有的软件,硬件技术能否实现用户对新系统的要求。
从业务角度来决定系统开发是否划算以及在预算范围内能否开发出来。
可行性研究是比较便宜和省时的。
结果就是要得出结论,该系统是否值得进行更细致的分析。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
本系统的可行性分析包括以技术可行性,经济可行性和运行可行性3个方面的内容。
2.1.3技术可行性
技术可行性是指根据任务书提出的系统功能、性能及实现系统的各项约束条件,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应基本可以达到该系统的功能目标。
同时,鉴于系统开发期较短,预计系统大部分功能可以在预定的时间内完成,部分功能。
2.1.4经济可行性
经济可行性是指估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的少部分效益,估算开发成本不会高于项目预期的全部经费。
并且,分析系统开发不会对其它产品或利润带来影响。
当收益达到一定时,系统将会开源。
估算新程序的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新程序将获得的效益,估算开发成本不会高于项目预期的全部经费。
并且,程序开发一定会对其它产品或利润带来一定影响。
2.1.5运行可行性
运行可行性是指新系统的研制和开发充分考虑到所使用的人群主要有一定计算机能力的学生,和有一定维护经验的系统管理员,新程序的研制和开发考虑工作人员对程序操作易,效率高。
完全满足使用者的要求。
小结
本章对本系统的可行性进行了分析,从可靠性分析、技术可行性、经济可行性和运行可行性等方面进行了分析,得到的结果是本系统可以进行研发的,我们也将尽自己最大的能力来完善系统。
word文档可自由复制编辑
3系统分析
3.1 需求分析
系统分析是开发管理信息系统的关键性阶段,是一个从不断认识和逐步细化的过程,是下一阶段的工作基础,是为下一阶段进行物理方案设计、解决“怎么做”提供依据,基关键性主要体现在“理解需求”和“表达需求”两方面。
通过对现行系统的详细调研,主要是从系统的角度理解用户的需要,确定新系统的综合要求,并提出这些需求的实现条件以及需求应达到的标准,也就是确定新系统要做什么,做到什么程度。
这些需求包括:
⑴功能需求。
确定新系统应做什么,这是最主要的需求。
⑵性能需求。
给出所开发的新系统的技术性能指标,包括存储容量限制、运行时间限制、安全保密性等。
⑶环境需求。
这是对系统运行以及所处环境的要求。
例如,在硬件方面采用什么机型、有什么硬件设备等;在软件方面,采用什么支持系统运行的系统软件(指操作系统、数据库管理系统)。
⑷未来需求。
这类要求是指目前不属于系统开发的范围,但将来随着外界环境的变化以及系统的发展可能会提出的要求。
了解这类要求的目的是在开发过程中,可对系统将来可能的扩展与修改做准备。
一旦需要时,就比较容易进行补充和修改了。
3.2.系统分析
3.2.1系统总体设计
通过广泛的原型接受性测试,界面风格以及交互方式得到了确认。
下列地方进行了更改:缺陷搜索的地方去掉了针对修复者的搜索条件。
因为修复者可以通过Email获知自己应修复的错误的ID号。
不需要通过这个查询页面来找。
而用户更是不需要知道哪个修复者修复的缺陷。
他只关心这个缺陷是否被修复了。
用户更改及添加页面添加了用户Email一栏。
经过以上分析,本系统的总体设计模块图如下图3-1所示,流程图如下图3-2所示
word文档可自由复制编辑
图3-1 系统总体模块图
缺陷跟踪管理系统:由管理员、项目经理、和技术人员组成。
其中管理员完成功能:用户操作、项目成员操作、缺陷类别管理、缺陷状态管理、修改密码。
项目经理完成功能:用户操作、缺陷操作、缺陷类别管理、缺陷状态管理、本人信息。
测试员完成功能:用户操作、缺陷操作﹑缺陷类别管理、缺陷状态管理。
每一个功能都有各自的细节设计,详细设计见第5章的总体设计。
每一个系统都有自己流程图,本系统也不例外,下面为本系统的总流程图,如图3-2所示。
图3-2 系统流程图
3.3系统的运行环境
在不适当配置的情况下,系统的性能往往不尽如人意,但现在的硬件性能已经相当出色,而且价格也很便宜,因此,为了更好的完善系统我们通常给服务器端配置高性能硬件。
系统需求:
操作系统:Windows 7
CPU:赛扬1G以上;推荐:奔腾1G以上
内存:256MB;推荐:512MB
网卡:100Mb 自适应网卡,推荐:D-link 530 TX或1000Mb网卡
硬盘:普通硬盘,推荐:7200转
声/显卡主板均可集成推荐:INTEL815及815以上芯片组
小结
本章对本系统的需求进行了分析,系统分析,并且给出了系统功能图和系统流程图,也对系统需求做了最低配置的建议,这对整个系统要完成的功能上有了轮廓的概念,并对本系统的运行环境做了介绍。
4 数据库设计
信息技术是21世纪最有发展潜力的技术之一,通信和信息已成为信息技术的核心。
而数据库技术是所有信息技术的基础,它可以存放大量的信息并提供迅速、简便、高效的查询手段,因而显示出数据库技术的关键地位。
数据库系统生存周期指数据库应用系统从开始规划、设计、实现、测试、运行中的维护到最后被新的系统取代而停止使用的整个阶段。
对于软件系统,数据基本上都是使用数据库进行管理。
一个成功的信息管理、处理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。
数据库设计是对保存管理系统数据的数据库结构进行设计,对整个系统的开发具有非常重要的作用。
4.1 Access数据库简介
在办公软件Office套件中,最为广大用户熟悉的是Word和Excel,因为它们功能强大且方便易用,更因为它们不仅可用于办公,还可用于个人写作和家庭记帐理财等。
同为Office套件中一部分的Access,虽然有着同样强大的功能,但使用的人却相对少些,不像Word和Excel那样广泛。
事实上,真正用过Access 的用户,才能真正体会到其强大的功能和灵活应用。
Access 数据库管理系统是Microsoft Office 套件的重要组成部分,是Access的最新版本,可在Windows 95环境下运行。
Access适用于小型商务活动,用以存贮和管理商务活动所需要的数据。
Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。
⑴什么是Access 数据库
数据库是有结构的数据集合,它与一般的数据文件不同(其中的数据是无结构的),是一串文字或数字流。
数据库中的数据可以是文字、图像、声音等。
Microsoft Access是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。
表与表之间可以建立关系(或称关联、连接),以便查询相关联的信息。
Access数据库以文件形式保存,文件的扩展名是MDB。
⑵ Access 2000系统概述
Access 2000是Microsoft强大的桌面数据库平台的第六代产品,是32位Access的第三个版本。
Microsoft Access及其Jet数据库引擎可以说主宰着整个桌面数据库市场。
JesseBerst是ZDNet的专栏作家、“Windows Watcher”时事通讯的前任编辑,他在1998年初写到:“Corel公司的Paradox的末日来临了。
也不会有人再用dBases编程了。
Microsoft的Access已经完全占领了这个市场”。
Berst忘记了提及Microsoft自己的FoxPro数据库,它虽然有许多忠实的开发人员和用户,但已经变为一种小范围使用的产品。
在全世界使用的Access 拷贝有上千万份,其应用领域从处方分类和CD收藏到Internet上的电子贸易,可谓无所不包。
注意从使用术语“用户”来指数据库应用的消费者可以推断出数据库开发人员相当于“作家”。
Access的成功大部分可以归结于将之包含在Microsoft Office专业版之中的策略。
Access各个版本变得与其它Office成员集成得越来越紧密。
Office 2000的所有成员和Visual Basic 6.0现在共享的是同样的Visual Basic for Applications(VBA)版本6.0。
Access 2000最后采纳了Office 2000 VBA编辑器(也叫做集成开发环境或者IDE)用于编写VBA代码来自动操作Access应用。
不论好坏,Access 2000还共享了Office 2000新的超文本标记语言(HTML)帮助系统。
注意其它Office成员使用术语“宏”来指用于自动化常见操作或者创建自包含应用的VBA代码。
Access有它自己的宏语言,并且与VBA差别极大,在功能上也要弱一些。
Access宏已经过时了;Access 2000保留宏能力只是为了和以前的版本保持向后兼容。
无法保证在将来的Access版本中能够继续对宏提供支持的提高,它们不太可能对Access用户或者开发人员产生什么重大影响。
总之,Access作为一个数据库管理系统,它被集成在Microsoft Office中。
Access数据库处理的基本结构采取关系型数据库模式,与其他的数据库系统相比,Access更加简单易学,一个普通的计算机用户可以很快地掌握它。
Access 2000的功能十分强大,有完善地管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能。
利用它可以方便地实现对信息保存、维护、查询、统计、打印、交流、发布,而且它可以十分方便地与Office其他组件交流数据,这些功能对一个一般用户而言已经足够了。
关系型数据库的实现:采用Access为开发工具,Access数据库在计算机上的应用比较普及,是开发小型数据库系统的比较理想的选择,所以,在本系统中我选择了Access数据库。
⑶ Access 的6种对象
Access 数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。
表(Table) ——表是数据库的基本对象,是创建其他5种对象的基础。
表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。
还可以创建子窗体显示相关联的表的内容。
窗体也称表单。
报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操作。
Access 列出了一些常用的操作供用户选择,使用起来十分方便。
模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。
模块使用Visual Basic编程。
4.2 SQL语言简介
SQL全称是“结构化查询语言(Structured Query Language),最早是IBM 的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。
SQL语言结构简洁,功能强大,简单易学,所以自从IBM 公司1981年推出以来,SQL语言得到了广泛的应用。
目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用,如Oracle 、Sybase、DB、Informix和SQL Server,这些数据库管理系统都支持SQL语言作为查询语言。
结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。
在SQL语言中不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。
⑴ SQL发展历程
SQL语言是1974年提出的,由于它功能丰富、使用方式灵活、语言简洁易学等突出优点,在计算机工业界和计算机用户中倍受欢迎。
1986年10月,美国国家标准局(ANSI)的数据库委员会批准了SQL作为关系数据库语言的美国标准。
1987年6月国际标准化组织(ISO)将其采纳为国际标准。
这个标准也称为。