郅芬香 王留芳
摘 要 Python語言已在高校計算機專業中作為一門主流的專業課進行開設,根據Python語言教學的實際需要,設計基于ASP.NET的Python語言網絡教學系統已成為信息化教學的迫切需要。它不僅提供豐富的網絡教學資源,而且以學生為中心,跨越時間及空間的限制,通過教師信息化教學,師生間及時溝通和答疑,提高課程的教學質量,具有較好的應用價值。
關鍵詞 ASP.NET? Python語言 教學網站
0引言
目前對網絡教學系統的研究存在著一些問題:大多數網絡教學系統交互性能較差,教學設計做得越好的網絡教學系統,交互性越有待提高;提問方式單一,缺少師生互動與生生互動;部分網絡教學系統僅從技術實現角度出發,而忽視了教師和學生的實際需要。本文針對網絡教學系統存在的一些問題,提出基于ASP.NET的Python語言網絡教學系統設計與實現。該網站界面操作簡單,功能齊全,資源豐富,下面從該系統的分析、設計、實現等方面介紹該網絡教學系統的開發過程。
1開發過程
1.1系統分析
《Python語言程序設計》是大學計算機專業必修的一門專業入門課,創建基于ASP.NET的Python語言教學系統可以為學生課下學習提供一個開放的網絡資源平臺。該系統主要包含模塊有:教師模塊、學生模塊和管理員模塊。其中教師模塊包含作業發布和修改,測試試題發布和修改,個人信息修改,學習資源上傳等功能。學生模塊包含資源信息查看,公告瀏覽,作業練習,模擬測試,成績查詢,在線答疑,熱點討論,學習資源下載等功能。管理員模塊包含學生管理,老師管理,信息公告管理,作業管理,測試試題管理等。
1.2系統設計
本系統基于ASP.NET和ADO.NET技術設計采用B/S三層結構模式,數據庫后臺采用SQL Server 2008數據庫。
在B/S三層結構模式中,數據庫主要負責對教師信息,學生信息,學習資源及試題信息等不同數據的存儲,管理和維護,該層處于最底層;中間層由Web服務器來管理,用來完成學生管理,老師管理及管理員模塊的主要功能。而用戶直接用的是界面層,它處于最上層,瀏覽器通過HTTP協議向WEB服務器發出申請,身份驗證通過后,如果有數據處理的需求,Web服務器可以通過結構化查詢語句或者其它方式向后臺數據庫發出請求,數據庫會將其處理數據的相關結果回饋給Web服務器。如果沒有數據處理的請求,Web服務器將申請訪問的網頁發送到客戶端。在詳細設計階段,我們對學習資源管理和測試題管理模塊做詳細介紹。
Python語言學習資源主要包含Python語言學習微課視頻,Python語言電子書以及Python語言程序實例代碼。教學資源管理的核心模塊程序類有:Python語言學習微課視頻類MicoclassVideoService.cs,Python語言電子書類EbookService.cs、 Python語言程序實例代碼類ProgramExample.cs以及信息資源上傳與下載處理類InfoResourceProcessService.cs。
測試試題模塊中,老師負責對試卷進行創建,修改,維護和更新,學生可以對測試題試卷進行選擇,試卷保存及成績查看等。測試試題模塊類主要包括在線測試處理類OnlineTest.cs,維護試卷類型后臺處理類KeepPaper.cs,試卷保存后臺處理類ContenProcess.cs。
1.3數據庫設計
基于ASP.NET的Python語言網絡教學系統包含大量的數據庫表信息,在這里對學生信息表及試卷信息表的表結構進行介紹。
學生信息表包括學生文本類型學號(number),文本類型姓名(name),文本類型班級(class),數字類型單元作業分數(scoreunit1, scoreunit2, scoreunit3, scoreunit4,scoreunit5,scoreunit6)及數字類型試題分數(score1,score2,score3,score4)等。
試卷信息表包括文本類型試卷編號(Paper_num),文本類型試卷名(Paper_name),數字類型總分(total_score),日期類型時間(time),數字類型單項選擇題量(Singlechoice_num),數字類型多項選擇題量(multiplechoice_num),數字類型判斷題量(Truefalse_num),數字類型編程題量(program_num),數字類型單項選擇題分數(Singlechoice_ score),數字類型多項選擇題分數(multiplechoice_ score),數字類型判斷題分數(Truefalse_ score),數字類型編程題分數(program_ score)等。
1.4系統實現
1.4.1數據庫的連接
在ASP.NET中數據庫訪問主要采用ADO.NET的方式。ADO.NET即:ActiveX Data Object .NET,它包含.NET數據提供程序和DataSet對象(核心)兩個主要成員。其中DataSet對象的結構和關系數據庫的結構類似,可以使用各種不同的數據源,例如XML數據源,文本文件數據源以及Excel數據源等。.NET數據提供程序是數據庫連接建立和操作數據的訪問接口,是DataSet對象和數據源之間的紐帶。.NET數據提供程序對象有:Connection、Command、DataReader和DataAdapte。
Connection對象中的ConnectionString屬性提供與數據源的連接。Command對象使用戶能夠訪問數據庫操作數據的命令。DataReader對象可以從數據源中檢(下轉第296頁)(上接第282頁)索大批量不用修改的數據信息,從而提供高性能的數據流。DataAdapter對象是DataSet對象和數據源連接的紐帶,該對象通過Command對象來執行相關的SQL(結構化查詢語句)命令,從而可以將數據置入Dataset中,并使Dataset中修改的數據和數據源同步一致。
1.4.2功能實現
在主頁面里,根據用戶身份的不同,選擇以管理員,學生及教師的身份輸入正確的用戶名和密碼才能進入系統,不同的身份進入的系統功能是不同的。學生登錄時,輸入自己的學號、密碼及驗證碼請求后,系統調用checkstudent方法進行學生驗證,如果驗證正確,跳轉到student.asp,該頁面顯示學生能夠進行的各種操作。當學生選擇“試題測試”后,系統進行考試系統,學生可以選取要參加考試的某套試題,進入在線考試界面,考試進入倒計時,學生在規定的時間內完成試題并提交,可以顯示各題項的得分及總分。如果想查看某一題的講解,可以單擊該試題旁的解析按鈕。教師登陸時,輸入自己的工號、密碼及驗證碼請求,系統調用chkteacher方法進行教師身份驗證,如果驗證正確,跳轉到teacher.asp,該頁面顯示學生能夠進行的各種操作。當教師選擇“作業發布”后,進入作業發布界面,教師設置作業需要提交的截止時間,作業題等信息,單擊“發布”按鈕即可進行發布。
1.4.3系統測試
系統測試用來解決各子系統之間的數據傳遞和共享問題。在實際測試中,首先要對各個模塊進行測試,保證開發出來的系統能夠滿足實際教學的需求,符合大眾用戶的要求。系統測試不僅要檢查系統的功能是否完備,還需要檢查是否做了一些不該做的工作,需要將用戶的一些非法輸入及不合理數據輸入考慮其中,當異常發生時,系統會對各種異常類型進行捕捉,避免系統因異常而退出。在本系統開發時,為了全面測試,在菜單項測試和數據跟蹤的基礎上,對系統功能進行整體測試,從而符合系統的要求。
2結束語
該系統針對網絡教學存在的一些問題,將ASP.NET和SQL Server2008技術相結合,開發功能齊全基于主流Python語言的網絡教學系統,非常適合Python語言的自學者和愛好者。但在實際應用中還存在這一些問題:比如缺少對學生真實學習的有效管理等,相信隨著信息技術和互聯網的發展,Python語言網絡教學系統會越來越好,越來越完善成熟。
參考文獻
[1] 宮業芹.基于ASP.NET的C語言網絡教學系統網站設計與實現[J].電腦編程技巧與維護,2013(02):110-112.
[2] 杜保全.《計算機文化基礎》網絡教學系統設計與實現[D].濟南:山東大學,2015.