張雯瑩
同濟(jì)大學(xué)軟件學(xué)院,上海 201804
高校學(xué)生的實(shí)習(xí)就業(yè)是當(dāng)前備受關(guān)注的話題,各大院系在學(xué)生的實(shí)習(xí)就業(yè)工作上都投入了不少精力,包括構(gòu)建一個(gè)服務(wù)于教師和學(xué)生的信息管理系統(tǒng),以提高實(shí)習(xí)就業(yè)管理的工作效率。本系統(tǒng)基于Browser/Server(瀏覽器/服務(wù)器)模式,不僅向?qū)W生提供了友好的界面,方便學(xué)生在實(shí)習(xí)就業(yè)事務(wù)上進(jìn)行自主查詢和管理;同時(shí)在后臺(tái)協(xié)助教師實(shí)現(xiàn)了從學(xué)生實(shí)習(xí)就業(yè)申請到實(shí)習(xí)就業(yè)考核的批量管理,節(jié)省了教師應(yīng)對事務(wù)性工作時(shí)間。此外,系統(tǒng)運(yùn)用數(shù)據(jù)庫技術(shù)儲(chǔ)存了大量的職位招聘信息、學(xué)生實(shí)習(xí)就業(yè)數(shù)據(jù)等,這些數(shù)據(jù)還可供今后分析統(tǒng)計(jì):如了解學(xué)生實(shí)習(xí)就業(yè)去向分布特點(diǎn)、掌握軟件領(lǐng)域?qū)嵙?xí)就業(yè)市場的需求變化等,為學(xué)院完善培養(yǎng)計(jì)劃提供一定的參考。
系統(tǒng)采用了B/S分層架構(gòu)。這樣用戶隨時(shí)能在裝有瀏覽器的機(jī)器上登陸并使用本系統(tǒng)。進(jìn)行分層設(shè)計(jì)的優(yōu)點(diǎn)在于:1)開發(fā)人員可以只關(guān)注整個(gè)結(jié)構(gòu)中的其中某一層;2)可以降低層與層之間的依賴;3)利于各層邏輯的復(fù)用
.NET是微軟一家提出,一家開發(fā)的框架,網(wǎng)絡(luò)支持系統(tǒng)也較為強(qiáng)大??紤]到服務(wù)器現(xiàn)部署環(huán)境為Windows2003+IIS6,理所應(yīng)當(dāng)?shù)倪x擇了ASP.NET技術(shù),最終通過IIS發(fā)布應(yīng)用,用戶只需要任意瀏覽器即可訪問。系統(tǒng)數(shù)據(jù)庫建立采用了SQL Server 2000。
本系統(tǒng)主要分為學(xué)生信息管理、新聞通知管理、招聘單位管理、實(shí)習(xí)就業(yè)管理4大部分。
1)學(xué)生信息管理:部分包括學(xué)生密鑰信息管理模塊和學(xué)生基礎(chǔ)信息管理模塊;
2)新聞通知管理:部分包括新聞欄目管理模塊和新聞管理模塊;
3)招聘單位管理:部分用于維護(hù)學(xué)院重要合作單位的信息。包括:單位信息管理模塊和單位聯(lián)系人管理模塊;
4)實(shí)習(xí)就業(yè)管理:部分是系統(tǒng)的核心。包括:實(shí)習(xí)就業(yè)職位功能模塊(包括職位發(fā)布與申請模塊、申請?zhí)幚砟K、簡歷管理模塊等)和實(shí)習(xí)就業(yè)管理功能模塊(包括實(shí)習(xí)登記模塊、實(shí)習(xí)退出申請模塊、實(shí)習(xí)鑒定模塊、實(shí)習(xí)成果提交模塊、實(shí)習(xí)評分模塊、就業(yè)登記模塊、資料分享模塊等)。本部分還有大量用戶報(bào)表。
本系統(tǒng)程序架構(gòu)在邏輯結(jié)構(gòu)上分為六層,由下至上分別是基礎(chǔ)數(shù)據(jù)層,數(shù)據(jù)庫操作層,數(shù)據(jù)庫接口層,業(yè)務(wù)邏輯層,頁面邏輯層及用戶接口層。
通過對實(shí)際業(yè)務(wù)功能的研究,將基礎(chǔ)數(shù)據(jù)抽象為若干數(shù)據(jù)業(yè)務(wù)類,并派生出相應(yīng)功能的數(shù)據(jù)子類,向上層邏輯提供數(shù)據(jù)服務(wù)。例如,抽象出的學(xué)生信息數(shù)據(jù)類含有學(xué)生姓名、學(xué)號、性別、身份證號等學(xué)生個(gè)人基礎(chǔ)信息屬性,系統(tǒng)可以選擇實(shí)例化單個(gè)學(xué)生實(shí)體的個(gè)人信息數(shù)據(jù),也可以批量的生成學(xué)生群組的學(xué)生個(gè)人信息類實(shí)例化數(shù)組,供上層訪問使用。
數(shù)據(jù)庫操作層定向針對MS SQL數(shù)據(jù)庫進(jìn)行編寫,向上層請求的數(shù)據(jù)操作提供數(shù)據(jù)庫查詢讀取和寫入。根據(jù)業(yè)務(wù)邏輯分為學(xué)生信息模塊,實(shí)習(xí)就業(yè)模塊,招聘單位管理模塊,新聞發(fā)布模塊四大模塊的數(shù)據(jù)庫操作類。針對不同上層請求,利用基礎(chǔ)數(shù)據(jù)類作為數(shù)據(jù)容器,實(shí)現(xiàn)系統(tǒng)與數(shù)據(jù)庫之間的交互。
為了便于底層數(shù)據(jù)庫移植,鑒于系統(tǒng)吞吐量在服務(wù)器的計(jì)算限度內(nèi),系統(tǒng)拋棄了傳統(tǒng)的數(shù)據(jù)庫存儲(chǔ)過程,通過ADO.NET數(shù)據(jù)庫類庫進(jìn)行訪問。實(shí)際系統(tǒng)使用了SQL Helper組件,簡化了數(shù)據(jù)庫訪問,提高了數(shù)據(jù)訪問的安全性。并且為了應(yīng)對大批量的數(shù)據(jù)查詢,使用了Hash表作為內(nèi)存存儲(chǔ),通過緩存機(jī)制減少了數(shù)據(jù)庫的處理壓力。
主要為了實(shí)現(xiàn)上層邏輯和底層數(shù)據(jù)庫操作的分離,通過這一接口,為數(shù)據(jù)庫操作提供良好的可擴(kuò)展性,為將來實(shí)現(xiàn)不同數(shù)據(jù)庫的過渡轉(zhuǎn)換和數(shù)據(jù)庫升級提供了便利。使得下層數(shù)據(jù)庫操作的更改不會(huì)影響到上層業(yè)務(wù)邏輯的功能實(shí)現(xiàn)。
作為系統(tǒng)的功能核心,業(yè)務(wù)邏輯層承擔(dān)了系統(tǒng)整體業(yè)務(wù)邏輯的實(shí)現(xiàn)。
1)學(xué)生信息管理模塊:主要負(fù)責(zé)學(xué)生信息的數(shù)據(jù)維護(hù),其中前臺(tái)像學(xué)生提供查詢和有限修改功能,后臺(tái)向管理員提供批量查詢和統(tǒng)計(jì)功能。其實(shí)現(xiàn)主要是通過調(diào)用數(shù)據(jù)庫層實(shí)現(xiàn)學(xué)生數(shù)據(jù)的增刪改查;
2)新聞通知管理模塊:通過Richbox實(shí)現(xiàn)多媒體的新聞編輯方式,可以插入圖片和附件等,完成基本的信息發(fā)布和編寫功能。此外,針對部分信息的安全特性要求,當(dāng)前臺(tái)讀取時(shí)會(huì)驗(yàn)證用戶Session,僅提供給已登錄用戶進(jìn)行查看;
3)實(shí)習(xí)就業(yè)管理模塊:實(shí)現(xiàn)了整套實(shí)習(xí)就業(yè)的邏輯功能,記錄學(xué)生的實(shí)習(xí)申請信息,后臺(tái)提供實(shí)習(xí)信息審核,實(shí)習(xí)鑒定業(yè)務(wù)邏輯,和實(shí)習(xí)課程評分。通過基礎(chǔ)數(shù)據(jù)層的實(shí)習(xí)信息標(biāo)志位,判斷實(shí)習(xí)階段進(jìn)程,并提供相應(yīng)操作。通過過濾器實(shí)現(xiàn)多條件的組合查詢,方便了管理員對于實(shí)習(xí)信息的查詢和管理,并實(shí)現(xiàn)了導(dǎo)出Excel表格的功能,對于實(shí)習(xí)鑒定通過外部擴(kuò)展插件生成pdf格式的文件;
4)招聘單位管理模塊:統(tǒng)計(jì)招聘單位的基本信息,維護(hù)聯(lián)系人基本數(shù)據(jù),并且聯(lián)系實(shí)習(xí)就業(yè)模塊,定量的可以對實(shí)習(xí)情況進(jìn)行分析和統(tǒng)計(jì),評定各個(gè)招聘單位的關(guān)注熱度。
鑒于系統(tǒng)WEB應(yīng)用程序的特性,在頁面邏輯層,實(shí)現(xiàn)了從用戶UI到業(yè)務(wù)邏輯的連接,主要實(shí)現(xiàn)一些基礎(chǔ)數(shù)據(jù)的驗(yàn)證,對于邏輯層呈遞的數(shù)據(jù)格式化的顯示,響應(yīng)用戶頁面的操作請求并交由業(yè)務(wù)邏輯層去實(shí)現(xiàn)完成。系統(tǒng)還使用了Ajax異步刷新技術(shù),使得頁面更改的部分進(jìn)行小量的刷新,加快了用戶訪問速度,提高了系統(tǒng)的可用性。
利用HTML+CSS進(jìn)行顯示和排版,利用Web頁面控件,提供良好的界面向用戶提供功能服務(wù),并融入javascript實(shí)現(xiàn)動(dòng)態(tài)的頁面呈現(xiàn)和用戶交互。并且廣泛使用了GridView和DetailView進(jìn)行數(shù)據(jù)交互。
[1]鄧文員.ASP與網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)[M].北京:中國鐵道出版社,2005.
[2]WorleyS.ASP.NET技術(shù)內(nèi)幕[M].北京:人民郵電出版社,2006:132-139.
[3]溫志雄.Web程序設(shè)計(jì)與應(yīng)用教程與實(shí)訓(xùn)(SQLServer版)[M].北京:北京大學(xué)出版社,2006:67-89.