摘要:本文主要講述了基于ASP.NET技術框架開發(fā)的網(wǎng)上招生報名系統(tǒng)的設計和實現(xiàn)。該系統(tǒng)為云南老年開放大學辦學體系各個院校的老年學員提供了在線報名、選課、繳費等服務功能,各院校管理員可自行獨立維護學校招生業(yè)務相關信息。在系統(tǒng)設計方面,用戶端和管理端均采用了技術成熟的三層架構,各層次的系統(tǒng)邊界較為清晰。其中,針對開發(fā)需求,數(shù)據(jù)訪問層基于ADO.NET技術封裝了輕量級的ORM組件,可以大大簡化數(shù)據(jù)層的相關編碼工作。同時,該系統(tǒng)預留了相關功能接口,以便日后更新迭代升級,保證良好的穩(wěn)定性和擴展性,因此具有較高的推廣價值。
關鍵詞:ORM;三層架構;ASP .NET MVC;報名系統(tǒng)
一、引言
為了積極響應云南省政府提出關于加強“互聯(lián)網(wǎng)+老年教育”的要求,云南老年開放大學以現(xiàn)代信息技術為支撐,發(fā)揮信息化優(yōu)勢,于2022年開始為全省辦學體系院校老年學員提供線上報名服務。系統(tǒng)建設旨在于如何優(yōu)化現(xiàn)行報名模式,改變傳統(tǒng)的“紙質(zhì)報名”,提高報名數(shù)據(jù)的準確性和安全性,并構建線上學習支持服務體系。通過該系統(tǒng),院校能夠實時掌握招生報名關鍵數(shù)據(jù)及趨勢分析,精準定位班級報名數(shù),快速反饋是否一鍵“并班”“撤班”等操作,提高報名管理效能及優(yōu)化操作流程,進而降低人力成本。在每一招生季結束后,院??梢酝ㄟ^查看系統(tǒng)分析和統(tǒng)計,為下一招生季提供有價值預向的參考數(shù)據(jù)。
二、系統(tǒng)需求
老年在線報名系統(tǒng)的基本目標是提供高效、穩(wěn)定、可擴展的在線報名、繳費、發(fā)票收集等服務,分析和統(tǒng)計有價值的數(shù)據(jù)報表,應對突發(fā)性用戶訪問(例如當天開始報名和報名截止前可能產(chǎn)生的用戶訪問峰值),并進行響應和處理。整個系統(tǒng)的角色包括:前臺用戶、教務管理員、學校招生管理員、學校財務管理員、超級管理員。以上角色是基于目前業(yè)務開展和管理需求而設定的,權限模塊支持基于現(xiàn)角色劃分并衍生出新角色。
(一)前臺用戶
1.注冊和實名認證身份;
2.查看相關招生內(nèi)容發(fā)布信息(文字、視頻、圖片);
3.選課-報名-繳費(發(fā)票收集)。
(二)教務管理員
1.創(chuàng)建體系辦學各級學校及可開設系別、專業(yè)及招生季;
2.辦學體系師資庫管理;
3.以“專業(yè)”“年齡”“性別”維度,分析和查看各專業(yè)開班情況信息、熱門專業(yè)分析TOP10、報名學員性別和年齡分布等方面的統(tǒng)計和匯總;
4.按照辦學體系架構按照“地域”和“學校級別”,統(tǒng)計展示全省教學機構分布及招生情況總覽。
(三)學校招生管理員
1.發(fā)布和維護本機構信息和招生計劃;
2.實時查看監(jiān)控報名情況,按需進行“一鍵升級”“調(diào)班”“合并班級”“撤班”等操作;
3.后臺操作學員退費申請;
4.學員信息管理維護;
5.本校招生情況統(tǒng)計及匯總(包括專業(yè)維度分析、招生季趨勢走向分析、學員年齡及性別分布)。
(四)超級管理員
1.創(chuàng)建和維護業(yè)務開展所涉及的管理員信息;
2.基于業(yè)務管理各類角色,創(chuàng)建及相關角色權限賦予/取消;
3.針對某個物理人,設置所需關聯(lián)角色(一人可設置多角色);
4.用戶數(shù)據(jù)管理。
(五)學校財務管理員
1.針對退費申請學員,進行原路退款操作;
2.發(fā)票收集管理及Mark標記;
3.按照自定義時間段訂單統(tǒng)計。
為了實現(xiàn)上述基本系統(tǒng)需求,院校需要一個以角色及角色權限管理為核心,高度模塊化并且易于維護的系統(tǒng)架構。
三、系統(tǒng)架構
分析系統(tǒng)規(guī)模兼顧系統(tǒng)的安全性、模塊化性、擴展性以及可維護性,采用成熟的三層架構,即界面交互/可視化層、業(yè)務邏輯層和數(shù)據(jù)訪問層(見圖1)。
1.可視化層:本系統(tǒng)前端部分基于Bootstrap樣式庫進行開發(fā),采用響應式WEB解決方案,同時適配PC端和移動微信端展示;利用HTML5和CS3技術,實現(xiàn)同一個頁面在不同終端下表現(xiàn)出不同排版的布局;使用后端渲染的模式,采用的模板引擎為ASP .NET MVC自帶的 Razor引擎,直接由服務端輸出渲染后的頁面,減少前端js渲染頁面帶來的卡頓現(xiàn)象。
2.業(yè)務邏輯層:業(yè)務邏輯層封裝了平臺所有的業(yè)務代碼,并將執(zhí)行結果反饋給可視化層。
根據(jù)功能劃分業(yè)務邏輯層,又包含若干基本模塊:角色管理、系統(tǒng)設置、學員管理、學校信息管理、教務管理、招生管理、財務管理、報表管理等。
3.數(shù)據(jù)訪問層:提供整個系統(tǒng)的數(shù)據(jù)持久化,并為上層系統(tǒng)模塊提供簡單可靠的數(shù)據(jù)訪問和管理接口。
四、系統(tǒng)核心模塊設計與實現(xiàn)
整個系統(tǒng)的前端界面展現(xiàn)層以及頁面交互采用ASP .NET MVC框架進行實現(xiàn)。業(yè)務層配合各模塊的功能要求,封裝了多個服務供表現(xiàn)層使用;數(shù)據(jù)庫則采用SQL Server 2012,基于ADO.NET技術,封裝了輕量級的ORM組件,用于承載數(shù)據(jù)訪問層的相關操作。
(一)角色管理
1.默認角色模板的權限細化分配
通過權限管理接口,開發(fā)預留管理業(yè)務所需的多個默認業(yè)務初始角色模板包含各自角色對應的權限。根據(jù)日后的業(yè)務的拓展和劃分,為了保證業(yè)務和系統(tǒng)管理高度融合,超級管理員可以從初始模板自定義創(chuàng)建出業(yè)務劃分更細的各類角色。由于系統(tǒng)涉及了老年學員隱私及敏感數(shù)據(jù)(身份證、家庭住址等),劃分出更細的各類管理角色能夠有效隔離和避免非正常用戶對系統(tǒng)核心模塊的錯誤和惡意訪問,從而大幅度提高系統(tǒng)的安全性和可靠性。
2.用戶權限的靈活管理
系統(tǒng)權限控制體系采用基于角色的訪問控制(RBAC)模型,超級管理員可以創(chuàng)建各類管理用戶賬號,根據(jù)用戶在系統(tǒng)中的角色分配操作權限,任何賬號只要擔任該角色即可以進行該角色的應有的操作權利。在隔離各院校數(shù)據(jù)的基礎上,超級管理員可以將權限控制細分到每個頁面和WEB接口上,配合前端,將權限控制到按鈕級別。此外,系統(tǒng)允許同一個賬號擔任多個角色。為了便于控制權限,并不是簡單地將各個角色的權限合并在一起,而是通過用戶切換角色的方式操作相應權限,從而有效避免不同角色權限沖突的情況。關于超級管理員維護用戶管理方面,根據(jù)業(yè)務需要,系統(tǒng)可以實時精準定位用戶,進行快速添加新增角色、取消原角色使之相應權限的分配/取締等操作,而不用再去探究具體若干權限與用戶的分配/取締問題,只用關心用戶和角色的關系即可,大幅減輕了維護人力成本。
(二)系統(tǒng)設置
系統(tǒng)設置模塊負責創(chuàng)建和修改各個模塊的運行狀態(tài)。在系統(tǒng)的核心業(yè)務層中,除了權限管理模塊以外的所有模塊都由系統(tǒng)設置模塊創(chuàng)建并管理。各系統(tǒng)模塊的激活和關閉主要用于系統(tǒng)的部署、擴展、更新、調(diào)試以及應對特殊突發(fā)情況(如安全攻擊)。其中,角色管理模塊是唯一獨立于系統(tǒng)設置模塊,因為系統(tǒng)設置模塊可以讓角色管理模塊根據(jù)權限調(diào)用相應功能API接口。在默認情況下,只有系統(tǒng)的超級管理員擁有使用系統(tǒng)設置模塊的權限。
(三)學員管理
用戶管理模塊負責修改和驗證平臺普通用戶信息。老年學員在前臺報名的過程中需要身份證相關實名信息驗證,而實名信息的驗證通過使用第三方公司提供的實名認證接口進行。此外,學校招生管理員也可以采用“導表方式”同時調(diào)用認證接口并批量導入用戶。超級管理員可以在用戶管理界面中的用戶列表中查看和管理(添加、驗證和廢棄)所有的用戶記錄。
(四)學校信息管理
學校信息管理模塊即內(nèi)容發(fā)布模塊,學校招生管理員可以自由創(chuàng)建和發(fā)布學校簡介和環(huán)境照片、宣傳、認證和錄入本校教師信息等。文檔和資源可以預先設置發(fā)布時間,配合baguetteBox畫廊插件,實現(xiàn)了移動設備手指劃動翻頁操作以及前臺用戶通過點擊圖片放大觀看的效果,具有良好的人機交互體驗。
(五)教務管理
教務管理主要用于教務管理員根據(jù)老年專業(yè)課程體系建設要求進行對應系別、關聯(lián)課程所屬專業(yè)樹結構創(chuàng)建、維護和設置;依據(jù)辦學體系架構,對各級院校進行創(chuàng)建、維護;整個辦學體系學年的創(chuàng)建、維護和設置(秋季/春季)。
(六)招生管理
招生管理是API接口拉數(shù)據(jù)/推數(shù)據(jù)最集中、集成功能豐富的核心管理模塊,其主要功能接口設計分別是:
1.招生管理員發(fā)布培訓計劃(關聯(lián)系別、專業(yè)、教室、授課教師、報名時間段等關鍵字段);
2.根據(jù)實時報名情況,及時有效調(diào)用相關接口功能,用于處理突發(fā)事務,例如“學員調(diào)班”“申請退班”“合并班級”等接口功能,極大解決了傳統(tǒng)報名的數(shù)據(jù)更新時間滯后、處理數(shù)據(jù)繁瑣等短板;
3.針對下一年的班級年級升級,通過“一鍵升級”或者“復制班級”功能,快速創(chuàng)建和發(fā)布新招生季的課程;
4.根據(jù)班級報名表,快速定位選舉MARK標記班長,并且生成招生季各班級班長列表;
5.招生季課表按照招生計劃,自動生成和發(fā)布關聯(lián)課程授課時間。課程表涉及大量“讀”操作,符合“多讀少寫”的典型使用場景,同時利用redis+ram兩個級別的緩存系統(tǒng),對結構化后的課表數(shù)據(jù)進行緩存,以實現(xiàn)實時更新顯示。
(七)財務管理
財務管理主要用于:
記錄已繳費學員的詳細繳費相關字段信息(訂單號、商戶單號、交易單號、支付時間等),實現(xiàn)老年學員學費微信電子支付憑據(jù)有依可查;針對申請退班學員,完成支付路徑“原路返還”學費退款。此功能調(diào)用了微信商戶號第三方退費接口API,待處理完退費后,微信消息通知會推送退費狀態(tài)結果(成功/失敗/正在退費)至系統(tǒng)消息接口API,再返回給數(shù)據(jù)庫記錄在案(與學員繳費接口類似);同時,對已繳費前臺學員,支持收集發(fā)票信息管理以及根據(jù)學校財務系統(tǒng)實際開具發(fā)票并進行Mark標記。
(八)報表管理
報表管理模塊主要提供了批量的數(shù)據(jù)訪問、查詢和數(shù)據(jù)報表生成功能。各角色管理員可以根據(jù)業(yè)務分類,查看和導出報表任務產(chǎn)生的數(shù)據(jù),并進行分析和進一步處理,因此報表模塊對業(yè)務有預見和總結的價值作用。為了實現(xiàn)更為精美的數(shù)據(jù)展示效果,前端使用了第三方的圖表插件構建柱狀圖、餅圖、折線圖等圖表,例如招生情況及趨勢分析、性別學員年齡分布、時間統(tǒng)計熱門專業(yè)TOP10排行、老年開放大學體系辦學點分布等。隨著時間的推移,本系統(tǒng)的業(yè)務數(shù)據(jù)將呈幾何倍數(shù)的增長。在當前以數(shù)據(jù)為中心的大趨勢下,本平臺的各類報表及業(yè)務數(shù)據(jù)為日后搭建大數(shù)據(jù)分析平臺提供了有力的數(shù)據(jù)支撐。經(jīng)過大數(shù)據(jù)分析平臺對數(shù)據(jù)清理和分類,系統(tǒng)將會產(chǎn)生有價值的數(shù)據(jù)依據(jù)。例如,根據(jù)老年人的性別年齡和地域分布情況并配合選課愛好,系統(tǒng)可以分析出云南省各地州的老年人在生活習慣、健康養(yǎng)生等各方面的需求和地域差異,從而為“老年教育大數(shù)據(jù)分析”“康養(yǎng)研學”等熱門課題提供數(shù)據(jù)支撐,有效推動“老年教育+大健康”相關的研究和實踐。
五、數(shù)據(jù)庫設計與實現(xiàn)
(一)數(shù)據(jù)庫表設計
基于系統(tǒng)需求設計,將數(shù)據(jù)映射為以下幾類對象:管理員、角色、學員、培訓機構(即學校)、專業(yè)、系別、班級、教室、訂單、資訊。表1為報名班級的記錄表,只引用了相關ID進行關聯(lián),退課具體的流程、班級的詳細信息、訂單的詳細信息由其他表中詳細記錄。
(二)數(shù)據(jù)訪問層設計
本系統(tǒng)基于ADO.NET封裝了輕量級ORM組件,用于承載數(shù)據(jù)訪問層的相關操作。得益于C#中表達式樹類庫,本組件保留了傳統(tǒng)手寫SQL語句功能的同時,額外封裝了基于表達式樹自動生成SQL語句的相關方法,并配合VISUAL STUDIO自動代碼提示的功能。與傳統(tǒng)的手寫SQL代碼相比,這種寫法在開發(fā)時寫錯語句的概率會大大降低,并且自帶對SQL注入攻擊的防御能力。此外,考慮到開發(fā)效率和實體模型映射的性能,本系統(tǒng)使用Emit技術動態(tài),通過生成IL代碼,并配合緩存策略,封裝了數(shù)據(jù)庫數(shù)據(jù)到實體對象的映射操作。
六、結束語
老年線上報名系統(tǒng)已投入運行了兩年,系統(tǒng)從“人機交互——優(yōu)化業(yè)務流程呈現(xiàn)——簡潔直觀面向對象”,本系統(tǒng)始終秉承和致力于服務“老年群體”的設計理念,同時快速、高效、安全地應對各種突發(fā)情況,達到了系統(tǒng)設計的初衷,獲得了老年學員的高度認可,充分發(fā)揮了“互聯(lián)網(wǎng)+老年教育”積極作用,提高了老年學員對于日常生活學習關聯(lián)智能技術運用方面的參與度和滿意度。對于管理人員而言,報名系統(tǒng)設計和實現(xiàn)有效地轉變了傳統(tǒng)的報名模式,提供了可靠的權限管理和安全性,達到數(shù)據(jù)分發(fā)和顯示瞬時性、完整性和安全性,這是傳統(tǒng)報名無法比擬的,減少信息在登記過程中的出錯率,提升了工作效率,提高了報名管理服務質(zhì)量和服務水平,實現(xiàn)了報名工作的制度化、程序化、規(guī)范化和信息化。
作者單位:馬維 云南開放大學 云南省終身教育服務中心
參考文獻
[1]林鵬,余萬宏,薛曉東.基于B/S模式的網(wǎng)絡教育招生報名系統(tǒng)的設計與實現(xiàn)[J].電子科技大學學報(社科版),2005(03):84-87.
[2]譚武.基于Web的考務管理系統(tǒng)的設計與實現(xiàn)[J].中國教育信息化,2012(11):37-39
[3]易美超.高校自主招生考試考務編排系統(tǒng)的設計與實現(xiàn)[J].軟件,2012(09):31-36.
[4]王寧.基于Bootstrap框架的高校學生就業(yè)信息管理系統(tǒng)設計[J].自動化技術與應用,2021,40(04):175-178.