clearquest开发文档

clearquest开发文档

ID:33855857

大小:147.54 KB

页数:4页

时间:2019-03-01

clearquest开发文档_第1页
clearquest开发文档_第2页
clearquest开发文档_第3页
clearquest开发文档_第4页
资源描述:

《clearquest开发文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ClearQuest开发文档--Byscmtata不知道我是否适合SCM,或者说SCM适合我;不知道能走多久,能走多远;有点迷茫,但不彷徨。。。==============================黄金分割线================================介绍:1.ClearQuest开发主要在于在designer内对schema进行修改,通过脚本来控制管理流程和优化操作方式。2.ClearQuest提供两种脚本语言:perl和VBS,个人觉得perl相对比较简单,只要学过C语言都能很快上手perl。ClearQuest

2、搭建测试环境:1.数据库的选择:采用MS_access数据库,因为测试数据库只是为调试功能,我并不关心数据库内的数据,所以选择最简单的数据库;2.建立流程:•用admin登入cqDesigner;•数据库->新建数据库;•在弹出的页里:•供应商:MS_ACCESS;•物理数据库名称:找个存放的目录就行了;•选择测试数据库(不包含生产数据)。•选择数据匹配的schema•这样一个完成一个可供测试的环境;检出要修改的版本,测试的时候设置测试数据库选择这个数据库进行测试就可以了。检入并升级数据库(应用)1.若测试通过后,要进行应用时,需要有两个步骤

3、•检入:Checkin时将会弹出注释弹口,填写好注释点击OK就完成CI操作;•升级相应的数据库:这个操作步骤相当重要,是属于不可逆的操作,选择要升级的数据库,指定版本号;2.升级数据库后,客户端需要重起下才能看到改变。ClearQuest环境下的perl开发1.ClearQuest是一个流程管理工具,而不是一个IDE,所以数据的完整性和安全性是它最首要考虑的问题,它的开发方式和调试和IDE有很大的差距;2.在CQ下编写Perl脚本必须遵守CQ规则,有些可能第一次接触感觉会比较麻烦;3.CQ下的调试也比较简陋(其实脚本都很短的,如下的调试方式完

4、全够用的):•cq自带的调试工具dbwin32.exe•代码中调用sessionobj.OutputDebugString查看变量值进行调试;•使用Win32包。•useWin32;Win32::MsgBox($value,16,"title");4.perlapi帮助•Cq自带的帮助文档位于ClearQuestdochelpcq_apiindex.htm;•包含了CQ的所有的API函数,这些API函数说明得很详细且大多带有案例,对自己编写脚本时非常有帮助;•熟悉API对写脚本时有帮助,比如,之前不知道有GetFieldOrigin

5、alValue()来取得一个字段的前一个状态,采用查询数据库的方法,虽然也实现了,但是应用后发现所使用的sql语句在DB2下不兼容,修改使之在MSMQL和DB2下都兼容的,修改后发现还是偶尔会出现问题(可能是查询数据库时延时导致的);如果熟悉API的话就不会出现这么多麻烦了。窗件控件1.ClaerQuest是以record为基本单位,record依赖于字段,在对控件进行编程时,你无法直接以控件为对象来进行操作,而是先要将控件和一个字段关联,通过字段来控制控件;2.ClearQuest窗体在默认情况下都是只读的,只过通过actions(比如Mo

6、dify)才能激活窗件才能进行操作,所以采用脚本去自动修改record的值都伴随着action操作,在note_log里也将记录这些操作;编写脚本原则1.尽量使每个脚本相对独立;2.减少每次版本修改内容(以便查错及回滚),将所做修改写明于jira事务(或者其它地方),并注释版本说明;3.CQ上加脚本进行控制时,要考虑系统的完整性等,如果一直往系统里加脚本以到达一些小方便,到最后可能会疲于修改这些脚本带来的错误,类似于CC的trigger的使用(方便但不能滥用),看看这篇文章:trigger不是万能的。案例:1.目的:查找一个记录所在记录树的所

7、有记录,并显示在列表视图控件内2.原理•设计parent/child控件是采用一对多的父子关系,也就是父记录只能有一个,而子记录可以有多个,因此有继承关系的记录就形成了一棵树;•等价于:从这棵树上的任何一个结点查找到整棵树上的所有结点;•算法:•从当前结点查找到树的根:采用递归算法查找根,若当前结点有父记录,则查找它的父结点,否则该结点就是根;•从根开始递归查找树的所有结点:对根下的每个子结点做如下判断:•若子结点为叶子结点,则不再往下查找;•若子结点还有子结点,则递归往下查找。算法很简单,但是在CQ这种特殊的环境下实现有一些需要注意地方3.

8、实现过程•添加referent_list字段recordtree,引用defect,此字段用于关联listview控件;•增加一个GetReordTreee操作,用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。