陳翠紅
(安徽工商職業(yè)學(xué)院,安徽 合肥 231131)
隨著高校制度改革的深入和素質(zhì)教育的推進(jìn),開展大學(xué)生綜合素質(zhì)測評,即從德、智、體等全面考核學(xué)生素質(zhì)是一項(xiàng)重要舉措,能有效提高高校教育管理水平.但通過調(diào)查發(fā)現(xiàn),目前,一部分高校依然是從課業(yè)成績單方面考核學(xué)生,還有一部分高校雖然采用德、智、體綜合素質(zhì)測評模式,但仍是基于紙質(zhì)的操作模式,紙質(zhì)考核不僅工作繁瑣,浪費(fèi)大量的人力和物力,而且考核統(tǒng)計(jì)過程易發(fā)生手工統(tǒng)計(jì)錯誤導(dǎo)致真實(shí)性下降.隨著高校校園網(wǎng)的快速發(fā)展與完善,基于網(wǎng)絡(luò)的高校學(xué)生綜合素質(zhì)在線考核成為現(xiàn)實(shí).筆者結(jié)合同類部分院校的學(xué)生綜合素質(zhì)測評實(shí)際需求,利用ASP.NET+SQL SERVER開發(fā)構(gòu)建一套科學(xué)合理、便捷高效、易于使用的學(xué)生綜合素質(zhì)測評系統(tǒng),給測評者提供極大的便利.
ASP.NET是新一代企業(yè)級的網(wǎng)絡(luò)平臺,它是.NET Framework的一部分.ASP.NET提供的編程模型和結(jié)構(gòu)有助于快速、高效地建立靈活、安全和穩(wěn)定的應(yīng)用程序,是一種主流軟件開發(fā)技術(shù).基于ASP.NET的動態(tài)網(wǎng)頁執(zhí)行是通過ASP.NET引擎實(shí)現(xiàn)的.在執(zhí)行一個ASP.NET網(wǎng)頁時,Web服務(wù)器把執(zhí)行網(wǎng)頁的任務(wù)交給ASP.NET引擎.ASP.NET網(wǎng)頁被ASP.NET引擎執(zhí)行時,ASP.NET引擎將網(wǎng)頁以HTML的形式輸出,并返回這些HTML給Web服務(wù)器,而且給Web請求的瀏覽器返回HTML.如圖1所示.
圖1 ASP.NET網(wǎng)頁的執(zhí)行由ASP.NET引擎處理
ASP.NET 相對于傳統(tǒng)Web技術(shù)而言,具有以下突出優(yōu)勢:
(1)代碼分離.ASP.NET將程序代碼和網(wǎng)頁代碼分離,使得程序可維護(hù)性更強(qiáng).
(2)多語言支持.目前,C#、VB等可作為ASP.NET的腳本語言,其中C#語言高效安全、面向?qū)ο笮詮?qiáng),是ASP.NET編程首選語言.
(3)執(zhí)行效率提高.不同于傳統(tǒng)Web技術(shù)如ASP采用解釋執(zhí)行方式執(zhí)行程序,ASP.NET在服務(wù)器上執(zhí)行編譯好的程序,提高程序運(yùn)行效率.
(4)管理部署更容易.ASP.NET 應(yīng)用程序配置信息被存放在Web.config文本文件中,每個Web應(yīng)用都會繼承Web.config文件的默認(rèn)配置,部署ASP.NET應(yīng)用程序,只需復(fù)制必要的文件.
Microsoft 公司的SQL SERVER是廣泛應(yīng)用的關(guān)系數(shù)據(jù)管理系統(tǒng).它構(gòu)建在成熟的、強(qiáng)有力的關(guān)系模型之上,是目前首選的數(shù)據(jù)存儲及檢索模型.SQL SERVER 2008是SQL SERVER較新版本,是一個全面、強(qiáng)大的數(shù)據(jù)庫平臺,是能滿足所有數(shù)據(jù)要求的智能數(shù)據(jù)平臺.SQL SERVER 2008使用商業(yè)智能工具提供了企業(yè)級的數(shù)據(jù)管理,基于關(guān)系型和結(jié)構(gòu)化的數(shù)據(jù)庫引擎為用戶構(gòu)建高可靠、高性能的數(shù)據(jù)應(yīng)用程序提供保障[1].
根據(jù)對同類高校學(xué)生綜合素質(zhì)測評系統(tǒng)的需求調(diào)研,本系統(tǒng)可劃分為四個功能模塊,即學(xué)生、測評小組、輔導(dǎo)員和管理員模塊.學(xué)生可通過登錄系統(tǒng)查看個人測評結(jié)果等;測評小組登錄系統(tǒng)跟蹤記錄獎懲情況、實(shí)施綜合測評等;輔導(dǎo)員登錄系統(tǒng)審核獎懲記錄等;管理員實(shí)現(xiàn)對整個系統(tǒng)數(shù)據(jù)的維護(hù)功能.具體如圖2所示.
圖2 高校學(xué)生綜合素質(zhì)測評系統(tǒng)功能圖
(1)概念結(jié)構(gòu)設(shè)計(jì).通過對高校學(xué)生綜合素質(zhì)測評系統(tǒng)的需求功能分析,構(gòu)造其概念模型,圖3給出主要實(shí)體關(guān)系模型.
(2)邏輯結(jié)構(gòu)設(shè)計(jì).根據(jù)系統(tǒng)數(shù)據(jù)庫概念模型的分析設(shè)計(jì),構(gòu)造系統(tǒng)數(shù)據(jù)庫邏輯結(jié)構(gòu).本系統(tǒng)構(gòu)造如下數(shù)據(jù)庫邏輯表,帶下劃線字段為各表主關(guān)鍵字.
圖3 高校學(xué)生綜合素質(zhì)測評系統(tǒng)主要實(shí)體關(guān)系圖
管理員表(編號,用戶名,密碼,是否禁用).
系部表(系部編號,系部名稱).
輔導(dǎo)員表(輔導(dǎo)員編號,用戶名,姓名,密碼).
班級表(班級編號,班級名稱,輔導(dǎo)員編號,班級人數(shù),系部編號).
測評小組成員表(成員編號,用戶名,姓名,密碼,班級編號,是否禁用).
學(xué)生表(學(xué)號,姓名,密碼,性別,專業(yè),入學(xué)時間,聯(lián)系電話,政治面貌,班級編號,備注).
測評細(xì)則表(測評細(xì)則編號,細(xì)則內(nèi)容,分值,所屬分項(xiàng),備注).
測評記錄表(記錄編號,學(xué)生編號,測評內(nèi)容編號,記錄人員,記錄時間).
分項(xiàng)信息表(分項(xiàng)編號,分項(xiàng)名稱).
測評分項(xiàng)成績表(學(xué)號,分項(xiàng)編號,分項(xiàng)基分,分項(xiàng)總分,測評時間).
測評總分表(學(xué)號,測評總分,測評時間).
本系統(tǒng)充分使用ASP.NET的技術(shù)優(yōu)勢,在系統(tǒng)架構(gòu)時采用多層架構(gòu)模式,具體分為公共實(shí)體層、用戶界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,其中公共實(shí)體層是將系統(tǒng)高度抽象得到的其他層所依賴的實(shí)體,本系統(tǒng)涉及到系部、輔導(dǎo)員、班級、學(xué)生、測評細(xì)則、測評記錄、分項(xiàng)、測評分項(xiàng)成績、測評總分等實(shí)體,系統(tǒng)中全部實(shí)體均來自該層;用戶界面層(UI)主要提供給與系統(tǒng)交互的圖形界面,用戶可從界面向系統(tǒng)提交信息,也可以在用戶界面顯示服務(wù)器回發(fā)信息;業(yè)務(wù)邏輯層(BLL)給用戶界面層和數(shù)據(jù)訪問層提供橋梁,按業(yè)務(wù)規(guī)則對用戶界面?zhèn)魉瓦^來的數(shù)據(jù)進(jìn)行校驗(yàn)、處理并通過調(diào)用數(shù)據(jù)訪問層方法將數(shù)據(jù)傳遞給數(shù)據(jù)訪問層;數(shù)據(jù)訪問層(DAL)負(fù)責(zé)與底層SQL SERVER 2008數(shù)據(jù)庫平臺通訊,實(shí)現(xiàn)數(shù)據(jù)的INSERT、DELETE、UPDATE和SELECT等操作,這種多層架構(gòu)設(shè)計(jì)提高了系統(tǒng)的穩(wěn)定性和可擴(kuò)展性[2].
在本系統(tǒng)用戶界面層的 aspx頁面設(shè)計(jì)采用CSS盒子模型技術(shù)實(shí)現(xiàn).CSS盒子模型技術(shù)采用盒塊,即DIV實(shí)現(xiàn)頁面布局,應(yīng)用CSS樣式設(shè)置頁面表現(xiàn)風(fēng)格,是當(dāng)前主流的網(wǎng)頁布局技術(shù),這種將布局與表現(xiàn)分離的方式,不僅有利于提高頁面的響應(yīng)速度,確保網(wǎng)頁瀏覽通暢,增強(qiáng)用戶體驗(yàn),同時也有利于頁面的維護(hù)和修改[3].在本系統(tǒng)中,為使各模塊樣式風(fēng)格統(tǒng)一,構(gòu)建如圖4所示CSS樣式文件,其中CSS.css是總體樣式文件,控制系統(tǒng)總體樣式風(fēng)格;Admin.css、Assessment .css、Teacher.css、Student.css樣式文件分別實(shí)現(xiàn)管理員、測評小組、輔導(dǎo)員和學(xué)生模塊內(nèi)部頁面的樣式設(shè)置.
圖4 CSS樣式文件
具體應(yīng)用時只需要在頁面HTML代碼中鏈接CSS文件即可使用文件中的樣式,如鏈接總體樣式文件和教師模塊樣式文件可用如下代碼.頁面DIV布局細(xì)節(jié)在此不作贅述.
本系統(tǒng)管理員對系部、輔導(dǎo)員、班級、學(xué)生、測評細(xì)則等基礎(chǔ)信息導(dǎo)入可通過批量操作模式實(shí)現(xiàn),即將EXCEL表格數(shù)據(jù)批量上傳至服務(wù)器數(shù)據(jù)庫表中,在上傳EXCEL表格過程中,除了要求EXCEL表格中數(shù)據(jù)記錄項(xiàng)與服務(wù)器數(shù)據(jù)庫的表字段保持嚴(yán)格一致外,為了確保批量導(dǎo)入的完整性,可采用回滾技術(shù),在數(shù)據(jù)上傳過程中一旦出現(xiàn)異常,立刻回滾,提示數(shù)據(jù)上傳失敗.保障數(shù)據(jù)操作的一致性和完整性.回滾技術(shù)通過事務(wù)實(shí)現(xiàn),如下代碼段所示,在批量導(dǎo)入數(shù)據(jù)操作前設(shè)置一事務(wù),當(dāng)捕捉到異常,事務(wù)回到開始狀態(tài),放棄自事務(wù)開始以來所有操作[4].
SqlTransaction transaction=conn.BeginTransaction();
try{
批量導(dǎo)入數(shù)據(jù)代碼
}
catch
{try { transaction.Rollback(); }
catch { }
throw ;
conn.Dispose();
}
為提高系統(tǒng)代碼質(zhì)量,保障系統(tǒng)性能.可將數(shù)據(jù)庫鏈接訪問的方法進(jìn)行封裝,如圖5所示,在本系統(tǒng)中創(chuàng)建項(xiàng)目文件夾App_Code,將封裝的SqlDbHelper和AccessDbHelper(AccessDbHelper供上傳EXCEL數(shù)據(jù)和下載數(shù)據(jù)使用)放置該文件夾下,供數(shù)據(jù)訪問層使用,在數(shù)據(jù)訪問層不需要重復(fù)寫大量非常類似的代碼,通過定義幫助類SqlDbHelper的對象Helper,Helper調(diào)用SqlDbHelper中的相應(yīng)方法實(shí)現(xiàn),而數(shù)據(jù)訪問層在調(diào)用方法時將功能增刪查改的SQl語句傳遞到方法中即可,簡單的調(diào)用替代大段數(shù)據(jù)庫鏈接的類似代碼,避免了代碼的冗余.
圖5 系統(tǒng)所用數(shù)據(jù)庫幫助類
存儲過程是一組為了特定功能構(gòu)造的T-SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中[5].在本系統(tǒng)部分模塊如測評統(tǒng)計(jì)分析模塊業(yè)務(wù)邏輯相對比較復(fù)雜,如果在數(shù)據(jù)訪問層逐個使用基礎(chǔ)SQL語句會導(dǎo)致系統(tǒng)效率較低,因此在本系統(tǒng)中運(yùn)用自定義存儲過程,即在SQL SERVER 2008平臺的本系統(tǒng)數(shù)據(jù)庫中創(chuàng)建自定義存儲過程提高效率,本系統(tǒng)部分模塊自定義存儲過程如圖6所示,在數(shù)據(jù)訪問層直接調(diào)用相應(yīng)模塊存儲過程,可以提高系統(tǒng)運(yùn)行性能.
圖6 本系統(tǒng)存儲過程定義
本系統(tǒng)基于ASP.NET技術(shù),腳本語言采用C#語言,以IIS為服務(wù)平臺,數(shù)據(jù)庫采用安全性和并發(fā)性高的SQL SERVER 2008平臺;系統(tǒng)架構(gòu)采用多層架構(gòu),開發(fā)過程中靈活運(yùn)用CSS盒
子模型、回滾、數(shù)據(jù)庫幫助類優(yōu)化代碼、自定義存儲過程等關(guān)鍵技術(shù);整套系統(tǒng)穩(wěn)定、高效、使用便捷.本系統(tǒng)已在筆者所在高校試運(yùn)行,可在其他高校推廣.
參考文獻(xiàn):
[1]李珊.基于ASP.NET的網(wǎng)絡(luò)問卷調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2012.
[2]曹紅蘋,劉建華.基于ASP.NET+SQL Server的多層博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].廣西科學(xué)院學(xué)報(bào),2010(04):490-492.
[3]鄧歡,蘭慧紅.CSS下盒子模型定位淺析[J].廣西教育學(xué)院學(xué)報(bào),2010(06):193-196,198.
[4]王雪艷,申安來,謝鳳靜.事物回滾技術(shù)在評教系統(tǒng)開發(fā)中的應(yīng)用[J].科技傳播,2010(13):184-185.
[5]沈黎.自定義存儲過程在商品管理系統(tǒng)中的應(yīng)用研究[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2013(15):97-98.