田洪云
摘 要:隨著網絡教學的廣泛應用,越來越多的教師選擇讓學生提交電子作業(yè),但是對于電子作業(yè)的批改和成績統(tǒng)計需要花費很多的時間,為了減輕老師批改電子作業(yè)的壓力,并加強學生與教師的交流,我校設計了作業(yè)管理系統(tǒng),實現(xiàn)了作業(yè)發(fā)布、作業(yè)提交、在線批改、成績統(tǒng)計、在線交流等功能。系統(tǒng)運行取得較好的效果。
關鍵詞:網絡教學 作業(yè)管理 成績統(tǒng)計
中圖分類號:TP393.18文獻標識碼:B 文章編號:1673-8454(2009)19-0040-02
為解決學生提交作業(yè)、學生與教師交流等問題,我校設計了作業(yè)管理系統(tǒng),可以幫助教師布置作業(yè),收集學生作業(yè),并在線批改。學生可以隨時查看自己作業(yè)的批改情況,并可以與教師及時交流學習中的問題。系統(tǒng)利用ASP.NET 2.0和SQL Server 2000作為開發(fā)工具設計實現(xiàn),編程語言為C#。
一、系統(tǒng)分析與設計
1.需求分析
一個作業(yè)管理系統(tǒng)的用戶包括:學生、教師、教務人員和輔導員。學生可以查看未完成的作業(yè)、提交作業(yè)、欣賞范例、與教師交流;教師可以布置作業(yè)、批改作業(yè)、推薦優(yōu)秀作品、針對作業(yè)情況進行統(tǒng)計等;教務人員需要對課程信息、班級信息、學生信息、教師信息和課程表信息進行管理;輔導員可以查看學生提交作業(yè)情況和教師批改作業(yè)情況,及時了解學生學習狀況和老師的教學狀況。
2.系統(tǒng)功能結構
根據(jù)需求分析,畫出系統(tǒng)功能結構如圖1所示。
3.數(shù)據(jù)庫設計
根據(jù)系統(tǒng)需求和模塊設計,需要建立7個數(shù)據(jù)表,分別為:班級信息表、學生信息表、教師信息表、課程信息表、課程表、作業(yè)信息表以及作業(yè)提交信息表。
班級信息表包括對班級信息的描述、班級編號、班級名稱等字段。學生信息表用于存儲學生的個人信息,包括學號、姓名、班級編號、密碼等字段。教師信息表存儲教師的相關信息,包括職工號、姓名、密碼等字段。課程基本信息表有課程編號、課程名、課程描述等字段。課程表包含了教師與班級、課程之間的對應關系,包含教師職工號、班級編號、課程編號等字段。作業(yè)表有作業(yè)編號、作業(yè)名稱、班級編號、課程編號、教師職工號、作業(yè)內容、作業(yè)發(fā)布日期、作業(yè)上交截止日期。作業(yè)提交信息表包括學號、作業(yè)編號、作業(yè)內容、作業(yè)地址、得分、評語及作業(yè)狀態(tài)等字段,其中作業(yè)狀態(tài)指是否設為范例;作業(yè)內容存放學生提交的文字性答案,作業(yè)地址存儲內容為文件時,存放文件的地址。
二、系統(tǒng)實現(xiàn)
本系統(tǒng)利用SQL Server 2000數(shù)據(jù)庫、基于三層Web體系結構設計實現(xiàn)。三層體系結構把系統(tǒng)從邏輯上分為表示層、業(yè)務層和數(shù)據(jù)層。下面介紹各個層的實現(xiàn)過程。
1.數(shù)據(jù)層設計
數(shù)據(jù)層是一組封裝了對數(shù)據(jù)庫進行各種操作(查詢記錄、刪除記錄、添加記錄、更新記錄等)的類。系統(tǒng)中數(shù)據(jù)層設計7個類,分別對7個數(shù)據(jù)表進行添加、刪除、修改等相關操作。
(1)類的設計
下面以CompleteWork 類為例說明類中定義的方法。CompleteWork 類定義了對作業(yè)提交信息表的各種操作方法, 此類方法中的定義如表1 所示。
(2)方法的實現(xiàn)
ASP.NET 中通過ADO.NET 操作數(shù)據(jù)庫,ADO.NET 包括五個核心對象:Connection 對象提供與數(shù)據(jù)源的連接;Command 對象能夠對數(shù)據(jù)庫進行操作;DataReader 從數(shù)據(jù)源中提供高性能的數(shù)據(jù)流;DataAdapter 提供連接DataSet 對象和數(shù)據(jù)源的橋梁。
下面以CompleteWork 類中AddComWork()方法為例,說明方法的實現(xiàn)。
public void AddComWork(ArrayList ComWorkInfo)
{
string strconn = System.Configuration.Configuration Manager.AppSettings["ConnString"];
SqlConnection conn=new SqlConnection (strConn);
String strSql=" Insert into CompleteWork(……,WorkPath,……)values('" +…… + "','" +ComWorkInfo[3] + …… + "')";
SqlCommand com=new SqlCommand(strSql,conn);
conn.Open();
com.ExecuteNonQuery();
}
2.業(yè)務層設計
業(yè)務層負責從表示層獲取用戶輸入的數(shù)據(jù),并調用數(shù)據(jù)層提供的方法實現(xiàn)系統(tǒng)的業(yè)務功能。在此介紹一下作業(yè)提交功能在該層中的實現(xiàn)。
提交作業(yè)方式可以有兩種,一種是直接把答案寫進文本框提交到數(shù)據(jù)庫;一種是把答案以文件的形式上傳。本系統(tǒng)同時支持這兩種方式,直接提交的答案可以寫進作業(yè)提交信息表的作業(yè)內容字段,以文件方式提交的作業(yè)把作業(yè)文件存儲到硬盤上并在數(shù)據(jù)庫中記錄文件地址,相關代碼如下:
CompleteWork cw;// CompleteWork為對作業(yè)提交表進行操作的類
string[] ziduan;
ziduan=new string[7];
if(FileUpload1.PostedFile.FileName != "")
{
DateTime date = DateTime.Now;
string str = date.ToShortDateString() + date.Hour.ToString() + date.Minute.ToString() + date.Second.ToString() + date.Millisecond.ToString();
String filename,filename1;
filename= Path.GetFileName(FileUpload1.PostedFile.FileName);
filename1 = filename.Substring(filename.LastIndexOf("."));
//保存文件
String filepath =Server.MapPath("upload") + "/"+ str+filename1;
FileUpload1.PostedFile.SaveAs(filepath);
}
//下面為ziduan數(shù)組賦值,為需要添加的字段值
……
cw. AddComWork (ziduan); //調用CompleteWork類的AddComWork方法添加記錄
3.表示層設計
表示層是人機交互界面,負責處理用戶的輸入和向用戶的輸出。表示層可以調用邏輯層的類和方法以實現(xiàn)與用戶的交互。利用ASP.NET2.0提供的主題,為網站設定了統(tǒng)一的界面,其界面簡潔、美觀。利用Web服務器控件輸入輸出信息,并對輸入信息進行驗證,保證輸入數(shù)據(jù)的正確性,較好地實現(xiàn)了與用戶之間的交互。
三、結論
本文針對網絡教學的需要,基于三層Web體系結構設計實現(xiàn)了在線作業(yè)系統(tǒng),給出了系統(tǒng)的設計方案, 并重點介紹了作業(yè)提交功能的實現(xiàn),利用此系統(tǒng)不僅可以有效地減輕老師統(tǒng)計學生作業(yè)成績及提交情況的負擔,還可以通過論壇及時解決學生學習中的問題,而且有助于輔導員對學生學習情況的了解。
參考文獻:
[1]于樺楠.基于網絡環(huán)境的職業(yè)技術教育教學資源庫的建設[J].中國教育信息化(高教職教),2008(5).
[2]劉建舟,劉曉華.智能化網絡作業(yè)系統(tǒng)的設計及關鍵技術研究[J].軟件導刊,2006(6).
[3]李新國.精品課程中基于Web的網絡在線測試系統(tǒng)的研究與實現(xiàn)[J].中國教育信息化(高教職教),2008(3).
[4]王永昌.基于ASP.NET的學生作業(yè)管理系統(tǒng)架構與設計[J].電腦知識與技術,2008,4(5).
(編輯:楊馥紅)