版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安交通大学 刘海岩1l软件配置管理的概念软件配置管理的概念l软件配置项及基线软件配置项及基线l软件配置管理过程软件配置管理过程西安交通大学 刘海岩2 软件配置管理(软件配置管理(Software Configuration Management,SCM)是应用于整个软件过程)是应用于整个软件过程中的庇护性活动。软件配置是一个软件产品在中的庇护性活动。软件配置是一个软件产品在生存期各个阶段的不同形式和不同版本的程序、生存期各个阶段的不同形式和不同版本的程序、文档及相关数据的集合。文档及相关数据的集合。 软件开发过程中,会得到许多工作产品或软件开发过程中,会得到许多工作产品或阶段产品,还会用到许
2、多工具软件,所有这些阶段产品,还会用到许多工具软件,所有这些信息都需要管理,以便在提出某些特定的要求信息都需要管理,以便在提出某些特定的要求时,能将其进行约定的组合来满足使用的目的。时,能将其进行约定的组合来满足使用的目的。 (见下图)(见下图)西安交通大学 刘海岩3两个产品具有不同的配置两个产品具有不同的配置 西安交通大学 刘海岩4 软件开发属于变化驱动的过程。软件时时软件开发属于变化驱动的过程。软件时时处于演化变更状态。技术的快速发展、业务环处于演化变更状态。技术的快速发展、业务环境的不断改变、不同用户的不同需求、需求在境的不断改变、不同用户的不同需求、需求在开发中的频繁变更、开发人员对阶
3、段产品的改开发中的频繁变更、开发人员对阶段产品的改变等等,都会对产品的最后质量造成影响。变等等,都会对产品的最后质量造成影响。 SCM是是对软件生存期过程中的对软件生存期过程中的各阶段产各阶段产品和最终产品演化和变更的管理品和最终产品演化和变更的管理,是,是CMM第第二级中的关键过程域。它的主要目的是对变更二级中的关键过程域。它的主要目的是对变更加以控制,将变更对成本、进度和质量影响降加以控制,将变更对成本、进度和质量影响降到最小。到最小。 西安交通大学 刘海岩51、软件配置项、软件配置项 程序、文档、数据这些软件配置中的每一程序、文档、数据这些软件配置中的每一个成员称为软件配置项(个成员称为
4、软件配置项(SCI),是软件配置),是软件配置的基本单位。大中型软件项目在开发中会产生的基本单位。大中型软件项目在开发中会产生几十个、上百个文档或数据信息,这些信息每几十个、上百个文档或数据信息,这些信息每个阶段都在演化,后期版本是对前期的修改及个阶段都在演化,后期版本是对前期的修改及扩展。另外,在软件开发中还使用很多开发工扩展。另外,在软件开发中还使用很多开发工具。这些所有的软件配置都应该被组织成配置具。这些所有的软件配置都应该被组织成配置对象,有自己的名字并被归类到项目数据库中,对象,有自己的名字并被归类到项目数据库中,以适应开发和维护中变更管理的需要。以适应开发和维护中变更管理的需要。西
5、安交通大学 刘海岩62、基线、基线 基线是软件开发各个阶段不能轻易改变的底线,它基线是软件开发各个阶段不能轻易改变的底线,它的作用用于控制变更。的作用用于控制变更。IEEE对对基线的定义基线的定义如下:如下: 已经通过正式评审和批准的规约或产品,可以作为已经通过正式评审和批准的规约或产品,可以作为进一步开发的基础,并且只能通过正式的变更控制规程进一步开发的基础,并且只能通过正式的变更控制规程才能改变。才能改变。 因此,在软件配置项作为基线前,变更可以按照非因此,在软件配置项作为基线前,变更可以按照非正式的过程进行。对于已成为基线的正式的过程进行。对于已成为基线的SCI,虽然可以修,虽然可以修改
6、,但必按照正式的规程进行评估、确认每一个变更,改,但必按照正式的规程进行评估、确认每一个变更,才能进行修改。如需求分析、设计等规格说明书,一旦才能进行修改。如需求分析、设计等规格说明书,一旦通过正式评审就成为基线。通过正式评审就成为基线。 建立基线的概念是为了把各开发阶段的工作划分得建立基线的概念是为了把各开发阶段的工作划分得更加明确,这样有利于检验和肯定阶段工作的成果。同更加明确,这样有利于检验和肯定阶段工作的成果。同时也有利于变更控制。有了基线的规定后,就可以禁止时也有利于变更控制。有了基线的规定后,就可以禁止开发人员随便修改一个开发人员随便修改一个“已冻结已冻结”的工作成果。的工作成果。
7、 西安交通大学 刘海岩7SCM的基本任务的基本任务: 制定制定SCM计划计划 配置项标识配置项标识 版本控制版本控制 变更控制变更控制 配置审核和报告配置审核和报告西安交通大学 刘海岩81、软件配置项标识、软件配置项标识 (1)确定配置项()确定配置项(SCI) 确定哪些数据、文档需要被保存、被管理。确定哪些数据、文档需要被保存、被管理。 (2)配置项标识)配置项标识 唯一性:在一个项目内不能出现重名,唯一性:在一个项目内不能出现重名, 可追溯性:名字能体现相邻配置项之间的关可追溯性:名字能体现相邻配置项之间的关系,如采用层次式命令规则反映树状结构,便于系,如采用层次式命令规则反映树状结构,便
8、于查询。查询。西安交通大学 刘海岩92、版本控制、版本控制 版本控制结合了规程和工具来管理在软件版本控制结合了规程和工具来管理在软件工程过程中所创建的配置对象的不同版本。配工程过程中所创建的配置对象的不同版本。配置管理使得用户能够通过对适当版本的选择来置管理使得用户能够通过对适当版本的选择来指定可选的软件系统的配置。实现的方法是通指定可选的软件系统的配置。实现的方法是通过将属性(版本号和特征表)关联到每个软件过将属性(版本号和特征表)关联到每个软件版本,然后通过描述一组所期望的属性来指定版本,然后通过描述一组所期望的属性来指定(或构造)配置。(或构造)配置。 软件的每个版本都是一组软件的每个版
9、本都是一组SCI实体的集合,实体的集合,并且每个版本都可能由多种不同的变体并且每个版本都可能由多种不同的变体(variant)组成。)组成。 (见(见ppt第第3页)页)西安交通大学 刘海岩10 为了构造某程序给定版本的适当变体,为为了构造某程序给定版本的适当变体,为每个实体赋予一个特征表每个实体赋予一个特征表属性元素组,它属性元素组,它定义了当构造某软件版本的特定变体时是否被定义了当构造某软件版本的特定变体时是否被使用。同样对每个变体也赋予一个或多个属性,使用。同样对每个变体也赋予一个或多个属性,定义它属于哪个版本,由哪些定义它属于哪个版本,由哪些SCI实体构成。实体构成。 SCI与实体、变
10、体、版本之间的关系可以表示与实体、变体、版本之间的关系可以表示为一个三维空间(教材为一个三维空间(教材P160图图10-2)。)。 西安交通大学 刘海岩113、变更控制、变更控制 (1)软件变更)软件变更 软件变更的不可避免性:变更来源于用户软件变更的不可避免性:变更来源于用户 或开发人员或开发人员; 变更的复杂性:涉及一些相关部件和文档,变更的复杂性:涉及一些相关部件和文档, 需要将某些变更通知相关人员。需要将某些变更通知相关人员。 (2)变更管理的任务)变更管理的任务 分析变更:研究变更的必要性、经济可行分析变更:研究变更的必要性、经济可行性性 (成本效益比,是否合理)和技术可行性(成本效
11、益比,是否合理)和技术可行性 (能否实现)。(能否实现)。 记录和追踪变更。记录和追踪变更。 采取措施保证变更在受控状态下进行。采取措施保证变更在受控状态下进行。 (3)建立配置项库)建立配置项库西安交通大学 刘海岩12 配置项库的作用配置项库的作用 记录与配置相关的所有信息,其中很重要的内容记录与配置相关的所有信息,其中很重要的内容是存放受控的软件配置项。是存放受控的软件配置项。 利用库中的信息评价变更的后果,对变更控制有利用库中的信息评价变更的后果,对变更控制有重要的意义。重要的意义。 从库中提取各种配置管理过程的管理信息,可利从库中提取各种配置管理过程的管理信息,可利用库中的信息查询回答
12、许多配置管理问题,例如:用库中的信息查询回答许多配置管理问题,例如: 哪些客户已提取了某个特定的系统版本?哪些客户已提取了某个特定的系统版本? 运行一个给定的系统版本需要什么硬件和系统软件?运行一个给定的系统版本需要什么硬件和系统软件? 一个系统到目前已生成了多少个版本,何时生成的?一个系统到目前已生成了多少个版本,何时生成的? 如果某一特定的构件变更了,会影响到系统的哪些如果某一特定的构件变更了,会影响到系统的哪些版本?版本? 一个特定的版本曾提出过哪几个变更请求?一个特定的版本曾提出过哪几个变更请求? 一个特定的版本有多少已报告的错误?一个特定的版本有多少已报告的错误?西安交通大学 刘海岩
13、13 配置项库的类别配置项库的类别 开发库开发库: 存放开发过程中需要保留的各种信息,供开发人员存放开发过程中需要保留的各种信息,供开发人员个人使用,库中的信息无需对其做任何限制,可以有较个人使用,库中的信息无需对其做任何限制,可以有较为频繁的修改。为频繁的修改。 受控库受控库: 在软件开发的某个阶段工作结束时,将工作产品或在软件开发的某个阶段工作结束时,将工作产品或有关信息存入,应该对库内的信息的读写和修改加以控有关信息存入,应该对库内的信息的读写和修改加以控制。制。 产品库产品库: 所开发的软件产品完成系统测试后,作为最终产品所开发的软件产品完成系统测试后,作为最终产品存入库内,库内的信息
14、也应加以控制。存入库内,库内的信息也应加以控制。 受控库和产品库的规范化运行是实现软件配置项管理受控库和产品库的规范化运行是实现软件配置项管理的重要手段。的重要手段。西安交通大学 刘海岩14 (4)建立配置基线()建立配置基线(base line) (5)变更请求与变更控制)变更请求与变更控制 变更请求变更请求 变更请求是实施变更控制的起始步。最常见的变更变更请求是实施变更控制的起始步。最常见的变更理由可能是清除缺陷、或适应运行平台的变更、或是软件理由可能是清除缺陷、或适应运行平台的变更、或是软件扩展提出的要求,例如增加功能、提高性能等。扩展提出的要求,例如增加功能、提高性能等。 利用配置库实
15、现变更控制利用配置库实现变更控制 变更控制过程从变更请求开始,处于开发状态的变更控制过程从变更请求开始,处于开发状态的SCI尚未稳定下来,不受尚未稳定下来,不受SCM的控制,对的控制,对SCI的变更不受限制。的变更不受限制。但当开发人员认为工作已告完成,可供其他配置项使用时,但当开发人员认为工作已告完成,可供其他配置项使用时,配置项进入评审状态,若通过评审就作为基线允许进入配配置项进入评审状态,若通过评审就作为基线允许进入配置项库(置项库(check-in),配置项处于受控状态,开发人员不允配置项处于受控状态,开发人员不允许随便对其做任何修改。许随便对其做任何修改。 配置项的状态变化见下图。配
16、置项的状态变化见下图。西安交通大学 刘海岩15 配置项的状态变化配置项的状态变化 变更控制过程见下图:变更控制过程见下图:西安交通大学 刘海岩16变更控制过程变更控制过程西安交通大学 刘海岩17 (6)两个变更控制因素)两个变更控制因素 访问控制访问控制:管理哪个程序员有权访问和修:管理哪个程序员有权访问和修改改SCI。 同步控制同步控制:保证两个不同人员完成的并行:保证两个不同人员完成的并行变更不会相互覆盖。变更不会相互覆盖。 访问控制与同步控制流程如下图所示:访问控制与同步控制流程如下图所示: 西安交通大学 刘海岩18 访问控制和同步控制流程访问控制和同步控制流程 加锁:加锁:使得当前被提
17、取的版本在放回之前别人不能对它使得当前被提取的版本在放回之前别人不能对它 作任何修改(同步控制)。作任何修改(同步控制)。 解锁解锁:在经过:在经过SQA和测试后,新的基线对象被解锁并提和测试后,新的基线对象被解锁并提 交修改后的版本。交修改后的版本。 西安交通大学 刘海岩194、配置审核、配置审核 配置审核是一个配置审核是一个SQA活动,确保活动,确保SCM的有效的有效性,不允许出现混乱现象。性,不允许出现混乱现象。 如何实施:如何实施: (1)实施的时机:)实施的时机: 软件产品交付或正式发行前;软件产品交付或正式发行前; 开发过程中的阶段工作结束之后;开发过程中的阶段工作结束之后; 在维
18、护工作中定期进行。在维护工作中定期进行。 (2)审核的责任人:软件配置管理员或审核员。)审核的责任人:软件配置管理员或审核员。 (3)审核工作的开展:)审核工作的开展:西安交通大学 刘海岩20 项目经理决定配置审核的时间和范围;项目经理决定配置审核的时间和范围; 审核员准备配置审核检查单;审核员准备配置审核检查单; 审核员安排时间审核文档和记录,审核活动审核员安排时间审核文档和记录,审核活动可能涉及到:项目范围、评审记录、测试记录、可能涉及到:项目范围、评审记录、测试记录、变更请求、配置项的入库和出库记录、配置项的变更请求、配置项的入库和出库记录、配置项的变更历史、文件的命名、版本的编号等等;变更历史、文件的命名、版本的编号等等; 审核员发现不符合现象时做出记录;审核员发现不符合现象时做出记录; 项目经理负责消除不符合现象;项目经理负责消除不符合现象; 审核员验证所有不符合现象确已得到解决。审核员验证所有不符合现象确已得到解决。西安交通大学 刘海岩215、配置状态报告、配置状态报告 其其 任务是有效地记录和报告管理配置所需任务是有效地记录和报告管理配置所需要的信息,以便及时、准确地给出软件配置的要的信息,以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基础护理教学模板
- 医联体慢病管理路径的决策标准化建设
- 产科护理中的护理伦理决策
- 1-2-Heptanediol-1-2-Dihydroxyheptane-生命科学试剂-MCE
- 护理心理学重要概念
- 人文关怀护理:护理与手术室护理
- 医疗资源配置与绩效效率优化
- 医疗资源均衡配置与患者满意度关系研究
- 2025年交通安全教育知识培训课件
- 深度解析(2026年)《NBT 20515-2018压水堆核电厂乏燃料组件湿法贮存临界安全分析准则》
- 农业单位管理制度范本
- 警用盾牌使用方法
- 眼科复用器械清洗流程
- 手抄报讲解课件
- 进行性肌营养不良症护理
- 门窗工程施工方案
- 演出经纪人之《演出经纪实务》考试历年机考真题集附答案详解【轻巧夺冠】
- 新版煤矿安全管理人员考试习题库及答案
- 常用应急知识培训课件
- 中国五大民族舞蹈课件
- 2025中华护理学会团体标准培训考核试题(含答案)
评论
0/150
提交评论