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

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

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

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

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

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

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