航天型号软件配置管理系统研究

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

航天型号软件配置管理系统研究

摘要:通过对CMM(能力成熟度模型,Capability Maturity Model)中软件配置管理的研究,结合航天型号软件实时性、高可靠性和重用性的特点,提出使用B/S软件架构实现基于Web技术的航天型号软件配置管理系统。传统的配置管理系统对航天软件生产实践缺少针对性,航天型号软件配置管理系统根据航天软件工程的实际需求,细化了软件配置项,提高了软件质量,实现了成熟软件模块的高重用性。介绍了CMM中配置管理的基本概念,完成了航天配置管理系统的概要设计,并对系统中配置项管理模块的实现思路进行了具体说明,最后对航天软件配置管理系统的应用前景进行了展望。

关键词:CMM;软件配置管理;B/S;软件工程

0 引言

软件配置管理(SCM,Software Configuration Management)为软件开发提供了一套管理方法和原则[1]。它控制着整个软件系统的演变过程,其目标是对从软件项目启动开始到软件报废为止的全生命周期进行管理的学科。根据IEEE标准中软件配置管理的定义,配置管理系统以版本管理、变更管理、状态统计和配置审核这4种基本功能的具体实现,对软件开发进行标识、控制与管理[2]。

基线和软件配置项是软件配置管理的核心对象。基线(Baseline)即软件生存期中各开发阶段节点,只有通过变更控制过程才能修改它们;软件配置项(Software Configuration Item)即软件配置管理的对

象,是软件工程过程中产生的信息项,如需求、测试计划和源代码等。SCM活动的目标就是为了实现对基线和配置项的变更进行标识、控制,确保变更正确实现,并向其他有关人员报告变更。在软件全生存周期内,软件变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM能协调软件开发过程,使得混乱减少到最小,能够有效地提高软件的生产效率。

航天软件一般是嵌入航天控制系统的数据处理机和控制处理机的核心软件。由于航天软件在航天系统中的重要性,要求其具有较高的实时性、可靠性和可修改性。航天控制软件是整个航天系统的控制核心,如果实时性不能满足,将导致各个分系统的运行混乱,无法完成预期任务。航天系统的可靠性要求更高,航天系统原则上不允许出错,然而航天总体对软件需求处于不断变更过程中。因此,在航天软件的开发过程中,实施软件配置管理十分必要,这样才能使整个软件生命周期处于可控状态。

航天软件系统庞大而复杂,成本高,开发周期长,因此,航天软件产品必须具有较好的重用性和可维护性。细化软件配置项、规范化基线和软件配置项标识,实现软件产品横向、纵向可追溯性,是提高软件可重用性的有效方式。为了提高航天软件质量,开发库、受控库和产品库三库独立,应严格控制三库的访问权限,明确三库的备份方式。

1 概述

考虑到航天软件的特点和航天软件研制的现状,航天型号软件研

制的基本阶段包括:系统需求、软件需求分析、概要设计、详细设计、软件实现、软件组装测试、软件确认测试、系统联试[3]。考虑到航天型号软件在其生命周期中的变更、重用性和验收交付工作,航天软件研制过程还应包括:软件更新与更改、软件重用和软件验收交付3个阶段。航天软件配置管理系统,对航天软件全生命周期各个阶段产生的文档、实现的代码、参考的标准、产生的数据等软件产品识别成独立的配置项。为了实现航天不同型号的分系统软件配置项的重用性,本系统对各个航天型号软件分系统中共有的模块、结构、设计和规格说明等独立标识成配置项,独立管理,跟踪所有的配置项和它们的版本、记录、评审、批注等,跟踪全部更改申请和问题报告。

2 软件总体设计

航天软件配置管理系统采用较为流行的B/S软件架构体系,包括数据库层、数据访问层、业务逻辑层和表现层4个部分,如图1所示。4个层次之间相对独立,使数据显示、逻辑处理、数据处理和数据存储相对独立,对前台的更改不会直接影响到后台。4个层次又相互联系共同完成从客户端请求到服务应答显示的整个交互过程。

图1 航天型号软件配置管理系统架构

表现层是和用户直接交互的部分,显示在客户端的浏览器上。它将用户的操作转化成可执行的命令,传递给业务逻辑层,经过后台处理后的数据经过表现层转变成用户期望看到的表现形式。航天配置管理系统的主界面下分成库管理、配置项管理、基线管理、配置审计、配置状态报表和权限管理几个功能模块。

业务逻辑层是系统的中枢神经,负责各种业务逻辑转换和流程的传递、控制。它接收客户端的命令对数据库进行操作,将获取的数据传递给表现层。由于航天软件管理的严格性,对配置项和基线的出入库、变更、状态报告以及库和配置的权限设置有严格的控制逻辑。

数据访问层负责读取数据库中的各种实体数据,将数据按照业务逻辑的要求呈现出来。同时,响应业务逻辑层对数据库中各种实体数据的更改。

数据库层是用来存储各种实体数据的数据库。按照航天配置管理系统的要求,需要定期对数据库进行备份。

3 数据库设计

航天配置管理系统的数据库,集中存放着配置信息和数据。数据库设计直接关系到软件的实现和系统性能,是系统整体设计的关键环节。库、项目、配置项和基线的ER模型如图2所示。由于篇幅限制,本文只给出简图。

图2 库、项目、配置项和基线的ER模型

航天软件配置管理系统在库管理方面采用集中存储、分类管理、透明访问的策略,直观体现CMM中对开发库、受控库和产品库三库分离的软件配置管理需求[4]。从ER模型简图中可以看出,在一个配置库中存储着多个项目,每个项目中存储着软件生命周期中各个阶段的配置项。同时,在软件生命周期中有若干条基线,每条基线中有若干个配置项,一个配置项也包含于多条基线中。4 配置项管理针对航天软件工程的特点,航天型号软件配置管理系统中配置项

管理模块的主要功能项包括:标识配置项、维护配置项、配置项更改控制、配置项历史信息和配置项查询。

4.1 标识配置项

按照CMM的要求,需要标识每一个拟置于配置管理下的工作产品。根据航天软件工程的要求,航天配置管理系统中标识的配置项包括:航天软件研制规程(航天总体签发)、航天软件研制文档和代码等相关标准(航天总体签发)、航天软件开发中使用的工具、航天软件生命周期中各个阶段的文档、航天软件的实现代码。

本系统中配置项标识的命名规则为:航天型号_分系统代号_配置项类型_阶段代号_附加信息_版本号。配置项类型包括标准、规程、工具、文档和代码;阶段代号为航天软件生命周期中的各个阶段的简称;附加信息用于细化和维护配置项;版本号用于版本控制。

4.2 维护配置项

维护配置项提供和维护每个配置项的描述。它表明如下内容:每个配置项的负责人、何时进行配置管理、每个配置项被分解为哪些较低层次的配置部件。

在配置项标识中的附加信息用于细化和维护较低层次的配置项。按照软件工程的思想来说,细化软件配置项必然会增加管理的代价。在航天软件系统中,对配置项进行子配置项的划分,能够实现对关键模块进行更好的继承。将关键子模块进行配置管理,既能够突出重点,独立管理子配置项,又可以通过配置项标识中的附加信息与父配置项加以区分和关联,如图3所示。

相关文档
最新文档