基于GJB5000A的软件技术状态管理方法探讨

1 航天型 软件研制特点及问题

近年来随着航天事业的发展,航天型 软件研制特点及问题日趋显著,矛盾日益加剧,主要体现在如下五个方面:

①研制阶段多。软件项目的开发需要经过策划、分析、设计、开发、测试等环节,经历所检、军检、外场联试、任务执行等阶段。对于一个配置管理项而言,阶段越多,产生的技术状态就会越多。而一个软件是由几十甚至上百个配置管理项组成的,产生的软件技术状态就有可能呈N次方的增加,这加大了准确标识、控制软件技术状态的难度。

②部门协作多。项目研制不能单打独斗,要依靠多单位、多部门相互配合,需要完成大量的沟通、协调工作,而接口关系复杂,会导致沟通不充分,技术状态不稳定。

③功能模块多。采用模块化的开发方式便于软件的快速、准确集成,但随之也带来了模块数量多、版本交错、不便于维护、技术状态难控制等诸多问题。

④时间进度紧。航天型 的研制项目都是有周期性的,软件的研制、调试往往处于周期计划的中后期,而此时还有大量需要协调、待明确的事项等着梳理,因此软件研制的时间进度会很紧,易导致软件技术状态不稳定。

⑤需求变化多,变更难以控制。用户需求往往不断变化,而与硬件是一个实实在在的物品不同,软件变更相对容易,随意性较强。但由此会带来软件技术状态管理上的困难。

综上所述,如果不能对航天型 软件的技术状态实施合理、有效的控制管理,就会引发软件状态多、版本管理混乱、变更控制不到位、文档与程序严重脱节、管理过程依赖个人能力等诸多问题,最终导致软件产品技术状态失控。

2 基于GJB5000A的软件技术状态管理解决方案

2.1 配置库管理

配置库管理是管理存储所有基线配置管理项及相关文件等内容的系统,是在软件产品的整个生存期中维护软件产品完整性的主要手段。对配置库实施三级管理,对应的分别是开发库、受控库和产品库,流程如图1所示。

图1 配置库管理流程

Fig.1 Process of configuration library management

在实施配置库管理过程中,需要关注以下四方面:

①项目确立后,项目总体申请项目配置标识并告知软件总体。软件组召开项目立项会,项目配置管理员在开发库、受控库中建立项目基本环境,完成立项;

②项目配置管理员依据项目配置管理项状态清单在开发库中整理项目的初始状态。配置项的状态分为新开发、需升级、已具备三类。新开发、需升级是项目中待开发的配置项,已具备配置项的状态相对成熟,从组织资产库中提取,可以直接在项目中使用;

④项目完成组装测试后,项目配置管理员依据项目配置管理项状态清单在开发库整理软件集成状态,软件设计人员提交对应的运行环境,软件总体对状态进行确认。软件设计人员填写入库单,完整的集成状态转入受控库管理。

2.2 阶段控制

软件全生命周期一般包括软件系统分析与设计阶段、软件需求分析阶段、软件概要设计阶段、软件详细设计阶段、软件实现阶段、软件集成与测试阶段、软件配置项测试阶段、软件系统测试阶段和验收与维护九个阶段。在每个阶段都应针对软件技术状态实施合理、有效的控制管理。

2.3 基线管理

基线是正式通过复审和批准的某规约或产品,它可作为进一步开发的基础,并且只能通过正式的变化控制过程改变[5]。

Table 1 Software configuration audit

在实施基线管理过程中,需要关注以下六方面:

①明确配置项。一般包括代码和可执行程序(环境)、文档及数据。

②标识唯一。配置管理项一旦被唯一标识并记录下来,就不要随意进行修改。

③记录详尽。明确的配置项信息应当详细地记录在软件配置管理计划中,包括配置项的类型,开发人员是谁,生成的版本如何,属于哪个产品等;软件配置管理项状态应当详细记录在软件项目配置状态 告中,包括版本信息、变更及配置管理活动情况等。

④建立及时。软件项目基线建立要及时,应在时间节点内完成。

2.4 变更控制

变更控制指的是在软件生命周期中,被更改的配置管理项必须正式取自配置管理的受控库、产品库[7]。为了确保配置管理项在变更过程中得到规范管理,准确把控软件技术状态,变更控制需要履行严格的流程,完成正规的审批手续,并最终留存完整、详实的纪实。变更控制流程如图2所示。

图2 变更控制流程图

Fig.2 Flow chart of change control

在实施变更控制过程中,需要关注以下六方面:

①严格遵照流程执行。

②受控级别不同,审批级别不同。变更审批的级别依据受控级别确定,分为组织级CCB和项目级CCB两级。纳入受控库管理的配置管理项变更需要经过项目级CCB批准,纳入产品库管理的配置管理项变更需要经过组织级CCB批准,产品库管理的配置管理项审批级别更高。

④整理集成状态时,确保标识信息准确性。项目配置管理员依据项目配置管理项状态清单整理集成状态,检查配置管理项标识信息是否准确。

⑥维护基线时,建立完整、详实的纪实。由项目配置管理员记录配置状态的变更。如果需要对基线进行维护,则由软件总体更新软件系统状态记录,要求记录完整、详实。

2.5 组织资产库建设

组织资产库的使用不仅能够提高组织能力,还为提升软件质量、实现资源共享提供了平台。

组织资产库中管理的内容都发生在项目结项时,是在软件项目研制过程中产生的测量数据、实践等信息的基础上整理生成的。同样的,出入库也需要提交申请,履行正规的审批手续。后续的软件项目可以直接参考组织资产库中的方案、数据,这就为项目的开发提供了有力的依据。随着软件技术状态控制不断加强,配置库中成熟资源不断积累,组织资产库中可复用的内容会越来越多。同时,随着组织资产库中管理信息的不断积累,软件项目可以借鉴、复用的内容也越来越多,将会减少新研制项目管理方面的工作量,降低开发风险。

3 实施软件技术状态管理前、后的对比

对软件技术状态实施管理后,软件在管理力度与质量提升方面有了明显的提高,主要体现在以下几个方面:

①增强团队协作。开发团队包括项目负责人、项目总体、软件总体、软件设计、软件编码、软件测试、项目配置管理员、项目质量保证、项目计划主管、项目质量主管等。工作中,定期召开项目例会、软件人员交流会,实施岗位双人制、轮岗制。通过这些措施的实施,让项目中成员能熟悉项目研制及进展情况,增强了团队协作力。

②提高软件复用率。建立组织资产库,能够更好地实现成熟资源共享,提高软件复用率。从复用率统计分析数据可以清晰了解已受控配置项的复用情况,如XX模块已在120个在研项目上使用,复用率高达60%。这对于提高工作效率、缩短产品周期、及时分享经验、加强单位的核心竞争力等都起到了至关重要的作用。

④提高开发效益。通过模块复用、各阶段软件配置状态 告,团队成员能及时掌握技术状态信息,有利于分享经验、缩短开发周期。

⑤提高产品质量。成熟模块的复用,在提高效率的同时,带来了软件产品的高可靠性,而严格的变更控制,可有效避免由软件变更带来的隐患和问题。

⑥增强团队的竞争力。不断扩大的组织资产库,为后续项目直接选用成熟模块和文档资料提供了支撑,为提高软件研制水平奠定了基础,同时也方便项目的后期维护。

4 结束语

GJB5000A标准是实施软件管理的依据,基于该标准对管理过程进行本地化、明细化、闭环化是提升软件技术状态管控的关键。在实践中,必须系统、全面地优化和落实GJB5000A体系文件,才能使软件开发活动更加有序、高效,进而改善软件维护困难、软件产品状态难控制的局面,更好地服务于软件技术状态控制。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月19日
下一篇 2021年6月19日

相关推荐