王奇志,劉后勝
(安慶職業(yè)技術(shù)學(xué)院 電子信息系,安徽 安慶 246005)
教學(xué)過程支撐系統(tǒng)的設(shè)計與實現(xiàn)
王奇志,劉后勝
(安慶職業(yè)技術(shù)學(xué)院 電子信息系,安徽 安慶 246005)
通過對“理實一體”化課堂教學(xué)中學(xué)生和教師的需求分析,提出了教學(xué)過程支撐系統(tǒng)的系統(tǒng)架構(gòu)設(shè)計和角色功能模塊設(shè)計,詳細闡述了教學(xué)過程支撐系統(tǒng)中關(guān)鍵問題并提出了相應(yīng)的解決方案。
課堂教學(xué)模式;教學(xué)過程支撐系統(tǒng);文件分片上傳;在線壓縮;XLS格式數(shù)據(jù)導(dǎo)出
目前高職院校專業(yè)課的課堂教學(xué)大多采用“理實一體”化的課堂教學(xué)模式,這種模式對課程資源、學(xué)生作業(yè)、簽到等互動管理的要求教高;在“理實一體”化課堂教學(xué)中,多媒體投影、筆記本、手機、校園無線網(wǎng)等設(shè)備資源等都可能使用到,有效整合這些設(shè)備資源,實現(xiàn)對教學(xué)過程的系統(tǒng)化管理有著迫切的需求,為解決這些需求,針對性開發(fā)了教學(xué)過程支撐系統(tǒng)(Teaching process support system,以下簡稱TPSS),TPSS是基于.NET和HTML5技術(shù)開發(fā),實現(xiàn)對“理實一體”化課堂教學(xué)全方位支撐服務(wù)的信息化管理。
1.1 學(xué)生的需求
學(xué)生是“理實一體”化課堂教學(xué)的主體角色,學(xué)生在課堂學(xué)習(xí)中,通常有以下幾個方面的需求:
(1)簽到功能:通常每次課都要求課堂簽到,并且以手機簽到方式最為便捷,同時也允許學(xué)生通過筆記本聯(lián)網(wǎng)簽到;
(2)資源下載:學(xué)生要能很方便的下載教師的課件、教案、教學(xué)視頻、課程補充資料等課程資源;
(3)作業(yè)提交:學(xué)生課堂練習(xí)、作業(yè)等要很方便的提交給授課教師。
1.2 教師的需求
教師是“理實一體”化課堂教學(xué)的主導(dǎo)者,承擔(dān)知識技能傳授、答疑解惑、課堂管理等角色,通常有以下幾個方面的需求:
(1)課堂考勤:設(shè)置上課課表,查看學(xué)生到課簽到情況,點名,記錄遲到、曠課等需求;
(2)課程管理:建立新課程,上傳課件、教案、案例、教學(xué)視頻等課程資源,并能管理控制這些資源的分享功能;
(3)作業(yè)管理:可以查看、下載學(xué)生作業(yè),記錄作業(yè)成績,班級作業(yè)打包下載等功能;
(4)成績管理:可以導(dǎo)入作業(yè)成績,平時課堂成績記錄,學(xué)期成績自動計算,匯總,導(dǎo)出 Excel格式成績匯總表等;
(5)開課管理:在課程管理的基礎(chǔ)上,設(shè)定開課班級,設(shè)定開發(fā)的課程資源等功能;
(6)授課手冊:指定授課計劃,記錄上課日期,管理授課進度。
2.1 系統(tǒng)架構(gòu)設(shè)計
TPSS采用B/S模式,B/S模式應(yīng)用在客戶端無需安裝部署軟件,方便用戶通過手機,電腦通過瀏覽器直接使用系統(tǒng);基于B/S模式開發(fā)TPSS不僅可以部署到互聯(lián)網(wǎng),也可以部署到校園網(wǎng),甚至一個教室內(nèi)的無線局域網(wǎng)(需要將教師機配置為WEB服務(wù)器),圖1是TPSS在校園網(wǎng)上部署的一個典型拓撲圖。
圖1 TPSS系統(tǒng)部署拓撲圖Fig.1 TPSS system deployment topology
2.2 技術(shù)路線分析
TPSS采用B/S模式,WEB服務(wù)端設(shè)計重點要解決好課程資源、學(xué)生作業(yè)的文件上傳、下載壓力;WEB前端設(shè)計要求界面友好,有良好的設(shè)備適配能力,自動適應(yīng)電腦,手機等不同分辨率的屏幕。
后端開發(fā)使用ASP.NET技術(shù),ASP.NET支持構(gòu)建健壯、高效的Web應(yīng)用程序,實現(xiàn)敏捷開發(fā)[1];數(shù)據(jù)庫采用Microsoft SQL Server 2012,SQL Server 2012具備安全性和高可用性,方便易用,具備集成化開發(fā)環(huán)境。
前端開發(fā)使用HTML5+CSS3技術(shù),引入Bootstrap框架;HTML5是一系列用于開發(fā)網(wǎng)絡(luò)應(yīng)用的最新技術(shù)的集合,包括HTML、CSS和Java Script以及一系列全新API[2],目前主要瀏覽器都對新標(biāo)準(zhǔn)提供了良好的支持;Bootstrap是目前最受歡迎的WEB前端框架之一,多用于開發(fā)響應(yīng)式布局、移動設(shè)備優(yōu)先的WEB項目[3]。
2.3 角色功能設(shè)計
通過需求分析,在 TPSS中設(shè)置了學(xué)生、授課教師、系統(tǒng)管理員三種用戶角色。學(xué)生角色主要有信息維護、資源下載、作業(yè)、簽到功能;授課教師角色主要有課程資源、開課、成績、作業(yè)、考勤管理等功能;管理員角色主要有系統(tǒng)配置、部門、班級管理等功能。
三種用戶角色及其重要功能設(shè)計見圖2所示。
圖2 用戶角色及功能Fig.2 User roles and functions
2.4 技術(shù)難點分析與實現(xiàn)
1、大文件上傳
TPSS的資源管理模塊和學(xué)生作業(yè)模塊都涉及到大文件上傳問題,上傳文件大小可能達到 GB級別;大文件上傳的主要問題有,一是上傳時間長,中途出錯會導(dǎo)致整個上傳失敗,二是服務(wù)端情況復(fù)雜,可能不能接收超大表單。
目前比較理想的方案是分片上傳,即把大文件分片,一片一片的傳到服務(wù)端,再在服務(wù)端合并成一個大文件;百度上傳組件“WebUploader”是由Baidu FEX團隊開發(fā)的一款以HTML5為主,F(xiàn)LASH為輔的現(xiàn)代文件上傳組件[4],對目前各主流瀏覽器有極好的兼容性,通過改造該組件,實現(xiàn)大文件分片上傳。
組件前端編程中,主要考慮設(shè)定分片的小,出錯嘗試重傳的次數(shù),并發(fā)上傳的進程數(shù),以及對單個文件大小的限制和資源文件的類型,關(guān)鍵代碼摘要如下:
var uploader = WebUploader.create({
//…
chunked: true, //設(shè)置要采用分片處理
chunkSize: 4*1024*1024,//每片大小不超過4MB
chunkRetry:3,//網(wǎng)絡(luò)問題出錯,允許自動重傳多少3次
threads:3, //允許同時最大上傳進程數(shù)位3
//…
}
服務(wù)端編程中,主要解決好文件分片接收和組裝,關(guān)鍵代碼如下:
//獲得上傳的分片數(shù)據(jù)流
BinaryReader brReader = new BinaryReader(streamPost); //將上傳的分片追加到臨時文件末尾
intCurChunkSize
=Convert.ToInt32(streamPost.Length) ; //獲得當(dāng)前分片大小
brCurChunk-
Writer.Write(brReader.ReadBytes(intCurChunkSize));
//…
//文件分片的組裝
for (int i = 0; i < intChunks; i++)
combineFiles[i] = strTempPath + "\" +i.ToString() + ".tmp";
strServerTempFileFullPath = strBasePath +strGUID + "." + strClientFileExt;
if (WQZ.FileCombine.Combine(combineFiles,strServerTempFileFullPath, out intCombineFileSize,out MSG))
{
Directory.Delete(strBasePath +"\"+ strGUID,true);
//…
}
2、數(shù)據(jù)導(dǎo)出
教師和管理員后臺管理模塊常要涉及到 Excel格式數(shù)據(jù)的導(dǎo)出問題,如授課教師將學(xué)生成績導(dǎo)出為一個XLS文件,管理員導(dǎo)出班級學(xué)生花名冊等。實現(xiàn)對導(dǎo)出XLS文件的格式的精確控制,以及兼容性的要求,采用了優(yōu)秀開源項目“MyXls”[5],導(dǎo)出生成XLS格式文件的關(guān)鍵代碼如下:
Cells cells = sheet.Cells;XF xfTH = xls.NewXF();xfTH.VerticalAlignment = VerticalAlignments.Centered;
xfTH.PatternColor = Colors.White;
xfTH.Font.ColorIndex = 8;
xfTH.BottomLineStyle = 1;
xfTH.BottomLineColor = Colors.DarkRed;
for (int i = 0; i < xlsFieldCount; i++)
cells.Add(1, i + 1, dt.Columns[i].ToString(),xfTH);
sheet.Rows[1].RowHeight = 28 * 20;
xls.Send();//發(fā)送到客戶端
3、后臺數(shù)據(jù)文件壓縮
教師后臺學(xué)生作業(yè)管理中,經(jīng)常要將選定的學(xué)生作業(yè)文件壓縮打包下載,以提高作業(yè)下載效率,由于要下載的文件不是全部集中在某個文件夾中,因此不能通過將某個文件夾下文件批量打包,需要按需添加到打包文件,另外要考慮到壓縮速度和使用方便等問題,在開源的C#壓縮庫“SharpZipLib”[6]基礎(chǔ)上,封裝了一個壓縮類“ZipClass”。
“ZipClass”類中封裝了三個靜態(tài)的方法,“ZipFile”用于將單個文件添加到壓縮包中,“ZipFileDictory”用戶將某個文件夾下全部文件添加到壓縮包,“ZipFiles”用于將一組文件添加到壓縮包中,有了這3個方法,可以很方便的將任意的學(xué)生的任意作業(yè)添加到壓縮包中,下面為“ZipFileDictory”方法的關(guān)鍵代碼:
Crc32 crc = new Crc32();
ZipOutputStream s = new ZipOutput-Stream(File.Create(args[1]));
s.SetLevel(6);
foreach (string file in filenames)
{
//……
ZipEntry entry = new ZipEntry(file);
entry.DateTime = DateTime.Now;
entry.Size = fs.Length;
fs.Close();
crc.Reset();
crc.Update(buffer);
entry.Crc = crc.Value;
s.PutNextEntry(entry);
s.Write(buffer, 0, buffer.Length);
}
TPSS已經(jīng)在實際課堂教學(xué)管理中使用了 3年多,能夠為高職“理實一體”化課堂提供全方位的教學(xué)支撐服務(wù),其資源共享、簽到考勤、作業(yè)管理、成績管理、授課管理等一系列的管理功能充分滿足日常課堂教學(xué)管理的需要;系統(tǒng)開發(fā)中采用移動框架,可以最大限度的滿足手機、電腦等各種終端,極大的方便了師生使用;基于B/S模式的TPSS,架設(shè)在一個教室內(nèi)的無線局域網(wǎng)上,可滿足一個班級的教學(xué),架設(shè)于校園網(wǎng),可以滿足校內(nèi)學(xué)生隨時隨地的學(xué)習(xí)需要,架設(shè)于互聯(lián)網(wǎng),可以滿足遠程學(xué)習(xí)的需要,顯示出TPSS具有良好的適應(yīng)性。
[1] William Penberthy. ASP. NET入門經(jīng)典(第9版)[M]. 李曉峰,高巍巍譯. 北京: 清華大學(xué)出版社, 2016.
[2] 黃永慧, 陳程凱. HTML5在移動應(yīng)用開發(fā)上的應(yīng)用前景[J].計算機技術(shù)與發(fā)展, 2013, 23(7): 207-210.
[3] Bootstrap V4[EB/OL]. https://v4.bootcss.com/, 2017.
[4] Web Uploader[EB/OL]. http://fex.baidu.com/webuploader/,2017.
[5] MyXls[EB/OL]. https://sourceforge.net/projects/myxls/, 2013.
[6] .NET Zip Library[EB/OL]. http://www.icsharpcode.net/opensource/sharpziplib/default.aspx, 2012
The Design and Implementation of the Teaching Support System
WANG Qi-zhi, LIU Hou-sheng
(Department of electronic information, Anqing Vocational and Technical College, Anhui Anqing 246005, China)
Based on the need analysis of students and teachers practicing “theory-practice-integrated” classroom teaching, this paper introduces the designing of architecture and role function module in teaching support system,elaborates the key issues, and suggests the corresponding solutions.
: Classroom instruction model; Teaching support system; File section-uploading; Online file compression; XLS format data export.
TP319
A
10.3969/j.issn.1003-6970.2017.10.021
本文著錄格式:王奇志,劉后勝. 教學(xué)過程支撐系統(tǒng)的設(shè)計與實現(xiàn)[J]. 軟件,2017,38(10):114-116
安徽省教育廳質(zhì)量工程項目(項目編號:2014GXK115);安徽省教育廳高等職業(yè)教育創(chuàng)新發(fā)展行動計劃2015-2018任務(wù)-RW12(項目編號:443)
王奇志(1970-),男,碩士,副教授,研究領(lǐng)域:WEB安全,NET應(yīng)用與安全;劉后勝(1975-),男,博士,中級職稱,研究領(lǐng)域:數(shù)據(jù)挖掘,人工智能。