《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于Web的上機作業(yè)管理系統(tǒng)
基于Web的上機作業(yè)管理系統(tǒng)
宗 慧, 任永峰
淮陰工學院 計算機工程系,江蘇 淮安 223001
摘要: 討論了Web環(huán)境下上機作業(yè)管理系統(tǒng)的體系結(jié)構(gòu)、系統(tǒng)功能、數(shù)據(jù)庫設(shè)計以及系統(tǒng)的實現(xiàn)技術(shù)。
Abstract:
Key words :

摘 要:討論了Web環(huán)境下上機作業(yè)管理系統(tǒng)的體系結(jié)構(gòu)、系統(tǒng)功能、數(shù)據(jù)庫設(shè)計以及系統(tǒng)的實現(xiàn)技術(shù)。
關(guān)鍵詞:上機作業(yè)管理系統(tǒng); 數(shù)據(jù)庫; 數(shù)據(jù)完整性

  上機類作業(yè)是計算機教育中培養(yǎng)學生實踐能力的重要環(huán)節(jié),其顯著特征是將實踐知識與理論知識有機地聯(lián)系在一起,并借助于一定的實驗手段來培養(yǎng)學生的技術(shù)應(yīng)用能力和工程觀念。傳統(tǒng)的上機課程一般需要教師在課堂上完成安排實驗任務(wù)、評閱文件、收集和批改實驗報告等工作,無法在課余時間控制學生上機作業(yè)的完成質(zhì)量,這種情況已經(jīng)越來越不能適應(yīng)現(xiàn)代教學的需求。在國內(nèi),從計算機類上機課程作業(yè)管理系統(tǒng)的管理情況來看,在現(xiàn)代化教育技術(shù)模式下,使用計算機提交作業(yè)已相當普及。但能夠合理使用硬件資源、有條理地管理好學生作業(yè)信息的計算機管理系統(tǒng)卻少之又少。
  本文闡述了運用ASP.NET技術(shù)構(gòu)建一個計算機類作業(yè)管理系統(tǒng)的過程,描述了B/S模式的概念及特點、ASP.NET的優(yōu)越性及對作業(yè)管理系統(tǒng)的分析,該系統(tǒng)主要完成了作業(yè)的上傳、教師對作業(yè)的批改,系統(tǒng)的穩(wěn)定性高,操作簡單。
1  系統(tǒng)的體系結(jié)構(gòu)
  B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起、對C/S結(jié)構(gòu)的一種改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn)。B/S結(jié)構(gòu)主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript)和ActiveX技術(shù),用通用瀏覽器實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)的強大功能,節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)[4]。
  B/S結(jié)構(gòu)采用星形拓撲結(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡(luò)或利用Internet虛擬專網(wǎng)(VPN)。前者的特點是安全、快捷、準確,后者則具有節(jié)省投資、跨地域廣的優(yōu)點,需視企業(yè)規(guī)模和地理分布確定采用哪種方式。企業(yè)內(nèi)部通過防火墻接入Internet,在整個網(wǎng)絡(luò)采用TCP/IP協(xié)議。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

2 系統(tǒng)的功能需求
2.1 用戶的登錄功能設(shè)計
  登錄功能要求3種用戶能在同一界面登錄,學生、老師、管理員以用戶名與密碼進行登錄。如果用戶名錯誤或不存在、密碼錯誤,應(yīng)當給予提示。
2.2 學生子系統(tǒng)功能設(shè)計
  本子系統(tǒng)面向的用戶為學生用戶,主要有3個功能:
  (1)上傳作業(yè)
  要求先找到上傳的對象(老師),然后瀏覽本地計算機目錄,找到要提交的文件,并提交到對應(yīng)的老師目錄下,系統(tǒng)會自動記錄該作業(yè)提交的信息,完成提交過程,返回成功信息。
  (2)管理作業(yè)
  要求學生用戶能查詢所有作業(yè)的成績,并按科目類別排列顯示;可以對作業(yè)進行查看、刪除。
  (3)修改個人信息
  要求輸入密碼時,密碼以隱藏模式顯示;輸入新密碼時,要對密碼進行二次檢驗和長度檢驗;修改成功后提示成功。可修改除賬戶以外的所有信息。
2.3 老師子系統(tǒng)功能設(shè)計
  本子系統(tǒng)面向的用戶為老師,主要有3個功能:
  (1)修改個人資料
  要求輸入密碼時,密碼以隱藏模式顯示;輸入新密碼時,要對密碼進行二次檢驗和長度檢驗;修改成功后提示成功。可修改除賬戶以外的所有信息。
  (2)發(fā)布公告
  要求可以發(fā)布新的公告,并可以對公告進行管理。
  (3)作業(yè)管理
  要求可以發(fā)布作業(yè)、設(shè)定作業(yè)提交期限,并可以管理其發(fā)布的公告、按作業(yè)的題目查詢要批改的作業(yè)、對作業(yè)進行批改與管理。
2.4 管理員子系統(tǒng)功能設(shè)計
  本系統(tǒng)面向管理員用戶,主要有3個功能需求:
  (1)修改密碼
  修改管理員密碼,要求賬戶不能修改。
  (2)角色管理
  增加老師,正確錄入老師信息(姓名、密碼等),錄入值不能為空。管理教師,刪除數(shù)據(jù)庫中所有該老師關(guān)聯(lián)信息。認證管理學生,對學生信息進行認證,否則學生即使注冊也無法登錄;對學生信息進行刪除。
  (3)課程管理
  根據(jù)老師的姓名,對課程進行增加和刪除管理。
3 系統(tǒng)的數(shù)據(jù)庫設(shè)計   
  概念模型是對現(xiàn)實世界的抽象和概括,它真實、充分地反映了現(xiàn)實世界中的事物和事物之間的聯(lián)系,它獨立于計算機的數(shù)據(jù)模型和特定的數(shù)據(jù)庫管理系統(tǒng)。描述概念模型的有力工具是E-R 圖,本系統(tǒng)的E-R圖如圖2所示。

   邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的E-R圖轉(zhuǎn)換為與所選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。E-R圖向關(guān)系模型的轉(zhuǎn)化要解決的問題是:如何將實體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式以及確定這些關(guān)系模式的屬性和碼。系統(tǒng)的全局E-R圖轉(zhuǎn)換成的關(guān)系模型為:
  教師(教師名、角色名稱、密碼、系別、性別、職稱、任教班級數(shù)、通訊地址)
  班級(班級名、系別、人數(shù))
  任課(課程名稱、教師名、班級名)
  作業(yè)(作業(yè)名、作業(yè)序號、作業(yè)內(nèi)容、作業(yè)人數(shù))
  作業(yè)分配(作業(yè)名、班級名、作業(yè)類型、機構(gòu)數(shù)量、作業(yè)期限)
  學生(學生名、班級名、學號、角色名稱、密碼、通訊地址)
  作業(yè)權(quán)限(學生名、作業(yè)名、學號、作業(yè)類型)
  角色(角色名稱、人員名稱、系別、通訊地址)
  圖文檔(文檔名稱、作業(yè)名、學生名、班級名、作業(yè)文件類型、完成狀態(tài)、評價狀態(tài)、評價內(nèi)容)
  機構(gòu)(機構(gòu)名、作業(yè)名、班級名、學生名)
  教師注冊表(系別、教師名集合、職稱)
  學生注冊表(班級名、學生名集合)
  本系統(tǒng)的DBMS采用的是MS SQL Server 2000。
4 系統(tǒng)的實現(xiàn)技術(shù)
4.1 ASP.NET技術(shù)
  ASP.NET完全基于模塊與組件,具有更好的可擴展性與可定制性,同時也提供給Web開發(fā)人員更好的靈活性,有效縮短了Web應(yīng)用程序的開發(fā)周期。ASP.NET與Windows 2000 Server/Advanced Server的完美組合,為中小型乃至企業(yè)級的Web商業(yè)模型提供了一個更為穩(wěn)定、高效、安全的運行環(huán)境。  
  ASP.NET是ASP的最新版本,建立于公共語言運行環(huán)境基礎(chǔ)上,具有強大的語言支持(例如 C# 、VB.NET)、更高的執(zhí)行效率和開發(fā)效率等優(yōu)點。
  在ASP.NET中,使用ADO.NET連接數(shù)據(jù)庫,ADO.NET使用XML實現(xiàn)程序和網(wǎng)頁之間的數(shù)據(jù)交換。用XML格式的數(shù)據(jù)集傳送信息,使得開發(fā)者能夠輕易地把處理數(shù)據(jù)的部分和用戶界面的部分分別放在不同的服務(wù)器上。因此,它能夠極大地提高性能以及增強支持多用戶系統(tǒng)的可維護性。
4.2 數(shù)據(jù)完整性的維護技術(shù)
  數(shù)據(jù)完整性是指數(shù)據(jù)的正確性和一致性,它有2方面的含義:(1)數(shù)據(jù)取值的正確性,即字段列值必須符合數(shù)據(jù)的取值范圍、類型和精度的規(guī)定;(2)相關(guān)數(shù)據(jù)的一致性,即相關(guān)表的聯(lián)系字段的列值匹配。
  在SQL Server數(shù)據(jù)庫應(yīng)用系統(tǒng)中,實施數(shù)據(jù)完整性維護的方法主要有以下3種,其策略為:
  (1)對于通過窗口操作輸入的數(shù)據(jù),一般采用前端應(yīng)用程序來確保數(shù)據(jù)的完整性。這樣,一方面可把非法數(shù)據(jù)在提交到數(shù)據(jù)庫之前就拒之門外,另一方面可讓用戶及時得到操作反饋信息,使系統(tǒng)更加友好。
  (2)數(shù)據(jù)一致性的維護,適合于由后端數(shù)據(jù)庫的觸發(fā)器或表定義的約束來實現(xiàn)。這樣可降低前端應(yīng)用程序的開發(fā)量,提高應(yīng)用系統(tǒng)的運行效率和可維護性。
  (3)對于數(shù)據(jù)完整性和安全性要求較高的系統(tǒng),則需要采用多層保護屏障來確保數(shù)據(jù)的完整性和安全性。如在前端應(yīng)用系統(tǒng)程序檢查輸入數(shù)據(jù)的有效性,同時在后端數(shù)據(jù)庫建立表約束、規(guī)則、缺省和觸發(fā)器等措施進行數(shù)據(jù)完整性約束,提高系統(tǒng)數(shù)據(jù)的可靠性和安全性。
  本系統(tǒng)主要采用了后端數(shù)據(jù)庫的保護措施。后端數(shù)據(jù)庫服務(wù)器保護又可分為定義create table完整性約束保護和定義規(guī)則、缺省、索引和觸發(fā)器保護。其定義為: 
  (1)定義create table完整性約束
  該方法是在創(chuàng)建數(shù)據(jù)庫表的命令語句中,加入字段的數(shù)據(jù)完整性約束語句來實施數(shù)據(jù)的完整性保護。例如在建表語句中可加入非空(not null)約束、缺省(default)約束、唯一碼(unique)約束、主鍵碼(primary key)約束等。它的主要特點是定義簡單、安全可靠、維護方便。在創(chuàng)建本系統(tǒng)的物理模型時,就采用了這些完整性約束。
  (2)定義規(guī)則、缺省、索引和觸發(fā)器
  在數(shù)據(jù)庫表的創(chuàng)建命令語句中定義約束的方法,雖然具有簡單、方便、安全等特點,但它只對特定的表有效,不能應(yīng)用到其他表,并且只能使用alter table命令進行修改或刪除,缺乏一定的靈活性。在數(shù)據(jù)庫中創(chuàng)建與表相對獨立的規(guī)則、索引和觸發(fā)器對象,也能實現(xiàn)數(shù)據(jù)完整性保護,而且能實施更復(fù)雜、更完善的數(shù)據(jù)完整性約束。它的主要特點是功能強、效率高、維護方便。
  類似于表定義中的參照完整性約束,觸發(fā)器可用來保證相關(guān)數(shù)據(jù)的一致性。它還能完成一些表定義的參照完整性約束不能完成的任務(wù):(1)對數(shù)據(jù)庫相關(guān)表中的更新進行級聯(lián);(2)通過引用其他列或數(shù)據(jù)庫對象來實現(xiàn)復(fù)雜的限制;(3)執(zhí)行“若……則……”分析。例如,若當刪除教師表的主鍵碼行時,也要求刪除任課表(teach)的外鍵碼相關(guān)行。
5 系統(tǒng)運行示例
  本節(jié)給出了系統(tǒng)運行的界面,管理員和教師借助于頁面就可以對作業(yè)信息進行管理。圖3~圖6分別為學生上傳作業(yè)界面、教師發(fā)布作業(yè)界面、作業(yè)批改界面和管理員管理課程信息界面。

參考文獻
[1] 王輝,黃紅超.ASP.NET實用教程[M].北京:清華大學出版社, 2005.
[2] BASINRA R, CONWAY R. ASP.NET安全性高級編程[M]. 王 曉娜,黃開枝,譯.北京:清華大學出版社,2003.
[3] OTEY M, CONTE P. SQL Server 2000開發(fā)指南[M]. 陳思義,  吳強,劉紅波,譯.北京:清華大學出版社,2002.
[4] 甘仞初.信息系統(tǒng)分析與設(shè)計[M].北京:高等教育出版社, 2003.
[5] 胡海璐.網(wǎng)絡(luò)系統(tǒng)開發(fā)實例精粹(ASP.NET版)[M].北京:電子工業(yè)出版社,2006.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。