《安徽工程科技学院计算机系 第十六章 软件配置管理》由会员分享,可在线阅读,更多相关《安徽工程科技学院计算机系 第十六章 软件配置管理(22页珍藏版)》请在金锄头文库上搜索。
1、2017/11/18,安徽工程科技学院计算机系,1,第十六章 软件配置管理,在软件开发过程中,变动和修改是不可避免的。这些变动常常在项目开发人员之间引起混乱和误会。软件配置管理的目的是为了减少混乱,提高软件生产率。配置管理是对软件修改进行标识、组织和控制的技术,用来协调和控制整个系统过程。,2017/11/18,安徽工程科技学院计算机系,2,16.1 软件配置管理,软件开发过程的最终结果包括三类信息:(1)计算机程序(包括源程序和目标程序);(2)描述计算机程序的文档(包括面向技术人员和面向用户两类);(3)数据结构(包括程序内部和外部定义两部分)组成上述信息的所有项目构成一个软件配置,其中每
2、一项称为一个软件配置项(SCI),它是配置管理的基本单位。一个SC中最早的SCI是系统规格说明书,第十六章 软件配置管理,2017/11/18,安徽工程科技学院计算机系,3,软件配置管理,怎样保证各SCI协调一致,特别是当某个SCI发生变化时,怎样管理和控制因SCI变化带来的影响,以保证软件的质量是软件配置管理要解决的主要问题。因此,配置管理首先要注意配置项之间的关系。,16.1软件配置管理,2017/11/18,安徽工程科技学院计算机系,4,16.1.1 基线技术,为了有效地控制变动,软件配置管理引入基线的概念。基线标志软件开发过程的各个里程碑,任一SCI(例如,设计说明书),一旦形成文档并
3、复审通过,即成为一个基线,它标志开发过程中一个阶段的结束。对于已成为基线的SCI,虽然可以修改,但必须按照一个特殊的、正式的过程进行评估,确认每一处修改。相反,对于未成为基线的SCI,可以进行非正式修改。,16.1软件配置管理,2017/11/18,安徽工程科技学院计算机系,5,基线技术,16.1软件配置管理,2017/11/18,安徽工程科技学院计算机系,6,基线技术,某个SCI一旦成为基线,随即被放入项目数据库。此后,若开发小组中某位成员欲改动SCI,首先要将它拷备到私有工作区并在项目数据库中锁住,不允许他人使用。在私有工作区中完成修改控制过程并复审通过之后,再把修改后的SCI释放并回送到
4、项目数据库,同时解锁。,16.1软件配置管理,2017/11/18,安徽工程科技学院计算机系,7,16.1.2 软件配置项,一般软件配置需包括下列SCI:1.系统规格说明书2.软件项目规划3. 需求分析结果a.软件需求规格说明书b.可执行的或“纸样”原型4.初步用户手册5.设计规格说明书a.数据设计描述b.总体结构设计描述c.模块设计描述d.界面设计描述e.对象描述(若采用面向对象技术) ,16.1软件配置管理,2017/11/18,安徽工程科技学院计算机系,8,软件配置项,6.源代码清单7.测试规格说明书a.测试计划和过程b.测试用例和实验结果8.操作和安装手册9.可执行程序a.每个模块的可
5、执行代码b.链接到一起的代码10.数据库描述a.数据模型和文件结构b.初始化映象,16.1软件配置管理,2017/11/18,安徽工程科技学院计算机系,9,软件配置项,11.联机用户手册12.维护文挡a.软件问题报告单b.维护申请单c.预计变动的顺序13.软件工程的标准和过程除此之外,有时把软件工具也列入配置管理的范畴,即把软件开发中选用的编辑器,编译器和其他一些CASE工具固定地作为软件配置的一部分。普遍认为,用面向对象的方法组织项目数据库最自然、合理。,16.1软件配置管理,2017/11/18,安徽工程科技学院计算机系,10,配置对象,16.1软件配置管理,2017/11/18,安徽工程
6、科技学院计算机系,11,16.2 软件配置管理任务,软件配置管理是软件质量保证的重要一环。在软件开发过程中它的主要任务是控制软件的修改,包括:1)标识软件配置中各种对象;2)管理软件的各种版本;3)建立系统;4)控制对软件的修改;5)审计配置;6)报告配置状况。,第十六章 软件配置管理,2017/11/18,安徽工程科技学院计算机系,12,16.2.1 标识配置对象,为了控制和管理的方便,所有SCI都应按面向对象的方式命名并组织起来。对象分为基本对象和组合对象:基本对象指在分析、设计、编码或测试阶段由开发人员创建的某个“单位正文描述”。复合对象指由若干基本对象和复合对象组合而成的对象。每个配置
7、对象都拥有名字、描述、资源列表和实际存在体四个部分。除了标识配置对象外,还必须指明对象之间的关系。,16.2软件配置管理任务,2017/11/18,安徽工程科技学院计算机系,13,标识配置对象,16.2软件配置管理任务,2017/11/18,安徽工程科技学院计算机系,14,16.2.2 版本控制,配置管理的版本控制主要解决下列问题:1)根据不同用户的需要配置不同的系统;2)保存系统老版本,为以后调查问题使用;3)建立一个系统新版本,使它包含某些决策而抛弃另一些;4)支持两位以上工程师同时在一个项目中工作;5)高效存储项目的多个版本。为此,一般版本控制系统都为配置对象的每个版本设置一组属性,这组
8、属性既可为简单的版本号,也可为一串复杂的布尔变量(即开关值),用以说明该版本功能上的变化。,16.2软件配置管理任务,2017/11/18,安徽工程科技学院计算机系,15,16.2.3 系统建立,在建立软件系统时经常将源代码变换为执行程序,而编译程序和链接程序是最典型的支撑工具。为有效地控制系统建立过程,应考虑下列问题:1)建立系统时使用了哪些源代码和编译程序选件;2)某个项目修改后,系统哪些部分需要重新编译;3)建立系统时是否有编译或警告错误;4)建立系统的正确步骤;5)若安装使用一个新编译程序有什么影响;等等。,16.2软件配置管理任务,2017/11/18,安徽工程科技学院计算机系,16
9、,16.2.4 修改控制,所谓修改控制即把人的努力与自动工具结合起来,建立一套机制有意识地控制软件修改。,16.2软件配置管理任务,2017/11/18,安徽工程科技学院计算机系,17,16.2.5 配置审计,确认修改是否已正确实施有两种措施,一种是正式的技术复审,另一种是软件配置审计。正式的技术复审着重考虑所修改对象在技术上的正确性,复审人员应对该对象是否与其他SCI协调以及在修改中可能产生的疏忽和副作用进行全面的评估。软件配置审计作为一种补充措施主要考虑下列在正式技术复审中未被考虑的因素:ECO中指定的修改是否都已完成?还另加了哪些修改?是否做过正式技术复审?是否严格遵守软件工程标准?修改
10、过的SCI是否做了特别标记?修改的日期和执行修改的人员是否已经注明?该SCI的属性是否能够反映本次修改的结果?是否完成与本次修改有关的注释、记录和报告等事宜?所有相关的SCI是否已一并修改?,16.2软件配置管理任务,2017/11/18,安徽工程科技学院计算机系,18,16.2.6 配置状况报告,配置状况报告(CSR)作为软件配置管理的一项任务,主要概述下列问题:发生了什么事情;谁做的;何时发生的;有什么影响。当某个SCI被赋与新标记或更新标记时,或CCA批准一项修改申请(即产生了一个ECO)时,或配置审计完成时都将执行一次CSR。CSR的输出可放在联机数据库中,供开发、维护人员随时按关键字
11、查询。,16.2软件配置管理任务,2017/11/18,安徽工程科技学院计算机系,19,16.3 软件配置管理标准,在过去的二十年中已有若干SCM标准问世,较早公布的一些标准,如MILSTD483,DODSTD480A和MILSTD1521A主要用于美国军界,后来公布的ANSI/IEEE标准,如8281983, 10421982和10281988已被日益广泛地使用。,第十六章 软件配置管理,2017/11/18,安徽工程科技学院计算机系,20,16.4 配置管理的CASE工具,本节介绍一个广为使用的配置管理工具DSEE,它由历史管理程序、配置管理程序、任务管理程序和监控管理程序四部分组成。历史
12、管理程序负责在库中存储管理配置项的各个版本;配置管理器的主要功能是定义和建立配置;而任务和监控管理程序则主要负责控制软件修改过程。这里重点讨论配置管理部分。,第十六章 软件配置管理,2017/11/18,安徽工程科技学院计算机系,21,配置管理的CASE工具,使用DSEE建立一个配置(在此泛指系统或某个配置项)需涉及下面三个概念:(1)系统模型(System Model),它指出欲导出此配置项所需的源项、工具(DSEE中称为翻译器)和过程;(2)配置依据(Configurat Thread),它包括推导配置项版本时所用的一组规则、工具和工具中的选件(options);(3)导出项缓冲池(Derived Element Pool),每一配置项建立后都放入缓冲池中,它可以同存放某配置项的几个版本。,16.4配置管理的CASE工具,2017/11/18,安徽工程科技学院计算机系,22,小结,软件配置管理是软件工程中十分重要的一项活动,甚至是决定工程项目成败的关键因素之一。软件配置管理中的两个主要问题是版本管理和修改控制,目的在于保证系统内各个配置项的协调一致。本章主要介绍软件配置管理的基本概念和主要任务以及支持配置管理的工具。,第十六章 软件配置管理,