第17章软件配置管理.ppt
《第17章软件配置管理.ppt》由会员分享,可在线阅读,更多相关《第17章软件配置管理.ppt(38页珍藏版)》请在三一文库上搜索。
1、第17章 软件配置管理,17.1 软件配置管理的任务 17.2 SCM过程 17.3 软件配置中对象的标识 17.4 版本控制 17.5 变更控制 17.6 配置审核与状态报告 17.7 小结,17.1 软件配置管理的任务,随着软件工程过程的进展,软件配置项(SCI,Software Configuration Items)的层次、数量迅速增加。考虑到因为市场原因、客户原因、组织原因和预算与进度原因的影响,软件工程过程随时都可能发生变化。这就不可避免地会影响到配置项发生变化。SCM的任务就是在计算机软件的整个生命周期内管理变化。我们可以将SCM看作是应用于整个软件过程的一类质量保证活动。 17
2、.1.1 基线 变化是软件开发过程中必然发生的事情。客户要变更需求,开发者希望修改技术方法,管理者要调整预算等等,都属于合理的变化要求。遗憾的是如果完全随意地进行变化的话,软件工程将变成一场灾难。变化不可避免,变化必须得到管理,已经成为业界的共识。引入基线的概念,正是为了实现对变化的管理。 基线(Base Line)的原意是棒球场的边线,在软件工程中将其引申成为软件配置管理中的一个专用名词。基线用来在不对合理变化造成严重阻碍的前提下控制变化。IEEE组织对于基线的定义是:“已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能遵循正式的变化控制过程得到改变”。这里的规约
3、(Specification)可以解释为“详细说明”或“规格说明”。,根据这个定义,可以认为基线是一组已经经过正式技术复审而被认可、发布并且可供使用,只能遵循一定规程进行变化的软件工作产品。SCI被纳入基线之前,生产者可以为了顺应某种要求,对其进行迅速而非正式的变更,但是如果该项已经纳入基线,那么针对它的每一个变化,必须按照特定的、正式的规程进行评估、实施、验证和发布。虽然基线可以在任意的细节层次上定义,但为了避免过于繁琐,最常见的软件基线如图17.1所示。,图17.1 基线,在软件工程的范围内,基线是软件开发过程中的里程碑,其标志是有一个或多个软件配置项(SCI)的交付。而且这些配置项已经经
4、过正式技术复审并获得认可。 例如:某设计规约的要素已经形成文档并通过复审,错误已被发现并且得到了纠正。一旦规约的所有部分均通过复审、纠正,然后认可,则该设计规约就变成了一个基线。此后任何对包含在此设计规约中的程序体系结构的变化都只能在被评估并得到批准之后方可进行。 产生基线的事件进展如图17.2所示。,图17.2 作为基线的SCI和项目的配置数据库,软件工程产生一个或多个SCI,在SCI被复审并得到认可后,它们被放进项目的配置管理数据库中。当软件工程项目组中的某个成员希望修改某个基线SCI时,该SCI被从项目的配置管理数据库拷贝到工程师的私有工作区中,然而,这个提取出来的SCI只有在遵循SCM
5、控制的情况下才可以被修改。图17.2中的虚线说明了对某一个SCI进行修改的事件路径。,软件财富基线主要包括各类可复用的软件构件。对这些构件进行标识、维护、管理,提供给所有需要重用它们的项目组,无疑将会极大地提高生产率,改进未来产品的质量并提供更多可供选择的解决方案和设计方案。项目中形成的可复用构件,应当及时纳入财富基线,尽快发挥它们的作用,扩大财富的积累。 17.1.2 软件配置项 软件配置项已经定义为在部分软件工程过程中创建的信息。一般地说,一个SCI可以是一个文档、一套测试用例或者一个已经命名的程序构件。 下面的SCI成为配置管理技术的目标并形成一组基线。,1:系统规约 2:软件项目计划
6、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:软件工程的标准和规程,除此之外,为了清晰地描述开发环境,许多软件开
7、发组织也将使用的工具和开发环境内容纳入配置管理库中。工具,就像利用它们生产的产品一样,可以被基线化,并作为综合配置管理工作的一部分,一般称之为“环境基线”。 SCI被组织成配置对象、被命名并被归类到项目的配置管理数据库中。一个配置对象有名字、属性,并通过“关系”和其他的对象连接。,图17.3 配置对象,在图17.3中,配置对象“设计规约、“测试规约”、“数据模块”、“模块N”、“源代码”分别被定义。但每个对象都和其他对象存在着一定的关联。曲线表示的关系是组装关系,说明数据模块和模块N都是设计规约的组成部分。直线双箭头连接指明关联关系。如果一个对象(比如源代码对象)发生变化,关联关系使得软件工程
8、师能够据此判定还有哪些对象会被影响。,17.2 SCM 过 程,软件配置管理过程是软件工程中的重要环节,它的直接目标是管理变更。在管理过程中,配置管理活动还要关注个体SCI的标识和软件产品的版本控制,负责软件配置库的审核和配置变更情况并及时提出配置变更报告。概括地说,SCM过程的任务主要有下面五项。 (1) 组织如何标识和管理程序及文档的很多现存版本,以保证能够高效率地进行必要的变更。 (2) 如何在软件发布之前和之后控制变更。 (3) 明确由什么角色负责批准变更,并给变更确定优先级别。 (4) 如何保证变更已经被恰当地执行。 (5) 采用什么机制去告诉相关人员目前已经发生的变更。,简单地说,
9、SCM任务是标识配置项、控制产品版本、控制变化、配置审计和发布配置报告。在软件能力成熟度模型中,将配置管理作为达到二级成熟度的一个关键活动域,提出了四项必须达到的目标。 目标1:软件配置管理活动是有计划的。 目标2:所选定的软件工作产品是已标识的、受控的和适用的。 目标3:对已标识的软件工作产品的更改是受控的。 目标4:受影响的组和个人得到软件基线的状态和内容的通知。,17.3 软件配置中对象的标识,为了控制和管理软件配置项,每一个配置项必须被独立命名,然后用面向对象的方法加以组织。对象命名是为了能够根据名称提取对象;而通过组织对象并描述其间的关系则是着眼于在对象变更时能够清楚地了解变更的影响
10、范围。 能够被标识的对象分为基本对象和聚集对象两大类。基本对象是软件工程师在工作中创建的诸如需求规约的一个段落、一组测试用例、模块的源代码清单之类的“文本单元”(unit of text)。而一个聚集对象是基本对象和其他聚集对象的集合,是一个递归的概念。例如图17.3中的“设计规约”。在概念上,聚集对象可以被认为是已经被标识命名的“指针表”。指针指向基本对象“模块N”和“数据模块”。,配置对象具有一组惟一标识它的特征数据: (对象名、描述、资源表、实体)。 各项特征的含义如下: (1) 对象名:无二义的表示对象的一个字符串。 (2) 描述:一组数据项的列表,具体标识: 该对象所表示的SCI类型
11、; 项目标识符、变更信息和(或)版本信息。 (3) 资源:由对象提供、处理、引用或需要的实体,如数据类型、特定的函数、变量名称等等。 (4) 实体:是一个指针。对于基本对象,它指向特定的“文本单元”;对于聚合对象,它指向null。,在标识配置对象时,应当能够反映它们之间的关系。通过制定命名规则,一个对象可以被标识为某个聚集对象的局部(part-of .)。(part-of .)定义了一个对象层次,例如: E-R digram1.4 (part-of)data model data model (part-of)Design Specification 使用这样的对象标识方法,能够创建SCI之间
12、的层次结构。实际上,在层次结构中也存在有交叉关连(interrelated)关系: data model (interrelated)data flow model (数据模块和数据流程图关联) data model (interrelated)test case class m (数据模块和测试用例类m之间关联),对于配置项的标识,除了上面的基本原则必须满足之外,各个软件开发组织也可制定自己的配置项标识规范。例如,某组织的配置项标识方法规定: 配置项标识:要求对每一配置项进行惟一性标识。 命名规范: 1位基线库编码+“_”+2位配置对象编码+“_”+最多五个汉字或10个英文/拼音的配置项标识
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 17 软件 配置管理
链接地址:https://www.31doc.com/p-2908274.html