APP下载

航天器软件质量度量模型研究与应用

2022-02-21贺晓洋金晟毅张杨曹瑞强苏若曦彭兢

航天器工程 2022年1期
关键词:度量航天器探测器

贺晓洋 金晟毅 张杨 曹瑞强 苏若曦 彭兢

(北京空间飞行器总体设计部,北京 100094)

随着日益蓬勃的航天技术发展,基于软件定义航天器为主体架构下的自主能力和智能化水平也逐步提高,这使得航天器上软件系统的任务量、规模、复杂度、软硬件交互程度激增。软件产品质量对于航天器在轨稳定运行的支持作用愈加关键,因此,如何对软件产品研制全过程的质量进行量化度量,并基于度量结果针对性提升软件产品质量,对航天器系统的研制具有重大的意义。

度量(Metrics)是一个函数,它的输入是软件数据,输出是单一的数值,能用以解释软件所具有的一个给定属性对软件质量影响的程度。软件度量是对影响软件质量的属性所进行的定量测量。软件度量的目的是,在整个软件生存周期中,评估软件质量需求是否得到了满足[1]。

目前国内外软件产品的质量,多是通过软件能力成熟度模型集成(Capability maturity model integration, CMMI)和软件代码缺陷密度(千行缺陷率)进行评价的[2-5],CMMI提供了一个将软件实践按成熟度级别分成5级的框架,并假定组织应用更成熟的过程将生产出具有更高质量的软件产品,但是难以量化表征软件产品研制过程的质量。IEEE标准[1]选取软件产品功能性、可靠性、可维护性、易使用性等样本要素作为软件产品质量要素,偏向于软件产品完成研制后的事后评价。NASA标准[2]软件度量指南旨在帮助机构启动或改善度量大纲,不为具体度量应用提供指导,对于产品质量要素覆盖不够。文献[6]通过对软件产品质量模型、开发、趋势和评估的研究,结果表明目前相当少的模型致力于处理软件产品质量的全部属性,可见现有模型并不具有定义复杂质量要求的属性,且现有的软件产品质量模型没有充分执行跟踪的质量。文献[7]通过北斗导航系统项目软件质量管理研究,使用软件设计、过程组织、规范管理、文档管理等要素作为质量评价的准则,但是这些要素对于软件研制全过程的质量状况覆盖不够全面,缺少测试验证、第三方评测等重要的质量要素。文献[8]以CMMI理论为指导,以质量管理为研究对象,建立了以需求工程、软件设计、编码、代码审查、单元测试和系统测试等要素为基础的高成熟度量化管理方案,能够在项目研发过程中判断软件开发项目过程是否处于受控状态,预测软件缺陷,降低交付缺陷密度,提高产品研发质量,但是还缺少定量化评价软件产品质量的方法。文献[9]通过软件度量的研究与进展分析,认为软件度量存在以下技术难点:方法设计缺乏通用性、软件度量未形成统一体系、面向动态运行环境的完整性度量缺乏高效性和灵活性,未来研究趋势主要包括专用方法到通用方法设计的转变、对软件度量的方法给出信任级别的分析和评估将成为提升软件度量水平的有效手段等。

现行的软件产品度量方法对于航天器软件产品质量进行度量,主要存在以下3个方面的问题:①缺少一种通用的航天器软件产品质量度量方法,②现有的方法难以表征和量化度量软件产品研制全过程的质量结果,③难以根据质量度量结果开展针对性的软件产品质量提升。为了解决上述问题,本文通过面向航天器软件产品研制全过程的探索和研究,基于各级软件产品保证要求,开发了一套通用的航天器软件产品研制过程质量度量模型,该模型能够量化度量软件产品研制全过程的质量情况,基于度量结果可以开展针对性的软件产品质量提升。

1 航天器软件产品质量度量模型研究

根据软件研制工程化要求和航天器软件各级产品保证要求,基于软件产品研制经验和特点,在软件产品研制全寿命周期中,决定研制过程质量的要求主要包括总体策划与执行、分析与设计、测试验证、可靠性和安全性、技术状态更改、质量问题归零及举一反三、配置管理、开发环境、第三方评测等9个方面。通过分析和研究,进一步提炼出可用于度量软件研制过程质量的28条子要求。基于这些要求建立了航天器软件产品通用质量度量模型,如图1所示。

按照航天器软件产品研制过程的控制重点,将质量度量模型中9项28条质量要求分别设置评分权重,量化度量准则。图1中,αi为第i个质量要求的评分权重系数,i表示第i个质量要求(1≤i≤n),n为软件度量模型中的质量要求个数;βij为第i个质量要求中第j个子要求的评分权重系数,j表示第j个子要求(1≤j≤ωi),ωi为第i个质量要求中的子要求个数。例如:模型中各项质量要求影响软件产品质量的最重要的三个因素——“软件分析与设计”、“软件测试验证”、“第三方评测”,分别赋予相对较高的评分权重系数,各项质量要求中的子要求根据不同的影响程度分别赋予不同的评分权重系数。

在图1所示的航天器软件产品通用质量度量模型中,在28条具体子要求的基础上,针对每条子要求落实结果的符合程度分别设置4个度量档次标准A、B、C、D,其中A为最优、D为最劣,档次得分依次递减。因篇幅所限,模型中28条子要求落实结果度量档次的定义不做累述,本文表1给出了典型示例。为了确保软件产品质量度量结果满足航天器要求,软件承制单位应按照模型中28条具体子要求的A档次标准或不低于B档次标准规范开展各项研制工作。

表1 航天器软件产品质量度量模型评分标准示例

图1 航天器软件产品通用质量度量模型

该通用模型将航天器软件产品研制全过程所涉及的全部质量要素按照9项28条质量要求进行了明确定义,并纳入到一个整体度量的框架中,可用于指导深空探测、载人、通信、导航、遥感等各个领域航天器软件产品的开发、测试、交付等全过程,以便评估航天器软件产品研制全过程是否满足了所规定的质量要求。

自顶向下,该模型有利于:①在航天器软件产品研制周期的早期阶段,质量管理人员根据通用模型建立质量要求;②向软件研制人员传递质量要求并逐项实施和落实;③根据量化准则度量已建立的质量要求。自底向上,该模型可以使软件技术和管理人员通过下述方式获得质量信息:从通用模型28条子要求的落实结果量化度量软件产品研制全过程的质量;对照已建立的质量要求和度量准则,预测和评估软件研制过程的质量情况,改进薄弱环节,提升产品质量。

2 软件质量度量评分

2.1 评分标准和流程

该模型中定义的9项28条质量要求覆盖了航天器软件产品研制全过程的质量要素,针对每条子要求落实结果分别设置了4个度量档次标准,以“软件测试验证”质量要求的“测试内容全面性”子要求为典型示例,质量度量评分标准见表1。

计算航天器软件产品研制全过程质量度量结果时,由专家根据该质量度量模型的评分标准给出每个子要求的原始评分Zijk并取平均值,得到子要求评分

(1)

式中:m为专家人数,k表示第k位专家(1≤k≤m)。

将每个要求中的子要求评分Zij与权重系数βij相乘后累加,得到该要求评分

(2)

式中:βij为第i个质量要求中第j个子要求的权重系数。

将每个要求评分Yi与权重系数αi相乘后累加,得到软件产品质量总分

(3)

式中:αi为第i个质量要求的权重系数。

2.2 典型算例

嫦娥五号探测器某数管计算机应用软件负责实现整个探测器遥控遥测、信息网络智能路由、自主热控管理、自主能源管理、自主健康管理等关键功能,该软件的质量对于探测器飞行任务成败至关重要。

在该软件的研制过程中,严格依据软件工程化管理要求、各级相关产保要求开展研制工作。应用了本文所提的质量度量模型,作为客观准确度量软件质量的手段,完成了软件研制质量自确认暨分系统验收后,由探测器软件产品保证人员组织成立了12人专家组,由领域专家根据软件产品数据包文件对每个子要求的落实情况按A、B、C、D的档位分级评分,对该软件研制过程质量进行度量,最终得分为90.9分,如表2所示。

表2 航天器软件产品质量度量结果示例

3 软件产品质量提升

设置软件度量结果门限,根据度量结果开展针对性质量提升工作:①航天器软件产品最终通过验收的前提是度量结果达到90分以上,对于总分Q低于90分或存在单项子要求评分Zij低于75分的软件产品,由软件承制单位负责针对薄弱环节开展专题工作,提升产品质量。②对于全部软件产品,根据度量结果中普遍偏低的要求和子要求(一般考虑为航天器全部软件产品半数以上或者航天器某一分系统内全部软件产品半数以上,都针对某一具体子要求得分低于75分;或者同一要求下子要求得分均不低于75分,但该要求得分低于80分的),由航天器软件产品保证人员织开展专题工作,提升产品质量。具体工作流程如图2所示。

图2 航天器软件产品质量提升工作流程图

仍以嫦娥五号探测器某数管计算机应用软件为例,在软件产品质量度量工作过程中,专家根据得分相对较低的子要求提出了如下意见和建议:单元测试用例数不够,建议进一步补充开展单元测试。

针对专家提出的问题和建议,软件承制单位补充开展了专题工作:使用单元测试工具AUnit软件,对该应用软件进行补充测试:当对某个源文件进行单元测试时,AUnit将里面的函数分别列出,由用户选择每次测一个函数。AUnit通过调用内置的软仿真环境运行插桩后的被测程序,并对运行结果进行分析、统计。补充测试过程中未发现程序设计错误,测试结果进一步确认了所有软件模块的语句覆盖率和分支覆盖率均达到100%。通过有效应用该质量度量模型,该软件产品在“软件测试验证”要求中“测试内容全面性”子要求的度量评分由74.2分提升为85.1分(表2中该项得分为质量提升后的最终得分),质量得到了有效提升。

4 质量度量模型在嫦娥五号的应用

嫦娥五号任务的目标是实现月面自动采样返回,探测器系统(以下简称探测器)经地月和环月飞行,在月面选定区域着陆,采集约2 kg月球样品(实际采集1731 g),经月面起飞、月球轨道交会对接和样品转移、月地转移和再入回收等过程,将月球样品安全送至地面[10]。

探测器在轨飞行过程复杂、高质量高可靠实施难,飞行过程中有四器组合体、两器组合体、交会对接组合体以及单器等多种工作模式;飞行过程中需进行6次分离、21次变轨,涉及近月制动、动力下降、月面起飞、交会对接、月地射入等多个串联且不可逆的关键飞行事件,飞行程序复杂,对整个系统尤其是软件产品的质量提出了很高的要求。在探测器研制过程中,首次应用了航天器软件产品通用质量度量模型进行全部69个软件产品研制[11-15]。

各单位在软件产品工程化要求、各级产保要求的基础上增加了质量度量模型这一项软件产品质量确认和提升手段,按照9项28条质量要求规范开展软件研制工作,保留过程证据作为开展量化度量工作的依据,并进行软件产品质量自查和自确认。直至软件交付验收阶段,由软件产品保证人员组织成立人员固定的度量专家组,按照专业分工对所有软件产品研制情况进行度量评分。

软件产品质量度量过程中,个别软件产品针对子要求评分低于75分的薄弱环节补充开展了专题工作,进一步提升了软件产品质量。69个软件产品均通过质量度量,平均得分为93.3分、最高98.8分、最低90.2分。航天器软件产品质量度量模型的应用,有效确保了探测器软件产品质量提升和探测器在轨稳定运行。

5 结束语

本文提出了航天器软件产品通用质量度量模型,通过落实模型中定义的9项28条质量要求,该模型可用于指导各个领域航天器软件产品研制全过程的规范实施。使用模型中的度量准则和评分标准,可以度量航天器软件产品研制全过程的质量情况,形成定量化的评价结果。根据航天器软件产品研制过程质量度量结果,可以有针对性地改进薄弱环节,提升软件产品质量。

后续将针对模型平台化和信息化应用手段开展进一步研究,以拓展该模型的使用范围。

猜你喜欢

度量航天器探测器
2022 年第二季度航天器发射统计
鲍文慧《度量空间之一》
2021年第4季度航天器发射统计
航天器表面抑菌活性微生物的筛选与鉴定
人造航天器中的超重、失重现象探究
“天问一号”火星探测器成功发射
第二章 探测器有反应
EN菌的引力波探测器
不欣赏自己的人,难以快乐
突出知识本质 关注知识结构提升思维能力