為了開發一套具有可維護性(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.