蔣玉峰,呂曉猛
(常熟理工學(xué)院 信息化辦公室,江蘇 常熟 215500)
基于MVC架構(gòu)的Blackboard平臺運(yùn)行數(shù)據(jù)分析系統(tǒng)研究
蔣玉峰,呂曉猛
(常熟理工學(xué)院 信息化辦公室,江蘇 常熟 215500)
基于Blackboard平臺數(shù)據(jù)庫,研究設(shè)計了一種運(yùn)行數(shù)據(jù)分析系統(tǒng).在Blackboard網(wǎng)絡(luò)教學(xué)平臺中,用戶的課程訪問記錄、測試使用情況、論壇使用情況可通過ACTIVITY_ACCUMULATOR、ATTEMPT、FORUM_MAIN等表的記錄、計算后得到.所有數(shù)據(jù)從Blackboard平臺數(shù)據(jù)庫(oracle)導(dǎo)出到SQL Server數(shù)據(jù)庫,再經(jīng)過數(shù)據(jù)處理、匯總后,進(jìn)行按課程匯總分析、按用戶匯總分析、平臺整體匯總分析.開發(fā)的數(shù)據(jù)分析系統(tǒng)利用SQL Server 2005對數(shù)據(jù)進(jìn)行管理,易維護(hù)、擴(kuò)展,數(shù)據(jù)傳輸和計算均在服務(wù)器端完成,增強(qiáng)了系統(tǒng)安全性和易維護(hù)性;采用Microsoft.NET MVC架構(gòu)開發(fā)B/S網(wǎng)站,系統(tǒng)界面友好、簡捷易操作.實際運(yùn)行表明,Blackboard平臺運(yùn)行數(shù)據(jù)分析系統(tǒng)運(yùn)行速度快、操作透明度高,對歷史數(shù)據(jù)和準(zhǔn)實時數(shù)據(jù)均能進(jìn)行查詢,結(jié)果準(zhǔn)確.此系統(tǒng)已在實踐中應(yīng)用,并取得了良好效果.
Blackboard Academ ic Suite;MVC架構(gòu);數(shù)據(jù)分析;BBDA
虛擬學(xué)習(xí)社區(qū)是以建構(gòu)主義學(xué)習(xí)理論為理論基礎(chǔ),基于計算機(jī)信息處理技術(shù)、計算機(jī)網(wǎng)絡(luò)資源共享技術(shù)和多媒體信息展示技術(shù)的新型網(wǎng)絡(luò)教學(xué)平臺,其主要特征是學(xué)習(xí)活動的交互性[1].在眾多的構(gòu)建虛擬學(xué)習(xí)社區(qū)的工具中,Blackboard網(wǎng)絡(luò)教學(xué)平臺(簡稱BB)應(yīng)用最為廣泛[2].以常熟理工學(xué)院為例,目前我校共建有400多門網(wǎng)絡(luò)課程,其中學(xué)校立項課程為199門,2012年新增立項課程83門.作為運(yùn)行技術(shù)支撐人員,如何向校領(lǐng)導(dǎo)、課程評審部門、教師用戶等提供及時、準(zhǔn)確的運(yùn)行數(shù)據(jù)報表?如何根據(jù)給定條件查詢課程運(yùn)行數(shù)據(jù)及教師用戶、學(xué)生用戶的使用數(shù)據(jù)?如何生成每學(xué)年、每學(xué)期、每月、每周甚至其他給定時間段的數(shù)據(jù)報表?這些問題如果不能很好的解決,則會影響到學(xué)校的立項課程初審和復(fù)審工作流程.
國內(nèi)外有關(guān)機(jī)構(gòu)和學(xué)者在BB教學(xué)應(yīng)用方面進(jìn)行了研究,其中數(shù)量眾多的文獻(xiàn)主要著眼于研究BB在某一學(xué)科或課程建設(shè)中的應(yīng)用,如文獻(xiàn)[3].而文獻(xiàn)[4-5]基于BB分別進(jìn)行了混合式學(xué)習(xí)模式教學(xué)實踐探究和網(wǎng)絡(luò)課程構(gòu)建策略研究.文獻(xiàn)[6]探討了如何基于BB集成現(xiàn)有的教學(xué)資源,文獻(xiàn)[7]探討了對如何將BB與Blog協(xié)同輔助教學(xué).文獻(xiàn)[8]闡述了以BB為代表的新興信息技術(shù)對于社會和文化價值產(chǎn)生的影響,并介紹了BB在阿拉伯女子學(xué)校的使用情況[8].
與本文研究較貼近的文獻(xiàn)為數(shù)很少.文獻(xiàn)[9]以南通大學(xué)Blackboard網(wǎng)絡(luò)教育平臺為例,提出BB行為分析的理論.文獻(xiàn)[10]則提出了基于BB的評價指標(biāo)系統(tǒng).BB平臺附帶的數(shù)據(jù)分析功能如圖1所示.
筆者在研究BB附帶的權(quán)限和功能后,發(fā)現(xiàn)其存在以下的不足:
首先,統(tǒng)計模塊權(quán)限分級過于簡單,未考慮校領(lǐng)導(dǎo)和評審者等權(quán)限的設(shè)置;
第二,平臺總體統(tǒng)計功能除活躍課程、活躍用戶、頁面訪問次數(shù)之外,未考慮其他數(shù)據(jù)的統(tǒng)計;
第三,每門課的統(tǒng)計功能只包括了頁面訪問次數(shù),同樣未考慮其他數(shù)據(jù)的統(tǒng)計;
第四,管理員統(tǒng)計模塊不能一次性獲取所有課程(或選定的多個課程)的運(yùn)行數(shù)據(jù)報表;
第五,分析、統(tǒng)計功能不具備可擴(kuò)展性,數(shù)據(jù)的二次處理較為繁瑣;
第六,對于歷史數(shù)據(jù)沒有備份機(jī)制,課程或用戶一旦被移除,其絕大部分信息隨之被刪除,因而過后無法統(tǒng)計.
本文在綜合BB數(shù)據(jù)和MVC技術(shù)的基礎(chǔ)上,提出基于MVC架構(gòu)的BB運(yùn)行數(shù)據(jù)分析系統(tǒng)的設(shè)計方案.設(shè)計成果的主要表現(xiàn)形式為相對獨立的網(wǎng)站系統(tǒng),可提供基于BB的數(shù)據(jù)查詢、分析、統(tǒng)計等功能.該系統(tǒng)填補(bǔ)了BB運(yùn)行數(shù)據(jù)分析研究的空白,并在常熟理工學(xué)院得到了發(fā)布和實施.
筆者將本系統(tǒng)命名為Blackboard平臺運(yùn)行數(shù)據(jù)分析系統(tǒng)(Blackboard Database Analysis),以下簡稱BBDA.
2.1 系統(tǒng)用戶權(quán)限分級
根據(jù)實際的需求和一般的慣例,可將權(quán)限細(xì)分為:管理員、評審、教師、學(xué)生、游客等.權(quán)限級別從左到右由高到低依次排列,其中管理員最高,游客最低.
2.2 系統(tǒng)功能的設(shè)計
2.2.1 頁面訪問查詢及統(tǒng)計(簡稱功能A)
包括頁面訪問詳細(xì)記錄,以及按照課程統(tǒng)計、按照用戶統(tǒng)計、按照時間段統(tǒng)計、按照頁面類型統(tǒng)計等.
2.2.2 論壇帖子查詢及統(tǒng)計(簡稱功能B)
包括論壇帖子詳細(xì)記錄,以及按照課程統(tǒng)計、按照用戶統(tǒng)計、按照時間段統(tǒng)計、按照帖子類型統(tǒng)計等.
2.2.3 在線測試查詢及統(tǒng)計(簡稱功能C)
包括學(xué)生測試成績詳細(xì)記錄,以及按照課程統(tǒng)計、按照用戶統(tǒng)計、按照時間段統(tǒng)計、按照帖子類型統(tǒng)計等.
2.2.4 課程素材查詢及統(tǒng)計(簡稱功能D)
包括課程素材詳細(xì)記錄(個數(shù)和容量),以及按照課程統(tǒng)計、按照時間段統(tǒng)計、按照素材類型統(tǒng)計等.
2.2.5 活躍情況統(tǒng)計(簡稱功能E)
匯總上述功能A、B、C、D得出的數(shù)據(jù),統(tǒng)計活躍課程;匯總上述功能A、B、C得出的數(shù)據(jù),統(tǒng)計活躍用戶.
2.2.6 總體情況統(tǒng)計(簡稱功能F)
匯總上述A、B、C、D、E得出的數(shù)據(jù),得出總體統(tǒng)計報表.
2.2.7 課程評審數(shù)據(jù)統(tǒng)計(簡稱功能G)
根據(jù)評審周期而定,統(tǒng)計周期內(nèi)的相關(guān)課程的有關(guān)數(shù)據(jù),由A、B、C、D、E、F綜合而得.
2.2.8 其它功能(簡稱功能H)
包括該分析系統(tǒng)平臺的用戶管理,系統(tǒng)參數(shù)的設(shè)定等.
2.3 根據(jù)權(quán)限授予不同的功能
如圖2所示:圖中的“全部”指每個功能模塊的全部子功能,而“教師部分”或“學(xué)生部分”指該功能模塊教師或?qū)W生對應(yīng)的子功能集.最后一個特殊的權(quán)限——“游客”,包括尚未注冊任何BB課程的教師、學(xué)生用戶、以及通用的test用戶登錄后僅能看到歡迎信息.
MVC全名是Model View Controller,是模型(model)—視圖(view)—控制器(controller)的縮寫,一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進(jìn)和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯.MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中[11].圖3為MVC框架圖.
筆者采用的開發(fā)工具為asp.net MVC,該工具的優(yōu)勢在于:分解關(guān)注點的觀念提高了軟件的可維護(hù)性;微軟免費(fèi)開放源代碼與社區(qū)支持;使用強(qiáng)大的Visual Studio開發(fā)工具,能提高開發(fā)效率;易于測試,易于分工[12].
在MVC的世界里有一個非常重要的觀念——“分解關(guān)注點”(Separation of Concerns,Soc),意識是指進(jìn)行軟件開發(fā)時,可以只關(guān)注當(dāng)前的對象,而不會受到相同系統(tǒng)中其他對象的干擾(包括所有對對象的修改也不會影響其他對象的運(yùn)作),進(jìn)而專注于完成開發(fā)工作.這樣,不但容易提升軟件質(zhì)量,也可以加快對代碼的理解速度[12].
筆者正是嚴(yán)格秉承“分解關(guān)注點”的觀念,分別從模型(model)—視圖(view)—控制器(controller)著手設(shè)計工作.
4.1 規(guī)劃數(shù)據(jù)庫結(jié)構(gòu)(Model部分)
4.1.1 BBDA基礎(chǔ)數(shù)據(jù)模型
為了避免對BB后臺數(shù)據(jù)庫增加不可預(yù)料的開銷,筆者將BBDA的數(shù)據(jù)庫部署在BBDA專用服務(wù)器,使用SQL 2005的作業(yè)代理,每天凌晨0點自動從BB后臺數(shù)據(jù)庫同步數(shù)據(jù),再輔以必要的存儲過程,生成數(shù)據(jù)表(見表1),數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu)如圖4所示.
4.1.2 BBDA二次處理數(shù)據(jù)模型
上面的數(shù)據(jù)表僅能應(yīng)付基本的數(shù)據(jù)查詢,如果遇到需要按條件統(tǒng)計、綜合等需求時,性能差強(qiáng)人意.因此,必須預(yù)先對這些數(shù)據(jù)進(jìn)行處理,使用SQL存儲過程等方式獲得更貼近需求的數(shù)據(jù).見圖5.
4.1.3 BBDA接口類
為了提高代碼的重用率,往往需要將一些方法寫進(jìn)接口類,存放在系統(tǒng)的Models目錄.
根據(jù)對應(yīng)功能的不同,可將接口類以及實現(xiàn)類分為如下幾類:
a)IMemberRepository接口類和MemberRepository實現(xiàn)類,該組類用來實現(xiàn)BBDA用戶系統(tǒng)的功能,有創(chuàng)建新用戶、修改用戶密碼、修改用戶信息、刪除用戶、用戶登錄驗證、根據(jù)權(quán)限授予不同系統(tǒng)功能等.
b)IBrowseRepository接口類和BrowseRepository實現(xiàn)類,該組類用來實現(xiàn)BBDA課程查詢模塊和用戶查
詢模塊的相關(guān)功能.
c)IReviewRepository接口類和ReviewRepository實現(xiàn)類,該組類用來實現(xiàn)課程評審模塊的相關(guān)功能.
d)IAnalyseRepository接口類和AnalyseRepository實現(xiàn)類,該組類用來實現(xiàn)自定義統(tǒng)計模塊的相關(guān)功能.
4.1.4 Xm l文件
站點配置等數(shù)據(jù)可存放在Xm l文件,便于修改和維護(hù).
4.2 規(guī)劃控制器(Controller部分)
一般來說,MVC有一條設(shè)計原則為:Model要重、Controller要輕、View要夠笨[13].功能邏輯應(yīng)該盡可能的在Model中實現(xiàn),從而降低Controller和Model的耦合度.
根據(jù)Model所提供的不同數(shù)據(jù)模塊,可將控制器分為:SecurityController(成員控制器),Manage-Controller(管理控制器),BrowseController(查詢控制器),ReviewController(評審控制器),AnalyseController(統(tǒng)計控制器)等.
4.3 規(guī)劃視圖(View部分)
根據(jù)4.2節(jié)規(guī)劃的控制器,分別規(guī)劃Security視圖(成員視圖),Manage視圖(管理視圖),Browse視圖(查詢視圖),Review視圖(評審視圖)和Analyse視圖(統(tǒng)計視圖).限于篇幅,視圖設(shè)計部分暫不展開細(xì)說.
本文介紹的基于MVC架構(gòu)的Blackboard平臺運(yùn)行數(shù)據(jù)分析系統(tǒng)是一個通用的軟件平臺,將其作為框架,通過對于數(shù)據(jù)庫的重新定義和連接,可以在其他高校得到推廣和利用.該平臺為Blackboard Academ ic Suite網(wǎng)絡(luò)課程評審提供了真實可靠的數(shù)據(jù)支撐,對于網(wǎng)絡(luò)課程的建設(shè)和評估有著重要意義.目前,該系統(tǒng)平臺已經(jīng)設(shè)計成功,并在常熟理工學(xué)院得到了應(yīng)用.
[1]孫燕燕,張志剛.大學(xué)英語虛擬學(xué)習(xí)社區(qū)網(wǎng)絡(luò)平臺的設(shè)計與實踐[J].海外英語,2011,14:114-115.
[2]李樹民,黃曉鸝.基于Blackboard的醫(yī)學(xué)信息檢索課虛擬學(xué)習(xí)社區(qū)的構(gòu)建與應(yīng)用[J].中華醫(yī)學(xué)圖書情報雜志,2012,11:76-78.
[3]王憲杰.Bb網(wǎng)絡(luò)教學(xué)平臺在“高等數(shù)學(xué)”課程建設(shè)中的應(yīng)用[J].中國電力教育,2012,28:84-85.
[4]趙冬梅,尹伊.基于Blackboard平臺的混合式學(xué)習(xí)模式教學(xué)實踐探究[J].現(xiàn)代教育技術(shù),2012,9:41-44.
[5]常靜,朱子江,劉東,等.基于Blackboard平臺的網(wǎng)絡(luò)課程構(gòu)建策略研究[J].西南農(nóng)業(yè)大學(xué)學(xué)報:社會科學(xué)版,2012,9:215-217.
[6]黃志成.Blackboard網(wǎng)絡(luò)教學(xué)平臺集成教學(xué)資源研究[J].電腦開發(fā)與應(yīng)用,2012,09:81-82,86.
[7]張小虎.Blackboard與Blog協(xié)同輔助教學(xué)的應(yīng)用與思考:以通識教育課程《名家名著導(dǎo)讀與欣賞》為例[J].陜西廣播電視大學(xué)學(xué)報,2012(3):14-18.
[8]Arif Bhatti,Abdallah Tubaisahat,Eyas El-Qawasmeh.Using Technology-Mediated Learning Environment to Overcome Social and Cultural Lim itations[J].Higher Education Inform ing Science and Information Technology,2006∶067-076.
[9]陳嵐.網(wǎng)絡(luò)教育平臺使用行為分析:以南通大學(xué)Blackboard網(wǎng)絡(luò)教育平臺為例[J].南通紡織職業(yè)技術(shù)學(xué)院學(xué)報:綜合版,2012,2:38-41.
[10]Lin Xin,Xixiang Zhang,Kede Qin,et al.The Evaluation System for Blending Learning Based on Blackboard Academic Suite[C]. Jinggangshan∶Proceedings of the Second International Symposium on Networking and Network Security 2010 Jinggangshan,2010∶081-084.
[11]MVC框架(百度百科).http://baike.baidu.com/view/31.htm.
[12]黃保翕.ASP.NETMVC 2開發(fā)實戰(zhàn)[M].北京:電子工業(yè)出版社,2011.
[13]mvc VIEW部分介紹.http://www.cnblogs.com/zgqys1980/archive/2012/08/16/2642681.htm l.
A Study of the Blackboard Academic Suite Database Analysis System Based on the MVC Architecture
JIANG Yu-feng,LV Xiao-meng
(Informatization Office,Changshu Institute of Technology,Changshu 215500,China)
Based on Blackboard platform database,the authors of this paper designed a Database Analysis System.In the Blackboard Academic Suite,the details of users’access to courses,test usage and forum usage can be recorded and calculated by ACTIVITY ACCUMULATOR table,ATTEMPT table,FORUM MAIN table,etc. Firstly,all the data will be derived from the Blackboard platform database(oracle)to a SQL Server database,and then they will be processed and tabulated later.Lastly,they will be analyzed in terms of summarized courses,users and overall p latform.The developed data analysis system will be administrated by SQL Server 2005,which can be maintained and extended conveniently.The data transmission and computing can just be done over the terminal,which strengthens the safety and stability of the system.It also adopts Microsoft.NET MVC framework to develop B/S website,which makes the system user-friendly and easily operated.The actual operation shows blackboard platform data analysis system is fast and transparent;it also implements the function of querying all the historical data and quasi-real-time data,which can be testified accurately.The system has already been applied into the practice and achieves very good results.This paper describes the design process to develop a data model of the system in detail.
Blackboard Academic Suite;MVC architecture;database analysis;BBDA
TP393
A
1008-2794(2014)04-0087-05
2013-06-03
江蘇省教育技術(shù)研究2013年度立項課題“網(wǎng)絡(luò)課程運(yùn)行過程評估研究與實現(xiàn)”(2013-R-27482)
蔣玉峰,講師,碩士,研究方向:Asp.net MVC系統(tǒng)開發(fā),網(wǎng)絡(luò)學(xué)習(xí)平臺,E-mail∶jyf@cslg.cn.