项目收尾软件配置管理概念配置管理是对变更进行标识、组织和控制的技术。软件配置管理定义软件配置管理(SoftwareConfigurationManagement,SCM)是对产品进行标识、存储和控制,以维护其完整性、可追溯性和一致性,是开发和维护各个阶段管理软件演进过程的一种方法和规程。SCM的主要目标是使修改部分更容易被适应,并减少变化中所花费的工作量,它几乎始终贯穿整个软件生存期。相关概念变更变更不可避免软件开发活动中变更是不可避免的,变更控制就是防止出现混乱。有效的变更控制需要借助配置数据库和基线的概念。配置数据库配置数据库的作用是收集与配置有关的信息;评价系统变更的效果;提供配置管理过程的管理信息。利用配置数据库中保存的信息相关概念配置项软件配置项(SoftwareConfigurationItems,SCI)是配置管理的对象,它是一个特定的、可文档化的工作产品集。配置项可以是与合同、过程、计划和产品有关的文档及数据,源代码、目标代码和可执行代码.用面向对象的方法组织项目数据库很自然,将每个SCI看作一个配置对象,各SCI之间的联系用对象间的关系表示。相关概念配置对象图示源代码模块N数据模型数据设计结构设计模块设计截面设计设计规格说明书测试计划测试过程测试用例测试规格说明书相关概念基线基线是已经通过正式评审和认可的标准或产品,也称里程碑,基线是以后进一步开发的基础,只有通过正式的更改控制规程才能进行改变。基线是软件生存期各开发阶段末尾的特定点,每个阶段的工作完成时都需要建立基线,其作用是把各阶段的工作分得更加清楚,使得原本连续的工作在这些点上断开,以便检验和确认阶段成果。基线对变更的控制作用是“不允许跨越里程碑去修改另一阶段的东西”相关概念SCISCI一旦形成文档并复审通过,即成为一个基线。当SCI成为基线时,便纳入基线库中。此后,若开发小组的成员欲改动SCI,首先要将它拷贝到私有工作区,并将其在数据库中锁住,不允许其他人使用。在私有工作区完成修改并复审通过之后,再把修改后的SCI推出并送回数据库,同时解锁。相关概念例需求分析需求规格说明书用户手册计划设计编码测试项目开发计划测试报告设计规格说明程序清单需求基线计划基线设计基线编码基线测试基线相关概念软件配置管理委员会(SCCB)软件配置管理委员会是由项目经理及其相关人员组成的机构,可以是一个小组,也可以是一个人。SCCB负责评估变更,批准变更申请,在生存期内规范变更申请流程,反馈变更,与项目经理沟通。软件配置管理基本活动项目经理和配置管理委员会(CCB)根据项目的开发计划确定各个里程碑和开发策略根据CCB的规划,制定详细的配置管理计划,交CCB审核。CCB通过的配置管理计划交项目经理批准,发布实施。制定软件配置计划配置管理计划必须定义的问题制定配置管理计划时必须定义的问题软件配置管理基本活动配置管理计划必须定义的问题文档命名约定;正式文档的关系;确定负责验证正式文档的人员;确定负责提交配置管理计划的人员。制定配置管理计划时必须定义的问题根据已文档化的规程为每个软件项目制定软件配置管理计划将已文档化且经批准的软件配置管理计划作为执行配置管理活动的基础配置标识为了方便对软件配置中的各个对象的控制与管理,所有的SCI都应按相关规定命名和组织,并在文档中规定部分记录对象的标志信息。通常需要标识两种对象是基本对象和复合对象。基本对象由开发人员在分析、设计、编码和测试时所建立的“文本单元”。复合对象由若干基本对象和复合对象组合而成的对象。配置标识除了标识配置对象,还应考虑命名对象之间的关系。对象之间的关系不仅存在于层次树中,还存在可跨越对象层次的分支相互关系。有时一个配置对象会与其他多个对象有关系,这时SCI的分层结构不一定是简单的树形结构,而是网状结构。配置标识确定配置标识的活动建立配置管理库作为存放软件基线的仓库标识置于配置管理下的软件工作产品提出、记录、审查、批准和跟踪更改要求和问题报告记录配置项/配置单元的状态配置标识版本控制进化图Obj1.0Obj1.1Obj1.2Obj1.3Obj1.1.1Obj1.1.2Obj2.0Obj2.1配置标识版本控制需要解决的主要问题根据不同用户的需要配置不同的版本;保存系统老板本,以备日后之需;建立一个系统新版本,使其包含某些决策而废弃另一些;支持两个以上的工程师同时在一个项目中工作;高效存储项目的多个版本。系统整合系统整合是把系统的不同部分进行集成,使其完成一组特定的功能、包括对不同部分进行编译,将不同部分组成一个可执行系统。系统整合要考虑的问题包括是否所有组成系统的成分都包括在整合说明书中?是否所有组成系统的成分都有合适的版本?是否所有的数据文件都是可以获得的?在组成系统的所有成分中,是否有数据文件命名相同的?是否有合适版本的编辑器和其他工具?状态报告报告就是根据配置项操作数据库中的配置状态记录,向管理者报告软件开发活动的进展情况(为了清楚、及时记载软件配置的变化,需要对开发过程作出系统记录,以反映开发活动的历史情况。)这种报告是定期进行的,尽量用Case工具自动生成。配置状态报告应着重反映当前基线配置项的情况,其主要内容包括配置库结构和相关说明;开发起始基线的构成;当前基线位置及状态;各基线配置项集成、分布的情况;关键元素的版本演进记录;其他应予报告的事项。配置审计确认变更是否已正确实施有两种方法,一种是正式技术评审,另一种是软件配置审计。正式技术评审(复审)针对所有变更重点检查已完成修改的软件配置对象的技术正确性。配置审计(审核)配置审计是正式技术评审的补充手段,评价正式技术评审没有被考虑的因素软件配置管理组织配置管理组织构成配置管理组织一般由相应管理层和职能层共同组成。配置管理实施配置管理方针明确地分配每个项目的SCM责任;在项目的整个生命周期中实施SCM;建立和使用一个仓库,用于存放配置项/配置单元和相关的SCM记录;定期审核软件基线和SCM活动。配置管理工具