微软公司的Team Foundation Server是个强大的项目管理工具,如果用.NET开发,它应该是首选的项目管理平台。TFS的成本比较高,而且和Visual Studio集成紧密。比如TSF有些功能必需和Visual Studio配合才行,比如新建项目,必须在Visual Studio中完成。TFS必须要用SQL Server作为数据存放平台。这样导致运行TFS必须对微软的这几个产品都要购买许可,费用相当贵。 Team Foundation Sever另一个不好的方面是对硬件的消耗相当高,4G内存跑起来都有些吃力,再和微软的SharePoint组合起来,一般的公司都承受不了这样的成本,且不说软件费用,仅仅是硬件方面都难达到要求。

言归正转,项目管理一般涉及到源代码版本控制和需求管理。多人团队开发时,用源代码管理可以节省很多代码冲突时的合并时间,如果再能配合一个需求管理工具,把代码中的每一种修改关联到需求记录中去,这样就很完美了。TFS中令我相当着迷的地方就是Changeset变更集可以直接链接到需求记录(Bug或Enhancement)。每个Bug后面都有Link选项,以此作为关联,在以后查找问题原因时带来很多便利。

没有金刚钻,小米加步枪也可以漂亮的干活,来看我是如何组合这三个工具以搭建项目开发环境。

源代码管理 安装好Visual Source Safe 2005,这是此软件最后一个版本,简单方便稳定。就是自己独立做项目也经常用它,可以记录每次对代码的变更,在维护阶段会节省大量时间。

需求管理 选用BugTracker.NET,其它的第三方的免费的或是商用的工具找了很多。主要考虑的方面是简单,硬件消耗低,可维护,稳定。非.NET开发的需求工具一率不用,原因是用.NET开发的系统,自己查找原因和维护起来方便。Ruby,PHP,JSP技术只简单的了解,要是用这些技术写的需求工具出了问题,又要折腾的去学这些技术查找原因。已经30+程序员了,不喜欢折腾,不喜欢玩技术,喜欢用简单的方法把目的达到。

硬件消耗低,动不动就几百MB的东西,看起来比较吓人,维护起来肯定不容易。最好是开源的系统,以后能写一些扩展或是代码对它进行扩充。最后,要稳定,不能一装上去就报N个错误。需求管理工具一般都是B/S架构的,ASP.NET写的最好,自己以前是ASP.NET程序员出身,可以解决维护难题。能有个Visual Studio AddIn或是C/S的更方便,实在找不到,自己看数据库表结构也可以写一个。鉴于这些原因,最终选BugTracker.NET。

第三,我还想把代码中的变更直接Link到需求管理工具中。每一个需求,都会对代码进行相应的变更,为了追踪方便,我想代码中的各地方的修改,直接关联到需求工具中。经过搜索,Whole Tomato Software出品的SourceLinks满足我的需求。Whole Tomato Software是大名鼎鼎的Visual Assist X工具的开发商,VC++程序员必备工具之一。

SourceLinks是免费工具工具,设计原理也比较简单。可以从以下地址获取它:

http://www.wholetomato.com/products/sourcelinks/default2.asp

源代码中用固定的格式的字符串标识代码修改的原因,比如case 45192,Source Links会扫描源代码文件,识别此字符串,当点击case 45192时,可以跳到浏览器中类似于这样的地址http://localhost/btnet/edit_bug.aspx?id=45192,查看需求明细内容。另外,还可以做鼠标旋停插件,如上图所示,它显示了case 45192的详细信息。

为达到此目的,需要对Bug Tracker.NET进行简单的修改,改成自动登陆模式或是改成域用户验证方面,以避免跳转到需求明细时,要求输入用户名和密码。从下载回来的Bug Tracker.NET文件包中,进入www目录,找到default.aspx文件,直接在用户名和密码的控件的地方,输入控件值,默认的用户名和密码均是admin。跳到108行,加入代码on_logon();即可。

<td class=lbl>User:</td>
	<td><input runat="server" type=text class=txt id="user" value="admin"></td>
	</tr>

	<tr>
	<td class=lbl>Password:</td>
	<td><input runat="server" type=password class=txt id="pw" value="admin"></td>
	</tr>
 
 

抛弃强大的TFS ,借助于BugTracker.NET + Visual Source Safe + SourceLink搭建项目开发环境的更多相关文章

  1. 使用visual studio 2013 快速搭建phonegap开发环境

    前一段时间开发了一款简单的Phonegap应用,遇到了很多坑,其中有一个坑就是在搭建开发环境上.由于Phonegap 2.x 与3.x 区别比较大,导致了开发环境也有所不同.2.x 是这样的http: ...

  2. 版本管控---Visual Source Safe(VSS)和Team Foundation Server(TFS)

    Visual Source Safe 是用于软件专业开发人员的源代码管理工具 Team Foundation Server是为开发团队提供集成源代码管理.问题跟踪和进程管理的更改管理系统 相同点 1. ...

  3. 使用Visual Studio Code搭建TypeScript开发环境

    使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...

  4. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

  5. Windows下visual studio code搭建golang开发环境

    Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...

  6. Visual Studio Code中配置GO开发环境

    在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...

  7. Cocos发展Visual Studio下一个libcurl图书馆开发环境的搭建

    我们解释win32在Visual Studio下一个libcurl图书馆开发环境的搭建.Cocos2d-x发动机实际上与Win32在访问libcurl库.Cocos2d-x 3.x在libcurl库文 ...

  8. 使用Visual Source Safe 2005 - 初学者系列 - 学习者系列文章

    本文介绍微软的Visual Source Safe 2005工具的使用 1.  打开该软件,选择“新建数据库” 2.  显示欢迎页 3.选择路径.这里是服务器上代码存放的目录. 4.这里选择第一项 5 ...

  9. 安装Visual Source Safe 2005 - 初学者系列 - 学习者系列文章

    本文介绍微软的文档管理工具Visual Source Safe 2005的安装 从下列地址获取该工具: ed2k://|file|en_vss_2005.iso|108048384|C4BEC1EC3 ...

随机推荐

  1. angular.element的常用方法

    addClass()-为每个匹配的元素添加指定的样式类名after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点append()-在每个匹配元素里面的末尾处插入参数内容att ...

  2. 词频统计web

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  3. PHP中关于位运算符 与 或 异或 取反

    <?php /** * author:LMS * createTime:2015/07/22 * desctiption:位运算[ & | ^ ~ ] * 与&:如果a.b两个值 ...

  4. Texture2D.GetPixelBilinear(float u, float v)的使用,官方例子注释

    using UnityEngine; using System.Collections; public class TEST : MonoBehaviour { public Texture2D so ...

  5. [1002]prime

    输入一个数,判断其是否为素数: 本题有多组测试样例. 输入规则如下: 第一行为一个整数,样例组数T: 第二至第t+1行每行都有一个整数a(a >= 2),表示需要处理的数: 如果是素数则输出“y ...

  6. Inno Setup 下载安装

    Inno Setup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件. 目前 ...

  7. 《利用Python进行数据分析》第123章学习笔记

    引言 1 列表推导式 records = [json.loads(line) for line in open(path)] 这是一种在一组字符串(或一组别的对象)上执行一条相同操作(如json.lo ...

  8. haproxy的使用

    假如 www.example.com想要使用haproxy作为代理,则要在自己的 dns服务器设置AAAA记录对应于haproxy机器的IP. 这样访问www.example.com其实就访问了hap ...

  9. ABP入门系列(4)——领域层定义仓储并实现

    一.先来介绍下仓储 仓储(Repository): 仓储用来操作数据库进行数据存取.仓储接口在领域层定义,而仓储的实现类应该写在基础设施层. 在ABP中,仓储类要实现IRepository接口,接口定 ...

  10. Android 自定义ViewGroup

    前面几节,我们重点讨论了自定义View的三板斧,这节我们来讨论自定义ViewGroup,为什么要自定义ViewGroup,其实就是为了更好的管理View. 自定义ViewGroup无非那么几步: Ⅰ. ...