软件配置管理PPT_第1页
软件配置管理PPT_第2页
软件配置管理PPT_第3页
软件配置管理PPT_第4页
软件配置管理PPT_第5页
已阅读5页,还剩40页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、软件配置管理 SCM-Software Configuration Management -概念、方法与任务 主讲:郑人杰2001年8月,1,目 录,什么是配置管理 软件配置管理计划 软件配置标识 变更管理 版本管理和发行管理 配置审核 配置状态报告 软件配置管理工具 结论,参考:国家标准GB/T 12505-90计算机软件配置管理计划规范,2,配置(Configuration)一词在其它领域中已有广泛的应用,只不过称呼有所不同,但都有其确切的含义。如原子结构的形态和组态,控制系统的配置以及计算机系统的配置等等。许多领域也把配置称为技术状态。,1,什么是配置管理Configuration Ma

2、nagement,(1)几种说法,ISO9000-3的4.8中给出:配置管理是一个管理学 科,它对配置项(包括软件项)的开发和支持生 存期给予技术上和管理上的指导。配置管理的应 用取决于项目的规模、复杂程度的风险大小。,3,W.Babich认为,软件配置管理能协调软件开发,使 得混乱减少到最小。软件配置管理是一种标识、组 织和控制修改的技术,目的是最有效地提高生产率。,GB/T 11457:1995(软件工程术语)对配置管理的解释: A.标识和确定系统中配置项的过程,在系统整个生存 周期内控制这些项的投放和更动,记录并报告配置 的状态和更动要求,验证配置项的完整性和正确性。 B.对下列工作进行

3、技术和行政指导与监督的一套规范: 对一配置项的功能和物理特性进行标识和文件编 制工作; 控制这些特性的更动情况; 记录并报告对这些更动进行的处理和实现的状态。,4,(2)什么是软件配置项 (Software Configuration Item),含义:配置管理的对象,软件工程过程产生的所有 信息项。 包括:计算机可执行的源代码、目标码、数据库 计算机不可执行的文档、源程序清单、测试用例。 管理的产品(ISO9000-3的4.8),与合同、过程、计划和产品有关的文档和数据; 源代码、目标代码和可执行代码; 相关产品,包括:软件工具、包括库在内的可复 用软件、外购软件和用户提供的软件。,5,软件

4、配置:所有以上产品在不同时期,出于不同要 求的组合,该组合随着开发工作的进展而不断演化。 可以说,软件配置是指一个软件产品在软件生存期 各阶段的不同形式(机器可读或人工可读)和不同 版本的文档、程序及其数据的集合。该集合中的每 一个元素称为该软件产品软件配置中的一个配置项。 如它可以是针对不同的硬件环境及软件环境的组合。 例如,图1表示某一软件产品的初始系统展开出各种 版本。,配置标识(Configuration Identification) 配置标识包含了确定产品结构,选择配置项,将配 置项的物理特性和功能特性以及接口和随后的变更 形式文件,为配置项及相应文件分配标识符或编码 的活动。,6

5、,(3)软件配置管理的任务,制定配置管理计划 确定标识规则 实施变更控制 配置状态报告 配置审核 发行管理和版本管理,总之,软件配置管理是软件质量管理的一部分。它是对软件生存期过程中的各种阶级产品和最终产品演化或变更的管理。因此有人概括地说,软件配置管理是要解决软件地标识变更、控制变更和发布变更的问题。 表1给出了国际标准ISO/IEC软件生存期过程中规定的软件配置管理过程的活动和任务。,7,2,软件配置管理计划,原则上,软件配置管理计划是软件开发计划的一个组成部分。按国家标准GB/T 12505-90计算机软件配置管理计划规范的规定,软件配置管理计划应包括以下重要内容:,明确规定负责软件配置

6、管理的机构及其任务、职责 和有关接口的控制。 要开展的配置管理活动,涉及到:,配置标识 配置控制,即变更控制 配置状态的记录和报告 配置审核和评审,8,配置管理所采用的工具、技术和方法。 上述国家标准还附有软件配置管理计划的示例和配置管理报表及其格式。,9,表1 国际标准ISO/IEC 12207 (1995)信息技术软件生存周期过程中规定的软件配置管理过程,10,11,3,软件配置标识,(1)确定配置项,大型软件项目在其开发过程中可能产生数十各,上百个,甚至上千个文档,其中有技术性的,也会有不少管理性的。技术性文档是在不断地变更着,依它们又是下个阶段工作的依据。管理性的如计划书、建议书、会议

7、录、备忘录等等,也是需要认真保管好的,但需要加以区分,例如项目计划、需求规格说明、设计规格说明、源程序、测试数据等更为重要,被称为正式文档。确定配置项就是要从中做出选择,决定哪些是受控的,称之为配置项。图2给出了一个软件配置的层次图,表2则列出了R.S.Pressman 推荐的软件配置项清单。,12,(2)制定命名规则,配置标识的一项重要工作就是为配置项命名。合理的命名将有利于管理,使之不致造成混乱。命名的要求是唯一性(不允许多个配置项命名)和可追溯性(即命名能够反映各配置项之间的相互关系,可追溯到相关的配置项)。,(2)树状(层次式)命名规则,例:图3表明一个树状命名为了表明树结构中的叶结点

8、CODE,需以根结点起,逐层连贯,直至该叶结点:PCL_TOOLS/EDIT/FORMS/DISPLAY/AST_INTERFACE/CODE 显然,这一命名方法是唯一,可追溯的,但在层次较多时,显得不够简洁。,13,表2 软件配置项清单,14,From:Roger S.PressmanSoftware Engineering APractitioners ApproachFourth Edition, McGraw-Hill,15,16,4,变更管理,(1)配置数据库,作用: a. 用于记录与配置相关的所有信息 b. 评价系统变更的后果 c. 提供配置管理过程的管理信息,17,三类库 开发库

9、(Development Library),专供开发人员使用,其中的信息会频繁修改,对其控制相当宽松。,受控库(Controlled Library),在生存期某一阶段的工作结束时,存放阶段产品而释放的、与软件开发工作有关的计算机可读信息和人工可读信息。 软件配置管理就是对受控库中的各个软件项进行管理,也称软件配置管理库。,产品库(Product Library),在被开发的软件产品完成系统测试后,作为最终产品存放,等待交付用户运行或现场安装。,18,典型的数据库查询问题,哪些客户已提取了某个特定的系统版本? 运行一个给定的系统版本需要什么硬件和操作系统? 一个系统已生成了多少个版本,何时生成

10、的? 若某个特定的组件变更了,会影响到系统的哪些版本? 一个特定的版本有哪几个变更请求是最为重要的? 一个特定的版本有多少已报告的错误?,19,(2)基线与变更控制,开发过程中的变更不可能完全避免,变更的来源:变更如果来自用户,即开发过程中用户提出变更要求,这应该由CMM的2级KPA:需求管理加以解决。变更如果来自开发一方,如开发人员要修改以前已确定的技术方案或设计细部;或者是管理人员要修改以前已确定的项目方案,就应由变更控制加以解决。 变更的原因:随着开发工作的进展,人们掌握了更多的信息,或是对问题和方案有了更为深刻的认识,通常提出的变更有其理由,如经由控制的采纳,可能会使项目的开发趋于合理

11、。,20,c) 变更管理的任务:,分析变更: 研究变更的重要性以及经济可行性(成本-效益)和技术可行性. 记录及追踪变更 保证变更在受控状态下进行,21,基线(baseline),基线是软件生存期各开发阶段末尾的特定点,也称为里程碑(milestone)。在这些特定点上阶段工作已经结束,并已经取得的正式的阶段产品。建立基线的概念是为了把各开发阶段的工作划分的更加明确,使连续的开发工作在这些点上断开,使之利于检验和肯定阶段成果。对于变更控制来说,原则上规定,不允许跨越里程碑运河修改另一阶段的成果,认为该成果已告“冻结”。,图4给出了软件开发各阶段的配置基线,箭头指向各阶段得到的工作产品。,22,

12、计划,需求分析,设计,编码,测试,计划基线,需求基线,设计基线,编码基线,测试基线,项目开发计划,需求规格 说明 用户手册,设计规格说明,程序清单,测试报告,图4 软件配置基线,23,为实施配置管理通常使用以下三种基线: 功能基线最初通过的功能配置:功能基线是指在系统分析和软件定义阶段结束时,经过正式评审和批准的系统设计规格说明中对被开发软件系统的规格说明;或者是指经过项目委托单位和项目承办双方签字同意的协议书或合同中所规定的对被开发软件系统的规格说明;或是指由下级申请及上级同意或直接由上级下达的项目任务书中所规定的对待开发软件系统的规格说明。 分配基线分配基线是指在软件需求分析阶段结束时,经

13、正式评审和批准的软件需求规格说明。,24,产品基线产品基线是指在软件组装与系统测试阶段结束时,经正式评审和批准的有关所开发的软件产品的全部配置项的规格说明。,(3) 变更控制,变更请求:提出变更请求表(Change Request Form),25,表3 变更控制表,项目名- 变更请求人- 日期- 编号- 要求的变更描述- 变更分析员- 分析日期- 受影响模块- 变更评估- 变更优先性- 变更实现- 估计工作量- CCB收到日期- CCB决定日期- CCB决定- 变更实施负责人- 变更日期- 递交QA日期- QA决定- 递交CM日期-,表中:CCB是变更控制委员会(Change Control

14、 Board) QA是质量保证组(Quality Assurance) CM是配置管理组(Configuration Management),26,变更管理过程按表4进行,记录变更 a)将CRF作为配置项在数据库中登录 b)在变更了的模块代码上作变更记录,以反应变更的 实际情况,如表5所示。,27,表4 变更控制过程,提交变更请求表CRF 分析变更请求 如果 变更能成立 则 估计变更如何实现 估算变更成本 将CRF送交CCB 如果 变更获准 则 重复 实施变更 记录变更 将变更的软件提交QA审查 直到 软件质量达到要求 由CM人员生成系统的新版本 否则 拒绝变更请求 否则 拒绝变更请求,28,

15、表5 变更记录示例,/PROTEUS Project (ESPRIT) /PCL_TOOLS/EDIT/FORMS/DISPLAY/AST_INTERFACE /Object: PCL_TOOL_DESC /作者:陈* /开发日期:1997.06.20 /版权归属:清华同方软件与系统集成公司 /变更记录 / 变更 变更负责人 日期 变更概要 变更理由 / 1.0 王* 98.1 * * / 1.1 李* 98.8 * *,29,5,版本管理和发行管理,(1) 版本管理是对系统不同版本进行标识和跟踪的过程。,版本标识的目的是便于对版本进行检索和跟踪,显 示各版本的关系。 一个版本是软件系统的一个

16、实例,在功能和性能上 与其他版本有所差别,或是修正了前一版本的不足。 有些版本在功能上等价,但分别适用于不同的硬件 配置。,30,如果两个版本只有少量的差异,则互相称为变体 (Variant),例:某软件的一个版本由5个组件构成,其中:组件4适用于彩色显示器组件5适用于单色显示器则它的两个版本,或称两个变体是Version 1: 组件1,2,3,4Version 2: 组件1,2,3,5,1,2,3,4,5,图5 变体示例,版本管理可用软件工具支持,例如: RCS,SCCS,PVCS Version Manager,31,(2) 系统发行是分配给客户的一个版本,每次系统发行 都应有新的功能或是

17、针对不同的硬件平台。,通常软件系统的版本数要比发行次数多,因为有的 版本并未发行,例如,有的版本仅供公司内部使用 或专供测试等。 一次发行不仅是一个可执行程序,它还应包括:,* 配置文件:规定发行应作的特定安装* 数据文件:系统运行所需的数据* 安装程序:系统如何安装到目标机上* 电子文档或书面文档:对系统的描述,32,(3) 版本标识版本的命名规则,号码版本标识 a) 线型,1.0,1.1,1.0,图6 号码版本标识,b) 系统发行一般提供的是基础版,即1.0, 2.0 3.0等,33,问题: 不易区分新版本和新发行 若前一版本声出了多个新版本,怎么编号 实际情况并非线型的,如图7所示,V1

18、.0,V1.1,V1.1a,V1.1b,V1.2,V1.1.,V2.0,V2.1,V2.2,图7 非线型版本顺序,34,符号命名版本标识,* 不用V1.1.2形式,而用V1/VMS/DB Server表示一个 在VMS操作系统上运行的数据库服务器版本* 优点示能够反映出版本的特性,比线型命名好,但 仍不能完全反映导出的真实情况,属性版本标识,版本标识中反映的属性有: 客户、开发语言、开发状态、硬件平台、生成日期* 每个版本都由唯一的一组属性标识,即一组唯一的 属性值* 好处:容易加入新版本 版本间关系容易保持 易于检索,如问:“最近生成的版本”、“在两 个指定日期间生成的版本”。,35,(4)

19、 发行管理,新版本与新发行 新版本:修改报告出的软件缺陷,开发新的代码, 构成新系统。 新发行:除开发新代码,构成新系统外,还要为客 户准备数据、配置文件、写新文档、作包 装。比新版本开销大。,三种维护工作后,配置管理人员都要分析变更影响 的组件,确定何时生成新系统,何时作系统发行。,36,通常系统改动越多,可能引入的错误越多,这就必 须在下次发行时解决。为把出现问题的机会分散开, 往往把修补性变更后的发行与系统变更功能的发行 交叉起来,如图8所示,增强性发行,增强性发行,增强性发行,增强性发行,增强性发行,图8 交叉的发行示例,37,6,配置审核(Configuration Audit),(

20、1) 什么是配置审核,尽管已对软件配置项作了标识,实施了变更控制和版本控制,就不会发生混乱了吗?软件开发的实践表明,仍然会出问题。为解决这些问题,通常采用两个方法,即 正式技术评审:对所用的变更逐一检查一致性、遗 漏、副作用。软件配置审核:作为评审的补充。,38,(2) 配置审核提出的问题,已确定的变更完成了吗?有没有做任意附加的修改?是否进行了正式的技术评审,以便评估技术的正确 性?是否遵循了软件工程标准?所作的变更是否遵循了软件配置管理规程?任一变更可能涉及到其他软件配置项,是否也相应 作了变更? 这些问题也可能在评审时提到,但若将配置管理作为一项正式活动,配置审核应由质量保证组(QA)单独进行。,39,7,配置状态报告(Configuration Status Reporting),(1) 什么是配置状态报告,配置状态报告(也称Status Accounting)的目的时及时、准确地给出软件配置项的当前

温馨提示

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

评论

0/150

提交评论