众创机制下复杂应用软件系统的技术状态管理

2021-11-22 16:14陈鲁愚韦喜忠
船舶 2021年3期
关键词:基线总体船舶

陈鲁愚 韦喜忠

(中国船舶科学研究中心 无锡214082)

引 言

近年来,随着高性能计算、大数据、人工智能等新兴技术日新月异的发展,高端应用软件系统日益发展迎来了前所未有的良机,也为基于模型的系统工程(Model-Based Systems Engineering,MBSE)理论、包含预报/评价/优化三大应用环节的船舶总体性能创新研究注入了崭新活力[1]。在这样的背景下,中国船舶科学研究中心创新提出船舶总体性能模拟仿真系统的总体框架,并集合优势单位力量开启了相关研发与实践。

“众创机制”,指的是为了充分发挥创新力量的作用,打造一个“去中心化”、共享共赢、知识产权记账确权的开放环境,以此广泛吸收科研院所、高校、民营公司等多种属性的研究团队投入与创新。之所以采用“众创”机制,是因为研发船舶总体性能模拟仿真系统,将涉及到庞杂的总体性能、信息化技术等多个学科或领域,不可能由一家单位或企业独立完成,需要不同领域、单位/企业的通力协作。为把握好团队间的内在关系,在此基础上统一协调各参研方的技术力量和资源配置,确保系统开发能够按计划高效地进行,亟需引入并贯彻技术状态管理这样一个有用的思想/工具。

在研发过程中,多单位、多学科、多部门的合作与协调,产生了大规模技术数据及时交换、改进方案同步更新等需求。更为重要的是,随着物理/虚拟试验体系不断拓展、CAD/CAE软件等技术的广泛应用,数据、软件、模型的技术状态属性越来越难以准确描述和实时管理,传统的以技术文件/手册/规范为载体的技术状态管理方法,已经无法满足实时、全面、有效了解和控制研发过程中产生各类产品的技术状态,以及把控其技术指标的开发需求。结合船舶总体性能模拟仿真系统的内在属性与特点,定制化开展其技术状态管理,已成为必然选择。

本文以研发船舶总体性能模拟仿真系统的总体需求为牵引,着眼复杂软件系统的研发和今后的应用过程,围绕其技术内涵与特征,提炼技术状态管理的重点方向;开展技术状态管理的“本地化”裁剪,建立与现有关键管理活动的映射关系;提出在众创机制下实施技术状态管理的思考建议和开展初步应用实践,为系统研发和应用的高质量提供重要支撑与保证。

1 复杂应用软件系统研发的技术挑战及其技术状态管理引入的必然要求

复杂应用软件系统的研发过程,由于软件模块具有来自多方、技术状态信息更改频繁、研发周期跨度大等特点,很难沿用传统的技术手段进行管理。以船舶总体性能模拟仿真系统的开发为例,其所面临的技术挑战主要体现在以下方面。

1.1 船舶总体性能的学科复杂性

不同于陆、空、天,船舶所在的海洋环境复杂多变,以水动力学、结构安全性、综合隐身性能三大学科为代表的总体性能对于船舶的航行安全和经济高效至关重要。由于随机性问题的存在,船舶总体性能尚存在诸多未解难题,例如船舶水动力性能中对于“风浪流/自由液面”、“高雷诺数湍流”、“空化流动”等非定常和非线性问题至今难以用数值模拟仿真手段准确表达。同时,船舶总体性能亦是一门经典学科,意味着经验性内容多、理论传承体系脉络纷繁多样;同一类问题存在多种技术解决方法/途径,即使是行业顶尖专家也难以兼顾如此种类庞杂的学科体系。因此,其开发成果的技术状态确认、技术成熟度鉴别与审核把关的难度相当大。

1.2 开创性工作缺乏可继承性经验

船舶总体性能的数值模拟软件研发一直倍受关注,迄今为止尚无一款具备应用能力的综合软件系统。国际上最为知名的案例是2006年欧盟发起的“虚拟水池(VIRTUE)”计划以及2016年我国开展的“数值水池”[2]计划。这两个项目旨在开发一套以计算流体力学(Computational Fluid Dynamics,CFD)为基础的船舶水动力性能数值模拟软件。从呈现的技术成果来看,仅属于民船水动力学性能CFD应用技术攻关。其学科局限于水动力学,并没有覆盖船舶总体性能的主要内容,特别是软件系统距离应用,仍有较大的距离。

船舶总体性能模拟仿真系统,不应是一个“拼盘”式的数值模拟软件集合。复杂软件系统的研制攻关、总体集成是一项艰巨的工程;边开发边应用、以应用促进系统的持续生长优化,更是一项长期性的工作。以更拓展的视角看,如何在系统的初创研发、应用验证、服务维护、生长优化的全阶段始终贯彻一致性、可传承的顶层设计思想、总体技术路线、分学科技术方案,是技术管理的一大难题。

1.3 众创机制带来的技术状态统一难题

系统研发采用众创机制,汇集总体性能、信息化技术等多领域的优势力量参与,仅软件模块数量便会达到数百上千项,来源数十个研究单位或部门,技术状态统一和准入验证标准建立的难度相当大。开展软件模块研发与自测试时,多采用小团队/小组的模式进行“边研制、边应用、边改进”的技术开发与管理,存在个体化特征较强、技术开发经验不一、测试验证准备不充分等现象,带来技术与管理信息偏移的纠正、“分片段”管理的统一、需求到执行的过程管控等问题亟待解决。

1.4 软件系统传统管理方法的不足

提供船舶总体性能预报、评价、优化流程的技术支持服务,是开发模拟仿真系统的重要成果形式之一。为确保在整个寿命周期之内,与开发、使用、维护相关的人员可以获取准确的技术状态信息,需要正确地形成文件并通过文件全面反映出当前阶段的技术状态以及达到功能要求的程度。众多软件研发单位采用的传统管理方法,提供了非常全面的软件研制过程精细化管控手段;但是有必要针对船舶总体性能模拟仿真系统的特殊性进行针对性优化,以确保系统不断持续改进。

在众多问题中,核心问题是对众创各方的技术状态准确控制、记录、审核,同时需求得到识别、标识与追踪,确保在研制、生产及运行维护的全寿命周期内船舶总体性能模拟仿真系统的功能特性和物理特性保持一致性。因此,引入并实施技术状态管理[3](Configuration Management,CM,在软件相关国军标中通常称之为“配置管理”)方法,将显著增强系统的研制效率和质量。

2 技术状态管理关键活动的“本地化”

为理清船舶总体性能模拟仿真系统与技术状态管理方法的关系,必须注意到,是先有模拟仿真系统的研制开发需求,再有技术状态管理方法的“辅助加成”。技术状态管理应是“千人千面”,不能一味地将现有的技术与行政体系改造,而是运用技术状态管理的思想和理念,将关键活动/要素与既有体系建立对应关系,以利于技术状态管理的“本地化”。

2.1 系统的技术状态管理基线建立

在技术状态管理活动中,核心任务是建立基线,作为管理的主要依据。基线是在一个技术开发层次完成以后,对技术状态描述的一系列经过正式确认的技术状态文件[4];基线的建立、稳定和受控,才能开展后一个开发层次的研制活动。

船舶总体性能模拟仿真系统的总体架构、功能在形成过程中,需要建立若干个阶段控制点,以利于各阶段的动态管理。根据通用的基线划分准则,设置功能基线、分配基线和产品基线三个基线,以一系列的技术文件通过批准为标志(相关文件名称在此不再赘述)。在功能基线阶段,以质量计划书的编制、评审、反馈为抓手,确立初始技术状态;在分配基线阶段,通过技术开发/研究报告的策划、编写、线上审签,实现该阶段主要技术状态的记录控制;在产品基线阶段,以对照系统特性是否满足原定计划要求和巩固相应技术状态为主要目标,反映技术状态变更,为系统投入使用后的可持续运行提供保障。

2.2 系统的技术状态项设立

在复杂应用软件系统的研发过程中,需要进行独立结构单元的分解,其中需要单独管理且有助于达到最终使用要求的结构单元被称为技术状态项(Configuration Item,CI)。对船舶总体性能模拟仿真系统而言,其分解结构单元见下页表1。

从管理的可见性和效率提升的角度出发,应在CI中区分重点项和一般项进行管理。在研发阶段,我们认为应用客户端、软件模块、试验数据、标准规范和系统测试这五项结构单元,因技术开发难度高、技术状态把控要求严,应纳入重点CI进行管理,设置功能基线、分配基线和产品基线。系统的维护、运营等服务和系统支撑硬件等,由于技术手段较为成熟,因此可根据阶段或系统的需求,作为一般CI项设置功能基线与产品基线。

3 实施技术状态管理的新思路

针对技术状态管理方法中的动态数据和过程的管理、开放式可拓展体系结构、面向研制过程的动态图档管理等关键技术,已有成熟工具和应用实践,在此不再赘述。高质量地开展船舶总体性能模拟仿真系统的技术管理工作,需要针对该系统的技术特征和需求,从技术思想统一、信息化技术手段的运用两个方面重点关注,形成具体的工作方案,确保技术状态管理与大型软件系统研发、运维的深度融合。

3.1 统一技术思想

作为一项“走新路”的复杂应用软件系统,结合船舶总体性能研发的内在需求和存在的主要问题,我们提出以下4方面的技术创新思路:

(1)汇聚、融合物理试验数据和虚拟试验数据,统一数据标签,为数据的深度挖掘和知识化、推动数据库成为知识宝库奠定坚实基础;

(2)建立严格准入的统一标准,通过“自开发与他验证”机制,严控不同单位/部门开发的软件模块质量,确保鲁棒性;

(3)“采购”最成熟可靠的应用创新资源,通过确权/记账,构建系统、开发者、用户之间的技术互信;

(4)基于“属性细分、知识封装”的开发理念,推动软件模块“APP化”,使之形成一个个“消除因人因事差异”的APP,从而达到“即插即用”的应用效果。

随着船舶总体性能模拟仿真系统的技术状态管理方法的推行,需要通过文件、讲座、合同要求等形式,不断深化技术思想的宣贯和执行,以技术思想落地为目标提出相应的技术管理和管控要求,将其作为基线确立的前提之一。

3.2 有效运用信息化技术手段

有别于以纸质为主要载体的传统技术管理方法,在信息化技术飞速发展的今天,技术状态管理实际上可称为“面向系统生命周期的数据管理技术”。船舶总体性能模拟仿真系统在协同开发过程中必须通过信息化手段,构建工作流和过程管理体系。

以系统测试这项CI的技术状态控制为例,由于手工测试过程存在人为主观因素,造成测试工作量巨大、公平性无法保证等,可以引入自动化测试技术(分析系统业务流程,梳理自动化测试用例),针对典型性能预报流程,通过异构APP测试脚本组件化定制,实现APP测试流程模块化;应用测试管理平台,实现对测试需求、测试计划、测试用例、测试数据、测试脚本、测试缺陷、测试日志和测试报告等资产库管理和合理有效的复用,从而快速应用于回归测试。

此外,在APP的开发、应用、维护流程中,可采用特定算法对软件源码生成唯一的校验码,而不是以人工验证方法确定其软件状态是否变更;通过信息化平台记录用户对APP的操作、流程的设置、信息数据的流向,推动技术状态优化;建立、跟踪某一典型APP从产生、完善、发布、使用、维护、下线等全生命周期中的演变过程文档,通过研究其更改变迁,形成APP类的技术状态管理模板等。

4 技术状态管理在系统开发过程中的应用实践

船舶总体性能模拟仿真系统开发的创新特色显著、多方共创参与、测试验证的工作量巨大,是一项典型的复杂系统工程。针对系统推进过程中的难点,结合船舶总体性能特点和管理组织现状,从策划保持系统及成果的完整性和一致性、提高系统开发效率等方面,开展探索实践。

4.1 保持系统的完整性和一致性

系统所涉及的学科体系庞杂、专业程度很强,尤其是软件模块这一CI,在实施过程中往往还牵涉到多家单位,较易缺项或者与技术规格要求不一致,造成系统或其他工作产品的完整性和一致性受损。为此,通过形成CI的结构性表征“树”和按期召开技术状态审核及通报会两个手段,推动技术状态的过程可控。

首先,根据建立的基线文件,明确各项CI的责任人、计划完成时间点、物理组成(采用物理审核确认)与技术规格(采用功能审核确认),形成200余项CI的结构性表征树状图。通过技术状态规划,避免了不同团队可能从事重复的技术研发工作,保证技术状态清晰明确、可跟踪、可追溯,必要时还可直接压实到责任人。

其次,每月定期召开状态审核、通报会,以基线及相应的CI的结构性表征“树”为基准,对各项资源进行物理审核与功能审核;同时通报CI进度和审核质量,协调解决实施过程重点问题、对后续节点工作进行部署。通过技术状态通报会的筹备、召开与后续跟踪,有效实现重点问题的解决与闭环,降低了信息在过程中的损耗,显著提高系统的开发效率。

4.2 提高软件模块开发质量与效率

以软件模块这一典型CI的开发过程为例,将“软件APP化”的思想贯穿于需求整理与策划、需求分析、设计与实现、合格性测试、验证与验收交付等全寿命周期的多个阶段,实现技术状态管理的可用和规范。

在中国船舶科学研究中心开展的先期开发实践过程中,选择了10个在专业属性、开发语言、技术难度和规模等方面比较接近的APP研制单元,将其分为2组,作为技术状态管理对照验证对象。第1组试点5个APP未采用技术状态管理,经第三方测试组开展的独立测试工作,发现文档与代码问题共53项,其中严重问题1项、一般问题32项、轻微问题20项,在对问题进行修改与技术项变更时,分析技术项的影响很难到位,导致后续变更过程效率低下;第2组采用基于GJB5000A的精细化管控思想的技术状态管理模式,经第三方测试组开展的独立测试工作,发现文档与代码问题共15项,其中严重问题0项、一般问题2项、轻微问题13项,通过技术审核形成的基线控制,在后期验收测试时没有再发现任何问题。

可见,采用技术状态管理进行研制过程管控的CI,消除了重要问题的出现,一般问题与轻微问题数量显著减少;对技术状态变更流程实行严格的技术审核和基线控制,能够及时发现和有效解决问题,推动后期0问题通过验收测试。

4.3 提升开发团队整体软实力

通过发布阶段性应用客户端,通过开发者和服务对象共同参与改进的方式,收集技术状态意见100余项。以技术状态意见的确认、反馈与闭环为主线,开展系统后续的技术状态分析与变更。通过统计变更情况、开展各项审核活动,促进团队成员及时掌握技术状态信息,有利于分享经验、缩短开发周期;不断扩大的组织资产库,为后续项目直接选用成熟模块和文档资料提供支撑。

5 结 语

船舶总体性能模拟仿真系统的研发,是一项开创性的重大工程。作为一个复杂应用软件系统的典型,该系统内外部的设计、更改、协调的工作繁复艰巨,应用技术状态管理的方法对其研制开发和实施应用过程进行科学管理已成必然。如何有效运用技术状态管理方法,促进船舶总体性能模拟仿真系统的管理提升和性能提升,是一个极具研究价值的课题。

本文在分析船舶总体性能模拟仿真系统技术管理特点的基础上,尝试用技术状态管理的理念与方法,确立技术状态管理基线、重点技术状态项(CI),提出两方面实施技术状态管理的新思路,通过中国船舶科学研究中心开展的先期应用实践验证了技术状态管理的有效性,为进一步加强复杂软件系统开发过程的可控性和未来发挥更大效能,进行了有益探索。

猜你喜欢
基线总体船舶
基于深度约束的超短基线声速改正方法
高度角对GNSS多系统组合短基线RTK影响
大数据分析的船舶航迹拟合研究
船舶稳性控制系统研究
WSL下基于GAMIT的高精度GPS/BDS基线解算及精度分析
船舶上层建筑建造工艺探讨
基于CFD的大型船舶液舱晃荡研究
GAMIT用于GNSS长基线解算分析
宪法修改的重大意义总体要求和原则
直击高考中的用样本估计总体