| 研究生: |
黃菁斌 Chin-Bin Huang |
|---|---|
| 論文名稱: |
設計與實作以設計樣式為基礎之題庫管理系統 Design and Implementation of an Item Bank System based on Design Patterns |
| 指導教授: |
李允中
Jonathan Lee |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 資訊工程學系在職專班 Executive Master of Computer Science & Information Engineering |
| 畢業學年度: | 97 |
| 語文別: | 中文 |
| 論文頁數: | 75 |
| 中文關鍵詞: | 框架 、題庫管理系統 、設計樣式 |
| 外文關鍵詞: | MVC, itembank system, framework, design patterns |
| 相關次數: | 點閱:15 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
為了開發一套具有可維護性(Maintainability)及可重用性(Reusable)的Web-based系統,在系統設計的初期需要把一些非功能性的需求列入系統設計的考量。因此,本論文所開發之題庫管理系統(Item Bank System)在設計初期先對非功能性需求做分析,使用MVC (Model-View-Controller)樣式概念,將系統做分層設計,並選擇了Hibernate Framework及設計樣式對系統各分層之間做分析及管理。系統在資料管理方面採用了ORM (Object/Relation Mapping) 框架,在Model層中也針對常出現的演算法及行為,透過Simple Factory樣式和Strategy樣式之封裝管理,讓系統之間能單純的以物件來做調用。對於系統中一些橫跨性關注(Crosscutting concerns)之需求如系統功能使用授權,此類需求在各個功能模組皆需要被應用或實現,所以採用AOP (Aspect Oriented Programming) 概念來解決,以減少程式重覆的撰寫。根據以上技術進行分析與設計,本研究開發之題庫管理系統具備良好的可擴充性及可重用性。
To develop a reusable and maintainable web-based system, the nonfunctional requirements should be considered in the early phase of system design. We develop a Web-based Item Bank System with layers architecture by using the MVC (Model-View-Controller) design pattern. The system uses ORM (Object/Reation Mapping) of Hibernate framework to manage the data transactions. We use Simple Factory and Strategy design patterns to encapsulate the algorithms and behaviors that will occur many times in the model of MVC. Such encapsulations can reduce program coupling and be reused in difference applications. Furthermore, the system uses the concept of AOP (Aspect Oriented Programming) to solve the “Crosscutting concerns” issue that is the function requirement crossing many system modules (Ex. the user authorization). By using the techniques mentioned before, therefore, the Item Bank System is extensible and reusable.
[1] Apache Software Foundation, Struts1, December 2008. http://struts.apache.org/.
[2] Jsp Insider, "How Struts Work".
http://www.jspinsider.com/content/jsp/struts/struts.jsp.
[3] Red Hat, Hibernate3.1.3, Mar 2006. http://www.hibernate.org.
[4 ] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, "Design Patterns: Elements of
Reusable Software", Addison Wesley, 1994.
[5] F. Buschmann, R. Meunier, H. Rohnert , P. Sommerlad, M. Stal, "Pattern-Oriented Software Architecture Volume 1: A System of Patterns", Wiley, 1996.
[6] Ralph E. Johnson. "Documenting Frameworks using Patterns", SIGPLAN
Not. (27:10), 1992, pp.63-76.
[7] Springsource, Spring, http://www.springsource.org/.
[8] Apache Software Foundation, Tapestry, http://tapestry.apache.org/.
[9] Sun Microsystems, JavaServer Faces, http://java.sun.com/javaee/javaserverfaces/.
[10] 張弘明, "以整合式教練引導開發以框架為基礎的專案", 國立中央大學資訊管理學系碩士論文, 2007年7月.
[11] 黃石欽, "Model-View-Controller(MVC)架構之整合設計與實務應用", 私立中原大學應用數學研究所碩士論文, 2002年.
[12] 薛念林, 賴聯福, 張世璟, "應用設計樣式以實作MVC架構", 第十四屆物件導向技術及應用研討會, pp:185-192, 2003年9月.
[13] 陳恭, "剖面導向程式設計(AOP/AOSD)簡介", 國立政大資科系刊第二期, 2007年5月.
[14] 程杰, "大話設計模式", 悅知文化, 2009年3月.
[15] 梁立新編著, "基於Struts-Spring-Hibernate的Java應用開發", 文魁資訊, 2007年10月.
[16] 閻宏, "Java與樣式實作", 碁峯, 2003年9月.
[17] 結城浩著, 李于青譯, "Design Patterns於Java語言上的實習應用", 2002年2月.
[18] 計劃主持人 林敏慧, 共同主持人 陳慶帆, 計劃參與人員:梁曉慧, 邱旻成,
林佑勲, 范建銘, 黃馨瑩, "以QTI為標凖之樣版測驗機制", 行政院國家科學
委員會專題研究計劃, 2005年10月.
[19] IMS Global Learning Consortium, QTI , http://www.imsglobal.org/question/