拋棄強大的TFS ,借助於BugTracker.NET + Visual Source Safe + SourceLink搭建項目開發環境


微軟公司的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

image

源代碼中用固定的格式的字符串標識代碼修改的原因,比如case 45192,Source Links會掃描源代碼文件,識別此字符串,當點擊case 45192時,可以跳到瀏覽器中類似於這樣的地址http://localhost/btnet/edit_bug.aspx?id=45192,查看需求明細內容。另外,還可以做鼠標旋停插件,如上圖所示,它顯示了case 45192的詳細信息。

image

為達到此目的,需要對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>
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM