跳到主要內容

臺灣博碩士論文加值系統

(44.201.97.138) 您好!臺灣時間:2024/09/20 15:19
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:張勝雄
研究生(外文):Hsiung Sheng Chang
論文名稱:JCIS3:一個支援跨平台專案的持續整合系統
論文名稱(外文):JCIS3: A Continuous Integration System for Cross-Platform Projects
指導教授:鄭有進鄭有進引用關係謝金雲
口試委員:劉立頌李允中
口試日期:2009-06-29
學位類別:碩士
校院名稱:國立臺北科技大學
系所名稱:資訊工程系研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2009
畢業學年度:97
語文別:中文
論文頁數:53
中文關鍵詞:跨平台專案持續整合
外文關鍵詞:Cross-Platform ProjectsContinuous Integration
相關次數:
  • 被引用被引用:9
  • 點閱點閱:303
  • 評分評分:
  • 下載下載:2
  • 收藏至我的研究室書目清單書目收藏:0
本論文將探討持續整合系統如何支援跨平台專案與大型專案的開發,並實作一個支援跨平台專案的持續整合系統——JCIS3。我們擴充過去持續開發的系統——JCIS2,其擴充與改善系統如下:(1)支援跨平台建構:越來越多的軟體專案需要支援多個不同的軟硬體平台。由於現有的持續整合系統中,大多沒有考量跨平台專案的因素,因此必須針對專案所支援的平台各別安裝一套系統,當專案所支援的平台越多時,即造成使用與維護上的困難。我們將改善系統使其能支援跨平台建構,所有平台的整合結果將呈現在一個整合報表中。(2)減少相依專案的建構頻率與問題:隨著軟體系統規模逐漸擴大,專案擁有數以萬計的原始碼已成為常態。大型專案雖能分割數個子專案以執行專案建構,但因建構方式使得系統需耗費較多建構時間於未變動之專案,以致於無法快速反應專案整合問題。我們將改善JCIS2之相依專案建構的方式,每次整合建構時,並非重新整合建構整個專案,而是建構有變動與其相依的專案,讓開發人員快速得到專案之間的整合問題,以鼓勵開發人員更頻繁地簽入原始碼。
This thesis reports two new results on our continuing work on the development of JCIS2, a continuous integration system. (1) Supporting cross-platform builds: For software that must run on multiple platforms, managing builds becomes costly and cumbersome in existing continuous integration system since an individual instance of the CI system must be installed per target platform. The first enhancement is to allow a single installation of JCIS to work with multiple target platforms, such as Linux, Windows XP and Windows Vista, etc., assuming that build environments are already installed on the target platforms. (2) Supporting minimum integration builds through project dependencies: Large projects are often broken down into a number of interdependent subprojects. To minimize time on builds that take place on source code changes in the version control system, JCIS is enhanced to exploit project dependencies in such a way that, instead of rebuilding the entire project, only the dependent projects are re-built. Cutting down build time encourages developers to check in frequently.
摘 要 i
ABSTRACT ii
致 謝 iii
目 錄 iv
表目錄 vi
圖目錄 vii
第一章 緒論 1
1.1 研究背景與動機 1
1.2 研究目標 2
1.3 論文組織架構 3
第二章 相關技術與研究 4
2.1 現有的持續整合系統 4
2.1.1 CruiseControl 4
2.1.2 AntHill OS 5
2.1.3 Gump 5
2.1.4 Continuum 5
2.2 現有的持續整合系統與JCIS3之功能比較 5
2.3 使用相關技術 7
2.3.1 JavaSpaces 7
2.3.2 JCIS2 8
第三章 系統需求的研究與分析 9
3.1 持續整合的運作概念 9
3.2 系統需求分析 11
3.2.1 跨平台建構 11
3.2.2 相依專案的通知建構 11
3.3 使用案例 12
3.3.1 設定整合工作的整合環境 13
3.3.2 執行跨平台建構 14
3.3.3 通知相依性專案建構 15
3.4 領域模型 15
3.5 領域物件的行為分析 18
3.5.1 Integrator執行跨平台建構的流程 18
3.5.2 多個Integration Station取得指定整合環境的整合工作 19
3.5.3 相依專案建構通知 20
第四章 系統架構與設計 21
4.1 系統架構 21
4.2 跨平台建構的設計 22
4.2.1 整合工作的環境描述 23
4.2.2 Integration Station取得與佈署的平台環境相符的整合工作 28
4.2.3 Integrator執行跨平台建構 35
4.3 相依專案建構通知的設計 38
第五章 系統應用範例 41
5.1 專案跨平台建構範例 41
5.2 相依專案建構通知範例 45
第六章 結論 49
6.1 本研究貢獻 49
6.2 後續研究 50
參考文獻 52
[1]K. Beck, Extreme Programming Explained: Embrace Change 2nd, Addison-Wesley, 2004.
[2]S. McConnell, Rapid Development, Microsoft Press, 1996.
[3]S. McConnell, Code Complete, 2nd, Microsoft Press, 2004.
[4]Martin Fowler, Continuous Integration, http://www.martinfowler.com/articles/continuousIntegration.html.
[5]Paul M. Duvall, Steve Matyas, Andrew Glover, “Continuous Integration: Improving Software Quality and Reducing Risk” Addison-Wesley, June 2007.
[6]R. Owen Rogers, Scaling Continuous Integration. http://www.springerlink.com/content/chuw57jp8mgakwqm/
[7]Michael A. Cusumano and David B. Yoffie, “WHAT NETSCAPE LEARNED FROM CROSS-PLATFORM SOFTWARE DEVELOPMENT”, Communications of the ACM, 1999.
[8]Alexandre Duarte, Gustavo Wagner, Francisco Brasileiro, Walfredo Cirne, “Multi-Environment Software Testing on the Grid”, International Symposium on Software Testing and Analysis, 2006.
[9]歐伯浩, “JCIS2:一個分散式持續整合系統”, 台北科技大學 資訊工程系碩士學位論文, July 2008.
[10]Eric Freeman, Susanne Huper, Ken Arnold, “JavaSpaces Principles, Patterns, and Practice”, Pearson Education, June 1999.
[11]謝金雲, SyncFree: 一個使用Java技術開發之開放原始碼個人資料同步, 國科會自由軟體專案研究計劃, 計畫編號92-2218-E-027-020.
[12]鄭有進, WiMAX無線整訊系統軟體與工具開發(II)子計畫十一:WiMAX通訊軟體發展之持續整合系統(II), 計畫編號 96-2218-E-027-017.
[13]吳家豪, “支援JAVA應用程式發展的持續整合系統-JCIS”, 台北科技大學 資訊工程系碩士學位論文, June 2006.
[14]CruiseControl, http://cruisecontrol.sourceforge.net/.
[15]Apache, Ant, http://ant.apache.org/.
[16]NAnt, http://nant.sourceforge.net/.
[17]Apache Maven, http://maven.apache.org/.
[18]CI on multiple platforms with CruiseControl, http://confluence.public.thoughtworks.org/display/CC/MultiplePlatforms/.
[19]Apache Gump, http://gump.apache.org/.
[20]Apache Continuum, http://maven.apache.org/continuum/.
[21]Anthill OS, http://www.anthillpro.com/html/products/anthillos/default.html/.
[22]JINI, http://java.sun.com/developer/products/jini/index.jsp/.
[23]AStyle, http://astyle.sourceforge.net/astyle.html/.
[24]Erich Gamma, Kent Beck, “Contributing to Eclipse: Principles, Patterns, and Plug-Ins”, Addison-Wesley, October 2003.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
無相關期刊