簡易檢索 / 詳目顯示

研究生: 陳弼暐
Biwei - Chen
論文名稱: Java網頁應用程式再造
An Approach to Re-engineering Legacy Web Applications
指導教授: 林彥君
Yen-Chun Lin
口試委員: 黃為德
Wei-T Huang
陳恭
Kung Chen
吳怡樂
Yi-Leh Wu
林柏慎
Bor-Shen Lin
學位類別: 碩士
Master
系所名稱: 電資學院 - 資訊工程系
Department of Computer Science and Information Engineering
論文出版年: 2007
畢業學年度: 95
語文別: 中文
論文頁數: 59
中文關鍵詞: JSP軟體再造網路應用程式MVC
外文關鍵詞: JSP, software re-engineering, web application, MVC
相關次數: 點閱:199下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報

近年來,Java已經是開發Web-based軟體系統的主流技術之一。由於Web-based軟體系統的開發技術不斷演進,以及開發過程中未考量到應用程式的品質,造成較早期所開發的Web-based軟體系統不易維護、品質不佳以及延伸性(extensibility)較低。除此之外,當這種系統需要與其它新開發的系統整合時,可能會有因為架構不同而無法整合的情況。在這種情形下就必須重新設計或是改進現有系統。與重新設計系統相較之下,改進現有系統可以花費較少的成本。
電腦軟體再造工程(software re-engineering),是ㄧ種低成本、低風險的軟體改進方式。其方法是將原先存在的舊系統用新的方式重新實作,使系統變得更容易維護。本論文提出一個軟體再造方法,透過此方法可以有系統地將舊有Web-based Java軟體系統再造為Model-View-Controller (MVC)架構,以改良軟體系統的品質,讓系統更容易被維護。我們以中央研究院所開發的數位典藏系統為例,利用我們所提出的方法將原始系統再造為MVC架構的系統。


Recently, Java has become one of the mainstream technologies that develop Web applications. The evolution of the Web technologies has made early Web applications difficult to maintain and extend. In addition, it is likely that different architectures of systems result in failure to integrate with one another. Legacy systems can be improved by software evolution, which costs less than re-designing.
Software re-engineering is a low-cost and low-risk approach to software evolution. It re-implements legacy systems in a new way to improve ease of maintenance. This thesis suggests an approach of software re-engineering to improve the quality of software system and ease of maintenance, through which the legacy Web-based Java software system can be systematically re-engineered into Model-View-Controller (MVC) architecture. By using a digital archive system as an example, we demonstrate how a system is re-engineered into an MVC one.

摘要 I ABSTRACT II 誌謝 III 目次 IV 圖表索引 VI 1. 緒論 1 1.1. 軟體再造工程 1 1.2. MODEL-VIEW-CONTROLLER架構 3 1.3. OBJECT-ORIENTED APPLICATION FRAMEWORKS 5 1.4. 相關研究 5 1.5. 論文架構 6 2. 背景知識 8 2.1. JAVASERVER PAGES技術 8 2.2. STRUTS FRAMEWORK 12 2.3. DESIGN PATTERNS 15 2.3.1. Data Access Object 16 2.3.2. Transfer Object 18 2.3.3. Abstract Factory pattern 19 2.3.4. Template Method 20 3. 系統再造方法 23 3.1. 系統再造過程 23 3.2. 系統剖析 25 3.3. 分解JSP PAGES 28 3.4. 模型封裝 30 3.5. 行為封裝 33 3.6. 視圖重建 36 4. 案例實作 37 4.1. 數位典藏國家型科技計畫 37 4.2. 系統剖析 39 4.3. 分解JSP PAGES 44 4.4. 模型封裝 48 4.5. 行為封裝 50 4.6. 視圖重建 53 5. 結論與未來研究方向 58 6. 參考資料 60

[1] 傅斯年善本古籍數位典藏管理系統, http://daal.iis.sinica.edu.tw/Chinese/System/Project.htm.
[2] 善本圖籍後設資料需求規格書0.6(修正版), http://daal.iis.sinica.edu.tw/Chinese/System/AncientBook/Temp/AncientBook0.6.doc.
[3] 數位典藏國家型科技計畫, http://www.ndap.org.tw/.
[4] 數位典藏國家型計畫技術發展組支援計劃一覽, http://daal.iis.sinica.edu.tw/Chinese/System/Project.htm.
[5] 黃建中, 以XML為基礎之後設資料規格儲存庫, 國立台灣科技大學資訊工程研究所, 碩士論文 (2006).
[6] Apache Struts: The Apache Software Foundation, http://struts.apache.org/.
[7] Borland Together Technologies: Borland,
http://www.borland.com/us/products/together/index.html.
[8] Core J2EE Patterns - Data Access Object: Sun Microsystems, http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html.
[9] Core J2EE Patterns - Transfer Object: Sun Microsystems, http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html.
[10] Display tab library 1.1: Displaytag team, http://displaytag.sourceforge.net/11/.
[11] JavaServer Faces: Sun Microsystems,
http://java.sun.com/javaee/javaserverfaces/index.jsp.
[12] JDBC Overview: Sun Microsystems,
http://java.sun.com/products/jdbc/overview.html.
[13] Servlets and JSP Pages Best Practices: Sun Microsystems, http://java.sun.com/developer/technicalArticles/javaserverpages/servlets_jsp/.
[14] Web Services Architecture: W3C, http://www.w3.org/TR/ws-arch/.
[15] E. Armstrong, J. Ball, S. Bodoff, D.B. Carson, I. Evans, D. Green, K. Haase, E. Jendrock, The J2EE 1.4 Tutorial,
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html.
[16] H. Bergsten, JavaServer Faces, O'Reilly, Sebastopol, CA, 2004.
[17] G. Booch, J. Rumbaugh, I. Jacobson, The Unified Modeling Language User Guide, 2nd ed., Addison Wesley, Upper Saddle River, NJ, 2005.
[18] C. Cavaness, Programming Jakarta Struts, 2nd ed., O'Reilly, Sebastopol, CA, 2004.
[19] H.B. Christensen, A Tutorial on Object-Oriented Frameworks, http://www.daimi.au.dk/~ups/Patterns/materials/sp-4.pdf.
[20] T. Connolly, C. Begg, A. Strachan, Database Systems: A Practical Approach to Design, Implementation, and Management, 2nd ed., Addison Wesley, Boston, MA, 1999.
[21] M.E. Fayad, D.C. Schmidt, Object-oriented application frameworks, Communications of the ACM 40 (10) (1997) 32-38.
[22] M.E. Fayad, D.C. Schmidt, R.E. Johnson, Building Application Frameworks: Object-Oriented Foundations of Framework Design, Wiley, New York, NY, 1999.
[23] E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, Boston, MA, 1995.
[24] G.E. Krasner, S.T. Pope, A cookbook for using the model-view-controller user interface paradign in Smalltalk-80, Journal of Object-Oriented Programming 1 (3) (1988) 26-49.
[25] P.B. Kruchten, The 4+1 view model of architecture, IEEE Software 12 (6) (1995) 42-50.
[26] Y. Ping, K. Kontogiannis, Refactoring Web sites to the controller-centric architecture, in: Proceedings of 8th European Conference on Software Maintenance and Reengineering, Tampere, Finland, 2004, pp. 204- 213.
[27] F. Ricca, P. Tonella, I.D. Baxter, Web application transformations based on rewrite rules, Information and Software Technology 44 (13) (2002) 811-825.
[28] I. Sommerville, Software Engineering, 8th ed., Addison Wesley, Boston, MA, 2006.

QR CODE