999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Blackboard 9.1的插件研發探索與實現
——以“北大教學網”大英網測插件為例

2018-03-23 08:23:58王肖群王運美趙柳婷
軟件 2018年2期
關鍵詞:課程教師教學

王肖群,顧 靜,王運美,趙柳婷

(北京大學教師教學發展中心,北京 100871)

0 引言

北京大學公共英語教學研究室,自 2011年以來,每學期依托“北大教學網”開展 1~4級 4000多名學生的教學任務,每個級別分成10多個教學班組,幾乎每個級別每學期都要進行20次左右的“在線測試”(近9萬人次),既作為教師主要教學手段,更作為學生重要考核指標,因此教師極其謹慎,學生也極其重視[1-3]。

眾所周知,利用網絡在線測試存在一定的風險[4],一方面是軟硬件客觀原因,服務器系統崩潰、校園網網絡故障、學生宿舍環境障礙等;另一方面是學生主觀原因,電腦誤操作、成績不理想等。由于每個測試學生只能“嘗試”一次,不管遇到什么問題,學生都會發郵件給教學網客服,要求重新測試。我們客服人員在不能判定是否是主觀原因的情況下,不得不每學期幾千次地手工為學生進行“清除嘗試”操作。不僅使我們的工作量驟然增大,而且造成學生網測分數不公平的現象。這是大英教研室網絡教學最棘手的問題,也是我們支持服務最繁瑣的事情。

同樣,在學期末,大學英語網測成績,需要教學網客服人員從教學網庫表中,挑選導出幾十張excel數據表,然后通過刪除、排序、篩選、合并等手工整理出各班級原始成績,再根據各級負責人的加權方案,最終計算出各班學生的網測成績占總考試成績的實際分值。這是大英網測最核心的工作,也是我們最擔責任的工作。

上述這兩個突出問題在幾年當中一直存在,不能有效解決,直到北大教學網在2015年完成教學網軟硬件升級到 9.1版本后,我們才重點解決大英網測教學的問題。

1 需求分析

經過與大英教研室領導和教師代表多次溝通,反復推敲,確定大英在線測試教學需求。

1.1 教師的需求

教師在每學期開學初,在教學網中可設置一學期內學生自主清除嘗試的次數 M(初始值 M=0);教師在每學期學期末,在教學網中可針對每門課程設置不參加計算的低分測試數N(初始值N=0),即教師去掉學生的N個最低成績,再根據教師具體算法(所有網測成績換算成1分,為每位同學去掉N個最低分總分,按教師每學期設定的最終總分來折算),算出平均分。

教師可分班組查詢學生的網測成績,并在此基礎上導出學生的網測成績。

1.2 學生的需求

學生在每學期學期中,在教學網中進行課程的在線測試,每個測試在規定時間段內完成。學生每做完一個測試就即刻得到分數,自主決定是否“清除嘗試”,最多只能有M次重做的機會。

1.3 可行性分析

“北大教學網”采用美國著名的Blackboard[5-7]系統構建,是一個集網絡教學、資源管理、視頻課堂和校園社區等諸多功能為一體的綜合性網絡教學輔助平臺。Blackboard系統符合SCORM(Shareable Content Object Reference Model)標準,因此其內容資源可復用共享,具有互操作性,不僅可以與國內外教學支持平臺無縫對接,而且用戶可以根據自身需求,再經過一些專項培訓,就可以自定義開發所需的功能插件。

2 插件設計

我們根據大英教研室網測需求,初步確定“大英網測插件”包含面向師生的“自動清除嘗試”和只面向教師的“成績計算及導出”兩大功能模塊。如圖1所示。

2.1 用例圖

教師可以設置網測清除次數、去除網測低分、導出學生網測成績。系統默認每門課程網測清除次數為 0,教師可以針對每門課程設置學生一學期內網測清除的次數M。

在網測成績計算中,系統默認每門課程不參與計算的低分測試數為 0,教師可針對每門課程設置去除的低分數量 N。教師可以根據學生的分班情況導出學生的網測成績。如圖2所示。

圖1 大英網測插件用例圖Fig.1 The use case diagram of College English network test plugin

圖2 導出網測成績核心算法示意圖Fig.2 The algorithm of exporting network test results

每次參加網絡測試后,學生需要立即判斷是否清除該次網絡測試成績,重新參加網絡測試。學生一學期內清除網測成績的次數不可超過M。

2.2 界面設計

①教師進入課程,利用“控制面板”中的“課程工具”可設置本學期內該門課程學生自動清除嘗試的次數。

②教師進入課程,利用“控制面板”中的“課程工具”可先設置條件,查詢并導出該門課程的網測成績。其中“不參加計算的低分測試數”和“最終總分”是必填項;

③學生進入課程,利用“工具”,可選擇某個測試進行“清除嘗試”,系統會提示學生當前清除成績的剩余次數。

3 插件實現

“大英網測插件”研發必須基于 Blackboard平臺。我們按照規范搭建了教學網開發測試平臺,移植了正式平臺教學數據。由于商用平臺系統龐大資料有限,所以我們在Blackboard公司支持和指導下,合作研發大英插件,并著重對源代碼進行優化改進,調置本地環境,最后部署實施大英插件[8-10]。大英插件研發架構和實現,如圖3、4所示。

3.1 項目創建

首先,開發人員需要從Blackboard官網上下載并安裝 Building Block插件。該插件是運行在Blackboard平臺上的Web應用,可用MyEclipse創建 Building Block Project。

3.2 屬性定義

Blackboard插件項目使用bb-manifest.xml配置文件來控制系統的數據訪問權限和UI集成。配置文件分為plugin、links和permissions三大類,包括10個配置項。如表1所示。

圖3 Blackboard平臺插件研發的架構Fig.3 The architecture of the Blackboard plugin

圖4 插件實現流程圖Fig.4 The flow chat of the plugin implementation

表1 插件配置屬性表Tab.1 The configurations of the plugin

插件處理器取值通常為項目名;插件類型分為課程工具和系統工具;鏈接地址是指用戶在瀏覽器中訪問這個插件的地址;授權類型包括 attribute和persist。Attribute是指數據庫中已有屬性,授權操作為get和set操作。Persist是指數據庫中沒有該屬性,對應的授權操作包括create、modify和delete。

3.3 代碼編寫

項目采用了 MVC框架,大致分為三層:模型層、控制層和視圖層。插件的代碼結構一般分為兩個部分,后端代碼和前端代碼[11-13]。程序框架結構,如圖5所示。

圖5 程序框架結構Fig.5 The structure of the program frame

(1)前端代碼(處理前端客戶端顯示及跳轉邏輯)

位于webContent文件夾下,插件從WEB-INF/config/stuts/struts-config.xml開始執行。

①Student包內是存放學生賬號登陸時使用該插件的功能。

SuccessClearAttempt.jsp是學生使用該插件的入口文件;

testList.jsp是學生嘗試清除成績時的頁面客戶端文件;

②Teacher包內存放教師賬號登陸時使用該插件的功能。

TestScoreList.jsp是導出網測成績的入口文件;

test_score_list_export.jsp是把成績導出到 excel表格的入口文件,

在testScoreList.jsp文件中調用;

GradeHistoryList.jsp和ViewGradeHistery.jsp查看成績歷史記錄中調用;

SetAttemptCount.jsp是設置學生自動清除嘗試次數的入口文件;

(2)后端代碼(處理后端服務器端內部邏輯及數據存儲、讀?。?/p>

位于src文件夾下;/src/com/blackboard有4個子文件夾,build包為工具包;data包存放新定義的數據格式以及數據模板;test包是為插件添加封裝和Blackboard系統接口;最主要是course包,實現系統的業務邏輯,Action有插件最核心的兩個文件。CourseManagerAction設置清除嘗試次數;TestManagerAction導出網絡測試成績;Data定義數據格式和數據模板;form將頁面用戶輸入的值與后臺屬性綁定;query存放所有和數據庫相關的函數。

3.4 插件部署

代碼編寫完成后,運行 build.xml文件,使用Ant工具將插件打包成 war文件。開發人員以管理員身份登錄到Blackboard平臺,打開上傳Building Block頁面,上傳打包好的war文件。上傳成功后,利用“定制”“工具可用性”勾選該插件,即可實施使用。如圖6所示。

圖6 自動清除嘗試插件部署示意圖Fig.6 The deployment of the plugin

3.5 插件優化

教師在試用階段,發現導出網測成績時,由于頁面加載等待時間過長,出現“死機”誤判現象,這是嚴重的問題。在測試系統上成績計算準確,但在實際課程中成績計算值偏小,這是困惑的問題;導出的成績雖然按大英級別排序,但學生成績沒按班級排序,這是不合理的問題。我們針對問題,認真研讀源程序并多次測試程序,獨立找出各個問題的根源所在。

(1)導出網測成績代碼流程

入口鏈接是 TestManager?action=test_score_init,在struts-config.xml找到TestManager,鏈接到TestManagerAction,在 TestManagerAction的 execute函數中,test_score_init執行getTestScoreInit函數,順利執行該函數后,返回 test_list,在 struts-config.xml中,返回值是 test_list,執行/teacher/testScoreList.jsp,testScoreList.jsp里點擊執行按鈕,跳轉到TestManagerAction,參數是test_score_list;

在 TestManagerAction中,test_score_list執行getTestScoreList函數,開始執行真正的導出網測工作。而導致插件執行時間多長的原因是 getTest-ScoreList函數,如圖7所示。

圖7 程序執行流程演示框Fig.7 The execution path of the program

(2)“頁面加載時間過長”解決方案

在getTestScoreList函數中,分三種情況計算學生成績:課程沒有小組、課程有小組并且選擇了小組、課程有小組但是沒有選擇小組。對于第一種情況,直接讀取數據庫中課程用戶信息,調用getFinalScore函數計算總成績,最后返回所有學生信息和成績的列表。對于后兩種情況,要先確定選擇的小組里有哪些用戶,再執行第一種情況下做的工作。問題均出現在調用getFinalScore的過程中。如圖8所示。

在原代碼框圖中標注的四個“重復”的語句,在循環語句內存在大量訪問數據庫的操作,導致程序開銷大,非常耗時[14-15]。因此,把該段代碼放到循環語句外面執行,只需一次數據庫訪問,將讀取的結果保存在本地,在循環語句內直接調用本地保存的結果。另外,在原來代碼中,凡是用到courseId(唯一標識課程)和 UserId(唯一標識用戶),我們都把它們改成在核心代碼開始前,一次性讀取保存到本地,并在之后各個函數中將 courseId和 userId作為參數傳入。

經過這些修改,很好地解決這個大難題。

(3)“成績計算值偏小”解決方案

我們經過反復討論、測試和后期的代碼調試,發現課程中每個測驗有個“編輯測驗選項”,含有“自我評估選項”,可控制著測試是否需要計算成績。對于不需要計算成績的測試,教師可不選中“自我評估選項”中的“在成績中心分數計算中添加該測試”;反之亦然。

教師通過“課程工具”可管理查看所有測試,對于沒有部署的測試,可以適時的刪減,保證測試的有效性和精確性。

(4)“成績沒按班級排序”解決方案

我們單獨開發了按照班級排序的模塊,在計算網測成績時,可調用此功能模塊。

4 測試方法及結果

4.1 測試方案

為了測試修改后插件的優化結果,本文編寫了一些測試用例。具體測試方案如下:

①在問題函數代碼運行前后,添加輸出當前時間的語句,利用時間差得到程序運行時間。

圖8 原程序結構(左)與改進后程序結構(右)對比Fig.8 The original program structure VS The optimized program structure

②在測試平臺中新建“測試課程”,在課程中添加1位教師和51位學生(測試平臺可以創建用戶數的最大上限),在課程內容中創建10個測試,將學生分成3組,每組17人。

③運行修改后的插件導出網測成績功能,并同時在服務器系統的后臺查看系統日志文件輸出的時間,計算兩者間隔,得到實際運行時間。

4.2 測試結果

在“北大教學網”測試平臺上對修改前后的插件進行運行時間測量,多次測量取平均,如表2所示。

從上表的平均結果看,原版本導出 51個學生10次網測成績,平均需要約13秒,具體體現在網頁加載時頁面不停轉圈等待。修改后版本在同等計算量的情況下需要約 3.2秒,運行速度提高了約 4倍??梢?,代碼的優化是有成效的,插件運行時間明顯縮短,基本解決了原插件加載時間過長的問題。

4.3 插件其他功能驗證

①對課程沒有小組、課程有小組但是有的用戶沒有分入任何一個小組等各種可能的小組組合情況進行了測試,都可以得到正確的結果。

②對學生的成績進行了測試計算,公式計算和網頁上得到的結果一致。

③在各種情況下,導出網測成績到excel表格的功能也都使用正常。

④對其他功能如設置清除嘗試次數、清除嘗試功能、查看歷史成績也一一進行了測試,都可以正常使用。

表2 插件修改前后運行時間對比Tab.2 The execution time of the original program and the optimized program

5 結語

截止到2016年11月,在“北大教學網”系統內課程數 1.2萬門,用戶總數 5.5萬,系統訪問量538萬次,頁面瀏覽量1324萬次,各項數據統計居全國首位。我們通過較為繁瑣的統計分析,并深入系統內部進行人工核實,確認 2015-2016年度北大本科網絡教學數據,有948個教師(約占30%)、40個院系(約占70%),1057門課程(約占30%)、14180名學生(約占50%)使用“北大教學網”進行輔助教學和在線學習。我們對北大師生大群體的技術支持與服務依然是一個艱巨的任務。

我們制定了教學支持方針,認為保證教學網系統穩定可靠是前提、改進教學網與校務系統整合是關鍵、加大教學網項目支持力度是保障、加強院系及教師教學合作是核心。

我們服務的宗旨就是滿足院系及教師教學需求,同時我們通過不斷與院系及教師合作,找到開展深度應用的契合點。“大英網測插件”的研發是一個很好的嘗試與創新,真正滿足院系網絡教學的迫切需求。同時我們只有通過內外合作,開闊視野挖掘Blackboard潛力,掌握教學網研發能力,提升自身業務能力,才能引領深度應用前沿。

[1] 曾騰, 何山. 高校信息化教學平臺應用推廣研究——基于“北大教學網”應用推廣工作的實踐探索[J]. 現代教育技術,2016, 26(04): 112-118.

[2] 王肖群. 與時俱進 睿智改革 勇于探索--北大教學網應用推廣策略與實施: 《信息技術與教學深度融合》優秀案例集[C]: 40-51. 北京: 中國高等教育學會, 2015年9月.

[3] 王肖群, 陳虎, 徐金燦, 等. 北京大學教學改革新形勢下的認識和思考[J]. 北京大學教育評論第14卷??? 2016,67-72.

[4] 李霄, 王常洲, 田雅. 計算機應用系統性能測試技術及應用研究[J]. 軟件, 2013, 34(4): 69-73.

[5] Blackboard Inc. Blackboard Learn+ Building Blocks Tag Library Version 9.0[Z]. Washington, DC: Blackboard Inc,2008: 1-95.

[6] 陳飛, 楊公義, 李志剛, 等. 基于Blackboard系統的“北大教學網”擴展開發研究[J]. 北京大學教育評論第11卷???2013, 201-211.

[7] 許明, 郭佳, 閆旻. Blackboard平臺支持下的“二級Access數據庫程序設計”課程的建設[J]. 軟件, 2013, 34(4): 79-81.

[8] 蔡建平, 王瓊. 敏捷開發過程管理平臺的設計與應用[J].軟件, 2013, 34(2): 12-16.

[9] 王旭. 傳統軟件開發團隊如何轉型為敏捷開發團隊[J]. 軟件, 2014, 35(3): 203.

[10] 吳成慶, 孫玉濤. 學生在線考試系統軟件測試[J]. 軟件,,2015, 36(6): 26-30.

[11] 李容. 基于MVC模式的Web應用研究[J]. 軟件導刊, 2010,9(01): 19-21.

[12] 李海峰. MVC模式架構的應用研究[J]. 自動化與儀器儀表,2013, (01): 4-5+7.

[13] 高群霞. 基于MVC模式和多層架構的電子商務網站設計與實現[J]. 科技廣場, 2017, (01): 56-58.

[14] 王慶福. 網站建設中數據庫技術與WEB技術的應用對比研究[J]. 軟件, 2013, 34(2): 86-87.

[15] 徐安令. SQL Server數據庫的查詢優化[J]. 軟件, 2014,35(2): 88-89.

猜你喜歡
課程教師教學
最美教師
快樂語文(2021年27期)2021-11-24 01:29:04
數字圖像處理課程混合式教學改革與探索
微課讓高中數學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
教師如何說課
甘肅教育(2020年22期)2020-04-13 08:11:16
為什么要學習HAA課程?
未來教師的當下使命
“自我診斷表”在高中數學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
圓我教師夢
吐魯番(2014年2期)2014-02-28 16:54:42
主站蜘蛛池模板: 在线亚洲小视频| 无码高潮喷水专区久久| 一级全黄毛片| 不卡无码网| 久久www视频| 欧美性久久久久| 亚洲日韩在线满18点击进入| 无码人妻热线精品视频| 国产人成乱码视频免费观看| 久久精品无码一区二区日韩免费| 91 九色视频丝袜| 制服丝袜 91视频| 无码高清专区| 野花国产精品入口| 少妇精品久久久一区二区三区| aⅴ免费在线观看| 青青操国产| 国产波多野结衣中文在线播放| 特级aaaaaaaaa毛片免费视频| 久久96热在精品国产高清| 国产午夜精品鲁丝片| 亚洲综合色在线| 青青操国产视频| 亚洲国产日韩在线观看| 国产大片黄在线观看| 1769国产精品免费视频| 亚洲综合狠狠| 国产精品久久自在自线观看| 欧美激情视频二区| 在线网站18禁| 2021国产精品自产拍在线| 婷婷99视频精品全部在线观看| 久久精品一品道久久精品| 黄色a一级视频| 国产精品手机视频一区二区| 国产精品视频观看裸模| 国产精品久久久久久久久| 欧美成人区| 久久久精品无码一二三区| 在线五月婷婷| 九九九精品成人免费视频7| 亚洲无码37.| 亚洲精品人成网线在线| 91成人免费观看在线观看| 中文字幕一区二区人妻电影| 亚洲青涩在线| 毛片在线看网站| 无码粉嫩虎白一线天在线观看| 欧美黄网在线| 久久久久久久久久国产精品| 中文字幕一区二区视频| 免费日韩在线视频| 亚洲制服丝袜第一页| 成人综合在线观看| 亚洲成年人网| 亚洲天堂久久| 蜜芽国产尤物av尤物在线看| 伦精品一区二区三区视频| 免费在线成人网| 精品色综合| 国产激情影院| 国产91视频观看| 久久免费视频6| 亚洲va在线观看| 91热爆在线| 青青青国产视频| 日韩欧美国产区| 久久综合婷婷| 丁香五月婷婷激情基地| 国产欧美日韩精品第二区| 日韩高清中文字幕| 国产亚洲成AⅤ人片在线观看| 中文字幕在线看| 亚洲天堂视频网| 亚洲综合片| 国产精品一区二区无码免费看片| 亚洲天堂网站在线| 国产精品手机视频一区二区| 中文字幕免费在线视频| 99色亚洲国产精品11p| 亚洲成人在线免费观看| av手机版在线播放|