SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4848|回复: 2

[推荐] 根据多个需求项目创建基线

[复制链接]
发表于 2012-2-29 21:18:25 | 显示全部楼层 |阅读模式
本帖最后由 技术狂人 于 2012-2-29 21:21 编辑
* Y8 R( k; O' b1 t  u# W4 L
' y" F, z9 v6 l6 r基线是项目中所存在内容的 XML 格式表示。IBM® Rational® RequisitePro® 包含一个工具,您可以使用该工具创建基线,在树结构中查看基线,或者是比较两个基线并生成比较报告。您还可以根据现有项目基线构建新项目。
) o7 r! M. Z* S+ [) |有时,您需要能够创建多个项目的基线或者自动化基线创建。在这些情况下,您必须使用 Rational RequisitePro Baseline Manager Library 来轻松创建这些基线。
9 y$ r6 {, `8 u0 W1 s3 E$ S3 f' g! t关于库& ?- W8 r* H% \" f3 [
基线管理器库 (RqBaseComp.dll) 是 Rational RequisitePro Extensibility Interface (RPX) 的一部分。它包含 CreateBaseline 方法,该方法用于创建多个项目的基线或者自动化基线创建。( x7 Y9 i" Z& {2 o) P5 }
CreateBaseline 方法
& G. m8 R4 }! o7 k% u: yThe CreateBaseline 方法将 DataDescriptor 作为参数接收,提供有关 RequisitePro 基线的属性的信息。您可以在 Extensibility Interface Reference 下的 RequisitePro Help 菜单中找到有关 DataDescriptor 的更多信息。5 o2 z9 C7 k/ T' C& \
下列行是一个语法示例:BaseCompDataDescriptor.CreateBaseLine(oData As DataDescriptor) As Boolean+ i( B2 p0 I6 M1 {
BaseCompDataDescriptor 对象及其方法位于 RqBaseComp.dll 库中,该库包含在 Rational RequisitePro 安装文件夹的 bin 目录下:C:\Program Files\IBM\RationalSDLC\RequisitePro\bin\RqBaseComp.dll
, V) X- P3 Y# @. e

1 \+ c) y8 F; D- I3 \9 ^2 T. J8 e0 a6 N1 w
根据库创建基线的用例# V4 E; H3 \; g2 ]) ^
使用基线管理器库时,您可以通过编写脚本来定制基线创建任务。当您需要频繁地为同一项目创建基线,或者需要重复为多个项目创建基线时,可使用此方法,比如在下列情形中:
8 G, ~! P1 O# J9 B% C
  • 在特定路径中为每个项目生成基线。
  • 根据 RequisitePro 目录为每个项目生成基线。
  • 以固定间隔(比如每日、每周或每月)生成基线。- C2 O" n0 y4 K! Y0 F


) h' G% }$ ~- [' g- z/ f  Z* O% z* b9 ^: a  P, y6 \' Z8 e
代码示例
6 M  \% ^4 x% }* k下列代码示例提供了使用 Visual Basic 或 Java 语言创建项目基线的指南。" H# L& r( {) i0 v; n2 ?3 P
清单 1 中的示例展示了如何创建 RequisitePro 示例项目的项目基线。要运行此脚本,则必须添加对该库的一个引用,比如 C:\Program Files\IBM\RationalSDLC\RequisitePro\bin\RqBaseComp.dll
$ F' T* s" _4 m& N% }3 W清单 1. 创建项目基线9 \2 _8 z/ p4 ?+ z% y$ [2 ~+ s
             Dim a_oData As RqBaseComp.DataDescriptor. M! q+ D6 G5 Y* w3 E
             Dim a_oBaseComp As RqBaseComp.BaseCompApplication
! X. U6 N8 e. ^- y% V; X/ `: j7 p             Dim a_sRQSPath As String
# k2 h- @* U3 n             Dim a_sProjectName As String
; \" f7 D4 T* _" L  r3 t4 q7 b' M+ s/ R
             Set a_oBaseComp = New RqBaseComp.BaseCompApplication
* A/ Q1 O3 l2 f" {9 Z             Set a_oData = New RqBaseComp.DataDescriptor $ N. ?" E7 t' b- G& S
             a_sRQSPath = "C:\Program Files\IBM\RationalSDLC\RequisitePro" & _
2 ^8 V4 \! u. Q3 R1 C             "\samples\Learning_Project-Use_Cases\"" F; W" \* m% g+ M# U+ F0 y

" R" Y( y& B9 j' U             a_sProjectName = a_sRQSPath & "LEARNING - USE CASES.RQS"
' [0 U, a( y  L
( i+ k: M! S: t& V- S7 @             With a_oData5 R  o$ G1 l# r; I: A" P
                  'set .ReqProProject = a_oProject ' can use this or the RQSFilepath
/ j# @9 M: {% z: t6 M                .RQSFilePath = a_sProjectName" y# J9 U  K9 R- h- Q4 u
                .UserName = "admin"
. O) |5 k7 @5 r' c$ L                .UserPassword = """ Y0 r0 f2 o6 r( u# Y, a2 K9 s
                .Location = a_sRQSPath & "Baselines"
! Z$ @( c8 H6 E4 n& W; T( I                .Label = "Baseline-label"( G( {/ j; e1 o# i9 a9 |  M
( K2 M+ l4 }/ A8 [( e
                 'baseline type* ^* p# Q8 U7 y7 {
                .ElementType = eProject
4 a& W" I) Z* G# f* Z: t, ^. @  Z' j+ T  I& @1 p
                ' what do you want to baseline. E4 S( l. S. L% k) }
                .Traceability = True
$ K" Q' b/ L0 m8 d# n8 \; h                .Discussion = True; X# L/ e3 d! j4 J5 \
                .History = True
( e) l: ~3 g0 x3 K  }& p. s                .CPT = True
- d+ B! K4 F# j& i' y  x+ I# Z2 E( X+ l( W, h# E+ w
             End With
* |8 b3 v! i" ~9 K5 C- s             ' Create the baseline
( q, ?$ |5 L5 L7 e7 q             a_oBaseComp.CreateBaseLine a_oData
4 {+ t: w- H, u) j* @             Set a_oBaseComp = Nothing* o) n4 K+ d5 g6 c3 ?; d( U
             Set a_oData = Nothing

& Z3 l+ f- c/ N- ~' s+ s9 e清单 2 中的代码展示了如何使用 Java 语言创建项目基线。此特定代码片段显示,该代码将传递的基线选项作为参数使用,以便动态设置它们。
4 o% _9 }# T1 T. m要运行此代码,您必须添加下列库:C:\Program Files\IBM\RationalSDLC\RequisitePro\lib\BaseComp.jar4 U8 y/ ~8 l) J: L- e5 s
清单 2. 创建项目基线
! P0 [1 A% b" _
            BaseCompRPXProxy bcRPXProxy = (BaseCompRPXProxy) new1 ^& h. x2 \2 O
                BaseCompRPXProxy();
6 L6 D0 ~7 f, l: u% R  u; U           RPXProxyDataDescriptor oDataDesc = new
9 E& x4 C2 m8 h6 o                RPXProxyDataDescriptor();1 J6 I' ]. j' e" O+ F- {( C
          ProxyProject oProject = null;5 D6 A  B" J- e9 a% |+ w
& u9 a, s, {; Q( d
          oProject = bcRPXProxy.openProject(projectPath, projectUserID," x2 N0 u. Z# G
                projectPWD);
# z; t1 T, k6 l9 l1 v
; l" L0 c( e1 V1 Z7 }. I            oDataDesc.project(oProject);, c6 a$ B" {6 }4 ?
            oDataDesc.projectFilePath(projectPath);
( r- U; a! P$ V3 n+ D7 o1 [
9 a: W: H( j7 b1 d            oDataDesc.userName(projectUserID);
; W, ~9 @5 u  \1 L            oDataDesc.userPassword(projectPWD);" e& v2 C7 J" Q' v) p2 m
            oDataDesc.label(projectLabel);
8 ~. Y4 Q( G1 l) N            oDataDesc.location(projectDest);
4 A& z/ d# K; J( O           
( g$ @+ `, y* ?0 x            // Options
+ a. g1 W" r! h2 [8 f            oDataDesc.traceability(projectTraceability);% M; H5 [) U( a% X  T9 T$ `
            oDataDesc.cpt(projectCPT);
. ^7 K4 T, y0 ^; i0 U& A& L            oDataDesc.discussion(projectDiscussion);& i2 u* r& l. O. j2 A2 z8 U
            oDataDesc.history(projectHistory);
4 a" h1 H) W9 \+ o' v* X- P
6 F. E! r5 \9 L7 A( o3 l            oDataDesc.elementType( EnumProxyElementType.project);4 B% q  b6 _, |4 A& N% B& o! `  a

, Q& K4 l! D6 O& ^% h! O8 i            bcRPXProxy.createBaseline(oDataDesc);6 j% t4 t" q4 o

3 q$ T) y) L# y& t2 D0 w            oProject.closeProject();
1 h& \, }. [0 _8 |& c" e


. v) f4 ]6 I0 C: V* A6 x: L, {1 a  |2 I7 X7 }7 W9 G: i- ]
将基线从 RequisitePro导入到 IBM Rational Requirements Composer8 X( o% E& X2 ?) a! |0 s6 q7 F1 H
在 IBM Rational Requirements Composer 3.0.1.x 中,有一个可将从库创建的基线导入项目中的功能。通过选择 Administration > Import RequisitePro Project,可在 Requirements Composer 工具中使用此功能。
5 D5 j+ a0 E1 u! U4 O: _
6 q' B1 W! d0 p) a, U图 1. Import RequisitePro Project 向导% L/ a" H6 X& A' b

* L1 C, p7 A) D4 F8 G: _, Q+ j
5 b7 ?. Y5 m. L8 Z

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
 楼主| 发表于 2012-2-29 21:22:17 | 显示全部楼层
本帖最后由 技术狂人 于 2012-2-29 21:25 编辑
) P8 q! u6 Q1 p0 V9 b. n4 u3 c9 b7 i5 V6 @9 @
下载. r3 u3 G9 b- D/ p* p
描述名字大小
清单 1 的示例脚本5KB
清单 2 的示例脚本2KB

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-29 21:24:16 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2018-1-18 06:39 , Processed in 0.066550 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表