需求分析及需求管理工具介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求工程及需求管理工具
介绍
V 1.0
Marco Lee
2012-09-04
Contents
一、需求工程综述 (3)
1)需求定义 (3)
2)需求工程概述 (4)
3)需求工程主要过程 (4)
4)需求分析的特点 (5)
5)需求开发的十种常用方法 (5)
6)需求建模方法 (5)
7)主要概念区分 (7)
1、项目范围管理 (7)
2、需求开发、需求管理、项目范围管理的区别和联系 (7)
二、CMMI需求开发过程 (7)
1)基本概念 (7)
2)需求调查方法 (8)
3)CMMI需求分析过程 (9)
三、需求管理工具介绍 (12)
1)Rational RequisitePro (12)
2)IBM Rational DOORS (12)
3)Borland CaliberRM (14)
4)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、面向对象的需求分析方法