陳敏靈, 路子盈, 薛 靜
(西安石油大學經濟管理學院, 西安 710065)
隨著移動互聯網的快速發展,OTO(Online To Offline,讓互聯網成為線下交易的平臺)的商業模式[1-2]已經日趨成熟,運用互聯網的優勢進行線上營銷,然后在線下提供具體服務,這種模式在國內外各個領域都有應用。 預訂服務就是OTO 模式的一種,其存在于眾多行業中,如酒店、乘車、旅游、電影等都含有預訂的功能,在線預訂[3-4]功能的實現無疑給大眾的各日常活動帶來了便捷。 21 世紀以來,隨著車輛數目的不斷增加,傳統的車輛管理系統存在各種各樣的問題,故大數據下的車輛信息管理系統應運而生,然而目前推出的該類研發系統也仍難以滿足人們隨著生活水平的提升而不斷增長的出行需求[5-7],所以基于OTO 模式下的網約車成為了時下的熱門話題之一,如近年來頗為流行的“滴滴快車”等[8]。 眾所皆知,網約車的出現給人們出行帶來了便利。 但與此同時,各高校中學生群體的在校日常出行問題亦受到了廣泛關注。
就各高校而言,校區規模多在逐年擴大,不止一家高校的校區已不再限于一處,而為了方便教師和學生在各個校區之間的往返,高校校車也成為必備選擇,但與之相對應的高校校車管理系統[9]、訂座系統卻仍不多見,即使存在也與現存的車輛信息管理系統[10-12]、校車管理系統大同小異,只包括一些基本的管理功能模塊,如車輛管理功能、司機管理功能、線上服務功能、用戶管理功能、證件管理功能等[13-14],有些高校甚至未能推出一個完整的校車管理系統來管理學校校車,而只是在指定時間到達指定地點等待師生搭乘,這就導致乘坐校車時常會造成排隊現象,甚至還會出現經過長時間排隊、但卻因車座有限而無法順利上車的情況。 為解決這一問題,陳騰輝等學者[15]基于微信小程序進行了校車訂座的設計與開發,主要是針對校車的日常線路和假期線路運用JavaScript 和MySQL 分別進行了車票的管理設計,提高了校車的利用率,并降低了運營成本。 而在校車訂座類的App、小程序、管理系統等研究方面,還鮮有學者涉及。 綜上論述都表明了現有的校車類管理系統、訂座系統因尚未普及或者功能未臻至具體,并不能有效解決高校師生在各校區之間的日常出行問題。
故本文采用文獻研究法、觀察法、調查法等多種線上線下研究手段,基于微信設計開發出了高校校車訂座小程序,旨在解決以下問題:
(1)幫助高校師生解決在校區之間的日常往返問題,避免排隊現象的再出現。
(2)統計功能的實現幫助高校校車管理人員更好地掌握校車的派車、管理情況。
(3)幫助學生更好地掌握關于校車準確且及時的信息。
小程序的開發過程中,系統后端選取SSM 框架,前端使用uni-app 框架,借助Java 語言完成后臺程序編寫,小程序端通過HBuilder X 完成界面設計和相關功能,并通過微信開發者工具進行運行,開發運行過程中所有的數據均存放至MySQL 數據庫中。
SSM 框架集[16]由Spring 和MyBatis 兩個開源框架整合而成,而SpringMVC[17]隸屬于Spring 的部分內容。 MVC 指Model、View、Controller,該設計模塊對于各種語言都能進行高效轉換,無論是Java、還是C 語言對于MVC 設計模式來說都能很好地兼容,并且可以極大地減少運行時間。 不僅如此,MVC 對代碼的重復不做過多的要求,還能對視圖和模型進行分離分析。 前端開發過程中使用的uni-app 框架是目前市面上比較流行的一款框架,是基于VUE 框架衍生出來的一個可以搭配HBuilder X 編輯器封裝生成小程序的版本,相較于VUE 的優勢在于可以編譯到所有(包括百度、微信、QQ 等)小程序、安卓版本、IOS 版本,通過打包封裝實現一套程序的多處運行,而VUE 框架只局限于Web 頁面的程序運行,用于其他頁面會出現系統崩潰的狀態。
小程序選用面向對象語言Java 作為本系統開發的主要核心語言。 Java 不僅吸收了此前編程語言的精髓,還在此基礎上進行簡化,使得代碼更加易懂。 對于后臺數據的存儲與調用方面,本次設計選擇了體量較小、且開源免費的MySQL 數據庫,雖然體量較小、但其安全性不可小覷,而且不需要大量的開發資金,再加上Java 本身自帶的類庫,能使研發出的系統足夠安全和穩定。 綜上,MySQL 和Java 非常適合本次設計的開發。
微信開發者工具是由微信官方免費提供給開發者使用的一款針對微信小程序開發的工具,集合了程序開發、調試、預覽、上傳等所有功能[18]。 除了提供發布的各種微信開發者工具文檔以外, 微信開發團隊還給出完整的開發文件、設計和指導文檔等,致力于協助開發人員能夠更加簡潔、更為快速、有效地設計開發出各種微信小程序。
系統的需求分析指開發人員經過各種方法得到各類用戶對于該系統提出的問題,并進一步轉化為系統的信息需求。 通過問卷星小程序對部分教師、學生進行了調查,得到了高校校車訂座小程序需要解決的問題和預計的用戶類型,并進一步轉化為對應的信息需求。 高校校車訂座小程序的用戶類型有:管理員、教師學生、司機,詳細的信息需求見表1。

表1 高校校車訂座小程序需求分析Tab. 1 Demand analysis of college bus reservation applet
(1)技術可行性。 該系統的數據庫采用了當前體量較小,但技術較為成熟、且功能也相對強大的MySQL 數據庫,其優勢在于對軟、硬件和運行環境的要求都不高,具有較低的使用門檻。 Eclipse 工具的使用在Java 的編寫過程中發揮了重要的輔助作用,并為Web 程序提供了可靠的運行環境。 前臺采用HTML +CSS 技術完成頁面美觀度設計,后臺MySQL 數據庫強大的功能可以快捷準確地處理龐大的數據信息,并通過SSM 框架對其進行高效存儲與調用,保障了系統的順利運行和系統功能的重復實現。
(2)經濟可行性。 該小程序開發過程簡單,不會耗費過多的人力物力,避免了資源浪費。 開發過程中涉及到的軟硬件及有關其他設備均無需費用,整體開發費用很低,而且小程序也無需安裝、操作簡便,后期維護起來也不復雜。 小程序含有一定的車輛信息管理功能,可以查看每輛車不同時間的運營成本,也可以查看不同時刻校車的滿座率,方便管理員增減派車數量和派車時間,減少了不必要的中間環節及額外開銷。 綜上可知,小程序具有較好的經濟可行性。
(3)營運可行性。 管理員在系統后臺錄入已有的校車信息及司機基本信息,司機在小程序端查看相關信息(主要查看自己需駕駛的校車及具體乘車點),隨后開車去往指定乘車點,后期當有新的校車和司機加入時,管理員可以在后臺添加,并為其授予權限;教師、學生只需要在小程序端通過注冊登錄就可以對校車座位進行預定,并通過出示該訂單界面即可去指定乘車點乘車。 管理員僅需在電腦端操作,就可以在系統后臺進行所有信息的增刪改查處理。 整體流程不僅簡單、易操作,而且還具有良好的營運可行性。
高校校車訂座小程序涉及到的業務包括信息管理、預訂座位、留言反饋、管理統計、派車管理及公告管理。 其中,預訂座位是小程序的主要業務,指教師、學生通過自己的工號/學號在微信注冊該程序形成教師(學生)信息庫。 不同于教師的是,學生在注冊時需要選擇對應的班級,班級是從管理員添加班級信息形成的班級信息庫中得到,登錄后可進行個人信息的修改完善;管理員在系統后臺添加司機基本信息形成司機信息庫,添加校車信息形成校車信息庫,師生可通過小程序端查看管理員在后臺從校車信息庫中分離出來的派車信息,并選擇合適的校車進行座位預訂,預訂成功會生成已支付訂單(考慮到后期將根據實際情況可能會對乘坐校車進行適當收費,所以稱已支付訂單和已退款訂單),若退款、就會形成已退款訂單,兌換、則會形成已完成訂單,所有訂單會構成訂單庫。 師生在乘車點依憑訂單界面來乘車,并由司機對已完成訂單和師生訂單界面進行核查。 用戶也可以在小程序端乘車點頁面查看到對應的運行路線及到達相應地點的大致時間。 留言反饋是指教師、學生、司機在小程序端可就校車管理及該系統的功能方面提出意見或者建議,形成留言庫,管理員查看用戶留言后進行回復,更新留言庫。 公告管理是指管理員可在系統后臺添加公告信息,教師、學生、司機則能在小程序端查看所有公告,實時掌握準確信息。 研發系統的業務流程如圖1 所示。

圖1 業務流程圖Fig. 1 Business process diagram
小程序主要包括6 個功能模塊,具體功能結構如圖2 所示。 由圖2 可知,系統中的信息管理模塊可分為6 個子模塊,分別是:班級管理、學生管理、教師管理、司機管理、校車信息管理、乘車點管理;系統管理模塊分為公告管理和輪播圖管理;訂座管理包括已完成訂單、已退款訂單和已支付訂單;派車管理包括分別對應于小程序端師生、司機界面的派車師生和派車司機;管理統計功能模塊分為統計信息管理和通過統計信息生成的柱狀圖表信息;留言反饋則是一個獨立功能模塊。 本文中,將對此做研究分述如下。

圖2 功能結構圖Fig. 2 Functional structure diagram
(1)信息管理模塊:班級管理是展示所有已注冊的學生對應的班級并對班級總數加以匯總,用戶(教師、學生、司機)管理是方便管理員對使用該小程序的所有用戶信息進行查閱,乘車點管理對于不熟悉學校的用戶來說可助其找到正確的乘車點位置,校車信息管理是對傳統校車管理的融合,并將其作為該小程序的子功能之一,有利于后期校車的派車使用。
(2)管理統計功能:管理統計信息是從校車信息中提煉出的多種關鍵信息制成的數據視圖,并不是存在于數據庫中的實體表,其虛擬存在是為了幫助管理員更好地管理校車,可用來控制校車的派送頻率;圖表信息是根據管理統計信息中星期與滿座率生成的柱狀圖。
(3)留言管理:教師、學生和司機可以針對校車提出意見或者建議,通過留言的形式在小程序端輸入,管理員能在后臺界面看到留言信息,并做出回復。 同時,管理員有權刪除不恰當的言論、圖片,從而維護小程序的良好運行。
(4)派車管理:用戶在預訂座位時看到的并不是一輛校車的全部信息、而是派車信息,派車師生和派車司機是由校車信息中提取得來,關系到數據庫中的2 張視圖,分別對應于小程序中的師生界面和司機界面。
(5)系統管理:該模塊包括公告管理和輪播圖管理。 公告信息管理指管理員可以在后臺發布公告供用戶在小程序端進行查看,以確保用戶能得到及時、準確、有效的信息;輪播圖管理指管理員在后臺對小程序頁面頂端的內容進行一些操作,主要是一些圖片展示。
(6)訂座管理:主要包括3 個部分。 其中,已支付是指用戶在小程序端成功預訂座位后,就會生成已支付訂單,已支付訂單的小程序端頁面會有“兌換”與“退款”字樣;點擊“退款”會生成已退款訂單;點擊“兌換”則會轉換為已完成訂單,此時就不能再取消訂單;管理員在系統后臺可以對所有訂單進行增刪改查操作。
經過系統分析、功能設計、數據檢驗等一系列的研究設計,最終基本實現了登錄功能、信息管理功能、留言管理功能、訂座管理功能、派車管理功能、管理統計功能。 主要功能的實現界面如圖3 ~圖6 所示。 文中將給出剖析闡述如下。

圖3 座位預訂界面Fig. 3 Seat reservation interface

圖4 公告信息界面Fig. 4 Announcement information interface

圖5 管理統計界面Fig. 5 Management statistics interface

圖6 留言界面Fig. 6 Message interface
(1)登錄功能。 管理員的登錄需要系統管理員在數據庫添加管理員的賬號、密碼來實現,管理員獲得登錄權限后在系統后臺添加教師、學生、司機的基本信息,并對不同用戶賦予不同的權限。 這里的基本信息包括:賬號(學生用的是學號、教師用的是工號)和密碼。 用戶獲得權限后即可登錄小程序界面,進行后續相關操作。
(2)信息管理模塊。 主要由教師管理、學生管理、司機管理、班級管理、校車信息管理、乘車點信息管理6 個子模塊共同構成。 教師、學生在小程序界面具有注冊功能,仍需提及的是,學生在注冊時需要選擇所在班級才能注冊成功。 教師、學生、司機登錄進入小程序后,可以在個人界面對用戶信息進行修改完善,而信息一旦修改,對應的后臺管理系統數據也會隨之變化。 管理員可以對用戶信息進行增刪改查,刪除時可以選擇批量刪除或者逐條刪除。 在查詢方面,學生可以根據學號、班級、姓名進行信息查詢,教師則可根據工號和聯系電話來做查詢,司機查詢可以通過司機賬號、姓名及司機狀態(工作和休息)查詢到所需要的司機信息,校車信息查詢的選擇控件包括車牌號、校車狀態(派車、休息、故障、借入、外借)、司機代號、乘車點代號、星期,管理員可以通過乘車點代號來對乘車點的信息進行查詢。
(3)留言管理。 主要指用戶和管理員之間的留言,教師、學生和司機可以針對校車乘坐或者該系統發表意見和建議,在小程序端以留言形式發送給管理員,管理員會有針對性地做出留言回復。 此外,管理員還可以對所有的留言信息進行刪除、查詢操作,刪除時可以批量刪除所有不恰當的言論、圖片,維護系統良好的運行環境;也可以基于用戶賬號進行查詢操作,查詢到該用戶的留言次數。
(4)系統管理。 包含輪播圖管理和公告管理。其中,輪播圖管理是由管理員在后臺進行設置的,輸入需要輪播的圖片,但有關圖片名稱和圖片說明信息,用戶則無權查看,而是供管理員自己分辨使用,當用戶登錄小程序后,在首頁就可查看到輪播圖;公告管理是管理員用于發布日常動態的,也可以在關鍵時刻發布重要信息供用戶查看,使得用戶可以掌握及時、準確的信息。 在小程序頁面,用戶也可以搜索查詢一些公告。
(5)訂座管理模塊。 是指教師、學生登錄進入系統后,可以根據車牌號等信息搜索查看不同的校車信息,選擇合適的校車來預訂座位形成“已支付訂單”,點擊退款生成“已退款訂單”,點擊“兌換”生成“已完成訂單”后將不能再進行退款、即取消訂座操作。 司機可以查看其所駕駛校車的全部訂單,查看的頁面展示與師生訂單頁面相一致;管理員可以增刪修改所有的訂單信息,也可以根據訂單編號和車牌號查看所有的訂單信息。
(6)派車管理。 包括派車司機和派車師生,分別對應于小程序師生登錄得到的校車信息界面及司機得到的信息界面。 2 個界面展示的信息都是從校車信息中提取出來形成視圖后再展示給師生和司機,避免了信息的冗余。
(7)統計信息管理。 是從校車信息庫中提取的虛擬表,為了便于管理員查看所需要的信息,通過輸入車牌號來查詢對應的校車信息,也可以通過乘車點代號和星期的選擇來查詢校車信息。 管理統計信息的設置旨在方便管理員對該系統的使用,避免信息繁多造成的混亂。 圖表信息是根據管理統計信息中的星期和滿座率生成的每輛校車的滿座率柱狀圖,便于管理員對校車時間、校車頻率的靈活安排。
在系統投入使用前,最后一個環節就是系統測試。 測試的目的在于找出系統現存缺陷與不足,及時修改以保證系統的順利運行。 測試用例的存在是為了方便測試者確定軟件系統是否能夠付諸實踐,待測功能很多,其中2 個核心功能的測試用例見表2、表3。

表2 學生登錄及退出小程序用例表Tab. 2 Use case table of student login and exit applet

表3 用戶訂座用例表Tab. 3 Use case table of student seat reservation applet
該系統由微信小程序的前臺設計和后臺管理系統兩部分組成。 平臺使用SSM 框架搭建系統的整體架構,前端使用HTML/CSS/JavaScript/VUE 技術,后臺搭配Java 語言, 借助Eclipse 工具在Tomcat7 環境中實現了系統的后臺管理,具體來說,共有6 個功能,即:系統的信息管理、訂座管理、留言管理、系統管理、管理統計、派車管理。 信息管理包括管理員可以錄入用戶的所有信息、學生的班級信息、校車的基本信息及對校車的滿座率、運營成本等的掌控,更好地調度校車的發車和運營。 小程序借助開發軟件HBuilder X 使用uni-app 框架運行在微信開發者工具中,實現用戶端的功能。 因而,師生登錄小程序,可以進行訂座、留言、查看公告,司機可以在小程序端查看到自己所要駕駛的校車,也可以進行留言及查看公告。 系統運行過程中使用及生成的所有數據信息均以表格的形式存放至MySQL 數據庫中。
小程序基本實現了各項功能,但仍然存在一定局限性,要在后期不斷加以完善。 具體闡述如下:
(1)該小程序在校車數量足夠應對老師的情況下實則是為學生設計,因為在實際情況中,學生們都是在教師全部乘坐后仍有空位才能排隊上車,但是如果直接讓教師和學生都參與訂座,就有可能出現學生訂座成功而教師沒有座位的情況,違背了設計初衷。 針對這個問題,在下一階段工作中,可以嘗試設計教師和學生訂座的時間差、即提前開放教師的訂座時間,教師在提前的時間內完成訂座,其他時間則可供學生用于訂座,這樣就可以在不影響學生訂座的情況下,也避免了教師訂座不成功的問題。
(2)目前,教師、學生、班級信息都要管理員手動輸入進系統,雖然可以通過注冊得到教師、學生信息,但是校對起來也并不容易,而且手動輸入也需要花費很長時間。 針對這個問題,在下一階段工作中可以通過設置導入導出功能來解決。
本次研究中,基于微信小程序利用Java 語言設計開發了高校校車訂座系統,系統通過校車訂座功能解決師生出行時的排隊等候問題;通過信息管理功能了解到乘坐校車的所有用戶的信息;通過留言反饋功能及時掌握用戶對于小程序的反饋意見或者建議;通過公告管理了解到關于校車的所有準確真實的信息;通過管理統計功能幫助管理員更好地管理校車及掌控派車頻率。 該款小程序的研發幫助師生節省了出行時間,降低了校車管理過程中各環節產生的成本,有利于高效開展大學校園校車的管理工作。