《【大学课件】软件配置管理》由会员分享,可在线阅读,更多相关《【大学课件】软件配置管理(51页珍藏版)》请在金锄头文库上搜索。
1、软件配置管理1http:/ 不同用户有自己的工作环境4软件配置管理讲座ABCGDHEABFCDE用户1用户2图2面对不同用户产品的配置5软件配置管理讲座AFBDGCHE用户1用户2ABCDEFABCDEGH 产品1 产品2 图3 两个产品具有不同的配置用户1: A、B、C、D、E和F用户2: A、B、C、D、E和G、H6软件配置管理讲座(二)软件配置管理1、什么是软件配置管理(1)ISO 9000-3 :1997 配置管理是一个管理学科,它对配置项(包括软件项)的开发和支持生存期给与技术上的和管理上的指导。配置管理的应用取决于项目的规模、复杂程度和风险大小。(2) W.Babich 的解释 软
2、件配置管理能协调软件开发,使混乱减少到最小。软件配置管理是一种标识、组织和控制修改的技术,目的是最有效的提高生产率。(3) GB/T 11457 :1995软件工程术语国家标准 A.表示和确定系统中配置项的过程,在系统整个生存期内控制这些配置项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。 B.对下列工作进行技术和行动指导与监督的一套规范: 对配置项的功能特性和物理特性进行标识和文件编制工作; 控制这些特性的更动情况; 记录并报告这些更动进行的处理和实现的状态。7软件配置管理讲座2、软件配置管理的任务制定软件配置管理计划确定配置标识规则实施变更控制报告配置状态进行配
3、置审核进行版本管理和发行管理 8软件配置管理讲座表2ISO/IEC 12207: 1995信息技术软件生存周期过程关于软件配置管理过程的规定活活动动任任务务解解释释1实施过程开发配置管理计划计划描述:配置活动、这些活动的规程、进度、配置管理组织及与其他组织的关系计划应形成文件2配置标识制定标识规则以控制软件项及其版本标识内容包括:基线文档、版本基准号、其他3配置控制标志并记录变更申请分析与评价变更批准(或不期准)申请实现、验证和发行已变更的软件项审核跟踪变更控制并审核受控软件项跟踪变更原因、变更授权以保证重要功能的安全或保密4配置状态报告编制管理记录和状态报告表明受控项(包括基线)的状态和历史
4、状态报告应包括变更号、最新版本、发行标识、版本号及各种版本比较5配置评价确定和保证软件项的功能完整性、物理完整性6发行管理和交付有效控制软件产品和文档的发行和交付在产品的生存期内保存代码、文挡的主拷贝包括重要的安全或保密功能的代码和文档应按组织的方针处理、储存、包装和交付9软件配置管理讲座3、软件配置管理与软件开发过程两类不同的变更:开发阶段内部发生的变更:开发过程解决不了的变更:变更的评估和批准以及变更实施都要由软件配置管理人员去做。开发过程应纳入配置管理过程的控制之下。配置管理阶段1阶段2阶段n开发过程图4配置管理与开发过程10软件配置管理讲座(三)软件配置管理的意义1、软件项目的特点(1
5、)不可见的逻辑实体(2)软件项目的规模日益庞大和复杂(3)参与软件项目的人员增加,人员间的沟通渠道数量按指数倍增。(4)产品非常容易拷贝(5)时时处在演化和变更状态。这包括:技术业务环境不同用户各有不同的需求需求变更(6)开发人员的离去有较大的影响11软件配置管理讲座2、忽视软件配置管理可能导致的混乱现象发错了版本安装后不工作异地不能正常工作已经解决的缺陷过后又出现错误开发人员把产品拿出去出售赢利找不到最新修改了的源程序找不到编程序的人12软件配置管理讲座二、软件配置管理计划配置管理计划标准IEEE 828-19901引言配置管理计划的目的、适应范围、使用要求项目概述项目中需特别关注的配置管理
6、问题和风险软件配置管理严格性要求的等级限制和假设术语参考文件13软件配置管理讲座2、软件配置管理配置管理的组织结构职责和权限指令和方针参照的规程(组织的规程或客户的规程)遵循的标准3、软件配置管理活动配置管理活动变更管理和配置控制配置状态说明配置审核接口和子合同方控制14软件配置管理讲座4、软件配置管理进度安排软件配置管理重要事件的顺序软件配置管理各项活动间的依赖关系5、软件配置管理所需的资源采用的工具使用的设备所需的培训对其他人员的要求6、软件配置管理计划的维护维护的职责计划更新的条件和审批计划变更的交流和通报15软件配置管理讲座三、软件配置标识(一)确定配置项1、系统规格说明2、软件项目计
7、划3、软件需求规格说明书a.图形分析模型b.处理规格说明c.原型d.数学规格说明4初步用户手册5设计规格说明书a.数据设计描述b.体系结构设计描述c.模块设计描述d.接口设计描述e.对象描述(采用面向对象技术时)6源代码清单7、测试规格说明a.测试计划和步骤b.测试用例和记录的结果8、操作和安装手册9、可执行程序a.模块可执行代码b.连接的模块10、数据库描述a.模式和文件结构b.初始内容11、联机用户手册12、维护文档a.软件问题报告b.维护请求c.工程变更指令13.软件工程标准和规程16软件配置管理讲座图5软件配置项17软件配置管理讲座(二)配置项命名及其相关信息1、配置项命名。命名的基本
8、要求:唯一性;可追溯性。例:CODE是根结点为PCL_TOOLS树结构的第六层结点,对其命名为:PCL_TOOLS/EDIT/FORMS/DISPLAY/AST_INTERFACE/CODE18软件配置管理讲座2、配置项的相关标识信息 每一配置项的有关信息:组名项名项标识(文件名或命名规则)版本编号规则什么情况下纳入控制之下,或版本号所遵循的变更控制规程19软件配置管理讲座四、变更管理(一)软件变更1、软件变更的不可避免性2、软价变更的复杂性软件配置项数量大版本多变更的迁延性人员沟通协调3、变更管理的任务分析变更记录和追踪变更采取措施保证变更在受控状态下进行20软件配置管理讲座(二)配置库1、
9、配置库的作用记录与配置相关的所有信息利用库中的信息可评价变更的后果可利用库中的信息查询,例如:那些客户已提取了某个特定的系统版本?运行一个给定的系统版本需要什么硬件和系统的哪些版本?一个系统到目前已生成了多少版本,何时生成的?如果某一特定的构件变更了,会影响到系统的那些版本?一个特定的版本曾提出过那几个变更请求?一个特定的版本有多少已报告的错误?21软件配置管理讲座2、三类库 (1)开发库: 存放开发过程中需要保留的各种信息,供开发人员个人专用。(2)受控库: 在软件开发的某个阶段工作结束时,将工作产品存入或将有关的信息存入。(3)产品库: 在开发的软件产品完成系统测试之后,作为最终产品存入库
10、内,等待交付用户或现场安装。22软件配置管理讲座(三)配置基线基线是软件生存期各开发阶段末尾的特定点,也称为里程碑。23软件配置管理讲座2、三种常见基线 功能基线 在系统分析和软件定义阶段结束时,经过正是评审和批准的系统设计规格说明中对被开发软件系统的规格说明;经过项目委托单位和项目承办单位双方签字同意的协议书或合同中所规定的对被开发软件系统的规格说明;由下级申请及上级同意或直接由上级下达的项目任务书中所规定的对待开发软件系统的规格说明。分配基线 在软件需求分析阶段结束时,经正式评审和批准的软件需求规格说明。产品基线 在软件组装与系统测试阶段技术时,经正式评审和批准的有关所开发的软件产品的全部
11、配置项的规格说明。24软件配置管理讲座25软件配置管理讲座3、基线与配置项4、典型的配置项和基线库内容初始库:包括项目开始时可供利用的配置项已有的源代码(如可以利用且需要)已有的软件文档(如可以利用且有需要)已有的测试计划和测试数据(如可利用且有需要)合同或建议书环境配置项:包括对稳定的开发环境或维护环境所必需的配置项编译器、操作系统、编辑程序、实用程序、RDBMS团组所用的工具(项目管理工具,进展表,测试工具,缺陷追踪等)第三方库文档工具(字处理器、电子表格等)26软件配置管理讲座定义库:在需求规格说明工作结束时生成的需求规格说明项目计划设计标准与设计准则验收测试计划设计库:在设计工作结束时
12、所产生的系统设计说明书程序规格说明数据库设计编码标准、用户接口标准、测试标准系统测试计划用户手册27软件配置管理讲座构 造 库 : 在 编 码 和 段 单 元 测 试 结 束 时 生 成的源代码标代码 单元测试数据测试库:系统测试完成后生成的系统测试数据运行手册和安装手册维护库:验收测试、安装和培训等之后将有变更的所有配置项28软件配置管理讲座(四)变更控制1、变更控制组变更控制组(ChangeControlBoard)也称为配置控制组(ConfigurationControlBoard),是配置项变更的监管组织。其任务是对建议的配置项变更做出评价、审批以及监督已批准的变更的实施。29软件配置
13、管理讲座2、变更请求与变更控制(1)利用配置库实现变更控制软件配置项通过评审作为基线,将准许进入配置库(实施检入Check-in),开始“冻结”。由于多种原因需要变更就需要提出“变更请求”。在得到批准的情况下,允许配置项从库中检出(Check-out)30软件配置管理讲座(2)变更请求的主要内容变更描述对变更的审批有关变更实施的一些信息表5 变更请求表CRF31软件配置管理讲座(3)变更控制过程表632软件配置管理讲座(4)故障报告故障报告包含的内容有:FR ID(故障报告标识)故障信息故障描述故障严重程度怀疑有问题的部位故障的影响故障现象和环境信息估计的故障原因故障信息提供者评估意见批准或拒
14、绝 优先性说明故障修复信息要变更的部分说明33软件配置管理讲座3、变更记录变更记录置于模块首部的实例。/ PROTEUS Projet( ESPRIT 6087)/ PCL_TOOLS/EDIT/FORMS/DISPLAY/INTERFACE/ Object: PCL_TOOL_DESC/作者:陈*/开发日期:2000.12.8/版权归属:ASDC/变更记录/版号变更负责人 日期 变更概要 变更理由/1.0王* 2001.4 * */1.1李* 2001.9 * *表7代码变更记录实例34软件配置管理讲座五、版本管理1、软件版本:包含两种不同含义(1)为满足不同用户的不同使用要求,如适用于不同
15、运行环境或不同平台的系列产品。(2)软件产品投入使用以后,经过一段时间运行提出了变更的要求,需要做较大的修正或纠错,增强功能或提高性能。2、版本标识版本管理也称版本控制。版本标识方法:(1)号码版本标识(2)符号版本标识:把重要的版本属性有选择地给出。如:V1/VMS/DBServer3、版本管理工具V1.0V1.1V1.1aV1.1bV1.1.1V1.2V2.0V2.1V2.235软件配置管理讲座(一)什么是配置审核它是指对于存储配置项及相关记录的软件基线库的结构、内容和设施进行检验,其目的在于验证基线是否符合描述基线的文档。验证包括:包括:配置项的处理是否有背离初始的规格说明或已批准的变更
16、请求的现象;配置标识的准则是否得到了遵循;变更控制规程是否以遵循,变更记录是否可供使用是否保持了可追溯性。配置配置审核核工作主要集中在两个方面,即:功能配置审核验证配置项的实际功效是与其软件需求一致的。物理配置审核确定配置项符合预期的物理特性,即特定的媒体形式。六、配置审核36软件配置管理讲座(二)为什么要实施配置审核确保软件配置管理的有效性,不允许出现任何混乱现象。例如:防止出现向用户提交了不适合的产品,如交付了用户手册不适当的版本;发现不完善的实现,如开发出不符合初始规格说明或未按变更请求实施变更;找出各配置项间不匹配或不相容的现象;确认配置项已在所要求质量控制审查之后作为基线入库保存;确
17、认记录和文档保持着可追溯性。37软件配置管理讲座(三)如何实施配置审核1、实施配置审核的时机软件产品交付或是软件产品正式发行前软件开发的阶段工作结束之后在维护工作中,定期的进行2、实施配置审核的责任人 参与实施配置审核的审核人员包括:项目组人员和非项目组人员,例如其他项目的配置管理人员、软件组织的内部审核员以及软件组织的软件配置管理人员。38软件配置管理讲座 3、配置审核工作的开展 (1)由项目经理决定何时进行配置审核工作 (2)质量保证组或软件组的配置管理组指定该项目的配置审核 人员 (3)项目经理和配置审核员决定审核范围。 (4)配置审核员准备配置审核检查单 (5)配置审核员安排时间审核文
18、档和记录,审核活动可能涉及 到: 项目范围 配置项的检入(check-in)及检出(check_out) 评审记录 配置项的变更历史 测试记录 文件的命名 变更请求 版本的编号 (6)配置审核远在审核中发现不符合现象,并作记录。 (7)由项目经理负责消除不符合现象。 (8)配置审核员验证所有发现的不符合现象确已得到解决。39软件配置管理讲座七、配置状态报告(一)什么是配置状态报告 1、 配 置 状 态 报 告 ( configuration status reporting)也称配置状态说明与报告(configuration status accounting & reporting)。任务:
19、有效的记录和报告管理配置所需要的信息目的:及时、准确的给出软件配置项的当前状况,供相关人员 了解,以加强配置管理工作。 2、需要跟踪捕捉的状态报告信息可以是:配置项的当前标识已交付软件的配置变更请求或问题报告的状态已获准变更的状态40软件配置管理讲座(二)配置状态报告信息1、状态说明的实体关系41软件配置管理讲座2、状态说明数据词典配置项库(repository)库名库标识所有者范围/描述配置项(configuration item)库标识项标识项名描述项类型(源代码、测试计划等)配置项版本(configuration item version)库标识项标识版本号入库日期、时间与前版差异描述锁
20、定状态42软件配置管理讲座检出与检入(check-out & check-in)库标识项标识出库版本号出库负责人出库日期及时间实施的变更请求号变更描述入库版本号入库负责人入库日期及时间43软件配置管理讲座变更更请求求 (change request)(change request)变更请求号 软件版本号申申请 *申请人 *申请日期 *变更部位 *变更优先性 *变更概述 *变更预期效果 *附件分析与审批分析与审批 *受影响工作项 *估计工作量投入 *成本 *其他影响 *假设 *效果 *分析日期 *分析人 *是否批准 *理由 *审批日期 *批准人 *发行版本 实施状态实施状态 *受影响的每一个工作
21、项 库标识 项标识 变更描述 出库版本 出库日期及时间 变更工作量 验证工作量 入库版本 入库日期及时间 *说明 *变更结束日期及时间 *变更结束负责人44软件配置管理讲座发行(release)发行版本发行日期目的创建时间发行配置项及版本号库标识项标识项名称概述项类型(源代码 、测试计划等)版本号 45软件配置管理讲座备份备份号备份日期备份人目的介质备份配置项库标识项标识备份配置项版本库标识项标识版本号46软件配置管理讲座 3、定期提交的配置状态报告的内容示例各份变更请求概要:变更请求号、日期、申请人、状态、估计工作量、实际工作量、发行版本、变更结束日期基线库状态:库标识、至某日预计库内配置项
22、数、实际配置项数发行信息:发行版本、计划发行时间、实际发行时间、说明备份信息:备份日期、介质、备份存放位置配置管理工具状态配置管理培训状态47软件配置管理讲座八、软件配置管理工具(一)手工方法实施软件配置管理存在的问题1、由于认识和理解的局限性,缺乏远见和坚定性2、规程过于繁琐3、可能出现人为的失误4、个别人可能持逆反心理5、必须作充分培训6、对人员的依赖性较大48软件配置管理讲座(二)采用工具支持配置管理的自动方法采用工具可能有如下的好处减少了人为因素节省人工实施配置管理所花费的时间发生配置问题的机会较少程序人员可集中精力在自己的工作中,不必担心配置问题49软件配置管理讲座(三)采用配置管理工具的经济考虑购置工具软件的成本培训成本改变工作方式的代价两条建议首先采用手工方法更为直观,积累经验,提高认识采购配置管理工具时应慎重选择50软件配置管理讲座谢谢大家!51http:/