短期软件配置管理培训教程.ppt

上传人:xt****7 文档编号:3943690 上传时间:2019-12-29 格式:PPT 页数:41 大小:386.36KB
返回 下载 相关 举报
短期软件配置管理培训教程.ppt_第1页
第1页 / 共41页
短期软件配置管理培训教程.ppt_第2页
第2页 / 共41页
短期软件配置管理培训教程.ppt_第3页
第3页 / 共41页
点击查看更多>>
资源描述
1 短期软件配置管理培训教程 上海应用技术学院计算机系 讲师 王志敏 2 目录 配置管理的目的配置管理的组织与人员配置管理的定义配置管理的主要任务和活动配置管理的阶段常用的配置管理方法变更申请示例表单总结附录 3 1 配置管理的目的 随着软件团队人员的增加 软件版本不断变化 开发时间的紧迫以及多平台开发环境的采用 使得软件开发面临越来越多的问题 其中包括对当前多种产品的开发和维护 保证产品版本的精确 重建先前发布的产品 加强开发政策的统一和对特殊版本需求的处理等等 解决这些问题的唯一途径是加强管理 而软件开发管理的核心是软件配置管理 4 请看下图 1 配置管理的目的 5 软件配置管理的目的是在项目的整个软件生命周期内建立并维护软件项目产品的完整性 涉及在给定时间点标识软件的配置 即选定的软件工作产品及其描述 系统地控制对配置的更改并维护在整个软件生存周期中配置的完整性和可跟踪性 软件配置管理是大多数软件工程和管理流程的一个构成部分 1 配置管理的目的 6 2 配置管理的组织与人员 2 1配置控制委员会 ConfigurationControlBoard CCB 成员构成如下 组长是总体组代表 他对有关软件配置管理的各项工作全面负责 特别要对更改建议的审批和评审负责 软件工程小组组长负责监督在软件配置管理工作中认真执行软件工程规范 项目的专职配置管理人员检查在作配置更改时的质量保证措施 各子系统的配置管理人员具体负责实施各自的配置管理工作 并参与各子系统的功能配置检查和物理配置检查 7 2 配置管理的组织与人员 用户代表负责反映用户对配置管理的要求 并协助检查各类人员对软件配置管理计划的执行情况 项目专职的配置管理人员协助组长开展各项软件配置管理活动 负责审查所采用的配置管理工具 技术和方法 并负责汇总 维护和保存有关软件配置管理活动的各项记录 总任务 负责指导和控制配置管理的各项具体活动的进行 为项目经理的决策提供建议 8 2 配置管理的组织与人员 其具体职责为以下几项 定制开发子系统定制访问控制制定常用策略建立 更改基线的设置 审核变更申请根据配置管理员的报告决定相应的对策 9 2 配置管理的组织与人员 2 2配置管理员 ConfigurationManagementOfficer CMO 根据配置管理计划执行各项管理任务 定期向CCB提交报告 并列席CCB的例会 主要职责如下 软件配置管理工具的日常管理与维护 提交配置管理计划 各配置项的管理与维护 执行版本控制和变更控制方案 完成配置审计并提交报告 对开发人员进行相关的培训 识别软件开发过程中存在的问题并拟就解决方案 10 3 配置管理的定义 软件配置管理 SoftwareConfigurationManagement SCM 是一种标识 组织和控制修改的技术 软件配置管理应用于整个软件工程过程 我们知道 在软件建立时变更是不可避免的 而变更加剧了项目中软件开发者之间的混乱 SCM活动的目标就是为了标识变更 控制变更 确保变更正确实现并向其他有关人员报告变更 从某种角度讲 SCM是一种标识 组织和控制修改的技术 目的是使错误降为最小并最有效地提高生产效率 软件配置管理 SoftwareConfigurationManagement SCM 作为CMM2 能力成熟度模型 级的一个关键域 KeyPracticeArea KPA 在整个软件的开发活动中占有很重要的位置 11 4 配置管理的主要任务和活动 4 1主要任务Pressman所说的 软件配置管理是贯穿于整个软件过程中的保护性活动 它被设计来 1 标识变化 2 控制变化 3 保证变化被适当的发现 以及 4 向其他可能有兴趣的人员报告变化 所以 我们必须为软件配置管理活动设计一个能够融合于现有的软件开发流程的管理过程 甚至直接以这个软件配置管理过程为框架 来再造组织的软件开发流程 12 4 配置管理的主要任务和活动 达到的效果软件配置管理的各项工作是有计划进行的 被选择的项目产品得到识别 控制并且可以被相关人员获取 已识别出的项目产品的更改得到控制 使相关组别和个人及时了解软件基准的状态和内容 13 4 配置管理的主要任务和活动 4 1主要的活动配置项 SoftwareConfigurationItem SCI 识别工作空间管理版本控制变更控制状态报告配置审计 14 4 配置管理的主要任务和活动 配置项 SoftwareConfigurationItem SCI 识别Pressman对于SCI给出了一个比较简单的定义 软件过程的输出信息可以分为三个主要类别 1 计算机程序 源代码和可执行程序 2 描述计算机程序的文档 针对技术开发者和用户 3 数据 包含在程序内部或外部 这些项包含了所有在软件过程中产生的信息 总称为软件配置项 由此可见 配置项的识别是配置管理活动的基础 也是制定配置管理计划的重要内容 15 4 配置管理的主要任务和活动 软件配置项分类软件的开发过程是一个不断变化着的过程 为了在不严重阻碍合理变化的情况下来控制变化 软件配置管理引入了 基线 BaseLine 这一概念 IEEE对基线的定义是这样的 已经正式通过复审核批准的某规约或产品 它因此可作为进一步开发的基础 并且只能通过正式的变化控制过程改变 所以 根据这个定义 我们在软件的开发流程中把所有需加以控制的配置项分为基线配置项和非基线配置项两类 例如 基线配置项可能包括所有的设计文档和源程序等 非基线配置项可能包括项目的各类计划和报告等 16 4 配置管理的主要任务和活动 配置项的标识和控制所有配置项都都应按照相关规定统一编号 按照相应的模板生成 并在文档中的规定章节 部分 记录对象的标识信息 在引入软件配置管理工具进行管理后 这些配置项都应以一定的目录结构保存在配置库中 所有配置项的操作权限应由CMO严格管理 基本原则是 基线配置项向软件开发人员开放读取得权限 非基线配置项向PM CCB及相关人员开放 17 4 配置管理的主要任务和活动 工作空间管理在引入了软件配置管理工具之后 所有开发人员都会被要求把工作成果存放到由软件配置管理工具所管理的配置库中去 或是直接工作在软件配置管理工具提供的环境之下 所以为了让每个开发人员和各个开发团队能更好的分工合作 同时又互不干扰 对工作空间的管理和维护也成为了软件配置管理的一个重要的活动 一般来说 比较理想的情况是把整个配置库视为一个统一的工作空间 然后再根据需要把它划分为个人 私有 团队 集成 和全组 公共 这三类工作空间 分支 从而更好的支持将来可能出现的并行开发的需求 18 4 配置管理的主要任务和活动 每个开发人员按照任务的要求 在不同的开发阶段 工作在不同的工作空间上 例如 对于私有开发空间而言 开发人员根据任务分工获得对相应配置项的操作许可之后 他即在自己的私有开发分支上工作 他的所有工作成果体现为在该配置项的私有分支上的版本的推进 除该开发人员外 其他人员均无权操作该私有空间中的元素 而集成分支对应的是开发团队的公共空间 该开发团队拥有对该集成分支的读写权限 而其他成员只有只读权限 它的管理工作由SIO负责 至于公共工作空间 则是用于统一存放各个开发团队的阶段性工作成果 它提供全组统一的标准版本 并作为整个组织的KnowledgeBase 19 4 配置管理的主要任务和活动 当然 由于选用的软件配置管理工具的不同 在对于工作空间的配置和维护的实现上有比较大的差异 但对于CMO来说 这些工作是他的重要职责 他必须根据各开发阶段的实际情况来配置工作空间并定制相应的版本选取规则 来保证开发活动的正常运作 在变更发生时 应及时做好基线的推进 20 4 配置管理的主要任务和活动 版本控制版本控制是软件配置管理的核心功能 所有置于配置库中的元素都应自动予以版本的标识 并保证版本命名的唯一性 版本在生成过程中 自动依照设定的使用模型自动分支 演进 除了系统自动记录的版本信息以外 为了配合软件开发流程的各个阶段 我们还需要定义 收集一些元数据 Metadata 来记录版本的辅助信息和规范开发流程 并为今后对软件过程的度量做好准备 当然如果选用的工具支持的话 这些辅助数据将能直接统计出过程数据 从而方便我们软件过程改进 SoftwareProcessImprovement SPI 活动的进行 21 4 配置管理的主要任务和活动 对于配置库中的各个基线控制项 应该根据其基线的位置和状态来设置相应的访问权限 一般来说 对于基线版本之前的各个版本都应处于被锁定的状态 如需要对它们进行变更 则应按照变更控制的流程来进行操作 22 4 配置管理的主要任务和活动 变更控制在对SCI的描述中 我们引入了基线的概念 从IEEE对于基线的定义中我们可以发现 基线是和变更控制紧密相连的 也就是说在对各个SCI做出了识别 并且利用工具对它们进行了版本管理之后 如何保证它们在复杂多变得开发过程中真正的处于受控的状态 并在任何情况下都能迅速的恢复到任一历史状态就成为了软件配置管理的另一重要任务 因此 变更控制就是通过结合人的规程和自动化工具 以提供一个变化控制的机制 变更控制的对象主要指配置库中的各基线配置项 23 4 配置管理的主要任务和活动 变更管理的一般流程提出变更请求 由CCB审核并决定是否批准 被接受 修改请求分配人员 提取SCI 进行修改 复审变化 提交修改后的SCI 建立测试基线并测试 重建软件的适当版本 复审 审计 所有SCI的变化 发布新版本 在这样的流程中 CMO通过软件配置管理工具来进行访问控制和同步控制 而这两种控制则是建立在前文所描述的版本控制和分支策略的基础上的 24 4 配置管理的主要任务和活动 状态报告配置状态报告就是根据配置项操作数据库中的记录来向管理者报告软件开发活动的进展情况 这样的报告应该是定期进行 并尽量通过CASE工具自动生成 用数据库中的客观数据来真实的反映各配置项的情况 配置状态报告应根据报告应着重反映当前基线配置项的状态 以作为对开发进度报告的参照 同时也能从中根据开发人员对配置项的操作记录来对开发团队的工作关系作一定的分析 25 4 配置管理的主要任务和活动 配置状态报告应该包括下列主要内容配置库结构和相关说明 开发起始基线的构成 当前基线位置及状态 各基线配置项集成分支的情况 各私有开发分支类型的分布情况 关键元素的版本演进记录 其它应予报告的事项 26 4 配置管理的主要任务和活动 配置审计配置审计的主要作用是作为变更控制的补充手段 来确保某一变更需求已被切实实现 在某些情况下 它被作为正式的技术复审的一部分 但当软件配置管理是一个正式的活动时 该活动由SQA人员单独执行 27 4 配置管理的主要任务和活动 总之 软件配置管理的对象是软件研发活动中的全部开发资产 所有这一切都应作为配置项纳入管理计划统一进行管理 从而能够保证及时的对所有软件开发资源进行维护和集成 因此 软件配置管理的主要任务也就归结为以下几条 制定项目的配置计划 对配置项进行标识 对配置项进行版本控制 对配置项进行变更控制 定期进行配置审计 向相关人员报告配置的状态 28 5 配置管理的阶段 一个软件研发项目一般可以划分为三个阶段 计划阶段 开发阶段和维护阶段 然而从软件配置管理的角度来看 后两个阶段所涉及的活动是一致 所以就把它们合二为一 成为 开发和维护阶段计划阶段开发和维护阶段 29 5 配置管理的阶段 计划阶段一个项目设立之初PM首先需要制定整个项目的计划 它是项目研发工作的基础 在有了总体研发计划之后 软件配置管理的活动就可以展开了 因为如果不在项目开始之初制定软件配置管理计划 那么软件配置管理的许多关键活动就无法及时有效的进行 而它的直接后果就是造成了项目开发状况的混乱并注定软件配置管理活动成为一种 救火 的行为 所以及时制定一份软件配置管理计划在一定程度上是项目成功的重要保证 30 5 配置管理的阶段 在软件配置管理计划的制定过程中 它的主要流程应该是这样的 CCB根据项目的开发计划确定各个里程碑和开发策略 CMO根据CCB的规划 制定详细的配置管理计划 交CCB审核 CCB通过配置管理计划后交项目经理批准 发布实施 31 5 配置管理的阶段 项目开发维护阶段这一阶段时项目研发的主要阶段 在这一阶段中 软件配置管理活动主要分为三个层面 主要由CMO完成的管理和维护工作 由SIO和DEV具体执行软件配置管理策略 变更流程 这三个层面是彼此之间既独立又互相联系的有机的整体 32 5 配置管理的阶段 在这个软件配置管理过程中 它的核心流程应该是这样的 CCB设定研发活动的初始基线 CMO根据软件配置管理规划设立配置库和工作空间 为执行软件配置管理做好准备 开发人员按照统一的软件配置管理策略 根据获得的授权的资源进行项目的研发工作 SIO按照项目的进度集成组内开发人员的工作成果 并构建系统 推进版本的演进 CCB根据项目的进展情况 审核各种变更请求 并适时的划定新的基线 保证开发和维护工作有序的进行 这个流程就是如此循环往复 直到项目的结束 33 5 配置管理的阶段 在上述的核心过程之外 还涉及其他一些相关的活动和操作流程 下面按不同的角色分工予以列出 各开发人员按照项目经理发布的开发策略或模型进行工作 SIO负责将各分项目的工作成果归并至集成分支 供测试或发布 SIO可向CCB提出设立基线的要求 经批准后由CMO执行 CMO定期向项目经理和CCB提交审计报告 并在CCB例会中报告项目在软件过程中可能存在的问题和改进方案 在基线生效后 一切对基线和基线之前的开发成果的变更必须经CCB的批准 CCB定期举行例会 根据成员所掌握的情况 CMO的报告和开发人员的请求 对配置管理计划作出修改 并向项目经理负责 34 35 6 常用的配置管理方法 对于没有经验的项目管理人员在成长阶段 如果在项目不太大的情况下 善于使用0ffice word project excel 的软件自己编写文件跟踪项目开发过程中的配置管理 一个合格的配置管理人员要熟悉多款软件配置管理工具 并且要精通至少两种管理工具 一个合格的软件配置管理人员要有深厚的软件工程的基础 36 7 变更申请示例表单 标识信息项目变更请求号变更请求类型 问题或扩展 标题提交日期始发人变更请求优先级当前问题当前问题的说明严重故障障碍扩展新请求 37 7 变更申请示例表单 观察问题的环境当前环境 硬件操作系统编译器当前问题的来源当前问题的成本影响提议的变更 始发人 提议的变更说明 实施提议变更的预计成本 提议的变更 变更复审团队 操作批准不批准延期提议的变更的说明 38 7 变更申请示例表单 影响的配置项类别错误修复扩展新特性其他解决方案实施提议变更的预计成本实施员实施变更的实际时间分析实施测试文档影响的代码行数 39 7 变更申请示例表单 评估测试方法检查分析演示测试测试平台测试实例 40 8 总结 软件配置管理是软件质量保证的重要一环 其主要责任是控制变化 同时 也负责配置项和软件的版本标识 软件配置的设计 以及配置中所有变化的报告 可以认为 软件配置管理的工作是要解决下列问题 采用什么方式去表示和管理数量不少的程序 文档等的各种版本 在软件产品交付用户之前和交付之后如何控制变更 实现有效的变更 谁有权批准变更以及安排变更的优先级 用什么方法估计变更可能引起的其它问题 这些问题的解决正是软件配置管理应完成的任务 配置标识 版本管理 变更管理 配置审核及配置报告 41 9 附录 关于VSS比较全面的中文帮助 请查阅
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!