【摘要】基礎教育資源庫建設是我國教育信息化的重要組成部分。MVC設計模式分離了數據的控制層和數據的表現層,在實現多層Web應用系統中具有明顯的優勢。該論文在軟件工程和設計模式思想的指導下,論述了基于Struts框架的基礎教育資源庫的管理系統的系統設計和實現過程。
【關鍵詞】基礎教育資源庫,管理系統,MVC模式,J2EE,Struts
【中圖分類號】G40-052.4 【文獻標識碼】B 【論文編號】1009—8097(2006)01—0043—04
一、引言
信息技術的飛速發展,帶來了全球信息資源不可逆轉的網絡化發展趨勢。信息技術對人類社會、經濟、文化的影響是全方位、多層次的,對于教育亦是如此。隨著信息化進程的推進,基礎教育中需要大量的課程資源。只有具備了這些資源,教師才能更科學的組織教學,進行信息技術與學科整合,提高學生的信息素養。
然而,在教育信息化進程中,與之相應的網絡資源建設現狀卻不盡如人意,尤其是在我國教育的重心——基礎教育上,“有車無貨”現象更為明顯 。“校校通”工程的推進,鋪設了教育信息化的硬件條件,但教師、學生和家長們更需要的軟件卻明顯捉襟見肘;在新一輪的課程改革中,教師和學生需要與教材同步的素材資源;教學課件的開發占用了教師大量的備課時間;目前的一些資源庫中,有的存在著大量的冗余信息,有的不符合教學規律。這些問題使教師難以運用現代信息技術進行科學組織,因此,在先進教育思想、教育理論指導下的具有較高技術含量的基礎教育資源庫建設被提上了日程。
二、基礎教育資源庫研究現狀
(一) 資源庫的技術實現
客戶機/服務器(Client/Server,簡稱C/S)和瀏覽器/服務器(Browser/Server,簡稱B/S)是目前管理信息系統常用的兩種平臺模式。但隨著Internet技術的迅速發展,目前的基礎教育資源庫都是基于B/S平臺模式的Web管理系統。
我們通過調查20個與互聯網連接的基礎教育資源庫發現,基于Web的開發平臺主要包括J2EE(主要是JSP(Java Server Pages))、ASP(Active Server Pages)、PHP(Profes
sional HyperText PreProcessor)、ASP.NET等。各自所占的比例分別為2:4:3:1。
ASP和JSP和PHP開發的資源庫系統,把HTML代碼和程序語句強耦合在一起,很難分出單獨的業務模型,維護和調試非常困難。而且要求程序的編寫者,既能做網頁設計又能編寫健壯的代碼,但皆備兩種才能的開發人員卻很少。
用J2EE、ASP.NET或PHP開發MVC模式的系統,正好解決了這些問題,MVC從根本上把HTML語言和程序代碼分開,使前臺網頁設計者和程序開發者“各謀其職”,低耦合性使系統更加健壯,代碼重用優點大大提高了系統開發的效率。
(二) 國內外教育資源標準化研究現狀
元數據(Metadata)作為“關于數據的數據”,是數字信息組織和處理的基本數據,它們為各種動態的數字化信息單元和資源集合提供規范、普遍的描述基準和方法,在數字化網絡化信息服務中正發揮著日益重要的作用。然而,隨著數字信息環境本身的發展,元數據的性質、范圍和作用也開始發生演變。
針對不同對象、目的、過程和應用的元數據大量涌現,元數據的開放描述和互操作成為一個基本要求,因此人們普遍要求元數據的定義、描述、管理和維護都遵循一定的開放規范機制,逐步要求元數據應用能夠實現數據交換、利用、轉換和整合,從而支持集成環境下的信息服務。
目前,世界上有很多標準化(學術)組織都正在致力于基于網絡的教育資源標準化的研究,并起草了一些相應規范,其中影響較大的有:IMS(Instructional Management System)的Learning Resource Metadata(學習資源元數據規范),IEEE LTSC(Learning Technology Standards Committee,學習技術標準委員會)的LOM(Learning Object Metadata:學習對象元數據模型)、OCLE(Online Computer Library Center)Dublin Core的Dublin Core元數據標準和我國的《教育資源建設技術規范》等。
三、基于UML的可視化建模系統分析
(一) 系統需求獲取
本次系統的開發吸取了以往系統開發忽視需求獲取和需求管理的教訓,采用了對教師、學生和家長的需求調研來確定本次系統實現功能的范圍,有效的避免了需求獲取過程中往往超出系統邊界的問題。通過對基礎教育資源庫管理系統及管理業務流程的調研,確定了系統應實現的以下各方面功能, 圖1為系統需求用例圖。
1、采用瀏覽器的訪問方式,各種用戶可能通過 Internet來連接網站,打開首頁后,可以按照自己的需求進行操作。
2、用戶管理系統,對各種類別的用戶進行分類及權限管理。
3、網絡計費管理,根據學習內容、學習時間、多媒體信息流量、傳輸的區間、使用的服務方式等項目收取相應的費用。
4、網絡安全管理
5、要具備良好的導航及檢索預覽功能,可按各種分類標準進行模糊和精確檢索。
6、資源管理員能進行資源管理。資源的增、改、刪功能。
7、資源瀏覽和下載,可對網內資源進行瀏覽,會員用戶可以實現資源下載。
8、具備各種資源的遠程提交功能,會員用戶可以通過互聯網遠程提交各種資源。
9、師生在線互動交流。
10、系統以電子貨幣等形式,通過對用戶的注冊時間、
訪問次數或下載次數,來計算應向用戶收取的費用。
(二) 系統分析與建模
1、教育資源標準的選擇
系統選擇的資源建設標準為《教育資源建設技術規范》,它是我國教育部制定的關于資源開發的一個較為寬泛的標準,主要側重點在于統一資源開發者的開發行為、開發資源的制作要求、管理系統的功能要求,而不是規定軟件系統的數據結構,主要從四個角度進行規定:一是資源的技術開發的角度,提出一些最低的技術要求;二是從使用用戶的角度,為方便地使用這些素材,需要對素材標注那些屬性,并從可操作性的角度,規范了屬性的數據類型及編寫類型,這一部分主要參考了國內頒布的元數據模型及IEEE的LOM模型,從制作素材簡便性、使用素材方便性的角度上選取一些最為普通的元素,另外,根據不同教育資源的具體特色,設置一些特色屬性,資源的屬性可以作為資源庫管理系統數據結構的直接依據,也可以教育資源的XML標準標記;三是從資源評審者的角度,提出教育資源的評價標準,作為用戶篩選資源的直接依據;四是從管理者的角度,提出了管理這些素材的管理系統的體系結構以及應具備的一些基本功能。
2、系統分析架構
基于需求分析的確定,并且根據計算機軟件的發展,我們考慮到系統對靈活性、可靠性和開放性的需要以及滿足跨平臺系統開發的需要,本次開發選用了基于J2EE技術的B/S系統架構。從系統結構上采用J2EE標準的4層結構。
3、系統設計模式和框架的選用
系統選擇MVC(Model-View-Controller,即模型-視圖-控制器)設計模式,它強制性的把應用程序輸入、處理和輸出分開,即把應用程序分為三個核心模塊:模型、視圖和控制器,它們分別承擔不同的任務,如圖2顯示了這幾個模塊各自的功能以及它們的相互關系。
在MVC設計模式中,模型響應用戶請示并返回響應數據,視圖負責格式化數據并把它們呈現給用戶,業務邏輯和表示層分離,同一個模型可以被不同視圖重載,所以大大提高了代碼的可重用性。
視圖是用戶看到并與之交互的界面,視圖向用戶顯示相關的數據,并能接收用戶的輸入數據,但是它并不進行任何實際的業務處理;模型是應用程序的主體,模型表示業務數據和業務邏輯,一個模型能為多個視圖提供數據;控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求。
因為一旦系統設計研發的后期發現整個系統采用的框架出現問題或不合適,對項目來說將是災難性的,所以本次開發在系統的架構的選用時,經過慎重考慮,選用了基于J2EE的成熟的框架和結構Struts。
MVC是一種設計模式,Struts是一種框架(Framework),它是基于MVC的Web應用框架,也可以說是在JSP Model2的
基礎上實現的一個MVC框架。
四、資源庫管理系統的設計與實現
系統設計是把需求轉化為軟件系統的最重要的環節。系統設計的優劣在根本上決定了軟件系統的質量。
(一)系統功能設計
根據需求分析,我們也可以把基礎教育資源庫的管理系統功能概況成以下幾個模塊,包括:用戶管理、系統管理、資源管理、交流平臺和電子商務模塊,具體如表1所示。
(二)系統體系結構設計
依據系統的需求分析及J2EE技術的特點,擬定了如下的體系結構,即四層的體系結構:表示層、控制層、業務層和數據層。
如圖3所示,我們采用J2EE四層結構與組件技術的WEB應用系統來進行系統構架,系統的每個模塊都是嚴格遵循四層這樣一個架構模式的。表示層由瀏覽器支持,用戶在客戶端啟動一個瀏覽器,通過網絡連接到JSP/Servlet產生動態Html信息的WEB服務器,再由控制層將用戶要求的服務傳達給業務邏輯層(Java Bean層)來進行相關的分析處理,最后通過查詢數據層的數據庫,得到解答用戶問題的信息,再經過逐層轉化、處理,返回給用戶Web頁面格式信息,也就是用戶在客戶端得到需求的信息。
(三)數據庫設計
數據庫就是存儲在一個或多個文件中的一個永久性的、自描述的數據倉庫。數據庫的設計在一個系統開發中是至關重要的,它的設計好壞直接影響整個系統的性能。
根據需求分析,確定數據庫主要由四-七個表組成,核
心表包括attachfile(附件表)、TechResource(資源主表)、
TempFile(臨時文件表)和SysUser(用戶表),其中AttachFile
存放的是相關文件信息,主鍵為AttachFileOID,外鍵為
resourceID,TechResource(教育資源表)存放的是資源類的基本信息。TempFile是用戶上傳時的臨時文件,SysUser是用戶信息表。
(四)系統實現
基礎教育資源庫管理系統是一個基于Web環境的管理系統,采用已經成熟的Struts框架,在基礎教育資源庫運行時,首先會加載和初始化ActionServlet,ActionServlet從Struts-config.xml文件中讀取配置信息,把它們存放到各種配置對象中,例如Action的映射信息存放到ActionMapping對象中。根據系統設計,設計的系統把各種類封裝根據適用
范圍及應用類型封裝在5個包中,分別為net.tech.base、net.tech.dtos、net.tech.models、net.tech.actions及net.tech.Forms。其中,net.tech.models包中的類,實現了系統的主要操作。主要包括AttachFileControler.java、UserManager.java、PageBean.java、TechResource.java和TempFileControler.java。這些類繼承了BaseController類,如圖4所示。這些類實現了資源管理、用戶管理以及附件的存取。
五、結束語
Struts框架是J2EE比較成熟的框架,開發方式比起Model 1有了很大的進步,但它還是存在以下缺陷:開發者必須學習新的標記——Struts標記庫,但這需要相當長的時間。在JSP實現的View中,并沒有實現真正意義上的處理流水線,只能借助一些基本的包含和轉發功能,這樣做極大的限制了View的靈活性。
在對Struts進行改進的過程中,可以考慮用XML(可擴展標記語言)和XSLT(可擴展樣式表語言轉換)取代JSP來實現View。這樣可以更好的分離業務邏輯和數據表現,使得Web應用程序更接近與MVC所倡導的境界。
參考文獻
[1] 朱凌云,余勝泉.教育資源庫建設的觀念與方法[J].教育技術通訊,2001,4(10):33-35
[2]汪瓊.關于教育資源庫的幾點認識[EB/OL]. http://www.etc.edu.cn.2002
[3] 孫衛琴. 基于MVC的java web設計與開發[M]. 北京:電子工業出版社, 2004:9-11
[4] Govind Seshadri. Exploring the MVC design pattern[DB/OL]. http://www.javaworld. com/javaworld/jw-12-1999/ jw-12-
ssj-jspmvc.html.2004
[5]Gateway to Educational Materials (GEM)[DB/OL].
http://www.geminfo.org.2004
[6] EDNA online (Education Network Australia)[DB/OL]. http://www.edna.edu.au.2005
[7] 張曉林.元數據研究與應用[M].北京:北京圖書館出版社,2002:1-2
*本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文