席文靜,章凱斐
(南京醫科大學康達學院醫學信息工程學部,江蘇連云港 222000)
近年來,國內各大高校開始擴建,學校內部的教學樓、宿舍樓、大小食堂、實驗樓等地理位置錯綜復雜,在校師生也未必了解詳盡,且信息迅速發展的背景下,人們對于文化的需求程度日益加深,越來越多的人走進高校參觀。傳統導航系統只適用于遠距離航,而在短距離導航中誤差大、地名更新滯后等,都會影響導航的結果,讓用戶得不到正確的導航信息。為了方便校內師生的出行以及外來人員在不熟悉校園的情況下能夠快速到達目的地,短距離的導航更適用于校園內的精確導航。基于微信小程序的校園導覽系統可以實現短距離精確導航,可為新生入學和外來人員進校提供了幫助,提升學校服務水平。
本研究將用戶需求作為系統的切入點,根據不同的使用需求,將系統分為管理端和小程序端,然后針對不同的客戶對系統進行了總體設計,通過知曉云平臺來實現數據庫、文件、富文本內容的存放,借助小程序MINA開發框架來實現開發。
系統需求分析是小程序的第一步方案。在實際的開發過程中會發現各種各樣的問題,可能是經濟原因、技術原因或者是操作原因而導致開發到一半的小程序進行不下去,會在時間、金錢、精力等造成很大的損失。這些問題完完全全是可以避免的,我們在開發小程序之前對經濟、技術和操作進行客觀分析,在分析過程中發現不可進行實施就立即停止開發,損失可以盡可能降低。在分析可行性的過程中,也可能會發現技術上的困難和其他問題,需要及時對其進行剖析,及時解決問題。
1.1.1 操作可行性分析
截至2021 年6 月30 日,微信月活躍用戶達12.51 億人[1]。借助微信的發展趨勢,小程序也廣為人知,該系統開發的微信小程序頁面類似于市面上主流的風格,但應用頁面更為簡潔,操作過程更加便捷。對于小程序的管理,一般類似于高校現有的管理平臺,功能模塊清晰、簡單。
1.1.2 經濟可行性分析
傳統的校園導覽,以人工更新和維護為主,會造成時間、金錢和人力上的浪費[2]。開發本系統運用的框架是原創的,沒有其他付費的部分,僅僅在申請知曉云服務器有付費的模塊。實施后,該系統的社會價值遠大于開發成本,因此它在經濟上是可行的。
1.1.3 技術可行性分析
該系統是根據實際需求設計的,與大學的實際應用相匹配。系統的小程序主要使用JavaScript 開發語言,用戶端采用MINA開發框架,開發工具采用微信團隊提供的開發者工具,并且采用知曉云平臺的數據庫和內容庫作為管理端。不管是技術還是開發工具均成熟、科學、有效,具有技術可行性。
首先分析系統的開發價值和重要性,然后考察了系統開發是否成功。在需求分析過程中要把小程序的每個功能和所需要的性能與作用考慮在內。
本系統主要是為了教師、學生、游客及其他相關團體提供校園導覽服務,以便積極接收學校提供的相關信息和進行路線導航并提供學校指南,為學校管理者提供校園導航管理終端,方便校園導覽服務相關信息的管理。
1.2.1 易用性需求分析
用戶體驗具有可用性,系統界面主要是基于主流UI設計,符合大多數使用用戶的習慣。當用戶使用小程序時,他們需要有明確的操作提示。在微信小程序中可以直接搜索到小程序中,產品項目容易啟動,產品設計過程易上手,信息快捷,用戶使用方便,無需專門人員培訓,微信小程序推廣度較高,易用性較強。
1.2.2 界面友好性需求分析
界面設計需要簡潔大方,可以讓使用者發現小程序的基本功能。在使用小程序的過程中,其提供的組件風格符合用戶日常使用應用程序的習慣,在小程序中首頁三個圖標按鈕是本部分的主要功能,同時可根據不同手機屏幕尺寸調整界面設計,以保持頁面的整體舒適性。
1.2.3 安全性需求分析
安全性始終是開發中考慮的重點方向。騰訊在自身產品的安全性上,會投入巨大的精力且在上線前需要得到微信的審判,微信小程序對用戶的數據進行了授權確認和HTTPS安全鏈接等來保護信息,還需要安全存儲的GPS 和其他信息,以便不公開該信息,以確保用戶數據的安全。
1.2.4 可靠性需求分析
小程序在運行的過程中,需要獲取用戶信息和地理位置等功能,所以在運行期間需要保證小程序的平穩運行,此外,小程序是基于微信平臺的,如果小程序出現閃退情況會導致用戶體驗不佳。為了提高系統的可靠性,需要一定程度的誤差容限,容錯性可以讓系統的可靠性增強。如果系統出現故障,應進行維護和重新測試,以確保系統正常運行。請求在指定的時間范圍內未收到正確的響應,來自其他服務器的響應將不受影響。
系統設計工作自頂向下進行,是對全局問題的設計。整個系統的設計應滿足預期的用戶需求。由于本程序主要通過微信實現,用戶通過微信與系統互相進行數據傳送,小程序的數據處理和信息查詢的最終結果顯示在微信小程序界面上。
知曉云端主要的作用是在知曉云平臺通過登錄賬號即可進入,知曉云端通過微信賬號綁定即可授權,知曉云平臺會自動生成ClientID,ClientSecrect 這兩個參數,加上自己微信小程序的APPID 和APPSecret,之后知曉云平臺會自動給開發者提供服務器的域名,在微信小程序后臺可將這些域名填入,實現兩者的連接,根據知曉云提供的SDK 并輸入微信小程序app.js中即可接入知曉云,在知曉云端部署數據庫,存儲了系統所需要的數據信息,可對數據進行增刪改查的操作,圖片資源的存儲路徑以網絡的形式存儲于第三方知曉云平臺的文件中,大篇長段的語句運用知曉云平臺存放在內容庫中,但內容庫是使用的富文本編輯器,要在微信小程序顯示出來需要借助wxprase將html轉換成wxml,可讓小程序讀出。
根據實現內容的不同,系統可以分為表示層和數據層。表示層主要用于執行用戶與數據的信息傳送,負責直接跟用戶進行交互。數據層借助于系統的基礎數據庫實現的,它是系統的基礎層并為系統提供數據存儲服務。該部分系統結構如下圖所示:

圖1 系統結構圖
功能結構圖設計過程就是把一個復雜的系統分解為多個功能較單一的過程。校園導覽系統主要由用戶功能模塊和管理人員功能模塊兩部分組成,該部分功能結構圖如圖所示:

圖2 功能結構圖
采用關系型數據庫是由第三方知曉云平臺提供的數據庫,結合需求分析結果,依據數據庫設計規范,設計E-R圖,最終形成本系統數據庫表結構。
E-R 圖是將數據對象形成一個思維導圖,通過ER 圖可以了解這些對象之間關系,通過需求分析可知,系統中有兩種用戶角色,分別是小程序端用戶和知曉云端,小程序端實現的功能是提供和說明校園位置信息和路線導航;知曉云端實現的功能是對小程序信息的管理。
本系統涉及的實體包括用戶、管理員、地點類別等。不同的用戶可以訪問不同的地點,但是不同的用戶所看到的校園簡介內容卻是一致的,管理員可以管理地點類別與經緯度等。
根據上述的分析可以獲得本系統的E-R圖如所示:

圖3 小程序端數據庫E-R圖

圖4 管理端模塊數據庫E-R圖
首先下載知曉云的SDK 文件并初始化。然后在知曉云數據表中創建school 表和map 表并獲得tableID以及校園簡介內容庫(富文本文件用存儲學校簡介)獲得ContentGroupID,可將小程序所需要的圖片上傳到知曉云平臺,以便減少小程序的大小。
首先根據小程序校園導覽的系統功能,在小程序目錄Pages下新建about、IbsDetail、IbsIndex、gonglue四個目錄,用來存放每個頁面的相關文件。其中about用來查看學校簡介、圖片、英文名、中文名,IbsIndex 用來查看學校地理位置的導覽服務以及分類,IbsDetail 用來存放所查看的地理位置的具體信息、導覽及圖片,gonglue 用來讓用戶可以知道學校周邊,包括衣、食、住、行等,可以讓用戶更加了解學校[3]。
可以將公共代碼添加到單獨的JS 文件中。作為單獨的模塊,需要通過module.exports 或者exports 才能對外暴露接口,在需要使用這些模塊的文件中,使用require(path)將公共代碼、MAP 和school 數據表ID 引入,還需要在校園簡介頁面使用require 將導覽頁面默認分類名字、config 文件引入。將公共需要用到的參數放入公共的文件夾下,這樣項目的維護簡單快捷、管理會非常方便。
本系統是基于MINA開發框架,合理、有效利用微信小程序原生API 接口的功能[4]、騰訊地圖的插件和第三方知曉云平臺作為數據庫的存儲、富文本內容的存放以及照片的存放,使其更加有利于維護和二次開發,為系統的更新迭代打下了良好的基礎,可以實現了預期功能[5]。