软件配置管理课程清华大学ppt课件

上传人:tia****nde 文档编号:66990105 上传时间:2019-01-06 格式:PPT 页数:141 大小:6.16MB
返回 下载 相关 举报
软件配置管理课程清华大学ppt课件_第1页
第1页 / 共141页
软件配置管理课程清华大学ppt课件_第2页
第2页 / 共141页
软件配置管理课程清华大学ppt课件_第3页
第3页 / 共141页
软件配置管理课程清华大学ppt课件_第4页
第4页 / 共141页
软件配置管理课程清华大学ppt课件_第5页
第5页 / 共141页
点击查看更多>>
资源描述

《软件配置管理课程清华大学ppt课件》由会员分享,可在线阅读,更多相关《软件配置管理课程清华大学ppt课件(141页珍藏版)》请在金锄头文库上搜索。

1、软件项目管理,覃征 教授,课程编号:44100223,大学本科教程,2019/1/6,清华大学软件学院软件项目管理课件研制组,2,软件项目管理,什么 是 项目 ?,如何 获得 项目 ?,如何 管理 项目 ?,怎样 提交 项目 ?,结项后 应做 什么 ?,需求前延,质量检验过程,项目需求的实际验证,课程体系,2019/1/6,清华大学软件学院软件项目管理课件研制组,3,如何管理项目? (how to manage a project?),2019/1/6,清华大学软件学院软件项目管理课件研制组,4,以项目为基础(核心) 以分析为手段(方法) 以过程为管理(控制) 以资源为质量(风险) 以需求为目

2、标(里程碑),2019/1/6,清华大学软件学院软件项目管理课件研制组,5,软件配置管理 (Software Configuration Management),2019/1/6,清华大学软件学院软件项目管理课件研制组,6,软件项目管理的关键技术,需求管理,项目估算,进度管理,成本管理,配置管理,风险管理,质量管理,资源管理,2019/1/6,清华大学软件学院软件项目管理课件研制组,7,课程内容,软件配置管理的必要性 软件配置管理的概念 软件配置管理的目标 软件配置管理的相关角色 软件配置管理的功能 软件配置管理的工具,2019/1/6,清华大学软件学院软件项目管理课件研制组,8,一个问题例子

3、,2019/1/6,清华大学软件学院软件项目管理课件研制组,9,结果,2019/1/6,清华大学软件学院软件项目管理课件研制组,10,另一些可能的情况,2019/1/6,清华大学软件学院软件项目管理课件研制组,11,为什么需要配置管理?,从软件产业统计数据看,2019/1/6,清华大学软件学院软件项目管理课件研制组,12,为什么需要配置管理?,从软件开发的规模看,2019/1/6,清华大学软件学院软件项目管理课件研制组,13,软件开发中的一系列普遍问题,缺乏可视性,不受控的变更,缺少监控,缺乏可跟踪性,缺乏控制,2019/1/6,清华大学软件学院软件项目管理课件研制组,14,与国外的软件开发相

4、比,2019/1/6,清华大学软件学院软件项目管理课件研制组,15,缺乏规范的管理,管理,国外,国内,2019/1/6,清华大学软件学院软件项目管理课件研制组,16,配置管理给我们带来了什么,2019/1/6,清华大学软件学院软件项目管理课件研制组,17,课程内容,软件配置管理的必要性 软件配置管理的概念 软件配置管理的目标 软件配置管理的相关角色 软件配置管理的功能 软件配置管理的工具,2019/1/6,清华大学软件学院软件项目管理课件研制组,18,配置的概念源于硬件,问题: 怎样组装和卸装一辆汽车?,List of Parts C1 Tire C2 Tire C3 Tire C4 Tire

5、 C5 Engine,问题: 制造和维护产品需要做什么?,2019/1/6,清华大学软件学院软件项目管理课件研制组,19,软件配置管理的发展,配置管理最早在美国的国防工业中被提出。 1962年,美国空军发表了有关配置管理的标准-AFSCM375-1. 这是第一个配置管理的标准。 随着计算机程序越来越复杂和难于管理,软件项目团队越来越大和分布更广,SCM的概念被大多数软件组织接受和实施。,2019/1/6,清华大学软件学院软件项目管理课件研制组,20,软件配置管理的概念,软件配置管理SCM,通过一套工程规范,在整个软件生命周期中跟踪、记录软件,保证全部变更都记录在案,并保证软件的当前状态是已知的

6、和可重复的。,2019/1/6,清华大学软件学院软件项目管理课件研制组,21,配置管理的基本概念,配置项(Configuration Item) 配置项是处于配置管理之下的软件或硬件的集合体。这个集合体在配置管理过程中作为一个实体出现。 例如:项目计划,软件配置管理计划,设计文档,源代码,测试数据,项目数据,用户手册,等等。 基线(Baseline) 已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能通过正式的变更控制过程来改变,2019/1/6,清华大学软件学院软件项目管理课件研制组,22,配置管理的基本概念(续),绿线为时间轴 红线为基线化的文档或文件,基线,2

7、019/1/6,清华大学软件学院软件项目管理课件研制组,23,配置管理的基本概念(续),配置数据库(软件制品基线库) 项目建立和访问软件制品库,这个制品库主要用来对保存配置项和一些与软件配置管理相关的记录。 目前比较好的配置管理工具:Clearcase (Rational), Notes/Domino (Lotus), PVCS (Merant) and VSS (Microsoft).,2019/1/6,清华大学软件学院软件项目管理课件研制组,24,配置管理的基本概念(续),配置数据库的内容 包括软件产品及其开发过程中的所有的制品,2019/1/6,清华大学软件学院软件项目管理课件研制组,2

8、5,配置管理的基本概念(续),对配置数据库的操作:Check-in & Check-out 一旦变更请求得到批准,配置管理员从受控库中复制配置项进行修改,这一过程被称为提取 我们称复审、批准及将一项实体置于控制环境下的过程为提交,2019/1/6,清华大学软件学院软件项目管理课件研制组,26,配置管理的基本概念(续),Check-in & Check-out,2019/1/6,清华大学软件学院软件项目管理课件研制组,27,课程内容,软件配置管理的必要性 软件配置管理的概念 软件配置管理的目标 软件配置管理的相关角色 软件配置管理的活动 软件配置管理的工具,2019/1/6,清华大学软件学院软件

9、项目管理课件研制组,28,软件配置管理的目标,目标1: 软件配置管理活动被定义和计划 目标2: 软件开发过程中的制品被识别、控制和管理 目标3: 对于处于配置管理下的软件制品的修改被控制 目标4: 与软件制品相关的项目组和成员应该被通知制品的目前状态和被修改的信息,2019/1/6,清华大学软件学院软件项目管理课件研制组,29,软件配置管理的目标,2019/1/6,清华大学软件学院软件项目管理课件研制组,30,版本控制,版本控制是所有配置管理系统的核心功能。配置管理系统的其它功能大都建立在版本控制功能之上。 版本控制的对象是软件开发过程中涉及的所有文件系统对象,包括文件、目录和链接。 版本控制

10、的目的在于对软件开发进程中文件或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖。 版本控制是实现团队并行开发、提高开发效率的基础。,2019/1/6,清华大学软件学院软件项目管理课件研制组,31,版本控制,1,2,3,返回,2019/1/6,清华大学软件学院软件项目管理课件研制组,32,工作空间管理,所谓工作空间,就是为了完成特定的开发任务(如开发新功能、进行软件测试、或修复BUG,等等),从版本库中选择一组正确的文件/目录的正确版本拷贝到开发人员的开发环境。 举例说明:为修复一个旧版本,如REL1中的BUG,开发人员首先需要在自己的开发环境

11、中完全重现REL1 所对应的源文件和目录结构,也就是说,需要建立一个对应于REL1 的工作空间。,2019/1/6,清华大学软件学院软件项目管理课件研制组,33,工作空间管理,存在两类工作空间,一类是开发人员的私有空间,在私有空间中,开发人员可以相对独立地编写和测试自己的代码。 另一类工作空间是团队共享的集成空间,该空间用于集成所有开发人员的开发成果。 工作空间管理包括工作空间的创建、维护与更新、删除等 工作空间应具备以下特点:稳定、一致、透明,返回,2019/1/6,清华大学软件学院软件项目管理课件研制组,34,串行:,并行开发支持,并行:,以增量开发为例,2019/1/6,清华大学软件学院

12、软件项目管理课件研制组,35,并行开发支持,为实现并行开发,配置管理系统需要提供灵活的分支机制和工作空间管理。 创建分支的过程实际上就是一个建立副本的过程,针对每个发布分别建立相应的分支,分支之间具备相对的独立性,这样不同的发布就可以在各自的分支上并行进行开发,在适当的时候,分支之间可以进行合并,从而实现将Release 1 中后期开发的功能合并到Release 2 中。,2019/1/6,清华大学软件学院软件项目管理课件研制组,36,并行开发中的冲突,2019/1/6,清华大学软件学院软件项目管理课件研制组,37,解决冲突办法,返回,1,2,2019/1/6,清华大学软件学院软件项目管理课件

13、研制组,38,过程控制,配置管理系统应该能够支持灵活的配置管理策略和配置管理流程,并实现过程自动化以提高配置管理效率 例如,类似于商用关系型数据库中的触发器,配置管理系统应能够提供类似的机制,定义在执行特定的配置管理操作(如检出、检入)之前或之后自动执行特定的任务从而自动化实现预定义的配置管理策略。,2019/1/6,清华大学软件学院软件项目管理课件研制组,39,过程控制实例,在版本库备份阶段对版本库进行加锁以禁止在备份过程中的版本库的修改; 设置额外的安全访问机制以加强配置管理系统的安全策略; Rational 提供了一个基于最佳实现经验的流程:统一变更管理UCM(Unified Chang

14、e Management),UCM 的经验来自上百个客户的数千个项目,用户可以在短时间内(不需要额外的定制,或仅仅通过简单的定制)共享到其他客户在软件配置管理上的经验,一方面可以充分发挥软件配置管理带来的好处,另外节省了大量时间及成本。,返回,2019/1/6,清华大学软件学院软件项目管理课件研制组,40,异地开发支持,经济全球化趋势、企业兼并以及软件规模和复杂性的增加等因素使地理分布的多个软件开发团队进行协作开发的开发模式日益普遍。配置管理系统应该能够有效支持地理上分布的团队之间的远程协作。 由于广域网带宽的限制,单一的版本库模式被证明是低效和不实用的 典型的异地开发模式在每个地点都有版本库

15、的副本,日常开发针对本地版本库进行,版本库之间有复制和同步机制。,Internet,2019/1/6,清华大学软件学院软件项目管理课件研制组,41,异地开发支持实例,IBM Rational ClearCase MultiSite 是业界比较公认的适用于地理位置分散的项目团队的高性能软件配置管理解决方案。 支持跨多个地点的分布式开发:异地开发团队应该能共享开发成果 复制和同步配置数据:远程网络的带宽总是相对有限的,因此如何高效、可靠地在异地之间复制和同步配置数据是异地开发和远程协作的关键。 提供配置数据的本地存取:出于效率上的考虑,开发人员的日常开发工作应该是基于本地存取的方式,并应该依赖与远

16、程网络连接。,返回,2019/1/6,清华大学软件学院软件项目管理课件研制组,42,变更请求管理,变更请求管理是软件配置管理的一个重要组成部分。 变更请求管理记录、跟踪和报告针对软件系统的任何变更,其核心是一个适合软件开发组织的变更处理流程。,2019/1/6,清华大学软件学院软件项目管理课件研制组,43,变更请求管理,典型的变更处理流程涉及如何提交变更请求,如何对变更请求进行复审以便决定是否实施,由谁实施,如何实施,如何确定变更请求准确实施完成等方面。 变更请求管理系统应具备强大的统计、查询和报告功能,及时准确报告软件的变更现状,开发团队的工作进展和负荷,软件的质量水平以及变更的发展趋势。 典型的变更请求有:新的功能需求、对已有功能的优化和改进、针对发现的缺陷的修复等。,返回,2019/1/6,清华大学软件学院软件项目管理课件研制组,44,课程内容,软件配置管理的必要性 软件配置管理的概念 软件配置管理的目标 软件配置管理的相关角色 软件配置管理的功能 软件配置管理的工具,2019/1/6,清华大学软件学院软

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号