陈玥文 赵亮
摘 要:基线管理活动是配置管理活动的核心,对于保障项目的有序进行以及工作产品的质量至关重要。本文给出了基于增量迭代模型的基线管理方法,并对基线管理的主要活动进行了深入的研究。
关键词:增量迭代;配置管理;基线
中图分类号: TP391 文献标识码: A 文章编号: 1673-1069(2016)13-39-2
0 引言
配置管理在软件项目整个生命周期内,通过一系列活动,建立和维护项目工作产品的完整性和一致性。基线管理作为配置管理的主要活动,对于保证项目开发的顺利进行以及工作产品的正确性起着重要的作用。
1 基于增量迭代模型及其基线策划
1.1 增量迭代模型
增量迭代模型是大型软件项目生命周期模型的一种,融合了瀑布模型的基本成分和原型模型的迭代特征,其示意图见图1。增量迭代模型以系统总需求为全集,每一个线性迭代会产生一个可发布的“版本”,第一个版本通常是核心产品,以后每次在前一版本的基础上,添加“增量”(即本次迭代需要开发的系统需求),最后一次交付一个完整的系统。
1.2 增量迭代模型中的基线策划
增量迭代模型不是一次性的开发过程,在软件项目的进行过程中,对于部分阶段会出现多次重复的情况,因此对于增量迭代模型中这些阶段所形成的基线也需要不断重复,基线一般包括功能基线、分配基线、设计基线、代码基线以及产品基线,对于增量迭代模型,其设计阶段、实施阶段、联试阶段是一个不断迭代的过程,不断实现系统的全部需求,因此与其对应的分配基线、设计基线、代码基线也存在多个,同时对于每一个增量迭代过程结束,如需提交用户试用,还需在提交用户试用前形成基于此次迭代的“迭代基线”,增量迭代模型的基线组成图见图2。
在同一个迭代过程内,不同的基线之间采用包含的关系建立。即新的基线不但包含本基线所特有的工作产品,还包含前一条基线的所有工作产品,新的基线完全可以替代原来的基线。比如,在迭代过程1中,设计基线1不但包含了设计基线所特有的工作产品,还包含了分配基线1的所有工作产品,当设计基线1发布以后,可以完全取代分配基线1作为下一步开发和变更的基础。而不同的迭代过程间的基线则不存在包含关系。比如迭代过程2中的分配基线2虽然建立在迭代基线1之后,但由于二者属于不同的迭代过程,因此二者之间不存在任何包含关系,分配基线2仅包含分配基线所特有的工作产品。
由于增量迭代模型的迭代次数越多,模型的复杂度越高,周期越长,因此一般采取2-3次迭代为宜。
2 增量迭代模型中的基线管理的主要活动
项目开发过程中的对基线的管理和控制是保证项目顺利进行及项目质量的有力手段,基线的管理除了包括最初的基线的策划以外,还包括项目进行过程中的基线审计、基线的建立及发布以及基线的变更管理。
2.1 基线的审计
在采用增量迭代模型进行软件项目开发的过程中,为了保证配置项版本的功能特性与相应的系统需求规格说明一致,保证工作产品的正确性,以及基线产品的完整性(完备性、一致性、正确性),需要对基线进行审计。基线的审计工作由项目配置管理师组织,在基线建立前或基线发生重大变更时进行。
基线的审计有助于及时解决系统开发过程中出现的配置项各种不一致性问题,主要分为功能审计、物理审计和配置管理审计。功能审计主要是验证配置项功能特征是否已达到其基线文档中所规定的需求,是否完备和正确,一般可与配置项的相关评审工作合并进行。物理审计主要是检查已构造的配置项是否完备,版本是否一致。配置管理审计的目的是确认配置管理记录和配置项是否完备、一致和准确。物理审计和配置管理审计通常由配置管理师完成。
进行基线审计时,通常可以按照如下步骤进行:
①项目的配置管理师可依据配置管理计划和项目进展,确定审核的范围。
②确定需审计的配置项和基线,重点审计配置项的变更管理和评审历史等。
③按照配置管理计划配置管理师进行基线审核,记录审核发现的问题,对基线审计发现的不符合项,需获得被审核人员的确认。
④项目配置管理师汇总基线审计的情况,拟制基线审计报告。
⑤对基线审计发现的不符合项,督促相关人员制订和实施纠正措施,并对问题进行跟踪归零。
⑥ 项目配置管理师跟踪和验证不符合项的纠正措施,解决后将其关闭。
⑦ 基线审计报告经项目负责人审核、CCB批准后由项目配置管理师在项目组发布,审计结果通知相关人员。
⑧ 质量保证师检查基线审计活动是否按配置管理计划执行,基线审计的过程是否遵守相关规程。质量保证师跟踪整个审计和纠正过程直至结束。
⑨ 基线审计结束后,项目配置管理师将基线审计的全部记录检入受控库进行管理和控制。
2.2 基线的建立及发布
项目中基线的建立必须通过审计,审计通过后,经过配置管理委员会(CCB,也称配置控制委员会)授权,由配置管理人员将消息发布给项目相关人员。
CCB通常由固定成员和动态成员组成,固定成员有直接主管该项目的领导、项目负责人、技术负责人、配置管理人员、质量保证人员、分析设计人员、开发人员和测试人员等;动态成员有用户代表、高层管理者。对于采用增量迭代模型进行开发的大型软件项目,根据CCB实施管理的内容可将CCB分为系统级CCB和软件级CCB。系统级CCB主要对与系统产品有关的基线进行控制,一般包括功能基线、分配基线、设计基线、迭代基线和产品基线,其组长由直接主管该项目的领导担任;软件级CCB主要对与软件产品有关的基线进行控制,一般主要指代码基线,其组长由项目负责人担任。基线建立一般应在相应的工作产品批准或测试通过后及时(不超过两周)建立。
2.3 基线的变更管理
在增量迭代模型中,系统的控制基线的变更,对于保证工作产品的完整性和一致性至关重要。所有的基线产品都是受控的,基线的变更不是随意的,在进行基线变更时要重点对基线变更的影响进行分析,写明需要变更的配置项,并进行影响域分析,对照需求跟踪矩阵,对每一个受影响的配置项进行分析,考虑工作量、进度、风险、经济效益和改进效果等各方面因素。CCB全面负责配置项的变更控制,基线的变更需经过CCB组长的审批。
3 结束语
增量迭代模型对于大型软件项目的开发提供了一种阶段式的开发模式,采用增量迭代模型进行开发的项目通常具有复杂度高、开发周期长的特点,在开发过程中进行规范、严格的基线管理,将对于保证项目的成功完成以及最终产品的质量起到至关重要的作用。
参 考 文 献
[1] 刘文红,吴欣,董锐.基于CMMI的配置管理系统设计与实现[J].飞行器测控学报,2011.2.
[2] 徐晓春.软件配置管理[M].北京:清华大学出版社,2002.