谈谈源代码管理那点事儿(二)——SVN和TFS,你选谁?

SVN简介:

  SVN全名Subversion,即版本控制系统。SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。

  具体功能和使用说明的话,我就不多说了。相信大家也都用过很多了。大部分的合作项目都是在上面进行了。

TFS简介:

 全名:visual studio Team Services。是微软的一款ALM(Application Lifecycle Management )软件项目生命周期管理工具,用来管理您的源代码、文档等存储库、生成过程、测试基础架构和实验室部署,同时轻松进行协作和报告状态。Team Foundation Server 很好的支持各种规模的团队开发,以便您连接、协作和按时交付。

 让我们从一个软件开发团队的不同角色来进行一个简单的功能说明。

1、项目经理:

 初始化项目:新项目、设定软件过程、配置项目门户、配置源代码管理、创建迭代、设置代码迁入策略、上传项目相关文档;

 组织团队及团队成员分配权限

 用工作项跟踪管理项目:跟踪管理QoS 需求、跟踪管理功能性需求、跟踪管理任务、跟踪管理BUG 、跟踪管理风险

 项目分支和合并

 基线管理

 设置警报和通知

 案例演练

2、架构师:

使用用例图、类图、活动图、序列图、包图和部署图

验证架构

非功能性需求设计

反向工程:从代码到架构视图

3、开发人员

版本管理:迁入、签出、分支、合并、解决冲突、搁置和签出搁置、将迁入和工作项关联;

代码走查与代码重构

代码覆盖分析、代码静态分析、性能探测

单元测试:测试驱动开发模式

4、测试人员:

测试计划和测试用例

集成测试、系统测试、需求确认测试、发行测试;

WEB项目测试

UI自动化测试

跟踪BUG

案例

5、配置管理人员:

构建服务

实验室管理器

创建新的构建类型、执行构建、查看构建、构建产生工作项

持续化集成

简单粗暴的对比:

1、是否开源?

    SVN,是。

     TFS,否。

2、用户体验度?

     SVN: 代码的Commit和Check out和更快,操作上更简单,学习成本低。作为源代码管理,很不错!但是功能有限

     TFS:功能强大,全生命周期的管理都有,从设计一直到开发、测试、构建部署。操作比较复杂。学习成本较高。

3、实施难以程度?

     SVN:简单,实施起来容易,服务端搭建较容易。其他开发成员,只需要安装客户端就能使用。

     TFS:复杂,安装、配置和部署过程比较繁琐。团队开发大型项目,能够在权限上做很好的控制,而且可以做分授权。在实施全生命周期的管理上,很难全部落实下来。一旦项目的资料越来越多的时候,大家就逐渐失去了探索和发现的耐心了。

4、效果?

      SVN:源代码、文件版本控制上,短小精悍,能充分满足版本控制的需求!但是权限控制上,还有提升空间。

       TFS:全生命周期管理,协作方便。管理上统一,权限控制做的很不错!一次付费,“受益终生”。

小结:如何抉择?我的建议是,根据自己公司的情况来,如果开发的项目不大(代码量不超过50万行),项目团队人员不多(不超过100人),可以使用SVN做源代码和文档的版本控制,至于测试和需求,则可以用一些其他的开源工具,比如:禅道、confluence。对于,大型项目和开发团队的话,建议使用tfs。再加上,现在微软也逐渐开始拥抱开源了!



  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 29
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值