(3.238.249.17) 您好!臺灣時間:2021/04/12 12:51
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
: 
twitterline
研究生:謝慕憶
研究生(外文):Mu-Yi Hsieh
論文名稱:以Web應用程式資料庫遷移至雲端為目的之重構方法:以ezScrum為例
論文名稱(外文):Refactoring for Migrating Web Application Database to the Cloud : A Case Study for ezScrum
指導教授:謝金雲
指導教授(外文):Chin-Yun Hsieh
口試委員:鄭有進陳建村
口試委員(外文):Yu Chin ChengChien-Tsun Chen
口試日期:2013-06-24
學位類別:碩士
校院名稱:國立臺北科技大學
系所名稱:資訊工程系研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2013
畢業學年度:101
語文別:中文
論文頁數:59
中文關鍵詞:雲端服務Web應用程式資料庫遷移重構壞味道
外文關鍵詞:Cloud ServiceWeb ApplicationDatabase MigrationRefactoringBad Smell
相關次數:
  • 被引用被引用:1
  • 點閱點閱:316
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
近年來由於雲端運算的技術發展迅速,促使軟體開發者運用雲端運算的優勢將Web應用程式遷移至雲端上,讓使用者能夠依個別需要選擇自行安裝或使用其雲端的服務。為因應遷移所需,團隊可運用重構現有軟體架構的方式,以減低團隊重複開發軟體元件的負擔。然而,由於各雲端平台提供的資料庫類型有所不同,將Web應用程式遷移至雲端平台時,經常為了增加新的需求而破壞現有軟體的架構,導致維護成本提高。本論文以系統欲加入多租戶的概念為依據,針對Web應用程式資料庫遷移至雲端平台提出一個重構方法,供團隊能藉以重構其Web應用程式,增加遷移系統的程式碼重複使用率,並降低團隊使用面向導向程式技術完成多租戶的系統需求的人力成本。本論文以一個Java Web應用程式- ezScrum遷移至Google App Engine為案例,驗證此重構方法的可行性。

To benefit from multi-tenant cloud computing, web applications can be migrated to a suitable cloud platform. In so doing, certain aspects in the existing web application need to be changed. In this thesis, we consider the problem of database migration to support multi-tenancy. Refactoring is performed to get the web application ready for applying aspect-oriented programming for introducing the multi-tenancy features. As demonstrated with the case of migrating Java web application ezScrum to Google App Engine, good code reuse can be achieved by applying the proposed method.

摘要 i
ABSTRACT ii
誌謝 iii
目錄 iv
表目錄 vi
圖目錄 vii
第一章 緒論 1
1.1 研究背景與動機 1
1.2 研究目標 3
1.3 論文組織架構 3
第二章 背景知識及相關研究 4
2.1 工作完成準則 4
2.2 重構 4
2.3 雲端軟體服務特性 5
2.4 相關研究 6
第三章 ezScrum架構之分析與重構 7
3.1 ezScrum架構之分析 7
3.1.1 ezScrum架構之說明 7
3.1.2 ezScrum架構之問題說明 11
3.2 Web應用程式常發生之問題說明 13
3.3 ezScrum架構之設計 14
3.4 雲端平台分析 16
3.5 重構方法 17
3.5.1 步驟1:移除系統中不被使用到的模組 18
3.5.2 步驟2:探討系統架構 18
3.5.3 步驟3:調整系統架構 18
3.5.4 步驟4:根據系統架構樣式找出資料庫存取物件,並將共同使用商業邏輯移至商業模組裡 19
3.5.5 步驟5:移除資料庫存取物件沒有使用的函式 19
3.5.6 步驟6:參考J2EE 樣式,找出適合系統的樣式 20
3.5.7 步驟7:制定團隊的DoD 20
3.6 需求分析 21
第四章 案例探討 23
4.1 ezScrum重構方法之成果說明 23
4.1.1 步驟1:移除不屬於ezScrum的功能需求 24
4.1.2 步驟2:探討ezScum架構,並提出一個雛形的系統架構 24
4.1.3 步驟3~步驟6:以兩個實際範例輔助說明 29
4.1.4 步驟7:制定ezScrum DoD 38
4.2 Google App Engine平台特性之實作說明 40
4.2.1 多租戶管理 40
4.2.2 租戶間資料隔離 40
4.3 ezScrum壞味道之解決方法 41
4.3.1 重複的程式碼 41
4.3.2 發散式變化 43
4.3.3 不適當的函式或模組命名 44
4.3.4 過長的參數列 45
4.4 結論 46
第五章 ezScrum重構之數據分析 47
5.1 程式碼數量之分析 47
5.1.1 ezScrum移除不屬於系統需求之程式碼分析 47
5.1.2 ezScrum重構前後之程式碼分析 48
5.2 程式碼重複使用率之分析 49
5.2.1 遷移資料庫之程式碼重複使用率分析 52
5.2.2 新增雲端特性之程式碼重複使用率之分析 54
第六章 結論與未來研究方向 56
6.1 結論 56
6.2 未來研究方向 56
參考文獻 58


[1]M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts, Refactoring: Improving the Design of Existing Code: Addison-Wesley Professional, 1999.
[2]D. Alur, J. Crupi, and D. Malks , Core J2EE Patterns: Best Practices and Design Strategies, 2/e: Prentice Hall, 2003, pp. 177-193.
[3]M. Fowler, Patterns of Enterprise Application Architecture: Addison-Wesley Professional, 2002, pp. 17-24, pp.116-124, pp. 160-182.
[4]E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design patterns: Elements of Reusable Object-Oriented Software: Addison-Wesley, 1998.
[5]B. Burke, RESTful Java with JAX-RS: O''Reilly Media, 2009.
[6]J. S. Poulin, Measuring Software Reuse: Principles, Practices, and Economic Models: Addison-Wesley Professional, 1996.
[7]W. Frakes and C. Terry, "Software reuse: metrics and models," ACM Comput. Surv., vol. 28, 1996, pp. 415-435.
[8]D. Concha, J. Espadas, D. Romero, and A. Molina, "The e-HUB evolution: From a Custom Software Architecture to a Software-as-a-Service implementation," Computers in Industry, vol. 61, 2010, pp. 145-151.
[9]H. Cai, N. Wang, and M. J. Zhou, "A Transparent Approach of Enabling SaaS Multi-tenancy in the Cloud," in Services (SERVICES-1), 2010 6th World Congress on, 2010, pp. 40-47.
[10]Q. H. Vu and R. Asal, "Legacy Application Migration to the Cloud: Practicability and Methodology," 2012 IEEE Eighth World Congress on Services, 2012.
[11]吳家豪,支援JAVA 應用程式發展的持續整合系統-JCIS,碩士論文,國立臺北科技大學資訊工程系碩士班,台北,2006。
[12]徐天送,軟體遷移方法:將應用程式從網際網路遷移至雲端與導入軟體生命週期管理之方法論,博士論文,國立臺北科技大學資訊工程系博士班,台北,2012。
[13]曾得宇,一個基於ezScrum插件框架的工作完成準則建構輔助工具,碩士論文,國立臺北科技大學資訊工程系碩士班,台北,2012
[14]Jenkins. Available: http://jenkins-ci.org/.
[15]CloudBees. Available: http://www.cloudbees.com
[16]redmine. Available: http://www.redmine.org/
[17]bitnami. Available: http://bitnami.com/
[18]What is Definition of Done. Available: http://www.scrumalliance.org/articles/105-what-is-definition-of-done-dod
[19]ezScrum. Available: http://scrum.tw/index.php/ezscrum .
[20]Scrum. Available: http://www.scrumalliance.org/
[21]ExtJS. Available: http://www.sencha.com/products/extjs
[22]SOAP. Available:http://www.w3.org/TR/soap/
[23]Mantis. Available: http://www.mantisbt.org/
[24]Subversion. Available: http://subversion.tigris.org/.
[25]Struts Action Test. Available: http://strutstestcase.sourceforge.net/
[26]Robot Framework. Available: http://code.google.com/p/robotframework


電子全文 電子全文(本篇電子全文限研究生所屬學校校內系統及IP範圍內開放)
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
無相關期刊
 
系統版面圖檔 系統版面圖檔