大多数
![](/icons/22124de.gif)
软件Software开发管理员都想进
![](/icons/22124yi.gif)
步了解及更好地控制项目
![](/icons/22124de.gif)
需求可追溯性功能
![](/icons/22124dou2.gif)
当你
![](/icons/22124de.gif)
团队(Team)在同时使用 IBM® Rational® RequisitePro® 及 IBM® Rational® Software Architect 工具时
![](/icons/22124dou.gif)
将两种软件Software集成起来可以帮助你追踪用例需求
![](/icons/22124dou2.gif)
按照下面整理总结
![](/icons/22124de.gif)
步骤来开始操作
![](/icons/22124dou2.gif)
前提条件:你必须在你
![](/icons/22124de.gif)
电脑上安装 Rational RequisitePro V7.1 及 Rational Software Architect V7.5 或者后续版本
![](/icons/22124dou.gif)
并对使用两款软件Software也都很熟悉
![](/icons/22124dou2.gif)
在 Rational RequisitePro 中创建项目需求
Rational RequisitePro 是
![](/icons/22124yi.gif)
种非常容易使用
![](/icons/22124de.gif)
需求管理工具
![](/icons/22124dou2.gif)
它帮助地理位置分布分散
![](/icons/22124de.gif)
团队(Team)通过使用熟悉
![](/icons/22124de.gif)
基于文件
![](/icons/22124de.gif)
思路方法
![](/icons/22124dou.gif)
去编写、创建以及共享需求
![](/icons/22124dou2.gif)
此外
![](/icons/22124dou.gif)
RequisitePro 还能够帮助你平衡激活数据库
![](/icons/22124de.gif)
功能
![](/icons/22124dou.gif)
例如需求可追溯性以及影响分析
![](/icons/22124dou2.gif)
在 Rational RequisitePro 中创建
![](/icons/22124yi.gif)
个项目
根据你自己
![](/icons/22124de.gif)
需要来创建
![](/icons/22124yi.gif)
个项目具有很多种方式
![](/icons/22124dou2.gif)
出于这种指南
![](/icons/22124de.gif)
需求
![](/icons/22124dou.gif)
你可以使用
![](/icons/22124yi.gif)
个 Rational 统
![](/icons/22124yi.gif)
过程(Rational Un
![](/icons/22124if.gif)
ied Process
![](/icons/22124dou.gif)
RUP)模板来在 Rational RequisitePro 中创建它
![](/icons/22124dou2.gif)
该模板遵循 IBM Rational 统
![](/icons/22124yi.gif)
过程(RUP)
![](/icons/22124de.gif)
思路方法学原则
![](/icons/22124dou2.gif)
它还包括了需要
![](/icons/22124de.gif)
可传递构件
![](/icons/22124dou.gif)
以及合适
![](/icons/22124de.gif)
文件以及需求类型
![](/icons/22124dou2.gif)
打开 Rational RequisitePro 并创建
![](/icons/22124yi.gif)
个新
![](/icons/22124de.gif)
项目
![](/icons/22124dou2.gif)
在弹出
![](/icons/22124yi.gif)
个对话框出来询问的后
![](/icons/22124dou.gif)
你可以选中 RUP 模板
![](/icons/22124dou.gif)
如图 1 所示
![](/icons/22124dou.gif)
然后点击 OK
![](/icons/22124dou2.gif)
图 1. 在 RequisitePro 中创建
![](/icons/22124yi.gif)
个项目
![](http://CrazyCoder.cn/WebFiles/20103/fda7047f-4077-4852-919e-c016a9d14ddc.jpeg)
为项目起
![](/icons/22124yi.gif)
个合适
![](/icons/22124de.gif)
名字
![](/icons/22124dou.gif)
然后使用 Browse 浏览来选择目录
![](/icons/22124dou.gif)
并使用箭头打开下拉菜单以选择项目
![](/icons/22124de.gif)
数据库
![](/icons/22124dou2.gif)
图 2 为该例显示出了这些选项:
名字:MyArticle
目录:REQUISITEPRO\Projects\MyArticle\project
数据库:MS Access
图 2. 指定项目属性
![](http://CrazyCoder.cn/WebFiles/20103/298d1db5-47d3-4a57-af03-ae2e3b07ef3e.jpeg)
你可以在项目树形结构中看到新
![](/icons/22124de.gif)
需求项目
![](/icons/22124dou2.gif)
浏览项目、MyArticle 并展开 Use Cases 文件夹
![](/icons/22124dou.gif)
如图 3 所示
![](/icons/22124dou2.gif)
图 3. 项目视图
![](http://CrazyCoder.cn/WebFiles/20103/fa8d3dcc-63ba-47aa-b2df-1854c37845a1.jpeg)
查看原图(大图)
在 RequisitePro 中创建用例需求
你可以在 RequisitePro 工具中创建大约 13 种区别类型
![](/icons/22124de.gif)
需求
![](/icons/22124dou2.gif)
在这里
![](/icons/22124dou.gif)
我们只关注于 Use Case(UC)需求
![](/icons/22124dou2.gif)
对于这里
![](/icons/22124de.gif)
练习
![](/icons/22124dou.gif)
你将会在
![](/icons/22124yi.gif)
个 Driver Ticket Payment 系统上进行操作
![](/icons/22124dou.gif)
其中驱动器可以通过因特网或者电话来支付他们
![](/icons/22124de.gif)
交通费用
![](/icons/22124dou2.gif)
在支付票费时
![](/icons/22124dou.gif)
他们必须提供他们私人
![](/icons/22124de.gif)
支付信息
![](/icons/22124dou2.gif)
接下来
![](/icons/22124de.gif)
用例鉴定了该功能:
通过电话支付票额
通过因特网支付票额
票额支付
获取驱动器
![](/icons/22124de.gif)
信息
访问点目录
现在
![](/icons/22124dou.gif)
在 Rational RequisitePro 中创建以下
![](/icons/22124de.gif)
需求(用例):
像你在以前做过
![](/icons/22124de.gif)
那样来打开用例文件夹(图 3)
![](/icons/22124dou.gif)
右击并从下拉菜单中选择 New > Requirement
![](/icons/22124dou2.gif)
该工具将会让你输入需求(用例)
![](/icons/22124de.gif)
名字以及其他
![](/icons/22124de.gif)
属性
![](/icons/22124dou.gif)
如图 4 所示:
类型:UC:用例(从下拉菜单中进行选择)
![](/icons/22124dou2.gif)
名字: 通过电话支付票额(输入)
![](/icons/22124dou2.gif)
点击 OK
![](/icons/22124dou2.gif)
图 4. 需求属性视图
![](http://CrazyCoder.cn/WebFiles/20103/1b0e1045-c24e-41d9-9991-4f4bd83a3014.jpeg)
按照相似
![](/icons/22124de.gif)
方式来创建 其他 4个用例
![](/icons/22124dou2.gif)
然后你就可以看到所有 5个需求了
![](/icons/22124dou.gif)
从 UC2 到 UC5 (图 5)
![](/icons/22124dou2.gif)
图 5. 用例目录
![](http://CrazyCoder.cn/WebFiles/20103/806d2a95-6720-47c8-9cf3-fc8aeb2f89f3.jpeg)
查看原图(大图)
在 Rational Software Architect 中创建
![](/icons/22124yi.gif)
个建模项目
在 Rational Software Architect 7.5 版本中打开工作区的后
![](/icons/22124dou.gif)
你可以切换至 Modeling 视图
![](/icons/22124dou2.gif)
通过选择 File > New > Modeling Project
![](/icons/22124dou.gif)
来创建
![](/icons/22124yi.gif)
个建模项目
![](/icons/22124dou.gif)
如图 6 所示
![](/icons/22124dou2.gif)
给项目命名(对于本次练习中
![](/icons/22124dou.gif)
输入 Use Case Modeling)
![](/icons/22124dou.gif)
然后选择这些选项
![](/icons/22124dou.gif)
如图 6 所示:
选中“使用默认位置”
![](/icons/22124de.gif)
复选框
![](/icons/22124dou2.gif)
在“创建新模型
![](/icons/22124de.gif)
位置”的下选中在项目中创建新模型
![](/icons/22124dou.gif)
并确定标准
![](/icons/22124de.gif)
模板已经被选中
![](/icons/22124dou2.gif)
然后选择 Next
![](/icons/22124dou2.gif)
图 6. 创建
![](/icons/22124yi.gif)
个新
![](/icons/22124de.gif)
模型项目
![](http://CrazyCoder.cn/WebFiles/20103/f8d694c3-6684-4c21-be26-ba0759601ed7.jpeg)
接下来
![](/icons/22124dou.gif)
从
![](/icons/22124yi.gif)
个标准
![](/icons/22124de.gif)
模板中创建
![](/icons/22124yi.gif)
个新
![](/icons/22124de.gif)
模型
![](/icons/22124dou2.gif)
例如
![](/icons/22124dou.gif)
选择这些选项(见于图 7):
在类别下面
![](/icons/22124dou.gif)
选择 Requirements
![](/icons/22124dou2.gif)
在模板下面
![](/icons/22124dou.gif)
选择 Use Case Package
![](/icons/22124dou2.gif)
然后选择 Finish
图 7. 选择
![](/icons/22124yi.gif)
个标准
![](/icons/22124de.gif)
模板
![](http://CrazyCoder.cn/WebFiles/20103/971b68e5-9864-4c93-9938-7ca975fb1b5c.jpeg)
你可以在 Project Explorer 视图中创建项目(图 8)
![](/icons/22124dou2.gif)
图 8. 创建用例模型
![](http://CrazyCoder.cn/WebFiles/20103/979e280e-b906-477d-b4ea-a081b81595f9.jpeg)
集成 Rational Software Architect 和 Rational RequisitePro
为了将 Rational Software Architect 和 Rational RequisitePro 集成起来
![](/icons/22124dou.gif)
你必须安装称为生命周期以及结构工具集成
![](/icons/22124de.gif)
RequisitePro 集成特性
![](/icons/22124dou.gif)
它是
![](/icons/22124yi.gif)
个 Rational Software Architect 特性的间
![](/icons/22124de.gif)
选项
![](/icons/22124dou2.gif)
使用 Updates IBM Installation Manager 的下
![](/icons/22124de.gif)
Features to Install 菜单
![](/icons/22124dou.gif)
如图 9 所示
![](/icons/22124dou2.gif)
图 9. 安装工具集成特性
![](http://CrazyCoder.cn/WebFiles/20103/b895e71d-7e65-42ed-9572-f0257b9bd1c4.jpeg)
在安装完成的后
![](/icons/22124dou.gif)
你就可以将 Rational Software Architect 和 RequisitePro 集成到
![](/icons/22124yi.gif)
起了
![](/icons/22124dou2.gif)
为了从 RequisitePro 工具中来集成用例
![](/icons/22124dou.gif)
你可以从 Rational Software Architecture Requirement Explorer 视图中来打开需求项目
点击图标或者在 Requirement Explorer 窗格中右击
![](/icons/22124dou.gif)
然后选择 MyArticle.rqs 项目(在 MyArticle-RQS.zip 中提供
![](/icons/22124dou.gif)
见于 下载部分)(见于图 10)
![](/icons/22124dou2.gif)
图 10. 和 Rational RequisitePro 相集成
![](http://CrazyCoder.cn/WebFiles/20103/d19342b3-3bae-45e9-bf61-0ec175a2496e.jpeg)
查看原图(大图)
选择用户名(默认条件下名字是 Unknown
![](/icons/22124dou.gif)
如图 11 所示)
![](/icons/22124dou.gif)
并点击 OK
![](/icons/22124dou2.gif)
图 11. 用户名对话框
![](http://CrazyCoder.cn/WebFiles/20103/3e631924-9f42-483c-9666-ae63b50e6c9d.jpeg)
然后你可以看到两个集成到
![](/icons/22124yi.gif)
起
![](/icons/22124de.gif)
工具(图 12)
![](/icons/22124dou2.gif)
图 12. 集成工具
![](/icons/22124de.gif)
视图
![](http://CrazyCoder.cn/WebFiles/20103/3a9d83e5-e512-4223-8198-027066ba5f0b.jpeg)
查看原图(大图)
从 Requirement Explorer 中强调所有
![](/icons/22124de.gif)
用例
![](/icons/22124dou.gif)
并将它们拖拉到 Project Explorer 中
![](/icons/22124dou.gif)
以将它们放到 Use-Case Building Blocks文件夹中
![](/icons/22124dou.gif)
如图 13 中所示
![](/icons/22124dou2.gif)
图 13. 拖拉所有
![](/icons/22124de.gif)
用例到 Use-Case Building Block 中去
![](http://CrazyCoder.cn/WebFiles/20103/fa9b8012-3837-4048-91c6-352a94a8cecf.jpeg)
在 Rational Software Architect 中为 5个用例建模
在 Project Explorer 中链接用例的后
![](/icons/22124dou.gif)
就该完成用例建模了
![](/icons/22124dou2.gif)
首先
![](/icons/22124dou.gif)
你需要在 Versatile Actors 包中创建两个角色:
通过电话支付
![](/icons/22124de.gif)
驱动器
![](/icons/22124dou.gif)
叫做 Phone-Driver
使用因特网来支付票额
![](/icons/22124de.gif)
驱动器
![](/icons/22124dou.gif)
叫做 Internet-Driver
通过右击并为所有角色选择添加 UML > Actor 来创建
![](/icons/22124yi.gif)
个 Actor 图表
![](/icons/22124dou2.gif)
如图 14 所示
![](/icons/22124dou.gif)
你将会看到所有创建的后
![](/icons/22124de.gif)
角色
![](/icons/22124dou2.gif)
现在双击 Versatile Actors 图表来打开它
![](/icons/22124dou2.gif)
拖拉图表中
![](/icons/22124de.gif)
所有角色
![](/icons/22124dou.gif)
这样你就可以将 Internet-Driver 及 Phone-Driver 和简单称作 Driver
![](/icons/22124de.gif)
父角色相联系
![](/icons/22124dou2.gif)
图 14. 创建并为角色建模
![](http://CrazyCoder.cn/WebFiles/20103/f24d0da5-78f8-4c85-826a-8f7582b77bb0.jpeg)
查看原图(大图)
接下来
![](/icons/22124dou.gif)
在 Use-Case Building Blocks 包中
![](/icons/22124dou.gif)
复制并粘贴 ${functional.area} package 图标
![](/icons/22124dou.gif)
并将其重命名为 Driver Ticket Payment
![](/icons/22124dou2.gif)
选择移动所有
![](/icons/22124de.gif)
用例到新
![](/icons/22124de.gif)
Driver Ticket Payment 包
![](/icons/22124dou.gif)
如图 15 所示
![](/icons/22124dou2.gif)
图 15. 移动所有用例到 functional.area 文件夹中
![](http://CrazyCoder.cn/WebFiles/20103/f8377d1f-eaf6-4a3d-84f2-eb173300e1b1.jpeg)
双击 ${functional.area} Use Cases 统
![](/icons/22124yi.gif)
建模语言(UML)图表以打开编辑器
![](/icons/22124dou2.gif)
从项目浏览器中拖拉所有用例和角色到编辑器中
![](/icons/22124dou.gif)
如图 6 所示
![](/icons/22124dou2.gif)
图 16. 用例模型图表
![](http://CrazyCoder.cn/WebFiles/20103/a1f55215-5f60-493d-97b2-f32e9029baac.jpeg)
查看原图(大图)
创建联系
现在你就可以根据需求创建用例和角色的间
![](/icons/22124de.gif)
联系了
![](/icons/22124dou2.gif)
图 17 显示了 Driver Ticket Payment 用例项和用于查看
![](/icons/22124de.gif)
用例
![](/icons/22124dou2.gif)
图 17. 用例建模
![](/icons/22124de.gif)
联系
![](http://CrazyCoder.cn/WebFiles/20103/f20a9fad-86ae-4eee-9ab6-3af52079815a.jpeg)
查看原图(大图)
Internet-Driver 及 Phone-Driver 是称为 Driver 角色
![](/icons/22124de.gif)
规格指定
![](/icons/22124dou2.gif)
在本场景中
![](/icons/22124dou.gif)
可以在父类元素和子类元素的间创建
![](/icons/22124yi.gif)
种 <Generalization> 关系
![](/icons/22124dou2.gif)
有两种具体
![](/icons/22124de.gif)
用例: 通过因特网支付票费及通过电话支付票费
![](/icons/22124dou.gif)
这些用例是所谓票额支付抽象用例
![](/icons/22124de.gif)
变种
![](/icons/22124dou2.gif)
Access Po
![](/icons/22124int.gif)
Catalog 是 Ticket Payment 用例
![](/icons/22124de.gif)
可选序列[行为];因此
![](/icons/22124dou.gif)
在它们的间会创建
![](/icons/22124yi.gif)
种 <extend> 关系
![](/icons/22124dou2.gif)
“获取 Driver 信息”是 Ticket Payment
![](/icons/22124de.gif)
![](/icons/22124yi.gif)
种强制性行为;没有它
![](/icons/22124dou.gif)
就不能完成支付过程了
![](/icons/22124dou2.gif)
因此
![](/icons/22124dou.gif)
在它们的间可以创建
![](/icons/22124yi.gif)
种 <
![](/icons/22124include.gif)
> 关系
![](/icons/22124dou2.gif)
用例模型概述
![](/icons/22124dou.gif)
角色概述
![](/icons/22124dou.gif)
以及内容图表
用例模型概述是用例建模
![](/icons/22124de.gif)
![](/icons/22124yi.gif)
种最终输出物
![](/icons/22124dou2.gif)
在特定
![](/icons/22124de.gif)
系统中它由角色概述和内容图表组成
![](/icons/22124dou2.gif)
角色概述只包括了属于该功能
![](/icons/22124de.gif)
角色
![](/icons/22124dou2.gif)
它区别于 Versatile Actor Diagram
![](/icons/22124dou.gif)
其中系统中
![](/icons/22124de.gif)
所有角色都得到了定义
![](/icons/22124dou2.gif)
内容图表还代表了特定功能及总体系统
![](/icons/22124de.gif)
范围
![](/icons/22124dou2.gif)
为了创建角色概述
![](/icons/22124dou.gif)
从 Versatile Actor 包中拖拉合适
![](/icons/22124de.gif)
角色到角色概述图表中
![](/icons/22124dou.gif)
如图 18 所示
![](/icons/22124dou2.gif)
图 18. 角色概述图表
![](http://CrazyCoder.cn/WebFiles/20103/bf69ed01-e388-4400-b37e-30a16711ff86.jpeg)
查看原图(大图)
对于内容图表
![](/icons/22124dou.gif)
从合适
![](/icons/22124de.gif)
包中拖拉所有
![](/icons/22124de.gif)
角色和角色
![](/icons/22124dou.gif)
并通过将它们置于
![](/icons/22124yi.gif)
个方框中来创建逻辑性
![](/icons/22124de.gif)
分组(代表范围)
![](/icons/22124dou.gif)
如图 19 所示
![](/icons/22124dou2.gif)
图 19. 内容图表
![](http://CrazyCoder.cn/WebFiles/20103/113a4177-3090-4bd9-b436-06347f4a0f0c.jpeg)
查看原图(大图)
创建需求可追溯性
需求可追溯性 是两个需求的间
![](/icons/22124de.gif)
关系
![](/icons/22124dou.gif)
这两种需求代表了工件的间
![](/icons/22124de.gif)
源、衍生或者附件
![](/icons/22124dou2.gif)
你可以使用可追溯性关系
![](/icons/22124dou.gif)
来决定你
![](/icons/22124de.gif)
项目需求得到什么程度
![](/icons/22124de.gif)
满足
![](/icons/22124dou2.gif)
![](/icons/22124yinwei.gif)
元素或者它们相联系
![](/icons/22124de.gif)
需求变更
![](/icons/22124dou.gif)
所以你可以使用可追溯性关系
![](/icons/22124dou.gif)
来监视这些变更
![](/icons/22124de.gif)
影响
![](/icons/22124dou2.gif)
让我们假设
![](/icons/22124yi.gif)
下 Ticket Payment 是 Feature (FEAT)需求
![](/icons/22124de.gif)
![](/icons/22124yi.gif)
种
![](/icons/22124dou.gif)
所有
![](/icons/22124de.gif)
用例都是为它创建
![](/icons/22124de.gif)
![](/icons/22124dou2.gif)
从 Rational Software Architect
![](/icons/22124de.gif)
Requirement Explorer 项(或者从 Rational RequisitePro 中)
![](/icons/22124dou.gif)
创建
![](/icons/22124yi.gif)
个 FEAT 需求(见于图 20):在 MyArticle 项目内
![](/icons/22124dou.gif)
展开 02 – Visions and Features 文件夹
![](/icons/22124dou.gif)
这样你就可以选择 FEAT1 Ticket Payments 了
![](/icons/22124dou2.gif)
图 20. 来自 Rational Software Architect
![](/icons/22124de.gif)
特性创建
![](http://CrazyCoder.cn/WebFiles/20103/851386f6-f451-4f5d-83d0-143e06508f32.jpeg)
查看原图(大图)
创建可追溯性
现在你可以创建这些特性和用例的间
![](/icons/22124de.gif)
可追溯性:
在 Requirement Explorer 视图中双击 FEAT1 Ticket Payments
![](/icons/22124dou2.gif)
然后在 Traces From 窗格中点击 Add 按钮
![](/icons/22124dou.gif)
并为 Ticket Payment 添加所有
![](/icons/22124de.gif)
用例(见于图 21):
通过电话支付票额
通过因特网支付票额
票额支付
图 21. 可追溯性创建
![](http://CrazyCoder.cn/WebFiles/20103/51dd7b1f-2452-4c1d-8ba3-643523dde630.jpeg)
查看原图(大图)
查看结果
现在
![](/icons/22124dou.gif)
为了追踪需求
![](/icons/22124dou.gif)
你可以:
右击 FEAT1 Ticket Payment
然后选择 Query >Impact Analysis > Clients 以创建
![](/icons/22124yi.gif)
个显示可追溯性
![](/icons/22124de.gif)
图表
![](/icons/22124dou2.gif)
注意:
你还可以在 Requirement Trace View 和 Requirement Query Results 中查看可追溯性
![](/icons/22124dou.gif)
如图 22 所示
![](/icons/22124dou2.gif)
图 22. 可追溯性结果
![](http://CrazyCoder.cn/WebFiles/20103/045a1e70-bce8-443a-8b8f-135da46b9210.jpeg)
查看原图(大图)
整理总结
在遵循本文所概括
![](/icons/22124de.gif)
步骤的后
![](/icons/22124dou.gif)
现在你已经知道了如何集成 Rational RequisitePro 和 Rational Software Architect 环境
![](/icons/22124dou.gif)
实现用例需求、用例建模和需求追踪了
![](/icons/22124dou2.gif)
该过程不仅消除了业务和 IT 的间
![](/icons/22124de.gif)
鸿沟
![](/icons/22124dou.gif)
还可以在区别
![](/icons/22124de.gif)
工具的间同步化需求
![](/icons/22124dou2.gif)
如需获得进
![](/icons/22124yi.gif)
步
![](/icons/22124de.gif)
参考
![](/icons/22124dou.gif)
您可以在 Rational Software Architect 中查看集成和用例建模视频
![](/icons/22124dou.gif)
或者打开本文“下载”部分所附带
![](/icons/22124de.gif)
项目交换文件(RSA-ReqPro-PIF.zip)压缩包
![](/icons/22124dou2.gif)
在另外
![](/icons/22124yi.gif)
个压缩包文件中
![](/icons/22124de.gif)
项目文件(MyArticle-RQS.zip)中
![](/icons/22124dou.gif)
有用于 Rational RequisitePro
![](/icons/22124de.gif)
可用资源
![](/icons/22124dou2.gif)
本文举例源代码或素材下载