- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
清华大学软件学院软件项目管理课件研制组 软件项目管理 覃征 教授 课程体系 以项目为基础(核心)以分析为手段(方法)以过程为管理(控制)以资源为质量(风险)以需求为目标(里程碑) 软件配置管理(Software Configuration Management) 软件项目管理的关键技术 课程内容 软件配置管理的必要性 软件配置管理的概念 软件配置管理的目标 软件配置管理的相关角色 软件配置管理的功能 软件配置管理的工具 一个问题例子 结果… 另一些可能的情况 为什么需要配置管理? 从软件产业统计数据看 为什么需要配置管理? 从软件开发的规模看 软件开发中的一系列普遍问题 配置管理给我们带来了什么 课程内容 软件配置管理的必要性 软件配置管理的概念 软件配置管理的目标 软件配置管理的相关角色 软件配置管理的功能 软件配置管理的工具 配置的概念源于硬件 软件配置管理的发展 配置管理最早在美国的国防工业中被提出。 1962年,美国空军发表了有关配置管理的标准-AFSCM375-1. 这是第一个配置管理的标准。 随着计算机程序越来越复杂和难于管理,软件项目团队越来越大和分布更广,SCM的概念被大多数软件组织接受和实施。 软件配置管理的概念 软件配置管理SCM,通过一套工程规范,在整个软件生命周期中跟踪、记录软件,保证全部变更都记录在案,并保证软件的当前状态是已知的和可重复的。 配置管理的基本概念 配置项(Configuration Item) 配置项是处于配置管理之下的软件或硬件的集合体。这个集合体在配置管理过程中作为一个实体出现。 例如:项目计划,软件配置管理计划,设计文档,源代码,测试数据,项目数据,用户手册,等等。 基线(Baseline) 已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能通过正式的变更控制过程来改变 配置管理的基本概念(续) 基线 配置管理的基本概念(续) 配置数据库(软件制品基线库) 项目建立和访问软件制品库,这个制品库主要用来对保存配置项和一些与软件配置管理相关的记录。 目前比较好的配置管理工具:Clearcase (Rational), Notes/Domino (Lotus), PVCS (Merant) and VSS (Microsoft). 配置管理的基本概念(续) 配置数据库的内容 包括软件产品及其开发过程中的所有的制品 配置管理的基本概念(续) 对配置数据库的操作:Check-in Check-out 一旦变更请求得到批准,配置管理员从受控库中复制配置项进行修改,这一过程被称为提取 我们称复审、批准及将一项实体置于控制环境下的过程为提交 配置管理的基本概念(续) Check-in Check-out 课程内容 软件配置管理的必要性 软件配置管理的概念 软件配置管理的目标 软件配置管理的相关角色 软件配置管理的活动 软件配置管理的工具 软件配置管理的目标 目标1: 软件配置管理活动被定义和计划 目标2: 软件开发过程中的制品被识别、控制和管理 目标3: 对于处于配置管理下的软件制品的修改被控制 目标4: 与软件制品相关的项目组和成员应该被通知制品的目前状态和被修改的信息 软件配置管理的目标 版本控制 版本控制是所有配置管理系统的核心功能。配置管理系统的其它功能大都建立在版本控制功能之上。 版本控制的对象是软件开发过程中涉及的所有文件系统对象,包括文件、目录和链接。 版本控制的目的在于对软件开发进程中文件或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖。 版本控制是实现团队并行开发、提高开发效率的基础。 版本控制 工作空间管理 所谓工作空间,就是为了完成特定的开发任务(如开发新功能、进行软件测试、或修复BUG,等等),从版本库中选择一组正确的文件/目录的正确版本拷贝到开发人员的开发环境。 举例说明:为修复一个旧版本,如REL1中的BUG,开发人员首先需要在自己的开发环境中完全重现REL1 所对应的源文件和目录结构,也就是说,需要建立一个对应于REL1 的工作空间。 工作空间管理 存在两类工作空间,一类是开发人员的私有空间,在私有空间中,开发人员可以相对独立地编写和测试自己的代码。 另一类工作空间是团队共享的集成空间,该空间用于集成所有开发人员的开发成果。 工作空间管理包括工作空间的创建、维护与更新、删除等 工作空间应具备以下特点:稳定、一致、透明 并行开发支持 以增量开发为例 并行开发支持 为实现并行开发,配置管理系统需要提供灵活的分支机制和工作空间管理。 创建分支的过程实际上就是一个建立副本的过程,针对每个发布分别建立相应的分支,分支之间具备相对的独立性
文档评论(0)