公务员期刊网 论文中心 正文

核电软件工程化研发过程管理

核电软件工程化研发过程管理

【摘要】核电设计研发是包括研究、设计与试验等环节的复杂研究过程,高精度的核电核动力工程设计软件是保障开展核电设计分析的重要手段。为保障核电设计的安全性、可靠性以及质量,构建一整套覆盖反应堆工程的软件研发需求管理、理论模型、设计、编码、测试、验证等全生命周期的软件工程化研发体系对核电核动力设计分析软件的研发流程尤为重要。

【关键词】NESTOR;软件工程化;过程管理

0引言

核电设计分析以及运行支持软件是开展核电工程设计以及维护核电厂运行的重要技术手段之一,对核电工程设计科研工作的质量、研发效率以及核电厂的运行安全起到了至关重要的作用。由于核电设计分析以及运行支持软件具有很强的核安全相关性,多年以来,国外核发达国家对核电软件设计研发以及运行管理都是高度重视的,相关软件研发的各个流程环节、软件适用性、可靠性、过程质量管理以及后续的应用均受到核安全监管机构的高度关注。与此同时,在国内,核电相关的安全也受到了核安全监管机构的高度关注。针对核安全相关软件,国家核安全监管机构也制定了相关的软件评价实施办法。根据相关实施办法,核安全相关软件的认证过程不仅重视软件的重要物理现象识别、物理模型建立、验证计算模型的合理性以及不确定性和敏感性等评价,对软件的研发过程、研发体系以及质量保证体系的建立也同样重视。在中核集团龙腾自主创新科研项目的支持下,由中国核动力研究设计院牵头,中国核电工程有限公司、中核武汉核电运行技术股份有限公司参与共同完成了成体系的核电设计与分析软件包NESTOR(NuclearPowerPlantEngineeringSoftwareTechnologyResearchProject))。NESTOR软件包包含了核电设计与分析所需要的相关专业软件,涉及核反应堆物理设计、屏蔽与源项设计、热工水力与安全分析、燃料元件相关设计、系统与设备设计、仪控设计、软件共性技术等相关领域。NESTOR软件项目自2011年立项以来便高度重视软件研发体系建设,并针对“软件开发过程质量保证体系与开发规范”成立单独的课题进行研究。该项目致力于将核电工程设计与软件工程化相结合,贯穿研发全生命周期,覆盖需求管理、模型研究、软件设计、V&V流程等各个环节,建立健全核电软件工程化研发体系,并在NESTOR项目中的各个软件开展软件工程化实施流程。长期以来,建立适应核电工程特色的软件工程化研发体系,并将体系融入工程设计、科研及管理工作中,一直是NESTOR项目的重要研究方向之一。

1核电软件工程化体系建立

核电设计分析软件以及运行支持软件具有高可靠性、高安全性、高经济性的特殊要求。在国家核安全导则、GJB5000A、CMMI等软件工程化的总体指导要求下,遵循软件工程化思想,建立一套具有核电工程特点的完善的核电软件工程化研发管理体系,对确保研发团队开发出高质量、满足核电核动力工程需求的软件产品起到重要的保障作用。中国核动力研究设计院经过多年的研究及实践应用,制定了覆盖软件工程化研发中的重要过程域的指导性文件《软件工程化体系文件》。

2NESTOR软件工程化实施过程

软件工程化研发的实施主要覆盖软件开发过程和软件管理过程。针对NESTOR软件,主要分为工程化主机平台类软件以及嵌入式软件。软件的开发过程依据软件的类型以及规模等属性,选择适用的软件生存周期模型,并定义软件开发的阶段及阶段中的活动。软件管理过程主要包括需求管理、项目策划、项目监督与控制、过程和产品质量保证、配置管理、测量与分析等过程,软件项目的管理过程中的活动可根据软件的自身特点进行裁剪。

2.1核电软件的管理过程实施

2.1.1项目初始管理策划

在接受核电软件研制任务后,应落实项目组主要成员,并组织各阶段工作安排。项目负责人根据《软件研制能力等级要求》,组织对项目软件的重要性等级和规模等级进行确定。最终形成《项目软件工程化策划书》,作为开展核电软件工程化研发的输入。

2.1.2研发过程规范制定

NESTOR项目结合自身的特点,建立了一系列的研发过程规范,规范由项目部批准后应用于本项目所承担的所有核电软件研发中。

2.1.3项目监督与控制

核电软件项目的监督与控制是将软件项目的实际执行情况与相关计划要求进行对比分析,如超出偏差范围,则采取必要的纠正措施。如软件需求发生重大变化,则修订计划以满足相关要求,从而确保项目研发工作有序、正常的实施。

2.1.4核电软件项目过程和产品质量保证

开展质量管理的策划工作,主要目的是识别NESTOR项目及其最终交付成果的质量要求及规范标准。通过有计划地、定期地对NESTOR相关软件全生存周期的开发与管理活动进行符合性检查,对各阶段工作产品与活动进行审核来判断研发工作是否按照软件工程化体系的要求实施,从中发现不符合项并实施相应的纠正措施。

2.1.5项目配置管理

配置管理是结合配置管理工具对开发的软件进行版本管理与变更控制,对软件开发过程的各阶段工作产品进行有效保护,维护阶段工作产品和软件产品的完整性和可追溯性的管理过程。NESTOR项目相关软件的配置管理贯穿于软件研发活动的全生命周期以及各个流程环节。NESTOR项目采用专门的软件配置管理工具,对程序源代码、版本、各阶段文档、工况数据及流程进行有效的配置,实现了研发过程的自动化配置和动态管理,增加了软件研发人员对设计流程的能见度。NESTOR项目在配置管理实施中建立了软件开发库、受控库以及产品库,并限定配置项在不同库之间的流转的权限及流程的控制。通过实施配置管理有效地保证了软件的正确性、完整性及可追溯性。

2.1.6测量与分析

测量与分析是NESTOR软件项目各软件设置有专门的测量分析工程师,该人员负责依据既定的测量目标、测量项、数据采集和存储规程、分析规程等相关要求采集和分析测量数据,在合适的控制点/项目结题时采集并汇总相关数据,形成测量分析信息。项目执行的过程中,相关的测量分析信息及时专递到项目组团队成员内以及利益相关方。通过测量与分析活动,有效的监督了项目绩效,并为后续活动做出有根据的管理和技术决策,以便在出现问题时及时采取相应的纠正措施,实现项目监督控制的可视性、及时性

2.1.7项目评审

在软件开发与管理过程中,针对重要节点或者里程碑组织软件项目组内部及外部人员对NESTOR软件产品、研发活动及工作进展情况的符合性、合理性和正确性进行验证。通过评审活动,可以高效率、尽早发现并消除问题,从而保证软件产品的最终质量。

2.1.8记录控制

为满足软件工程化体系要求,NESTOR项目实施工程化研发过程中所产生的记录、以及能够证明体系文件有效运行的记录、作为可追溯性依据的记录均进行了有效的控制。通过核电管理平台,对项目实施中产生的所有过程记录文档进行分发、流转等控制,过程记录包括技术传递单、技术联系单、备忘录、会议纪要、设计评审报告、项目周报、QA核查单、质量保证报告、配置管理报告等。同时,通过档案管理系统,对项目所产生的所有设计文件进行有效的归档及控制。

2.1.9软件的鉴定与应用

研发完成的软件,在未经过专业鉴定前仅可用于学习、科研,不能直接应用于工程设计。软件的鉴定是专业设计人员对入库归档的软件产品进行专业分类及筛选后,由软件鉴定专家委员会对筛选后的软件进行鉴定。鉴定软件的功能、性能、工程适用范围、可靠性等各方面能够满足相关工程使用需求。NESTOR所研发的软件只有通过鉴定才能够归入工程可用软件库。当工程项目产生软件应用需求时,即可从工程软件库中选择合适的软件。

2.2核电软件的开发过程实施

2.2.1核电软件研制策划

NESTOR软件研制策划工作是估计NESTOR软件包中每个软件的规模、开发工作量,并根据估计结果,结合进度要求来制定合理的开发计划,提出必要保障条件的管理过程。本项工作主要由项目软件负责人组织,对所负责软件的根据各项软件的开发和管理工作进行全面的策划,并安排相关角色依据既定的分工制定所需研制软件的各项计划,最终以书面的形式形成《软件开发计划》、《软件配置管理计划》、《软件质量保证计划》、《软件测量分析计划》、《软件验证和确认计划》、《文件清单》以及估计记录等相关文档,文档经过评审后生效执行。相关文档是软件开发过程中各项活动的重要依据文件,并将随着软件研发过程而细化或调整.

2.2.2核电软件需求分析

NESTOR项目结合核电工程软件特点,在需求阶段开展了详细的需求理解、需求确认、需求跟踪等需求分析活动,需求包括功能需求以及非功能的需求。需求分析是软件生存周期中最重要的一步。只有通过需求分析,才能准确地将软件的功能以及非功能的需求从概念描述转换为具体的可测量的规格说明形式。NESTOR项目的各个软件在需求分析阶段都依据软件的相关需求完成对应软件的需求分析活动,并以书面的形式形成《需求说明书》/《需求分析报告》,同时建立并维护需求跟踪矩阵。NESTOR项目在开发的过程中持续跟踪维护需求矩阵,确保了需求与项目策划的一致性,并在必要时进行变更。

2.2.3核电软件设计与实现

软件的设计是在需求的基础上,对软件开展计算部分的设计以及界面设计工作,计算部分包括系统结构设计、数据设计、接口设计、算法以及过程设计,界面部分的设计工作包括界面原型设计以及界面设计,软件设计即是把需求转换成表达的过程。在设计活动完成后,软件的设计工程师需要依据体系文件以及相关规范编制相关的《软件设计说明书》,设计说明书可依据软件规模或者复杂程度拆分成《概要设计说明书》以及分模块的《设计说明书》。在软件的实现阶段,按照对应的编码规范,依据设计结果实现软件编制、编译和调试,编制《软件编码报告》以及《用户手册》。《软件编码报告》主要对软件的数值计算及界面模块的目录结构、模块结构、全局数据、各模块的功能和数据,以及软件的编译运行方式、集成方式进行描述《用户手册》主要对软件的功能、性能、运行环境、安装以及操作说明进行描述,给最终软件使用对象对软件的使用有直观的了解。

2.2.4核电软件测试及验证

软件测试是由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否满足规定的需求。测试活动由软件测试工程师负责,在测试的策划阶段形成《软件测试计划》并开展测试设计,包括测试用例说明等相关文档。NESTOR项目的测试计划以及测试说明文档均经过评审,以确保测试工作的有效性。测试工作严格按照计划及测试说明执行,对测试过程发现的缺陷应进行报告、确认、修正和验证,并形成缺陷记录单,通过多轮测试及回归,确保缺陷全部关闭或得到妥善处置。测试完成后编制《软件测试报告》。通过测试的软件,由独立于开发团队的验证工程师,通过确认用例对软件进行验证,确认用例包括基准题、实测数据(试验数据或电厂运行数据)等,通过验证确保软件的功能、性能以及计算精度满足预期。采用第三方验证的方式对所开发软件的正确性进行确认

2.2.5核电软件

V&V验证和确认遵循GJB5000A要求以及软件工程化体系执行,从V&V的过程、过程中包含的V&V活动,再到具体的V&V任务,多层次全方位地定义验证和确认流程。N开展V&V活动是确保NESTOR软件的质量和可靠性的重要措施,通过V&V活动确认各项需求以及设计要求正确实施,识别期望的结果和实际结果之间有无差别,有效地提高软件计算的精度并保证软件的正确性,确保NESTOR软件质量。除了项目团队内的V&V团队,NESTOR项目还创新的采用软件研发合作模式,邀请了高校测试组、专业测试公司以及第三方验证团队,针对开发的核电软件根据相关行业内规范开展了第三方独立的测试和验证。通过有效利用外部资源,对软件的功能、性能进行全面的测试验证分析,有效地摒除了内部团队在相关工作中的“程式”思维、思路局限性而带来的漏洞,更多的发现软件运行中的问题,进一步提高所开发核电软件V&V的全面性和客观性。

2.2.6核电软件结项

软件研制完成后,项目软件负责人组织对软件的测试验证情况进行分析,根据项目目标要求,组织总结分析工作。就软件的研发工作进行总结,组织编制《软件开发总结报告》,另外,还有软件开发过程中的相关配置管理情况、质量管理情况进行总结,编制《配置管理总结报告》以及《质量保证总结报告》。相关总结文档完成后,组织项目结项评审,软件具备结项条件后,提交验收申请并组织验收,形成验收报告。

3结语

NESTOR软件包通过结合广泛的工程经验,依托科学理论和软件工程化技术的进步,形成了重要的自主创新能力,成功应用于华龙一号工程设计与校核,并正在进一步应用于其他核电工程开发中。部分运行支持软件也已在国内多个核电厂推广应用,发挥了良好的经济效益。通过工程化管理体系的建立以及对软件工程化的过程管理实施,NESTOR软件包的研发工作以及运行管理实现了流程精细化管控以及监督可视化、可控化。确保了NESTOR软件在满足工程需求同时,提升了研发效率、缩短了研发周期,提高了软件的质量,大大减轻了运行管理成本,提升了软件研发精细化管理水平。

【参考文献】

[1]张晓龙.现代软件工程[M].清华大学出版社,2011.

[2]林锐,彭国明.CMMI和集成化软件研发管理[M].北京:电子工业出版社,2008.

[3]姜霄雪,严建平,蒋剑伟.基于CMMI的过程和产品质量保证过程研究与应用[J].广东通信技术,2017,37(04):77-79.

[4]秦仕鑫,周启文.计算机软件工程的现代化技术探讨[J].科学与技术,2019.7:13.

[5]吕松涛.基于CMM的软件项目管理模型研究[D].哈尔滨工程大学,2009.

作者:张曌寰 张娜 卢宗健 宫兆虎 单位:中国核动力研究设计院核反应堆系统设计技术重点实验室