版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件需求管理工具的研究和设计 山东大学硕士学位论文软件需求管理工具的研究和设计姓名:张慧珍申请学位级别:硕士专业:软件工程指导教师:赵合计20050312山东大学硕士学位论文摘要需求,是项目初始估计和初始计划的基础,同时也是产品开发和产品验证的基础,整个开发活动都要围绕它来进行,一个项目成功与否往往取决于它是否符合需求。根据 证实,从到年的导致项目失败的最重要的原因与需求有关。焉求管理,简单地说,就是记录并管理需求、跟踪需求变更,其目的是在客户和解决客户需求的软件项目之间,建立对客户需求的共同理解,并形成评估、计划、实簏和跟踪整个软件生命周期中软件项目活动的基础。它在国际质量标准?和删中具有重
2、要的位置.在本文中,“需求管理”指的是需求工程中的所有活动,它包含了一般意义上的需求开发和需求管理阶段,涵盖了需求获取、需求分析、需求变更、需求跟踪等所有过程.要解决需求管理过程中的问题,使用需求管理工具是一个很好的途径。在本文中简要介绍了需求的两种生命周期模型模型和模型,并在这两种模型的基础上,摒弃它们的缺点,提出了一种以基线为中心的进程迭代的需求生命周期模型,基于这种生命周期模型设计实现了需求管理工具。该工具具有与需求生命周期紧密结合的业务流程,对需求生命周期中的属性进行跟踪和管理;并且在管理需求的变更时围绕需求基线进行,使变更变得可控;能够层次性的获取业务需求、用户需求和功能需求,并形成
3、需求跟踪链。而在技术方面由于软件开发中需求的内容丰富,格式多样,不仅有文本信息,还有图片、表格等非文本信息。为了管理这些信息,该工具采用了数据库中的类型的字段来保存这毡信息.在实现需求跟踪时,为了处理需求和原始需求、设计、实现、测试等过程的复杂关系,工具采用了以需求为中心,其他文档均看作是需求的扩展文档的方法。需求中包含其他文档的编号作为索引,并在数据库中使用一个关联关系表来表示需求和其他扩展文档的关联关系,两者之间可以根据编号相互查找,从而达到双向跟踪的目的.本文的第五章详细论述了该工具的设计和实现内容,其中对需求管理模块傲了重点阐述,这个模块包含了管理流程的各个阶段:从需求获取到需求发布,
4、以及之后的需求跟踪,它与文中所述的需求管理理论是相对应的。最后是对该工具进行测试的简单说明。需求基线、生命周期模型关键词: 需求管理、需求变更、伽、第页山东大学硕士学位论文 .,., . , , ,. ? ,“.” , ,., ,. , .?, . , ., ., , ., , , . ,., , 第页山东大学硕士学位论文。 . , ., , .,. .,.:。埘,第页原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体己经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明
5、确方式标明。本声明的法律责任由本人承担。论文作者签名:蟛日期:?当止关于学位论文使用授权的声明本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。保密论文在解密后应遵守此规定论文作者签名:丝:辩师签名:论文作者签名:必师签名:山东大学硕士学位论文第一章序言.背景.需求管理在软件开发中的必要性随着计算机技术的发展,社会对软件的需求量日益增大,而软件的开发完全依赖于人工,致使软件开发成本费不
6、断上涨,在美国软件成本约占计算机系统总成本的%,已成为司空见惯的现象。由于软件是逻辑、智力产品,盲目增加软件开发人员并不能成比例地提高软件开发能力。相反,随着人员数量的增加,人员的组织、协调、通信、培训和管理方面的问题将更为严重。人们在大型软件项目开发面前显得力不从心.在年月的财富杂志的标题是。软件所带来的麻烦?令人讨厌”【】,业界知名人士 的这篇文章痛责了软件的低质量与低可靠性;知名的市场研究公司在他们的报告中提供了更加清楚的说明。特刹是,根据的调查超过个公司的多个软件项目发现:夺%的软件项目在完成之前被取消浪费了亿%的项目超出预算的项目按时且在预算内大公司%的项目按时且在预算内小公司为了更
7、深入地了解问题所在, 的调查也包括了对引起这些失败的原因的问答.根据调查的结果,对项目造成“伤害”的三个最重要的原因如下表所示:嚣回筏鬣滋乏磊乏:、:鬈兰。黠埂层造成旅餐哟豢滋瑟燮譬:鬣.%缺乏用户参与.%不完整的需求与规范.%需求与规范的变更表. 对项目造成伤害的因素需求错误是在复杂的软件项目中所发现的最大的错误种类.所研究的美国空军项目显示,根据错误的来源划分,需求错误是所发现错误%的来源,而逻辑设计错误仅占整个错误的%】,如图.所示.第页山东大学硕士学位论文圈,在软件生命周期的需求阶段发现错图,美霉空军项目的错误根源误比在维护阶段发现错误可以节约的成本比是:其它研究也证实了这一点,例如与
8、,引用 的报告显示%的缺陷可以追踪到需求阶段【.蝴而同时对需求阶段产生的错误进行修复是非常昂贵的。根据的研究显示,的报告指出大约%的项目预算花在了返工上口。的报告指出返工的花销可以占大型软件项目的%。因为它们数目大并且会造成多方面的影响,发现与改正需求错误要耗费%的返工费用。,与脒的研究得出了在项目生命周期的不同阶段发生错误的代价嘲,这些统计再次证明了早期的研究川.虽然这些研究是独立进行的.但是他们都几乎得出了相同的结论:在需求阶段消除错误可以大大节约成本。图.?是这些研究成果的总结碍。丽根据 最近一次从正面进行的导致项目成功的调查发现,促使项目成功的%的原因与需求管理有关。因此。进行有效的需
9、求管理,可以减少软件开发中的需求错误,从而可以大大降低开发成本,缩短开发周期,促进项目成功。而引入新的管理工具和方法是解决需求问题的关键。.现有需求管理工具的局限性需求管理在国外是非常受重视的,到目前为止,已出现了一批很优秀的商业化的需求管理工具软件.其中比较有代表性的是,等。最新的是由公司推出的,适用于操作系统。具有良好的需求管理能力和集成扩展性;它以数据库的形式管理需求工作产品;提供和整合,支持多种格式的文件的导入导出。第页山东大学硕士学位论文是由公司推出的以数据库为中心的需求管理工具,适用于和操作系统;支持多种文件格式与数据库的导入和导出.是由公司推出的强有力的需求管理工具,适用于操作系
10、统;它是以文档为核心管理需求工作产品的,不支持以形式存储的需求导入到数据库中的功能,同样也不支持非文本对象,如或文件与数据库的合并【硼。这些工具的基本功能比较相似,需求使用唯一的标号进行标识,需求之间的关系以及与软件开发生命周期其它阶段的实体的关联都是通过手工建立,工具提供了强大的查询、跟踪和管理功能.这些工具基本上都已完成了需求管理的功能,但还存在下列局限性:.由于经济和文化等方面的原因,难以适应国内企业和单位的要求;如除了入门级的,其他需求管理工具价格都很高,很多想规范需求管理的中小型公司考虑到成本太高而放弃,一套工具大概需要两万美元:同时这些工具对国内用户来说,界面不友好,操作也比较复杂
11、【埘.在软件开发中,需求变化频繁,这些工具对需求变更的支持较少。.工具本身未嵌入需求管理过程和准则,中小型企业不能快速她实施规范化的需求管理。.对于整个需求的管理,采取被动的方式即用户自身去寻找相应的管理工作【】.而到目前为止,国内软件企业对需求管理重要性的认识还不够,很多都还只是处于理论研究的阶段,还没有真正形成产品的需求管理工具。所以构建一个适合国内应用的需求管理工具是必要的。.本文研究内容本文是关于软件需求管理工具的研究和设计,该工具是在符合现有的需求管理理论和借鉴国外现有需求管理工具的基础上构建的以下为了叙述方便把该需求管理工具简称为系统.它的设计体现了整个需求管理所经历的阶段,同时具
12、有下列特点:获取业务需求、用户需求、功能需求等不同层次的需求,并形成需求和其他开发元素之间的需求跟踪链.系统提供需求生命周期中的全程管理和跟踪,并提供典型的项目开发第页山东大学硕士学位论文架构,有利于中小型企业迅速建立可控的、文档化和规范化的需求管理过程。需求变更的管理,采用了严格的需求变更评审,并使用基线管理需求版本,使需求变更达到可控的状态。在需求管理的过程中,各种需求管理任务将随着需求状态的变更沿着需求的生命周期主动进入该周期责任人的工作区,从而提高了工作效率。具有良好的用户界面友好性.本文的结构本文共分六章:第一章序言。介绍了随着软件工程的发展,在软件开发中进行需求管理的必要性;国外在
13、管理需求方面所提供的工具的特点及局限性,提出了本文的目标?构建软件需求管理工具。第二章论述了需求管理相关的理论,首先介绍了需求管理的概念,继而对和姗中关于软件需求管理的内容作了较为详细的描述。第三章详细论述了需求管理中各个阶段的任务、目标和方法。第四章是从技术架构和功能架构两方面简要介绍了系统的总体设计,并论述了本文需要解决的关键技术问题。第五章对系统的设计和实现作了详细描述。分析了和两种生命周期模型,并在此基础上提出了一个改进的需求生命周期模型:以基线为中心支持进程迭代的生命周期模型,并围绕该模型对系统进行了详细的论述。该系统主要分为项目管理、人员管理、角色管理、基线管理、需求管理、统计查询
14、等部分,关于系统的这些模块重点进行介绍。第六章对系统的测试进行了简单的说明。列出了系统主要的测试功能点和相关的用例。最后是对本文的总结。第页山东大学硕士学位论文第二章需求管理相关理论.需求管理概述.软件需求软件需求管理的对象是软件需求,在过去几年有许多软件需求的定义涌现出来.电气和电子工程师学会使用的需求定义为【:用户解决问题或达成目标所需的条件或能力.系统或系统的部分满足合同、标准、规格或其它必须遵循的正式文档必须适用的条件和必须拥有的能力.上两条中的条件或能力,文档化的表现形式。把需求定义为。正在构建的系统必须符合的条件或具备的功能”;删定义中需求是指和客户一起建立并不断更新的对各项软件工
15、作所达成的协议;在本文中我们认为需求是系统或软件必须达到的目标和能力.和著名的需求工程设计师 .提出了一伞包容且更为精练的定义,它特指软件方面?但不仅仅限于软件.“软件需求可定义为:用户解决某一闯题或达到某一目标所需的软件功能。系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能.一软件需求是“软件开发中指观必须实现什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束”.软件需求包括三个不同层次的需求?业务需求、用户需求和功能需求【.夺业务需求反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明.夺用户需求
16、描述了用户使用产品必须要完成的任务,这在使用用例 文档或方案脚本中予以说明.功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求.第,页山东大学硕士学位论文.需求工程和需求管理从现代软件工程的角度来看,需求工程领域可以分为需求开发和需求管理两个部分旧,或者说需求工程就是一个开发需求和管理需求的过程,如图所示.需求工程是软件工程的子领域,是一门分析并记录软件需求的学图.需求工程内容科,它不断反复的进行需求定义、文档记录和需求的演进,并最终在验证的基础上冻结需求.在需求工程中需求是作为一个贯穿整个软件产品生命周期的对象进行设计、跟踪和管理的。.需求开发本文中我们将
17、需求开发简单的分为需求获取和需求分析阶段,需求规约和需求验证蕴含其中.需求获取是需求工程最前端的活动,获取需求的方法和技术是多种多样的,可以分为物理方法、概念方法两个层次.物理方法指系统分析员与风险承担人之间的信息交流方式,例如问卷或面谈等。概念方法指那些指导上述交流中内容、模式和步骤的参考模型,例如场景分析或目标分析等。需求分析对需求获取阶段确定的系统边界和原始需求进行冲突分析、建模、规约并验证。简单的说,就是依据某种建模方式对原始需求进行整理并文档化【“】.需求管理需求管理需要“建立并维护在软件工程中同客户达成的契约”,所以需求管理关注的问题是对已经达成共识的需求进行管理,支持系统的需求演
18、进椰。它是对系统需求进行引入、组织和文档化的一种系统化的方法与步骤,在客户和实现客户需求的软件项目之间达成共识,以便更好地控制分配的需求,为软件工程和管理建立基线,同时保证软件计划、产品和管理活动能与分配的需求保持一致.需求管理将贯穿整个需求过程,它能够确证;我们确知客户的器求是什么质量夺满足客户需求的最佳解决办法统性目前需求管理主要包括:需求确认.在需求得到顾客和开发人员的共同认可后,定义需求基线.需求变更的管理.由于需求可能处于不停的改变状态之中,所以要根据需求跟踪信息,采用统一的变更控制方法,对变更进行控制。并且第页山东大学硕士学位论文以可控制的方式将需求变更融入项目中,变更管理是需求管
19、理的关键。需求的评审.评审提出的需求变更、评估每项变更的可能影响从而决定是否实施它.需求跟踪。将每项需求与其对应的设计、源代码和测试用例等联系起来,在整个项目过程中跟踪需求状态及其变更情况,保证在整个项目的生命周期中所有需求的实现,便于分析需求变更产生的影响【阍.本文以后将采用“需求管理”这个词.它比需求工程更适合用来描述所有涉及到的活动,并且还准确地强调了追踪变更以保持涉众与项目团队之间共识的重要性.因此本文中历论述的需求管理是涵盖整个需求工程中的所有过程领域的。. 中的需求管理标准是旨在全面覆盖国内外所有的贸易进程活动的标准体系.但是,它不可能涵盖到具体的区域唧.是一系列质量管理和质量保证
20、的国际标准,由个质量标准组成,其中是软件开发维护的标准,包含了许多规格说明,重点在于使用有效的需求管理进程来控制和提高产品或服务的质量。它给企业的质量管理提供了一个宏观的框架。中没有明确的提出需求管理的概念,但是对需求管理的要求隐藏在条文.与顾客有关的过程中,包括产品有关要求的确定、产品要求的评审和顾客的沟通等【阚.在这些文档中,包含了许多规格说明,重点在于使用有效的需求管理进程来控制和提高产品或服务的质量。标准强调应用需求管理,特别是它要求:建立需求的责任分配给各个小组的成员建立同意和批准对需求变更的方法和过程夺尽量避免对需求的误解建立过程,对需求讨论的结果进行记录和复审还规定,在通常发生技
21、术设计和编程的项目开发阶段的输入应该被定义和建档。这些“输入”当然是需求,指定,必须定义需求,以便于验证是否达到。它还提倡利用过程来确保以一种有序风格解决不完整,有歧义或冲突的需求。但是指出了要做什么,但是没有说明如何做的闯题。第页山东大学硕士学位论文总之,在开发工作的开始就强调需求,是为了确定技术设计和开发工作是以有序的风格在进行着。机构才更可能生产出满足规格说明或者需求的系统,而不是在生命周期的结束时刻依赖疯狂的测试和确定行为来保证质量.删中的需求管理伽是能力成熟度模型的缩写。该模型是 一?袁国卡内基梅隆大学软件工程研究院于年提出的一种软件生产和质量保证的模式嗍.在中,需求是一个活的实体,
22、处于应用系统开发的最核心.整个的指导方针是,所有活动、规划、 .改进和软件工作产品都将根据分分配需求配给软件的需求一致地进行必要 的开发和修改.并且姗进一步苎塑兰皇相应过程指出,需求应该被管理和控制嗍?眄孬:;日.变更在级中需求管理是首要 ?一需求变更关键过程领域,是软件开发基线评审?一变更 .【.一活动中不可或缺的组成部分。变更评审把需求管理过程区域总结为:需厅主;嗣求管理的目的是在客户以及客户。? 伽中需求管理过程定义【需求的软件团队之间建立共同的理解。即是在客户和开发机构之间建立一个共识,形成软件工程所必需的管理基线,从而对需求实施有效的控制.在软件开发活动中,所有活动计划、日程安排、交
23、付工件都直接或间接地和需求保持一致。埘建议至少要掌握三个方面的信息:软件需求的变更内容和累计变更次数,待决定的、被建议的、被批准的以及融入基线的软件需求变更的个数统计信息。中重心是根据已定义和建档的标准实践来管理软件活动。它的包括机构过程关注、机构过程定义、培训程序集成软件管理、软件产品工程、组间协调和同行复审.软件产品工程明确指出:“软件需求的获取、维护、归档和校验有赖于系统化的分析,这种分析要以项目所定义的软件开发流程为根据”.给出了几点针对性的指导建议:变更需要经过提请、分析并且在第页山东大学硕士学位论文合适的条件下被整合;需求的变更得到批准并加以整合以后,相应的工件和活动才能变更;在变
24、更发生之前确定该变更所带来的影响,团队之间要针对变更进行必要的沟通和协商;所有的变更从始至终被跟踪刚.综上所述,需求管理在和瑚中都是作为软件开发的重要过程来描述的,同时还提供了具体的管理方法和步骤,尤其在蹦中从二级开始需求管理均是作为软件开发的核心过程来对待,为软件开发的顺利进行提供有力的保证.第页山东大学硕士学位论文第三章需求管理内容.需求获取需求获取是需求管理的主体.对于所开发的软件产品。获取需求是一个理解和明确用户类不同的需要和限制的过程【.软件需求可以分为三个层次:业务需求、用户需求和功能需求以及非功能需求,其中各组成部分之间的关系如.所示。需求获取就是使用一些方法和步骤,依次获取这三
25、个层次的需求,形圈.软件需求中各屡次间的关系成软件需求规格说明书,并依照他们之间的内在联系形成需求间的关联关系。需求获取也是一个和用户深入交流和探讨的过程.需求分析需求分析的目的在于开发出高质量和具体的需求,这样你就能做出实用的项目估算并可以进行设计、构造和测试鲫.它包括分析原始需求的类型以及需求和已有需求的关联属性,明确需求应有属性,并修改相关的属性,根据其标识、优先级,重要性、可行性、风险、来源和类型来将需求分类。标识:应该唯一地标识每个需求例如:编号、名字标签、助记法、按钮、超文本,需要的时候能够用标识来反映链揍和关系,不同的需求也可以通过标识得到区分.优先级:客户应该指明每个需求的优先
26、级,这一点可以通过潜在的客户的多数意见来获得,适当的时候,可以使用比例如:或者使用简单的词目如高、中、低和无来指明每个需求的优先级。重要性:与客户一起工作的分析员应该定义每个需求的重要性,从用户的观点来看某些需求可能只有较低的优先级,却是系统成功所不可或缺的。例如,度量外围温度的需求可以为别的需求如维护柜内温度提供必不可少的支持,应第页山东大学硕士学位论文该指明这种关系,以便客户取消主要的需求时可以同时清除那些为之提供支持的需求。可行性:客户和分析员应该共同指明将每个特定的需求包括在系统中的可行性,并根据可适用于系统领域的可行性类型将其分类。基于对一些如技术的当前状态如比较购买商业构件和自主研
27、究,以及对与特定需求相关联的风险或成本等内容的理解,可以获知其可行性.风险:可以使用风险分析技术将系统需求分级。根据它们的因果关系或风险的可避免性,多数风险与潜在的财务损失,环境影响、安全和健康问题以及国家标准或法律相关.来源:应该进一步通过标明其起源来将每个需求分类.可以被当作某个需求的产生原因的来源可以有多个,指明每个需求的起源很有好处,以便当需求不清楚,相互冲突或需要被删改的时候能够找到需要商议的个人或组织。.需求确认对需求的分析结果进行确认,指定需求的基线,对需求的设计、实现和测试做初步的估算,明确下一步的责任人及时间.对于不需要实现的需求归入“已作废”需求基线中。.需求变更需求变更是
28、指在软件需求基线已经确定之后又要添加新的需求或进行较大的需求变动。变更天生是过程的一部分,所以我们应该认识到变更的不可避免性,并采取有效的方法来管理变更切.一整个产品生命周斯一图.需求交更图本系统针对变更频繁、多用户参与的特点,提供了良好的业务协同环境,第页山东大学硕士学位论文使客户与开发人员及其所有的风险承担人可以实现协同工作,同时还提供了详尽的需求跟踪链。由变更控制委员会控制的唯一变更渠道,使需求变更变得可控。需求变更过程中的核心部门是,进行变更的控制,需求变更的过程如下鲫:.提出变更请求变更需求的拥有人提出变更的正式申请。.指派变更控制部门在获得一个需求问题的报告后,指派需求工程师负责本
29、变更的分析和确认工作。.分析分析这个问题及其它的问题。确定它是新的要求,还是修改请求,或图.需求变更控制流程者是误解修改所针对的真实需要是什么客户的可能结果是什么完成该请求的成本如何是否需要进一步调查根据需求跟踪链,可以清楚的确定所影响的程序设计部分,程序实现部分,和测试部分,并且确定受影响的个人。.变更风险评估成员开会进行讨论,对于变更影响进行分析,并对变更风险进行评审.对于拒绝变更的需求项,就不再对其有任何修改,不用继续下面的步骤,同时将该需求并入“已废止”基线,供以后项目跟踪使用。对于决定修改的需求项,将给这些需求项设定修改的优先级或变更的实现日期.。确认根据变更评估过程中的投票结果,进
30、一步进行分析:会不会得不偿失,是否应该拒绝该请求是否应将它作为新的需求,或变更的需求,且优先级如何,是否作为可选项能否包含在下一个发行版本中,或者再延迟是否有其他处理方法能否作为交换,要求供应商提供其他变更能否暂缓决定,暂缓多久分析完成,达成共识。.发布第页山东大学硕士学位论文根据变更决定的实现方式修订规格说明,将它作为某个基线版本的需求,并按照需求跟踪流程跟踪其发布后的生命阶段。.需求跟踪需求跟踪是需求管理的基础,同时也是需求变更控制的基础嘲.可跟踪性,是两个或多个实体之间具有定义好的链接或关系,可以从一个实体跟踪或回溯到另一个实体。实现对需求的跟踪,即跟踪一个需求使用的全过程,也就是从最初
31、的用户需求到设计实现的整个生存期。要实现在软件生命周期各个阶段对需求的跟踪,前提条件是在各个阶段都必须有比较完善的文档。例如,需求工程阶段的需求规格说明书,设计阶段的设计文档,以及需求实现阶段的源代码等等。这些文档之间的层次关联关系是实现需求跟踪的基础。在这些元素间建立了跟踪关系后,就可以将每项需求从最初的业务需求一直跟踪到测试这项需求的测试用例。同样,我们也可以根据这条跟踪关系链回溯到业务需求.目前,应用较多的需求跟踪技术是需求跟踪能力矩阵或需求跟踪能力树,它通过矩阵或者树的形式来反映各个需求之间一对多或多对多的关系【.。基线管理建立需求基线版本和需求控制版本文档,确定一个需求基准,这是一致
32、性需求在特定时刻的快照.之后的需求变更就遵循变更控制过程即可闭。每个版本的需求规格说明都必须是独立说明,以避免将底稿和基准或新日版本相混淆。最好的办法是使用合适的配置管理工具在版本控制下为需求文档定位。在本系统中所有的历史版本均保存到需求数据库。基线管理属于配置管理研究的范畴,但如果要更好的完成需求管理的任务,就必须引入配置管理中基线管理技术.在配置管理中,“配置”和。配置项”是重要的概念,。配置”是在技术文档中明确说明并最终组成软件产品的功能或物理属性。因此“配置”包括了即将受控的所有产品特性,其内容及相关文档,软件版本,变更文档,软件运行的支持数据,以及其他一切保证软件一致性的组成要素,相
33、对于硬件类配置,软件产品的“配置”包括更多的内容,并具有易变性.受控软件经常被划分为各类配置项,这类划分是进行软件配置管理的基础和前提,是逻辑上组成软件系统的各组成部分。第页山东大学硕士学位论文各随软件开发活动的进展,会有越来越多的部件进入受控状态。一般地,软件开发过程从概念演绎和需求分析开始,然后是设计,各软件配置项的编码或写作,集成测试,最后是用户手册的编写等。软件配置管理包括了在软件生命周期的时间分散点上对各进行标识并对他们的修改进行控制的过程。在一个开发阶段结束或一组功能开发完成后,要对相应的进行基线化并形成各类基线。在配置管理系统中,基线就是一个或一组在其生命周期的不同时间点上通过正
34、式评审而进入正式受控的一种状态,而这个过程被称为“基线化”。每一个基线都是其下一步开发的出发点和参考点。每个基线都将接受配置管理的严格控制,对其的修改将严格按照变更控制要求的过程进行,在一个软件开发阶段结束时,上一个基线加上增加和修改的基线内容形成下一个基线。这就是“基线管理”的过程,医此基线具有以下属性:通过正式的评审过程建立基线存在于基线库中,对基线的变更接受更高权限的控制基线是进一步开发和修改的基准和出发点一般地,第一个基线包含了通过评审的软件需求,因此称之为“需求基线”,通过建立这样一个基线,受控的系统需求成为进一步软件开发的出发点,对需求的变更被正式初始化、评估。受控的需求还是对软件
35、进行功能评审的基础”。第页山东大学硕士学位论文第四章系统的总体设计.系统技术架构.数据库服务器:客户端应用程序;使用.技术平台,语言开发,运行于所有的.平台。应用程序架构如下:客户服务器视图/棼制层迤 多数据层网络连接致据库服务嚣敦据库操作层:图.系统技术架构.系统功能架构图.项目管理模块图.系统功能架构图.需求管理模块第页山东大学硕士学位论文图.统计分析模块 图.基础信息管理模块.需要解决的关键技术.需求中非文本格式的信息的存储软件开发中需求的内容丰富,格式多样,尤其是在需求获取阶段的原始需求,不仅有文本信息,更多的是客户的图片、表格等非文本信息,为了把需求描述清楚,需要保存这些信息.由于本
36、系统所有数据均使用数据库存储,所以该类信息的存储是本系统的技术难点.在数据库中可以使用型字段保存大的数据,在此我们选取型字段保存需求中的非文本信息,采用格式保存。此方案的优点有:.解决了非文本信息的数据库存储问题。.需求的详细说明采用格式,可以和其他文字处理软件生成的格式的文档兼容,这样就可以从等字处理软件中把格式化的需求说明粘贴到需求详细说明的文本域中。.需求跟踪链的数据结构本系统达到的目标之一就是通过维护需求的生命周期中各个阶段的文档从丽形成一个需求跟踪链,把需求生命周期中的各个阶段严格管理起来。因此必须对需求的各个阶段的输出和需求建立关系,由于需求和原始需求、设计、实现、测试等过程具有复
37、杂的关系,必须采用复杂的数据结构设计方能达到该目标。本系统中以需求为中心,其他文档均看作是需求的扩展文档。描述需求的数据结构中包含其他文档的作为索引,各种类型的文档在需求中均使用列表类型的数据来存储,以实现多对多的关系。在数据库中采用一个关联关系表达到需求和其他扩展文档的关联关系.下图为需求和相关资源及其第页山东大学硕士学位论文关联关系的数据库设计:釉嘲赠 匿嘲麟莨琶蘑鳓曦置 需隶蕴号 鬣 害演绾母庄呈需隶彗号卜 呻瓷渣蓝号需求名称 砭详细描述信息需求类型资源类型编号关联类型 创建者状态创建时问父需求编号完成时间其他宇段 状态图.一需求信息表和需求相关资源数据表的关联关系系统把需求信息存放在需
38、求信息表中该表的详细信息参看.中的数据表设计说明。系统把需求相关联的信息统一存放在需求资源信息表 中,该表中包含原始需求、设计文档、实现文档和测试文档等需求生命周期中使用的关联文档。通过资源类型来标识出不同的资源文档,资源类型为:“原始需求”、。设计文档”、“实现文档”、“测试文档”和。其他文档”.系统把需求和需求资源信息之间的关联关系通过需求资源关系表来存储。通过查询该表中的数据,能够获得需求和需求资源之间的双向关联关系。该表中的关联类型包括;“使用”、“参考。依赖”等,默认的关系为“参考”.系统通过需求资源关联关系表达到对需求及其生命周期中的其他附属文档之闯的双向关联关系。第页山东大学硕士
39、学位论文第五章系统的详细设计和实现.相关技术.盯. 是一种新的计算平台【引,它简化了在高度分布式?环境中的应用程序开发. 旨在实现下列目标:提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在上分布,或者是在远程执行的.提供一个将软件部署和版本控制冲突最小化的代码执行环境。提供一个保证代码包括由未知的或不完全受信任的第三方创建的代码安全执行的代码执行环境。提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。使开发人员的经验在面对类型大不相同的应用程序如基于的应用程序和基于的应用程序时保持一致。按照工业标准生成所有通信,以确保基于. 的代码可与任何其他代码
40、集成。.具有两个主要组件;夺公共语言运行库.类库的基础.您可以将运行库看作一个在公共语言运行库是.执行时管理代码的代理,它提供核心服务如内存管理、线程管理和远程处理,而且还强制实施严格的类型安全以及可确丽面于更乎蘩;圉保安全性和可靠性的其他形式的代码准确二二二二二二二孟 . 莆性.事实上,代码管理的概念是运行库的箍基本原则?以运行库为目标的代码称为托.垂至 三三三至 固./囊非托管代码。?.要蓁凳罢太要了以运行库为目标的代码称为至三三三三丑辇例哪螂类库是. 的另一个主。图. 系统架构要组件,它是一个综合性的面向对象的可第页山东大学硕士学位论文重用类型集合,您可以使用它开发多种应用程序,这些应用
41、程序包括传统的命令行或图形用户界面应用程序。也包括基于.所提供的最新创伫.新的应用程序如窗体和】口札.组件.提供对口】等数据源以及通过和公开的数据源的一致访问。数据共享使用者应用程序可以使用.来连接到这些数据源,并检索、三卤操作和更新数据.为.环境下数据库编程提供了统一的接口. .技术. ?善. 是公司为.应用提供的数据存瓣.?踟.取方案,区别于基于的艮幢 / 或.;数据提供者为.陲.?。豸提供另外的方法访问图.卜 数据库访问技术数据库,获得更优越的性能和更完善的支持,他们三者的关系如图.所示.使用。组件开发使用.】技术获取数据库连接,需要使用.提供的类来获取数据库连接.下面是使用连接字符串连
42、接数据库的;语言例子:第页山东大学硕士学位论文.连接字符串属性列表渤您疆燮懋缨翳熬懑霪翳翳鬻灌餮鍪燮匿銎懋娶鍪濯懋罄鬻瑟滋溢翟连接活动秒时间最大获取连接等待时间秒 连接数据库网络服务名管理员权限:既 释放连接数目当存在空闻连接在分布式事务处理中是否自动显示服务 建立连接数目当连接池连接均繁忙连接池最大连接数 连接池最小连接数用户密码是否保存密码是否启用连接池代理用户名 代理用户密码用户名表. .连接字符串属性列表对象对象用于指定执行的命令文本?字符串或存储过程,该对象需要使用构造函数进行初始化./聋 /定义要查询的语句,?“; /声明对象,同时指定该对象使用的数据库连接和命令,;第页山东大学硕
43、士学位论文关闭并清除可以调用连接对象的方法或方法来关闭到数据库的连接,方法调用方法。错误处理结构的错误处理是.语言的一部分,下面是使用语法的一个相对最小的例子。,使用异常捕获来判断系统运行是错误所在,给用户明确的提示信息,打开数据库连接.;,/声明对象。;,设置数据库命令对象使用的连接.;/设定数据库命令对象要执行的.。 如,”.。;/设置命令的类型.;/,声明对象.获得数据库命令对象的执行结果.;.;州捕获/,根据的序号判断异常的原因.:.。 .;靼搦, . .。;第页山东大学硕士学位论文.字段的存取作为大数据在数据库数据存储中扮演重要角色,一些多媒体资料均以类型的字段来存储,对以字段的读写
44、方法可以参考下面的代码。读取字段代码片断:、,获得类型的字段 “/ 、/ 。”字段/ “。查询关键字字段/, 。数据库表的名称/ ,/,声明数据库命令对象,并指定使用的数据库连接”,;/设定数据库对象要执行的命令 。.“。.。,。.。”.”;/使用获得数据命令对象的执行结果.;./获取大字符对象.;第页山东大学硕士学位论文更新字段代码片断:/更新字段,声明事务对象伯 :,/声明数据命令对象;,/开始事务处理.;/创建数据命令对象,并制定该对象使用的数据库连接。,;,使用提供的共事更新锁获得要更新的字段.。. 。. 。.。.。:.,/使用获取执行结果.;/使用读取数据.;,给当前对象加镄,以便进
45、行更新操作.;/清除原有的对象.;:.;,修改字段,完成更新操作.,.;/提交事务,以便释放镇定.;,处理操作期间的异常,并回滚操作.。:,.;.; 。/释放使用的资源.;第页山东大学硕士学位论文.事务处理及并发控制事务处理有四个基本的属性:原子性:如果园故障而中断,所有结果均撤销。一致性:事务的结果保留不变的特性。孤立性:中间状态对其他事务是不可见的。持久性:已完成的事务的结果是持久的,当一个事务完成之后,事务提交成功了,即使系统了,事务所作的修改仍然是成功的。事务的终止有两种方式:提交一个事务会使其所有的更改永久不变,而回滚 一个事务则撤销其所有的更改。系统通过从底层封装的事务处理,保证系
46、统的事务的正确性。事务的调用方式如下:并发控制主要是通过对数据进行加锁的控制,主要是读锁,写锁,并发排他锁等.系统使用提供的共享更新锁达到在网络环境下数据操作的正确性.的共享更新锁获取和使用方式如下:第“页山东大学硕士学位论文,共享更新锁的获取方式列名,列名】?表名条件列名,列名】?/使用 下关键字来获取记录的数据锁.界面设计界面是程序和用户的接口,一个好的界面要以用户为中心,符合用户的习惯。设计一个友好的界面一般来讲要满足以下特征:.操作简单,易学,易掌握.界面美观,操作舒适一.快速反应,响应合理在本系统中界面分四个主要区域:菜单和按钮区、需求列表区、工作区即需求显示区和状态栏。如下图所示:
47、图.一系统主界面菜单和按钮区是系统所有功能模块的入口.需求列表显示区按照不同的基线以树状显示系统中的需求.树的一级为不同的需求基线具体数目将和项目的设置有关,二级将按照需求的父子关系一次显示系统中的需求。可以使用户方便的定位到某个需求.在工作区中可以对系统中的需求进行察看和维护,系统的大部分操作都是第页山东大学硕士学位论文通过系统的工作区来进行。状态栏主要显示一些和当前操作相关的提示信息.系统主界面控件及其布局代码如下:,/主界面代码:.,设定名称.”。:/设定窗体标题.。需求管理系统。:/向窗体中添加控件,增加需求属性控件.;/增加主窗口右侧上下分割控制.;,/增加需求详细信息编辑窗口.;/
48、增加左右分割控件.;/增加需求测览树.;/增加状态栏.;/增加工具栏.;/,设定窗口风格.;.;.。.;/设定系统的主菜单.:.;.需求管理详细设计.模型设计需求是软件需求管理的对象,需求的生命周期贯穿了整个需求管理过程,第页山东大学硕士学位论文它直接反映需求管理的内容和过程,这里将分析两种生命周期模型一和模型,并在此基础上提出了以基线为中心的支持进程迭代的生命周期模型。.现有的需求生命周期模型.模型的缩写,这个模型是由是爱立信公司提出的,/?、在蹦模型中,一个需求可被,%疗?兰竺兰掌视为由一组属性层次地构成的,懒岫 岫 / ,属性可以是觯眦可以是复岫页,弋:一粪薯二曼姜:妻磊芦言耄霎蓦:蚋蛐
49、山.亍呃嚣?乏主再 还有一些是可选的,可以定制:舡“黼弋软件需求开发就象一个学习过吣 程,逐渐填充相应的属性。整个 蹦模型图.模型包括三个连续且异步的子过程:首先是需求的获取和需求的细化,它们将在数据库中填入相应的详细需求;再是需求的计划,它用来确定需求,并选择相应的需求进入软件产品的发行版本;最后的过程是需求的实现,将需求设计到相应的软件产品中去。模型相应的四个阶段为:需求的获取经过各种方法获取了相应的潜在需求,并且通过产品委员会的确定,才能成为正式的需求。需求的细化通过系统分析员和各种风险承担人进行协商,确定相应需求的各种属性,将需求内容进行充实。需求的计划当相应的需求已经完成,并且通过了
50、验证,经由产品委员会进行确定,可以进行下一阶段的实现工作.夺需求的实现在这个阶段需求可以在上一次的实现的基础上实现迭代式的实现.第页山东大学硕士学位论文.模型是 的缩写,这个模型是由公司提出的,可以保证软件产品即时的发布和良好的软件产品质量。包括了典型的需求过程活动,如需求的启发,需求的文档化,需求的验证,同时强烈关注需求的选择和产品的发布.在该模型中,有许多的角色参与其中,?将负责需求的管理,同时决定哪个需求将在发布的图. 模型版本中实现,还将负责需求变更的管理工作。用户和产品使用者将向提出相应的要求以及对产品的反馈,需求小组将负责需求的分析和细化工作,专家小组将对于个别需求提出深度的分折,开发小组将负责产品的开发,测试小组将根据需求对产品进行测试。该模型将分为六种状态:已创建该状态表示需求已经新建了。夺已分配表示该需求已经指定了专人对其相应的属性进行评价和确认。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届云南省昆明市西山区民中高三物理第一学期期末学业质量监测模拟试题含解析
- 2025届吉林省梅河口五中物理高三上期末综合测试试题含解析
- 2025届福建省厦门市翔安一中高三物理第一学期期末检测模拟试题含解析
- 宁夏石嘴山三中2025届高三物理第一学期期末检测模拟试题含解析
- 江苏省沭阳县华冲高级中学2025届物理高三上期末达标检测试题含解析
- 2025届吉林省白城市一中物理高一上期末统考模拟试题含解析
- 2025届青海省青海师范大学第二附属中学高二物理第一学期期中统考试题含解析
- 山东省新泰第一中学2025届高三上物理期中统考试题含解析
- 湖南省永州市宁远县第一中学2025届物理高二上期中调研试题含解析
- 黑龙江省鸡西市第一中学2025届高一物理第一学期期中质量检测模拟试题含解析
- 非新生儿破伤风诊疗规范(2024年版)解读
- 微测网题库完整版行测
- 多图中华民族共同体概论课件第十一讲 中华一家与中华民族格局底定(清前中期)根据高等教育出版社教材制作
- 生涯发展报告 (修改版)
- 求职能力展示
- 中国马克思主义与当代思考题(附答案)
- (新版)征信知识竞赛基础题库(500题)
- 金属风管支架重量计算表
- 公司组织架构图模板可编辑
- 人民医院科室医德医风月日常考核和奖惩细则
- 电视导演艺术的特性和创新
评论
0/150
提交评论