欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 一种替代DOORS在WORD中进行需求管理的方法 (二)

一种替代DOORS在WORD中进行需求管理的方法 (二)

2025/5/5 10:19:49 来源:https://blog.csdn.net/xianghuaizi/article/details/147097175  浏览:    关键词:一种替代DOORS在WORD中进行需求管理的方法 (二)

一、前景

参考:

一种替代DOORS在WORD中进行需求管理的方法(基于WORD插件的应用)_doors aspice-CSDN博客

二、界面和资源

WORD2013/WORD2016 插件 【已使用该工具通过第三方功能安全产品认证】:

1、 核心功能

1、需求编号和跟踪矩阵

2、插件支持跟踪的结果统计

注:加密工具会自动将保存为CSV扩展名的文件主动加密,插件只生成CSV格式,但用tscv扩展名;使用者在导入Tessy之前,必须将扩展名手动改为CSV

3、WORD文件配置标记方式

      

4、下载资源链接

WORD2013/WORD2016 插件安装包:

【免费】WORD2013/2016,需求管理插件,安装包,VS2017VSTO工程,C#开发源码参见:https://download.csdn.net/download/xianghuaizi/905资源-CSDN文库

Python自动化处理源码:

【免费】ReqIDHelperWord16需求管理插件自动化工具,源码,python开发资源-CSDN文库

 WORD2013/WORD2016 插件源码:

WORD2013/2016,需求管理插件,源码,VS2017VSTO工程,C#开发资源-CSDN文库

三、扩展使用

1 、COM接口

        System.Collections.ArrayList CreateReqIDTableCollection(Word.Document targetDoc);string GetReqPropertyValue(string reqID, string name);string GetReqMainText(string reqID);void SetSlientMode(bool slient);void CreateSpecDocListCrossLink(Word._Document[] docs, bool[] appends);void ImportExcelLinkList(string targetDocName, string srcExcelName, string[] reqIDs, string[] cellAddrs);int CreateExcelReqLink(string targetDocName, string reqProperty, bool append, string srcExcelName, string[] reqIDs, string[] traceIDs, string[] cellAddrs);void CreateWordReqLink(Word.Document targetDoc, Word.Document srcDoc, string property, bool append);void CreateWordSelfLink(Word.Document targetDoc);string[] ExportFileVersionInformation(Word.Document doc);void ClearReqPropertyValue(Word.Document targetDoc, string reqProperty);void AddTraceInformation(Word.Document targetDoc, string inf);void ExportReqWithoutPropertyTable(string outPath, Word.Document targetDoc);string GetVerInformation();

2、Python使用示例

1、加载com组件

import win32comdef LoadOfficeAddon() :WordAddInComObject = NoneWord = win32com.client.Dispatch('Word.Application')docAddin = Word.COMAddIns("ReqIDHelperWord16") # Load VSTO add-onWord.Visible = 0if docAddin != None :print("Load ReqIDHelperWord16 Add-In program OK")WordAddInComObject = docAddin.Objectif WordAddInComObject != None :print("Load ReqIDHelperWord16 Add-In COM Object Sucessful!")print(WordAddInComObject.GetVerInformation())return [Word, WordAddInComObject]

2、接口调用 

def ReBuildTrace(Word, WordAddInComObject, targetDoclist) :docHandles = []appends = []wordNum = 0if len(targetDoclist) > 1:print("#" * 80)for doc in targetDoclist:print("ReBuildTrace: " + str(doc))for targetdoc in targetDoclist:# Check the document type: word or anotherif (IsWordDocument(targetdoc)) :wordNum = wordNum + 1doc = Word.Documents.Open(targetdoc)Word.Visible = 0# Clear requirement propertyWordAddInComObject.ClearReqPropertyValue(doc, "Link By") # call com interfaceWordAddInComObject.ClearReqPropertyValue(doc, "Test By")docHandles.append(doc)appendFlag = AppendMode #appends.append(appendFlag)Word.Documents.Save()elif len(targetDoclist) == 1:for targetdoc in targetDoclist:# Check the document type: word or anotherif (IsWordDocument(targetdoc)) :wordNum = wordNum + 1doc = Word.Documents.Open(targetdoc)Word.Visible = 0# Clear requirement propertyWordAddInComObject.ClearReqPropertyValue(doc, "Test By")docHandles.append(doc)appendFlag = AppendMode #appends.append(appendFlag)Word.Documents.Save()# There are only one word document, don't need to rebuildif (wordNum > 1):WordAddInComObject.SetSlientMode(True)WordAddInComObject.CreateSpecDocListCrossLink(docHandles, appends)

3、自动化生成报告

借助插件和python丰富的库可以生成以下报告(统计报告和详细报告)

统计报告示例

详细报告示例

四、总结

通过该工具能够替代专业工具,但额外维护的花费时间较多。如果经费允许,还是使用专业工具,例如DROME。

 

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词