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