面对“六个常态”新特征、新挑战,软件已成为定义装备功能和指标的重中之重,如何高效优质地孵化软件产品,成为科研生产单位提升核心竞争力的必答题。八部在集团及上海航天技术研究院产品化战略规划的引领下,创新开展软件研发模式转型,探索实践“基于架构+重用库+协同开发”的数字化软件研发新模式。
以重用库为基础的软件研制新流程
型号任务爆发式增长,传统“一人一软件”研制模式已很难适应当前的严峻形势,“加强代码复用、统一接口规范、减少重复作业”成为大家共同的需求。
“如果将共性的功能模块抽丝剥茧出来,形成基础的软件框架和独立的构件模块,新的任务到来时,我们就可以按照既定的框架图纸,用现成的模块来组装高楼大厦。”架构设计师付磊如是说道。
根据业务领域特点,八部软件室组织开展共性需求分析建模,形成功能稳定、接口友好、平台通用的标准化基础框架及重用件,经审核后统一上传至软件过程管理平台的组织资产库,设计师开发软件时,可从库中查阅、下载相关重用件,实现全流程数字化、可视化重用管理,还可根据使用情况对重用件成熟度进行评价,使重用库日益成熟和可靠。
软件重用不仅能提高开发效率,还能提高测试效率。“库里的重用模块都进行了独立测试,一旦新研软件中用到了该模块,我们就可以直接采信过往的测试依据,仅需对模块调用的正确性进行验证即可,省去了大量的重复劳动。测试人员也能把更多精力放在非重用代码的验证上来。”软件测试专业主任师张国群对此非常有信心。
以架构为核心的软件重用新思路
软件重用不仅仅依赖于重用模块,核心应当是软件架构,因为架构规定了所有模块固定的内容及可变的内容,重用架构一旦成型,设计师便可按照标准化流程,快速有效地将各模块填充到框架中去,形成满足各型号定制化需求的软件产品,各软件便具备了统一的规则风格,研制维护成本也可大大降低。
八部软件室成立了架构师团队,通过精准分析和系统规划,设计形成了包含“支撑平台层、模型及设备层、应用层”的架构体系,产出了软件重用指南、框架应用指南等多份指导文件,相继出炉了适应各自领域特征的软件架构并在全所范围内进行了完整发布,致力于将架构设计思路带给软件研制上下游的每个设计师,促使转型后的研制模式在经验互享的生态中走得更稳更远。
“架构的重用率是我们检验其落地成果的重要指标,只有设计师们真正在使用,才能不断发现问题迭代改进。”软件室主任张龙坚定地说道,“在数据的统计上要求真务实,当前代码重用率也许还不算理想,但只要我们坚持在迭代中反思、在尝试中成长,转型的效果一定会越来越明显。”
以持续集成为手段的协同开发新模式
为破解大型软件快速开发的难题,八部软件室进行了“由平台和测试组负责架构设计、选型及软件测试,实时系统设计组和嵌入式软件设计组负责地面和弹载软件协同开发”的职责分工,在以面向对象为主要思想的软件架构基础上开展持续集成式协同开发。
持续集成是面临当前大型软件开发专门提出的一种创新性协同开发模式,特点是以重用软件资产的方式研制型号软件产品,以增量迭代方式将代码编写、软件集成和测试结合在一起完成开发活动。基于领域重用架构,软件室在型号大型软件研制中探索应用了该模式,实践证明平均缩短了40%的研制时间。工欲善其事,必先利其器,目前,全栈式一体化开发与测试持续集成平台正在加速定制中,该平台可与当前软件过程管理平台无缝链接,实现多人开发及测试协同,势必将为今后的数字化协同开发流程立下新标杆。
在积极的探索实践下,数字化软件研发新模式已陆续在型号软件中应用并已初显成效。后续,八部将紧密结合型号和产品需求,聚焦目标、建用并举、久久为功,确保软件研发新模式在型号软件产品中全面落地应用,实现型号和产品双轮驱动,有力支撑“三高”全面发展。