软件需求管理工具的研究和设计(可编辑).doc
《软件需求管理工具的研究和设计(可编辑).doc》由会员分享,可在线阅读,更多相关《软件需求管理工具的研究和设计(可编辑).doc(48页珍藏版)》请在三一办公上搜索。
1、软件需求管理工具的研究和设计 山东大学硕士学位论文软件需求管理工具的研究和设计姓名:张慧珍申请学位级别:硕士专业:软件工程指导教师:赵合计20050312山东大学硕士学位论文摘要需求,是项目初始估计和初始计划的基础,同时也是产品开发和产品验证的基础,整个开发活动都要围绕它来进行,一个项目成功与否往往取决于它是否符合需求。根据 证实,从到年的导致项目失败的最重要的原因与需求有关。焉求管理,简单地说,就是记录并管理需求、跟踪需求变更,其目的是在客户和解决客户需求的软件项目之间,建立对客户需求的共同理解,并形成评估、计划、实簏和跟踪整个软件生命周期中软件项目活动的基础。它在国际质量标准?和删中具有重
2、要的位置.在本文中,“需求管理”指的是需求工程中的所有活动,它包含了一般意义上的需求开发和需求管理阶段,涵盖了需求获取、需求分析、需求变更、需求跟踪等所有过程.要解决需求管理过程中的问题,使用需求管理工具是一个很好的途径。在本文中简要介绍了需求的两种生命周期模型模型和模型,并在这两种模型的基础上,摒弃它们的缺点,提出了一种以基线为中心的进程迭代的需求生命周期模型,基于这种生命周期模型设计实现了需求管理工具。该工具具有与需求生命周期紧密结合的业务流程,对需求生命周期中的属性进行跟踪和管理;并且在管理需求的变更时围绕需求基线进行,使变更变得可控;能够层次性的获取业务需求、用户需求和功能需求,并形成
3、需求跟踪链。而在技术方面由于软件开发中需求的内容丰富,格式多样,不仅有文本信息,还有图片、表格等非文本信息。为了管理这些信息,该工具采用了数据库中的类型的字段来保存这毡信息.在实现需求跟踪时,为了处理需求和原始需求、设计、实现、测试等过程的复杂关系,工具采用了以需求为中心,其他文档均看作是需求的扩展文档的方法。需求中包含其他文档的编号作为索引,并在数据库中使用一个关联关系表来表示需求和其他扩展文档的关联关系,两者之间可以根据编号相互查找,从而达到双向跟踪的目的.本文的第五章详细论述了该工具的设计和实现内容,其中对需求管理模块傲了重点阐述,这个模块包含了管理流程的各个阶段:从需求获取到需求发布,
4、以及之后的需求跟踪,它与文中所述的需求管理理论是相对应的。最后是对该工具进行测试的简单说明。需求基线、生命周期模型关键词: 需求管理、需求变更、伽、第页山东大学硕士学位论文 .,., . , , ,. ? ,“.” , ,., ,. , .?, . , ., ., , ., , , . ,., , 第页山东大学硕士学位论文。 . , ., , .,. .,.:。埘,第页原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体己经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明
5、确方式标明。本声明的法律责任由本人承担。论文作者签名:蟛日期:?当止关于学位论文使用授权的声明本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。保密论文在解密后应遵守此规定论文作者签名:丝:辩师签名:论文作者签名:必师签名:山东大学硕士学位论文第一章序言.背景.需求管理在软件开发中的必要性随着计算机技术的发展,社会对软件的需求量日益增大,而软件的开发完全依赖于人工,致使软件开发成本费不
6、断上涨,在美国软件成本约占计算机系统总成本的%,已成为司空见惯的现象。由于软件是逻辑、智力产品,盲目增加软件开发人员并不能成比例地提高软件开发能力。相反,随着人员数量的增加,人员的组织、协调、通信、培训和管理方面的问题将更为严重。人们在大型软件项目开发面前显得力不从心.在年月的财富杂志的标题是。软件所带来的麻烦?令人讨厌”【】,业界知名人士 的这篇文章痛责了软件的低质量与低可靠性;知名的市场研究公司在他们的报告中提供了更加清楚的说明。特刹是,根据的调查超过个公司的多个软件项目发现:夺%的软件项目在完成之前被取消浪费了亿%的项目超出预算的项目按时且在预算内大公司%的项目按时且在预算内小公司为了更
7、深入地了解问题所在, 的调查也包括了对引起这些失败的原因的问答.根据调查的结果,对项目造成“伤害”的三个最重要的原因如下表所示:嚣回筏鬣滋乏磊乏:、:鬈兰。黠埂层造成旅餐哟豢滋瑟燮譬:鬣.%缺乏用户参与.%不完整的需求与规范.%需求与规范的变更表. 对项目造成伤害的因素需求错误是在复杂的软件项目中所发现的最大的错误种类.所研究的美国空军项目显示,根据错误的来源划分,需求错误是所发现错误%的来源,而逻辑设计错误仅占整个错误的%】,如图.所示.第页山东大学硕士学位论文圈,在软件生命周期的需求阶段发现错图,美霉空军项目的错误根源误比在维护阶段发现错误可以节约的成本比是:其它研究也证实了这一点,例如与
8、,引用 的报告显示%的缺陷可以追踪到需求阶段【.蝴而同时对需求阶段产生的错误进行修复是非常昂贵的。根据的研究显示,的报告指出大约%的项目预算花在了返工上口。的报告指出返工的花销可以占大型软件项目的%。因为它们数目大并且会造成多方面的影响,发现与改正需求错误要耗费%的返工费用。,与脒的研究得出了在项目生命周期的不同阶段发生错误的代价嘲,这些统计再次证明了早期的研究川.虽然这些研究是独立进行的.但是他们都几乎得出了相同的结论:在需求阶段消除错误可以大大节约成本。图.?是这些研究成果的总结碍。丽根据 最近一次从正面进行的导致项目成功的调查发现,促使项目成功的%的原因与需求管理有关。因此。进行有效的需
9、求管理,可以减少软件开发中的需求错误,从而可以大大降低开发成本,缩短开发周期,促进项目成功。而引入新的管理工具和方法是解决需求问题的关键。.现有需求管理工具的局限性需求管理在国外是非常受重视的,到目前为止,已出现了一批很优秀的商业化的需求管理工具软件.其中比较有代表性的是,等。最新的是由公司推出的,适用于操作系统。具有良好的需求管理能力和集成扩展性;它以数据库的形式管理需求工作产品;提供和整合,支持多种格式的文件的导入导出。第页山东大学硕士学位论文是由公司推出的以数据库为中心的需求管理工具,适用于和操作系统;支持多种文件格式与数据库的导入和导出.是由公司推出的强有力的需求管理工具,适用于操作系
10、统;它是以文档为核心管理需求工作产品的,不支持以形式存储的需求导入到数据库中的功能,同样也不支持非文本对象,如或文件与数据库的合并【硼。这些工具的基本功能比较相似,需求使用唯一的标号进行标识,需求之间的关系以及与软件开发生命周期其它阶段的实体的关联都是通过手工建立,工具提供了强大的查询、跟踪和管理功能.这些工具基本上都已完成了需求管理的功能,但还存在下列局限性:.由于经济和文化等方面的原因,难以适应国内企业和单位的要求;如除了入门级的,其他需求管理工具价格都很高,很多想规范需求管理的中小型公司考虑到成本太高而放弃,一套工具大概需要两万美元:同时这些工具对国内用户来说,界面不友好,操作也比较复杂
11、【埘.在软件开发中,需求变化频繁,这些工具对需求变更的支持较少。.工具本身未嵌入需求管理过程和准则,中小型企业不能快速她实施规范化的需求管理。.对于整个需求的管理,采取被动的方式即用户自身去寻找相应的管理工作【】.而到目前为止,国内软件企业对需求管理重要性的认识还不够,很多都还只是处于理论研究的阶段,还没有真正形成产品的需求管理工具。所以构建一个适合国内应用的需求管理工具是必要的。.本文研究内容本文是关于软件需求管理工具的研究和设计,该工具是在符合现有的需求管理理论和借鉴国外现有需求管理工具的基础上构建的以下为了叙述方便把该需求管理工具简称为系统.它的设计体现了整个需求管理所经历的阶段,同时具
12、有下列特点:获取业务需求、用户需求、功能需求等不同层次的需求,并形成需求和其他开发元素之间的需求跟踪链.系统提供需求生命周期中的全程管理和跟踪,并提供典型的项目开发第页山东大学硕士学位论文架构,有利于中小型企业迅速建立可控的、文档化和规范化的需求管理过程。需求变更的管理,采用了严格的需求变更评审,并使用基线管理需求版本,使需求变更达到可控的状态。在需求管理的过程中,各种需求管理任务将随着需求状态的变更沿着需求的生命周期主动进入该周期责任人的工作区,从而提高了工作效率。具有良好的用户界面友好性.本文的结构本文共分六章:第一章序言。介绍了随着软件工程的发展,在软件开发中进行需求管理的必要性;国外在
13、管理需求方面所提供的工具的特点及局限性,提出了本文的目标?构建软件需求管理工具。第二章论述了需求管理相关的理论,首先介绍了需求管理的概念,继而对和姗中关于软件需求管理的内容作了较为详细的描述。第三章详细论述了需求管理中各个阶段的任务、目标和方法。第四章是从技术架构和功能架构两方面简要介绍了系统的总体设计,并论述了本文需要解决的关键技术问题。第五章对系统的设计和实现作了详细描述。分析了和两种生命周期模型,并在此基础上提出了一个改进的需求生命周期模型:以基线为中心支持进程迭代的生命周期模型,并围绕该模型对系统进行了详细的论述。该系统主要分为项目管理、人员管理、角色管理、基线管理、需求管理、统计查询
14、等部分,关于系统的这些模块重点进行介绍。第六章对系统的测试进行了简单的说明。列出了系统主要的测试功能点和相关的用例。最后是对本文的总结。第页山东大学硕士学位论文第二章需求管理相关理论.需求管理概述.软件需求软件需求管理的对象是软件需求,在过去几年有许多软件需求的定义涌现出来.电气和电子工程师学会使用的需求定义为【:用户解决问题或达成目标所需的条件或能力.系统或系统的部分满足合同、标准、规格或其它必须遵循的正式文档必须适用的条件和必须拥有的能力.上两条中的条件或能力,文档化的表现形式。把需求定义为。正在构建的系统必须符合的条件或具备的功能”;删定义中需求是指和客户一起建立并不断更新的对各项软件工
15、作所达成的协议;在本文中我们认为需求是系统或软件必须达到的目标和能力.和著名的需求工程设计师 .提出了一伞包容且更为精练的定义,它特指软件方面?但不仅仅限于软件.“软件需求可定义为:用户解决某一闯题或达到某一目标所需的软件功能。系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能.一软件需求是“软件开发中指观必须实现什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束”.软件需求包括三个不同层次的需求?业务需求、用户需求和功能需求【.夺业务需求反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明.夺用户需求
16、描述了用户使用产品必须要完成的任务,这在使用用例 文档或方案脚本中予以说明.功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求.第,页山东大学硕士学位论文.需求工程和需求管理从现代软件工程的角度来看,需求工程领域可以分为需求开发和需求管理两个部分旧,或者说需求工程就是一个开发需求和管理需求的过程,如图所示.需求工程是软件工程的子领域,是一门分析并记录软件需求的学图.需求工程内容科,它不断反复的进行需求定义、文档记录和需求的演进,并最终在验证的基础上冻结需求.在需求工程中需求是作为一个贯穿整个软件产品生命周期的对象进行设计、跟踪和管理的。.需求开发本文中我们将
17、需求开发简单的分为需求获取和需求分析阶段,需求规约和需求验证蕴含其中.需求获取是需求工程最前端的活动,获取需求的方法和技术是多种多样的,可以分为物理方法、概念方法两个层次.物理方法指系统分析员与风险承担人之间的信息交流方式,例如问卷或面谈等。概念方法指那些指导上述交流中内容、模式和步骤的参考模型,例如场景分析或目标分析等。需求分析对需求获取阶段确定的系统边界和原始需求进行冲突分析、建模、规约并验证。简单的说,就是依据某种建模方式对原始需求进行整理并文档化【“】.需求管理需求管理需要“建立并维护在软件工程中同客户达成的契约”,所以需求管理关注的问题是对已经达成共识的需求进行管理,支持系统的需求演
18、进椰。它是对系统需求进行引入、组织和文档化的一种系统化的方法与步骤,在客户和实现客户需求的软件项目之间达成共识,以便更好地控制分配的需求,为软件工程和管理建立基线,同时保证软件计划、产品和管理活动能与分配的需求保持一致.需求管理将贯穿整个需求过程,它能够确证;我们确知客户的器求是什么质量夺满足客户需求的最佳解决办法统性目前需求管理主要包括:需求确认.在需求得到顾客和开发人员的共同认可后,定义需求基线.需求变更的管理.由于需求可能处于不停的改变状态之中,所以要根据需求跟踪信息,采用统一的变更控制方法,对变更进行控制。并且第页山东大学硕士学位论文以可控制的方式将需求变更融入项目中,变更管理是需求管
19、理的关键。需求的评审.评审提出的需求变更、评估每项变更的可能影响从而决定是否实施它.需求跟踪。将每项需求与其对应的设计、源代码和测试用例等联系起来,在整个项目过程中跟踪需求状态及其变更情况,保证在整个项目的生命周期中所有需求的实现,便于分析需求变更产生的影响【阍.本文以后将采用“需求管理”这个词.它比需求工程更适合用来描述所有涉及到的活动,并且还准确地强调了追踪变更以保持涉众与项目团队之间共识的重要性.因此本文中历论述的需求管理是涵盖整个需求工程中的所有过程领域的。. 中的需求管理标准是旨在全面覆盖国内外所有的贸易进程活动的标准体系.但是,它不可能涵盖到具体的区域唧.是一系列质量管理和质量保证
20、的国际标准,由个质量标准组成,其中是软件开发维护的标准,包含了许多规格说明,重点在于使用有效的需求管理进程来控制和提高产品或服务的质量。它给企业的质量管理提供了一个宏观的框架。中没有明确的提出需求管理的概念,但是对需求管理的要求隐藏在条文.与顾客有关的过程中,包括产品有关要求的确定、产品要求的评审和顾客的沟通等【阚.在这些文档中,包含了许多规格说明,重点在于使用有效的需求管理进程来控制和提高产品或服务的质量。标准强调应用需求管理,特别是它要求:建立需求的责任分配给各个小组的成员建立同意和批准对需求变更的方法和过程夺尽量避免对需求的误解建立过程,对需求讨论的结果进行记录和复审还规定,在通常发生技
21、术设计和编程的项目开发阶段的输入应该被定义和建档。这些“输入”当然是需求,指定,必须定义需求,以便于验证是否达到。它还提倡利用过程来确保以一种有序风格解决不完整,有歧义或冲突的需求。但是指出了要做什么,但是没有说明如何做的闯题。第页山东大学硕士学位论文总之,在开发工作的开始就强调需求,是为了确定技术设计和开发工作是以有序的风格在进行着。机构才更可能生产出满足规格说明或者需求的系统,而不是在生命周期的结束时刻依赖疯狂的测试和确定行为来保证质量.删中的需求管理伽是能力成熟度模型的缩写。该模型是 一?袁国卡内基梅隆大学软件工程研究院于年提出的一种软件生产和质量保证的模式嗍.在中,需求是一个活的实体,
22、处于应用系统开发的最核心.整个的指导方针是,所有活动、规划、 .改进和软件工作产品都将根据分分配需求配给软件的需求一致地进行必要 的开发和修改.并且姗进一步苎塑兰皇相应过程指出,需求应该被管理和控制嗍?眄孬:;日.变更在级中需求管理是首要 ?一需求变更关键过程领域,是软件开发基线评审?一变更 .【.一活动中不可或缺的组成部分。变更评审把需求管理过程区域总结为:需厅主;嗣求管理的目的是在客户以及客户。? 伽中需求管理过程定义【需求的软件团队之间建立共同的理解。即是在客户和开发机构之间建立一个共识,形成软件工程所必需的管理基线,从而对需求实施有效的控制.在软件开发活动中,所有活动计划、日程安排、交
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 管理工具 研究 设计 编辑

链接地址:https://www.31ppt.com/p-3799371.html