曹春華,彭春起,黃瑞鵬,武家宇
(廣州軟件學院,廣東 廣州 510663)
自2020年新型冠狀病毒性肺炎在全球大流行,新冠肺炎的防治給人們帶來新的挑戰(zhàn)。目前國外的抗疫形勢非常嚴峻,國外部分地區(qū)人員防控意識差,目前新型冠狀病毒在部分地區(qū)甚至出現(xiàn)了變異。
2020年6月,習近平總書記提出:在“后疫情時代”,織密防護網(wǎng)、筑牢筑實隔離墻是我國疫情防控的主要對策。2020年6月30日,習近平總書記主持召開中央全面深化改革委員會第十四次會議。會議指出,“把預防為主擺在更加突出位置”“完善相關(guān)配套支撐政策,打好改革組合拳”“要抓緊從體制機制上想辦法、補漏洞,堅決防止疫情反彈”[1]。因此防控一直在進行,防控疫情進入了常態(tài)化階段。目前國內(nèi)外的防控措施主要在地鐵、飛機、車站等地方,面對高校的防控措施仍有欠缺,比如高校主要對飯?zhí)眠M行隔座處理、校門把控等方面,防控措施還不夠全面高效。
無論是從高的國家層面,還是低的大學校園管理層面,預防都是“后疫情時代”最主要的疫情防控對策。因此對高校疫情的防控尤為重要,高校培養(yǎng)大量國家知識技術(shù)人才,為國家發(fā)展和進步提供源源不斷的動力。本系統(tǒng)充分利用了微信小程序的使用優(yōu)勢,結(jié)合了目前高校學生活動管理以及疫情管理的現(xiàn)狀,設(shè)計了一個抗疫常態(tài)化下的智慧校園系統(tǒng)。本系統(tǒng)包括點餐跳轉(zhuǎn)、自習座位預約、行蹤查詢?nèi)笾饕δ埽c餐功能一方面不僅對師生提供便利,而且還有效減少了食堂的人流量,解決了人流過多問題;自習座位預約功能讓高校管理圖書館和自習室座位的利用更加高效,并結(jié)合目前疫情還規(guī)定了座位不能面對面,更能解決入口接觸密集情況;行蹤查詢功能,讓每個師生都能知道自己的行蹤記錄,一旦發(fā)現(xiàn)病情能更好地處理,讓管理更高效。
系統(tǒng)結(jié)構(gòu)是一個系統(tǒng)開發(fā)進程、結(jié)構(gòu)、功能以及各種要素之間相互聯(lián)系的重要部署,是要素構(gòu)成系統(tǒng)的媒介。系統(tǒng)結(jié)構(gòu),也用來表述對計算機系統(tǒng)中各級機器間界面的劃分和定義以及對各級界面上、下的功能進行分配。各級都有自己的系統(tǒng)結(jié)構(gòu)。開發(fā)系統(tǒng)時,應先確定系統(tǒng)框架及結(jié)構(gòu),合理的系統(tǒng)框架及結(jié)構(gòu),會讓系統(tǒng)開發(fā)更快速,因此系統(tǒng)結(jié)構(gòu)對于每個系統(tǒng)開發(fā)尤為重要。系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)
微信智慧校園小程序采用基于Vue.js和微信小程序云開發(fā)創(chuàng)建云函數(shù)進行開發(fā)實現(xiàn)的。其功能主要有點餐跳轉(zhuǎn)、座位預約、行蹤軌跡查詢、預約座位信息查詢等。當用戶進入微信小程序時需要授權(quán)登錄,獲取用戶的openID,本系統(tǒng)openID獲取使用微信小程序的云開發(fā)來實現(xiàn),編寫云函數(shù)getopenID來獲取微信用戶唯一標識符[2]。
首先創(chuàng)建云開發(fā)環(huán)境,編寫云開發(fā)函數(shù),進行初始化函數(shù),編寫云函數(shù)入口函數(shù),讓后續(xù)獲取openID時調(diào)用該接口函數(shù)進行獲取。創(chuàng)建云開發(fā)環(huán)境及云函數(shù)圖片效果如圖2所示。

圖2 創(chuàng)建云函數(shù)界面
用戶授權(quán)登錄后可以進行線上點餐,本系統(tǒng)點餐功能是建立在其他點餐系統(tǒng)上的,當用戶點擊點餐按鈕時,系統(tǒng)會跳轉(zhuǎn)到店鋪顯示頁面,點擊相應店鋪會出現(xiàn)相應的店鋪二維碼入口。
基本使用流程:(1)用戶授權(quán)登錄;(2)點擊點餐按鈕;(3)后臺接收命令,返回相關(guān)數(shù)據(jù)給微信小程序;(4)小程序跳轉(zhuǎn)店鋪顯示頁面,點擊某一店鋪;(5)后臺接收命令,返回相關(guān)數(shù)據(jù)給微信小程序,微信小程序跳轉(zhuǎn)顯示相應店鋪入口二維碼。
用戶進入智慧校園微信小程序時,跟其他App一樣需要進行一些授權(quán)或者登錄等操作,但小程序沒有App那么煩瑣的登錄注冊等操作,當用戶打開智慧校園微信小程序時,首先進入微信小程序home界面,該界面顯示功能模塊[3]。
用戶授權(quán)登錄后可在線上進行自習座位預約,當用戶點擊預約座位按鈕時,系統(tǒng)跳轉(zhuǎn)至選擇自習教室頁面,當選擇教室后系統(tǒng)跳轉(zhuǎn)至座位選擇頁面,選好座位后會跳出選擇成功彈窗,并更新座位,用戶可以查看自己預約的座位信息。
基本使用流程:(1)用戶授權(quán)登錄;(2)點擊預約座位按鈕,后臺接收請求返回自習室數(shù)據(jù)給微信小程序; (3)跳轉(zhuǎn)顯示自習室頁面,點擊某一開放自習室,后臺接收請求返回自習室座位數(shù)據(jù)給微信小程序;(4)跳轉(zhuǎn)顯示座位界面,選擇座位,返還座位信息給后臺,后臺進行記錄修改等;(5)提示信息及更新座位信息。
用戶使用該功能時系統(tǒng)需要獲取用戶的openID進行相關(guān)操作,后臺將數(shù)據(jù)信息錄入數(shù)據(jù)庫,因此用戶需要授權(quán)登錄,讓后臺調(diào)用云開發(fā)函數(shù)getopenID獲取openID。授權(quán)成功,用戶可以點擊預約自習座位按鈕,微信小程序?qū)⑻D(zhuǎn)到自習室選擇界面,在此界面,用戶可以選擇不同的自習室,點擊某一自習室時,將跳轉(zhuǎn)到座位顯示頁面。
用戶授權(quán)登錄后可在線上查詢自己的相關(guān)行蹤軌跡,系統(tǒng)通過sipeed MF1模塊進行人臉識別,然后將數(shù)據(jù)記錄返至數(shù)據(jù)庫,當用戶點擊查詢行蹤記錄時可以查詢到自己的行蹤記錄。
基本使用流程:(1)用戶授權(quán)登錄;(2)點擊行蹤記錄查詢;(3)顯示相關(guān)記錄;(4)用戶在使用該功能時同樣需要進行授權(quán)登錄,讓系統(tǒng)獲取到openID進行相關(guān)查詢;在此基礎(chǔ)上用戶必須聯(lián)系管理員要將自己的人臉信息錄入sipeed MF1模塊,并將人臉I(yè)D跟openID進行數(shù)據(jù)的綁定才能使用該功能。
當用戶通過sipeed MF1模塊人臉識別時,sipeed MF1模塊顯示識別成功并將數(shù)據(jù)信息返回到數(shù)據(jù)庫中,以便后續(xù)行蹤記錄查詢。當人臉識別記錄成功后,用戶就可以在微信小程序上進行行蹤記錄查詢。用戶在微信小程序上點擊行蹤記錄查詢按鈕時將跳轉(zhuǎn)到行蹤記錄顯示界面。
硬件支持模塊:其中該功能模塊運用到sipeed MF1人臉識別模塊。sipeed MF1 是一個基于RISC-V 的K210雙核芯片的人臉識別模組。sipeed MF1模塊如圖3所示。

圖3 sipeedMF1模塊
小程序后臺服務(wù)器使用Java進行編寫,利用Java的輕量型框架SpringBoot作為整體后臺服務(wù)器框架,引入JPA簡化對數(shù)據(jù)庫的操作。后臺創(chuàng)建been包,been包下的類一一對應數(shù)據(jù)庫的表;創(chuàng)建controller包,controller包下的類對應一些提供給前端微信小程序接口以及一些對數(shù)據(jù)庫進行增刪改查的操作;創(chuàng)建repository包,repository包下對應的是每個been類的接口繼承JpaRepository,該接口還可以自定義對數(shù)據(jù)庫進行相關(guān)操作方法;創(chuàng)建common包,common包下的ResultVO是請求返回的最外層對象;創(chuàng)建utils包,utils包下的APIUtil類是返回json數(shù)據(jù)的工具類[4]。
系統(tǒng)數(shù)據(jù)庫設(shè)計。本系統(tǒng)需要一個后臺服務(wù)器端來提供數(shù)據(jù)接口服務(wù)給微信小程序,當然龐大的數(shù)據(jù)信息的保存尤為重要,本系統(tǒng)后臺服務(wù)器采用MySQL數(shù)據(jù)庫存放數(shù)據(jù)。MySQL數(shù)據(jù)庫是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫的特點是將數(shù)據(jù)保存在不同的表中,而不是將所有的數(shù)據(jù)都放在一個大倉庫里進行存儲,這樣不僅提高了操作速度而且還提高了靈活性。本系統(tǒng)使用多個數(shù)據(jù)庫表,數(shù)據(jù)庫的ER圖和每個表的詳細設(shè)計結(jié)構(gòu)如圖4所示。

圖4 系統(tǒng)ER圖
在開發(fā)軟件系統(tǒng)的過程中,需要面對錯綜復雜的問題,在軟件生存周期的每個階段都不可避免地會產(chǎn)生錯誤,所以軟件測試極其重要,否則后期可能出現(xiàn)不可逆轉(zhuǎn)的錯誤或者造成巨大的損失。軟件測試主要測試微信小程序的功能是否正確,根據(jù)需求文檔和設(shè)計來測試其功能即可。本章節(jié)軟件測試將從功能測試方面對軟件進行檢測,站在用戶的角度進行測試用例。
“授權(quán)”獲取openID測試,云開發(fā)云函數(shù)getopenID函數(shù)調(diào)用,“授權(quán)”獲取用戶的openID是用戶使用本系統(tǒng)小程序的前提,它完成了對用戶使用本系統(tǒng)的初始化,獲取openID來區(qū)分不同的用戶,本測試用例測試是云函數(shù)的獲取openID功能,測試的目的是驗證云函數(shù)是否能成功獲取openID并返回。
首先用戶打開微信小程序界面,點擊我的,來到我的界面,點擊授權(quán)登錄,登錄成功云函數(shù)返回openID結(jié)果顯示。