软件配置管理计划.ppt_第1页
软件配置管理计划.ppt_第2页
软件配置管理计划.ppt_第3页
软件配置管理计划.ppt_第4页
软件配置管理计划.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

案例引入,案例角色和人物,小王:软件项目负责人,老王:公司技术老总,开发小组:小李,老赵,小田,小谢,案例引入,软件项目已经成功实施了8个月,项目组已经进入编码阶段,在此过程中产生了许多的软件产品 到了编码阶段已经有了近百个软件产品(包括技术文档、管理文档、程序模块等),项目组在管理这些产品方面感到繁琐和困难 此时,用户提出要变更需求,软件项目组同意用户的需求变更请求,为此,修改了软件需求规格说明书 项目组将更改后、新的软件需求规格说明书交给了软件设计小组,设计小组为此更改了设计。更改后的软件设计涉及诸多的软件模块和数据设计,为此导致许多的模块和源程序代码和可执行代码发生了变化,案例引入,软件项目已经成功实施了8个月,项目组已经进入编码阶段,在此过程中产生了许多的软件产品 由于变化的范围太大,项目组很难清晰地了解哪些作了变化、做了什么样的变化 由此带来的新的问题是,项目组未能及时将这些变化通知给相关、受影响的小组和人员,从而出现软件产品之间的不一致(设计与编码不一致),所开发的产品没有完全符合和满足用户的需求,案例引入,软件项目已经成功实施了8个月,项目组已经进入编码阶段,在此过程中产生了许多的软件产品 对于某些模块更为糟糕,因为这些模块已经经过了多达67次的修改,而且每次修改都有意义,从而产生了不同版本的软件模块设计,由于没有相关的有效管理措施,开发人员已经很难清晰、有效识别、区分这些软件模块,出现许多开发人员都有该模块的诸多版本,案例引入,软件项目已经成功实施了8个月,项目组已经进入编码阶段,在此过程中产生了许多的软件产品 与此相对应的是,该模块的源代码也有许多版本 在实际组装软件时,项目组不能有效提取出所需的软件产品,共同构成可运行的软件系统,案例提示,软件开发过程中会产生大量软件产品(包括文档、源代码和数据等),且这些产品之间存在关联关系 同一软件产品,也会发生变更从而产生许多版本 软件开发小组必须清晰的知道会有哪些产品、这些产品会有哪些不同的形式和版本 开发小组必须清晰的知道如何将产品的变更通知给受影响的小组 如果不能有效的了解软件产品及其变更,开发小组很难组装这些软件产品,从而得到所需的软件产品,软件项目管理问题,什么是软件配置? 软件配置需要关心哪些方面的问题? 如何进行软件配置? 如何撰写软件配置管理计划? 有哪些软件工具支持软件配置活动?,软件项目管理,第10章 软件配置管理计划,本章要点,一、软件项目配置管理基本概念 软件配置管理(SCM:Software Configuration Management ) 配置项( SCI: Software Configuration Item ) 基线(Baseline) 二、软件项目配置管理过程 配置项标识 变更管理 配置项审计 配置项状态统计 三、软件项目配置管理计划 四、配置管理工具 五、案例分析,软件配置管理(SCM)相关定义,(1) ISO 9000-3(1997)质量管理和质量保证标准-第3部分 和 ISO 9001-1994 在计算机软件开发、供应、安装和维护中的应用指南: 配置管理是一个管理学科,它对配置项(包括软件项)的开发和支持生存期给予技术上的和管理上的指导。配置管理的应用取决于项目的规模、复杂程度和风险大小。 (2)W.Babich 的解释 软件配置管理能协调软件开发,使混乱减少到最小。软件配置管理是一种标识、组织和控制修改的技术,目的是最有效的提高生产率。,软件配置管理(SCM)相关定义,(3)GB/T 11457 :1995软件工程术语国家标准 A.表示和确定系统中配置项的过程,在系统整个生存期内控制这些配置项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。 B.对下列工作进行技术和行动指导与监督的一套规范: 对配置项的功能特性和物理特性进行标识和文件编制工作; 控制这些特性的更动情况; 记录并报告这些更动进行的处理和实现的状态。,软件配置管理(1/5),什么是软件配置管理? 在软件的整个生命周期中,对SCI进行以下工作 系统地控制SCI的标识、存储、更动和发放 记录、报告其状态 验证SCI的正确性和一致性 对上述工作的审计,软件配置管理(2/5),为什么需要SCM? 软件产品的易改性与可控性 团队开发时,多人并发存取需加控制(存取控制) 多应用开发时,同一软件的不同版本可能对应于不同应用,对此需加控制(版本控制) 应对软件更动状态予以追踪,并及时向有关人员通报状态情况 如果软件产品不能自始至终地保持清晰、互相一致,造成混乱、丢失,那么该软件系统会因无法使用而不得不报废,软件配置管理(3/5),SCM要解决的问题: 如何标识SCI和管理SCI的诸多版本,以使得变化可以高效地进行 如何在软件发布给用户之前和之后控制变化 谁负责批准变化,并确定其优先级 如何保证变化被恰当地进行 采用什么机制告知有关人员已经实行了变化,软件配置管理(4/5),软件配置管理的任务 SCI的标识 SCI的识别:有哪些SCI? SCI的描述:分别是什么SCI? 版本控制 每个SCI有哪些版本 控制版本的演化 变化控制 如何应对SCI的变化 配置审计 状态报告,软件配置管理(5/5),SCM的目标 必须使每个SCI保持与相关SCI的可追踪性(正确性)和完备性 使相关的SCI之间满足文实相符,文文一致以确保SCI的有效性 以清晰、明了、易管理的方式标识每个SCI,使其满足 :可视性 、唯一标识性 使最终软件产品的正确地生成、改进和维护成为可能,保证最终软件产品的正确性,软件配置管理(SCM)定义,记录软件产品的演化过程 确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。 最终保证软件产品的完整性、一致性、追朔性、可控性,本章要点,一、软件项目配置管理基本概念 软件配置管理(Software Configuration Management ) 配置项( SCI: Software Configuration Item ) 基线(Baseline) 二、软件项目配置管理过程 配置项标识 变更管理 配置项审计 配置项状态统计 三、软件项目配置管理计划 四、配置管理工具 五、案例分析,软件配置项(1/4),软件概要设计文档,模块1,数据设计文档,SRS,详细设计文档,模块n,模块m,组件:DLL,软件系统,软件配置项(2/4),什么是SCI? 软件生命周期内产生、需进行配置管理的各种工作产品。包括:程序、文档、数据、标准和规约 SCI的形式 技术文档 软件需求规格说明书 软件概要设计规格说明书 软件测试计划 用户手册, ,软件配置项(2/4),什么是SCI? 软件生命周期内产生、需进行配置管理的各种工作产品。包括:程序、文档、数据、标准和规约 SCI的形式 管理文档 软件开发计划 软件配置管理计划 软件质量保证计划,,软件配置项(2/4),什么是SCI? 软件生命周期内产生、需进行配置管理的各种工作产品。包括:程序、文档、数据、标准和规约 SCI的形式 程序代码(源和可执行) 模块1的源程序代码(例如,A.Java) 模块1的可执行代码(例如, A.class) 组件(程序包,例如, code.dll) 可执行文件(例如,word.exe) ,软件配置项(2/4),什么是SCI? 软件生命周期内产生、需进行配置管理的各种工作产品。包括:程序、文档、数据、标准和规约 SCI的形式 数据 配置文件(例如,a.ini) 数据文件(例如,a.pot),,软件配置项(4/4),SCI的描述 唯一的命名和编号 如SRS 属性 版本(v1.0) 类型(文档) 关系 与软件概要设计文档、数据设计文档关联,本章要点,一、软件项目配置管理基本概念 软件配置管理(Software Configuration Management ) 配置项( SCI: Software Configuration Item ) 基线(Baseline) 二、软件项目配置管理过程 配置项标识 变更管理 配置项审计 配置项状态统计 三、软件项目配置管理计划 四、配置管理工具 五、案例分析,基线(1/6),什么是基线? 已经通过正式复审和批准的软件产品、标准或规约,它们可以作为进一步开发的基础,并且只能通过正式的变化控制过程才允许对它们进行变更.(IEEE) 为什么需要基线?,基线(2/6),软件产品典型基线,需求分析,软件设计,编码,测试,发布,SRS,软件设计文档,源代码,测试计划/报告,软件系统,基线(3/6),作为基线的SCI,Check in,Check out,基线(4/6),基线管理的步骤 1.在开发前确定基线的“配置” 2.基线批准前,根据“配置”检查配置项是否齐备 3.对各个配置项,确认其版本的正确性 4.对每个配置项建立基线标志 5.基线变更管理 6.基线的各类报告和审计信息,基线(5/6),图:基线、配置与配置项的关系,基线(6/6),表:基线信息跟踪表,本章要点,一、软件项目配置管理基本概念 软件配置管理(Software Configuration Management ) 配置项( SCI: Software Configuration Item ) 基线(Baseline) 二、软件项目配置管理过程 配置项标识 变更管理 配置项审计 配置项状态统计 三、软件项目配置管理计划 四、配置管理工具 五、案例分析,配置项标识,配置项标识是: 识别产品的结构、产品的构件及类型,为其分配唯一的标识符; 并以某种形式提供对它们的存取; 找出需要跟踪管理的项目中间产品,使其处于配置管理的控制之下,并维护它们之间的关系。,配置项标识,配置项标识的任务 识别有哪些SCI 详细描述每个SCI 识别SCI的要求 完整,不要有遗漏 系统,包括所有的技术文档、必须的管理文档、所有的程序(源码和可执行)、所有的数据,配置项标识,SCI描述的要求 唯一和直观命名,在本项目中是唯一标识的,直觉意思明确,便于望文生义,有利于对该SCI的状态控制,便于增删、修改; 描述属性,便于进一步详细了解SCI,如 类型、创建者、时间、修改者, 描述与其他SCI的关系,便于追踪和管理其影响,配置项标识-文档类SCI的命名和属性描述(1/3),文档编号命名(样板例子) 形式:NUDTLIB-2-RA-v1.0-00 项目名称或者编号:NUDTLIB 子系统名称或者编号:2 or ReaderAdmin 文档类型:RA 序号:1,表示本文档在同类型中的排序 版本号:v1.0 修订号:00,AD - 结构设计 CR - 更动报告 DD - 详细设计 DP - 开发计划 FA - 可行性分析 IC - 接口控制 IG - 安装手册,QA - 质量保证 RA - 需求分析 SL - 源码列表 SS - 系统规格说明书 TP - 测试计划 TR - 测试报告 UM - 用户手册序号,文档属性描述: 编写人:例如,张三 质检人:例如,李四 审核人:例如,王五 批准人:例如,刘八 发布版本:例如,1.00 发布日期:例如,2009/12/14 变化情况,配置项标识-文档类SCI的命名和属性描述(1/3),为了便于变更控制时进行影响域评估,必须描述SCI之间的关联关系 建立关联矩阵 关联列表,配置项标识-描述关联关系,本章要点,一、软件项目配置管理基本概念 软件配置管理(Software Configuration Management ) 配置项( SCI: Software Configuration Item ) 基线(Baseline) 二、软件项目配置管理过程 配置项标识 变更管理 配置项审计 配置项状态统计 三、软件项目配置管理计划 四、配置管理工具 五、案例分析,软件变更 软件变更的不可避免性 软价变更的复杂性 软件配置项数量大 版本多 变更的迁延性 人员沟通协调 变更管理的任务 分析变更 记录和追踪变更 采取措施保证变更在受控状态下进行,变更管理,配置库 :CMMI中的配置库主要是指为管理(软件、硬件、系统)项目开发和件软维护以及其过程中各种中间软件产品而构建的基本方法和规则的目录存储结构。如产品需求库、度量库、产品组件库等。 配置库的作用: 记录与配置相关的所有信息 利用库中的信息可评价变更的后果 可利用库中的信息查询,变更管理-配置库,三类库 (1)开发库: 存放开发过程中需要保留的各种信息,供开发人员个人专用。 (2)受控库: 用于存放经过验证后的产品(包括基线产品);建立测试 区,用于存放开发工作结束后需要进入测试的配置项,以及为变更实施提供工作空间。 (3)产品库: 在开发的软件产品完成系统测试之后,作为最终产品存入库内,等待交付用户或现场安装。,变更管理配置库,1.基线是软件生存期各开发阶段末尾的特定点,基线一般在指定的里程碑处创建,并与项目中的里程碑保持同步。在配置管理系统中,基线就是一个CI或一组CIs在其生命周期的不同时间点上通过正式评审而进入正式受控的一种状态,,变更管理配置基线,软件配置基线,变更管理配置基线,2.基线与配置项 3.典型的配置项和基线库内容 初始库:包括项目开始时可供利用的配置项 已有的源代码(如可以利用且需要) 已有的软件文档(如可以利用且有需要) 已有的测试计划和测试数据(如可利用且有需要) 合同或建议书 环境配置项:包括对稳定的开发环境或维护环境所必需的配置项 编译器、操作系统、编辑程序、实用程序、RDBMS 团组所用的工具(项目管理工具,进展表,测试工具,缺陷追踪等) 第三方库 文档工具(字处理器、电子表格等),变更管理配置基线,2.基线与配置项 3.典型的配置项和基线库内容 定义库:在需求规格说明工作结束时生成的 需求规格说明 项目计划 设计标准与设计准则 验收测试计划 设计库:在设计工作结束时所产生的 系统设计说明书 程序规格说明 数据库设计 编码标准、用户接口标准、测试标准 系统测试计划 用户手册,变更管理配置基线,2.基线与配置项 3.典型的配置项和基线库内容 构造库:在编码和段单元测试结束时生成的 源代码 标代码 单元测试数据 测试库:系统测试完成后生成的 系统测试数据 运行手册和安装手册 维护库:验收测试、安装和培训等之后将有变更的所有配置项,变更管理变更控制,1.SCCB 配置控制委员会(SCCB)可以是一个人或一个 组,基本是由项目经理及其相关人员组成。 SCCB承担变更控制的所有责任 评估变更 批准变更申请 在生存期内规范变更申请流程 对变更进行反馈 与项目管理层沟通,变更管理变更控制,2.变更步骤 第一步 变更申请。变更申请人向CCB提交变更申请,重点说明“变更内容”和“变更原因”。 第二步 审批变更申请。CCB负责人(或项目经理)审批该申请,分析此变更对项目造成的影响。如果同意变更的话,则转向第三步,否则终止。 第三步 安排变更任务。CCB指定变更执行人,安排他们的任务。CCB需要和变更执行人就变更内容达成共识。,变更管理变更控制,2.变更步骤 第四步 执行变更任务。变更执行人根据CCB安排的任务,修改配置项。CCB监督变更任务的执行,如检查变更内容是否正确、是否按时完成工作等。 第五步 对更改后的配置项重新进行技术评审(或审批)。 第六步 结束变更。当所有变更后的配置项都通过了技术评审或领导审批,这些配置项的状态从“正在修改”变迁为“正式发布”,本次变更结束。,本章要点,一、软件项目配置管理基本概念 软件配置管理(Software Configuration Management ) 配置项( SCI: Software Configuration Item ) 基线(Baseline) 二、软件项目配置管理过程 配置项标识 变更管理 配置项审计 配置项状态统计 三、软件项目配置管理计划 四、配置管理工具 五、案例分析,配置审计,配置审计的目的就是要保证所有人员(包括配置管理员、CCB、和普通项目成员)都遵守配置管理规范。 所以配置审计是质量人员的工作职责之一,可以归类为“过程检查活动”。 配置审计的对象是项目的主要配置项,如果主要配置项符合“版本控制规则”和“变更控制规则”,并且定期备份了配置库,那么就可以认为配置管理符合既定的规范。,配置审计,为什么要实施配置审核? 确保软件配置管理的有效性,不允许出现任何混乱现象。 如何实施配置审核? 1.实施配置审核的时机 软件产品交付或是软件产品正式发行前 软件开发的阶段工作结束之后 在维护工作中,定期的进行 2.实施配置审核的责任人 参与实施配置审核的审核人员包括:项目组人员和非项目组人员,例如其他项目的配置管理人员、软件组织的内部审核员以及软件组织的软件配置管理人员。,本章要点,一、软件项目配置管理基本概念 软件配置管理(Software Configuration Management ) 配置项( SCI: Software Configuration Item ) 基线(Baseline) 二、软件项目配置管理过程 配置项标识 变更管理 配置项审计 配置项状态统计 三、软件项目配置管理计划 四、配置管理工具 五、案例分析,配置状态报告,什么是配置状态报告? 1.配置状态报告(configuration status reporting)也称配置状态说明与报告(configuration status accounting & reporting)。 任务:有效的记录和报告管理配置所需要的信息 目的:及时、准确的给出软件配置项的当前状况,供相关人员了解,以加强配置管理工作。 2.需要跟踪捕捉的状态报告信息可以是: 配置项的当前标识 已交付软件的配置 变更请求或问题报告的状态 已获准变更的状态,配置状态报告,定期提交的配置状态报告的内容示例: 各份变更请求概要:变更请求号、日期、申请人、 状态、估计工作量、实际工作量、发行版本、变 更结束日期 基线库状态:库标识、至某日预计库内配置项数、 实际配置项数 发行信息:发行版本、计划发行时间、实际发行 时间、说明 备份信息:备份日期、介质、备份存放位置 配置管理工具状态 配置管理培训状态,本章要点,一、软件项目配置管理基本概念 软件配置管理(Software Configuration Management ) 配置项( SCI: Software Configuration Item ) 基线(Baseline) 二、软件项目配置管理过程 配置项标识 变更管理 配置项审计 配置项状态统计 三、软件项目配置管理计划 四、配置管理工具 五、案例分析,配置管理计划,软件配置管理计划就是确定软件配置管理的解决方案。在整个软件项目开发过程中作为配置管理活动的依据进行使用和维护。(详见:GB/T 12505-90) 1.引言 1.1 目的 1.2 术语与缩略语 1.3 参考资料,软件配置管理计划(2/3),2.管理 2.1 机构 2.2 任务 2.3 职责 2.4 接口控制 2.5 里程碑 2.6 适用的标准、条例和约定,软件配置管理计划(3/3),3.配置管理活动 3.1 配置标识 3.2 配置控制 3.3 配置状态登录与报告 3.4 配置审计 4.技术、方法与工具 5.对供货单位的控制 6.记录的收集、维护和保存,配置管理计划示例,本章要点,一、软件项目配置管理基本概念 软件配置管理(Software Configuration Management ) 配置项( SCI: Software Configuration Item ) 基线(Baseline) 二、软件项目配置管理过程 配置项标识 变更管理 配置项审计 配置项状态统计 三、软件项目配置管理计划 四、配置管理工具 五、案例分析,配置管理工具,1 Visual SourceSafe Visual SourceSafe是Microsoft公司推出的配置管理工具,是Visual Studio的套件之一。SourceSafe是国内最流行的配置管理工具,用户量绝对是第一位。,配置管理工具-VSS简单工作原理,将项目所有的源文件(包括各种文件类型)以特有的方式存入数据库; 客户端将程序拷贝到各自的工作目录下进行调试修改,然后进行Checkin到服务器,进行综合更新; 支持多个项目之间文件快速高效的共享; 每个成员对项目文件所作的修改将被记录到数据库中; VSS可以很容易地与Microsoft Access、 Visual Basic、 Visual C+、Visual FoxPro和其他的开发工具集成在一起.,SourceSafe的主要局限性: 只能在Windows下运行,不能在Unix, Linux下运行。SourceSafe不支持异构环境下的配置管理,对用户而言是个麻烦事。这不是技术问题,是微软公司产品战略决定的。 适合于局域网内的用户群,不适合于通过Internet连接的用户群,因为SourceSafe是通过“共享目录”方式存储文件的。,配置管理工具-VSS简单工作原理,2 CVS CVS 是 Concurrent Version System(并行版本系统)的缩写,它是著名的开放源代码的配置管理工具。,配置管理工具-CVS,CVS的官方网站是/ 官方提供的是CVS服务器和命令行程序,但是官方并不提供交互式的客户端软件。 许多软件机构根据CVS官方提供的编程接口开发了各色各样的CVS客户端软件,最有名的当推Windows环境的CVS客户端软件WinCVS。 WinCVS是免费的,但是并不开放源代码。,配置管理工具-CVS,与So

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论