发信人: hotsale2000(流水) 
整理人: leeyg(2001-02-21 16:36:43), 站内信件
 | 
 
 
 第六节 软件配置管理
 
 目标是在整个软件生命周期中建立和维护软件项目中的产品的完整性。
 包括整个软件生命周期中按时在给定节点上鉴定软件(如所选的软件工作产品及其描述)的配置,系统地控制配置的改动及维护配置的完整性和可追溯性。软件配置管理下的工作产品包括提交给客户的软件产品(如软件需求文档和代码)以及生产这些软件产品所需要的东西(如编译器)。
 建立一个包含软件基线的软件基线库。通过改动控制和软件配置管理的配置审核功能系统地控制对于基线的改动和从软件基线库中生成的软件产品的释放。
 这一KPA包含了执行软件配置管理功能的实践。鉴定特定配置的实践包含在描述了每个配置项/模块的开发和维护的KPA 中。
 
 目标
 目标 1 软件配置管理活动是有计划的。
 目标 2 所选的软件工作产品经鉴定,受控制,是可利用的。
 目标 3对鉴定过的工作产品的改动是受控的。
 目标 4 受影响的部门和个人了解软件基线的状况和内容。
 
 行为的责任
 责任1 项目依照书面的组织性的原则进行软件配置管理(SCM)。
 这一原则代表性地指明:
 1.	清晰地分配每一项目的SCM的责任。
 2.	SCM的进行贯穿整个项目生命周期。
 3.	SCM 是针对可对外提交的软件产品,指定的内部软件工作产品和用于项目内部的指定的支持工具(如编译器)。
 4.	建立到达配置项/模块的存储库的通路。
 
 这个库的内容即这些实践中提到的"软件基线库"。
 访问这个库的工具和程序即"配置管理库系统"。
 
 放在配置管理之下作为单一实体的工作产品被称为配置项目。
 配置项目被典型地分解成配置元素,配置元素被典型地分解为模块。在一个硬件/软件系统中,所有的软件可被看作一个配置项目,或可将软件分解成多个配置项目。这里"配置项/模块"用于表示配置管理下的元素。
 
 
 5.	定期审核软件基线和SCM活动。
 
 行为的能力
 能力 1 建立一个有权管理项目的软件基线的委员会(即软件配置控制委员会SCCB)。
 SCCB:
 1.	授权建立软件基线及配置项/模块的识别。
 2.	代表项目经理和所有可能受软件基线改变的影响的部门的利益。
 
 受影响部门的例子包括:
 硬件质量保证
 硬件配置管理
 硬件工程
 制造工程
 软件工程(包括所有子部门,如软件设计)
 系统工程
 系统测试
 软件质量保证
 软件配置管理
 合同管理
 文档支持
 
 3.	审核和授权对软件基线的改动。
 4.	授权由软件基线库中生成产品。
 
 能力2 建立一个负责协调和执行SCM的小组。
 SCM小组协调或或执行:
 1.	建立和管理项目的软件基线库。
 2.	制定、维护和分配SCM计划,标准和程序。
 3.	放在SCM下的一系列工作产品的鉴定。
 
 工作产品是从定义、维护和利用一个软件过程中得到的任何人工产物。
 
 4.	管理对软件基线库的访问。
 5.	更新软件基线库。
 6.	由软件基线库中生成产品。
 7.	记录SCM的活动。
 8.	SCM报告的生成和发布。
 
 能力3   为进行SCM活动提供充足的资源和资金。
 1.	指派一个专门负责SCM的经理。
 2.	开发支持SCM活动的工具。
 
 支持工具的例子包括:
 工作站
 电子数据表程序
 配置管理的工具
 
 能力 4在进行SCM活动的目标、程序和方法方面对SCM小组的成员进行培训。
 
 培训的例子包括:
 SCM标准、程序和方法
 SCM工具
 
 能力 5 软件工程部门和其他软件相关部门的成员接受进行SCM活动的培训。
 
 其他软件相关部门的例子包括:
 软件质量保证
 文档支持
 
 培训的例子包括:
 在软件工程部门和其他软件相关部门内进行的SCM活动所要遵循的标准、程序和方法
 SCM小组的任务、责任和权利
 
 进行的活动
 活动 1根据文档化的程序为每一个软件项目制定SCM计划。
 这一程序代表性地指明:
 1.	SCM计划是在全部项目计划的初期进行并与之同步发展。
 2.	由受影响的部门审核SCM计划。
 3.	SCM计划是受管理和控制的。
 
 活动2 文档化的经批准的SCM计划用于进行SCM活动的基础。
 计划包括:
 1.	要进行的SCM活动,活动的进度,分配的责任和需要的资源(包括员工,工具和计算机设备)。
 2.	软件工程部门和其他软件相关部门进行的SCM需求和活动。
 活动 3 建立一个配置管理库系统作为软件基线库。
 这个库系统:
 1.	支持SCM的多个控制层次。
 产生多个控制层次的情况的例子包括:
 在生命周期中的不同时间所需的控制层次不同(如产品成熟时地较紧控制)。
 只具软件系统和包括软、硬件的系统所需的控制层次不同。
 2.	提供配置项/模块的存储和回复。
 3.	提供受影响部门间和不同控制层次间的配置项/模块的库内共享和传递。
 4.	帮助使用配置项/模块的产品标准。
 5.	提供配置项/模块的存储和存档版本的恢复。
 6.	帮助确保由软件基线库中正确生成产品。
 7.	提供SCM记录的存储、更新和回复。
 8.	SCM报告的支持生产。
 9.	提供库结构和内容的维护。
 
 库维护功能的例子包括:
 库文件的备份/修复
 库错误的回复。
 
 活动 4 识别放在配置管理下的软件工作产品。
 1.	根据文档化的标准选择配置项/模块。
 
 可鉴定为配置项/模块的软件工作产品的例子包括:
 过程相关的文档(如,计划、标准或程序)
 软件需求
 软件设计
 软件代码模块
 软件测试程序
 为软件测试活动而进行的软件系统构建
 为向客户或最终用户提交进行的软件系统构建
 编译器
 其他支持工具
 
 2.	配置项/模块指定唯一标识符。
 3.	规定每一个配置项/模块的特性。
 4.	规定每一个配置项/模块从属的软件基线。
 5.	规定每一个配置项/模块放在配置管理下的节点。
 6.	规定负责每一个配置项/模块的人(即所有人,从配置管理的角度来看)。
 
 活动5  根据文档化的程序开始、记录、审核、批准和跟踪所有配置项/模块的改动要求和问题报告。
 
 活动 6根据文档化的程序控制对基线的改动。
 这一程序代表性地指明:
 1.	进行审核或逆行测试以确保改动未对基线产生未预期的影响。
 2.	只有经SCCB批准的配置项/模块进入软件基线库。
 3.	以维持软件基线库正确性和完整性的方式录入/出配置项/模块。
 
 录入/出的例子包括:
 验证更改是经授权的。
 建立更改日志
 保持更改复制
 更新软件基线库
 存档替换后的软件基线
 
 活动7 根据文档化的程序从软件基线库生成产品及控制其释放。
 这一程序代表性地指明:
 1.	SCCB授权由软件基线库中生成产品.
 2.	由软件基线库生成的产品,无论是为内部所用还是外部所用的,都是仅从软件基线库中的配置项/模块中构建。
 
 活动 8  根据文档化的程序记录配置项/模块的状况。
 这一程序代表性地指明:
 1.	充分详细地记录配置管理活动以便了解每个配置的内容和状况及恢复先前的版本。
 2.	维护每个配置项/模块的当前状况和历史(即改动和其他活动)。
 
 活动 9  开发存档SCM活动和软件基线内容的标准报告并使受影响的部门和个人能利用它。
 报告的例子包括:
 SCCB会议记录
 改动需求总结和状况
 问题报告汇总和状况(包括解决情况)
 软件基线改动汇总
 配置项/模块的改动历史
 软件基线状况
 软件基线审核结果
 
 活动 10  根据文档化的程序进行软件基线审核。
 这一程序代表性地指明:
 1.	对于审核有充分的准备。
 2.	评估软件基线的完整性。
 3.	审核配置管理库系统的结构和设备。
 4.	验证软件基线库内容的完备性和正确性。
 5.	验证与适用的SCM标准和程序的一致性。
 6.	向项目软件经理报告审核的结果。
 7.	跟踪审核的活动项目直至结束。
 
 度量和分析
 度量1  进行度量,确定SCM活动的状况。
 
 度量的例子包括:
 每一单位时间处理的改动需求的数目
 SCM活动里程碑的完成与计划的对比
 SCM活动中完成的工作,花费的努力和消耗的资金。
 
 验证实施
 验证 1  定期协同高级经理审核SCM活动。
 验证 2 定期或事件驱动下协同项目经理审核SQA的活动。
 参阅KPA(软件项目跟踪和监管)的验证2 中涉及项目经理监管审核的典型内容的实践活动。
 
 验证3  SCM小组定期审核软件基线,验证软件基线符合对其定义的文档。
 
 验证 4 软件质量保证部门审核SCM的活动和工作产品并报告结果。
 
 参阅KPA(软件质量保证)
 
 作为最低限度,这些审核要验证:
 1.	以下符合SCM的标准和程序:
 l	SCM小组
 l	SCCB
 l	软件工程小组
 l	其他软件相关小组
 2.定期审核软件基线的进行。
 
  | 
 
 
 |