关于核电软件自主化与产品化的思考

2017-12-29 10:55荣辉上海核工程研究设计院
数码世界 2017年4期
关键词:产品化自主化核电

荣辉 上海核工程研究设计院

关于核电软件自主化与产品化的思考

荣辉 上海核工程研究设计院

核电软件自主化是我国成为核电强国、实施核电中长期规划、核电技术走出去的关键要素。本文通过对核电软件自主化现状的调研以及实施软件产品化的必要性分析,并结合软件产品化的相关理念和方法论,提出了核电软件自主化和产品化的一些建议和措施,以期促进核电软件向产品化软件的转变,提升软件开发效率,降低软件开发成本,提升企业核心竞争力。

核电 软件自主化 软件产品化

1 研究背景及意义

目前,我国核电事业处于从核电大国迈向核电强国的关键时期。核电软件自主化亦是我国成为核电强国、实施核电中长期规划、核电技术走出去的关键要素。为此,本文通过对自主化与软件产品化的一些介绍,结合当前我国核电发展战略,进一步分析了实施软件自主化与产品化的必要性。并通过相关调研,提出了一些思考和建议,以期促进核电软件的自主化和产品化发展。

2 软件自主化与产品化相关介绍

软件自主化,顾名思义,即通过自主化的开发获得软件的知识产权。软件自主化对于一个企业突破知识产权限制、拓宽市场范围、保持核心竞争力至关重要。没有自主知识产权,在市场竞争中就会受到种种限制而处于被动地位,丧失竞争优势。软件产品化,即客户无需为软件添加或调整代码和语句即能完成软件的安装和配置、应用初始化、系统管理、用户使用的全过程。由概念可知,软件产品化是建立在模块化和标准化之上的。通过将软件划分为不同的功能模块,所有模块以一定的标准进行开发。不同的软件,其功能由不同的模块组成。一些模块可以在多个软件中实现复用,避免了重复开发。通过模块的复用,快速形成满足客户需求的解决方案。通过市场化的积累,逐步形成软件服务。

3 实施软件自主化与产品化的一些思考和建议

通过对核电行业的调研及问卷调查,结合相关实际情况,本文进行了细致的分析,并参考软件自主化及产品化的理念和方法论,从管理、人才、技术等方面对核电行业实施软件自主化和产品化提出了一些思考和建议。

3.1 战略上高度重视,形成共识

软件作为智力资产的重要组成部分,同样凝聚着一个企业的专家知识,行业经验和规范规程。不仅能反映一个企业自主创新,研发设计能力,也是与国内外同行竞争者保持你无我有,你有我优的核心竞争力的体现。因此,通过在战略上高度重视,形成共识,创造一个软件自主化良好氛围,让每个人都认识到软件自主化对核电未来发展的战略意义,积极配合,相关自主化工作才能顺利展开。

3.2 统筹管理,有所为有所不为,顺应大数据发展趋势

软件产品化不把所有的软件需求以同等的重要性进行开发,而是参考二八原则,保证核心功能的质量。针对具体的软件开发,也不是所有软件都需要使用产品化的理念和方法论来实施。首先建议梳理企业中哪些软件需要自主化,哪些软件是自主化的核心软件。对于前瞻性、战略性的软件,力争自主开发,好钢用在刀刃上,将有限的优势资源集中于解决关键问题,做到有所为有所不为。另一方面,使用大数据技术进行信息发掘,实现数据增值是时下研究的热点。据《2016年度中国软件开发者白皮书》统计,有24%的企业在进行大数据相关的开发和应用,并且自主开发是企业构建大数据平台的主要方式。所以,大数据相关技术的发展是大势所趋,但是企业必须进行全局统筹,才能从总体上对数据进行有效梳理并逐步实现大数据应用。

3.3 完善质量保证体系,逐步实现人员分工

针对核电行业,软件开发的质量保障非常重要,首先要建立相关质量保证体系,例如可参考CMMI等相关标准制定管理体系。此外,针对相关开发人员需定期进行再培训,让质保理念深入人心。另一方面,本文建议引入一些行业普遍证明了的方法和工具例如精益六西格玛的DMAIC方法等来进行开发过程中的质量控制。DMAIC的质量控制方法在软件开发领域同样有广泛应用,将其引入到软件开发过程中,可有效避免软件需求不明确,错误估计项目大小和难易程度等问题。

3.4 强化用户跟踪反馈,建立软件Bug反馈平台

由于软件开发知识密集和人力密集型的特点,即便采用了完备的开发测试策略,软件Bug也总是难以避免。将软件Bug及时反馈给开发人员,有助于不断改进软件产品鲁棒性,提升软件产品质量。因此,建议建立软件Bug反馈平台。将已发布使用的自主化软件在该平台上公开征集软件Bug,并每年对积极反馈软件问题的人员进行奖励。

3.5 加强外协管理

软件自主化工作不可能完全由核电行业从业人员完全自身进行开发,对于一些紧迫性高、时效性强的开发项目,可以考虑利用外部资源。但是外协人员作为非核电相关人员,对核电的相关业务流程较难理解到位,对于涉及到核电安全性和经济性相关法律法规的理解也相对薄弱。因此,对于分包给外协的项目,必须重视与外协保持密切沟通,并对外协所交付的软件成果制定完善的测试策略。另一方面,相关规范与规定(如编码规范、界面设计等)也必须在外协得到落实。

3.6 培养复合型人才,完善人才激励机制

软件研发其核心是人才。拥有优秀的开发人员和管理人员,是实现优秀软件产品的基础保证。核电软件研发和一般的软件研发不同,除了要求开发者有过硬的软件开发基础外,更重要的是对相关业务流程,甚至涉及核电安全性和经济性相关法律法规的深刻理解。仅具备软件开发知识,不懂业务流程和法律法规,则难以准确领会软件开发需求,所开发的软件难免存在功能的疏漏和潜在风险。相反,软件开发基础不过硬,则所开发的软件质量难以保证,其用户体验和实用性会大打折扣。所以,必须培养出同时具备软件工程和核电相关知识的复合型人才,并完善激励机制。

3.7 可扩展的技术架构,模块化设计与复用

实现软件产品化的一个最基本要素是软件功能模块化。将软件功能分解成许多可用来组装与重用的组件,避免重复开发。如将数据库的读写和更新等功能做成一个通用模块,不同的软件产品在开发过程中需要对数据库进行操作时,直接调用该模块,实现软件复用,可提高工作效率。另一方面,模块化的方式还有助于标准化的实施,实现开发的分工,也是让合适的人做合适的事的另一种体现。

3.8 精简技术平台,统一开发工具

建议将软件开发中应用到的技术平台进行精简,并对精简之后的技术平台设置使用优先级。如在服务器使用方面,Linux不仅免费,而且具有比其他服务器系统更好的稳定性。能使用Linux做服务器进行开发,则尽量使用Linux进行开发。在数据库使用方面,根据软件产品实际需求选择合适的数据库,并不是所有的数据库都需要使用Oracle软件,对于一些规模较小的独立型应用,开源免费的MySQL即可胜任。

3.9 应用数据交换标准,建立信息模型,规范数据接口

核电软件间必不可少会存在不少的软件接口,如果只是一对一的打通接口,单个开发,效率低下。为了解决这个问题,一些组织通过使用信息交换标准方法建立了信息交换模型。应用系统之间只需将需要交换的数据遵循信息交换标准向信息交换模型进行映射,即可实现大幅降低数据交互转换接口的开发工作,提高开发效率。

[1]肖然.突破软件产品化的困局.2013

[2]CSDN.2016年度中国软件开发者白皮书.2016

[3]谭志彬,柳纯录.系统集成项目管理工程师教程.2015[1]

荣辉,1984年5月,男,吉林白城人,本科,工程师,核电设计方向。

猜你喜欢
产品化自主化核电
空间天线产品化在“资源”系列卫星上的应用
固体火箭发动机点火装置型号与产品化一体化工作模式初探
航天型号产品选用控制研究及实践
大型核电汽轮发电机组自主化成果介绍
第四代核电 高温气冷堆
核电工程建设管理同行评估实践与思考
百年初心精神 点亮核电未来
重庆轨道交通闸机三杆机芯主控板的技术自主化探究
中国核电生长
即时分享相机