摘要:教學網站在課程輔助教學和教學改革中的作用越來越重要,本文介紹了如何利用Microsoft.NET、SQL Server等軟件構建基于.NET的動態(tài)教學網站平臺系統(tǒng)。實踐證明,采用.NET技術開發(fā)動態(tài)導航教學網站平臺在技術上完全可行,便于后期的維護和升級。
關鍵詞:教學網站;.NET;動態(tài)導航
網絡教學平臺降低了教學網站建設的技術難度,使一線教師都能容易地搭建、設計自己的課程網站,這樣更有利于資源共享和網絡輔助教學的廣泛開展,這也是現(xiàn)在許多高校購置或自主開發(fā)搭建校園網絡教學平臺的一個主要原因。然而目前一些教學網站存在著兩個主要問題:有些網站采用靜態(tài)導航的方式,預先設置好欄目,使得網站的設置和維護不夠靈活;還有些平臺的功能模塊設計得過多,結果只是技術上實現(xiàn)了,但實際上可能沒有教師、學習者去使用[1]。因此本文利用.NET技術構建了一個三層結構模式的動態(tài)教學網站平臺系統(tǒng)。此系統(tǒng)以數(shù)據庫SQL Server為依托,采用目前主流的.NET技術,使用全新的面向對象語言C#,結合ASP.NET,運用Web服務器控件設計完成。本系統(tǒng)只需要根據自己的課程特點,像搭積木一樣進行必要的功能模塊搭建就可完成課程框架的建設。這樣在很短的時間就可以搭建好自己的課程網站框架。
本系統(tǒng)實現(xiàn)了課程欄目和內容的動態(tài)管理與維護,實現(xiàn)了教學資源(如教學課件、教學視頻等)的共享與交流,實現(xiàn)教師與學生之間、學生與學生之間的互動,如作業(yè)、考試、畢業(yè)設計、答疑等,使大家能在統(tǒng)一的平臺基礎之上進行溝通與交流。提高了學生學習的主動性、積極性、及時性、有效性和高效性。
1NET平臺優(yōu)勢分析
1) 開發(fā)效率更高
ASP.NET 2.0提供了近80種服務器控件,包括導航控件、登錄控件、數(shù)據訪問控件等,可以幫助軟件開發(fā)者快速創(chuàng)建網站,提高開發(fā)效率。
2) 易于編寫,結構更清晰
ASP.NET采取“code-behind”方式編寫代碼,將程序代碼與用戶界面接口徹底分開,程序代碼是編譯過的,能大大縮短服務器的應答時間,同時采用B/S模式開發(fā),整個系統(tǒng)的升級、維護工作只要在服務器端運行即可,降低了系統(tǒng)的開發(fā)與維護的復雜度和費用[2]。
3) 網站彈性與可擴展性好
ASP.NET 2.0使用Provider架構,例如數(shù)據訪問、角色管理、用戶管理等并不直接訪問數(shù)據庫,而是通過Provider來訪問數(shù)據庫。因此,當需要更改數(shù)據庫時,只要更換Provider即可,完全不需要修改任何代碼就可以順利轉換。
4) 先進的數(shù)據庫存取模式和更高的執(zhí)行效率
ASP.NET通過ADO.NET實現(xiàn)對數(shù)據庫的訪問,ADO.NET使用DataAdapter對象為發(fā)送到和來自DataSet及底層數(shù)據源的數(shù)據建立通道。由于DataSet與原始數(shù)據源完全無關,因而可以實現(xiàn)斷開連接的數(shù)據訪問,提高了數(shù)據的執(zhí)行效率[3]。ADO.NET支持數(shù)據離散訪問的編程接口,在設計時盡量縮短數(shù)據庫鎖定時間,減少多個用戶訪問數(shù)據庫服務器時的潛在競爭,使數(shù)據共享面向更多的訪問用戶,真正體現(xiàn)了Web網絡應用的思想[4]。
5) 容易進行再利用和共享
ASP.NET結構天然就是一個三層系統(tǒng):UI層、業(yè)務邏輯層和數(shù)據層,給應用維護和升級帶來了極大的方便。ASP.NET系統(tǒng)結構如圖1所示。
UI層負責與用戶交互,接收用戶的輸入并將服務器端傳來的數(shù)據呈現(xiàn)給客戶。
業(yè)務邏輯層負責接收瀏覽器傳來的請求并將請求傳給數(shù)據層,同時將請求處理結果發(fā)給瀏覽器。它由Web表單、XML Web服務和組件服務組成。其中Web表單是ASP.NET應用程序的核心所在,是向客戶呈現(xiàn)數(shù)據和信息的基礎,也是響應和處理客戶與顯示的Web表單交互生成的信息和數(shù)據的基礎。
數(shù)據層是通過ADO.NET操縱數(shù)據為業(yè)務邏輯層提供數(shù)據服務,如存儲數(shù)據操作結果、返回數(shù)據檢索結果等。
因此基于ASP.NET技術的結構模型使得網站系統(tǒng)更易維護、更安全、更穩(wěn)定。
2基于.NET構架的教學網站平臺設計
2.1網站平臺功能模塊設計
本系統(tǒng)的軟件功能模塊主要包括欄目管理、視頻管理、作業(yè)管理、在線測試、題庫管理、師生交流、畢業(yè)論文管理、用戶管理等功能,如圖2所示。
視頻管理模塊主要是發(fā)布和管理視頻教學信息,可以在線播放上傳的視頻文件,實現(xiàn)了信息與視頻教學的同步。并提供當前教學模塊的下載功能,如教學課件、教學視頻等。
作業(yè)管理模塊主要包括教師在網上發(fā)布作業(yè),學生提交作業(yè),教師查收作業(yè)等功能。
師生交流模塊為教師和學生提供了一個網上的討論園地,學生可以通過BBS中相應的版塊向老師提問,任何學生都可進行瀏覽或討論,提高了輔導答疑的效果和質量,發(fā)揮了學生自主學習的作用。
畢業(yè)論文管理模塊實現(xiàn)了教師出題、提出指導意見、修改論文、填寫評審表等管理功能;同時也實現(xiàn)了學生選題、寫作申請、開題報告、畢業(yè)論文(設計)上傳等一般功能。通過論文管理實現(xiàn)了信息的規(guī)范化、實用化和自動化管理。
題庫管理和在線測試模塊實現(xiàn)了試卷制定(隨機出題、人工出題)、試卷維護和在線網絡測試等功能,本模塊題型分為單選題、多選題、判斷題、填空題和問答題,改卷方式分為前臺自動評卷和試卷后臺評閱。因為單選、多選、判斷和填空題均可以通過與數(shù)據庫中的答案進行比較來判斷,而問答題的回答一般較復雜,不可能每個字都和數(shù)據庫中的答案相同,所以通過后臺試卷評閱功能把用戶輸入的內容一模一樣的顯示出來,實現(xiàn)人工評閱。同時本模塊增加考試時間限制功能,可以自行設置考試時間。
用戶管理子模塊主要用于對用戶的權限管理,系統(tǒng)分為三種用戶:管理員、教師和學生。管理員可以設定教師和學生有哪些權限。如教師可以進行作業(yè)管理,題庫模塊的維護及答疑等。學生可以查看信息、提交作業(yè)與論文、網上提問等功能。
本系統(tǒng)最具特色的功能是欄目管理,包括新建目錄、目錄下欄目的添加、修改與刪除、欄目內容的動態(tài)管理等。用戶只需要設計好網站的菜單欄目,通過新建目錄功能可以實現(xiàn)一級菜單,通過欄目添加功能可以將該級菜單下的欄目及其超文本內容動態(tài)添加到該菜單下。因此,實現(xiàn)了課程欄目和內容的動態(tài)管理與維護。
本系統(tǒng)具有良好的可擴展性和模塊性,可以方便地組合各個模塊,也可以增加更多的功能模塊。如圖3為利用本教學網站平臺動態(tài)生成的《Web程序設計—ASP.NET》課程網站,其左邊欄目和導航的超文本內容完全通過后臺的欄目管理功能動態(tài)添加獲得。
2.2動態(tài)導航技術的實現(xiàn)
動態(tài)導航技術的實現(xiàn)主要利用Visual Studio 2005的樹形導航控件TreeView來實現(xiàn),TreeView控件由TreeNode對象的集合組成,其常用屬性如下表1所示。通過對樹型結構的遞歸調用將數(shù)據庫的信息顯示為動態(tài)樹形菜單,并能逐級展開和選擇,然后相應的在頁面右邊顯示被選擇的節(jié)點的超文本信息。
其實現(xiàn)的主要方法如下:
(1) 連接數(shù)據庫,利用SqlDataAdapter對象的Fill方法將數(shù)據庫中的數(shù)據讀到DataSet中。
(2) 通過遞歸算法調用綁定數(shù)據庫的信息,其遞歸調用方法主要代碼如下:
private void CreateChildNode(TreeNode parent Node,DataTable dataTable)
{//通過根據所屬類別不同分別動態(tài)的綁定至不同的資源類別信息樹結構中
DataRow[]rowList=dataTable. Select (\"ParentID='\" + parentNode.Value + \"'\");
foreach (DataRow row in rowList)
{TreeNode node = new TreeNode();//創(chuàng)建新節(jié)點
//設置節(jié)點的屬性
node.Text = row[\"ImgName\"]. ToString(); //顯示文本
node.Value = row[\"ImgID\"].ToString();
if (row[\"isDir\"].ToString() == \"True\") //判斷是否為父結點
{
node.Expanded = 1;
node.Target = \"_self\";
node.ImageUrl = \"~/Image/Dir. gif\";
}
else
{
node.Target = \"_blank\";
node.ImageUrl = \"~/Image/Picture. gif\";
}
node.ImageToolTip = row[\"ImgUrl\"]. ToString();
parentNode.ChildNodes.Add(node); //添加子節(jié)點
CreateChildNode(node,dataTable); //遞歸調用,創(chuàng)建其他節(jié)點
}
}
其參數(shù)為TreeNode對象和填充的數(shù)據表對象。
(3) 通過對數(shù)據庫數(shù)據的插入、修改、刪除來實現(xiàn)節(jié)點及其內容的動態(tài)添加、更新與刪除。
3結論
動態(tài)網站的模式將是未來課程網站的主要模式,也是精品課程網站建設的首選。本系統(tǒng)成功實現(xiàn)了如教學指南、課程導航、工學結合、實踐教學、視頻教學、在線測試、作業(yè)管理等教學網站具有的功能,并且該系統(tǒng)性能穩(wěn)定、操作方便,具備了良好的可維護性、擴展性和可管理性。實踐證明,利用.NET技術開發(fā)教學網站平臺將有助于網絡教學走上一個實用、經濟、高速、高效的軌道,有助于提高教學效率和效益。
參考文獻
[1] 陳以海. 高校精品課程網站建設探索[J]. 中國教育信息化,2008,(1).
[2] 范振鈞. 基于ASP.net的三層結構實現(xiàn)方法研究[J]. 計算機科學,2007,4(34).
[3] 包空軍,劉海燕等. ASP.NET 電子商務系統(tǒng)設計與實現(xiàn)[J]. 福建電腦,2007,(2).
[4] 蔡秀莉,李偉華等. 構建基于.NET的高校院系級網上辦公系統(tǒng)[J]. 計算機工程與應用,2005,(27).