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