正在加载图片...
有关软件配置管理,需要考虑这样一些问题: 采用什么方式来标识和管理许多已 存在程序(和它们的文档)的各种版本? 在软件交付用户之前和之后如何控 记事文件 制变更? 谁有权批准和对变更安排优先级? 如何保证变更得以正确地实施? 利用什么办法来估计变更可能引起 的其它问题? 这些问题归结到软件配置管理的5个 项目数据库 任务,即配置标识、版本管理、变更控制、 专用工作空间 配置审核和配置报告。 图10.8基线SCI和项目数据库 (4)配置标识 软件配置实际上是一个动态的概念。一方面随着软件生存期的向前推进,软件配置项的 数量在不断增多。另一方面又随时会有新的变更出现,形成新的版本。因此,整个软件生存 期的软件配置就象一部不断演变的电影,而某一时刻的配置就是这部电影的一个片段 为了方便对软件配置的各个片段,即软件配置项进行控制和管理,不致造成混乱,首先 应给它们命名,这就是配置标识的任务 我们可以用面向对象的方法进行标识。通常需标识两种类型的对象:基本对象和复合对 象。基本对象是由软件人员在分析、设计、编码和测试时所建立的“文本单元”。例如,基 本对象可能是需求规格说明中的一节,一个源程序清单、一组用来测试一个等价类的测试用 例。复合对象则是基本对象或其它复合对象的一个集合。如图10.6所示,“设计规格说明” 是一个复合对象,它是一些基本对象,如“数据模型”、“模块N”的集合。 每个对象可用一组信息来唯一地标识它,这组信息包括 (名字、描述、一组“资源”、“实现”) 对象的名字是一个字符串,它明确地标识对象。对象描述是一个表项,它包括:对象所 表示的配置项类型(如文档、程序、数据)、项目标识、变更和/或版本信息。资源是“由对 象所提供的、处理的、引用的或其它所需要的一些实体”。例如,数据类型,特定函数,甚 至变量名都可以看做是对象资源。而“实现”对于一个基本对象来说,是指向“文本单元” 的指针,而对于复合对象来说,则为nul 配置对象的标识还需考虑在命名对象间存在的联系。对象可以是一个复合对象的组成部 分,用联系< part of>进行标识。这个联系定义了对象的层次。在对象层次中,对象之间的联 系不仅存在于层次树的路径中,而且可跨越对象层次的分支相互关联。例如,数据模型与数 据流图是相互关联的,而且它又与一个特定等价类的测试用例组相互关联。 (5)版本控制 整个软件工程过程中所涉及的软件对象都必须加以标识。在对象成为基线以前可能要做 多次变更,在成为基线之后也可能需要频繁地变更。这样对于每一配置对象都可以建立一个 演变图,这个演变图记叙了对象的变更历史。以图109为例,配置对象1.0经过修改成为对 象1.1,又经历了小的修改和变更,产生了版本1.1.1和1.1.2。紧接对版本1.1做了一次更新, 产生对象12,又持续演变生成了1.3和14版本。同时对对象1.2做了一次较大的修改,引 出一条新的演变路径:版本20。 已经开发出来许多工具来辅助标识工作。在某些工具中,当前保持的只是最后版本的完 全副本。为了得到较早时期(文档或程序)的版本,可以从最后版本中“提取”出(由工具编目 的)变更,使得当前配置直接可用,并使得其它版本也可用11 有关软件配置管理,需要考虑这样一些问题: ▪ 采用什么方式来标识和管理许多已 存在程序(和它们的文档)的各种版本? ▪ 在软件交付用户之前和之后如何控 制变更? ▪ 谁有权批准和对变更安排优先级? ▪ 如何保证变更得以正确地实施? ▪ 利用什么办法来估计变更可能引起 的其它问题? 这些问题归结到软件配置管理的 5 个 任务,即配置标识、版本管理、变更控制、 配置审核和配置报告。 (4) 配置标识 软件配置实际上是一个动态的概念。一方面随着软件生存期的向前推进,软件配置项的 数量在不断增多。另一方面又随时会有新的变更出现,形成新的版本。因此,整个软件生存 期的软件配置就象一部不断演变的电影,而某一时刻的配置就是这部电影的一个片段。 为了方便对软件配置的各个片段,即软件配置项进行控制和管理,不致造成混乱,首先 应给它们命名,这就是配置标识的任务。 我们可以用面向对象的方法进行标识。通常需标识两种类型的对象:基本对象和复合对 象。基本对象是由软件人员在分析、设计、编码和测试时所建立的“文本单元”。例如,基 本对象可能是需求规格说明中的一节,一个源程序清单、一组用来测试一个等价类的测试用 例。复合对象则是基本对象或其它复合对象的一个集合。如图 10.6 所示,“设计规格说明” 是一个复合对象,它是一些基本对象,如“数据模型”、“模块 N”的集合。 每个对象可用一组信息来唯一地标识它,这组信息包括: (名字、描述、一组“资源”、“实现”) 对象的名字是一个字符串,它明确地标识对象。对象描述是一个表项,它包括:对象所 表示的配置项类型(如文档、程序、数据)、项目标识、变更和/或版本信息。资源是“由对 象所提供的、处理的、引用的或其它所需要的一些实体”。例如,数据类型,特定函数,甚 至变量名都可以看做是对象资源。而“实现”对于一个基本对象来说,是指向“文本单元” 的指针,而对于复合对象来说,则为 null。 配置对象的标识还需考虑在命名对象间存在的联系。对象可以是一个复合对象的组成部 分,用联系<part of>进行标识。这个联系定义了对象的层次。在对象层次中,对象之间的联 系不仅存在于层次树的路径中,而且可跨越对象层次的分支相互关联。例如,数据模型与数 据流图是相互关联的,而且它又与一个特定等价类的测试用例组相互关联。 (5) 版本控制 整个软件工程过程中所涉及的软件对象都必须加以标识。在对象成为基线以前可能要做 多次变更,在成为基线之后也可能需要频繁地变更。这样对于每一配置对象都可以建立一个 演变图,这个演变图记叙了对象的变更历史。以图 10.9 为例,配置对象 1.0 经过修改成为对 象 1.1,又经历了小的修改和变更,产生了版本 1.1.1 和 1.1.2。紧接对版本 1.1 做了一次更新, 产生对象 1.2,又持续演变生成了 1.3 和 1.4 版本。同时对对象 1.2 做了一次较大的修改,引 出一条新的演变路径:版本 2.0。 已经开发出来许多工具来辅助标识工作。在某些工具中,当前保持的只是最后版本的完 全副本。为了得到较早时期(文档或程序)的版本,可以从最后版本中“提取”出(由工具编目 的)变更,使得当前配置直接可用,并使得其它版本也可用。 图 10.8 基线 SCI 和项目数据库
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有