摘要:提出一種基于DBO和AJAX技術(shù)的教學(xué)管理系統(tǒng)實現(xiàn)方式,詳細討論了其體系結(jié)構(gòu)、系統(tǒng)設(shè)計;最后給出了作業(yè)管理模塊的部分詳細設(shè)計和實現(xiàn)。系統(tǒng)使用UML作為系統(tǒng)分析建模的工具,使用VS2005作為開發(fā)平臺,從而使得系統(tǒng)開發(fā)維護方便,系統(tǒng)可擴展性強。
關(guān)鍵詞:DBO;AJAX;教學(xué)管理系統(tǒng);UML
中圖分類號:TP315;G434 文獻標(biāo)識碼:A文章編號:1009-3044(2008)19-30065-03
The Design and Realization of Teaching Management System Based on DBO and AJAX Technology
WU Yu
(Institute of Computer Science, Chongqing Three Gorges University, Wanzhou 404000, China)
Abstract: This paper presented a way to realize teaching management system based on DBO and AJAX, the structure and the design of the system. A part of implementation of homework management module was illustrated. UML was used as the tools of system analysis and modeling. VS2005 was the development platform in this system and it made it easy to maintain and extent.
Key words: DBO; AJAX; Teaching management system; UML
1 問題的提出
隨著全球信息化、網(wǎng)絡(luò)化進程的發(fā)展,許多政府、企事業(yè)單位相繼將大量的資金、技術(shù)投入到信息化建設(shè)之中。在信息化建設(shè)的過程中,一個重要舉措就是實現(xiàn)辦公自動化。辦公自動化(OA,Office Automation)是辦公信息處理的自動化,它利用先進的技術(shù),使人的各種辦公業(yè)務(wù)活動逐步由各種設(shè)備、各種人機信息系統(tǒng)來協(xié)助完成,達到充分利用信息,提高工作效率和工作質(zhì)量,提高生產(chǎn)率的目的。
隨著Internet的迅速發(fā)展,基于Web的應(yīng)用以其圖文并茂、方便快捷等特點已深入人心,而傳統(tǒng)的C/S方式辦公系統(tǒng)的固有缺點逐漸暴露出來,如:運營維護成本高、版本更新困難、占用大量資源等[1]。因此,采用B/S方式設(shè)計辦公系統(tǒng),是辦公系統(tǒng)發(fā)展的必然趨勢。本文設(shè)計了一種基于B/S方式的教學(xué)管理系統(tǒng),它涵蓋了高校教師課程教學(xué)管理的常用流程,具有較強的通用性。
2 系統(tǒng)總體結(jié)構(gòu)設(shè)計
B/S模型是當(dāng)前最為流行的多層數(shù)據(jù)庫模型之一[2]。Browser是指諸如IE、Netscape和Firefox等瀏覽器,Server包括應(yīng)用程序服務(wù)器和數(shù)據(jù)庫服務(wù)器?;贒BO和AJAX技術(shù)的教師教學(xué)管理系統(tǒng)采用B/S模式的三層體系結(jié)構(gòu),分別為客戶層、應(yīng)用程序服務(wù)層和數(shù)據(jù)庫層[3]。客戶層即Browser端主要包括學(xué)生,教師和管理人員入口,應(yīng)用程序服務(wù)層和數(shù)據(jù)庫層即Server端包括應(yīng)用程序服務(wù)器和數(shù)據(jù)庫服務(wù)器,分別采用IIS6.0和SQLServer2000(企業(yè)版)。
根據(jù)高校教學(xué)管理的工作實際,對常規(guī)的教學(xué)信息管理的內(nèi)容進行分類總結(jié),確定了教學(xué)管理信息系統(tǒng)組成的五大模塊[4],即:用戶信息管理、教學(xué)管理、課程管理、成績管理、系統(tǒng)管理,如圖1所示。它們之間既有一定的獨立性,又要進行數(shù)據(jù)和信息的傳遞來保證數(shù)據(jù)的共享和一致[5]。
■
圖1 教學(xué)管理系統(tǒng)模塊劃分
1)用戶信息管理模塊主要包括用戶的登陸驗證信息以及用戶基本信息。用戶分為學(xué)生、教師、管理員三種類型,而系統(tǒng)的實際應(yīng)用要求將權(quán)限細化,比如某些學(xué)生也可以具有與助教相同的教師權(quán)限,而某些教師也能夠具有超級管理員的某部分特權(quán)權(quán)限,那么僅僅三類角色類型就是不夠的,因此本系統(tǒng)采用RBAC模型以決定用戶權(quán)限,使用戶權(quán)限得到細化。
2)教學(xué)管理模塊是整個系統(tǒng)的核心模塊,具有如下功能:①教學(xué)公告子模塊,即教師可以通過該模塊提供的功能向?qū)W生發(fā)布教學(xué)計劃、課程表安排、課程臨時變動、考試日程安排以及臨時通知等信息。②作業(yè)管理子模塊主要是教師通過教學(xué)管理系統(tǒng)在網(wǎng)絡(luò)上發(fā)布作業(yè),定義作業(yè)要求、完成時限以及評分規(guī)則;學(xué)生上網(wǎng)查詢作業(yè),并按照教師的要求完成作業(yè)并上傳作業(yè)內(nèi)容給教師;教師集中批閱作業(yè)并給出作業(yè)成績以及評語,供學(xué)生查詢作業(yè)結(jié)果以便更正錯誤。③評教子模塊主要是學(xué)生對教師的教學(xué)工作提出意見,以便讓教師的教學(xué)更有針對性和時效性。④教學(xué)資料共享子模塊提供對該門課程相關(guān)資源的上傳和下載,教師可以通過該方式提供電子版本的課程學(xué)習(xí)參考資料。
3)課程管理模塊使得管理員可以根據(jù)學(xué)校某一學(xué)期的排課情況將班級和教師課程建立對應(yīng)關(guān)系,特別是選修課,教師和學(xué)生可以通過雙向選擇建立對應(yīng)關(guān)系。
4)成績管理模塊可以根據(jù)學(xué)生的平時作業(yè)情況準(zhǔn)確的記錄平時成績,這樣教師就只需要將期末卷面成績提交到系統(tǒng)中,系統(tǒng)就可以根據(jù)教師設(shè)定的成績權(quán)重自動算出學(xué)生的期末總成績。
5)系統(tǒng)管理模塊主要是系統(tǒng)的日常維護,具體有如下子功能:①系統(tǒng)日志查詢;②系統(tǒng)數(shù)據(jù)管理。
3 DBO技術(shù)和AJAX技術(shù)簡介
3.1 DBO技術(shù)
DBO(Database Object)是一種基于.Net元數(shù)據(jù)的對象持久化框架。它的設(shè)計目標(biāo)是大大簡化數(shù)據(jù)庫開發(fā),使開發(fā)人員能夠基于面向?qū)ο蟮姆绞竭M行數(shù)據(jù)對象的設(shè)計和操作。與其他對象持久化框架相比,此框架將對象持久化定義信息以元數(shù)據(jù)的形式綁定到程序代碼中,不需要額外編寫配置文件,從而大大方便了開發(fā)和部署。
圖2表示了DBO的體系結(jié)構(gòu)。對于開發(fā)人員,數(shù)據(jù)庫是透明的(或半透明的)。數(shù)據(jù)庫中的數(shù)據(jù)對象被映射到持久化對象(Persistent Object)。開發(fā)人員不再直接使用ADO.NET操作數(shù)據(jù)庫,取而代之的是持久化對象的操作。
■
圖2 DBO的體系結(jié)構(gòu)
3.2 AJAX技術(shù)
AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。主要包含了以下幾種技術(shù):
基于WEB標(biāo)準(zhǔn)(standards-based presentation)XHTML+CSS的表示;
使用DOM(Document Object Model)進行動態(tài)顯示及交互;
使用XML和XSLT進行數(shù)據(jù)交換及相關(guān)操作;
使用XMLHttpRequest進行異步數(shù)據(jù)查詢、檢索;
使用JavaScript將所有的東西綁定在一起。
類似于DHTML或LAMP,AJAX不是指一種單一的技術(shù),而是有機地利用了一系列相關(guān)的技術(shù)集合的總稱。
4 作業(yè)管理模塊的部分詳細設(shè)計和實現(xiàn)
作業(yè)管理模塊包括教師發(fā)布作業(yè),學(xué)生查詢作業(yè),學(xué)生提交作業(yè),教師評閱作業(yè)子模塊。這樣一個學(xué)生的作業(yè)任務(wù)的生命周期的狀態(tài)轉(zhuǎn)換如下UML狀態(tài)圖示意:
■
圖3 作業(yè)任務(wù)生命周期狀態(tài)轉(zhuǎn)換圖
使用一個數(shù)據(jù)庫表存儲一個學(xué)生作業(yè)任務(wù)的當(dāng)前狀態(tài)。該表的SQL建表語句如下:
■
本系統(tǒng)的數(shù)據(jù)訪問層使用了DBO技術(shù)以自底向上的方式建立數(shù)據(jù)實體類,完成ORM(Object Relation Mapping)。下面的代碼部分展示了由DBO生成的與Task表對應(yīng)的Task持久化類。
■
通過使用DBO省掉了傳統(tǒng)開發(fā)中的數(shù)據(jù)實體類的人工編寫過程。通過這樣的方式也使得代碼可維護性得到了極大的提高。比如需要修改或者增加某幾個表中某幾個字段,那么只需要改表之后使用DBO一次性重新生成數(shù)據(jù)實體類,大大減少了維護成本和時間。
整個系統(tǒng)使用AJAX技術(shù)提升用戶體驗。由于在B/S模式下,使用傳統(tǒng)的方式時,當(dāng)用戶在頁面中進行了某項操作向服務(wù)器發(fā)出請求后,必然導(dǎo)致頁面整體刷新。如果網(wǎng)絡(luò)速度較慢,將整個頁面信息重新發(fā)送一次讓用戶等待的時間是很長的。使用該技術(shù)后,使得只需要頁面部分刷新。在用戶看來就象是在使用桌面應(yīng)用程序一樣,根本不會感覺到正在瀏覽網(wǎng)頁。
圖4展示的是使用了AJAX技術(shù)的教師評閱學(xué)生作業(yè)的一個操作頁面:
■
圖4 教師批改作業(yè)操作界面
5 結(jié)束語
本文首先提出了教學(xué)管理系統(tǒng)的系統(tǒng)結(jié)構(gòu)和設(shè)計思路,然后簡單介紹了DBO和AJAX技術(shù),最后詳細說明了教學(xué)管理系統(tǒng)中作業(yè)管理子模塊的設(shè)計和實現(xiàn)。該系統(tǒng)充分利用了DBO和AJAX技術(shù),提高了系統(tǒng)開發(fā)的速度,減少了編碼工作中50%的工作量,同時顯著的提升了用戶體驗。經(jīng)過一個學(xué)期的實際試用,該系統(tǒng)得到了教師和同學(xué)們的廣泛好評。
參考文獻:
[1] 王輝.軟件工程方法在高校教學(xué)管理系統(tǒng)中的應(yīng)用[J].計算機技術(shù)與發(fā)展,2007,17(5):62-65.
[2] 夏映深,王娟,張世祿,等.基于J2EE的教學(xué)管理信息系統(tǒng)的設(shè)計[J].現(xiàn)代企業(yè)教育,2006(10):135-137.
[3] 許海成,傅錦偉,朱家興,等.不發(fā)達地區(qū)教學(xué)型高校管理信息系統(tǒng)急成初探[J].紅河學(xué)院學(xué)報,2007,5(2):34-38.
[4] 吳敏,劉曉強,陳家訓(xùn).基于Web服務(wù)的高校管理信息系統(tǒng)集成框架[J].東北大學(xué)學(xué)報:自然科學(xué)版,2004(1).
[5] 陳彩霞.教學(xué)管理系統(tǒng)的開發(fā)和設(shè)計[J].內(nèi)蒙古科技與經(jīng)濟,2004(5):92-94.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文