APP下载

需求管理在核电DCS系统开发中的应用

2015-12-17夏丹阳刘汪平

仪器仪表用户 2015年2期
关键词:管理工具测试用例核电

夏丹阳,刘汪平

(1.中核控制系统工程有限公司,北京 100176;2.中国核电工程有限公司,北京 100189)

0 引言

随着国内外控制系统的发展,DCS(Distributed Control System)被广泛地应用于核电项目及其他行业。安全性及可靠性是核级DCS最终考虑的因素,目的是开发高质量的软件[1]。软件系统开发过程中最难的部分是对要开发什么做出准确性的判断。所有概念性工作最难的是建立详细的技术需求,这部分工作的错误对最终系统的破坏最大,也最难纠正[2]。V&V是用于在全生命周期内评估软件产品的一种严谨方法,力求保证软件质量并满足用户的需求[3]。软件的开发及测试都以需求作为评估标准,因此需求管理是软件开发过程的重要组成部分,贯穿核级DCS系统开发及测试的整个阶段。因DCS系统的开发周期长、用户需求及开发文档数量多,进而要求更为有效的需求管理。

1 需求管理

Rational把需求定义为“(正在构建的)系统必须符合的条件或具备的功能”。需求管理就是:一种获取、组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程[4]。

目前的很多测试及配置管理工具均预留了与需求管理工具的接口,如TP、RTC等,足见其重要性。

表1 比较一览表Table 1 Comparison table

2 需求管理工具

2.1 需求管理工具介绍

目前比较常用的需求管理工具有RTM、Borland的CaliberRM,IBM Rational的RequisitePro,IBM的DOORS。以上这些需求管理软件在其功能上存在一定的差异,所针对的项目也略有不同。其中CaliberRM、RequisitePro针对于中小型项目,但在版本管理方面的支持较弱,无法建立基线,记录变更。而RTM虽然可应用于大型项目,但无讨论及同步功能,不利于需求评审工作地开展。IBM 的DOORS通过使用DOORS/ERS,实施多种需求管理的方法,可使项目的管理更加透明。它不是单纯的需求跟踪工具,而是一个多平台的需求管理解决方案。表1是对以上4种需求管理工具的比较。

结合本项目的规模,DCS系统的需求管理的要求及DOORS软件在市场上占有的用户份额-全球约有250000的用户等因素,选择DOORS软件作为核电DCS系统的需求管理工具。

2.2 DCS系统采用需求管理工具的必要性

软件测试是保证软件质量的重要环节,而稳定的需求则是软件测试的关键[5,6]。然而在DCS系统开发过程中需求变更频繁,采用纸质及电子版形式无法保证完整的记录变更,需求管理工具则可以。其优点在于以下几个方面:

1)支持多人同时在线修改同一文档。

2)保证需求更新后,开发及测试人员知悉的实时性。

3)保证需求管理的同步性,有效解决开发及测试人员之间对需求掌握的偏差问题。

4)需求变更信息易得性,包括需求变更日期、变更人员、变更位置、变更后版本。

图1 需求管理流程图Fig.1 Requirements management process

5)可对需求建立讨论,方便需求评审前意见的交流。

6)权限管理,通过设定相应的权限,可控制重要文件的获取。

7)通过打基线,可进行版本的管理。

8)对于复杂的模块,可通过DXL语言,在模板库中建立模板,生成模块时调用模板。

9)将全部需求、属性和跟踪信息存放在数据库中,数据库可移植复用。

测试是为支持V&V目的而执行的,测试包括4个阶段,即部件测试、集成测试、回归测试、系统测试,其中回归测试贯穿于其他3个测试阶段。需求的变更会导致测试用例的增加。DOORS软件不仅可以进行需求管理,也可进行测试用例管理,在测试用例管理上,其优点在于:

a)通过链接的功能,实现需求与测试用例之间的链接,链接可快速地跟踪某个数据变化对系统其它部分的影响。

b)可进行需求跟踪,需求跟踪可进行入向及出向链接的分析,通过比较不同版本的需求跟踪矩阵(RTM)模块可以清楚地跟踪到哪些需求及用例被更改过,方便用例与需求的同步。

c)测试用例覆盖率统计,通过DOORS软件可以统计测试用例对需求的覆盖率,评估测试用例是否完全覆盖到需求。

核级DCS系统所处的位置决定了其必须具备安全性、可靠性。而以需求作为重要评价依据的测试正是验证核电厂软件功能可用性、可靠性、安全性的关键点。测试不系统、不全面,不仅会导致测试结果的错误,还会影响后续现场调试,更为严重的是可能会对以后的核电厂运行造成隐患。结合需求管理工具在需求及用例管理上的诸多优点,决定了DCS系统采用需求管理工具是必要的。

图2 版本变更比较Fig.2 A version change

3 DCS系统的需求管理

DCS系统需求管理是整个核电项目开发及V&V中的重要环节,开发及V&V工程师工作的开展均以需求作为评估。核电DCS系统需求管理贯穿于整个开发及测试过程中,不容小视。

需求管理可分为:需求变更管理、需求版本管理、需求跟踪管理。图1为DCS系统需求管理的流程。

3.1 DCS系统需求变更管理

需求变更管理包括对评审通过的需求建立基线,确定需要跟踪的重要依赖关系,建立相关项之间的可追溯性,以及变更控制等活动。

需求是软件开发和测试的纲领,其变更主要来自客户对产品要求的变化,可分为需求删除、需求增加、需求改变。

图3 文档跟踪Fig.3 Document tracking

尽管需求变更是允许的,但需求变更不仅影响测试用例的数量及测试结果,还影响开发工作的重新执行,重新设计和编码,应该尽量地避免和减少。核电项目规模大,需求数量多,在实际研发过程中变更次数也较多。在DCS系统研发项目进行过程中,需求管理员应定期对软件需求变更情况做记录并进行评估,分析变更对项目的影响。本项目对需求变更程度的评估是通过变更指标实现的。设r为软件需求变更指标,S为某个时间点的需求数量,C1为某时间段内增加的需求数量,C2为某时间段修改的需求数量,C3为某时间段内删除的需求数量,则

r给出的是需求变更程度的量化度量。r指标越接近于1,说明被测试的软件需求越稳定。

需求管理及测试人员可以根据项目情况为r设置一个阈值,本项目设定的阈值为0.75,r指标低于该阈值时,表明软件需求变更过于频繁,应暂停测试。

3.2 DCS系统需求版本管理

DOORS软件可对需求文档的版本进行管理,无需借助其他版本管理工具,就可比较出版本的变化和差异。对于需求版本的管理是通过基线来实现的。需求管理员对评审通过的需求打基线,并进行不同版本之间的比较,即比较当前版本与历史版本的基线。比较结果会以不同状态显示用户修改、新增和删除需求条目的情况。图2为两个不同版本需求的比较。

图4 需求跟踪矩阵Fig.4 Requirements traceability matrix

图5 链接关系图Fig.5 Link diagram

图6 状态跟踪表Fig.6 State tracking table

3.3 DCS系统需求跟踪管理

需求跟踪是开发活动的一项重要任务,其结果可用于可追溯性分析,对配置管理、测试覆盖分析、V&V结果分析、回归测试、关键性评估和V&V管理决策起到支持作用。其目的是建立与维护“需求-设计-实现-测试-安装与检验-运行与维护”之间的一致性。需求跟踪要求对需求进行正、反两个方向的跟踪,是存在于软件生命各阶段中一项持续和不断更新的任务。需求跟踪管理包括两部分:创建需求跟踪链及需求状态跟踪。

1)创建需求跟踪链

需求跟踪要依赖于跟踪链,为了保证可跟踪能力,每一个对象的标识都要求是唯一的。DOORS软件中DCS系统的需求跟踪链是追踪到用户需求的,链接的文档包括开发需求、测试需求、设计、测试用例等其他系统元素。在DOORS中通过traceability wizard(跟踪向导)生成跟踪视图,可显示需求演化的整个过程。需求跟踪结束后,需求管理员可以利用管理工具自动生产一份RTM(Requirement Tracing Matrix,需求跟踪矩阵),图3、图4为整个项目开发中文档的跟踪关系及RTM。

DCS系统从结构上可划分为过程级、操作级和管理级。过程级主要由过程控制站、I/O单元和现场仪表组成。操作级包括操作员站和工程师站,分别完成HMI(人机交互界面)软件的实时监控及HMI软件的组态,其中HMI软件的主要功能有报警、故障、当前值、模拟流程图、工况等。管理级主要是工厂管理信息系统[8]。IEEE 1012-2004是V&V遵循的主要标准[7],结合IEEE 1012的标准和研发过程相关要求及项目实际情况,DCS系统的需求跟踪活动介入软件研发的各个阶段,包括需求阶段、概要设计阶段、详细设计阶段和测试阶段。每个阶段都需进行相关的链接,可以有效的管理变化。在每个阶段需求管理员将跟踪情况汇总,由DOORS软件自动生产RTM。同时进行可追溯性分析,形成分析报告,评估需求跟踪的一致性、完整性和正确性。3个阶段完成后,可形成一个总的RTM,评估整个DCS系统需求在设计、实现和测试的可追溯性关系。图5的V模型显示了DCS系统不同研发阶段文档之间的链接关系。

2)需求状态跟踪

在需求管理过程中,跟踪每项需求的状态也是需求管理的一个重要方面。需求状态作为需求的一个属性,可以反映需求的当前情况。在每一种可能的状态类别中,如果能周期性地报告各状态类别在整个需求中所占的百分比将会改进项目的监控工作。图6为一个需求状态跟踪表的例子。

4 总结

本文在总结了需求管理工具在核电DCS系统研发中应用的必要性的基础上,给出了核电DCS开发过程的需求管理中各子项管理的执行流程,探索性地提出各研发阶段的需求跟踪任务和关键活动,为执行其他行业的软件需求管理提供参考。

[1]杨永祥,丁军.核电站数字化仪控系统软件验证和确认[M].厦门:厦门大学出版社,2010:18-20.

[2]Brooks,F.P.,Jr.. No Silver Bullet Essence and Accidents of Software Engineering[J].Computer,1987,20(4):10-19.

[3]刘斌.软件验证与确认[M].北京:国防工业出版社,2011:4-5.

[4]吴艳艳,周长伦,姜家轩,等.软件项目管理中的需求管理[J].信息技术与信息化,2008,2:67-68.

[5]KENNER C,FALK J.计算机软件测试[M].北京:机械工业出版社,2004:58.

[6]PERRY W E.软件测试的有效方法[M].北京:机械工业出版社,2004:103.

[7]The institute electrical and electronics engineers,inc.IEEE standard for software verification and validation[S].2004.

[8]DCS[百度百科].http://baike.baidu.com/link?url=FsaYRQIwLl_a6e4RfOXsXbISXay6eaBkInBQn1Lqd91-fbOklOzJkiPH5AmeoXOF,2015.

猜你喜欢

管理工具测试用例核电
精益A3管理工具在提高STEMI患者绕行急诊科直达导管室的应用与探讨
精益管理工具在手术室耗材管理中的应用
质量管理工具在减少CT停机天数中的应用
第四代核电 高温气冷堆
百年初心精神 点亮核电未来
回归测试中测试用例优化技术研究与探索
基于SmartUnit的安全通信系统单元测试用例自动生成
2020年核电活动安排
面向车载设备的测试过程管理工具设计与实现
核电链接