《配置项标识规范》
1 定义
配置项是受配置管理控制和管理的基本单位。配置标识是软件生命周期中划分选择各类配置项、定义配置项的种类、为它们分配标识符的过程。配置项标识的重要内容就是对配置项进行标识和命名。
2 必要性
配置标识是软件配置管理的基础性工作,是管理配置的前提。很难想象缺乏配置项标识的基线管理,如何去区分和定义基线;也很难想象缺乏配置项标识的变更控制,如何去标明版本的变化规迹。
3 原则
配置项标识可以根据项目的实际情况灵活掌握,但有一些基本的原则是需要遵从的。
?    标识唯一:这是为了避免混淆
?    与同类配置项不同的信息,应纳入标识:这是为了便于区分、查
?    同类配置项的标识方法统一
?    容易记忆:对于经常使用的配置项,标识不宜过长
4 标识范例
4.1文档
对于常见的word、excel、visio等文档而言,标识也就是文档的文件名。文档的标识可能承载好几项信息,如项目编号、文档名、撰写时间等等。标识里要包括哪些信息,是和文档的性质有关的。比如每周产生的一次周报,标识里加上撰写时间,就一目了然了,这样便于查和整理。
不同的信息之间,可以用下划线“_”分割,也可以用括号“()”分割,如果前后两项信息分别是字母、汉字;或汉字、数字等情况,不必加分割符号也是可以的。
以下是常用文档的标识规范,供参考:
?    次要的文档
命名方式:[文档名]
如:配置库使用规范
?
    比较正规的文档
命名方式:[项目编号+文档名]
如:GC21007E技术规划书
?    有版本变化的
命名方式:[文档名+版本号]
如:GC21007E需求规格说明书V1.2
?    主要区别在于时间的
命名方式:[文档名+撰写时间]
如:周例会会议纪要20030901
?    主要区别在于人员的
命名方式:[文档名+人员名称]
如:工作周报_赵明
?    主要区别在于系统模块的
命名方式:[文档名+模块名]
如:需求实现跟踪表_申报征收;
?    为了能排列顺序,需要加上数字的
命名方式:[序号+文档名]
如,某一测试流程,不是写在一个文档里,而流程的执行是有时间顺序的:
02银税联网的电子税票日常对帐、03现金票证汇总
?    其它,加上能和同类文档区别的文字
命名方式:[文档名+简单文字]
如:联调环境确认_暂行;联调及修改记录_模版;GC21007E项目WBS计划_提交稿
4.2版本号
版本号是比较抽象的配置项。
?    方式一:以版本发布日期作为版本号
这种版本号的标识方法比较简单,虽然无法看出系统一共发布的版本数量,以及各版本之间的不同性质,但可以直观的看出版本的发
布日期。也比较容易记忆。
如果项目组成员需要对版本的情况进行统计或者沟通,不需要依靠任何记录就可以定位出某个版本发布的日期。
适用于:小型项目、版本频繁发布的项目。
举例:2003-9-7发布了两个版本,分别是20030907A,20030907B
应用的项目:ctais2.0。
?    方式二:采用“主版本号. 从版本号. 维护版本号. 补丁版本号”的形式
这是大部分系统版本号的基础标识形式,每个版本号是阿拉伯数字,主版本号以1为起始数字,其他版本号以0为起始数字。可以进行裁减,类似“主版本号. 从版本号”的形式也是可以的。以这种方式来标识版本之后,当前版本的状态,以及版本发布的轨迹,都可以看得比较清楚。
至于何谓主版本和从版本,每个项目组可以有自己的约定。比如功能的大幅度修改、正式发布给客户、上线等里程碑事件,都是应该反应在版本号的变化上的。
适用于:比较正式的软件项目
举例:第一个版本为 1.0.0.0,上线使用的版本为5. 11.18
?    可选方式三:给版本加上前缀以区分
方式三、四并不是一种新的软件版本标识方法,它们通常增加在方式二的基础之上,以更好的标识版本。
我们通常在软件前面看到alpha、beta、demo、release等前缀,这些标识有它们公认的含义,主要以区别版本的性质和用途。以下是参考资料。
Alpha版(内部测试版):一般只在软件开发公司内部运行,不对外公开。主要是开发者自己对产品进行测试,检查产品是否存在缺陷、错误,验证产品功能与说明书、用户手册是否一致。
Beta版(外部测试版):软件开发公司为对外宣传,将非正式产品免费发送给具有典型性的用户,让用户测试该软件的不足之处及存在问题,以便在正式发行前进一步改进和完善 。一般可通过Internet免费下载,也可以向软件公司索取。
Demo版(演示版):主要是演示正式软件的部分功能,用户可以从中得知软件的基本操作,为正式产品的发售扩大影响。如果是游戏的话,则只有一两个关卡可以玩。该版本也可以从Internet上免费下载。
Release版(发行版):不是正式版,带有时间限制,也是为扩大影响所做的宣传策略之一。比如Windows Me的发行版就限制了只能使用几个月,可从Internet上免费下载或由公司免费奉送。
Full Version版(完全版):也就是正式版,是最终正式发售的版本。
举例:beta2.0,release1.02
适用于:较正式的软件、商用软件、游戏软件等
?    可选方式四:使用外部版本、内部版本两套机制
当我们点击word帮助菜单的“关于”时,在抬头部分看到的是“word2002 (10. 2627. 2675)”。这里的2002、10. 2627. 2675分别是外部、内
部版本号。因为让客户记住繁琐的内部版本号是困难的,另一方面,出于宣传等商业原因,很多商业软件不但有外部版本号,还把功能有大幅度改善的版本以不同的名称命名。比如windows98- windows Me- windows2000- windowsXP; RealPlayer8.0- RealOne Player V2.0等。
适用于:商业软件
4.3 其他配置项
以下配置项没有对应实际的物理文件,但通常都由配置人员分配(特别是在小型项目中)。另一方面它们和项目组每个成员相关、经常被使用。对它们的标识需要容易记忆、规则统一,但由于涉及安全性,不能过于简单和容易猜测。
?    配置机、服务器的访问密码
例:用户名 guest;密码 ctais123(若有多台服务器,其用户名和密码最好都一致,容易记忆)
?    VSS数据库、butterfly等配置工具的用户名和口令
例:用户名 zhouyan;初始密码 zhouyan(所有人员的命名规则都相同,VSS的和butterfly的最好一致)
?    数据库的SID、用户名和口令
例:IP为10.1.120.11的服务器,在上面搭建的数据库SID为 11sid;(由于有多台服务器设有数据库,所以SID最好和服务器的IP相关)
给测试人员使用的库,用户名 test;密码 test;
给开发人员调试使用的库,用户名 dev;密码 dev (用户名和密码表明了其功能和作用)
5辅助标识
配置工具有一些辅助方法来标识配置项,这里介绍VSS和CVS的方法。
5.1 VSS
VSS提供以下三种方式为配置项标识
?    version
version通常是纯数字型的,它由VSS自动管理。每当用户对一个配置项进行了修改并提交变更(check-in)、分支等操作后,VSS都会将配置项的version自动加1。
Version的最大好处是能一目了然的看出配置项的变更规迹。在计算配置项的变更次数、在比较配置项两个版本之间的差异时,发挥了较大的作用。
?    user/date/time Stamp
user/date/time Stamp也是由VSS自动管理的。和version类似,每当用户对文件做了更改、分支、删除等操作时,VSS都会自动记录操作的时间和用户名。
严格的说user/date/time Stamp并不是标识,只是在配置项发生变化时,对修改人员、时间信息的记录。它在跟踪配置项变更、跟踪责任人方面,起到了很重要的作用。对于一个多人的团队,某一配置项可能由多人修改。如果没有user/date/time Stamp,当我们发现一个公共的源代码被更改有误之后,如何去查修改人呢?如果没有user/date/time Stamp,如何去取得某一配置项在20日产生的版本呢?
xp提交更改
?    label
和以上两种方式不同,label是用户自发给某个配置项、或某些配置项的当前version创建的标识信息。因为同一配置项可能经历过多次变化,有对应的version,label能对应某个具体的version是最确切的,否则
就很难通过label来查和定位配置项的某个状态了。
Label之后, 配置项的version号自动加1,并和配置项做当次label的上一个version相对应。也就是说,我们可以选中某个label,对它进行view、get的操作,取得的内容是所选label的上一个version的内容。
如果一个或一组配置项达到了某种里程碑状态,配置人员想标明这种状态,使用label是个不错的主意。它可以在配置项的某个版本上随意增加一些我们想保留的信息。label是最长可达31个字符的字符串,比如“beta2.1.5”,“08.25评审通过”,“客户环境第一版”等等。
5.2 CVS
CVS有以下两种方式来标识配置项:
?    revisions
和VSS的version一样,revision也是CVS自动分配的,通常操作人员不需要过于关心它变化的细节,只需要知道一个配置项的每个revision都是唯一,并且对应配置项的某个版本就可以了。之所以配置项的版本称作revision,是为了和软件项目的版本release区别。
配置项的初始revision是1.1,通常情况下,CVS是以1.1?1.2?1.3这样的趋势去变化配置项的revision的。
增加一个新文件的时候,第二个数字将为“1”, 第一个数字等于该目录中所有文件版本号第一个值的最大值。例如,当前目录包含版本号为1.7, 3.1和4.12的文件,则一个新文件的版本号应为4.1。
?    tag
和VSS的label有一些类似,tag也是用户给CVS里的某个或某些配置项创建的标识。但CVS对tag的名称控制的比较严格,一个tag必须以字母开头,后续多个字母,数字,减号和下划线,不能包括点号和空格。比如“release1-3-2”,“approvdBy Sqa”等。
Tag的作用和VSS的label一致,也是给配置项标明一些我们想保留的信息的。
6 总结
从以上的标识规范可以看出,配置项标识是一件比较细致的工作,也是配置管理的基础。每个项目的具体情况不同,可以根据以上的规范进行适当裁减与修改。但遵循一定的规范是相当必要的,只有这样,才能方便配置项的查与规类,才能较清晰的看出配置项的状态,给基线控制、变更控制工作的开展创造基础。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。