首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

基于需求管理工具的软件文档追溯管理

作者:王定涛 贺涛 祝国锦 来源:科技风

摘 要:轨道交通软件作为SL4级别的高安全型软件,其软件开发过程需要生成相应的证据,显示其输出可追踪至相应的活动及输入。在软件开发流程和安全验证管理中,本文对软件生命周期的文档通过提取文档结构的追溯矩阵对应ID,私有定制正则表达式在需求管理工具中进行文档追溯管理。通过定制报告生成软件文档上下追溯管理报告。满足安全认证标准EN 50128:2011/IEC 62279:2015对高安全性软件追溯性的要求。

关键词:轨道交通;安全验证;文档追溯;需求管理

在轨道交通领域,软件开发各个阶段的可追溯性[ 1 ],在国际安全标准IEC 62279中被明确要求,在高安全软件的安全认证流程中,从系统需求到软件需求、一直到源代码之间的可追踪性,可通过追踪性来验证所有需求是否被完整地实现。需求管理作为需求工程的主要内容[ 2 ]。很多时候作为一个软件能否成功的标准。而借助于需求管理工具可以有效解决软件项目生命周期中需求管理方面的问题,有效缩减成本[ 3 ]。需求追踪管理工具有需求追踪和影响分析的解决方案,能够规范软件设计团队流程。同时软件的需求管理是软件的设计、开发和维护的重要前提[ 4 ]。相对于人工建立的追溯矩阵,所有的内容都需要从Word文档中手动提取相应追溯矩阵,费时费力。基于需求管理工具对软件全过程开发文档进行有效的控制。对软件开发各个阶段的开发、测试以及验证文档在需求管理工具中进行关联性定义和跟踪。能够方便、快捷的给出最新的开发文档之间的追踪信息,为软件的安全认证开发提供最坚实的证据流程。

1 需求管理工具结构

RMGateway需求管理工具为软件开发过程提供了一个较好的追溯解决方案,它可以配置解析多种类型文档的可追溯信息,更新文件的可追溯关系,提供覆盖率和影响分析。通过对需求与设计间的覆盖分析,对需求变更等进行管理,满足高安全性嵌入式软件对开发流程的高要求。利用需求管理工具建立输入与输出的关联关系,输入一些文本处理文档如Word,Excel,PDF等,代码文件如C,C++等,通过需求管理工具图形用户界面进行相应的追溯管理,最后生成相应的报告。需求管理工具实现软件追溯的结构流程如图1所示。借助需求管理工具功能模块,可以在软件设计各阶段中实现追溯性,同时能与其它需求管理工具如DOORS等的接口建立联系,从而实现软件追溯性的可移植、可共享。

2 软件文档追溯管理实现

2.1 应用正则表达式配置文件分析类型

对于需求管理工具,每个企业都有自己定义的输入输出方式。这里我们通过正则表达式用基于项目或企业标准的自定义模板,对于可追溯要素编辑正则表达式,从原始版本到My_type类型,修改标准类型中的某些元素,生成自定义类型 ,生成配置文件和项目文件,最后生成相应报告。

在RMGateway需求管理工具中在菜单上选择/,这里预定义了文档,模型,代码等解析规则。为了在管理配置时能够使得两个文档建立追溯关联,以Word文件为例,通常将需求存储在Word文件中,对需求解析定义相应的正则表达式。正则表达式是强大、便捷、高效的文本处理工具[ 5 ]。Word文件中通过对需求条目定义指定样式来实现解析。通过自定义解析规则,Types——定义新的分析类型或者在已有的类型上进行定制,这样往往需要对类型进行定制。在正则表达式中通过字母表中的单个字符且自身匹配,对任何Word或者Excel表格运用正则表达式进行匹配。同样在测试用例中运用正则表达式使得需求和每一个测试用例匹配上,便于需求的测试用例的关联和管理。之后我们则可以通过工具生成两个文件即.types 配置文件和 .rqtf 项目文件。

2.2 软件文档追踪实现

为了定义文档间的追踪关系,如果想要新增其他待追踪的文件,利用需求管理工具分析追踪信息,通过正则表达式验证字符串ID是否符合指定特征,用来查找到特定的字符串,如上所述通过正则表达式来建立追溯关系的原理。我们通过设计正则表达式:(\s*追溯矩阵对应ID:.*?(?:([\w*-]+)\d*)),对应文档中的结构ID:(系统需求追溯矩阵对应ID:RAMS-S-0001),而正则表达式(覆盖的ID:(.*)\。)则对应于(覆盖的ID:D-S-0001。),点击配置文件和项目文件,选择需要追溯的文档,配置成功后界面显示文档追踪结果覆盖链接关系以及追溯矩阵覆盖百分比,如图2所示。绿色线代表上下级文檔追溯矩阵完全覆盖,黄色线表示追溯矩阵大部分覆盖,红色线表示追溯矩阵没有覆盖或者只有少部分覆盖。通过这样的追溯矩阵关系,我们能轻易查找出文档间的追溯关系是否完整,每一条需求都完整实现,给出软件设计的各个文档追溯关联的的证据链,作为安全认证的重要的证据。同时保证整个产品功能的顺利实现。

在软件测试时,当需要对软件测试用例ID关联需求或者设计ID时,我们在编写测试测试用例时,在测试用例中我们编写# Test Reference: CC_TEST_CDC_01,为了在测试用例中便于管理,我们可以使得在RMGateway需求管理工具中书写正则表达式^#[ \t]*Test[ \t]*Reference[ \t]*:[ \t]*(.+)$来匹配该需求编号,同样在测试用例中我们给每一条测试用例都对应相应的需求覆盖编号# Covered Requirements: CC_HLR_CDC_01,同样我们在RMGateway需求管理中编写^#[ \t]*Covered[ \t]*Requirements[ \t]*:[ \t]*(.+)$来覆盖软件需求中的与该测试用例对应的需求编号CC_HLR_CDC_01。通过这样对正则表达式的定制很好的将软件需求和测试用例关联,以及软件详细设计和软件结构设计这些文档,同理按照正则表达式定制字符串ID来进行关联覆盖管理。

2.3 定制报告

需求管理工具缺省报告虽然可以做到双向追溯,但是也存在一些问题,格式内容上不能完全满足安全认证的要求,每个追溯关系没有对应验证结论的列等。对于有些不能达到要求的不满足项,我们则通过定制报告功能来实现。

首先我们确定追溯需要的数据源:包括确定追溯对象文件、确定上游文件、从文件要提取哪些信息,例如追溯ID, 覆盖信息,追溯正文内容等。根据报告的结构模式我们来定制报告。如下所示步骤:

A)定制报告的结构的几个部分:列表显示格式化的元素,不同数据类型,待追溯的文件。

B)创建报告的方式:新建或者从现有报告中复制生成。

C)创建A TABLE表:拖动一个Table到指定区域,填写列的个数,插入table row 元素,插入 Data in Reports。

与上述正则表达式定制特定字符串相类似,在项目配置工程中建立TYPE files 类型分析文件,执行新的定制文件生成追溯矩阵,待追溯文件已指定覆盖ID,选择待追溯文件,从报告按钮—工程报告中选择新的定制报告文件名。这样定制报告就生成了。

3 小结

本文为了保证轨道交通高安全性嵌入式软件的可靠性和高安全性,本文介绍了如何依照需求管理工具对高安全类软件的设计文档进行追溯管理,设计了相关的正则表达式来关联软件生命周期中各个阶段文档的追溯矩阵对应ID。用以保证整个软件生命周期中软件的开发测试整个流程符合安全认证中的要求。与在软件追溯管理过程中应用人工去手工提取追溯矩阵,所有的内容都需从WORD文档中手动提取填写过于复杂相比。提出的应用需求管理工具对软件应用追溯基于正则表达式自由定制追溯矩阵,具有定义清晰、概念完整、可度量且易于操作等突出特点。并且通过定制报告方式自由输出进行验证。通过在实际项目中应用, 可有效追踪需求变更等对软件开发过程产生的不良影响,同时对于整个软件需求的顺利实现,产品的成功开发都具有重要的意义。

参考文献:

[1] IEC 62279 Edition 2.0: Generic software development[s].2015.

[2] 徐小平.CMM中的需求管理[J].微機发展,2004,6:79-81

[3] 孙莉.浅谈软件项目中需求管理工具的作用.宁夏大学,2012.

[4] 丁锐.浅析软件项目管理中的需求管理.经营管理,摩卡软件(天津)有限公司北京分公司,2009.

[5] Jeffrey E.F.Friedl著,余晟译.精通正则表达式[M].第三版.北京:电子工业出版社,2007.

作者简介:王定涛(1987-),男,硕士,主要从事轨道交通及列车监控方面软硬件技术研究工作。