欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载
     

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

    • 资源ID:4752561       资源大小:6.16MB        全文页数:141页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    软件项目管理,覃征 教授,课程编号:44100223,大学本科教程,2023/5/13,清华大学软件学院软件项目管理课件研制组,2,软件项目管理,什么是项目?,如何获得项目?,如何管理项目?,怎样提交项目?,结项后应做什么?,需求前延,质量检验过程,项目需求的实际验证,课程体系,2023/5/13,清华大学软件学院软件项目管理课件研制组,3,如何管理项目?(how to manage a project?),2023/5/13,清华大学软件学院软件项目管理课件研制组,4,以项目为基础(核心)以分析为手段(方法)以过程为管理(控制)以资源为质量(风险)以需求为目标(里程碑),2023/5/13,清华大学软件学院软件项目管理课件研制组,5,软件配置管理(Software Configuration Management),2023/5/13,清华大学软件学院软件项目管理课件研制组,6,软件项目管理的关键技术,需求管理,项目估算,进度管理,成本管理,配置管理,风险管理,质量管理,资源管理,2023/5/13,清华大学软件学院软件项目管理课件研制组,7,课程内容,软件配置管理的必要性 软件配置管理的概念软件配置管理的目标软件配置管理的相关角色软件配置管理的功能软件配置管理的工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,8,一个问题例子,2023/5/13,清华大学软件学院软件项目管理课件研制组,9,结果,2023/5/13,清华大学软件学院软件项目管理课件研制组,10,另一些可能的情况,2023/5/13,清华大学软件学院软件项目管理课件研制组,11,为什么需要配置管理?,从软件产业统计数据看,2023/5/13,清华大学软件学院软件项目管理课件研制组,12,为什么需要配置管理?,从软件开发的规模看,2023/5/13,清华大学软件学院软件项目管理课件研制组,13,软件开发中的一系列普遍问题,缺乏可视性,不受控的变更,缺少监控,缺乏可跟踪性,缺乏控制,2023/5/13,清华大学软件学院软件项目管理课件研制组,14,与国外的软件开发相比,2023/5/13,清华大学软件学院软件项目管理课件研制组,15,缺乏规范的管理,管理,国外,国内,2023/5/13,清华大学软件学院软件项目管理课件研制组,16,配置管理给我们带来了什么,2023/5/13,清华大学软件学院软件项目管理课件研制组,17,课程内容,软件配置管理的必要性 软件配置管理的概念软件配置管理的目标软件配置管理的相关角色软件配置管理的功能软件配置管理的工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,18,配置的概念源于硬件,问题:怎样组装和卸装一辆汽车?,List of PartsC1TireC2TireC3TireC4TireC5Engine,问题:制造和维护产品需要做什么?,2023/5/13,清华大学软件学院软件项目管理课件研制组,19,软件配置管理的发展,配置管理最早在美国的国防工业中被提出。1962年,美国空军发表了有关配置管理的标准-AFSCM375-1.这是第一个配置管理的标准。随着计算机程序越来越复杂和难于管理,软件项目团队越来越大和分布更广,SCM的概念被大多数软件组织接受和实施。,2023/5/13,清华大学软件学院软件项目管理课件研制组,20,软件配置管理的概念,软件配置管理SCM,通过一套工程规范,在整个软件生命周期中跟踪、记录软件,保证全部变更都记录在案,并保证软件的当前状态是已知的和可重复的。,2023/5/13,清华大学软件学院软件项目管理课件研制组,21,配置管理的基本概念,配置项(Configuration Item)配置项是处于配置管理之下的软件或硬件的集合体。这个集合体在配置管理过程中作为一个实体出现。例如:项目计划,软件配置管理计划,设计文档,源代码,测试数据,项目数据,用户手册,等等。基线(Baseline)已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能通过正式的变更控制过程来改变,2023/5/13,清华大学软件学院软件项目管理课件研制组,22,配置管理的基本概念(续),绿线为时间轴红线为基线化的文档或文件,基线,2023/5/13,清华大学软件学院软件项目管理课件研制组,23,配置管理的基本概念(续),配置数据库(软件制品基线库)项目建立和访问软件制品库,这个制品库主要用来对保存配置项和一些与软件配置管理相关的记录。目前比较好的配置管理工具:Clearcase(Rational),Notes/Domino(Lotus),PVCS(Merant)and VSS(Microsoft).,2023/5/13,清华大学软件学院软件项目管理课件研制组,24,配置管理的基本概念(续),配置数据库的内容包括软件产品及其开发过程中的所有的制品,2023/5/13,清华大学软件学院软件项目管理课件研制组,25,配置管理的基本概念(续),对配置数据库的操作:Check-in&Check-out一旦变更请求得到批准,配置管理员从受控库中复制配置项进行修改,这一过程被称为提取我们称复审、批准及将一项实体置于控制环境下的过程为提交,2023/5/13,清华大学软件学院软件项目管理课件研制组,26,配置管理的基本概念(续),Check-in&Check-out,2023/5/13,清华大学软件学院软件项目管理课件研制组,27,课程内容,软件配置管理的必要性 软件配置管理的概念软件配置管理的目标软件配置管理的相关角色软件配置管理的活动软件配置管理的工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,28,软件配置管理的目标,目标1:软件配置管理活动被定义和计划目标2:软件开发过程中的制品被识别、控制和管理目标3:对于处于配置管理下的软件制品的修改被控制目标4:与软件制品相关的项目组和成员应该被通知制品的目前状态和被修改的信息,2023/5/13,清华大学软件学院软件项目管理课件研制组,29,软件配置管理的目标,2023/5/13,清华大学软件学院软件项目管理课件研制组,30,版本控制,版本控制是所有配置管理系统的核心功能。配置管理系统的其它功能大都建立在版本控制功能之上。版本控制的对象是软件开发过程中涉及的所有文件系统对象,包括文件、目录和链接。版本控制的目的在于对软件开发进程中文件或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖。版本控制是实现团队并行开发、提高开发效率的基础。,2023/5/13,清华大学软件学院软件项目管理课件研制组,31,版本控制,1,2,3,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,32,工作空间管理,所谓工作空间,就是为了完成特定的开发任务(如开发新功能、进行软件测试、或修复BUG,等等),从版本库中选择一组正确的文件/目录的正确版本拷贝到开发人员的开发环境。举例说明:为修复一个旧版本,如REL1中的BUG,开发人员首先需要在自己的开发环境中完全重现REL1 所对应的源文件和目录结构,也就是说,需要建立一个对应于REL1 的工作空间。,2023/5/13,清华大学软件学院软件项目管理课件研制组,33,工作空间管理,存在两类工作空间,一类是开发人员的私有空间,在私有空间中,开发人员可以相对独立地编写和测试自己的代码。另一类工作空间是团队共享的集成空间,该空间用于集成所有开发人员的开发成果。工作空间管理包括工作空间的创建、维护与更新、删除等工作空间应具备以下特点:稳定、一致、透明,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,34,串行:,并行开发支持,并行:,以增量开发为例,2023/5/13,清华大学软件学院软件项目管理课件研制组,35,并行开发支持,为实现并行开发,配置管理系统需要提供灵活的分支机制和工作空间管理。创建分支的过程实际上就是一个建立副本的过程,针对每个发布分别建立相应的分支,分支之间具备相对的独立性,这样不同的发布就可以在各自的分支上并行进行开发,在适当的时候,分支之间可以进行合并,从而实现将Release 1 中后期开发的功能合并到Release 2 中。,2023/5/13,清华大学软件学院软件项目管理课件研制组,36,并行开发中的冲突,2023/5/13,清华大学软件学院软件项目管理课件研制组,37,解决冲突办法,返回,1,2,2023/5/13,清华大学软件学院软件项目管理课件研制组,38,过程控制,配置管理系统应该能够支持灵活的配置管理策略和配置管理流程,并实现过程自动化以提高配置管理效率例如,类似于商用关系型数据库中的触发器,配置管理系统应能够提供类似的机制,定义在执行特定的配置管理操作(如检出、检入)之前或之后自动执行特定的任务从而自动化实现预定义的配置管理策略。,2023/5/13,清华大学软件学院软件项目管理课件研制组,39,过程控制实例,在版本库备份阶段对版本库进行加锁以禁止在备份过程中的版本库的修改;设置额外的安全访问机制以加强配置管理系统的安全策略;Rational 提供了一个基于最佳实现经验的流程:统一变更管理UCM(Unified Change Management),UCM 的经验来自上百个客户的数千个项目,用户可以在短时间内(不需要额外的定制,或仅仅通过简单的定制)共享到其他客户在软件配置管理上的经验,一方面可以充分发挥软件配置管理带来的好处,另外节省了大量时间及成本。,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,40,异地开发支持,经济全球化趋势、企业兼并以及软件规模和复杂性的增加等因素使地理分布的多个软件开发团队进行协作开发的开发模式日益普遍。配置管理系统应该能够有效支持地理上分布的团队之间的远程协作。由于广域网带宽的限制,单一的版本库模式被证明是低效和不实用的典型的异地开发模式在每个地点都有版本库的副本,日常开发针对本地版本库进行,版本库之间有复制和同步机制。,Internet,2023/5/13,清华大学软件学院软件项目管理课件研制组,41,异地开发支持实例,IBM Rational ClearCase MultiSite 是业界比较公认的适用于地理位置分散的项目团队的高性能软件配置管理解决方案。支持跨多个地点的分布式开发:异地开发团队应该能共享开发成果复制和同步配置数据:远程网络的带宽总是相对有限的,因此如何高效、可靠地在异地之间复制和同步配置数据是异地开发和远程协作的关键。提供配置数据的本地存取:出于效率上的考虑,开发人员的日常开发工作应该是基于本地存取的方式,并应该依赖与远程网络连接。,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,42,变更请求管理,变更请求管理是软件配置管理的一个重要组成部分。变更请求管理记录、跟踪和报告针对软件系统的任何变更,其核心是一个适合软件开发组织的变更处理流程。,2023/5/13,清华大学软件学院软件项目管理课件研制组,43,变更请求管理,典型的变更处理流程涉及如何提交变更请求,如何对变更请求进行复审以便决定是否实施,由谁实施,如何实施,如何确定变更请求准确实施完成等方面。变更请求管理系统应具备强大的统计、查询和报告功能,及时准确报告软件的变更现状,开发团队的工作进展和负荷,软件的质量水平以及变更的发展趋势。典型的变更请求有:新的功能需求、对已有功能的优化和改进、针对发现的缺陷的修复等。,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,44,课程内容,软件配置管理的必要性 软件配置管理的概念软件配置管理的目标软件配置管理的相关角色软件配置管理的功能软件配置管理的工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,45,SCM的相关角色,主要角色配置经理 模块主管 配置管理员变更控制委员会CCB,2023/5/13,清华大学软件学院软件项目管理课件研制组,46,配置经理,配置经理职能制定SCM规程,形成文档并分发给有关人员建立系统基线,包括备份规定确保对基线的变更都经过授权人员的批准确保对基线的所有变更都进行充分细致的记录,以便可以重新生成或回退确保所有基线变更都经过回归测试规定解决异常问题的关注焦点,2023/5/13,清华大学软件学院软件项目管理课件研制组,47,模块主管,模块主管职能把握模块的设计为参与模块及其接口工作的人员提供建议控制模块的所有更改评审模块的变更和定期进行回归测试,确保模块的完整性,2023/5/13,清华大学软件学院软件项目管理课件研制组,48,配置管理员,项目的SCM库系统的日常管理和维护受控库的访问管理受控库基线的备份和更新新版本的辅助验证协助自受控库的生成产品SCM活动记录规定的SCM测量SCM报告的生成和发布。编制SCM的有关文档,如版本说明文档参与配置审核,2023/5/13,清华大学软件学院软件项目管理课件研制组,49,变更控制委员会,变更控制委员会职能软件变更控制委员会SCCB是大中型软件项目中协调变更的集中控制机制,是对每个变更进行评审,做出相关决策的实体。它批准建立软件配置项SCI的软件基线和标识,授权SCM组从软件基线库生成产品,对SCI变更要求的处理给出建设性意见。在实际操作中,软件开发经理常常兼任系统层CCB的主席。,2023/5/13,清华大学软件学院软件项目管理课件研制组,50,变更控制委员会(续),变更控制委员会(CCB)负责决定是否对配置项进行变更,对变更请求做出决策。有时,又被称为变更控制授权委员会(CCA)。包括下列人员:软件配置管理小组代表项目组代表质量保证小组代表公司管理层代表市场代表客户代表,2023/5/13,清华大学软件学院软件项目管理课件研制组,51,课程内容,软件配置管理的必要性 软件配置管理的概念软件配置管理的目标软件配置管理的相关角色软件配置管理的功能软件配置管理的工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,52,配置管理过程模型,SCM的功能在软件开发过程中的体现,2023/5/13,清华大学软件学院软件项目管理课件研制组,53,软件配置管理的功能,软件配置管理的功能主要有配置标识配置控制状态报告配置审核和复审,2023/5/13,清华大学软件学院软件项目管理课件研制组,54,软件配置管理的功能表,2023/5/13,清华大学软件学院软件项目管理课件研制组,55,配置标识,配置标识是配置管理的一项内容。它包括为系统选择配置项并在技术文档中记录其物理和功能特性。,2023/5/13,清华大学软件学院软件项目管理课件研制组,56,定义项目生存周期中的基线,2023/5/13,清华大学软件学院软件项目管理课件研制组,57,项 目 基 线,2023/5/13,清华大学软件学院软件项目管理课件研制组,58,项目开发周期内回顾和基线化,2023/5/13,清华大学软件学院软件项目管理课件研制组,59,典型的项目基线,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,60,标识配置项,主要任务:识别和选择要纳入配置管理的配置项和其他项;建立并维护软件层次;按命名方案赋予配置项标识符;标识配置项特性,建立和更新配置项清单。,2023/5/13,清华大学软件学院软件项目管理课件研制组,61,配置项和其它项,配置项包括交付给顾客的软件产品,及用以创建这些软件产品的其它项。通常标识配置项有:管理计划(SDP,SQAP,Test plan,SCMP,etc.)需求和设计文档;用户和维护文档及手册;测试文档,测试驱动,及数据;支持软件(包括编译器和操作系统);,2023/5/13,清华大学软件学院软件项目管理课件研制组,62,配置项和其它项,数据字典和各种交叉引用资料;源代码,可执行代码包括外部构件;链接文件和其它由构建(build)过程形成的产品;产品发布记录和报告,如版本描述文档;用于构建或运行产品的数据库;接口控制文档;任何用于支持产品开发和运行的项。,软件配置项列表,软件配置项列表(续),返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,65,配置项的命名,按已建立的命名方案对每一配置项都给予唯一的标识给文档和代码赋予名称和版本信息 命名规则要求:唯一性、反映配置间的相互关系(可追溯性)通常采用树状命名和文本-数字命名规则。如何确定配置项如果这个文档(或制品,软件文件,硬件组件等)被丢失、损坏或者误用错误版本,那么会不会以任何形式影响到我们按时的,在预算范围内发布出正确地产品呢?,2023/5/13,清华大学软件学院软件项目管理课件研制组,66,树状命名(实例),2023/5/13,清华大学软件学院软件项目管理课件研制组,67,命名方案,项目名称/项目版本编号_相应工作产品名称_文档版本编号。以下划连线“_”分开各名称域。例如:FMS_SDP_1.0.doc;FMS_SQAP_2.1.doc;FMS_ModuleA_SRS_1.1.doc;FMS_ModuleA_Detail Level Design_1.doc,2023/5/13,清华大学软件学院软件项目管理课件研制组,68,相应工作产品名称,应建立相应工作产品名称与其简称的对照表。相应工作产品名称的简称(例如 SDP,SRS)不是必需的,但如果要使用,应遵守规定的标准。如下表:,2023/5/13,清华大学软件学院软件项目管理课件研制组,69,文档版本编号,起草版本的编号为 0.1,0.2,0.3,.,0.10.版本编号可以根据项目需要延伸到若干层,例如,0.1,0.1.1,0.1.1.1。一旦文档版本得以确认后,版本编号应该始自 1.0。版本编号不断变化为:1.0,1.1,1.2,.,1.10。项目可以根据需要将版本编号晋升为 2.0,2.1,2.2 等。,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,70,配置控制,在配置项的配置标识和基线正式确立之后,对其更改进行系统管制的过程。变化控制系统记录每次变化的相关信息(变化的原因、变化的实施者以及变化的内容等)。查看这些记录信息,有助于追踪出现的各种问题。记录正在执行的变更的信息,有助于做出正确的管理决策。,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,71,建立配置管理的库系统,配置管理的库系统人力资源库,配置管理的库系统硬件资源库,配置管理的库系统软件资源库,配置管理的库系统文档资料库,配置管理的库系统文档资料库(续),2023/5/13,清华大学软件学院软件项目管理课件研制组,77,基线管理,基线管理是保证开发团队共同工作的一种有效方式,基线管理包括:基线(产品)建立、发布和维护 内部发布:内部使用的基线一般称为建造(Build);外部发布:交付给外部顾客的产品一般称为发布(Release)。基线报告和基线备份。,2023/5/13,清华大学软件学院软件项目管理课件研制组,78,基线的演进,需求分析 总体设计 详细设计 代码实现 系统测试,需求说明书总体设计说明详细设计说明待发产品,V1.0,V1.1,V1.2,V1.3,V1.0,V1.0,V1.0,V1.1,V1.2,V1.1,V1.2,V1.3,V1.1,V1.2,2023/5/13,清华大学软件学院软件项目管理课件研制组,79,基线日志(报告),2023/5/13,清华大学软件学院软件项目管理课件研制组,80,版本控制,软件配置管理的一项基本功能是随着产品的开发和发布可靠地构建和重构产品的版本。版本控制;日常备份和灾难备份。为确保每一发布的产品版本能够重新生成,所有必要的信息都必须加以维护,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,81,变更控制(Change Control),配置控制通过建立一个有序的变更控制过程来确保 对每项变更的影响给于适当的考虑;对任何基线化的配置项的更改经过批准;批准的更改得以实施;记录必要的测量信息。,2023/5/13,清华大学软件学院软件项目管理课件研制组,82,变更控制过程,2023/5/13,清华大学软件学院软件项目管理课件研制组,83,提出变更,识别变更需要,对受控的配置项的修改提出一个变更请求(Change Request-CR)。变更请求对软件变更需要的描述。变更控制过程通过CR的流动来实现。对基线配置项的任何修改都必须与某一CR相关。,变更请求表单,2023/5/13,清华大学软件学院软件项目管理课件研制组,85,接受变更,项目必须建立接收提交的变更请求并进行跟踪的机制。指定接收和处理变更请求的责任人;确认变更请求;检查变更请求的内容是否清晰,完整,正确;包括:已存在的重复请求,或误解。对变更请求赋予唯一的标识符;建立变更跟踪纪录。,2023/5/13,清华大学软件学院软件项目管理课件研制组,86,变更评价,对请求变更的配置项进行系统的分析,确定变更影响的范围和修改的程度,为确定是否有必要进行变更提供参考依据。,2023/5/13,清华大学软件学院软件项目管理课件研制组,87,变更评价,2023/5/13,清华大学软件学院软件项目管理课件研制组,88,影响分析工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,89,变更处置,变更请求及附件提交SCCB进行评审并决策。,2023/5/13,清华大学软件学院软件项目管理课件研制组,90,变更处置,对每一项批准的变更请求,由SCCB指定变更的完成日期(due date)尽快;给出明确的实施期限;要求得到相应配置项的明确的版本。,2023/5/13,清华大学软件学院软件项目管理课件研制组,91,变更实施,项目(软件)经理负责管理已批准变更请求的实施软件经理 标识工作包(work packages)安排工作进程和实施责任人 监控进度和质量实施责任人 检出(check out)变更项;实施更改并记录更改信息;提交验证。,2023/5/13,清华大学软件学院软件项目管理课件研制组,92,变更验证,对已实施的变更必须在配置项/单元不同层次上加以验证。验证包括:审查、(同级)评审或走查(inspection,peer review or walkthrough);重新运行测试计划中规定的测试;或对测试计划增添相应的附加内容;进行回归测试。验证实施后,验证组织提交验证结果及必要的证据;将通过验证的配置项检入(check in)受控库,记录配置信息。,2023/5/13,清华大学软件学院软件项目管理课件研制组,93,结束变更,结束变更的准则:经验证表明变更已正确的实施;变更未产生非预期的副作用;有关的代码、文档和数据项已全部更新并已纳入受控库。配置管理员职责必要时将原基线备档,建立新的基线;完成配置记录;关闭CR,并通知变更提请人(originator),返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,94,配置状态报告,状态纪实 记录和描述受控库中的配置项在任何给定时间的状态。记录的配置状态至少应包括:软件项和相关文档的标识及其当前状态;基线进化的状态;建议和已批准变更的状态;已批准更改的实施状态。配置报告的目的:将记录中所包含的信息形成文件并进行传播。,变更日志,2023/5/13,清华大学软件学院软件项目管理课件研制组,96,配置状态报告(实例),变更日志,项目名称:公司MIS系统,进展报告,项目名称:公司MIS系统,2023/5/13,清华大学软件学院软件项目管理课件研制组,97,配置状态报告(实例),配置项状态报告,备注 位置:配置项存储位置的受控库的名称描述:配置项的版本信息以及关联项的详细信息,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,98,配置审核,目的:验证配置管理过程和标准在项目的开发活动中得到遵循;已开发的产品配置与规定的要求相符合。配置审核可分为:过程审核-基线审核;在项目的配置管理计划中安排基线审核活动;按计划和软件基线审核规程实施审核。产品审核,2023/5/13,清华大学软件学院软件项目管理课件研制组,99,产品审核,目的:为验收产品和启动软件的运行使用向顾客或用户提供充分的证据;建立软件产品基线。产品审核包括:功能配置审核(Functional Configuration Audit)物理配置审核(Physical Configuration Audit),2023/5/13,清华大学软件学院软件项目管理课件研制组,100,功能配置审核,验证待交付软件产品的实际性能与已成为基线的需求和设计文档的要求一致。确保软件配置项的功能完整性。Requirement Matrix 可以用作FCA的检查工具之一,2023/5/13,清华大学软件学院软件项目管理课件研制组,101,物理配置审核,对照已成为基线的技术文档,对待交付软件产品的版本进行正式的检查。确保软件配置项的物理完整性。PCA的完成表明产品基线的建立。,返回,2023/5/13,清华大学软件学院软件项目管理课件研制组,102,课程内容,软件配置管理的必要性 软件配置管理的概念软件配置管理的目标软件配置管理的相关角色软件配置管理的功能软件配置管理的工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,103,软件配置管理的工具,在配置管理中使用工具的目的是为了尽可能的实现非创造性、繁琐活动的自动化,但是没有那个工具可以完全代替人实现完全自动化。配置管理的工具支持的复杂度和成熟度是不同的。根据这一点可将它们分为三类:个人支持工具与项目有关的支持工具公司范围内使用的支持工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,104,配置管理的工具的分类,2023/5/13,清华大学软件学院软件项目管理课件研制组,105,常用配置管理的工具个人支持工具,个人支持工具主要功能是版本控制、联编处理和变更控制,这些都是比较原始的配置管理工具。可作为入门级的工具例如:CVS,Visual Source Safe 等等。他们是目前使用最多的工具。,2023/5/13,清华大学软件学院软件项目管理课件研制组,106,常用配置管理的工具与项目有关的支持工具,与项目有关的支持工具能够满足开发团队和集成人员的需求。这些工具大都能用于分布式环境下的开发并且能够创建、合并、变更以及发布交付和单个配置项。这些工具通常包括一些工作空间处理的功能。这类工具常见的例子:CLEARCASE,PVCS,2023/5/13,清华大学软件学院软件项目管理课件研制组,107,常用配置管理的工具公司范围内使用的支持工具,又称为“面向整个开发过程的工具”,为配置管理提供了一个完整的解决方法。企业级配置管理工具,在实现传统意义的配置管理的基础上又具有比较强的过程管理功能。常见的例子:ALLFUSION Harvest。,2023/5/13,清华大学软件学院软件项目管理课件研制组,108,软件配置管理工具应具备的先进性,易于使用、配置和管理配置管理与变更请求管理以及需求管理天然地集成可靠而独立的安全机制支持远程开发开放而全面的API(主流技术)全面支持中文(双字节)内容,2023/5/13,清华大学软件学院软件项目管理课件研制组,109,ClearCase能够解决的问题,你的开发人员是否能在一种无法控制的状态下访问原代码?修改过的错误是否还会出现?你的集成过程是否拖延了产品投放市场的时间?你是否能有效的管理多个任务?你当前的解决方案是否能应付变化的需求?你是否有同步开发的问题?你是否能重构所有的建立(Build)?,2023/5/13,清华大学软件学院软件项目管理课件研制组,110,ClearCase 的集成(Windows),2023/5/13,清华大学软件学院软件项目管理课件研制组,111,与资源管理器的集成,2023/5/13,清华大学软件学院软件项目管理课件研制组,112,被集成到自然的工作环境中,与开发工具的集成,2023/5/13,清华大学软件学院软件项目管理课件研制组,113,版本控制,建立管理,工作空间管理,过程控制,ClearCase功能,2023/5/13,清华大学软件学院软件项目管理课件研制组,114,控制任何文件的版本 可对目录和子目录进 行版本控制 采用版本树结构 完美归并功能 文本比较 丰富的注释和版本报 告信息,ClearCase 版本控制,2023/5/13,清华大学软件学院软件项目管理课件研制组,115,ClearCase 并行开发,自动 建立分支,自动进行归并,2023/5/13,清华大学软件学院软件项目管理课件研制组,116,ClearCase 并行开发,确保修改过的错误不会再出现归并效用能够找到所有未归并的文件减少集成时间 对于一个项目可以节省几个月,对于一个建立(Build)可以节省几天归并的工作能跨越多个存储库在多个平台上同时发布归并功能可以同时归并32个文件传送一个缺陷的修改到多个版本可以在任何方向上建立分支和进行归并不会拖延产品投放市场的时间使高风险的工作隔离在单独的分支上,2023/5/13,清华大学软件学院软件项目管理课件研制组,117,工作空间管理的重要性,提供一个与开发人员友好的环境为开发人员创建可靠的工作空间保证在集成期间能够继续开发为开发工作提供可靠的同步机制,2023/5/13,清华大学软件学院软件项目管理课件研制组,118,ClearCase 工作空间管理,建立灵活的工作空间 透明的访问版本元素 支持非ClearCase主机访问视图,2023/5/13,清华大学软件学院软件项目管理课件研制组,119,ClearCase 工作空间管理,ClearCase 是最好的SCM解决方案,可以提供两种工作模式 在Unix 和 Windows NT上提供动态视图在Windows NT上提供快照视图,2023/5/13,清华大学软件学院软件项目管理课件研制组,120,ClearCase 工作空间管理,动态视图使用网络连接 ClearCase 的存储库直接更新访问数据历史 代码库的整体视图 审核建立(Build)网络建立(Build),2023/5/13,清华大学软件学院软件项目管理课件研制组,121,ClearCase 工作空间管理,快照试图在Windows NT上能够可靠地被分离使用只能定期更新可以远离办公室工作可以在本地进行建立(Build)操作,2023/5/13,清华大学软件学院软件项目管理课件研制组,122,同步开发是永远可靠的,ClearCase 为同步开发提供最多的自动机制,2023/5/13,清华大学软件学院软件项目管理课件研制组,123,ClearCase 工作空间管理的益处,集成期间不影响开发工作继续进行在集成工作进行过程中能够保护个人的视图同步开发是永远可靠的为被检出的开发工作提供标识自动检测多个同时被检出的文件并确保它们被适当的归并,2023/5/13,清华大学软件学院软件项目管理课件研制组,124,ClearCase 建立管理,提供100%的重构能力 全面的审核追踪:谁做的做了什么怎么做的什么时间自动生成配置报告了解建立(Build)之间的差异比较两个建立(Build)确定文件是否有改动,2023/5/13,清华大学软件学院软件项目管理课件研制组,125,ClearCase 建立管理,支持UNIX和Windows平台的建立跨越多台主机进行分布式构造,2023/5/13,清华大学软件学院软件项目管理课件研制组,126,ClearCase全面支持ISO9000,唯一确定地标识每一个软件项的版本确定地标识每个软件项及其在整个软件产品的版本确定标识软件产品在开发、分配和安装过程中的各个状态管理同一个软件部分被多名开发人员同时更改协调多个软件产品根据需要在多个地点的更新,2023/5/13,清华大学软件学院软件项目管理课件研制组,127,长方形表示一个分支;圆形表示检入的时间排序的版本号;箭头表示从一个分支到另一个分支的变更回归(归并);“发布版本1.0/1.1”是这个版本上的标签。目录是元素,也是版本对象。ClearCase对目录也进行版本管理。为了能在前一个版本中修复BUG,或者从新版本退回到就版本,就有必要恢复一个旧的版本。目录被修改,在检入的时候,也要进行记录。还可以借助目录机制,重建或构造软件系统的前一个版本。,配置管理的版本树,2023/5/13,清华大学软件学院软件项目管理课件研制组,128,并行开发的版本控制,2023/5/13,清华大学软件学院软件项目管理课件研制组,129,ClearQuest变更需求管理工具,可以了解谁改了什么、为什么正确及时的项目状态报告 最大限度的利用你的工程师资源利于团队交流,2023/5/13,清华大学软件学院软件项目管理课件研制组,130,提供图形化的项目状况,2023/5/13,清华大学软件学院软件项目管理课件研制组,131,支持Web,2023/5/13,清华大学软件学院软件项目管理课件研制组,132,可视化的项目状况,2023/5/13,清华大学软件学院软件项目管理课件研制组,133,易学易用,2023/5/13,清华大学软件学院软件项目管理课件研制组,134,小结,软件配置管理是应用于整个软件过程中的保护性活动。SCM标识、控制、审核和报告软件在开发过程中及其在发布之后发生的修改。除文档、程序和数据外,开发环境也置于配置控制之下。一旦配置项已被开发并经过评审,将建立基线;对基线配置的修改将导致该配置生成新的版本,及新基线的建立。,2023/5/13,清华大学软件学院软件项目管理课件研制组,135,小结,配置项的修改历史应进行跟踪,并能恢复历史版本。变更控制应形成规程,以保证在对配置对象进行修改时保持一致性。配置状态报告应提供给所有受影响的人。对配置管理过程活动和软件产品进行必要的审核。,2023/5/13,清华大学软件学院软件项目管理课件研制组,136,本章前沿,作为 CMM 二级的六个关键过程域之一,配置管理本身是一个软件过程,因此,软件配置管理系统必须提供过程管理的功能。传统配置管理系统的过程支持能力比较弱,而且它们的版本管理模型是基于文件的,不适应基于构件的软件开发,针对这两个问题进行研究作为目前的一个研究方向。,2023/5/13,清华大学软件学院软件项目管理课件研制组,137,本章前沿,针对配置管理系统对过程支持的需求,用工作流技术开发过程支持工具和基于 Petri 网的过程建模方法,不失为一个研究的突破口。有人提出一个基于Petri 网的软件过程元模型,及其映射为工作流模型的方法。另外,CMM 只规定了配置管理所应遵循的规范,但没有规定具体的做法,还提出一个符合 CMM 规范的配置管理过程 Petri 模型。,2023/5/13,清华大学软件学院软件项目管理课件研制组,138,本章前沿,针对开发、集成和维护过程中构件的分类与检索、相关关系维护等需求,可以考虑给出一个基于构件的版本管理模型,它的版本标识具有分类属性和关系属性,更适合基于构件的配置管理。基于 J2EE 框架的、B/S 结构的配置管理系统实现方案,使系统以工作流系统为底层支撑环境,提供过程建模工具,支持复杂过程的建模和例化,具有分布式、跨平台的特点,提供变更控制等较完整的配置管理功能。,2023/5/13,清华大学软件学院软件项目管理课件研制组,139,思考题,配置文档的规范化是配置管理的一个要求。请你设计一个一页纸的功能说明书模板。练习使用vss或者cvs版本控制工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,140,总结,以过程为管理(控制),软件项目控制过程,项目估算,进度管理,成本管理,配置管理,自底向上方法自顶向下方法Delphi技术类比估计功能点方法COCOMO模型自动估算工具,基本概念 进度管理技术-关键路径法-进度管理工具,成本预算成本控制成本管理技术-盈余量-预算基线-挣值分析,配置管理必要性 配置管理概念配置管理目标配置管理角色配置管理功能配置管理工具,2023/5/13,清华大学软件学院软件项目管理课件研制组,141,本 章 结

    注意事项

    本文(软件配置管理课程清华大学ppt课件.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开