« Doors使用问题解决(二) | Main | 韩国酱汤 »

Doors使用实例(二)

按理说不应该拿出来丢人的,但是为了怕自己将来忘记了,所以还是写上吧

客户要求:
1、需求文档中必须含有功能名称,界面说明,界面缺陷说明,规则说明,规则缺陷说明,功能缺陷小结。
2、将缺陷说明对应到相应的部分,即规则缺陷对应到规则说明上,缺陷小结对应到功能点上。即形成属性。
3、讲所有的规则说明都对应到功能点上,作为属性。
实现方式:
1、将文档导入到DOORS中,清除所有的不规范的显示
2、增加一个新属性,名字是“业务功能点”,为Boolean类型。增加该属性的目的是在导入的Module中标示那些是功能点。
3、然后增加相应的缺陷说明,缺陷小结,业务规则属性,类型都为Text。
4、在导入的Module中通过更改属性“业务功能点”的值来标识树形结构中的功能点。
5、然后运行如下程序提取缺陷说明和缺陷小结。
Module m=current
Object o
Object obj
string strFID = ""
string strRID = ""
string strDID = ""
string strSID = ""
string str_1
string str_2

for o in m do
{
str_1 = o."业务功能点"
str_2 = o."Object Heading"
o."缺陷说明" = ""
o."缺陷小结" = ""
if ( str_1=="True")
{
strFID = identifier o
}
if ( str_2=="业务规则分析")
{
strRID = identifier o
strSID = identifier(next(sibling(o)))
}

else if (str_2=="缺陷说明")
{
strDID = identifier o
}

if (strDID != "")
{
if (o."Object Text" != null && strDID == identifier(parent(o)))
{
obj = object(intOf(strRID),m)
obj."缺陷说明" = obj."缺陷说明" o."Object Text" "\n"
}
}
if (strSID != "")
{
if (o."Object Text" != null && strSID == identifier(parent(o)))
{
obj = object(intOf(strFID),m)
obj."缺陷小结" = obj."缺陷小结" o."Object Text" "\n"
}
}

}
save (m)

6、再运行如下程序提取业务规则。
Module m = current
Object o
Object obj
string strFID = ""
string strRID = ""
string str_1
string str_2

for o in m do
{
str_1 = o."业务功能点"
str_2 = o."Object Heading"
o."业务规则" = ""
if(str_1 == "True")
{
strFID = identifier o
}
if(str_2 == "规则说明")
{

strRID = identifier o

}


if(strRID != "" && strFID == identifier(parent(parent(object(intOf(strRID),m)))))
{
if(o."Object Text" != null && strRID == identifier(parent(o)))
{
obj = object(intOf(strFID),m)
obj."业务规则" = obj."业务规则" o."Object Text" "\n"
}
}


}
save (m)
7、然后根据需要建立视图,完成整个工作。


在这两段程序中用到的比较重要的函数有
int intOf(string s) 将字符串转换为整数
string identifier (object o) 获取对象的ID
object parent(object o) 获取某一对象的父对象
object object(int i,module m) 根据ID号和Module名字生成对象。
save(module m) 保存模块。


RelatedEntries:
TD或者QC的字段扩展 - 03 21, 2006
MI公司QC的SP认证考试 - 12 27, 2005
QC的权限问题 - 12 19, 2005
QC的问题定位及解决(二) - 11 18, 2005
QC错误定位和解决 - 10 31, 2005

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)