SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 流水先生

[原创] 三库(开发库、受控库、静态库)的概念及个人的理解

  [复制链接]
发表于 2007-7-23 16:49:54 | 显示全部楼层
我不大赞同楼主对受控库的理解。楼主提到:“而受控库,则是开发工程师相互协作、交流最新工作成果的地方。”/ Z) p& z1 k( K2 ^
我认为开发工程师相互协作、交流最新工作成果的地方恰恰是开发库(动态库)的概念。
5 w- [" g4 |* ^  A4 l& h, s而每个开发工程师自己的开发环境(本机)只是属于开发库的一部分。  K( ^- d5 V( J$ t$ l7 @) i- K6 A" J
能够提供所有开发人员协同工作的才是开发库。
) n( @2 [( M- ~& R受控库应该是有严格权限控制的库别,能够提交到这个库中的文档或者代码的角色应该是受限制的,而不是开放的。0 Q* P: D% M! U* ^* T0 y
这个库,同时也是开发组和测试协同工作的一个库别,要提交给测试组测试的代码和测试依据的文档都应该是从这个库别中发出的。
6 @1 z% p1 s( @% R我觉得如果只有一个库的话,我使用过的配置管理工具(vss/cvs/svn)都不能很好地解决软件受控的处理。
( Z3 H0 ^/ i( k7 s! t9 V配置管理员存取配置项得到受控库的工作我觉得单单用基线或者标签来实现的话,还是很困难的。
5 P5 p% `8 S" `6 K  X, }8 i% d, @但是受控库和静态库倒是可以用用基线或者标签来区分的。因为这2个库都是相对稳定的库别。- t+ p" j$ a( n: Y. @
3库可以用2库来实现倒是比较好理解一点。6 p. n: D# d( o4 }

( K, m  Q  ?. x7 M+ [8 f5 U3 d[ 本帖最后由 SnowJin 于 2007-7-23 17:06 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-24 18:46:38 | 显示全部楼层
原帖由 SnowJin 于 2007-7-23 16:49 发表
  j. G3 |4 h3 \) O我不大赞同楼主对受控库的理解。楼主提到:“而受控库,则是开发工程师相互协作、交流最新工作成果的地方。”' ]7 a: O3 Y. h1 q( F
我认为开发工程师相互协作、交流最新工作成果的地方恰恰是开发库(动态库)的概念。
' i5 Q; m. x. S2 T+ k而每个开发工 ...
- H6 b4 x/ o- U' M& E0 p

% [( s, p% ]1 }" L; g$ ]& z很赞赏SnowJin的坦诚!我们需要这样的气氛,才能互相学习,共同进步!  |3 m3 B! U+ i! [
8 a, U; j: Y% P- d, t
我又翻看了一下英文原文,关于动态库,( `3 C+ p) k. T' w0 j3 t) E' [
Dynamic (or developer's) systems ... are in the developer's workspace and are controlled by the developer.
! v1 F3 b2 i4 T; z注意到workspace和developer用的都是单数。这么说,特定的动态库,是给特定的某一个开发者使用的。3 P; b8 ^6 l+ ]
这与SnowJin的理解不同。" k$ U0 B1 C9 t# ]& R9 L

2 u1 T6 ^" }3 D! j8 Y; |) W而对于受控库,我则不确定当年的理解是否准确。' \1 l" S' |$ y  z
Master (or controlled) systems contain current baselines and changes to them.* b5 X* r, J) d& k4 f
注意到,这里不仅包含当前活跃/比较新的基线,也包括对基线的变更。/ G# b, O. I( ~" P) K+ v9 j- ~
但是,这里所提的变更,是指的什么质量程度的变更呢?5 n. f) Y9 \$ N7 ~+ `. O( s
如果,只要是程序员提交的,就算,那么,受控库就是开发工程师相互协作、交流最新工作成果的地方,如我当年的理解。
9 m+ \4 j7 ?  C9 H/ r( ^  \如果,只有通过集成的,通过测试的,才算,那么,受控库的内容,就是相对稳定的,相对正式的内容。这样,就和SnowJin和shuku的观点一致。
4 F1 F+ L8 }+ W4 ~6 U
3 ?0 S0 D$ F" A( q" j4 \0 N# ?1 w9 A另外要提及的是,
4 _5 _6 h- j+ x# _, J* T三库的概念,是 Examples of configuration management systems,是些示例。. S$ g) k1 Y/ R  P
所以,在实际操作中,不必太拘泥于这套概念。重要的是理解它背后的观点:
* k5 D: |( k- i7 Z' y5 J不同的内容,用相应的合适的方法存储和控制;2 i& q# F* o! w; f* Q, }( Q
适当隔离,物理上或逻辑上,以避免混乱和误操作。
回复 支持 反对

使用道具 举报

发表于 2007-9-2 12:14:42 | 显示全部楼层
第三个库我们一般称为产品库,是存放已冻结、供交付的基线的地方
回复 支持 反对

使用道具 举报

发表于 2007-9-2 16:13:18 | 显示全部楼层
非常感谢流水先生的讲解,之前只是了解到配置管理中有开发库、基线库、产品库的概念,在工作过程中并没有去深入理解三库的具体含义。当时读文档的时候总是想把他们对应到物理库上,没有想过其实它们应该是逻辑上的三库,这样就容易理解多了。
* ^9 c& k7 E: N! n% G1 l开发库对应的是开发人员的个人工作空间;3 U0 V! I' y+ C6 {7 A
受控库对应的是用配置管理工具管理的配置库;% n0 g7 k* V4 D- W, Y
静态库是不是应该对应到产品库;
回复 支持 反对

使用道具 举报

发表于 2007-9-29 11:22:42 | 显示全部楼层
正迷惑着呢  谢谢
回复 支持 反对

使用道具 举报

发表于 2007-10-2 20:00:17 | 显示全部楼层

回复 #1 流水先生 的帖子

不错,我正想学习呢
回复 支持 反对

使用道具 举报

发表于 2007-10-8 17:14:14 | 显示全部楼层
我们一直是开发库\受控库(基线库)\产品库三库定义的,三库是逻辑上的三库,根据权限进行三库控制.
. _1 Z! j7 P3 z# e开发库大致映射为开发工程师的个人工作空间,在开发工程师本机上,个人目录下。此库开发人员有可写权限.
( Y# J' G# s0 g- X2 @5 _7 T受控库就是经过评审或测试的工作产品,进入基线,不允许随便更改.此库开发人员只有可读权限.
" f" x5 W, v, y) i产品库就是最后开发结束后形成的工作产品库.此库开发人员没有任何权限.
( h# y" x7 t) A
8 n" g% S1 A5 U# \, Z6 O5 |个人理解,!
回复 支持 反对

使用道具 举报

发表于 2007-10-9 13:55:33 | 显示全部楼层
很受用,多谢大家的分享.小弟刚刚接触CMM,以后还请多多指点.谢谢
回复 支持 反对

使用道具 举报

发表于 2007-10-12 14:52:42 | 显示全部楼层
三库概念在一个库里通过分支、基线实现应该是没有问题的。如果确实觉得有必要分开的话,静态库(产品库)单独建立物理上的库似乎可行,因为产品库存放的基本都是一些稳定的版本,相反在受控库中生成太多的基线可能不便于管理,所以我觉得是不是可以把产品库单独管理而把三库变成两库
回复 支持 反对

使用道具 举报

发表于 2007-10-17 16:02:03 | 显示全部楼层
比较赞同楼上的,三库是概念上的三库,物理上可以为一个库或者两个库,即把产品库单独作为一个库,因为这个库处于冻结阶段,只有特殊的人员才能访问。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2018-1-17 07:54 , Processed in 0.066135 second(s), 7 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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