趙 茜,姚 斌
(武漢工程科技學院 湖北 武漢 430200)
近年來,隨著社會經濟的飛速發展,各個行業都在嘗試科技轉型,從傳統的經營模式逐步向信息化、智能化轉型,同時對高等教育專業人才的培養質量也提出了更加多元化的要求。為了滿足當前社會經濟發展下各個行業的人才培養新需求,構建客觀、準確的高等教育人才培養質量評定體系是非常必要的[1],而其中非常重要的一個環節就是專業人才的考核。專業人才考核渠道有很多,包括校內學生的成績考核、國家認定的各種資格認定考核、行業內的資格認定考核等等。無論哪種考核形式都需要有大量的工作人員去完成考核組織、考核人員調度、考核結果整理等工作。考務管理工作雖然看似難度不高,但涉及人員多、內容瑣碎、要求嚴格,采用人工管理,需要投入大量的人力成本和時間成本,且難以保證工作的有效性和準確性[2]。在此前提下,在線考務綜合管理系統是能夠提高考務管理工作效率的最佳解決方案,同時還可打破空間的限制,適用于各種考核形式下的考務管理工作需求。
Java 平臺企業版(Java Platform Enterprise Edition,JavaEE)框架的底層核心開發語言采用Java語言,提供了一套適用于企業的、基于Java 組件的應用程序開發標準,對軟件開發結構、部署都進行了更加科學的規范,核心思路是分布式部署、分層式構建[3]。目前基于JavaEE框架的開發平臺主要有兩種,一種是輕量級應用平臺,以Spring 技術或Hibernate 技術為核心技術的開源框架,其開發無需專門的應用服務器,只要是支持Tomcat、Jetty等技術的Web 服務器就可支持其運行;一種是標準級應用平臺,以企業Java Bean3(Enterprise Java Bean3,EJB3)為核心技術的開發框架,其開發的服務需要在專用服務器上才能運行,例如JBoss、WebLogic、WebSphere等服務器。無論采用哪種開發平臺,其核心思路都是一樣的,因此它們都具有極高的運行穩定性、可擴展性和可維護性。這里基于開發成本和服務用戶的數據體量考慮,采用輕量級應用開發框架更為恰當。
JavaEE 框架與其他開發框架最為不同的區別是,JavaEE 提出了“組件+容器”的開發模式,框架中基礎功能的開發均通過組件調用來實現,組件與組件之間功能相對獨立,通過將文件、類似這樣的“容器”可以對組件進行靈活“組裝”,也可以實現組件之間的交互,而一個組件的改變也不會對其他組件產生影響。通過對文件、類的調用、多態、重載的操作就可以實現對應功能的擴展、動態加載和更新,而不會影響其他“容器”的正常使用,這也為JavaEE 分層式框架的實現奠定了基礎。JavaEE 分層式框架就是將功能開發分為了3 個層級,分別為表示層、業務邏輯層和數據層,層級之間低耦合連接、功能獨立,各個層級的功能更新、維護都不會影響到其他層級,這也正是JavaEE 框架最大的優勢所在。
Spring Boot 框架是Spring 框架的改進版,是JavaEE輕量級應用開發框架的一種,在技術特性上保留了Spring的優勢,例如對服務器平臺的兼容、提供的松耦合、可測試應用開發方案、對其他技術和框架的兼容等,并對其繁復的配置過程進行了簡化[4]。Spring 應用的開發需要進行大量的XML 配置和注解配置,開發人員需要花費相當的時間對其進行學習和操作,且對配置環境要求苛刻,極易出錯。Spring Boot 針對Spring 的這一問題,提供了大量的開箱即用模塊,成為依賴模塊,例如spring-boot-starterredis、spring-boot-starter-data-mongodb 等,這些模塊的主要功能就是實現Spring 環境的自動配置,當然自動配置主要參考的是最為常見的應用環境進行默認參數配置,并不能適用所有的開發環境,如要對配置進行修改,仍需要通過開發人員手動在配置文件中進行設置,可即便如此,Spring Boot 也極大地簡化了Spring 的應用搭建工作。
瀏覽器/服務器(Browser/Server,B/S)架構是最為主流的Web 服務開發框架之一[5],技術成熟,運行性能穩定、可靠,是現在基于Web 服務應用程序開發的首選框架,因此在線考務綜合管理系統采用B/S 架構,結合Spring框架、HTML 技術的解決方案進行系統開發,從系統性能、功能使用和系統的迭代更新、功能擴展等方面看均可滿足用戶需求。
在線考務綜合管理系統提供的考務信息化管理功能是通用型功能,能夠適用于一般性的高校內考試和社會性考試。所提供的功能分為考試籌備、考試進行、考試結束三大階段,包括考前安排、考試過程管理、考試信息匯總等功能。
系統總體的架構設計整體采用B/S 模式,分為瀏覽器前端與服務器后端[6],前端主要解決用戶交互、權限驗證、頁面內容正確顯示等問題,后端負責核心業務的處理和數據管理。其中具體業務功能開發結合了JavaEE 輕量級開發框架Spring Boot 實現了分層式開發,將系統前后端功能劃分為了表示層、業務邏輯層和數據層3 個主要層級,依據各個層的功能需求再做進一步細分,例如將業務邏輯層細分為邏輯控制層與業務處理層,將數據層細分為數據訪問層、數據存儲層。層級之間采用通用接口進行交互,為單獨的交互層,系統整體的架構設計具備了“高聚力、松耦合”的性能優勢,系統架構設計見圖1。
如圖所示,在線考務綜合管理系統總體架構設計主要分為前端與后端兩個部分,前端以Web 瀏覽器終端為載體,主要用于實現表示層的功能交互。終端用戶必須通過表示層所提供的頁面對系統進行訪問和交互,提交相應的業務請求后,則由前端Web 的交互層接口進行下一層級的功能調用、信息傳輸。表示層的功能設計主要用于解決前端頁面的顯示問題,頁面顯示又包括頁面內容的顯示與頁面布局的顯示、格式控制、基礎的交互驗證等功能,依據功能需求的不同,表示層中采用了模型—視圖—控制(Model-View-Controller,MVC)分層式構架。視圖提供了一種通用的基于HTML 標簽頁面布局的界面顯示方式,并對頁面中的靜態內容與動態內容的顯示進行了分離,其中動態內容的顯示由控制層進行控制,主要采用了Java 服務器頁面(Java Server Pages,JSP)動態頁面控制技術,JSP操作指令可以標簽的形式嵌入在HTML 中,通過HTML 的表單獲取交互數據,并實現動態內容的顯示控制。模型則提供了通用的數據處理規則,對視圖產生的數據建立通用模型,可以服務于多個視圖,減少了代碼的重復編寫。
后端以Web 服務器為主,用于實現業務邏輯層與數據層的功能。其中業務邏輯層是系統核心功能的實現層,系統核心功能分為兩大類:數據交互與流程控制。數據交互指的是數據請求的接收及響應業務,包括數據業務處理的操作規范、具體的數據操作類型、數據的合法性驗證等,至于針對具體的數據響應事件采用何種操作,并不是由業務邏輯層直接來完成的,而是需要通過交互層接口調用數據層相應的功能組件來完成。流程控制模塊主要用于實現所有業務處理的流程控制,包括流程的跳轉、異常處理、與業務處理有關的其他功能設計等。JavaEE 的這種多層級架構設計,層級之間是一種“向上無關、向下依賴”的關系,業務邏輯層作為中間層起到的是一個承上啟下的作用。
數據層作為三級架構的最底層,也稱為數據持久層,通過Session 會話屏蔽了底層數據存儲介質的關系型數據結構與業務執行程序中的面向對象存儲結構之間的結構差異,保持了數據的一致性和持久性,提高了數據交互代碼的重用性和數據訪問效率,這也是數據層的數據訪問子層級的主要功能;而數據存儲子層級主要用于實現對各類數據存儲介質的訪問操作,包括二進制文件、文本文檔、XML 文檔以及各類數據庫系統。通過數據庫語言結構化查詢語言(Structured Query Language,SQL)即可對數據庫系統進行增加、刪減、修改、查詢等操作。
在線考務綜合管理系統的功能設計圖見圖2。
如圖所示,在線考務綜合管理系統主要包括七大功能模塊:考前信息業務模塊、監考人員管理模塊、數據導出/打印模塊、考試巡查管理模塊、信息上報模塊、數據匯總模塊、系統管理模塊,滿足了從考前、考中到考后3 個階段的信息化管理需求。
考前信息業務管理模塊主要用于考前準備過程中的必備信息采集和存儲,面向的訪問用戶為參與考務工作的相關人員。管理的信息包括:考試科目信息、考點信息、考場設備信息、其他考場資源信息。歷次考試的信息都會存儲在該模塊當中,形成對應的考試科目信息庫、考點信息庫、考場設備信息庫和考場資源信息庫,用戶可以通過這些信息庫實現對當次考試信息的快速采集,也可通過人工方式手動增加新的信息。
監考人員管理模塊用于實現考試所需的考務、監考人員的信息采集、管理和單次考試的人員考場安排等信息。下設子功能模塊包括:人員信息采集、人員信息庫管理、單次考務人員安排、單次監考人員安排、單次考試工作人員簽到5 個模塊。這里單次管理指的是每一次考試的信息管理和維護,通過單次管理模塊實現對每一次考試的具體人員安排,涉及的人員信息可以通過人員信息庫快速獲取,也可以通過人員信息采集模塊進行采集。人員信息庫則用于存儲和管理歷次考試的考務、監考人員信息。
數據導出/打印模塊提供了通用的數據導出接口和指定格式的文檔打印接口,用于導出和打印考試過程中所需的一些數據信息、表格、文檔資料等。包括:考場安排、考務人員安排、監考人員安排、考場設備領用登記、考場資源領用登記、考場號貼條、考場內座位號貼條、考生簽到登記、考生簽退登記、考場記錄單等。
考試巡查管理模塊用于實現考試現場的監控信息采集和管理,包括視頻瀏覽、查看、錄像、推送、存儲等功能。由于該模塊需與攝像頭、顯示屏等硬件設備配合使用,對考場現場的實地環境有一定要求,在不具備攝像條件的環境下,該模塊為選用模塊,用戶可以選擇不啟用該模塊功能。該模塊提供了通用信息采集接口,設備接入后即可在線查看監控信息,可以通過對接顯示屏在線實時顯示監控畫面,也可進行影像切換、查詢、錄像、推送等功能操作。
信息上報模塊用于實現在線信息的上報和推送功能,在考試過程中如果出現緊急的或異常的情況以及違規、違法事件,都需要向考試組織者或管理者及時反映情況,通過該模塊可以在線進行信息上報,或者按照要求推送給指定的考務人員,上報信息主要包括:缺考信息、違規信息、異常信息3 類。
數據匯總模塊用于實現考試結束后的相關信息匯總功能,主要包括考生信息匯總、考卷信息匯總、考點考場信息匯總。其中考生信息匯總用于統計實際參加考試的人員數量、考試人員的具體信息,對應的考點、考場等;考卷信息匯總用于統計交回的考卷數量、對應的考點考場、涉及的監考、檢查人員等信息。同時該模塊還提供了數據上報、打印的功能,便于在線完成數據信息的導出、共享。
系統管理模塊提供了系統設置與用戶管理兩個子功能模塊,系統設置用于實現系統登錄、權限驗證、登錄用戶信息查看、用戶信息修改等功能;用戶管理是針對不同的用戶角色進行維護和管理,用戶角色主要包括:管理員角色、考試組織方管理員、考點管理員、考場管理員、一般用戶等,其中管理員用戶可以對所用用戶角色進行添加、刪除、修改、查詢操作。
本研究針對當前各類人才考核的考務管理工作需求提供了一個基于JavaEE框架設計的在線考務綜合管理系統,實現了考前考務信息、人員信息的采集、管理,考中所需數據信息的導出、打印、上報和巡考監控的實時信息采集管理,考后信息的上報、匯總,大大提高了考務管理的工作效率、考務信息的實時性和共享性管理。