欢迎来到天天文库
浏览记录
ID:10553362
大小:37.00 KB
页数:5页
时间:2018-07-07
《软件配置管理过程及其关键活动》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件配置管理过程及其关键活动PMT陈越随着软件产业的崛起,软件工程技术正吸引着越来越多关注的目光。特别是以CMM为代表的先进的软件工程理念在国内也正日益受到业界广泛的重视。软件配置管理(SoftwareConfigurationManagement,SCM)作为CMM2级的一个关键域(KeyPracticeArea,KPA),在整个软件的开发活动中占有很重要的位置。正如Pressman所说的:“软件配置管理是贯穿于整个软件过程中的保护性活动,它被设计来(1)标识变化,(2)控制变化,(3)保证变化被适当的发现,以及(4)向其他可能有兴趣的
2、人员报告变化。”所以,我们必须为软件配置管理活动设计一个能够融合于现有的软件开发流程的管理过程,甚至直接以这个软件配置管理过程为框架,来再造组织的软件开发流程。本文参照了CMM2级中软件配置管理的相关的要求,充分考虑了在CASE工具的辅助下实现自动的软件配置管理的可能性,描述了在一个比较理想的软件研发组织中软件配置管理的流程及其关键活动。一.角色职责对于任何一个管理流程来说,保证该流程正常运转的前提条件就是要有明确的角色、职责和权限的定义。特别是在引入了软件配置管理的工具之后,比较理想的状态就是:组织内的所有人员按照不同的角色的要求、根据
3、系统赋予的权限来执行相应的动作。因此,在本文所介绍的这个软件配置管理过程中主要涉及下列的角色和分工:项目经理(ProjectManager,PM):项目经理是整个软件研发活动的负责人,他根据软件配置控制委员会的建议批准配置管理的各项活动并控制它们的进程。其具体职责为以下几项:制定和修改项目的组织结构和配置管理策略;批准、发布配置管理计划;决定项目起始基线和开发里程碑;接受并审阅配置控制委员会的报告。配置控制委员会(ConfigurationControlBoard,CCB):负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供
4、建议。其具体职责为以下几项:定制开发子系统;定制访问控制;制定常用策略;建立、更改基线的设置,审核变更申请;根据配置管理员的报告决定相应的对策。配置管理员(ConfigurationManagementOfficer,CMO): 根据配置管理计划执行各项管理任务,定期向CCB提交报告,告,并列席CCB的例会。其具体职责为以下几项:件配置管理工具的日常管理与维护;提交配置管理计划;各配置项的管理与维护;执行版本控制和变更控制方案;完成配置审计并提交报告;对开发人员进行相关的培训;识别软件开发过程中存在的问题并拟就解决方案。系统集成员(Sys
5、temIntegrationOfficer,SIO):系统集成员负责生成和管理项目的内部和外部发布版本,其具体职责为以下几项:集成修改;构建系统;完成对版本的日常维护;建立外部发布版本。开发人员(Developer,DEV):开发人员的职责就是根据组织内确定的软件配置管理计划和相关规定,按照软件配置管理工具的使用模型来完成开发任务。二.过程描述一个软件研发项目一般可以划分为三个阶段:计划阶段、开发阶段和维护阶段。然而从软件配置管理的角度来看,后两个阶段所涉及的活动是一致,所以就把它们合二为一,成为“项目开发和维护”阶段。项目计划阶段:一个
6、项目设立之初PM首先需要制定整个项目的计划,它是项目研发工作的基础。在有了总体研发计划之后,软件配置管理的活动就可以展开了,因为如果不在项目开始之初制定软件配置管理计划,那么软件配置管理的许多关键活动就无法及时有效的进行,而它的直接后果就是造成了项目开发状况的混乱并注定软件配置管理活动成为一种“救火”的行为。所以及时制定一份软件配置管理计划在一定程度上是项目成功的重要保证。在软件配置管理计划的制定过程中,它的主要流程应该是这样的:CCB根据项目的开发计划确定各个里程碑和开发策略;CMO根据CCB的规划,制定详细的配置管理计划,交CCB审核
7、;CCB通过配置管理计划后交项目经理批准,发布实施。项目开发维护阶段:这一阶段时项目研发的主要阶段。在这一阶段中,软件配置管理活动主要分为三个层面:(1)主要由CMO完成的管理和维护工作;(2)由SIO和DEV具体执行软件配置管理策略;(3)变更流程。这三个层面是彼此之间既独立又互相联系的有机的整体。在这个软件配置管理过程中,它的核心流程应该是这样的:(1)CCB设定研发活动的初始基线;(2)CMO根据软件配置管理规划设立配置库和工作空间,为执行软件配置管理就阿做好准备;(3)开发人员按照统一的软件配置管理策略,根据获得的授权的资源进行项
8、目的研发工作;(4)SIO按照项目的进度集成组内开发人员的工作成果,并构建系统,推进版本的演进;(5)CCB根据项目的进展情况,审核各种变更请求,并适时的划定新的基线,保证开发和维护工作有序的
此文档下载收益归作者所有