软件配置管理(软件的技术状态管理)
软件配置管理(软件的技术状态管理)- GJB 5235-2004军用软件配置管理
1 概述 :
1.1 软件配置(类似于技术状态):在软件生命周期各阶段产生的各种形式和各种版本的文档,程序、数据及环境的集合
1.2 软件配置项(类似于技术状态项):为了配置管理的目的而作为一个单位来看待的软件成分,通常为软件配置中的一个元素。常见的软件配置项:需求规格说明书、设计规格说明书、源代码、测试计划、测试用例、用户手册。
1.3 软件配置管理(SCM):为保证软件配置项的完整性和正确性,在整个软件生命周期内应用配置管理的过程;
1.3.1:配置在硬件中通常称为技术状态;
1.3.2:软件配置管理通常包括:配置标识、配置控制(版本控制、变更控制、配置审计、配置状态统计)、配置状态纪实、配置评价、软件发行管理和交付等;
1.4 开发库:在软件生命周期内,存放软件配置项的集合;
1.5 受控库:一个受控的软件配置项集合,一遍用于软件开发、运行及维护;
1.6 产品库:在软件生命周期内,存放已定型(鉴定)且供交付、生产、检验验收的软件配置项的集合;
1.7 非开发软件配置项目(NDSCI):非组织开发的软件配置项,通常指采购的软件配置项、顾客提供的软件配置项、重用的软件配置项或分组织开发的软件配置项;
1.8 基线:已经正式通过评审和批准的某配置项的某规约(指规格说明)或产品(指程序),它因此可作为进一步开发的基础,并且只能通过正式的变化控制过程来改变;
1.8.1 功能基线:由顾客和研制方签订的合同或任务书规定的软件系统需求说明;
1.8.2 分配基线:软件需求阶段结束时,经过正式评审或批准的软件需求规格说明;
1.8.3产品基线:经过评审和批准的,可用于交付的软件相关的产品
2 软件配置管理的阶段及活动;
2.1、 组织SCM(软件配置管理)计划的制定应不迟于软件需求分析阶段,并应得到顾客的评审和审批;配置管理计划应包含哪些内容需参考GJB5235-2004、GB/T12505-1990标准;
2.2 、SCM过程应通过评审和评价的方式以确保SCM任务符合SCM计划; SCM过程应按照GB/T8566的要求实施诸如问题解决和过程改进等过程,以调整对SCM计划的偏离;
3. 软件配置标识:
3.1 组织应为每个软件配置项提供唯一的标识;
3.2 应为软件配置项开发\控制\建立\验证\装载\重建所用的工具提供唯一性的标识;
3.3 应唯一的标识每一个基线;
3.4 应唯一的标识已命名的受控库;
3.5应为每一个软件配置项和基线建立状态标识(阶段标识)、配置控制进展标识(审批状态等)、更改申请的状态标识(审批状态等);
4.软件配置控制:
4.1 检入和检出的控制:验证更改是否得到授权;建立更改日志;维护一份更改副本;更新受控库;
4.2 更改的控制:提出更改申请(软件文件报告单是更改申请的形式之一)——评价更改申请的影响(软件变更分类、技术影响分析、接口影响分析、进度影响分析、预算影响分析)——变更批准/拒绝——变更实现——通知相关人员——结束更改(编写软件更改报告单并产生一个新的基线)
4.3 版本控制:凡已经进入受控库的软件产品,如发生更改,SCM过程应更新版本号;
4.4 存取控制:SCM过程应采取必要的措施,以控制不同访问权限的人员访问受控库;
5. 软件配置状态纪实:
5.1 记录标识:记录新的和已经更改的软件配置项的标识和状态;对版本进行维护
5.2 跟踪更改:跟踪更改申请;跟踪批准的更改;
5.3 报告状态纪实:主要指的是向监管部门、管理部门、顾客等报告;
6.软件配置评价:
6.1 应确定 a)存储在受控库中的软件配置项是否与SCM记录相符; b)软件产品相对于构造软件配置项的累计状态和批准的更改而言,是否完备和可用;c)基线是否由相关的软件配置项和各自批准的更改组成
7.软件的发行管理和交付:
软件的发行和交付过程主要包括:处理、存储、复制、包装、交付和使用、维护等活动
7.1 处理:SCM过程应能确保从保存基线的受控库中发行软件配置项至产品库;并保留保存基线的受控库和软件环境;
7.2 存储:选择可靠的存储介质;以与存储介质想适用的频度处理并刷新所存储的软件配置项;备份存储;
7.3 复制:建立复制规程(软件复制相当于软件的生产),确保一致且完整的复制软件产品;并使用适合的适合复制的软件产品存储的介质;
7.4 包装:确保按照批准的规程准备交付软件的介质,并在顾客容易辨认的地方清楚的标出发行标识;
7.5 交付:应实施GB/T 8566 规定的交付过程;
7.6 软件使用和维护过程:负责软件使用和维护的组织应按照本标准规定的过程和要求实施SCM.
8.软件配置管理工具:
8.1 配置管理必须依靠工具(尤其是自动化工具)
8.2 软件配置管理工具的主要功能:版本管理,变更管理、配置审核、状态统计(查询和报告)、问题跟踪(跟踪缺陷和变更)、访问控制和安全控制;
8.3 软件配置管理工具:
8.3.1 第一代产品:CCC、SCCS、RCS ; (是版本控制工具,是入门级的工具);
8.3.2 第二代产品:ClearCase ;(项目级配置管理工具,适合管理中小型的项目,在版本管理的基础上增加了变更控制,状态统计的功能)
8.3.3 第三代产品:Firefly、 Butterfly;(企业级配置管理工具,在实现传统意义的配置管理的基础上又具有比较强的过程管理功能)
注:本篇内容来自CCAA培训平台中《技术状态管理》的相关培训课程,仅作为本人学习笔记,不作为任何其他用途的判定依据!!!如有侵权,请及时联络删除!!!