蔣銀珍
摘要:為減輕教師工作量,提高教學(xué)效率,本文結(jié)合個人多年的教學(xué)經(jīng)驗,探討利用ASP.NET技術(shù)開發(fā)基于客戶端腳本的B/S結(jié)構(gòu)的網(wǎng)絡(luò)輔助教學(xué)系統(tǒng),集留言信箱、批閱作業(yè)、自動考勤、在線測試等功能于一體。數(shù)據(jù)庫設(shè)計靈活,可推廣到多門課程。
關(guān)鍵詞:B/S;ASP.NET;輔助教學(xué);在線測試;數(shù)據(jù)庫
中圖分類號:G642 文獻標(biāo)識碼:A
1引言
作為傳統(tǒng)課堂教學(xué)之外的輔助環(huán)節(jié),網(wǎng)絡(luò)輔助教學(xué)已作為一種全新的教學(xué)手段受到人們的關(guān)注。隨著近幾年高校的擴招,教師的任教班級人數(shù)明顯增多,答疑、批改作業(yè)及評閱試卷等工作負(fù)擔(dān)愈加繁重。為了提高教學(xué)效果和教學(xué)效率,保證教學(xué)質(zhì)量,結(jié)合目前開展的“計算機應(yīng)用基礎(chǔ)”精品課程建設(shè)以及計算機公共課程教學(xué)改革,我們開發(fā)了一套基于ASP.NET的網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)。該系統(tǒng)集信息發(fā)布與瀏覽、等級考試專欄、自我評測、作業(yè)提交與批閱、成績管理、試題庫管理、試卷管理以及考試管理等功能于一體,使得任課教師隨時隨地可通過網(wǎng)絡(luò)批閱學(xué)生作業(yè),了解學(xué)生學(xué)習(xí)進度,回答學(xué)生的疑問等,增強了教師與學(xué)生之間的交流;豐富的課外閱讀資料開闊了學(xué)生的知識視野,生動的課件幫助學(xué)生進一步鞏固所學(xué)內(nèi)容;同時,在線測試功能實現(xiàn)了無紙化考試,客觀題自動閱卷,降低了教學(xué)成本,使教學(xué)活動走上了一個新臺階。
2系統(tǒng)結(jié)構(gòu)設(shè)計
網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)采用“客戶端瀏覽器/Web應(yīng)用服務(wù)器/數(shù)據(jù)庫”3層架構(gòu)(如圖1所示)。在客戶端,用戶通過瀏覽器與Web應(yīng)用服務(wù)器進行交互。Web應(yīng)用服務(wù)器負(fù)責(zé)接收和處理用戶的請求,采用功能強大的數(shù)據(jù)訪問接口ADO.NET訪問數(shù)據(jù)庫。數(shù)據(jù)的存儲選擇關(guān)系型數(shù)據(jù)庫SQL Server 2000和Access2003兩種,主要存儲與教學(xué)相關(guān)的各類數(shù)據(jù),包括教師和學(xué)生的基本信息、學(xué)生作業(yè)、試題庫、成績單等相關(guān)資料,是整個系統(tǒng)的核心部分。
3系統(tǒng)功能設(shè)計
在網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)中,用戶角色有5種,分別是教研室主任、教務(wù)秘書、題庫管理員、任課教師和學(xué)生。在登錄時,用戶選擇不同類別、輸入用戶名和密碼進入系統(tǒng),將會擁有不同的權(quán)限。
3.1教研室主任權(quán)限
(1) 個人信息:修改個人密碼和資料(如E-mail、電話等)。
(2) 教師名單:管理任課教師、題庫管理員和教務(wù)秘書的姓名和密碼信息。
(3) 學(xué)院名單:添加或刪除學(xué)院名稱信息。
(4) 課程名稱:管理各課程的名稱信息。
(5) 教學(xué)文件:上傳教學(xué)相關(guān)文件(如教學(xué)進度安排)供任課教師下載。
(6) 信息發(fā)布:發(fā)布面向全校學(xué)生的教學(xué)公告以及面向任課教師的內(nèi)部通知。
(7) 留言信箱:接收/回復(fù)任課教師留言。
3.2教務(wù)秘書權(quán)限
(1) 個人信息:修改個人密碼和資料(如E-mail、電話等)。
(2) 信息發(fā)布:向任課教師發(fā)布教學(xué)信息。
(3) 留言信箱:接收/回復(fù)任課教師留言。
3.3題庫管理員權(quán)限
(1) 個人信息:修改個人密碼和資料(如E-mail、電話等)。
(2) 知識點管理:編輯各門課程的知識點內(nèi)容。
(3) 題目管理:為各課程各知識點添加題目。題目類型包括單選題、填空題、判斷題以及操作題。每道題目包含答案、難度系數(shù)(0-5)、是否公開等屬性。難度系數(shù)供任課教師組卷時作參考。設(shè)置為“公開”的題目,將自動作為學(xué)生自由測試的練習(xí)題。另外,在單選、填空和判斷題的題干中還可包含圖片、數(shù)學(xué)公式等信息。
3.4任課教師權(quán)限
(1) 個人信息:修改個人密碼和資料(如E-mail、電話等)、管理個人網(wǎng)絡(luò)空間。
(2) 瀏覽課表:根據(jù)學(xué)期、學(xué)院名稱、課程名稱、任課教師或上課時間查詢課表信息。
(3) 班級管理:編輯班級信息,包括班級名稱、所屬學(xué)院、課程名稱、班級人數(shù)、上課和上機的時間地點等。
(4) 學(xué)生名單:根據(jù)班級名稱查看任課教師所教班級的學(xué)生注冊信息、初始化學(xué)生密碼、刪除學(xué)生信息等。
(5) 考勤記錄:按照日期查看學(xué)生課內(nèi)上機次數(shù)、時間以及使用機器的IP地址等。學(xué)生課外上機記錄不予登記。
(6) 批閱作業(yè):刪除或下載查看學(xué)生提交的作業(yè)文件,并登記作業(yè)成績以及作業(yè)評語。任課教師可依據(jù)作業(yè)數(shù)據(jù)庫大小決定是否進行壓縮或備份數(shù)據(jù)庫操作。
(7) 上傳中心:上傳資料文件如講稿、作業(yè)內(nèi)容、復(fù)習(xí)資料等供所教班級學(xué)生下載。
(8) 師生交流:接收/回復(fù)其他教師或?qū)W生的留言,留言可帶附件。
(9) 試卷管理:按照課程名稱和題目類型,從題庫管理員編輯的題目中人工或隨機抽取若干條題目并設(shè)置分值后組成試卷。設(shè)置為“公開”的題目不能選為考試用題。試卷有兩種:正式試卷和模擬試卷。只有“正式試卷”才能在上機考試時采用。
(10) 考試管理:設(shè)置禁止或允許考試以及考試時間,指定或隨機分發(fā)試卷,查看學(xué)生在線狀態(tài)和考試結(jié)果提交情況等。對于單選、填空和判斷題,學(xué)生提交后即刻登記得分,而操作題需要任課教師人工批閱。
(11) 成績管理:錄入學(xué)生平時、期中、實驗及期末成績,根據(jù)各成績所占比例自動計算總成績,并匯總出考試質(zhì)量分析表,包括最高分、最低分、平均分以及各分?jǐn)?shù)段人數(shù)。
3.5學(xué)生權(quán)限
學(xué)生首次使用時,需根據(jù)實際情況選擇學(xué)院、班級和課程名稱,輸入學(xué)號和密碼等信息進行注冊。注冊成功并登錄后,可享有以下功能:
(1) 提交作業(yè):提交新作業(yè),查看已提交作業(yè)成績及評語。
(2) 師生交流:查看留言信箱,給任課教師留言。
(3) 上機考試:在允許考試的情況下,打開任課教師分發(fā)的試卷并完成相關(guān)試題后提交答案。
(4) 查看成績:包括查看作業(yè)成績、平時成績、期中成績、實驗成績、期末成績以及總成績。
3.6未登錄用戶權(quán)限
在網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)的首頁,為未登錄用戶提供了以下功能區(qū):
(1) 自由測試:通過選擇課程名稱、題目類型、知識點內(nèi)容及難易系數(shù)進行在線自我測試,提交后給出正確答案,對于錯題,以醒目紅色標(biāo)注。
(2) 等級考試:提供與等級考試相關(guān)的復(fù)習(xí)資料、例題分析、解題技巧等。
(3) 在線答疑:按課程名稱劃分答疑區(qū),為學(xué)生提供一個討論平臺。
(4) 網(wǎng)絡(luò)課堂:提供各課程的學(xué)習(xí)視頻、課外閱讀材料等。
4數(shù)據(jù)庫設(shè)計
由于網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)面向全校近萬名師生,涉及大量的數(shù)據(jù)存儲和處理,因此數(shù)據(jù)庫結(jié)構(gòu)設(shè)計至關(guān)重要。考慮到公共課程科目較多,經(jīng)過實踐和權(quán)衡利弊,后臺數(shù)據(jù)庫最終選用了SQL Server 2000和Access 2003兩種數(shù)據(jù)庫。
每位任課教師擁有一個獨立的Access數(shù)據(jù)庫,在教師首次登錄時自動創(chuàng)建,數(shù)據(jù)庫名稱為教師姓名,專門用以存放所任教班級學(xué)生的作業(yè)壓縮包和考試文件壓縮包(占用空間較大),目的是方便教師下載或刪除文件以及壓縮或備份數(shù)據(jù)庫,提高數(shù)據(jù)庫訪問效率。該數(shù)據(jù)庫中包含作業(yè)文件信息(Homework)和考試文件信息(Test)兩張表。Homework的表結(jié)構(gòu)如圖2所示。
學(xué)院信息、課程信息、教師信息、課表安排、試題信息、試卷信息以及學(xué)生注冊信息、留言等則存放于SQL Server 2000數(shù)據(jù)中。由于數(shù)據(jù)表很多,關(guān)系也很復(fù)雜,圖3僅給出部分表之間的關(guān)系圖。關(guān)系圖清楚地顯示了表與表之間的聯(lián)系,關(guān)系屬性設(shè)置了關(guān)系的索引、CHECK約束以及在執(zhí)行Insert或Update語句時是否級聯(lián)更新相關(guān)的字段或級聯(lián)刪除相關(guān)的記錄。圖3中,Teacher表存放所有教師信息,包括教研室主任、教務(wù)秘書、題庫管理員以及任課教師,TeacherID是該表的關(guān)鍵詞段。ShareFile和TeacherFile表分別存放共享教學(xué)文件和教師個人文件。任課教師添加的課表存放在Plans表中,學(xué)期、學(xué)院以及課程信息分別存放在Term、College以及Course表中。另外還有試卷信息表、學(xué)生信息表以及各種題目信息表等,在此不再一一列出。
5實現(xiàn)方案
目前,Web服務(wù)器應(yīng)用程序開發(fā)平臺有J2EE和.NET兩大類,開發(fā)技術(shù)則包括CGI、PHP、ASP、ASP.NET以及JSP等。本系統(tǒng)采用的是.NET開發(fā)平臺和ASP.NET開發(fā)技術(shù),編程語言選用的是VB.NET。由于ASP.NET是一次編譯多次執(zhí)行,這就使得ASPX頁面至少比同樣功能的ASP頁面快兩倍以上。另外,ASP.NET引入了Ccodebehind技術(shù),將程序代碼以單獨的文件存儲,實現(xiàn)了程序代碼與頁面構(gòu)架的分離,使得結(jié)構(gòu)更加清晰,降低了系統(tǒng)的開發(fā)與維護的復(fù)雜度。本系統(tǒng)的開發(fā)環(huán)境是VS2005,所有動態(tài)頁面為ASPX文件。
前面提到,由于實際需要,本系統(tǒng)采用了兩種數(shù)據(jù)庫形式存儲數(shù)據(jù)。Web服務(wù)器端應(yīng)用程序通過SQL Server.NET數(shù)據(jù)提供程序與SQL Server 2000數(shù)據(jù)庫交互,通過OLE DB.NET數(shù)據(jù)提供程序與Access 2003數(shù)據(jù)庫交互。訪問數(shù)據(jù)庫的過程是:(1)導(dǎo)入相應(yīng)的命名空間;(2)使用SqlConnection或OleDbConnection對象建立與數(shù)據(jù)庫的連接;(3)使用SqlCommand或OleDbCommand對象或DataAdapter對象執(zhí)行SQL的Select、Insert、Update或Delete命令,對數(shù)據(jù)庫進行查詢、插入、更新或刪除操作;(4)將SQL處理命令的返回數(shù)據(jù)存入DataSet或DataReader中,并通過GridView或DetailsView控件在頁面上顯示。
在實現(xiàn)上傳中心的網(wǎng)絡(luò)硬盤功能時,使用了人工動態(tài)綁定技術(shù),將文件系統(tǒng)的樹型目錄結(jié)構(gòu)通過GridView控件呈現(xiàn)。綁定子程序關(guān)鍵代碼如下:
Private Sub DataTableBind(ByVal CurPath As String)
Dim dt As Data.DataTable = New Data.DataTable()
Dim dr As Data.DataRow
'首先創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)
dt.Columns.Add(New Data.DataColumn("name", System.Type.GetType("System.String")))'名稱
dt.Columns.Add(New Data.DataColumn("type", System.Type.GetType("System.String")))'類型
dt.Columns.Add(New Data.DataColumn("size", System.Type.GetType("System.String")))'大小
dt.Columns.Add(New Data.DataColumn("action1", System.Type.GetType("System.String")))
dt.Columns.Add(New Data.DataColumn("action2", System.Type.GetType("System.String")))
'先查找當(dāng)前路徑下的文件夾名稱
Do While 當(dāng)前路徑下有文件夾
dr = dt.NewRow()
dr(0) = 文件夾名稱
dr(1) = "文件夾"
dr(2) = ""
dr(3) = "進入"
dr(4) = "刪除"
dt.Rows.Add(dr)
Loop
'再查找當(dāng)前路徑下的文件名稱
Do While 當(dāng)前路徑下有文件
dr(0) = 文件名稱
dr(1) = "文件"
dr(2) = 文件大小
dr(3) = "下載"
dr(4) = "刪除"
dt.Rows.Add(dr)
Loop
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
為了提高系統(tǒng)的安全性,本系統(tǒng)還采用了數(shù)據(jù)庫加密、身份驗證以及數(shù)據(jù)驗證等方式。
6結(jié)束語
經(jīng)過一年多時間的使用,基于ASP.NET的網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)運行狀態(tài)良好,目前已成為我校從事計算機公共教學(xué)的教師的得力助手,同時也是學(xué)生的好幫手,對于提高教學(xué)質(zhì)量、增強師生之間的互動具有積極的推廣意義。
參考文獻:
[1] 肖金秀,何鵬,周柏偉,等.ASP.NET程序設(shè)計[M].北京:冶金工業(yè)出版社,2004.
[2] 尚俊杰,秦衛(wèi)中.ASP.NET程序設(shè)計案例教程[M].北京:北京交通大學(xué)出版社,2005.
[3] 鄭阿奇. ASP.NET程序設(shè)計教程[M]. 北京:機械工業(yè)出版社,2006.
[4] 胡延平.基于.NET架構(gòu)的交通旅游售票系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機工程與設(shè)計,2005,26(1):230-232.
[5] 田 珍,游 智,李戰(zhàn)懷. 基于.NET的網(wǎng)絡(luò)輔助教學(xué)系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機工程與設(shè)計,2006,27(18):3460-3462.
Design and Implementation of Auxiliary System for Education Based on ASP.NET
JIANG Yin-zhen
(Computer Science and Technology School of Soochow University, Suzhou 215006, China)
Abstract: Combined with the teaching experience,Expected lightening the teachera work and increasing the efficiency, An auxiliary system for education was implemented using ASP.NET technology. Browser/Server is its structure and messagebox、reading homework、auto checking attendance and test online are its functions, its database is flexible to many courses.
Key words: B/S; ASP.NET; auxiliary teaching; test online; database