1 、什 么 是 软 件配置管理

软 件配置管理是指通 过执 行版本控制、 变 更控制的 规 程,以及使用合适的配置管理 软 件,来保 证 所有配置 项 的完整性和可跟踪性。配置管理是 对 工作成果的一 种 有效保 护 。

2 、 为 什 么 需要配置管理

如果没有 软 件配置管理,最大的麻 烦 是工作成果无法回溯。随着工作的 进 展新的程序覆盖了老的程序,当突然 发现 新程序有 问题 而老程序正确 时 怎 么办 ?那只能重写老的程序来覆盖新的程序。 过 一段 时间 又 发现 原来的老程序有 问题 ,而解决方法在原来的新程序中 …… 您是不是快要 发疯 了。

为 了避免成果被覆盖,包括我自己在内的很多人早期采用手工管理版本的方式,例如当一个新版本 产 生 时 用当 时 的日期来命名文件 夹 ,然后再 复 制一下以后的修改在 复 制的文件 夹 内 进 行, 这样 上一个版本就被保存下来了,周而 复 始不同的版本不会被覆盖。 虽 然 这种 方式可以从某 种 程度上解决版本的回溯 问题 ,但他存在的缺点是 显 而易 见 的:第一点如果保留 结 果 过 于 频 繁,将会 导 致 产 生大量的有着重 复 内容的文件 夹 , 庞 大的物理空 间 ,管理起来很麻 烦 ;如果保留旧版本的 时间间 隔太 长 ,可能 产 生某些有用的老程序无法回溯。 假如 一个程序 只有几十兆, 经过 一年的 开发 各版本累 计 到 1G 。第二容易 产 生版本的混乱,如果是 团队开发软 件, 这种简单 的方法更 难 解决 问题 的本 质 了。

3 、人的 问题

配置管理的方法是成熟的,而且相 应 的 软 件工具也是成熟的,基本上不存在看不懂、不会用的 问题 。配置管理的 执 行效果如何,完全是事在人 为 。妨碍配置管理的主要 问题 是人 们 嫌麻 烦 和 侥 幸心理作怪。

在没出乱子的情况下, 执 行版本控制看起来有些麻 烦 。 每 次修改工作的 时 候 总 是要 Get Latest Version ,接着 Check Out ,修改完后又要 Check In ,多做了三 步 。其 实这 三 步 加起来也就十几秒 钟 ,而且不 费脑 子,根本没有添加多少麻 烦 , 仅仅 是个人感 觉 不爽而以。然而不 执 行版本控制的 话 ,万一 发 生工作成果被覆盖或 丢 失等 问题 ,麻 烦 就大了。

4 、 软 件配置管理 规 范

软 件研 发 和管理 过 程中会 产 生 许许 多多的工作成果,例如文档、程序和数据等,他 们 都 应 当妥善地保管起来,以便 查阅 和修改。如果把所有文件一股 脑 的塞 进计 算机里,那 么 使用起来很麻 烦 。

凡是 纳 入配置管理范畴的工作成果 统 称 为 配置 项 配置 项 主要有两大 类 :一 类 是属于 产 品的 组 成部分,例如需求文档、 设计 文档、源代 码 、 测试 用例等等;另一 类 是在管理 过 程中 产 生的文档,例如各 种计 划、 报 告等。

每 个配置 项 的主要属性有名称、 标识 符、文件状 态 、版本、作者、日期等。配置 项 及 历 史 纪录 反映了 软 件的演化 过 程。

基 线 由一 组 配置 项组 成, 这 些配置 项 构成了一个相 对稳 定的 逻辑实 体。基 线 中的配置 项 被 冻结 后,不能在被任何人随意更改。基 线 通常 对应 于 开发过 程中的里程碑。通常将交付 该 客 户 的基 线 称 为 一个 Release , 为 内部 开发 用的基 线 称 为 一个 Build 。

版本控制的目的是按照一定的 规则 保存配置 项 的所有版本,避免 发 生版本 丢 失或混乱等 现 象。配置 项 的状 态 有三 种 : “ 草稿 ” 、 “ 正式 发 布 ” 和 “ 正在修改 ”

配置 项 的版本号与配置 项 的状 态紧 密相 关 :

( 1 )     处 于 “ 草稿 ” 状 态 的配置 项 的版本号格式 为 : 0.YZ

( 2 )     处 于 “ 正式 发 布 ” 状 态 的配置 项 的版本号格式 为 : X.Y 。

一般只是 Y 值递 增,当 Y 值 到达一定的范 围时 X 值 才 发 生 变 化。

( 3 )     处 于 “ 正在修改 ” 状 态 的配置 项 的版本号格式 为 : X.YZ 。

一般只增大 Z 值 ,当配置 项 修改完 毕 ,状 态 重新 变 成 “ 正式 发 布 ” 时 ,将 Z 值变为 0 ,增加 X.Y 值 。

5 、常用的配置管理 软 件

A )、自从20 世 纪 80 年代后期研制并完善了“ 增量存 储 算法” 后配置管理工具的春天便 开 始了,目前国内常用的配置管理工具大概有SourceSafe 、CVS 和ClearCase 。

SourceSafe 是Micrsoft 公司推出的一款支持 团队协 同 开发 的配置管理工具,是Visual Studio 的套件之一。因 为 其短小精悍,又 继 承了微 软 集成 销 售的一 贯 作 风 用 户 可以相 对 于免 费 的价格得到,用 户 量 绝对 是第一位。

SourceSafe 简单 易用人 们 在使用配置管理工具 时 候,80 %的 时间 只是用Add,Check in,Check out 等区区几个功能。

SourceSafe 的主要局限性:只支持WINDOWS 不支持异构 环 境下的配置管理; 对 INTERNET 支持不 够 完善。

B )、在 详细 介 绍 SourceSafe 首先 简单 概述一下它的基本机制。SourceSafe 是使用服 务 器、本地机的概念来 进 行操作的,它 认为 所有需要操作的文件都存在服 务 器版本文件和本地机版本文件,无 论 您的SourceSafe 的架构是服 务 器客 户 机形式 还 是个人 单 机版形式,它的机制都是 这样 。 用 户 所用的修改都是在本地机上完成的,修改完成后再上 传 服 务 器。 单 机版也是 这样 操作。我 们 一定要明确两个版本后再来分析。

服 务 器版本文件是一个 绝对 受配置管理 软 件限制的文件,用 户 只能通 过 SourceSafe 的 规 定的 权 限和操作方法修改它,因 为 它并不是您一个人的,它是大家的。本地文件是一个基本不受限制的文件,您可以象操作本地文件一 样 操作它。

SourceSafe 由Visual SourceSafe 6.0 Admin 、Microsoft Visual SourceSafe 6.0 、Analyze VSS DB 、Analyze & Fix VSS DB 四部分 组 成。

C )、Analyze VSS DB 、Analyze & Fix VSS DB 两个工具不是很常用,前者用于 检查 SourceSafe 数据 库 文件的完整性,后者主要是修正SourceSafe 数据 库 文件存在的 错误 。

D )、Visual SourceSafe 6.0 Admin 的功能 类 似于win2k 的用 户 管理器, 软 件配置管理人 员 用它来分配用 户 和 设 定相 应 的 权 限。

管理 员 的管理操作一般都集中在Visual SourceSafe 6.0 Admin 中,系 统 中只有一个系 统 管理 员 Admin 可以登 陆 到此程序中 进 行管理工作,一般 刚刚 安装的系 统 中此用 户 的密 码 缺省 为 空。 而且系 统为 Admin 这 个用 户 保留的一切 权 力,不可更改。

数据 库 的 创 建 这 个操作必 须 在服 务 器上 执 行,因 为 通 过 客 户 端 创 建数据 库 的操作,只是在客 户 端的机器上 创 建的数据 库 , 这 个数据 库 往往只能 单 机使用。同 时 要必 须 注意,由于 VSS 是通 过 WINDOWS 的网 络 共享来完成服 务 器端受控版本文件的共享,因此 VSS 服 务 端的数据 库 必 须 建立在服 务 器的一个完全共享的目 录 之中。否 则 ,客 户 端将无法 获 得数据 库 中的文件。

数据 库 的 备 份与恢 复 , 备 份数据 库 或者其中的一个 项 目,点 击 tools-archive projects… 菜 单弹 出 对话 框,根据提示一 步步进 行 备 份,最后会形成一个 扩 展名 为 *.ssa 的 备 份档案文件。

如果要从档案文件中恢 复 VSS 数据 库 中的文件数据,点 击 tools-restore projects 菜 单 根据提示一 步步 完成数据恢 复 工作。其中,在恢 复过 程中,可以 选择 恢 复为 原有工程,也可改 变 恢 复 成其他工程目 录 。

E )、Microsoft Visual SourceSafe 6.0 是SourceSafe 的主要使用平台, 样 子象Windows 的文件管理器,它所 显 示的路 经 是以‘$’ 符号 为 根 节 点的相 对 路径,在 这 里介 绍 一下此平台的主要使用方法。

(1 )添加 项 目

您可以在根 节 点下添加 项 目,方法是:File—Add File 出 现 Add File 对话 框后 选 中相 关 文件,按Add 即可。

你可以 继续 通 过 File - Create Project 在根目 录 下 创 建一个 项 目后在此 项 目 节 点下添加文件。

添加完文件后,您所添加源文件的属性自 动变为 只 读 ,并在所添加文件的文件 夹 下生成一个 vssver 文件 ,以后 对 文件的操作基本与原文件没有 关 系了。

(2 ) 浏览 Source Safe Server 中的文件

在Visual SourceSafe Explore 中双 击 要打 开 的文件,会 弹 出一个 对话 框,您直接点 击 OK 即可。 这时 SourceSafe Explore 会将文件拷 贝 一份到本地机的 临时 文件 夹 中( 临时 文件 夹 路径在tools-options-general 下 设 置),因原文件前面提到已 经变 了只 读 ,所以 临时 文件也是只 读 属性,而且文件名会通 过 系 统 自 动 更改。

(3 ) 设 置工作文件 夹

SourceSafe 的文件 夹 需要在本地 计 算机上指定一个“working folder” 。当“check out” 时 ,相 应 文件会下 载 到 这 个本地工作文件 夹 中。我 们 在本地的文件中修改文件,然后把修改后的文件“check in” 回服 务 器的source safe 中。

我 们 可以利用“set working folder” 这 条命令来建立source safe 的文件 夹 和本地“working folder” 的 对应关 系。方法在source safe 的文件目 录树 中 选 中要建立 对应关 系的文件 夹 -右 单击 - 选择 “set working folder” 即可。

(4 )、下 载 最新版本文件到本地机

“get latest version” 命令可以将一个文件、一 组 文件或整个文件 夹 的最新版本从source safe 中拷 贝 到本地的 计 算机中,并用只 读 的形式保存起来。方法如下:

在左 侧 的文件 树 中 选择 相 应 的文件 夹 右 单击 后, 选择 “get latest version”

这时 会 弹 出一个 对话 框,它包括三个 复选 框:三个 复选 框全空 时 ,只将source safe 文件 夹 根目 录 下的文件拷 贝 到本地 计 算机,如同DOS 中的COPY 命令;recursive 选项选 中 时 ,会将source safe 文件 夹 下的所有文件 夹 及文件都拷 贝 到本地 计 算机,如同DOS 中的DISKCOPY ,make writable 选 中,拷 贝 到本地的文件是可写的。

如果我 们单击 “advance” 按 钮 ,就会出 现 更多的 选择项 。在 “set file” 中的四个 选项 第一如下: current 为 拷 贝 操作 发 生 时 的当前 时间 ; Modification 为 文件最近一次修改的 时间 ; check in 为 文件最后一次 check in 是的 时间 ; default 同 current.

在replace writable 中的四个 选项 作用是,当本地机有一个和要下 载 的文件同名 时 ,且本地机的文件是可写的同名文件 时 , 设 置系 统 如何 执 行拷 贝 :ask 系 统 提示是否覆盖本地的同名文件;replace 自 动 覆盖本地的同名文件;skip 不覆盖本地的同名文件;merge 将两个文件合并。

一定要 养 成先Get Latest Version 的 习惯 ,否 则 如果 别 人更新了代 码 ,VC 会提示你存在版本差异并 问 您是否覆盖、整合、保留等,如果 选错 了就会把 别 人的代 码 Cancel 掉,所以一定小心。

( 5 )下 载 文件到本地操作

当我 们 要修改一个文件 时 ,首先要把文件从source safe 中 复 制到“working folder” 中,并且以可写的形式保存, 这 一系列 动 作的命令就是check out 。 具体使用方法如下: 选择 要下 载 到本地机的文件,右 单击 后 选择 check out , 这时 会 弹 出一个 对话 框。缺省的状 态 下 “don’t get local copy” 这 个 选项 是不 选 的,他的意 义 是 这样 的:如果不 选 保持缺省状 态 ,当本地的同名文件是只 读时 , 则 系 统 首先用 source safe 的文件更新本地的文件,本地的文件 变为 可写。当本地的文件是可写 时 , 则 会出 现 另一提示框其中的 选项 leave this file :本地文件保留当前状 态 , source safe 中的文件也保留当前状 态 , 这样 有可能两个文件不一致。 选项 Replace your local file with this version from source safe :用 source safe 中的文件更新本地的文件。如果您 选择 don’t get local copy 选项 : 则 不把 source safe 的文件拷 贝 到本地。

文件 check 成功后,您可以看到文件上有 红 色 标记 , 这时 您的本地文件是可写的,您就可以修改文件了。上面的 选项 也 许让 您心乱, 为 了操作更 简 便,我 们 推荐一 种 check out 方法:

当本地的文件比source safe 中的文件内容新 时 , 选择 don’t get local copy 选项 。然后check in 使本地机与服 务 器内容同 步 ;

当source safe 中的文件比本地机的文件内容新 时 , 则 在source safe 中 选择 此文件,然后get latest version 命令,然后按照默 认选项进 行check out ;

当两者内容相同 时 ,按照默 认选项 操作。

注意:source safe 中使用了文件 锁 的概念当一个文件被 别 人check out 时 ,其他人不能check out 此文件;如果文件 锁 是无效的,您可以 查 看Visual SourceSafe 6.0 Admin -tools -general-allow multiple chechouts 选项 是否被 选 中。只有当check out 修改文件完 毕 后,一定要check in ,来保 证 source safe 中的文件最新。

谨记 check out 时 将是使得代 码对 自己可写, 对别 人只 读 , 请仅仅 Check Out 自己需要修改的部分,不然你工作的 时 候同 组 成 员 只能休息了。

( 6 )上 传 文件到服 务 器操作

我 们 必 须 利用 check in 命令保 证 source safe 本地的文件同 步 ,check in 与check out 成 对 出 现 ,它的作用是用本地的文件更新source safe 中被check out 的文件。

具体操作在source safe 选 中 处 于check out 状 态 的文件,右 单击选择 check in 即会出 现 一个 对话 框:默 认 状 态 下它的两个 复选 框 处 于非 选 状 态 ,Keep checked out 选项 ,可以在check in 后自 动 的再次check out ,等于是省略了下一 步 check out 操作;remove local copy 选项 ,可以在check in 的同 时 , 删 除本地机上working folder 中的同名文件。

一般按照缺省 选项 就可以了。 Check in 成功后, source safe 和本地的文件是完全相同的,本地的文件 变 成了只 读 文件。要再次修改文件 时 ,再 执 行 check out 操作,此 时 本地机的文件属性自 动变为 可写状 态 。一定 记 住 check out 后要 check in ,不然 导 致的后果就如同写完了文件不保存差不多。

一定要保 证 你的文档正确、可 编译 后再 Check In 不然会使得其他人也无法通 过编译 ,整个工程没法 调试 了。

(7 )undo check out 操作

当一个文件被check out 后,您如果想要撤 销这项 操作,可以使用undo check out 命令,操作 步骤 : 选 中 处 于check out 状 态 的文件,右 单击 后 选择 undo check out.

当source safe 中的文件和本地的文件完全相同 时 , 则 不出 现 提示信息,文件恢 复为 普通状 态 。

当source safe 中的文件和本地的 这 个文件不完全相同 时 , 则 出 现 提示窗口, 对话 框local copy 中包括三个 选项 :

replace 选项选 中后会出 现 ,系 统询问 是否覆盖的信息,如果 单击 yes 则 是用source safe 上的文件最后一个版本覆盖本地机上的文件,如果 选择 no 保留本地 计 算机上文件的内容,source safe 上的文件是上次check in 后的内容。此 时 ,两个文件可能出 现 不同;

leave 选项 保留当前 计 算机上的内容,source safe 上的文件是上次check in 后的内容,两个文件可能出 现 不同;

delete 选项删 除本地 计 算机上的 这 个文件。

选择 一个 选项 后, 单击 OK 后,文件回到普通状 态 。

(8 )edit 操作

edit 命令是一个 组 合命令,是先check out 再修改的命令的 组 合。 应 当注意的是, 执 行edit 命令后,我 们 修改了文件,但是source safe 中的文件并没有同 步 的修改,我 们还 是要check in 完成本地文件与source safe 上文件的同 步 。

( 9 ) 查 看文件的 历 史内容

方法 选 中此文件,右 单击选择 show history, 出 现 一 对话 框后, 经选择 OK 后 弹 出一窗体,我 们 可以看到 这 个文件的所有版本,要 查 看某个版本可以 选 中 VIEW 按 钮 。如果想下 载 某个先前的版本可以点 击 get 按 钮 。

( 10 ) 关 于 source safe 的 权 限

缺省状况下, 项 目安全管理是以 简单 模式来运行,即用 户对 工程的操作的 权 限只有两 种 ,一 种 只 读权 限,一 种读 写 权 限。要启用高 级 模式,可以在 Visual SourceSafe 6.0 Admin - tools-project security-enable project security 将此 选项选选 中。

source safe 的 权 限分 为 5 级 :

无 权 限 级 :看不到文件

read 级 :自能 浏览 文件,可以使用get latest version 命令

check in/check out 级 :可以更新文件,但不能 对 文件 进 行 删 除

delete 级 :可以 删 除文件,但通 过 某些命令 这 些文件 还 能恢 复 。

Destroy 级 :可以 彻 底的 删 除文件, 删 除之后无法恢 复 。

为 用 户设 定 权 限的工作一般由 软 件配置管理 员 在Visual SourceSafe 6.0 Admin 中完成。

权 限管理就是管理用 户 和工程目 录 之 间 的操作 权 限的 关 系。 因此,有两 种 管理方式。一 种 就是以工程目 录为 主 线 来管理 权 限,一 种 是以用 户为 主 线 来管理 权 限。

以目 录为 主 线 管理用 户权 限 则 点 击 tools-right by project… 菜 单 , 弹 出 对话 框来管理 项 目的用 户访问权 限。

如果以用 户为 主 线 来用 户权 限, 则应 先在主界面的下方的用 户 列表中 选 中一个用 户 ,再点 击 rights assignments for user… 菜 单 , 弹 出 对话 框, 对话 框下方列出了 该 用 户对 数据 库 各 项 目目 录 的 访问权 限,如果 访问 某个 项 目在列表上没有列出, 则说 明 该项 目的 权 限是 继 承上 级 目 录 的 访问权 限。只要您点 选 一个目 录 ,就可以 编辑该 用 户对该项 目目 录 的 访问权 限。

权 限 复 制就是将一个用 户 的 权 限直接 复 制 给 另外一个用 户 ,管理 员 可以通 过 copy user right… 菜 单 来 实现 。

(11 ) 关 于password 的更改

password 一般是由 软 件配置管理 员 分配的,如果我 们 需要修改密 码 ,可以在tools-change password 下修改。

需要 说 明的一点是当你的source safe 密 码 和windows 密 码 相同 时 ,启 动 source safe ,不会出 现 提示您 输 入密 码 的 对话 框。 这 是微 软 的的一 贯 作 风 ,在 SQL server 数据 库 管理系 统 下也能找到 这 个影子,因 为 微 软认为 windows 的密 码应该 比其他 软 件的密 码级别 要高,既然您能用相同的用 户 名和密 码进 入 windows 那 么 您也有 权 使用相同的用 户 名 进 入其他的 软 件。

软件配置管理(SCM)介绍相关推荐

  1. 软件配置管理SCM和版本控制系统(VCS)

    1.  几个基本概念  SCM:软件配置管理,用来追踪和控制软件的变化的任务. SCI:软件配置项,软件中发生变化的基本单元(例如:文件). Baseline:基线,软件持续变化过程中的"稳 ...

  2. SCM:软件配置管理

     1.什么是软件配置管理(SCM) 软件配置管理是指通过执行版本控制.变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性.配置管理是对工作成果的一种有效保护. (Softw ...

  3. 软件配置管理(Software Configuration Management,SCM)

    随着软件产业的崛起,软件工程技术正吸引着越来越多关注的目光.特别是以CMM为代表的先进的软件工程理念在国内也正日益受到业界广泛的重视. 软件配置管理(Software Configuration Ma ...

  4. SCM软件配置管理 (一)SVN 与 CVS

    1  什么是SCM软件配置管理((Software configuration management)? 软件配置管理是指通过执行版本控制.变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项 ...

  5. 软件配置管理(SCM)

    软件配置管理,它为软件开发提供了一套管理办法和活动原则,成为贯穿软件开发始终的重要质量保证活动.配置管理的过程实际是软件开发过程中质量管理的精髓所在,版本管理提高了开发者的工作效率,而变更控制则提高了 ...

  6. [SCM]软件配置管理

    ******************************************************************************************** Softwar ...

  7. SCM软件配置管理简介

    软件配置管理简称SCM(Software Configuration Management的缩写),SCM通过对配置项(Configuration Item,简称CI)的计划,控制,审计和改进来实现整 ...

  8. 软件配置管理工程师(SCM)

    软件配置管理(Software Configuration Management,SCM)是一种标识.组织和控制修改的技术.软件配置管理应用于整个软件工程过程. 在软件建立时变更是不可避免的,而变更加 ...

  9. 「软件项目管理」一文详解软件配置管理计划

    一文详解软件配置管理计划 前言 一.配置管理概述 1. 配置管理(SCM)定义 2. 软件配置项目(SCI) 3. 基线 4. 软件配置控制委员会(SCCB) 二.软件配置管理过程 1. 管理过程 2 ...

  10. 软件配置管理七重境界

    软件开发热点词汇不断推陈出新,cmmi,agile,精益,持续交付,持续集成,灰度--但有一个词其实一直在那里,支持着各种各样的新热点,它是#软件配置管理#. 它也是影响团队软件开发效率的重大因素. ...

最新文章

  1. 一行代码实现微光效果
  2. python高频面试题_2019下半年金九银十Python高频面试题(第四弹)
  3. 自学python可以找到好的工作吗-通过自学python能找到工作吗
  4. 验证 Swarm 数据持久性 - 每天5分钟玩转 Docker 容器技术(104)
  5. 有线同步--ASP007
  6. Java线程CAS原子操作
  7. CVPR 2020|开源实时“人手-物体”姿态估计算法HOPE-Net
  8. [转]vim 如何编辑 GB2312 编码的文件?
  9. 项目中的文件夹与tomcat/webapp中manager文件夹重名
  10. java会议记录管理系统实验报告代码_会议记录管理系统.docx
  11. reconnecting-websocket.min.js
  12. Spring Boot入门(2)-项目属性配置
  13. 使用Vue获取外网ip地址
  14. 【HTML5 基础】HTML5重要内容
  15. VBScript UBound 函数
  16. 上海老百姓的胆量 VS 大牌店营业员的势利
  17. 瑞数5维普期刊js逆向
  18. 波克定律:好的想法必需经得起辩论
  19. Kingbase兼容Oracle语法--连接操作符(+)
  20. 有效沟通bic法则_猎头支招:工作中有效沟通的法则

热门文章

  1. python身份证验证系统_用python制作全国身份证号验证及查询系统
  2. 信息系统综合知识二 信息化基础知识
  3. 懂商业的技术合伙人(7):怎样快速开发一个APP(2)
  4. 【王道考研】计算机网络知识点
  5. 黑群晖nas安装保姆级教程
  6. python3调用arcpy地理加权回归_地理加权回归( GWR)
  7. VS Code配置java环境
  8. JavaWeb:JavaScripts高级
  9. 遗传算法讲解与实现(python)
  10. c语言冒泡排序法代码