资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
需求工程及需求管理工具介绍V 1.0Marco Lee2012-09-04Contents一、需求工程综述 .31)需求定义 .32)需求工程概述 .33)需求工程主要过程 .44)需求分析的特点 .45)需求开发的十种常用方法 .56)需求建模方法 .57)主要概念区分 .61、项目范围管理 .62、需求开发、需求管理、项目范围管理的区别和联系 .7二、CMMI 需求开发过程 .71)基本概念 .72)需求调查方法 .83)CMMI 需求分析过程 .9三、需求管理工具介绍 .121)Rational RequisitePro .122)IBM Rational DOORS.123)Borland CaliberRM.144)Cloudtopo Topo .14摘 要需求是研发团队工作的起点,很多研发团队的开发过程混乱的源头都在于需求管理没有做好。项目失败或严重超支的八个最重要原因中有五个都与需求相关:1) 不完整的需求;2) 缺乏用户的参与;3) 不实际的客户期望;4) 需求和需求规格说明的变更;5) 提供许多不必要的功能。本文就有关需要的概念以及主流需求管理系统,进行了论述。一、需求工程综述图 1-需求分析组成部分1)需求定义通俗的讲,“需求”就是用户的需要,它包括用户要解决的问题、达到的目标、以及实现这些目标所需要的条件,它是一个程序或系统开发工作的说明,表现形式一般为文档形式。按 CMMI 软件能力成熟度的定义,需求是开发方和客户方就系统未来所达到的功能和质量所达成的一致约定和协议。PMP 定义,需求是指发起人、客户和其它干系人的已量化且记录下来的需要与期望。收集需求旨在定义和管理客户期望。2)需求工程概述需求工程过程即需求分析活动,以下统称为需求工程在整个系统开发与维护过程中越来越重要,它贯穿于系统开发的整个生存周期。上个世纪 80 年代中期,形成了软件工程的子领域需求工程 (Requirement Engineering, RE) 。需求工程,是应用已证实有效的技术、方法进行需求分析,确定需求客户,帮助系统开发分析人员理解问题,评估可行性,协商合理的解决方案、无歧义地规约方案、确认规约以及将规约转换到可运行的系统时的管理要求。需求工程通过合适的工具和符号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。需求工程是一个项目的开端,也是项目建设的基石。需求工程的过程包括了需求开发和需求管理两个部分。整体需求工程过程在项目启动后开始,进行需求获取、分析、规划定义和需求验证,并进行组织内外的需求评审,以确定需求基线,并在需求发生变更时,重新进行需求的获取、分析、定义和验证评审,并对需求变更影响项进行相关识别、风险应对、修改和跟踪,并对需求状态和变化过程进行统计分析和测量汇报。需求开发(RD ,Requirement Development)指的是从问题收集、分析和评价到编写文档、评审等一系列产生需求的活动,这几个阶段的活动可以是相互独立和反复的,不一定非要遵循线性的顺序。需求开发讲究的是用系统的方法获取真正的全面的能实现的需求。需求管理(RM, Requirement Management)则是与需求直接相关的活动,即软件项目开发过程中控制和维持需求约定的活动,主要包括:变更控制、版本控制、需求跟踪、需求状态跟踪等工作。需求管理强调的是需求的确认以及需求变更的控制,其目的是确保各方对需求的一致理解,管理和控制需求的变更,从需求到最终产品的双向跟踪。3)需求工程主要过程1) 需求开发规程:分为需求获取、需求分析、规格化定义和需求验证等操作过程。2) 需求评审规程:对完成的系统需求进行组织内外评审的过程;3) 需求变更管理规程:需求基线产生后对需求进行变更管理的过程;4) 需求跟踪管理规程:对需求进行状态跟踪和过程跟踪的管理过程; 5) 需求的测量和分析:对需求状态和需求变化过程进行测量和分析评估的管理过程;4)需求分析的特点需求分析工作的复杂性及面临的潜在风险主要体现在以下方面: 1) 需求描述的准确性问题;2) 需求的完备程度问题; 3) 需求开发的时间问题; 4) 需求的细化程度问题; 5) 需求的变更问题。5)需求开发的十种常用方法1) 需求调查:采用需求调查表进行需求收集和调查;2) 需求访谈:进行面对面的需求访谈、记录、整理并确认;3) 资料收集和文档考古:收集业主方的有关资料进行分析提炼;4) 需求研讨:召开需求研讨会有目的的对需求进行研讨;5) 需求头脑风暴:发散式的对需求进行遐想和探索;6) 需求原型:依据需求原型进行需求沟通和探索,是电子政务行业常用的需求开发方法;7) 实地学习:实地深入业主方业务现场进行观摩学习,以提炼需求;8) 实务跟踪/实地工作:更加深入的跟踪现场多个实物,甚至深入业主方现场进行实地、实务长时间、多案例的实地工作;9) 案例讲述和故事板:通过对案例或故事的讲解和分析获取需求;10) 场景模拟/角色扮演:通过模拟一个场景或者由不同人员扮演不同的角色进行需求模拟和角色分析,来获取需求。6)需求建模方法需求建模是软件需求工程过程的重要阶段。不同的需求建模方法蕴含了不同的建模理念,代表了看待软件系统的不同视角。1、 结构化需求分析方法自 20 世纪 70 年代中期以来,结构化的需求建模方法一直是比较流行和普及的需求建模技术之一。它认为系统的功能就是“数据”流经系统时发生变迁的能力,同时需要外部事件触发进行完成变迁的过程。2、 面向对象的需求分析方法面向对象的需求建模方法是当今工业界的主流方法,它认为现实系统是由各种各样的现实“对象”组成,对象可以被分类、被描述、被组织、被操作、被创建,系统是要实现对现实世界实体(对象 )的计算,需要在系统中建立这些实体的映像,这些实体的个体操作模型和交互模型就是系统的功能模型。面向对象的需求建模方法的关键是从获取的需求信息中识别出问题域中的类与对象,并分析它们之间的关系,最终建立起简洁、精确和易理解的需求模型。UML 是随着面向对象方法发展起来的统一建模语言,包括用来表示系统静态结构的用例图、类图等,以及表示系统动态结构的状态图、活动图、序列图、协作图和配置图等。3、面向问题域的需求分析方法上述两种传统方法都只是针对软件系统本身的建模方法,并没有涉及软件需求从哪里来、客户存在什么问题需要解决、为什么客户会期望或者需要软件来帮助它们解决这些问题、他们需要软件帮他们做什么等问题。20 世纪 90 年代之后,提出在进行软件系统建模之前,需要对软件将处于的环境,即软件将要解决的现实世界的问题进行建模,需要对包含软件及其环境的软件加强型系统进行建模,这样才能识别出或者推导出人们对软件的真正需求。面向问题域(Problem Domain,PD) 的需求分析方法 (Problem Domain-Oriented Analysis,PDOA)
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号