蔣玉峰,呂曉猛
(常熟理工學(xué)院 信息化辦公室,江蘇 常熟 215500)
基于MVC架構(gòu)的Blackboard平臺(tái)運(yùn)行數(shù)據(jù)分析系統(tǒng)研究
蔣玉峰,呂曉猛
(常熟理工學(xué)院 信息化辦公室,江蘇 常熟 215500)
基于Blackboard平臺(tái)數(shù)據(jù)庫,研究設(shè)計(jì)了一種運(yùn)行數(shù)據(jù)分析系統(tǒng).在Blackboard網(wǎng)絡(luò)教學(xué)平臺(tái)中,用戶的課程訪問記錄、測試使用情況、論壇使用情況可通過ACTIVITY_ACCUMULATOR、ATTEMPT、FORUM_MAIN等表的記錄、計(jì)算后得到.所有數(shù)據(jù)從Blackboard平臺(tái)數(shù)據(jù)庫(oracle)導(dǎo)出到SQL Server數(shù)據(jù)庫,再經(jīng)過數(shù)據(jù)處理、匯總后,進(jìn)行按課程匯總分析、按用戶匯總分析、平臺(tái)整體匯總分析.開發(fā)的數(shù)據(jù)分析系統(tǒng)利用SQL Server 2005對(duì)數(shù)據(jù)進(jìn)行管理,易維護(hù)、擴(kuò)展,數(shù)據(jù)傳輸和計(jì)算均在服務(wù)器端完成,增強(qiáng)了系統(tǒng)安全性和易維護(hù)性;采用Microsoft.NET MVC架構(gòu)開發(fā)B/S網(wǎng)站,系統(tǒng)界面友好、簡捷易操作.實(shí)際運(yùn)行表明,Blackboard平臺(tái)運(yùn)行數(shù)據(jù)分析系統(tǒng)運(yùn)行速度快、操作透明度高,對(duì)歷史數(shù)據(jù)和準(zhǔn)實(shí)時(shí)數(shù)據(jù)均能進(jìn)行查詢,結(jié)果準(zhǔn)確.此系統(tǒng)已在實(shí)踐中應(yīng)用,并取得了良好效果.
Blackboard Academ ic Suite;MVC架構(gòu);數(shù)據(jù)分析;BBDA
虛擬學(xué)習(xí)社區(qū)是以建構(gòu)主義學(xué)習(xí)理論為理論基礎(chǔ),基于計(jì)算機(jī)信息處理技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)資源共享技術(shù)和多媒體信息展示技術(shù)的新型網(wǎng)絡(luò)教學(xué)平臺(tái),其主要特征是學(xué)習(xí)活動(dòng)的交互性[1].在眾多的構(gòu)建虛擬學(xué)習(xí)社區(qū)的工具中,Blackboard網(wǎng)絡(luò)教學(xué)平臺(tái)(簡稱BB)應(yīng)用最為廣泛[2].以常熟理工學(xué)院為例,目前我校共建有400多門網(wǎng)絡(luò)課程,其中學(xué)校立項(xiàng)課程為199門,2012年新增立項(xiàng)課程83門.作為運(yùn)行技術(shù)支撐人員,如何向校領(lǐng)導(dǎo)、課程評(píng)審部門、教師用戶等提供及時(shí)、準(zhǔn)確的運(yùn)行數(shù)據(jù)報(bào)表?如何根據(jù)給定條件查詢課程運(yùn)行數(shù)據(jù)及教師用戶、學(xué)生用戶的使用數(shù)據(jù)?如何生成每學(xué)年、每學(xué)期、每月、每周甚至其他給定時(shí)間段的數(shù)據(jù)報(bào)表?這些問題如果不能很好的解決,則會(huì)影響到學(xué)校的立項(xiàng)課程初審和復(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é)實(shí)踐探究和網(wǎng)絡(luò)課程構(gòu)建策略研究.文獻(xiàn)[6]探討了如何基于BB集成現(xiàn)有的教學(xué)資源,文獻(xiàn)[7]探討了對(duì)如何將BB與Blog協(xié)同輔助教學(xué).文獻(xiàn)[8]闡述了以BB為代表的新興信息技術(shù)對(duì)于社會(huì)和文化價(jià)值產(chǎn)生的影響,并介紹了BB在阿拉伯女子學(xué)校的使用情況[8].
與本文研究較貼近的文獻(xiàn)為數(shù)很少.文獻(xiàn)[9]以南通大學(xué)Blackboard網(wǎng)絡(luò)教育平臺(tái)為例,提出BB行為分析的理論.文獻(xiàn)[10]則提出了基于BB的評(píng)價(jià)指標(biāo)系統(tǒng).BB平臺(tái)附帶的數(shù)據(jù)分析功能如圖1所示.
筆者在研究BB附帶的權(quán)限和功能后,發(fā)現(xiàn)其存在以下的不足:
首先,統(tǒng)計(jì)模塊權(quán)限分級(jí)過于簡單,未考慮校領(lǐng)導(dǎo)和評(píng)審者等權(quán)限的設(shè)置;
第二,平臺(tái)總體統(tǒng)計(jì)功能除活躍課程、活躍用戶、頁面訪問次數(shù)之外,未考慮其他數(shù)據(jù)的統(tǒng)計(jì);
第三,每門課的統(tǒng)計(jì)功能只包括了頁面訪問次數(shù),同樣未考慮其他數(shù)據(jù)的統(tǒng)計(jì);
第四,管理員統(tǒng)計(jì)模塊不能一次性獲取所有課程(或選定的多個(gè)課程)的運(yùn)行數(shù)據(jù)報(bào)表;
第五,分析、統(tǒng)計(jì)功能不具備可擴(kuò)展性,數(shù)據(jù)的二次處理較為繁瑣;
第六,對(duì)于歷史數(shù)據(jù)沒有備份機(jī)制,課程或用戶一旦被移除,其絕大部分信息隨之被刪除,因而過后無法統(tǒng)計(jì).
本文在綜合BB數(shù)據(jù)和MVC技術(shù)的基礎(chǔ)上,提出基于MVC架構(gòu)的BB運(yùn)行數(shù)據(jù)分析系統(tǒng)的設(shè)計(jì)方案.設(shè)計(jì)成果的主要表現(xiàn)形式為相對(duì)獨(dú)立的網(wǎng)站系統(tǒng),可提供基于BB的數(shù)據(jù)查詢、分析、統(tǒng)計(jì)等功能.該系統(tǒng)填補(bǔ)了BB運(yùn)行數(shù)據(jù)分析研究的空白,并在常熟理工學(xué)院得到了發(fā)布和實(shí)施.
筆者將本系統(tǒng)命名為Blackboard平臺(tái)運(yùn)行數(shù)據(jù)分析系統(tǒng)(Blackboard Database Analysis),以下簡稱BBDA.
2.1 系統(tǒng)用戶權(quán)限分級(jí)
根據(jù)實(shí)際的需求和一般的慣例,可將權(quán)限細(xì)分為:管理員、評(píng)審、教師、學(xué)生、游客等.權(quán)限級(jí)別從左到右由高到低依次排列,其中管理員最高,游客最低.
2.2 系統(tǒng)功能的設(shè)計(jì)
2.2.1 頁面訪問查詢及統(tǒng)計(jì)(簡稱功能A)
包括頁面訪問詳細(xì)記錄,以及按照課程統(tǒng)計(jì)、按照用戶統(tǒng)計(jì)、按照時(shí)間段統(tǒng)計(jì)、按照頁面類型統(tǒng)計(jì)等.
2.2.2 論壇帖子查詢及統(tǒng)計(jì)(簡稱功能B)
包括論壇帖子詳細(xì)記錄,以及按照課程統(tǒng)計(jì)、按照用戶統(tǒng)計(jì)、按照時(shí)間段統(tǒng)計(jì)、按照帖子類型統(tǒng)計(jì)等.
2.2.3 在線測試查詢及統(tǒng)計(jì)(簡稱功能C)
包括學(xué)生測試成績?cè)敿?xì)記錄,以及按照課程統(tǒng)計(jì)、按照用戶統(tǒng)計(jì)、按照時(shí)間段統(tǒng)計(jì)、按照帖子類型統(tǒng)計(jì)等.
2.2.4 課程素材查詢及統(tǒng)計(jì)(簡稱功能D)
包括課程素材詳細(xì)記錄(個(gè)數(shù)和容量),以及按照課程統(tǒng)計(jì)、按照時(shí)間段統(tǒng)計(jì)、按照素材類型統(tǒng)計(jì)等.
2.2.5 活躍情況統(tǒng)計(jì)(簡稱功能E)
匯總上述功能A、B、C、D得出的數(shù)據(jù),統(tǒng)計(jì)活躍課程;匯總上述功能A、B、C得出的數(shù)據(jù),統(tǒng)計(jì)活躍用戶.
2.2.6 總體情況統(tǒng)計(jì)(簡稱功能F)
匯總上述A、B、C、D、E得出的數(shù)據(jù),得出總體統(tǒng)計(jì)報(bào)表.
2.2.7 課程評(píng)審數(shù)據(jù)統(tǒng)計(jì)(簡稱功能G)
根據(jù)評(píng)審周期而定,統(tǒng)計(jì)周期內(nèi)的相關(guān)課程的有關(guān)數(shù)據(jù),由A、B、C、D、E、F綜合而得.
2.2.8 其它功能(簡稱功能H)
包括該分析系統(tǒng)平臺(tái)的用戶管理,系統(tǒng)參數(shù)的設(shè)定等.
2.3 根據(jù)權(quán)限授予不同的功能
如圖2所示:圖中的“全部”指每個(gè)功能模塊的全部子功能,而“教師部分”或“學(xué)生部分”指該功能模塊教師或?qū)W生對(duì)應(yīng)的子功能集.最后一個(gè)特殊的權(quán)限——“游客”,包括尚未注冊(cè)任何BB課程的教師、學(xué)生用戶、以及通用的test用戶登錄后僅能看到歡迎信息.
MVC全名是Model View Controller,是模型(model)—視圖(view)—控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯.MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中[11].圖3為MVC框架圖.
筆者采用的開發(fā)工具為asp.net MVC,該工具的優(yōu)勢在于:分解關(guān)注點(diǎn)的觀念提高了軟件的可維護(hù)性;微軟免費(fèi)開放源代碼與社區(qū)支持;使用強(qiáng)大的Visual Studio開發(fā)工具,能提高開發(fā)效率;易于測試,易于分工[12].
在MVC的世界里有一個(gè)非常重要的觀念——“分解關(guān)注點(diǎn)”(Separation of Concerns,Soc),意識(shí)是指進(jìn)行軟件開發(fā)時(shí),可以只關(guān)注當(dāng)前的對(duì)象,而不會(huì)受到相同系統(tǒng)中其他對(duì)象的干擾(包括所有對(duì)對(duì)象的修改也不會(huì)影響其他對(duì)象的運(yùn)作),進(jìn)而專注于完成開發(fā)工作.這樣,不但容易提升軟件質(zhì)量,也可以加快對(duì)代碼的理解速度[12].
筆者正是嚴(yán)格秉承“分解關(guān)注點(diǎn)”的觀念,分別從模型(model)—視圖(view)—控制器(controller)著手設(shè)計(jì)工作.
4.1 規(guī)劃數(shù)據(jù)庫結(jié)構(gòu)(Model部分)
4.1.1 BBDA基礎(chǔ)數(shù)據(jù)模型
為了避免對(duì)BB后臺(tái)數(shù)據(jù)庫增加不可預(yù)料的開銷,筆者將BBDA的數(shù)據(jù)庫部署在BBDA專用服務(wù)器,使用SQL 2005的作業(yè)代理,每天凌晨0點(diǎn)自動(dòng)從BB后臺(tái)數(shù)據(jù)庫同步數(shù)據(jù),再輔以必要的存儲(chǔ)過程,生成數(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)計(jì)、綜合等需求時(shí),性能差強(qiáng)人意.因此,必須預(yù)先對(duì)這些數(shù)據(jù)進(jìn)行處理,使用SQL存儲(chǔ)過程等方式獲得更貼近需求的數(shù)據(jù).見圖5.
4.1.3 BBDA接口類
為了提高代碼的重用率,往往需要將一些方法寫進(jìn)接口類,存放在系統(tǒng)的Models目錄.
根據(jù)對(duì)應(yīng)功能的不同,可將接口類以及實(shí)現(xiàn)類分為如下幾類:
a)IMemberRepository接口類和MemberRepository實(shí)現(xiàn)類,該組類用來實(shí)現(xiàn)BBDA用戶系統(tǒng)的功能,有創(chuàng)建新用戶、修改用戶密碼、修改用戶信息、刪除用戶、用戶登錄驗(yàn)證、根據(jù)權(quán)限授予不同系統(tǒng)功能等.
b)IBrowseRepository接口類和BrowseRepository實(shí)現(xiàn)類,該組類用來實(shí)現(xiàn)BBDA課程查詢模塊和用戶查
詢模塊的相關(guān)功能.
c)IReviewRepository接口類和ReviewRepository實(shí)現(xiàn)類,該組類用來實(shí)現(xiàn)課程評(píng)審模塊的相關(guān)功能.
d)IAnalyseRepository接口類和AnalyseRepository實(shí)現(xiàn)類,該組類用來實(shí)現(xiàn)自定義統(tǒng)計(jì)模塊的相關(guān)功能.
4.1.4 Xm l文件
站點(diǎn)配置等數(shù)據(jù)可存放在Xm l文件,便于修改和維護(hù).
4.2 規(guī)劃控制器(Controller部分)
一般來說,MVC有一條設(shè)計(jì)原則為:Model要重、Controller要輕、View要夠笨[13].功能邏輯應(yīng)該盡可能的在Model中實(shí)現(xiàn),從而降低Controller和Model的耦合度.
根據(jù)Model所提供的不同數(shù)據(jù)模塊,可將控制器分為:SecurityController(成員控制器),Manage-Controller(管理控制器),BrowseController(查詢控制器),ReviewController(評(píng)審控制器),AnalyseController(統(tǒng)計(jì)控制器)等.
4.3 規(guī)劃視圖(View部分)
根據(jù)4.2節(jié)規(guī)劃的控制器,分別規(guī)劃Security視圖(成員視圖),Manage視圖(管理視圖),Browse視圖(查詢視圖),Review視圖(評(píng)審視圖)和Analyse視圖(統(tǒng)計(jì)視圖).限于篇幅,視圖設(shè)計(jì)部分暫不展開細(xì)說.
本文介紹的基于MVC架構(gòu)的Blackboard平臺(tái)運(yùn)行數(shù)據(jù)分析系統(tǒng)是一個(gè)通用的軟件平臺(tái),將其作為框架,通過對(duì)于數(shù)據(jù)庫的重新定義和連接,可以在其他高校得到推廣和利用.該平臺(tái)為Blackboard Academ ic Suite網(wǎng)絡(luò)課程評(píng)審提供了真實(shí)可靠的數(shù)據(jù)支撐,對(duì)于網(wǎng)絡(luò)課程的建設(shè)和評(píng)估有著重要意義.目前,該系統(tǒng)平臺(tái)已經(jīng)設(shè)計(jì)成功,并在常熟理工學(xué)院得到了應(yīng)用.
[1]孫燕燕,張志剛.大學(xué)英語虛擬學(xué)習(xí)社區(qū)網(wǎng)絡(luò)平臺(tái)的設(shè)計(jì)與實(shí)踐[J].海外英語,2011,14:114-115.
[2]李樹民,黃曉鸝.基于Blackboard的醫(yī)學(xué)信息檢索課虛擬學(xué)習(xí)社區(qū)的構(gòu)建與應(yīng)用[J].中華醫(yī)學(xué)圖書情報(bào)雜志,2012,11:76-78.
[3]王憲杰.Bb網(wǎng)絡(luò)教學(xué)平臺(tái)在“高等數(shù)學(xué)”課程建設(shè)中的應(yīng)用[J].中國電力教育,2012,28:84-85.
[4]趙冬梅,尹伊.基于Blackboard平臺(tái)的混合式學(xué)習(xí)模式教學(xué)實(shí)踐探究[J].現(xiàn)代教育技術(shù),2012,9:41-44.
[5]常靜,朱子江,劉東,等.基于Blackboard平臺(tái)的網(wǎng)絡(luò)課程構(gòu)建策略研究[J].西南農(nóng)業(yè)大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,2012,9:215-217.
[6]黃志成.Blackboard網(wǎng)絡(luò)教學(xué)平臺(tái)集成教學(xué)資源研究[J].電腦開發(fā)與應(yīng)用,2012,09:81-82,86.
[7]張小虎.Blackboard與Blog協(xié)同輔助教學(xué)的應(yīng)用與思考:以通識(shí)教育課程《名家名著導(dǎo)讀與欣賞》為例[J].陜西廣播電視大學(xué)學(xué)報(bào),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ò)教育平臺(tái)使用行為分析:以南通大學(xué)Blackboard網(wǎng)絡(luò)教育平臺(tái)為例[J].南通紡織職業(yè)技術(shù)學(xué)院學(xué)報(bào):綜合版,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ā)實(shí)戰(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年度立項(xiàng)課題“網(wǎng)絡(luò)課程運(yùn)行過程評(píng)估研究與實(shí)現(xiàn)”(2013-R-27482)
蔣玉峰,講師,碩士,研究方向:Asp.net MVC系統(tǒng)開發(fā),網(wǎng)絡(luò)學(xué)習(xí)平臺(tái),E-mail∶jyf@cslg.cn.