思步网

查看: 102667|回复: 52
打印 上一主题 下一主题

小公司如何实施配置管理(一)

[复制链接]
    对于[url=]配置管理[/url]来说,配置库是保存公司资产的仓库,属于逻辑概念,而实现上,可以根据实际情况以及以往的习惯,选择适当的工具来辅助配置管理[url=]工作[/url]的实施。常见的用于支持配置管理的工具有CVS、Subversion、VSS、starTeam、CC等等。基于费用以及维护工作量的考虑,优先考虑CVS和Subversion。    区别:cvs和[url=]svn[/url]有着较大的差别,1)cvs在server上保存的是workspace的实际拷贝(意思是你能够在服务器上找到一个目录和本地工作空间的内容一模一样的),而svn在server上保存的是转换过的数据(与本地工作空间的内容完全不一样),2)cvs的把版本信息和修改内容是通过与文件相关联的附属文件进行记录的,而svn是通过全库快照进行保存的,3)基于2的原因,cvs中,各个文件都有自己的版本,而svn中同一时间所有文件的版本都是一致的(单库),4)也基于2的原因,cvs只能对文件进行[url=]版本控制[/url],文件夹不在控制范围之内,而svn则能控制文件和文件夹,并且有历史版本信息。5)cvs上tags和branch的实现是通过在文件的附属文件中添加标记来标识某一个版本的内容范围,而svn则是通过copy的方式实现。
    选择:对于实施配置管理来说,cvs比较接近[url=]CMMI[/url]中版本和[url=]基线[/url]跟踪的概念,但是基于cvs的第三方支持工具相对较少(也许未发现)和以往的开发习惯,还是决定使用svn来实现配置库。
    概念:对配置管理来说,需要有几个逻辑库的概念,1)开发库,用来保存开发过程中的不稳定源码;2)文档库,用于保存开发过程中不稳定的文档;3)产品库,用来保存阶段性发布的产物(源码和文档)。
策略:我们会将这些不同的库集成在一个或多个实体库之中。对与svn来说,同一个库内的任意文件的修改都会导致整个库的版本好递增,因此需要通过多库来隔离变化。
    分析:1)不同的项目需要在配置库中实现统一管理,2)各个项目的文件夹具有相应的访问控制权限,3)可以通过http进行远程访问,4)ssl安全访问(可选),结合上述需求以及潜在需求分析,确定配置库需实现如下功能:1)文档库、开发库、产品库的版本不相互影响,2)默认权限:项目leader具有的权限(开发库:rw,文档库:rw,产品库:r),开发人员具有的权限(开发库:rw,文档库:r,产品库:none),技术总监具有的权限(开发库:rw,文档库:rw,产品库:rw),配置管理员具有的权限(管理权限),3)能够实现基线的概念和实现基线跟踪。4)需要添加一个构建库的概念,用于给STE提供稳定的[url=]测试[/url]版本。
    实现:在一个svnserver中使用多库共存,分别为,开发库(dev),文档库(doc),产品库(pd),构建库(db),然后将多库的顶层目录映射为apache的一个虚拟目录,通过apache的svn module进行访问权限控制(rw权限),通过ldap进行webdav的访问控制(access权限)。
    总体过程:1)项目启动:项目经理(PL)填写项目初始化申请书,提交配置管理员(CMO),2)CMO根据项目名称、优先级、配置库类型、访问列表及权限要求,对配置进行初始化,填写回执返还PL,3)PL与开发团队验证访问权限,然后开始文档开发和源码开发工作,4)文档和源码经过严格评审后,建立各自相应的基线,5)该阶段的所有配置项都经过最后的基线化后,建立产品基线。6)发布版本。
    变更过程:对于小型公司来说,对所有库都进行严格的读写控制会带来较大的工作量,因此,对应的做法是只对文档库和产品库做变更控制,不为开发库做变更控制。
    文档基线化过程:文档开发人员完成文档开发后,由PL组织评审会议,确定无问题后,将文档上传文档库,为1.0版本;出现变更并确定要变更后,文档开发人员修订文档,再次进行评审,通过后形成1.1版本。后续的环节进行变更迭代。到阶段性产品基线建立的时候,作为产品基线的一个元素纳入产品基线。
    源码基线化过程:源码开发人员完成模块或子系统开发后,通过运行自动构建(跑[url=]单元测试[/url]和集成测试)得出单元测试通过率和集成测试通过率,PL将这些信息提交测试经理(TM),TM到构建库(ftp或share folder)获取开发版本,组织预测试(Quick Test:运行基本[url=]功能测试[/url]套件),判断交付版本是否具有足够质量支撑后续工作,若有,进入该版本的[url=]系统测试[/url],否则,退出打回版本。通过测试退出标准后,freeze该项目的源码。
    产品基线化过程:当阶段性文档和项目源码都基线化后,PL提交产品基线化申请书,其中包括产品基线的名称以及该产品基线具有的所有元素的基线名称列表,CMO收到足够信息后,在产品库建立完成的产品基线。
    产品发布过程:PL提交产品发布申请书(产品基线的名称,产品基线中需交付的元素名称列表),CMO获取足够信息后,对待发布元素进行打包,在发布申请书上填写处理结果,待PL确认后,完成产品内部交付过程。
    自动构建过程:通过引入自动构建工具,监控开发库的所有变化,每当开发库有修改,都会触发自动构建,完成后以邮件形式在将修改的文件列表和修改者的信息发给PL和QA和TM,进行三方源码监控,保证源码的有效性和正确性。




上一篇:配置管理的意义
下一篇:小公司如何实施配置管理(二)
[发帖际遇]: shangjie 发帖时在路边捡到 4 (金) 金币,偷偷放进了口袋. 幸运榜 / 衰神榜
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复 论坛版权

使用道具 举报

广告位,,坐下看看秀起来~
果断MARK,前十有我必火!
very good.
众里寻他千百度,蓦然回首在这里!
其实,很多情况下都是这样的,习惯就好。
打酱油的人拉,顺便赚点金币
非常好,顶一下占位编辑
我了个去,顶了
顶不错 支持下
很有借鉴意义,先收藏了,谢谢楼主。
路过的帮顶
以我的经验来看,楼主的想法是可以执行的~
看了LZ的帖子,我只想说一句很好很强大!
很有借鉴意义,先收藏了,谢谢楼主。
您需要登录后才可以回帖 登录 | 注册

本版积分规则



思步组织思步科技|思步网|火花学堂|思步文库|思步问答|思步英才|天下心
© 2007 思步网 浙ICP备10212573号-4(首次备案号:浙ICP备07035264号)|邮箱:service#step365.com(将#换成@)|服务热线:0571-28827450
在线培训课程|求职招聘|思步文库|官方微信|手机APP|思步问答|微博平台|官方QQ群|交流论坛|软件工程透析|关于我们|申请友链|
点击这里给我发消息     点击这里给我发消息
思步 step365 过程改进 CMMI中文 质量保证 质量管理 流程体系 需求跟踪矩阵 敏捷开发 Scrum 软件度量 项目评审 全员改进 流程管理 人力资源 6sigma 信息安全 ISO27001认证 IT服务管理 ISO20000认证 ISO9000认证 软件测试 SQA 配置管理 IPD 软件工程 PMP认证 PMP试题 PMBOK中文 精益研发 agile 顾问式管理培训
返回顶部