陳翠紅
(安徽工商職業(yè)學(xué)院,安徽合肥231131)
高校學(xué)生檔案管理是高校教學(xué)管理中重要的工作環(huán)節(jié).隨著高校信息化建設(shè)步伐的加快,發(fā)達地區(qū)高校已采用電子檔案管理模式,但也有一些地區(qū)高校依然采用傳統(tǒng)的紙質(zhì)檔案管理模式,浪費了大量的人力、財力.電子檔案管理系統(tǒng)的開發(fā)既能提高高校學(xué)生檔案管理效率,又能節(jié)省大量的人力、物力.而目前在用的電子檔案管理系統(tǒng)有些是采用兩層架構(gòu)開發(fā)模式,在維護、二次開發(fā)等方面都存在問題.考慮軟件復(fù)用性和軟件構(gòu)件化,用三層架構(gòu)可實現(xiàn)軟件設(shè)計的“高內(nèi)聚,低耦合”..NET是現(xiàn)代軟件開發(fā)主流平臺之一,而在.NET平臺中三層架構(gòu)已經(jīng)在軟件開發(fā)中成為一種流行的開發(fā)模式,對于應(yīng)用需求靈活的系統(tǒng)比較適合,為系統(tǒng)的可擴展性和可移植性提供了保障.實踐證明,多層架構(gòu)開發(fā)模式是較好的軟件開發(fā)途徑.
筆者結(jié)合高校學(xué)生檔案管理現(xiàn)狀,應(yīng)用.NET三層架構(gòu)技術(shù),深入分析高校學(xué)生電子檔案管理系統(tǒng),嚴格按照軟件工程的思路,從需求分析,概要設(shè)計,詳細設(shè)計等方面給出關(guān)鍵問題解決方案.
.NET平臺是微軟多個開發(fā)團隊努力研發(fā)的成果,是微軟公司發(fā)布的新一代系統(tǒng)、服務(wù)和編程平臺,.NET Framework是微軟為開發(fā)應(yīng)用程序而創(chuàng)建的一個新環(huán)境,提供了跨編程語言的統(tǒng)一編程環(huán)境,大大簡化高度分布式Internet環(huán)境中的應(yīng)用程序開發(fā),使得應(yīng)用程序的平臺獨立性成為可能.主要包括公共語言運行庫(CLR)和.NET Framework類庫組件.
(1)公共語言運行庫(CLR).CLR是.NET Framework的基礎(chǔ),是.NET Framework運行時的環(huán)境,CLR提供核心服務(wù).一方面,可以被用戶看作是一個在執(zhí)行時管理內(nèi)存、執(zhí)行線程、執(zhí)行代碼、代碼安全驗證、編譯及其他系統(tǒng)服務(wù)的代理;另一方面,CLR還對嚴格的類型安全、可確保安全性和可靠性的其他形式的代碼準確性做了強制實施.
(2).NET框架類庫..NET框架類庫是面向?qū)ο蟮木C合性的可重用類型集合,它是.NET的另一個主要組建.諸如文件訪問、字符串管理、數(shù)據(jù)庫連接等常見的編程任務(wù),用戶可以在.NET框架類庫的支持下完成.此外,類庫也支持類似Windows窗體應(yīng)用程序、控制臺應(yīng)用程序、ASP.NET應(yīng)用程序等多種開發(fā)方案的類型.
(3)ADO.NET.ADO.NET提供對SQL SERVER等數(shù)據(jù)源以及通過OLE DB和XML公開的數(shù)據(jù)源的一致訪問.可以使用ADO.NET來完成應(yīng)用程序連接數(shù)據(jù)源、檢索、操作和更新數(shù)據(jù)操作.ADO.NET包括.NET框架數(shù)據(jù)提供程序以及數(shù)據(jù)庫和執(zhí)行數(shù)據(jù)操作命令的組建.以特殊方式向用戶公開以實現(xiàn)用戶的直接處理.
三層架構(gòu)的主體思想把不同功能的代碼放到不同層的項目中,自下而上分別為:數(shù)據(jù)訪問層(DAL)、業(yè)務(wù)邏輯層(BLL)和表示層(UI),各層之間相互依賴、相互協(xié)作來實現(xiàn)軟件的各項功能[1].表示層(UI)主要是提供給用戶交互操作界面,為用戶提供顯示數(shù)據(jù)和接受用戶輸入數(shù)據(jù)界面;業(yè)務(wù)邏輯層(BLL)是表示層和數(shù)據(jù)訪問層(DAL)的中間通訊橋梁,主要負責(zé)數(shù)據(jù)的傳遞和處理;數(shù)據(jù)訪問層(DAL)主要執(zhí)行從數(shù)據(jù)庫獲取數(shù)據(jù)或向數(shù)據(jù)庫發(fā)送數(shù)據(jù),在分布式應(yīng)用程序結(jié)構(gòu)中,通常使用ADO.NET數(shù)據(jù)適配器和SQL服務(wù)器的存儲過程來實現(xiàn)[2].
高校學(xué)生電子檔案管理系統(tǒng),根據(jù)對部分高校學(xué)生檔案管理的實際情況調(diào)研,通過分析,可分為學(xué)生、教師、輔導(dǎo)員和管理員角色.在本系統(tǒng)中,學(xué)生能夠查看自己的基本信息、各學(xué)期成績信息和在校期間所受獎懲情況;教師可查看自己所授課程的信息,上傳本課程的成績信息;輔導(dǎo)員能夠查看本班所有學(xué)生的基本信息,能夠根據(jù)所需的條件下載本班學(xué)生信息和本班學(xué)生的成績信息及獎學(xué)金名單,還能上傳本班學(xué)生本學(xué)期所受的獎懲情況;管理員除具有管理學(xué)生、教師、輔導(dǎo)員、班級等基本信息權(quán)限,還需具備上傳初始信息,數(shù)據(jù)備份等權(quán)限.系統(tǒng)分為4個功能模塊,分別為:學(xué)生功能模塊、教師功能模塊、輔導(dǎo)員功能模塊、管理員功能模塊.如圖1所示.
圖1 系統(tǒng)角色分析
通過對各角色的功能分析,具體需完成如圖2所示的系統(tǒng)功能.
圖2 系統(tǒng)功能結(jié)構(gòu)圖
根據(jù)對高校學(xué)生電子檔案管理系統(tǒng)的功能需求分析,利用數(shù)據(jù)庫概念結(jié)構(gòu)自底向上的設(shè)計方法,結(jié)合概念模型中最著名的實體-聯(lián)系法即E-R圖來分析數(shù)據(jù)結(jié)構(gòu).E-R圖包括三種基本因素即實體、屬性和聯(lián)系,一般用“菱形框”表示聯(lián)系,用“橢圓框”表示實體的屬性,“方框”表示實體.如圖3所示:
圖3 E-R圖的表示
把有聯(lián)系的實體(方框)通過聯(lián)系(菱形框)連接起來,注明聯(lián)系方式,再把實體的屬性(橢圓框)連到相應(yīng)實體上是E-R圖的常規(guī)畫法.
本系統(tǒng)中主要包括學(xué)生,班級,輔導(dǎo)員,專業(yè),系部,課程,教師,學(xué)期,成績,獎懲,獎學(xué)金,管理員等實體.下面以學(xué)生,班級,教師,課程等實體為例構(gòu)造E-R圖例,如圖4,圖5所示,其他實體畫法類似.
圖4 學(xué)生與班級E-R圖例
圖5 教師與課程E-R圖例
通過對實體的E-R圖分析,將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫管理系統(tǒng)(DBMS)支持的數(shù)據(jù)模型,形成數(shù)據(jù)庫邏輯模式,本系統(tǒng)采用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(DBMS),即把E-R圖轉(zhuǎn)換成二維表結(jié)構(gòu)描述的實體,用外鍵表示實體之間的關(guān)系.本系統(tǒng)的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計如下.
學(xué)生(學(xué)號,姓名,考生號,性別,出生日期,身份證號,民族,政治面貌,專業(yè)編號,班級編號,銀行卡號,宿舍號,宿舍人數(shù),家庭住址,家庭聯(lián)系方式,個人聯(lián)系方式,QQ號,電子郵箱,照片,休學(xué)或退學(xué),備注,密碼);班級(班級編號,班級名稱,輔導(dǎo)員編號,系部編號,專業(yè)編號,班級人數(shù));輔導(dǎo)員(輔導(dǎo)員編號,姓名,性別,密碼);專業(yè)(專業(yè)編號,專業(yè)名稱);系部(系部編號,系部名稱);課程(課程編號,課程名稱,教師編號,課程描述);教師(教師編號,姓名,性別,密碼);任課表(教師編號,課程編號,班級編號,學(xué)期編號);學(xué)期(學(xué)期編號,學(xué)期名稱);成績(課程編號,學(xué)號,教師編號,成績,學(xué)期編號);獎懲(學(xué)號,獎懲名稱,學(xué)期編號);獎學(xué)金(學(xué)號,獎學(xué)金名稱,學(xué)期編號);管理員(編號,用戶名,密碼).
通過上述對高校學(xué)生電子檔案管理系統(tǒng)的功能需求分析和數(shù)據(jù)庫設(shè)計,下文討論該系統(tǒng)詳細設(shè)計階段的關(guān)鍵問題解決方案.
(1)DIV+CSS技術(shù)實現(xiàn)表示層(UI)的網(wǎng)頁布局.表示層(UI)需要向用戶呈現(xiàn)數(shù)據(jù)顯示和輸入的交互界面,網(wǎng)頁布局技術(shù)選擇是否恰當直接影響系統(tǒng)的運行及維護效率.傳統(tǒng)網(wǎng)頁布局中多采用表格布局和框架布局.表格布局因多層嵌套導(dǎo)致瀏覽速度比較慢,而框架布局不能對網(wǎng)頁元素做具體定位,且部分瀏覽器不支持框架結(jié)構(gòu).本系統(tǒng)在表示層(UI)實現(xiàn)時采用結(jié)構(gòu)和外觀分離的DIV+CSS布局技術(shù),將網(wǎng)頁內(nèi)容區(qū)塊放置DIV,而外觀樣式在CSS中實現(xiàn),真正實現(xiàn)了結(jié)構(gòu)、表現(xiàn)的分離,提高了網(wǎng)頁界面的下載速度和網(wǎng)頁效率,確保了高校學(xué)生電子檔案管理系統(tǒng)維護和修改效率[3],具體布局的流程在此不做贅述.
(2)三層架構(gòu)中實體類的構(gòu)造.為避免表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL)之間大量參數(shù)傳遞的繁瑣性,引入實體對象類層是非常有必要的.三層架構(gòu)中合理運用實體類以封裝的實體對象作為參數(shù)傳遞替代繁瑣的大量變量參數(shù)傳遞.在表示層(UI)將用戶輸入的數(shù)據(jù)封裝到實體類對象中,在表示層(UI)實例化一個實體類對象,將用戶輸入的各個值賦給實體類對象的各個屬性.在業(yè)務(wù)邏輯層(BLL)主要負責(zé)在數(shù)據(jù)訪問層(DAL)和表示層(UI)之間傳遞實體對象,并對實體對象中封裝的數(shù)據(jù)進行處理.數(shù)據(jù)訪問層(DAL)根據(jù)數(shù)據(jù)存取需要將實體類對象進行解析并將解析后的數(shù)據(jù)存入數(shù)據(jù)庫,或者從數(shù)據(jù)庫取出記錄并通過解析并封裝到實體類對象.
根據(jù)該系統(tǒng)底層數(shù)據(jù)庫構(gòu)造情況,在實體類層構(gòu)造學(xué)生、班級、輔導(dǎo)員、專業(yè)、課程、教師、學(xué)期、成績、獎懲、獎學(xué)金、管理員實體類,并在表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL)添加對實體類層的引用.
(3)AJAX技術(shù)的靈活運用.在現(xiàn)代軟件發(fā)展中,用戶體驗是衡量軟件質(zhì)量的很重要的指標之一,為增強用戶體驗,提高系統(tǒng)響應(yīng)速度,在管理員添加學(xué)生,班級,輔導(dǎo)員,教師,課程等功能中采用AJAX異步通信技術(shù).普通的B/S架構(gòu)的應(yīng)用程序瀏覽器和服務(wù)器的通信是同步的,客戶端發(fā)送HTTP請求時,服務(wù)器根據(jù)請求進行業(yè)務(wù)邏輯處理,從數(shù)據(jù)庫提取數(shù)據(jù)并生成完整的HTML界面返回到客戶端,即使是一個簡單的數(shù)據(jù)提取,服務(wù)器都需要生成HTML頁面,而一般的B/S網(wǎng)站應(yīng)用程序不能像桌面應(yīng)用程序那樣快速反應(yīng),影響了系統(tǒng)速度,降低了用戶體驗,采用AJAX異步通信,當客戶端向服務(wù)器發(fā)送HTTP請求時,將需要的參數(shù)整合成XML文件并發(fā)送到服務(wù)器端,服務(wù)器端對文件進行解析,并將參數(shù)傳到后臺處理,最后以XML文件的形式返回到客戶端,客戶端實現(xiàn)快速、實時、局部更新,很大程度上提高了系統(tǒng)速度,增強了用戶體驗[4].
基于.NET平臺三層架構(gòu)的高校學(xué)生電子檔案管理系統(tǒng)采用當前主流軟件開發(fā)平臺,并運用多層架構(gòu)對系統(tǒng)進行研發(fā),采用“分而治之”的思想,有利于系統(tǒng)的開發(fā)、維護、部署和擴展,保證了系統(tǒng)的高效性.
[1]溫倩雯,周斌,何堅.基于.NET平臺的三層架構(gòu)的改進設(shè)計[J].現(xiàn)代計算機,2013(06):75-80.
[2]徐亞峰,蔣曉峰.基于.NET平臺的交互高校信息系統(tǒng)的設(shè)計與實現(xiàn)[J].軟件,2013(34):7-9.
[3]劉丹,倪曉紅.基于DIV+CSS的網(wǎng)頁布局模式[J].滄州師范學(xué)報,2012(09):74-77.
[4]紀根寧.基于.NET的Ajax技術(shù)研究與實現(xiàn)[J].水力采煤與管道運輸,2013(3):16-20.