配置管理
??本文将介绍软件配置管理,根据会结合个人理解解释什么是软件配置项、配置基线。
1、软件配置项:
软件配置项(SCI): 软件生存周期各个阶段活动的产物经审批后即可称之为软件配置项。 一般认为:软件生存周期各个阶段活动的产物经审批后即可称之为软件配置项。 软件配置项包括: ①与合同、过程、计划和产品有关的文档和资料; ②源代码、目标代码和可执行代码; ③相关产品,包括软件工具、库内的可重用软件、外购软件及顾客提供的软件等。 摘自-百度百科
个人理解: 以下图为例, ??对于软件1来说,需求规格说明书、设计规格说明书、源代码、测试计划、测试用例、用户手册、其它·······,为软件1的配置项; ??对于子系统1来说,软件1、软件2、软件3,为子系统1的配置项; ??对于系统来说,子系统1、子系统2、子系统3、子系统…,为系统的配置项。
2、配置基线
软件基线: 是项目储存库中每个工件版本在特定时期的一个“快照”。它提供一个正式标准,随后的工作基于此标准,并且只有经过授权后才能变更这个标准。建立一个初始基线后,以后每次对其进行的变更都将记录为一个差值,直到建成下一个基线。
个人理解: ??当软件1确定一个版本,并存到受控库开发库, ??通常版本控制软件都有实现打基线的功能,比如SVN。 ??在项目管理中,打基线主要是在项目进入下一个阶段时把上一阶段的源码、文档等打个标识,从而作为下一阶段的开始。 ??还是以上图为例 ??软件1基线1: ????需求规格说明书V1.0 ????设计规格说明书V1.0 ????源代码V1.0 ????测试计划V1.0 ????测试用例V1.0 ????用户手册V1.0 ????其它V1.0·······
??软件1基线2:
????需求规格说明书V2.0 ????设计规格说明书V1.0 ????源代码V2.0 ????测试计划V1.0 ????测试用例V1.0 ????用户手册V1.0 ????其它V1.0·······
3、软件配置管理
软件配置管理,叫SCM,它应用于整个软件工程过程。因为变更在任何时刻都可能发生,因此SCM活动的目标就是为了: (1)标识变更; (2)控制变更; (3)确保变更正确地实现; (4)向其他有关的人员报告变更。 软件配置管理是贯穿整个软件生存周期的一项技术。它的主要功能是控制软件生存周期中软件的改变,减少各种改变所造成的影响,确保软件产品的质量。正确应用软件配置管理是开发高质量软件所不可缺少的。软件配置管理的过程是软件开发过程中质量管理的精髓。
4、实际操作
??要实现配置管理,还需要配套的其他管理制度,例如:配置项标识要求、三库管理要求、库结构等 ??配置管理的实施需要公司的体系支撑,而不同公司有不同的流程、表单,首先要明确公司的战略、价值观 ??大致可分为两类:
- 利益在前
??假设公司现有产品1,可能将来会有产品2(如下图),若是利益在前,会将产品1的配置管理简单化,交付时打包封存,以减少配置管理成本,立即获得产品带来的收益,面临的问题是,如何产品1出现问题,需要反复修改时,由于配置管理不善、人员流动,导致资源成本的浪费 ??当出现一个与产品1极其类似的项目产品2,这时产品2需要复制产品1,再对其进行升级,会造成少部分浪费资源成本 ??但是,当产品1或者产品2出现一个同样的问题,需要修改时,由于产品1与产品2配置管理是分开独立,极有可能造成改了产品1,缺忽视产品2,导致共性问题解决困难,从而造成极大的浪费 ??如果类似产品很多的话,可想而知。 - 利益在后
??假设公司现有产品1,可能将来会有产品2(如下图),产品1的配置管理足够详细,标识明确、可追溯性强,当有产品2出现时,只需要将其中的2个配置项升级版本即可,但是,这样的配置管理会增加一定的管理成本(例如::功能配置审核、物理配置审核、配置管理审核、出入库管理流程、配置变更流程等实施这些都会提高管理成本) ??当产品1或者产品2出现一个同样的问题,需要修改时,由于产品1与产品2配置管理足够详尽,开发人员能很清晰的知道两个产品共性在哪,举一反三即可
|