51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 27225|回复: 28
打印 上一主题 下一主题

如何理解“基线”(Baseline)这个术语【转】

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-5-17 19:32:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
转载自:http://www.devmanclub.com/ShowPost.aspx?PostID=1637


--------------------

“基线”是一个很常见的术语,在配置管理和项目管理里面都能看到,而且还有很多衍生的术语,例如基线提升、基线化、基线审计,等等等等。

我个人以前对微软的那套开发流程(就是product cycle model)以及PSP、TSP了解比较多一些,这些流程里面对“基线”的概念提的不多。但接触RUP、MSF以及项目管理以后,看到到处都有b
aseline,就觉得迷惑了。

经过我自己的理解,以及和几个同事的讨论,现在我觉得我们通常看到的“基线”这个术语有两个意思:

1)代表多个源代码文件的一组版本。

比如有三个文件,aaa.c、bbb.c和ccc.h。可以对这三个文件做一个基线,取aaa.c的版本1.1,取bbb.c的版本1.3,取ccc.h的版本1.0。(1.1,1.3,1.0)就是一个基线。换
句话说,通常在vss和cvs里面做label,就是在做基线。

这种基线对“构建审计”特别有用:在做build的时候,可以先对所有源文件做一个label,取名为"Build2394",然后再编译、集成。这样,以后如果要找到和build 2394对应的原文件,只需要
到vss或者cvs里面把所有文件对应label Build2394的版本取回来就可以了。

2)代表文档的一个稳定状态。

比如有一个项目设计文档,当设计基本完成,开发即将开始的时候,需要把这个文档固定下来,内容不能再频繁改变,否则开发人员就无所适从了,可能导致每个人所参照的文档并不是同一个文档。用一句上海这里的生活用语来
说,就叫做要把这个文档“敲定”。

一个文档如果经过讨论被通过了,被固定了,就可以说这个文档被“基线化”了,然后所有人就可以在这个“基线”的基础上工作。

当然,文档不可能一成不变,所以当对文档的修改仍然会不断进行,但这种修改并不会随时随地的添加到被“基线化”了的文档中去。因为既然是“基线”,就不能随便动。

但是到了一定时候,修改积累到一定程度,就需要把很多修改合并到原来的文档中去了,并生成一个新版本的文档作为团队中所有的人的参考标准,并把老的版本淘汰掉。这就叫做“基线提升”。



以上就是我个人对“基线”这个术语的两种不同含义的理解,大家可以讨论讨论看,是不是差不多就是这个意思。
3)合同基线
当你和客户讨论后,“敲定”的合同
4)发行基线
你会对你要发行的代码,文档版本进行label, 比如Release2.2,
这样,你可以随时取出此版本作build,进行测试,发布。

5)产品基线
当发布时,你会对产品中所有的配置项进行label,包括可执行命令,文档手册,库文件。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2007-5-10 13:38:27 | 只看该作者
谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-5-15 16:25:39 | 只看该作者
thanks
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-8-20 13:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2007-10-10 17:19:27 | 只看该作者
    好东西!感谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-10-11 14:09:57 | 只看该作者
    基线(Baseline)说起. 基线是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开发的基础.所以,当基线形成后,项目负责SCM的人需要通知相关人员基线已经形成,并且哪儿可以找到这基线了的版本.这个过程可被认为内部的发布.至于对外的正式发布,更是应当从基线了的版本中发布.

          基线是项目储存库中每个工件版本在特定时期的一个“快照”。它提供一个正式标准,随后的工作基于此标准,并且只有经过授权后才能变更这个标准。建立一个初始基线后,以后每次对其进行的变更都将记录为一个差值,直到建成下一个基线。

          参与项目的开发人员将基线所代表的各版本的目录和文件填入他们的工作区。随着工作的进展,基线将合并自从上次建立基线以来开发人员已经交付的工作。变更一旦并入基线,开发人员就采用新的基线,以与项目中的变更保持同步。调整基线将把集成工作区中的文件并入开发工作区。

          建立基线的三大原因是:重现性、可追踪性和报告。

          重现性是指及时返回并重新生成软件系统给定发布版的能力,或者是在项目中的早些时候重新生成开发环境的能力。可追踪性建立项目工件之间的前后继承关系。其目的在于确保设计满足要求、代码实施设计以及用正确代码编译可执行文件。报告来源于一个基线内容同另一个基线内容的比较。基线比较有助于调试并生成发布说明。

          建立基线后,需要标注所有组成构件和基线,以便能够对其进行识别和重新建立。

          建立基线有以下几个优点:

          基线为开发工件提供了一个定点和快照。
          新项目可以从基线提供的定点之中建立。作为一个单独分支,新项目将与随后对原始项目(在主要分支上)所进行的变更进行隔离。
          各开发人员可以将建有基线的构件作为他在隔离的私有工作区中进行更新的基础。
          当认为更新不稳定或不可信时,基线为团队提供一种取消变更的方法。
          您可以利用基线重新建立基于某个特定发布版本的配置,这样也可以重现已报告的错误。

          使用

          定期建立基线以确保各开发人员的工作保持同步。但是,在项目过程中,应该在每次迭代结束点(次要里程碑),以及与生命周期各阶段结束点相关联的主要里程碑处定期建立基线:

          生命周期目标里程碑(先启阶段)
          生命周期构架里程碑(精化阶段)
          初始操作性能里程碑(构建阶段)
          产品发布里程碑(产品化阶段)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-12-26 14:37:30 | 只看该作者
    学习中。。。。。。。。。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-3-23 22:41:37 | 只看该作者
    谢谢,很经典,了解!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-5-27 15:26:37 | 只看该作者

    终于明白了baseline了,THX!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-9-2 17:22:05 | 只看该作者
    学习了!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2008-10-8 12:05:25 | 只看该作者
    谢谢,收藏。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-11-21 16:04:38 | 只看该作者
    嗯,我们测试的需求都是基于某个baseline的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2008-12-7 15:11:20 | 只看该作者
    你文中所指的”基线提升“含义实际应该是”推荐基线“
    参考http://se.csai.cn/casepanel/CM/No107.htm
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2008-12-8 14:03:29 | 只看该作者
    好东西!感谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2009-10-16 15:02:48 | 只看该作者
    学习中,谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2010-6-22 17:54:54 | 只看该作者
    新入行,学习中
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    16#
    发表于 2010-6-22 18:02:39 | 只看该作者
    简单认为就是‘里程碑’
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2010-8-6 23:35:02 | 只看该作者
    我觉得基线的概念并不限于软件,我们的产品开发,包括软硬件,每到关键里程碑时都要将一些输出基线化。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2010-10-28 18:19:26 | 只看该作者
    跟老师们学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2010-11-2 09:45:35 | 只看该作者
    楼主将基线理解的窄了.

    基线不仅仅被放在文档控制和版本控制中,这仅仅是软件开发中的一隅.既然这个板块是质量板块,实际上我更倾向于还原基线的本意.基线就是地基打完后的一条线,或者叫基准线,或者叫其他的什么什么.

    基线可以是任何东西,只要这个东西在某个度量中占据了一个确定的刻度,其他东西以该刻度为标准参考.基线可以是一个范围,例如,软件需求是软件开发的基线,也即软件开发过程在需求文档规定的范围内进行.如果是一个阶段的基线,那么就变成了一个类似于里程碑的东西,以前面的比喻就是一个个基线成为尺子上的一个个刻度.

    这是我对基线的理解.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2011-2-28 13:16:15 | 只看该作者
    多谢楼主了,刚接触基线这个概念,一直很难理解。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-10 07:37 , Processed in 0.077374 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表