You are on page 1of 77

第十章

软件需求开发与管理工具

周立新 博士

北京大学软件与微电子学院
课程提纲
1. 软件需求基本理论和概念
2. 软件需求工程过程
3. 软件需求获取
4. 软件需求分析
5. 软件需求规格说明
6. 软件需求验证
7. 软件需求管理
8. 软件需求实现
9. 软件需求工程新进展
10. 软件需求开发与需求管理工具
需求开发工具
• Rational Rose
• Microsoft Visual Studio Team System 2008
• Power Designer
需求管理工具
• 需求管理工具
– 不会帮助你确认未来的客户或者从项目中获得
正确的需求
• 在整个开发期间管理需求的变动,使用需
求作为设计、测试、项目管理的基础
• 不会代替已定义用来描述如何获取和管理
需求的处理过程
– 为了高效率而使用工具
需求管理工具
• 以数据库为核心
– 将需求、属性和跟踪能力信息存储在数据库中
• 商业(通用)的或是专有的
• 关系型或面向对象的
– 多数情况下需求的文本描述被简单处理为必须
的属性
– 另一些产品可以把每个需求与外部文件相联系
• 微软的 Word 文件, Excel 文件,图形文件,等

需求管理工具

• 以文档为核心

– 使用 Word 或 Adobe 公司的 FrameMaker 等


字处理程序制作和存储文档

– 只要需求存储在数据库中,你可以定义属性和
跟踪能力联系链,如同以数据库为核心的工具
需求管理工具
• 例如 :
– Requisite Pro 通过允许选择文档作为离散
需求存储在数据库中以加强以文档为核心的处
理方法的能力。
– QSSrequireit 不使用分离的数据库,而是在
Word 需求文档中的文本后面插入一个属性表

– RTM Workshop 两方面都包括在内,尽管是以
数据库为核心,但允许从 Word 中维护需求。
使用需求管理工具的益处
• 管理版本和变更
• 存储需求属性
• 帮助影响分析
• 跟踪需求状态
• 访问控制
• 与风险承担者进行沟通
• 重用需求
提纲

• 商业需求管理工具选型
• 实现需求管理自动化
• 需求管理工具集成
• 需求管理工具实战演练
需求管理工具选型方法
• 1) 为需求管理工具定义项目需求。确定下列事项

– 最重要的功能是什么,
– 是否要与其它使用的工具连接以及通过 Web 远程数据
处理是否重要。
– 决定是使用数据库存储全部数据还是只存储一部分。

• 2) 列出影响决策的 10 ~ 15 个因素。既要有主观
的也要有客观的因素(如裁剪能力、有效性及 G
UI 的效率)。
需求管理工具选型方法
• 3) 对步骤 2 中列出的因素打分(总计 100 分)。
对更重要的因素可以打更高的分。

• 4) 获得有关可用的需求管理工具的最新信息,根
据影响决策的因素对候选工具排序。对客观因素的
评分只有在使用每个工具后才能进行。开发商的展
示可能会增加一些感性认识。但展示往往不全面,
所以最好还是亲自使用一下(几个小时)。
需求管理工具选型方法

• 5) 根据给每个因素的加权值来计算每个候
选工具的得分,从而确定最合适的产品。

• 6) 从候选工具的其他用户那里获得一些体
会,可以通过在线论坛获得经验,对自己
的判断和开发商的投标进行补充。
需求管理工具选型方法

• 7) 从候选工具中前三名的开发商处得到评估拷贝。
确定候选工具前先定义一个评估处理过程,确保
获得足够的信息做出好的决策。

• 8) 最好用一个实际的项目来评估工具,不要仅用
工具所带的示教项目进行评估。完成评估后,如
有必要调整排名分数。找出得分最多的工具。
需求管理工具选型方法

• 9) 经过对排名、许可权费、开发商后续支
持费、当前用户的输入、工作小组主观印
象等的考虑之后做出决定。
需求管理工具选型要素
• 需求文档
– 模板化、结构化
• 可以根据需求文档的不同类型划分为如下的模板或结构:
– Vision :整体需求
– Glossary :名词术语、缩略语等
– Feature :需求功能点
– Use Case :用例
– Test Case :测试用例
– 细分
• 按功能点进行尽可能的细分,如果需要,可以建立多个文档
– 格式化
• 版式(字体、段落、颜色等)
• 表格
• 插图
• 超链
– 可带附件
需求管理工具选型要素
• 文档管理
– 分类
• 提供详尽而合理的分类及层次关系
– 全文检索
• 文档信息
• 文档内容
– 文档链接
• 文档之间可以建立链接关系
– 协同工作
• 支持多人同时登录,对需求进行查看、维护、管理等。
– 权限控制
• 只有授权用户才可以访问并完成相应的操作。
– 流程控制
• 工作流
– 版本控制
• 文档历史版本控制
– 视图
• 提供可定义的文档状态视图,可以从不同角度查看文档的状态
– 输出合并文档
• 生成完整的需求文档(也可只指定生成某个子需求的文档)
需求管理工具选型要素
• 需求跟踪
– 基线管理
– 需求关联
• 某个需求的修改,可能会导致其他需求变为 Suspect 。
– 代码关联
• 能够与代码进行关联。
– Bug 关联
• 能够与 Bug 库中的 Bug 进行管理。
– 讨论管理
• 能够对需求点进行讨论,记录讨论过程。
– 输出报表
• 能够输出一定格式的报表、度量图等。
需求管理工具选型要素
• 其它要素
– 可扩展性
• 插件机制、 SDK 等
– 提供 Web 访问方式
• 提供 Web 方式访问,简化了客户端的部署和维护
– 易用性
• 易于使用及维护
– 是否有中文版
• 最好有中文版本
– 与其它应用系统协作
• 如 Office 、 Visual Studio 等
– 通知
• 当某个需求文档发生改变时,可以通知相关人员
– 售价
• 是否需要购买, License 方式,等等。
商业需求管理工具示例
提纲

• 商业需求管理工具选型
• 实现需求管理自动化
• 需求管理工具集成
• 需求管理工具实战演练
实现需求管理自动化
• 用户的勤奋刻苦是成功的关键因素

• 在购买需求管理工具前要花费时间先学习
– 学习曲线问题
– 在应用到关键项目前,要先在实验性项目上使
用以积累经验
– 不要寄希望在工具上的投资会马上产生回报
– 不要把一个新工具第一次使用就应用到一个关
键项目上,并寄希望于它来获得项目成功
实现需求管理自动化
• 在对平台、价格、使用方式和需求范例(是以数
据库还是以文档为核心)进行考虑之后选择一个
适合你开发环境的工具

• 尽量挖掘产品的潜力
– 发动全体成员挖掘
– 花很大气力将项目的需求存入数据库、定义属性、设
置跟踪联系链、更新数据库、定义特权和训练用户
– 避免临时开发自己的需求管理工具或者用一些通用的
办公自动化产品临时拼凑
提纲

• 商业需求管理工具选型
• 实现需求管理自动化
• 需求管理工具集成
• 需求管理工具实战演练
需求管理工具集成
• 当选择一个需求管理产品时,考虑一下是否能与
现有工具配合使用(交换数据)

• 一些工具集成的例子
– 在 Requisite Pro 中不仅可以建立需求与 Rational Ro
se 的用例间的联系,还可以建立与 Rational Team Te
st 的测试用例间的联系。
– DOORS 允许建立需求与 Rational Rose 的设计元素
间的联系。
– Requisite Pro 和 DOORS 能够建立需求与 Microsoft
Project 中的项目任务间的连接。
需求管理工具集成

– Caliber-RM 通过一个中央通信框架允许需求不
仅能建立 Select Software Tools’ Select Ent
erprise 的使用实例、类或处理设计元素间的
联系,还可以建立存储在 Mercury Interacitv
e’s Test Director 的测试实体间的联系。在 C
aliber-RM 的数据库中就可以直接使用这些联
系。
Rational Requisite Pro 集成

• IBM Rational Clear Case

– 可以使用 ClearCase 的强大的版本控制功能来


对 Requisite Pro 项目进行管理,通过对文件
或整个项目的 Check In 和 Check Out ,使
得我们可以追溯到每一个项目文件的任何一个
修订版本。
Rational Requisite Pro 集成
• IBM Rational Clear Quest

– Clear Quest 用于需求变更管理以及缺陷追踪。


变更管理变得日益重要。有效的变更管理以及
对开发资产缺陷、增强请求、新需求的响应和
其他进行变更的追踪能力在项目中都是极为关
键的。通过与 Clear Quest 集成,可以提供有
关需求、缺陷、变更管理的全面报告,并节约
时间和工作量,并可以通过对跨所有文档的手
动变更过程自动化。
Rational Requisite Pro 集成
• IBM Rational Test Manager

– 用于进行对功能及系统测试资产的管理。软件
工程团队日益需要一个能够管理所有测试方面
的广泛的解决方案,从初始测试用例计划直至
测试开发、执行及测试结果分析。 RequisiteP
ro 需求数据库和 Test Manager 的集成,使得
可以连接需求测试用例并保证所有需求在开发
前被测试。
Rational Requisite Pro 集成
• IBM Rational Rose/Rose RT/XDE
– Rose/Rose RT/XDE 用于可视化建模及设计。将 Rose
模型与 RequisitePro 项目的集成,使得可以在 Rose 中
选择用例文档以及用例属性,并使用需求信息扩展用例。
而当需求发生变更时,可以容易的追踪并修改 Rose 模型。
集成同时也提供了从用例图到用例规格说明书的追踪。给
需求管理人员提供了更准确、更及时的信息。总的来说,
集成用例管理,有助于确保管理项目,控制变更,并保证
该功能将会被完整地测试。
Rational Requisite Pro 集成

• IBM Rational SoDA

– SoDA 用来自动化规划文档和报告的产生和维
护。通过与 SoDA 集成,可以缩减与产生各种
规划文档有关的时间和工作量,由 SoDA 读取
RequisitePro 项目中的信息,自动生成各种需
求文件以及报表。
Rational Requisite Pro 集成
• Microsoft Project

– RequisitePro 和 Microsoft Project 的集成通


过集成向导来完成。该集成将 RequisitePro
软件需求同常用的 Microsoft Project 的项目
任务关联起来,并进行跟踪管理。当 Microsof
t Project 中的任务发生变更时,可以使用向导
很容易的进行信息同步从而将变更反映到 Req
uisitePro 中。
提纲

• 商业需求管理工具选型
• 实现需求管理自动化
• 需求管理工具集成
• 需求管理工具实战演练
需求管理工具实战演练
• Rational Requisite Pro
– 一个强大、易用、可集成的需求管理产品

– 一个 Rational RequisitePro 项目包括若干 Mi


crosoft Word 文档和一个后台数据库

– 使用 Word 文档和数据库这两种方式来存储并
管理需求,使得 RequisitePro 兼有数据库的
强大功能和 Word 的易用性
需求管理工具实战演练

– 可以随需定制符合需求的包(文件夹),将需
求信息组织起来,并且从 RequisitePro 提供
的可定制的各种视图以及过滤器中,来进行优
先级划分、链接需求并跟踪变更

– 广泛集成,大大扩展了 RequisitePro 及其他


产品的功能
需求管理工具实战演练

• RequisitePro 与其他 Rational 工具的集


成是在 Rational Administrator 里面完成
的。通过创建一个 Rational Administrato
r 项目,从而将需求、用例、测试、设计模
型进行统一管理。
需求管理工具实战演练
• 1. 创建一个 ClearCase 项目,该项目用来进行
版本控制。这在 ClearCase Project Explorer 里
完成。点击菜单 Tools->Rational ClearCase Pr
oject Explorer 来启动该软件,在 ClearCase Pr
oject Explorer 里,选择 File->New->Project 来
启动项目创建向导。请参考 ClearCase 相关文档
完成项目创建。

注意:如果不需要使用 ClearCase 对整个项目资


产进行版本控制,则可以省略此步骤。我们这里
选择使用 ClearCase 。
需求管理工具实战演练
需求管理工具实战演练

• 2. 在 ClearCase Project Explorer 或 Cle


arCase Explorer (注意,这是两个不同
的软件!)里,加入 (Join) 该项目,并创
建集成视图和开发视图。可以根据需要创
建 Snapshot 或 Dynamic 类型的视图。关
于加入项目的具体操作,请参考 ClearCas
e 的在线帮助。图示为在 ClearCase Proje
ct Explorer 里选择加入项目。
需求管理工具实战演练
需求管理工具实战演练

• 3. 打开 Rational Administrator (开始 -


> 所有程序 ->Rational->Rational Admini
strator ),在控制台中,新建一个 Ratio
nal Administrator 项目。这是通过一个向
导来完成。点击 File->New Project 来启
动该向导。
需求管理工具实战演练
需求管理工具实战演练

• 输入项目名称及路径,确保选中 "Use Cle


arCase and Unified Change Manageme
nt to baseline project assets" ,点击 Ne
xt ;
需求管理工具实战演练
需求管理工具实战演练

• 根据需要选择两个复选框来对 RequisiteP
ro 项目和 Test 资产文件进行版本控制,
并在下部的项目浏览窗口里选择我们之前
创建的 ClearCase 项目,并点击 Next ;
需求管理工具实战演练
需求管理工具实战演练

• 此处可选输入密码来保护项目不受非法访
问和修改;此密码在每次试图修改此 Ratio
nal Administrator 项目时要用到。

• 点击 Finish 完成。之后,我们需要配置此
Rational Administrator 项目来将需求、
测试、变更管理数据库以及设计模型文件
等进行集成。
需求管理工具实战演练
需求管理工具实战演练
• 4. 配置 Rational Administrator 项目。
需求管理工具实战演练

• 4.1 添加 RequisitePro 项目可以创建新的


或者选择一个已有的 RequisitePro 项目。
这里我们选择创建新的项目。点击 Create
按钮,选择一个模板来创建 RequisitePro
项目,也可以选择 Blank 来创建一个空的
项目,再完全从无到有的设计各种项目元
素,如需求类型,文档类型,包等。点击
OK 。
需求管理工具实战演练
需求管理工具实战演练

• 由于我们之前选择了对 RequisitePro 项目
进行版本控制,所以此时要求, Requisite
Pro 的项目必须位于 UCM 的集成视图下。
如果输入一个非 UCM 视图路径,点击 OK
试图创建项目时,会得到一个错误,提示
必须位于 UCM 视图的 UCM component
目录下。
需求管理工具实战演练

• 同样,如果输入的路径并非集成视图而是
开发视图,那么也会得到一个错误,提示
路径必须位于集成视图下。
需求管理工具实战演练

• 输入之前创建的集成视图路径,点击 OK
来创建 RequisitePro 项目,该项目自动被
加入到 ClearCase 的版本控制。
需求管理工具实战演练

• 4.2 添加 Test Datastore, Test Datastore


用来存储功能测试、性能测试等测试资产
及工件,如测试计划、测试用例、报表、
日志,以及用户,组等信息。
Test Datastore 支持两种类型的数据库 IB
M DB2 和 MS Access 。点击 Create 启动
向导 ,
可以根据需要选择数据库类型,这里我们
选择 Access ,点击 Next 。
需求管理工具实战演练
需求管理工具实战演练

• 如果我们之前选择了对测试资产 (Test ass


ets) 进行版本控制,那么此时就需要输入
一个 UCM 视图路径,否则输入一个常规
路径即可。

• 完成随后的步骤来结束创建过程。
需求管理工具实战演练
需求管理工具实战演练

• 创建完成后,如果我们之前选择了版本控
制,那么该 Test Datastore 将被自动加入
到 ClearCase 项目中。

• TestManager 和 RequisitePro 集成后,


可以便利的创建 Test Case 并与 Requisit
ePro 的需求关联起来,从而可以确保每一
软件需求及功能都会被测试。
需求管理工具实战演练
需求管理工具实战演练

• 4.3 添加 ClearQuest 用户数据库。 ClearQuest


数据库包含了变更请求记录,通过集成, Requisi
tePro 的需求可以和 ClearQuest 的变更请求,如
Defect 关联起来。

在配置项目的窗口里, ClearQuest 栏目右侧,点


击 Create 创建一个新的 ClearQuest 用户数据库
,或者点击 Select 选择一个现有用户数据库。这
里我们选择一个现有数据库。
需求管理工具实战演练
• 此窗口列出现有可用的数据库连接,指定
所需要的连接并点击 OK 。
需求管理工具实战演练
• 此窗口列出前一步所选择的数据库连接所
包含的所有可用的用户数据库。 注意:此
ClearQuest 数据库必须是基于 Enterpris
e 模式或者 UCM 模式才可以进行集成。
需求管理工具实战演练

• 点击 OK 。如果之前已经配置了 Requisite
Pro 项目,此时将会提示“是否要配置 Re
quisitePro-ClearQuest 集成?”。可以
选择 No ,并在以后需要的任何时候单独
配置此项集成:通过在 Rational Administ
rator 控制台里,右击项目,在弹出菜单上
选择 RequisitePro-ClearQuest Integrati
on 。
需求管理工具实战演练

• 我们选择 Yes 来启动集成向导。


需求管理工具实战演练
• 窗口显示了要配置集成的 RequisitePro 项
目和 ClearQuest 数据库信息。需要输入访
问 ClearQuest 数据库的用户名和密码。点
击 Next ;
需求管理工具实战演练

• 默认的配置类型,将 RequisitePro 的 FE
AT 这种需求类型和 ClearQuest 的变更请
求类型关联起来。我们也可以选择另外两
种类型,自定义需求类型和变更请求记录
类型的关联,或者仅仅查看当前的关联状
态。
需求管理工具实战演练
需求管理工具实战演练
需求管理工具实战演练
• 窗口显示了所要求的改动。点击 Finish 来
执行这些改动。
需求管理工具实战演练
• 点击 Close 完成集成配置。下图显示了从 Re
quisitePro 中关联 ClearQuest 记录的情形。
需求管理工具实战演练
• 点击右侧
的按钮来
进行相应
类型记录
的关联,
出现该窗
口:
需求管理工具实战演练
• 此时我们可以通过创建或浏览来选择 Clear
Quest 记录。下图显示了点击 New Recor
d 后的情况。

• 可以看到,此窗口正是 ClearQuest 中创
建记录的窗口,而这些活动都是发生在 Re
quisitePro 中,这就是集成所带来的强大
功能、便利以及魅力所在。
需求管理工具实战演练
需求管理工具实战演练
• 4.4 集成设计模型。
– 点击 Add 或 Delete 来添加或删除一个设计模型
文件。可以添加多个设计模型文件。

• 此时我们完成了对 Rational Administrator


项目的集成配置。实际上,你可以可选的集
成任意一种或几种项目,比如只集成 Requis
itePro 项目和 ClearQuest 数据库,从而将
RequisitePro 的需求和 ClearQuest 的变更
请求记录关联起来。
需求管理工具实战演练
需求管理工具实战演练
本章练习
• 1. 需求管理工具和需求开发工具的区别?
• 2. 以数据库为核心和文档为核心的需求管理工具各有哪些?
• 3. 使用需求管理工具有哪些好处?
• 4. 从需求管理工具的功能出发,对以上好处具体说明需求管理
工具带来的改变。
• 5. 需求管理工具选型的大致流程是怎样的?
• 6. 从需求管理工具选型的方法和考虑因素来看,哪些是需要优
先考虑的 ?
• 7. 如何逐步实现需求管理的自动化?
• 8. 需求管理自动化给企业带来了什么?
• 9. 你知道哪些需求管理工具?其中存在哪些集成模式?
• 10. 选择几款需求管理工具进行集成,尝试使用其中某些功能。

You might also like