構建管理服務
類名 構建管理服務 類英文名 BuildAdmin
成員變量
變量名 變量說明
cvsroot 保存了cvsroot環境變量
buildDir 保存了臨時存放應用項目源代碼的路徑
方法
方法名 參數 執行步驟 方法說明
cvs_check_out 應用項目cvs系統中的名字 利用cvsroot 登錄cvs系統;
執行cvs co指令,把參數制定的應用項目源代碼取出並放在成員變量${buildDir}指定的目錄/項目名字/目錄下。
從cvs中取出項目源代碼
statcvs module:應用項目cvs系統中的名字;
project_Build_Tag:每個項目的當前構建標簽
(1) 對源代碼進行項目度量,並把結果放在${statCVSTopDir}目錄下的${project_Build_Tag}目錄下。 對源代碼進行度量
execute 對每一個應用項目執行:
cvs_check_out
statcvs
執行ProjectBuild的execute()方法
應用項目構建服務
類名 構建管理服務 類英文名 BuildAdmin
成員變量
變量名 變量說明
project_Build_Tag 保存了當前正在構建的項目由項目名稱和當前系統時間組成的構建標簽
方法
方法名 參數 執行步驟 方法說明
test_project 為測試而編譯連接源代碼;
安裝測試版產品;
測試產品;
計算測試覆蓋率;
輸出測試結果到${testTopDir}指定目錄下的${project_Build_Tag}目錄下;
輸出測試覆蓋率結果到${testCoverTopDir}指定目錄下的${project_Build_Tag}目錄下;
dist_project 編譯連接源代碼;
安裝發布版產品到${distTopDir}指定目錄下的${project_Build_Tag}目錄下。
execute 執行test_project方法
執行dist_project方法
把兩個方法的日志合並成一個日志文件,命名為${project_Build_Tag}.txt,並把其放在${ projectLogTopDir }指定的目錄下。
執行場景
構建場景
1.操作系統定時服務類開始執行;
1. 1啟動BuildAdmin對象的execute方法
針對每個被管理的項目,執行下列步驟:
#begin
1.1.1根據當前系統時間和項目名稱生成該項目的構建標簽,並記錄構建標簽
1.1.3以構建標簽為參數生成項目的ProjectBuild對象
1.1.2調用cvs_check_out方法,從cvs系統中取出該項目的源代碼
1.1.3執行statcvs方法,生成項目度量數據並保存到相應的位置
1.1.4調用該ProjectBuild對象的execute方法,完成項目的測試和安裝,並產生相應的構建信息
#end
浏覽構建信息場景
我們已經說過,各個構建信息能實現在browser中的自我展示,所以Nightlybuild對象只需通過某種格式顯示各個構建信息的目錄,構建信息請求者可以通過這些目錄請求各個構建信息。
1.NightlyBuild對象接到浏覽構建信息的請求,通過對自己保存的構建信息目錄和構建標簽列表組織構建信息目錄。
5、文檔書寫輔助工具
word 文檔書寫排版工具
powerpoint,圖片組織繪畫工具
visio 繪制數據流圖,ER圖等的工具
rational rose,繪制UML圖形的工具
windows 附件中的畫圖來截取圖片
操作系統的全屏打印功能
參考資料
進一步學習面向對象的系統分析和設計:《面向對象的系統分析和設計》Ronald J. Norman
《實用面向對象軟件工程教程》殷人昆 田金蘭 馬曉勤 譯
良好的用例編寫風格可以從這裡獲得:《編寫有效用例》 Alistair Cockburm
進一步理解cvs和nightlybuild技術的相關背景資料:《cvs和nightlybuild技術》 楊錦方
cvs源代碼版本系統在:http://www.cvshome.org
statcvs 項目工作量分析工具在:http://statcvs.sf.net/
clover測試覆蓋率分析工具在: http://www.cortexebusiness.com.au/
ant構建工具在:http://ant.apache.org
junit單元測試工具在:http://www.junit.org
apache web程序測試工具在:http://jakarta.apache.org/cactus/
關於作者
龔永生,熱衷J2EE技術,主要研究門戶系統軟件。你可以通過[email protected]與他聯系。
地址(addr): 北京市海澱區上地信息產業基地開拓路7號聯想大廈
郵編 100085
電話(tel): 010-62986638-5749
手機(mobile): 13910304330
傳真(fax): 010-62975824