Professional Documents
Culture Documents
软件需求开发与管理工具
周立新 博士
北京大学软件与微电子学院
课程提纲
1. 软件需求基本理论和概念
2. 软件需求工程过程
3. 软件需求获取
4. 软件需求分析
5. 软件需求规格说明
6. 软件需求验证
7. 软件需求管理
8. 软件需求实现
9. 软件需求工程新进展
10. 软件需求开发与需求管理工具
需求开发工具
• Rational Rose
• Microsoft Visual Studio Team System 2008
• Power Designer
需求管理工具
• 需求管理工具
– 不会帮助你确认未来的客户或者从项目中获得
正确的需求
• 在整个开发期间管理需求的变动,使用需
求作为设计、测试、项目管理的基础
• 不会代替已定义用来描述如何获取和管理
需求的处理过程
– 为了高效率而使用工具
需求管理工具
• 以数据库为核心
– 将需求、属性和跟踪能力信息存储在数据库中
• 商业(通用)的或是专有的
• 关系型或面向对象的
– 多数情况下需求的文本描述被简单处理为必须
的属性
– 另一些产品可以把每个需求与外部文件相联系
• 微软的 Word 文件, Excel 文件,图形文件,等
等
需求管理工具
• 以文档为核心
– 只要需求存储在数据库中,你可以定义属性和
跟踪能力联系链,如同以数据库为核心的工具
需求管理工具
• 例如 :
– 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 集成
– 用于进行对功能及系统测试资产的管理。软件
工程团队日益需要一个能够管理所有测试方面
的广泛的解决方案,从初始测试用例计划直至
测试开发、执行及测试结果分析。 RequisiteP
ro 需求数据库和 Test Manager 的集成,使得
可以连接需求测试用例并保证所有需求在开发
前被测试。
Rational Requisite Pro 集成
• IBM Rational Rose/Rose RT/XDE
– Rose/Rose RT/XDE 用于可视化建模及设计。将 Rose
模型与 RequisitePro 项目的集成,使得可以在 Rose 中
选择用例文档以及用例属性,并使用需求信息扩展用例。
而当需求发生变更时,可以容易的追踪并修改 Rose 模型。
集成同时也提供了从用例图到用例规格说明书的追踪。给
需求管理人员提供了更准确、更及时的信息。总的来说,
集成用例管理,有助于确保管理项目,控制变更,并保证
该功能将会被完整地测试。
Rational Requisite Pro 集成
– SoDA 用来自动化规划文档和报告的产生和维
护。通过与 SoDA 集成,可以缩减与产生各种
规划文档有关的时间和工作量,由 SoDA 读取
RequisitePro 项目中的信息,自动生成各种需
求文件以及报表。
Rational Requisite Pro 集成
• Microsoft Project
• 商业需求管理工具选型
• 实现需求管理自动化
• 需求管理工具集成
• 需求管理工具实战演练
需求管理工具实战演练
• Rational Requisite Pro
– 一个强大、易用、可集成的需求管理产品
– 使用 Word 文档和数据库这两种方式来存储并
管理需求,使得 RequisitePro 兼有数据库的
强大功能和 Word 的易用性
需求管理工具实战演练
– 可以随需定制符合需求的包(文件夹),将需
求信息组织起来,并且从 RequisitePro 提供
的可定制的各种视图以及过滤器中,来进行优
先级划分、链接需求并跟踪变更
• 根据需要选择两个复选框来对 RequisiteP
ro 项目和 Test 资产文件进行版本控制,
并在下部的项目浏览窗口里选择我们之前
创建的 ClearCase 项目,并点击 Next ;
需求管理工具实战演练
需求管理工具实战演练
• 此处可选输入密码来保护项目不受非法访
问和修改;此密码在每次试图修改此 Ratio
nal Administrator 项目时要用到。
• 点击 Finish 完成。之后,我们需要配置此
Rational Administrator 项目来将需求、
测试、变更管理数据库以及设计模型文件
等进行集成。
需求管理工具实战演练
需求管理工具实战演练
• 4. 配置 Rational Administrator 项目。
需求管理工具实战演练
• 由于我们之前选择了对 RequisitePro 项目
进行版本控制,所以此时要求, Requisite
Pro 的项目必须位于 UCM 的集成视图下。
如果输入一个非 UCM 视图路径,点击 OK
试图创建项目时,会得到一个错误,提示
必须位于 UCM 视图的 UCM component
目录下。
需求管理工具实战演练
• 同样,如果输入的路径并非集成视图而是
开发视图,那么也会得到一个错误,提示
路径必须位于集成视图下。
需求管理工具实战演练
• 输入之前创建的集成视图路径,点击 OK
来创建 RequisitePro 项目,该项目自动被
加入到 ClearCase 的版本控制。
需求管理工具实战演练
• 完成随后的步骤来结束创建过程。
需求管理工具实战演练
需求管理工具实战演练
• 创建完成后,如果我们之前选择了版本控
制,那么该 Test Datastore 将被自动加入
到 ClearCase 项目中。
• 点击 OK 。如果之前已经配置了 Requisite
Pro 项目,此时将会提示“是否要配置 Re
quisitePro-ClearQuest 集成?”。可以
选择 No ,并在以后需要的任何时候单独
配置此项集成:通过在 Rational Administ
rator 控制台里,右击项目,在弹出菜单上
选择 RequisitePro-ClearQuest Integrati
on 。
需求管理工具实战演练
• 默认的配置类型,将 RequisitePro 的 FE
AT 这种需求类型和 ClearQuest 的变更请
求类型关联起来。我们也可以选择另外两
种类型,自定义需求类型和变更请求记录
类型的关联,或者仅仅查看当前的关联状
态。
需求管理工具实战演练
需求管理工具实战演练
需求管理工具实战演练
• 窗口显示了所要求的改动。点击 Finish 来
执行这些改动。
需求管理工具实战演练
• 点击 Close 完成集成配置。下图显示了从 Re
quisitePro 中关联 ClearQuest 记录的情形。
需求管理工具实战演练
• 点击右侧
的按钮来
进行相应
类型记录
的关联,
出现该窗
口:
需求管理工具实战演练
• 此时我们可以通过创建或浏览来选择 Clear
Quest 记录。下图显示了点击 New Recor
d 后的情况。
• 可以看到,此窗口正是 ClearQuest 中创
建记录的窗口,而这些活动都是发生在 Re
quisitePro 中,这就是集成所带来的强大
功能、便利以及魅力所在。
需求管理工具实战演练
需求管理工具实战演练
• 4.4 集成设计模型。
– 点击 Add 或 Delete 来添加或删除一个设计模型
文件。可以添加多个设计模型文件。