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

news2025/7/7 1:39:56

一、前景

参考:

一种替代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 win32com

def LoadOfficeAddon() :
    WordAddInComObject = None
    Word = win32com.client.Dispatch('Word.Application')
    docAddin = Word.COMAddIns("ReqIDHelperWord16") # Load VSTO add-on
    Word.Visible = 0

    if docAddin != None :
        print("Load ReqIDHelperWord16 Add-In program OK")
        WordAddInComObject = docAddin.Object
        if 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 = 0
    if len(targetDoclist) > 1:
        print("#" * 80)
        for doc in targetDoclist:
            print("ReBuildTrace: " + str(doc))

        for targetdoc in targetDoclist:
            # Check the document type: word or another
            if (IsWordDocument(targetdoc)) :
                wordNum = wordNum + 1
                doc = Word.Documents.Open(targetdoc)
                Word.Visible = 0
                # Clear requirement property
                WordAddInComObject.ClearReqPropertyValue(doc, "Link By") # call com interface
                WordAddInComObject.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 another
            if (IsWordDocument(targetdoc)) :
                wordNum = wordNum + 1
                doc = Word.Documents.Open(targetdoc)
                Word.Visible = 0
                # Clear requirement property
                WordAddInComObject.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 rebuild
    if (wordNum > 1):
        WordAddInComObject.SetSlientMode(True)
        WordAddInComObject.CreateSpecDocListCrossLink(docHandles, appends)

3、自动化生成报告

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

统计报告示例

详细报告示例

四、总结

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

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2331937.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个基于ragflow的工业文档智能解析和问答系统

工业复杂文档解析系统 一个基于ragflow的工业文档智能解析和问答系统,支持多种文档格式的解析、知识库管理和智能问答功能。 系统功能 1. 文档管理 支持多种格式文档上传(PDF、Word、Excel、PPT、图片等)文档自动解析和分块处理实时处理进度显示文档解析结果预览批量文档…

23种设计模式-行为型模式-访问者

文章目录 简介场景解决完整代码核心实现 总结 简介 访问者是一种行为设计模式,它能把算法跟他所作用的对象隔离开来。 场景 假如你的团队开发了一款能够使用图像里地理信息的应用程序。图像中的每个节点既能代表复杂实体(例如一座城市)&am…

组播网络构建:IGMP、PIM 原理及应用实践

IP组播基础 组播基本架构 组播IP地址 一个组播IP地址并不是表示具体的某台主机,而是一组主机的集合,主机声明加入某组播组即标识自己需要接收目的地址为该组播地址的数据IP组播常见模型分为ASM模型和SSM模型ASM:成员接收任意源组播数据&…

建筑兔零基础自学记录69|爬虫Requests-2

Requests库初步尝试 #导入requests库 import requests #requests.get读取百度网页 rrequests.get(http://www.baidu.com) #输出读取网页状态 print(r.status_code) #输出网页源代码 print(r.text) HTTP 状态码是三位数字,用于表示 HTTP 请求的结果。常见的状态码有…

NVIDIA PhysX 和 Flow 现已完全开源

NVIDIA PhysX SDK 在 3-Clause BSD 许可下开源已有六年半了,但其中并非所有内容都是开源的。直到最近,随着 GPU 模拟内核源代码在 GitHub 上的发布,这种情况才有所改变。以下是 NVIDIA 分享的消息,以及 Flow SDK 着色器实现的发布…

电脑DNS出错无法打开网页

目录 解决步骤 打开“控制面板”--》“查看网络状态和任务” 打开“更改适配器设置” 对WLAN右键,打开属性 打开“使用下面的DNS服务器地址”--》高级 添加“114.114.114.114”,点击确定 今天晚上突然网页打不开了,一开始我以为是网络的…

[Redis]redis-windows下载安装与使用

本篇记录windows redis下载安装与使用。 下载 官网下载方式(没windows版) https://redis.io/downloads/#stack 可以选择下载社区版Redis CE与增强版Redis Stack。 两者都不支持直接运行在windows上,需要Docker环境。 You can install Redis CE locally on your …

极氪汽车云原生架构落地实践

云原生架构落地实践的背景 随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。 为快速响应用户的需求,例如…

2025年AI开发学习路线

目录 一、基础阶段(2-3个月) 1. 数学与编程基础 2. 机器学习入门 二、核心技能(3-4个月) 1. 深度学习与框架 2. 大模型开发(重点) 三、进阶方向(3-6个月) 1. 多模态与智能体…

oracle 动态性能视图

Oracle 数据库中的 V$SQLAREA 是一个动态性能视图(Dynamic Performance View),用于记录共享池(Shared Pool)中所有 SQL 语句的统计信息。每个 SQL 语句在共享池中存储为一个游标(Cursor)&#x…

Vue3+Vite+TypeScript+Element Plus开发-10.多用户动态加载菜单

系列文档目录 Vue3ViteTypeScript安装 Element Plus安装与配置 主页设计与router配置 静态菜单设计 Pinia引入 Header响应式菜单缩展 Mockjs引用与Axios封装 登录设计 登录成功跳转主页 多用户动态加载菜单 Pinia持久化 动态路由-配置 文章目录 目录 系列文档目…

前端用户列表与后端分页协同设计

分页实现方案 在现代Web应用中,用户列表展示与分页是一个常见的功能需求。前端与后端通过API协同工作,使用PageHelper等工具实现高效分页。 例如: 后端实现 (使用PageHelper) public PageResult DishPage(DishPageQueryDTO dishPageQuery…

精准测试建设过程中遇到的一些问题

1.sqlite3 仅可以处理单个任务问题,多线程往往会面临数据库锁定 因为仅临时存储,后来在创建数据库时,给每个任务开了一个临时数据库,存储数据执行完毕后,删除db sql_insert_new:INSERT INTO analyze_api_resault_dynam…

【Docker】Dockerfile 编写实践

👻创作者:丶重明 👻创作时间:2025年4月8日 👻擅长领域:运维 目录 1. Dockerfile编写原则1.1.选择合适的基础镜像1.2.镜像层优化1.3.多阶段构建1.4.安全增强 2. 关键指令与技巧2.1.COPY vs ADD2.2.ENTRYPOIN…

LabVIEW商业软件开发注意问题

在 LabVIEW 商业软件开发进程中,性能优化、界面设计及兼容性与扩展性,对软件品质、用户体验和市场适配性起着决定性作用。下面,借助多个LabVIEW 编程特性的实际案例,深入分析这些方面的开发要点。 一、性能优化:提升软…

Java 中 SQL 注入问题剖析​

一、引言​ 在当今数字化时代,数据是企业和组织的核心资产之一。许多应用程序都依赖于数据库来存储和管理数据,而 Java 作为一种广泛使用的编程语言,常被用于开发与数据库交互的应用程序。然而,SQL 注入这一安全漏洞却如同隐藏在…

深度学习项目--分组卷积与ResNext网络实验探究(pytorch复现)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 前言 ResNext是分组卷积的开始之作,这里本文将学习ResNext网络;本文复现了ResNext50神经网络,并用其进行了猴痘病分类实验…

CSS 笔记——Flexbox(弹性盒布局)

目录 1. Flex 容器与 Flex 项目 2. 主轴与交叉轴 3. Flex 容器的属性 display flex-direction justify-content align-items align-content flex-wrap 4. Flex 项目的属性 flex-grow flex-shrink flex-basis flex align-self 5. Flexbox 的优点 6. Flexbox 的…

cpp(c++)win 10编译GDAL、PROJ、SQLite3、curl、libtiff

cpp(c)编译GDAL、PROJ、SQLite3 Sqlite3libtiffcurlprojGDAL Sqlite3 1、下载 Sqlite3 源码、工具、二进制预编译 exe Sqlite3 官网:https://www.sqlite.org/download.html 下载 sqlite-amalgamation-3430200.zipsqlite-dll-win64-x64-3430…

每日一题(小白)暴力娱乐篇23

由题意得知给我们一串数字,我们每次交换两位,最少交换多少次成功得到有顺序的数组。我们以平常的思维去思考,加入给你一串数字获得最少的交换次数,意味着你的交换后续基本不会变,比如说2 1 3 5 4 中1与2交换后不变&…