張華
(山東財經大學燕山學院 山東省濟南市 271199)
根據山東省普通高等教育專科升本科的政策要求,應屆專科畢業生可通過高校推薦或考生自薦的方式獲得專升本報考資格,高校推薦生需要滿足在校期間綜合測評前40%的條件,或者獲得省級以上技能大賽三等獎及以上,未獲得高校推薦資格的學生,可通過參加招生高校的自薦考試來獲得該校的報考資格。山東財經大學燕山學院自2020年開始組織專升本自薦考試,為了提高考試報名的工作效率,開發一個報名系統是非常有必要的。通過在線報名系統,可實現注冊報名、信息查詢、批量審批、導入導出等,也可為學校下一年的招生計劃提供很好的數據分析和決策依據。
本系統涉及的角色分為兩種類型:系統管理員和考生用戶。系統中預置管理員用戶system 及其密碼,考生用戶需要進行注冊。
1.2.1 考生用戶功能需求
考生用戶主要有以下幾個功能:
(1)考生注冊:考生第一次使用系統需要注冊,注冊有如下要求:1.登錄賬號由考生自己設置,需保證賬號的唯一性,即注冊時要判斷是否已有同名賬號;2.身份證號要有格式辨別,即身份證號是否合法。
(2)密碼修改:考生修改密碼時需驗證原密碼輸入是否正確,以及兩次輸入的新密碼是否一致。
(3)填寫報名表:考生報名表信息主要包括姓名、性別、出生年月、民族、政治面貌、籍貫、身份證號、畢業學校、畢業專業、通訊地址、聯系電話、報考專業、照片等信息。報名表中的相關約束主要有:1.報名表中的身份證號及出生年月來源于注冊時所填的身份證號,不可修改;2.報名表中各項均為必填項;3.報名信息提交后,若管理員審核通過,信息不可再修改。
(4)查看審核狀態:考生可登陸系統查看審核狀態,系統根據報名表中記錄的狀態信息,給出提示,對于審核未通過的考生,給出未通過原因。
(5)打印準考證:考生在規定時間內可打印準考證,準考證中的信息主要包括:準考證號、姓名、性別、身份證號、照片、報考專業、考場號、座位號、考試科目及對應時間以及考生須知。
(6)成績查詢:考生在規定時間內可查詢自己的考試成績。
1.2.2 系統管理員功能需求
系統管理員主要有如下幾個功能:
(1)重置考生密碼:根據身份證號重置考生密碼為其身份證號后六位。
(2)設置系統菜單的開放時間:指定考生端報名、打印準考證、成績查詢等菜單的起止時間。
(3)考生管理:包括報名信息查看、修改和審核,根據報考專業、審核狀態(待審核、審核未通過、審核通過)等查詢考生列表,可以批量設置考生的審核狀態,以及對考生的報名信息進行修改。

圖1:系統總體架構
(4)設置準考證信息:根據考生所報考的專業,以每30 人一個考場的規則進行考場和座位號的分配,并根據專業號+考場號+座位號的規則,生成考生的準考證號信息。
(5)成績錄入:支持成績的批量導入。
(6)基本信息維護:包括報考專業信息維護、專業對應的考試科目及考試時間維護等。
由于該平臺是一個在線報名系統,考生會集中幾天的時間進行報名、打印準考證、查詢成績等,所以要保證滿足并發性要求,也要保證圖形界面的簡單易操作。
本系統采用 B/S 架構模式(瀏覽器/服務器模式),開發架構采用前后端分離的方式,前端采用Vue.js 開發框架,后端采用Spring,持久層框架選用Hibernate。
系統的總體架構設計如圖1 所示。
Spring 是一個輕量級的企業開源框架,主要是為了降低企業級應用程序設計的復雜性,主要提供 JAVA 企業開發的各層解決方案[1]。Spring 框架輕量,框架使用靈活簡單。在前端技術中,目前應用最廣泛的是國產的前端框架Vue,它是一個構建用戶界面的漸進式JavaScript 框架,其目標是通過盡可能簡單的API 實現數據綁定和組合的視圖組件,具有簡單、易用、易學的特點,因此在前端技術中得到了廣泛的應用[3]。Hibernate 是一個開源的對象關系映射框架,它對JDBC 進行了非常輕量級的對象封裝,它將POJO 與數據庫表建立映射關系,是一個全自動的orm 框架,Hibernate 可以自動生成SQL 語句,自動執行,使得Java 程序員可以使用對象編程思維來操縱數據庫[4]。

圖2:數據庫模型

圖3:考生管理
本系統所涉及的數據結構模型如圖2 所示。
數據信息主要包括三大類:
(1)基礎信息:包括數據字典(base_data_dictionary)、民族信息(base_people_code)、菜單(sys_fun_res)及開放時間信息(group_funres)、系統通知(system_notice)、招生專業(upgrade_recruit_major)及考試科目信息(upgrade_recruit_subject)。
(2)用戶信息:包括用戶登錄信息(sys_user)、用戶權限信息(user_group)、用戶角色信息(sys_user_group)。
(3)考生信息:包括考生個人信息(info_person_info)、考生報考信息(upgrade_recruit_apply_info)、考生成績信息(upgrade_recruit_achievement),其中報考信息中包括報考專業、審核狀態、準考證號以及考場信息等。
本系統開發時前端采用WebStorm 開發工具,后端采用Eclipse。系統部署時,采用性能穩定且免費的 Tomcat 服務器,數據庫使用免費的MySQL 數據庫,服務器操作系統采用安全穩定的Linux 系統。
本系統主要為考生和招生管理部門提供服務,所以系統的主要功能模塊為考生注冊、報名、成績查詢,考生管理、成績管理等內容。
3.2.1 考生注冊
考生首次使用報名系統需要注冊,考生注冊時主要涉及身份證號的合法性校驗,校驗方式如下:

3.2.2 考生報名
考生登錄系統后,點擊申請報名進入報名模塊,其中身份證號、性別、出生年月等信息均來自注冊時所用的身份證號,不可修改,考生填寫姓名、畢業院校、報考專業、照片等信息,系統會對信息及照片格式、大小、分辨率等做校驗。信息正確完整地填寫之后點擊提交即完成報名工作。在管理員審核之前,考生可再次修改報名信息,管理員審核不通過時,考生可在系統中查看不通過的原因,并再次修改報名信息,管理員審核通過后,報名信息不可再修改。
3.2.3 考生管理
系統預設了管理員賬號system,管理員通過考生管理模塊對報名的考生信息進行批量審核,也可以修改考生的報名信息。考生管理模塊提供導出功能,方便管理員將審核通過的考生信息以Excel的形式導出。
管理員進行考生管理的界面如圖3 所示。
3.2.4 成績管理
成績管理模塊提供成績導入和成績修改的功能。根據招考要求,成績僅登記為合格/不合格,導入成績的模板中只包含兩列內容:準考證號和成績。考生報名結束后,由系統自動分配考場,并以報名年份+報考專業編號+考場號+座位號的方式為考生生成唯一的準考證號,成績導入時通過準考證號找到對應的考生并保存其成績信息。
云服務器近年已經成為了一種新型的服務器平臺,阿里云平臺的 ECS 云服務器提供給廣大開發者更為快捷的后臺服務器模式,節約了開發者大量的開發時間和維護成本[5]。本系統選擇阿里云的ECS 作為服務器,選用通用型4vCPU16GB 內存的實例,Ubuntu 操作系統系統,Tomcat8.5 和MySQL 服務器均部署同一臺云服務器上,為確保有足夠的空間,云服務器除40GB 的系統盤外,另外掛載了60GB 的硬盤。根據往年的報名人數,考慮到并發量、響應時間等因素,為保證系統正常運行,云服務器帶寬選擇10Mbps。
本文基于當前流行的前后端分離架構,即前端采用Vue.js,后端使用Spring,設計實現了專升本自薦考試報名系統。該系統基于B/S 模式,采用用戶角色權限控制,通過考生和管理員兩個角色,分別實現了考生注冊、考生報名、審核、準考證下載、成績管理等功能,達到了招生全過程的信息化。通過山東財經大學燕山學院的實踐應用,證明了系統的正確、穩定、安全及可靠,在這個過程中,也收到了來自考生用戶和管理員用戶的反饋,對系統提出了新的需求,如在手機端瀏覽器無法正常顯示的問題,管理員導出考試通過考生的照片信息等。在下一階段的開發中,將從新需求及性能方面進行改進,同時考慮將系統中收集的各種數據,從生源、報考專業等方向進行分析,為學校的招生宣傳以及招生專業設置等提供決策依據。