《12软件配置管理计划》由会员分享,可在线阅读,更多相关《12软件配置管理计划(71页珍藏版)》请在金锄头文库上搜索。
1、案例引入案例引入案例角色和人物小王:软件项目负责人小王:软件项目负责人老王:公司技术老总老王:公司技术老总开发小组:小李,老赵,小田,小谢开发小组:小李,老赵,小田,小谢案例引入案例引入n软件项目已经成功实施了软件项目已经成功实施了8个月,项目组已经进入个月,项目组已经进入编编码阶段码阶段,在此过程中产生了许多的软件产品,在此过程中产生了许多的软件产品q到了编码阶段已经有了近百个软件产品到了编码阶段已经有了近百个软件产品(包括技术文档、管包括技术文档、管理文档、程序模块等理文档、程序模块等),项目组在管理这些产品方面感到繁,项目组在管理这些产品方面感到繁琐和困难琐和困难q此时,用户提出要变更需
2、求,软件项目组同意用户的需求此时,用户提出要变更需求,软件项目组同意用户的需求变更请求,为此,修改了变更请求,为此,修改了软件需求规格说明书软件需求规格说明书q项目组将更改后、新的软件需求规格说明书交给了软件设项目组将更改后、新的软件需求规格说明书交给了软件设计小组,设计小组为此更改了计小组,设计小组为此更改了设计设计。更改后的软件设计涉。更改后的软件设计涉及诸多的及诸多的软件模块软件模块和和数据设计数据设计,为此导致许多的模块和,为此导致许多的模块和源源程序代码程序代码和和可执行代码可执行代码发生了变化发生了变化案例引入案例引入n软件项目已经成功实施了软件项目已经成功实施了8个月,项目组已经
3、个月,项目组已经进入编码阶段,在此过程中产生了许多的软件进入编码阶段,在此过程中产生了许多的软件产品产品q由于变化的范围太大,项目组很难清晰地了解哪些由于变化的范围太大,项目组很难清晰地了解哪些作了变化、做了什么样的变化作了变化、做了什么样的变化q由此带来的新的问题是,项目组未能及时将这些变由此带来的新的问题是,项目组未能及时将这些变化通知给相关、受影响的小组和人员,从而出现软件化通知给相关、受影响的小组和人员,从而出现软件产品之间的不一致产品之间的不一致(设计与编码不一致设计与编码不一致),所开发的产所开发的产品没有完全符合和满足用户的需求品没有完全符合和满足用户的需求案例引入案例引入n软件
4、项目已经成功实施了软件项目已经成功实施了8个月,项目组已经个月,项目组已经进入编码阶段,在此过程中产生了许多的软件进入编码阶段,在此过程中产生了许多的软件产品产品q 对于某些模块更为糟糕,因为这些模块已经经过对于某些模块更为糟糕,因为这些模块已经经过了多达了多达67次的修改,而且每次修改都有意义,从次的修改,而且每次修改都有意义,从而产生了而产生了不同版本的软件模块设计不同版本的软件模块设计,由于没有相关,由于没有相关的有效管理措施,开发人员已经很难清晰、有效识的有效管理措施,开发人员已经很难清晰、有效识别、区分这些软件模块,出现许多开发人员都有该别、区分这些软件模块,出现许多开发人员都有该模
5、块的诸多版本模块的诸多版本案例引入案例引入n软件项目已经成功实施了软件项目已经成功实施了8个月,项目组已经个月,项目组已经进入编码阶段,在此过程中产生了许多的软件进入编码阶段,在此过程中产生了许多的软件产品产品q与此相对应的是,该模块的源代码也有许多与此相对应的是,该模块的源代码也有许多版本版本q在实际组装软件时,项目组不能有效提取出在实际组装软件时,项目组不能有效提取出所需的软件产品,共同构成可运行的软件系统所需的软件产品,共同构成可运行的软件系统案例提示案例提示 n软软件件开开发发过过程程中中会会产产生生大大量量软软件件产产品品(包包括括文文档档、源源代代码码和和数数据据等等),且且这这些
6、些产产品品之之间间存存在在关关联关系联关系q同一软件产品,也会发生变更从而产生许多版本同一软件产品,也会发生变更从而产生许多版本q软件开发小组必须清晰的知道会有哪些产品、这些产品软件开发小组必须清晰的知道会有哪些产品、这些产品会有哪些不同的形式和版本会有哪些不同的形式和版本q开发小组必须清晰的知道如何将产品的变更通知给受影开发小组必须清晰的知道如何将产品的变更通知给受影响的小组响的小组q如果不能有效的了解软件产品及其变更,开发小组很难如果不能有效的了解软件产品及其变更,开发小组很难组装这些软件产品,从而得到所需的软件产品组装这些软件产品,从而得到所需的软件产品软件项目管理问题软件项目管理问题n
7、什么是软件配置?什么是软件配置?n软件配置需要关心哪些方面的问题?软件配置需要关心哪些方面的问题?n如何进行软件配置?如何进行软件配置?n如何撰写软件配置管理计划?如何撰写软件配置管理计划?n有哪些软件工具支持软件配置活动有哪些软件工具支持软件配置活动?软件项目管理第第1010章章软件配置管理计划软件配置管理计划本章要点一、一、软件项目配置管理基本概念软件项目配置管理基本概念q软件软件配置管理配置管理(SCM:SCM:SoftwareSoftware Configuration Management Configuration Management )q配置项(配置项( SCI: Softwa
8、re Configuration ItemSCI: Software Configuration Item )q基线(基线(BaselineBaseline)二、软件项目配置管理过程二、软件项目配置管理过程q配置项标识配置项标识q变更管理变更管理q配置项审计配置项审计q配置项状态统计配置项状态统计三、软件项目配置管理计划三、软件项目配置管理计划四、配置管理工具四、配置管理工具五、案例分析五、案例分析软件配置管理(软件配置管理(SCM)SCM)相关定义相关定义(1)(1) ISO 9000-3 ISO 9000-3(19971997)质量管理和质量保证标准)质量管理和质量保证标准-第第3 3部分
9、部分 和和ISO 9001-1994 ISO 9001-1994 在计算机软件开发、供应、安装和维护中的应用在计算机软件开发、供应、安装和维护中的应用指南指南: 配置管理是一个管理学科,它对配置项配置项(包括软件项)的开发和支持生存期给予技术上的和管理上的指导。配置管理的应用取决于项目的规模、复杂程度和风险大小。(2)W.Babich (2)W.Babich 的解释的解释 软件配置管理能协调软件开发,使混乱减少到最小。软件配置管理是一种标识、组织和控制修改的技术,目的是最有效的提高生产率。软件配置管理(软件配置管理(SCM)SCM)相关定义相关定义(3)GB/T 11457 :1995(3)G
10、B/T 11457 :1995软件工程术语软件工程术语国家标准国家标准 A.表示和确定系统中配置项的过程,在系统整个生存期内控制这些配置项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。 B.对下列工作进行技术和行动指导与监督的一套规范: 对配置项配置项的功能特性和物理特性进行标识和文件编制工作; 控制这些特性的更动情况; 记录并报告这些更动进行的处理和实现的状态。软件配置管理软件配置管理(1/5)n什么是软件配置管理什么是软件配置管理?q在软件的整个生命周期中,对在软件的整个生命周期中,对SCI进行以下工作进行以下工作n系统地控制系统地控制SCI的标识、存储、更动和
11、发放的标识、存储、更动和发放n记录、报告其状态记录、报告其状态n验证验证SCI的正确性和一致性的正确性和一致性n对上述工作的审计对上述工作的审计软件配置管理软件配置管理(2/5)n为什么需要为什么需要SCM?q软件产品的易改性与可控性软件产品的易改性与可控性q团队开发时,多人并发存取需加控制团队开发时,多人并发存取需加控制(存取控制存取控制)q多应用开发时,同一软件的不同版本可能对应于不同应用,多应用开发时,同一软件的不同版本可能对应于不同应用,对此需加控制对此需加控制(版本控制版本控制)q应对软件更动状态予以追踪,并及时向有关人员通报状态情应对软件更动状态予以追踪,并及时向有关人员通报状态情
12、况况q如果软件产品不能自始至终地保持清晰、互相一致,造成混如果软件产品不能自始至终地保持清晰、互相一致,造成混乱、丢失,那么该软件系统会因无法使用而不得不报废乱、丢失,那么该软件系统会因无法使用而不得不报废软件配置管理软件配置管理(3/5)nSCM要解决的问题要解决的问题:q如何标识如何标识SCI和管理和管理SCI的诸多版本,以使得变化可的诸多版本,以使得变化可以高效地进行以高效地进行q如何在软件发布给用户之前和之后控制变化如何在软件发布给用户之前和之后控制变化q谁负责批准变化,并确定其优先级谁负责批准变化,并确定其优先级q如何保证变化被恰当地进行如何保证变化被恰当地进行q采用什么机制告知有关
13、人员已经实行了变化采用什么机制告知有关人员已经实行了变化软件配置管理软件配置管理(4/5)n软件配置管理的任务软件配置管理的任务qSCI的标识的标识nSCI的识别:有哪些SCI?nSCI的描述:分别是什么SCI?q版本控制版本控制n每个SCI有哪些版本n控制版本的演化q变化控制变化控制n如何应对SCI的变化q配置审计配置审计q状态报告状态报告软件配置管理软件配置管理(5/5)nSCM的目标的目标q必须使每个必须使每个SCI保持与相关保持与相关SCI的的可追踪性可追踪性(正确性正确性)和完备性和完备性q使相关的使相关的SCI之间之间满足文实相符,文文一致以确保满足文实相符,文文一致以确保SCI的
14、有效性的有效性q以清晰、明了、易管理的方式标识每个以清晰、明了、易管理的方式标识每个SCI,使其使其满足满足 :可视性可视性 、唯一标识性、唯一标识性q使最终软件产品的正确地生成、改进和维护成为可使最终软件产品的正确地生成、改进和维护成为可能,保证最终软件产品的正确性能,保证最终软件产品的正确性软件配置管理(软件配置管理(SCM)SCM)定义定义q记录软件产品的演化过程记录软件产品的演化过程q确保软件开发者在软件生命周期中的各个阶段确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。都能得到精确的产品配置。q最终保证软件产品的最终保证软件产品的完整性、一致性、追朔性、完整性、一致性
15、、追朔性、可控性可控性本章要点一、一、软件项目配置管理基本概念软件项目配置管理基本概念q软件软件配置管理配置管理(Software Configuration ManagementSoftware Configuration Management )q配置项(配置项( SCI: Software Configuration ItemSCI: Software Configuration Item )q基线(基线(BaselineBaseline)二、软件项目配置管理过程二、软件项目配置管理过程q配置项标识配置项标识q变更管理变更管理q配置项审计配置项审计q配置项状态统计配置项状态统计三、软件项
16、目配置管理计划三、软件项目配置管理计划四、配置管理工具四、配置管理工具五、案例分析五、案例分析软件配置项软件配置项(1/4)软件概软件概要设计要设计文档文档模块模块模块模块1 1数据设数据设计文档计文档SRS详细设详细设计文档计文档模块模块模块模块n n模块模块模块模块mm软件配置项软件配置项(2/4)n什么是什么是SCI?q软件生命周期内产生、需进行配置管理的各种工作软件生命周期内产生、需进行配置管理的各种工作产品。包括:产品。包括:程序、文档、数据、标准和规约程序、文档、数据、标准和规约nSCI的形式的形式q技术文档技术文档软件需求规格说明书软件需求规格说明书软件概要设计规格说明书软件概要
17、设计规格说明书软件测试计划软件测试计划用户手册用户手册, 软件配置项软件配置项(2/4)n什么是什么是SCI?q软件生命周期内产生、需进行配置管理的各种工作软件生命周期内产生、需进行配置管理的各种工作产品。包括:产品。包括:程序、文档、数据、标准和规约程序、文档、数据、标准和规约nSCI的形式的形式q管理文档管理文档软件开发计划软件开发计划软件配置管理计划软件配置管理计划软件质量保证计划,软件质量保证计划,软件配置项软件配置项(2/4)n什么是什么是SCI?q软件生命周期内产生、需进行配置管理的各种工作软件生命周期内产生、需进行配置管理的各种工作产品。包括:产品。包括:程序、文档、数据、标准和
18、规约程序、文档、数据、标准和规约nSCI的形式的形式q程序代码程序代码(源和可执行源和可执行)模块模块1的源程序代码的源程序代码(例如,例如,A.Java)模块模块1的可执行代码的可执行代码(例如,例如, A.class)组件组件(程序包,例如,程序包,例如, code.dll)可执行文件可执行文件(例如,例如,word.exe) 软件配置项软件配置项(2/4)n什么是什么是SCI?q软件生命周期内产生、需进行配置管理的各种工作软件生命周期内产生、需进行配置管理的各种工作产品。包括:产品。包括:程序、文档、数据、标准和规约程序、文档、数据、标准和规约nSCI的形式的形式q数据数据配置文件(例如
19、,a.ini)数据文件(例如,a.pot),软件配置项软件配置项(4/4)nSCI的描述的描述q唯一的命名和编号唯一的命名和编号n如SRSq属性属性n版本(v1.0)n类型(文档)q关系关系n与软件概要设计文档、数据设计文档关联本章要点一、一、软件项目配置管理基本概念软件项目配置管理基本概念q软件软件配置管理配置管理(Software Configuration ManagementSoftware Configuration Management )q配置项(配置项( SCI: Software Configuration ItemSCI: Software Configuration It
20、em )q基线(基线(BaselineBaseline)二、软件项目配置管理过程二、软件项目配置管理过程q配置项标识配置项标识q变更管理变更管理q配置项审计配置项审计q配置项状态统计配置项状态统计三、软件项目配置管理计划三、软件项目配置管理计划四、配置管理工具四、配置管理工具五、案例分析五、案例分析基线基线(1/6)n什么是基线?什么是基线?q已经通过正式复审复审和批准批准的软件产品、标准或规约,它们可以作为进一步开发的基础,并且只能通过正只能通过正式的变化控制过程才允许对它们进行变更式的变化控制过程才允许对它们进行变更.(IEEE)n为什么需要基线?为什么需要基线?基线基线(2/6)n软件产
21、品典型基线软件产品典型基线SRS软件设计软件设计文档文档源代码源代码源代码源代码测试计划测试计划测试计划测试计划/ /报告报告报告报告基线基线(3/6)n作为基线的作为基线的SCICheck in Check out 基线基线(4/6)n基线管理的步骤基线管理的步骤 1.在开发前确定基线的在开发前确定基线的“配置配置”2.基线批准前,根据基线批准前,根据“配置配置”检查配置项是否齐备检查配置项是否齐备3.对各个配置项,确认其版本的正确性对各个配置项,确认其版本的正确性4.对每个配置项建立基线标志对每个配置项建立基线标志5.基线变更管理基线变更管理 6.基线的各类报告和审计信息基线的各类报告和审
22、计信息 基线基线(5/6)图:基线、配置与配置项的关系图:基线、配置与配置项的关系基线基线(6/6)表:基线信息跟踪表本章要点一、一、软件项目配置管理基本概念软件项目配置管理基本概念q软件软件配置管理配置管理(Software Configuration ManagementSoftware Configuration Management )q配置项(配置项( SCI: Software Configuration ItemSCI: Software Configuration Item )q基线(基线(BaselineBaseline)二、软件项目配置管理过程二、软件项目配置管理过程q配置
23、项标识配置项标识q变更管理变更管理q配置项审计配置项审计q配置项状态统计配置项状态统计三、软件项目配置管理计划三、软件项目配置管理计划四、配置管理工具四、配置管理工具五、案例分析五、案例分析配置项标识配置项标识n配置项标识配置项标识是是:n识别产品的结构、产品的构件及类型,为其分识别产品的结构、产品的构件及类型,为其分配配唯一唯一的标识符;的标识符;n并以某种形式提供对它们的存取并以某种形式提供对它们的存取;n找出需要跟踪管理的项目找出需要跟踪管理的项目中间产品中间产品,使其处于,使其处于配置管理的控制之下,并配置管理的控制之下,并维护它们之间的关系。维护它们之间的关系。配置项标识配置项标识n
24、配置项标识的任务配置项标识的任务q识别有哪些SCIq详细描述每个SCIn识别识别SCI的要求的要求q完整,不要有遗漏q系统,包括所有的技术文档、必须的管理文档、所有的程序(源码和可执行)、所有的数据配置项标识配置项标识nSCI描述的要求描述的要求q唯一和直观命名,在本项目中是唯一标识的,直觉意思明确,便于望文生义,有利于对该SCI的状态控制,便于增删、修改;q描述属性,便于进一步详细了解SCI,如n类型、创建者、时间、修改者,q描述与其他SCI的关系,便于追踪和管理其影响配置项标识配置项标识-文档类文档类SCI的命名和属性描述的命名和属性描述(1/3)n文档编号命名文档编号命名(样板例子样板例
25、子)q形式:NUDTLIB-2-RA-v1.0-00q项目名称或者编号:NUDTLIBq子系统名称或者编号:2 or ReaderAdminq文档类型:RAq序号:1,表示本文档在同类型中的排序q版本号:v1.0q修订号:00AD - 结构设计结构设计CR - 更动报告更动报告DD - 详细设计详细设计DP - 开发计划开发计划FA - 可行性分析可行性分析IC - 接口控制接口控制IG - 安装手册安装手册QA - 质量保证质量保证RA - 需求分析需求分析SL - 源码列表源码列表SS - 系统规格说明书系统规格说明书TP - 测试计划测试计划TR - 测试报告测试报告UM - 用户手册序
26、号用户手册序号n文档属性描述:文档属性描述:q编写人:例如,张三q质检人:例如,李四q审核人:例如,王五q批准人:例如,刘八q发布版本:例如,1.00q发布日期:例如,2009/12/14q变化情况配置项标识配置项标识-文档类文档类SCI的命名和属性描述的命名和属性描述(1/3)n为了便于变更控制时进行影响域评估,必须描为了便于变更控制时进行影响域评估,必须描述述SCI之间的关联关系之间的关联关系q建立关联矩阵q关联列表配置项标识配置项标识- -描述关联关系本章要点一、一、软件项目配置管理基本概念软件项目配置管理基本概念q软件软件配置管理配置管理(Software Configuration
27、ManagementSoftware Configuration Management )q配置项(配置项( SCI: Software Configuration ItemSCI: Software Configuration Item )q基线(基线(BaselineBaseline)二、软件项目配置管理过程二、软件项目配置管理过程q配置项标识配置项标识q变更管理变更管理q配置项审计配置项审计q配置项状态统计配置项状态统计三、软件项目配置管理计划三、软件项目配置管理计划四、配置管理工具四、配置管理工具五、案例分析五、案例分析n软件变更软件变更q软件变更的不可避免性软件变更的不可避免性q软价
28、变更的复杂性软价变更的复杂性n软件配置项数量大n版本多n变更的迁延性n人员沟通协调q变更管理的任务变更管理的任务n分析变更n记录和追踪变更n采取措施保证变更在受控状态下进行变更管理变更管理n配置库配置库 :CMMI中的配置库主要是指为管理(软件、中的配置库主要是指为管理(软件、硬件、系统)项目开发和件软维护以及其过程中各种硬件、系统)项目开发和件软维护以及其过程中各种中间软件产品而构建的基本方法和规则的目录存储结中间软件产品而构建的基本方法和规则的目录存储结构。如产品需求库、度量库、产品组件库等。构。如产品需求库、度量库、产品组件库等。 n配置库的作用:配置库的作用:q记录与配置相关的所有信息
29、q利用库中的信息可评价变更的后果q可利用库中的信息查询变更管理变更管理- -配置库配置库n三类库三类库 (1 1)开发库:)开发库: 存放开发过程中需要保留的各种信息,供开发人员个人专用。(2 2)受控库:)受控库: 用于存放经过验证后的产品(包括基线产品);建立测试 区,用于存放开发工作结束后需要进入测试的配置项,以及为变更实施提供工作空间。 (3 3)产品库:)产品库: 在开发的软件产品完成系统测试之后,作为最终产品存入库内,等待交付用户或现场安装。变更管理变更管理配置库配置库1.基线基线是软件生存期各开发阶段末尾的特定点,是软件生存期各开发阶段末尾的特定点,基线一般在指定的里程碑处创建,
30、并与项目中的里程碑保持同步。在配置管理系统中,基线就是一个CI或一组CIs在其生命周期的不同时间点上通过正式评审而进入正式受控的一种状态,变更管理变更管理配置基线配置基线软件配置基线变更管理变更管理配置基线配置基线2.基线与配置项基线与配置项3.典型的配置项和基线库内容典型的配置项和基线库内容n初始库:包括项目开始时可供利用的配置项初始库:包括项目开始时可供利用的配置项已有的源代码(如可以利用且需要)已有的源代码(如可以利用且需要)已有的软件文档(如可以利用且有需要)已有的软件文档(如可以利用且有需要)已有的测试计划和测试数据(如可利用且有需要)已有的测试计划和测试数据(如可利用且有需要)合同
31、或建议书合同或建议书n环境配置项:包括对稳定的开发环境或维护环境所必环境配置项:包括对稳定的开发环境或维护环境所必需的配置项需的配置项编译器、操作系统、编辑程序、实用程序、RDBMS团组所用的工具(项目管理工具,进展表,测试工具,缺陷追踪等)第三方库文档工具(字处理器、电子表格等)变更管理变更管理配置基线配置基线2.基线与配置项基线与配置项3.典型的配置项和基线库内容典型的配置项和基线库内容n定义库:在需求规格说明工作结束时生成的定义库:在需求规格说明工作结束时生成的需求规格说明项目计划设计标准与设计准则验收测试计划n设计库:在设计工作结束时所产生的设计库:在设计工作结束时所产生的系统设计说明
32、书程序规格说明数据库设计编码标准、用户接口标准、测试标准系统测试计划用户手册变更管理变更管理配置基线配置基线2.基线与配置项基线与配置项3.典型的配置项和基线库内容典型的配置项和基线库内容n构造库:在编码和段单元测试结束时生成的构造库:在编码和段单元测试结束时生成的源代码标代码 单元测试数据n测试库:系统测试完成后生成的测试库:系统测试完成后生成的系统测试数据运行手册和安装手册n维维护护库库:验验收收测测试试、安安装装和和培培训训等等之之后后将将有有变变更更的的所所有有配置项配置项变更管理变更管理变更控制变更控制1.SCCBq 配置控制委员会(SCCB)可以是一个人或一个 组,基本是由项目经理
33、及其相关人员组成。q SCCB承担变更控制的所有责任q评估变更q批准变更申请q在生存期内规范变更申请流程q对变更进行反馈q与项目管理层沟通 变更管理变更管理变更控制变更控制2.变更步骤变更步骤n第一步第一步 变更申请。变更申请。变更申请人向CCB提交变更申请,重点说明“变更内容”和“变更原因”。n第二步第二步 审批变更申请。审批变更申请。CCB负责人(或项目经理)审批该申请,分析此变更对项目造成的影响。如果同意变更的话,则转向第三步,否则终止。 n第三步第三步 安排变更任务安排变更任务。CCB指定变更执行人,安排他们的任务。CCB需要和变更执行人就变更内容达成共识。 变更管理变更管理变更控制变
34、更控制2.变更步骤变更步骤n第四步第四步 执行变更任务。执行变更任务。变更执行人根据CCB安排的任务,修改配置项。CCB监督变更任务的执行,如检查变更内容是否正确、是否按时完成工作等。n第五步第五步 对更改后的配置项重新进行技术评审(或审批)对更改后的配置项重新进行技术评审(或审批)。n第六步第六步 结束变更。结束变更。当所有变更后的配置项都通过了技术评审或领导审批,这些配置项的状态从“正在修改”变迁为“正式发布”,本次变更结束。 本章要点一、一、软件项目配置管理基本概念软件项目配置管理基本概念q软件软件配置管理配置管理(Software Configuration ManagementSof
35、tware Configuration Management )q配置项(配置项( SCI: Software Configuration ItemSCI: Software Configuration Item )q基线(基线(BaselineBaseline)二、软件项目配置管理过程二、软件项目配置管理过程q配置项标识配置项标识q变更管理变更管理q配置项审计配置项审计q配置项状态统计配置项状态统计三、软件项目配置管理计划三、软件项目配置管理计划四、配置管理工具四、配置管理工具五、案例分析五、案例分析配置审计配置审计n配置审计的目的配置审计的目的就是要保证所有人员(包括配置管理员、就是要保证
36、所有人员(包括配置管理员、CCBCCB、和普通项目成员)都遵守配置管理规范。、和普通项目成员)都遵守配置管理规范。 所以配置审计是质量人员的工作职责之一,可以归类为所以配置审计是质量人员的工作职责之一,可以归类为“过程过程检查活动检查活动”。n配配置置审审计计的的对对象象是是项项目目的的主主要要配配置置项项,如如果果主主要要配配置置项项符符合合“版版本本控控制制规规则则”和和“变变更更控控制制规规则则”,并并且且定定期期备备份份了了配配置库,那么就可以认为配置管理符合既定的规范。置库,那么就可以认为配置管理符合既定的规范。配置审计配置审计n为什么要实施配置审核为什么要实施配置审核? ?确保软件
37、配置管理的有效性,不允许出现任何确保软件配置管理的有效性,不允许出现任何混乱现象。混乱现象。n如何实施配置审核如何实施配置审核? ?1.实施配置审核的时机实施配置审核的时机软件产品交付或是软件产品正式发行前软件开发的阶段工作结束之后在维护工作中,定期的进行2.2.实施配置审核的责任人实施配置审核的责任人 参与实施配置审核的审核人员包括:项目组人员和非项目组人员,例如其他项目的配置管理人员、软件组织的内部审核员以及软件组织的软件配置管理人员。本章要点一、一、软件项目配置管理基本概念软件项目配置管理基本概念q软件软件配置管理配置管理(Software Configuration Managemen
38、tSoftware Configuration Management )q配置项(配置项( SCI: Software Configuration ItemSCI: Software Configuration Item )q基线(基线(BaselineBaseline)二、软件项目配置管理过程二、软件项目配置管理过程q配置项标识配置项标识q变更管理变更管理q配置项审计配置项审计q配置项状态统计配置项状态统计三、软件项目配置管理计划三、软件项目配置管理计划四、配置管理工具四、配置管理工具五、案例分析五、案例分析配置状态报告配置状态报告n什么是配置状态报告什么是配置状态报告? ? 1.1.配配置
39、置状状态态报报告告(configuration status reporting)也也称称配配置置状状态态说说明明与与报报告告(configuration status accounting & reporting)。q任务任务:有效的记录和报告管理配置所需要的信息q目目的的:及时、准确的给出软件配置项的当前状况,供相关人员了解,以加强配置管理工作。 2.需要跟踪捕捉的状态报告信息可以是:需要跟踪捕捉的状态报告信息可以是:q配置项的当前标识配置项的当前标识q已交付软件的配置已交付软件的配置q变更请求或问题报告的状态变更请求或问题报告的状态q已获准变更的状态已获准变更的状态配置状态报告配置状态报
40、告n定期提交的配置状态报告的内容示例定期提交的配置状态报告的内容示例: :各份变更请求概要:变更请求号、日期、申请人、状态、估计工作量、实际工作量、发行版本、变更结束日期基线库状态:库标识、至某日预计库内配置项数、实际配置项数发行信息:发行版本、计划发行时间、实际发行时间、说明备份信息:备份日期、介质、备份存放位置配置管理工具状态配置管理培训状态本章要点一、一、软件项目配置管理基本概念软件项目配置管理基本概念q软件软件配置管理配置管理(Software Configuration ManagementSoftware Configuration Management )q配置项(配置项( SC
41、I: Software Configuration ItemSCI: Software Configuration Item )q基线(基线(BaselineBaseline)二、软件项目配置管理过程二、软件项目配置管理过程q配置项标识配置项标识q变更管理变更管理q配置项审计配置项审计q配置项状态统计配置项状态统计三、软件项目配置管理计划三、软件项目配置管理计划四、配置管理工具四、配置管理工具五、案例分析五、案例分析配置管理计划配置管理计划n软件配置管理计划就是确定软件配置管理的解决方案。在整个软件项目开发过程中作为配置管理活动的依据进行使用和维护。(详见:GB/T 12505-90)1.引言
42、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.记录的收集、维护和保存配置管理计划示例本章要点一、一、软件项目配置管理基本概念软件项目配置管理基本概念q软件软件配置管理配置管理(Software Configuration ManagementSoftware Configur
43、ation Management )q配置项(配置项( SCI: Software Configuration ItemSCI: Software Configuration Item )q基线(基线(BaselineBaseline)二、软件项目配置管理过程二、软件项目配置管理过程q配置项标识配置项标识q变更管理变更管理q配置项审计配置项审计q配置项状态统计配置项状态统计三、软件项目配置管理计划三、软件项目配置管理计划四、配置管理工具四、配置管理工具五、案例分析五、案例分析配置管理工具配置管理工具n1 Visual SourceSafe qVisual SourceSafe是是Microso
44、ft公司推出的配置公司推出的配置管理工具,是管理工具,是Visual Studio的套件之一。的套件之一。SourceSafe是国内最流行的配置管理工具,是国内最流行的配置管理工具,用户用户量绝对是第一位。量绝对是第一位。配置管理工具配置管理工具-VSS-VSS简单工作原理简单工作原理n将项目所有的源文件(包括各种文件类型)以特有的方式存入将项目所有的源文件(包括各种文件类型)以特有的方式存入数据库数据库;n客户端将程序拷贝到各自的工作目录下进行调试修改,然后进客户端将程序拷贝到各自的工作目录下进行调试修改,然后进行行Checkin到服务器,进行综合更新到服务器,进行综合更新;n支持多个项目之
45、间文件快速高效的共享支持多个项目之间文件快速高效的共享;n每个成员对项目文件所作的修改将被记录到数据库中每个成员对项目文件所作的修改将被记录到数据库中;nVSS可以很容易地与可以很容易地与Microsoft Access、 Visual Basic、 Visual C+、Visual FoxPro和其他的开发工具集成在一起和其他的开发工具集成在一起.n SourceSafeSourceSafe的的主要局限性主要局限性:1.1.只只能能在在WindowsWindows下下运运行行,不不能能在在Unix, Unix, LinuxLinux下下运运行行。SourceSafeSourceSafe不不支
46、支持持异异构构环环境境下下的的配配置置管管理理,对对用用户户而而言言是是个个麻麻烦烦事事。这这不不是是技技术术问问题题,是是微微软软公公司司产产品品战战略略决决定的。定的。2.2.适适合合于于局局域域网网内内的的用用户户群群,不不适适合合于于通通过过InternetInternet连连接接的的用用户户群群,因因为为SourceSafeSourceSafe是是通通过过“共共享享目目录录”方方式式存存储文件的。储文件的。 配置管理工具配置管理工具-VSS-VSS简单工作原理简单工作原理2 CVS CVS 是 Concurrent Version System(并行版本系统)的缩写,它是著名的开放源
47、代码的配置管理工具。配置管理工具配置管理工具-CVS-CVSn CVSCVS的官方网站是的官方网站是http:/http:/www.cvshome.orgwww.cvshome.org/ / n 官方提供的是官方提供的是CVSCVS服务器和命令行程序,但是官方服务器和命令行程序,但是官方并不提供交互式的客户端软件。并不提供交互式的客户端软件。n 许多软件机构根据许多软件机构根据CVSCVS官方提供的编程接口开发了官方提供的编程接口开发了各色各样的各色各样的CVSCVS客户端软件,最有名的当推客户端软件,最有名的当推WindowsWindows环环境的境的CVSCVS客户端软件客户端软件WinC
48、VSWinCVS。n WinCVSWinCVS是免费的,但是并不开放源代码是免费的,但是并不开放源代码。配置管理工具配置管理工具-CVS-CVSn与与SourceSafeSourceSafe相比,相比,CVSCVS的主要优点是:的主要优点是:1.1.SourceSafeSourceSafe有有的的功功能能CVSCVS全全都都有有,CVSCVS支支持持并并发发的的版版本本管管理理,SourceSafeSourceSafe没没有有并并发发功功能能。CVSCVS服服务务器器的的功功能能和性能都比和性能都比SourceSafeSourceSafe高出一筹。高出一筹。2.2.CVSCVS服服务务器器是是
49、用用JavaJava编编写写的的,可可以以在在任任何何操操作作系系统统和和网网络络环环境境下下运运行行。CVSCVS深深受受UnixUnix和和Linux Linux 的的用用户户喜喜爱爱。BorlandBorland公公司司的的JBuilderJBuilder提提供供了了CVSCVS的的插插件件,JavaJava程程序序员可以在员可以在JBuilderJBuilder集成环境中使用集成环境中使用CVSCVS进行版本控制。进行版本控制。3.3.CVSCVS服服务务器器有有自自己己专专用用的的数数据据库库,文文件件存存储储并并不不采采用用SourceSafeSourceSafe的的“共共享享目目
50、录录”方方式式,所所以以不不受受限限于于局局域域网,信息安全性很好。网,信息安全性很好。配置管理工具配置管理工具-CVS-CVSCVSCVS的主要缺点在于客户端软件,真可谓五的主要缺点在于客户端软件,真可谓五花八门、良莠不齐。花八门、良莠不齐。UnixUnix和和Linux Linux 的软件高手可以直接使用的软件高手可以直接使用CVSCVS命令行程序,而命令行程序,而WindowsWindows用户通常使用用户通常使用WinCVSWinCVS。安装和使用安装和使用WinCVSWinCVS显然比显然比SourceSafeSourceSafe麻烦不麻烦不少,这是令人比较遗憾的。少,这是令人比较遗
51、憾的。配置管理工具配置管理工具-CVS-CVS3 3 ClearCaseClearCaseRationalRational公司的公司的ClearCaseClearCase是软件行业公是软件行业公认的功能最强大、认的功能最强大、价格最昂贵价格最昂贵的配置管理的配置管理软件。软件。配置管理工具配置管理工具- -ClearCaseClearCaseClearCaseClearCase主主要要应应用用于于复复杂杂产产品品的的并并行行开开发发、发发布布和维护,其功能划分为四个范畴:和维护,其功能划分为四个范畴:版版 本本 控控 制制 、 工工 作作 空空 间间 管管 理理 ( Workspace Wor
52、kspace ManagementManagement)、构构造造管管理理(Build Build ManagementManagement)、过程控制(过程控制(Process ControlProcess Control)ClearCaseClearCase通过通过TCP/IPTCP/IP来连接客户端和服务器。来连接客户端和服务器。另另外外,ClearCaseClearCase拥拥有有的的浮浮动动LicenseLicense可可以以跨跨越越UNIXUNIX和和Windows NTWindows NT平台被共享。平台被共享。 配置管理工具配置管理工具- -ClearCaseClearCase
53、ClearCase的的功功能能比比CVS、SourceSafe强强大大得得多多,但但是是其其用用户户量量却却远远不不如如CVS、SourceSafe的的多多。主要原因是:主要原因是: 配置管理工具配置管理工具- -ClearCaseClearCasen ClearCaseClearCase价价格格昂昂贵贵,如如果果没没有有批批量量折折扣扣的的话话,每每个个LicenseLicense大大约约50005000美元。对于中国用户而言,这无疑是天价。美元。对于中国用户而言,这无疑是天价。 n用用户户只只有有经经过过几几天天的的培培训训后后(费费用用同同样样很很昂昂贵贵),才才能能正正常常使使用用ClearCaseClearCase。如果不参加培训的话,用户基本上不可能无师自通。如果不参加培训的话,用户基本上不可能无师自通。 作业作业: :1.1.什么是软件配置管理?有什么作用?什么是软件配置管理?有什么作用?2.2.概念解释:基线、配置项。概念解释:基线、配置项。3.3.简述软件配置管理的过程。简述软件配置管理的过程。4.4.如何实施基线变更管理?如何实施基线变更管理?