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