周琪峻 王英強 賈國強 姚穎奕 趙文
摘要:大學(xué)食堂的工作人員在飯點時工作負(fù)荷過重,不但要幫助同學(xué)點餐和準(zhǔn)確的記錄同學(xué)的要求,還要在飯做好之后,呼喊同學(xué)取餐,很多時候需要叫很多遍,同學(xué)才能聽見,這樣使得食堂工作者很費嗓子;大學(xué)生都已經(jīng)習(xí)慣了使用手機支付,而大多數(shù)的大學(xué)食堂對此卻無法進行很好的管理;中午休息時間短暫,而且學(xué)生就餐人數(shù)過多;現(xiàn)在人們十分依賴于手機,所以發(fā)揮好手機的作用,趨利避害,才能有效提高生活質(zhì)量。為了解決在校園食堂環(huán)境下存在的這些問題,提出多食堂與多商家的在線點餐、訂餐、排隊、叫號的一套完整解決方案,提高食堂的執(zhí)行效率。
關(guān)鍵詞:叫號;在線點餐;食堂管理;解決方案
中圖分類號:TP311 ? ? ? ?文獻標(biāo)識碼:A
文章編號:1009-3044(2019)15-0122-02
1 引言
很多食堂工作人員在工作時必須過度使用嗓子,因而常常感到咽喉疼痛。這是因為聲音由聲帶震動所產(chǎn)生的,當(dāng)聲音越大時,聲帶震動的幅度或頻率就會越大。當(dāng)聲帶震動幅度或頻率很大時,就會使得聲帶表面破損產(chǎn)生疼痛,也會因此比較容易引起咽喉發(fā)炎[1]。近來,又因為移動支付的產(chǎn)生,傳統(tǒng)的飯卡支付方式已經(jīng)不太流行,取而代之的是移動支付的方式,它將會慢慢成為主流的付款方式,然而很多學(xué)校的食堂管理系統(tǒng)在這一方面還是空白的,所以針對這兩個主要的問題提出了一套King Voice校園餐廳服務(wù)解決方案。
2 需求分析
隨著現(xiàn)代互聯(lián)網(wǎng)科技的快速發(fā)展,很多行業(yè)都已經(jīng)進入了“互聯(lián)網(wǎng)+”時代,但是在大學(xué)食堂卻很少感到“互聯(lián)網(wǎng)+”所帶來的影響。每到用餐高峰期的時候,食堂工作者一個人就需要完成很多工作,例如:記單、打飯、喊人等等。如果在商家窗口放置收銀臺或使用話筒的話,是不錯的選擇,但是,有很多的商家窗口都已經(jīng)放滿了東西,如若使用話筒的話,則有可能會影響到食堂工作人員的工作效率,而商家客戶移動端APP則可以提供叫號、記單等功能,使用完畢后可裝入口袋,這樣一來食堂工作者的工作效率便會大大提高。
與此同時,由于支付寶、微信等移動支付方式的興起,學(xué)校的管理系統(tǒng)還是只能針對飯卡支付的訂單進行管理,即使現(xiàn)在借助第三方平臺進行管理移動支付方式的訂單;此外,在需要查詢一些數(shù)據(jù)時,會極其不方便。針對這個問題,本文提出了一種借助微信開發(fā)者平臺實現(xiàn)點單,在窗口點餐時使用商家客戶移動端APP點單,將信息存入系統(tǒng)數(shù)據(jù)庫,同時通過PC端管理系統(tǒng),幫助食堂管理者更加便捷的管理食堂的收益。
3 功能與技術(shù)分析
3.1 系統(tǒng)數(shù)據(jù)流程
本系統(tǒng)需要在商家APP、普通學(xué)生微信端、食堂管理系統(tǒng)之間進行數(shù)據(jù)交互。在這三個系統(tǒng)中需要建立一個數(shù)據(jù)中心。本系統(tǒng)的數(shù)據(jù)流程圖如1所示。
1)商家客戶端APP:采集商家信息、叫號信息、點單信息,然后,鏈接到數(shù)據(jù)庫地址,利用JSP中的內(nèi)置對象request對象處理客戶端請求和response對象響應(yīng)客戶請求并向客戶端輸出信息,以共同完成一次請求的處理。
2)微信平臺:采集下單信息、和支付信息,編寫PHP語言后臺服務(wù)器響應(yīng)代碼,使其完成請求的處理。
3)食堂管理系統(tǒng):是管理與操作后臺數(shù)據(jù),同時會采集管理員信息和用戶信息集。與數(shù)據(jù)庫交互方式和商家客戶端APP相同。
3.2 系統(tǒng)的分析設(shè)計與功能說明
利用團隊在的西安思源學(xué)院食堂采集到的數(shù)據(jù),進行數(shù)據(jù)庫模型的建立。本系統(tǒng)主要分為三部分:商家客戶端APP、食堂管理系統(tǒng)、微信平臺。
系統(tǒng)架構(gòu)圖如圖2所示。
系統(tǒng)功能說明:
1)商家客戶端APP:叫號按鈕添加觸發(fā)語音播報事件并進行監(jiān)聽,完成叫號功能。訂單管理包括所有訂單的新訂單添加,確認(rèn)訂單完成,屬性有下單時間,菜名,排號,處理時間,完成時間,金額,數(shù)量,備注,及其相關(guān)的飯菜管理,如新增飯菜,修改飯菜。學(xué)生可在窗口借助商家客戶端APP在窗口進行點餐。
2)食堂管理系統(tǒng):幫助食堂管理人員通過數(shù)據(jù)分析了解食堂運營的情況,及時發(fā)現(xiàn)問題。
3)微信平臺:學(xué)生通過微信平臺進行下單、支付。
3.3 技術(shù)分析
商家客戶端APP基于MUI框架開發(fā),前端開發(fā)語言是HTML、JavaScript和CSS,然后封裝成JSP文件,后臺開發(fā)語言是JAVA,使用的服務(wù)器則是目前比較流行的Web應(yīng)用服務(wù)器Tomcat。
食堂管理系統(tǒng)PC端則是基于Bootstrap框架開發(fā),也是采用上述方法。
之所以選擇基于不同框架開發(fā)是為了提高用戶體驗,MUI框架是一種最接近原生APP體驗的高性能前端框架,開發(fā)者的選擇性更多一點,而且對于美感不是很強的開發(fā)者來說,可以不必?fù)?dān)心界面的美觀性,從而大大提升開發(fā)速率。
本系統(tǒng)開發(fā)的食堂管理系統(tǒng)PC端實質(zhì)上是網(wǎng)頁的開發(fā),Bootstrap框架不僅是一個模板,甚至不僅是一系列模板,它是一組可用于創(chuàng)建網(wǎng)頁的工具[2]。最重要的是Bootstrap框架是響應(yīng)式的,即用戶如果采用不同的設(shè)備訪問同一個網(wǎng)站,通過響應(yīng)式設(shè)計能使網(wǎng)站在手機和平板電腦上有更好的瀏覽閱讀體驗。這樣一來食堂管理工作者就可以隨時隨地的在手機上辦公,節(jié)省出更多的時間。
封裝成JSP文件后,完成前端框架的開發(fā),并應(yīng)用java語言進行數(shù)據(jù)庫操作。在MySQL中設(shè)計與開發(fā)所需數(shù)據(jù)庫,利用JDBC(Java DataBase Connectivity)提供訪問數(shù)據(jù)庫的API,進行與一個數(shù)據(jù)庫連接、向已連接的數(shù)據(jù)庫發(fā)送SQL語句、處理SQL語句返回的結(jié)果等操作,完成動態(tài)網(wǎng)頁的開發(fā),由此可完成食堂管理系統(tǒng)的開發(fā)[3]。
微信學(xué)生端點單程序是基于微信開發(fā)者平臺相關(guān)接口實現(xiàn),可以在微信內(nèi)被便捷地獲取和傳播,同時學(xué)生無須單獨下載APP,只需簡單的在微信搜索框內(nèi)輸入關(guān)鍵字,即可獲取到相關(guān)服務(wù),具有出色的使用體驗。微信提供的程序開發(fā)框架提供了簡單、高效的方式讓用戶擁有類似原生APP的體驗。其框架擁有自主的視圖層描述語言WXML和WXSS,以及基于JS的邏輯框架,并在層級間設(shè)有數(shù)據(jù)傳輸和事件系統(tǒng),讓微信平臺的程序數(shù)據(jù)和邏輯開發(fā)實現(xiàn)變得容易。
微信學(xué)生端數(shù)據(jù)響應(yīng)綁定了視圖層(View)和邏輯層(App Service),該結(jié)構(gòu)框架可以讓數(shù)據(jù)與視圖保持同步,當(dāng)數(shù)據(jù)發(fā)生更新時,只需要在邏輯層修改數(shù)據(jù),視圖層就會進行相應(yīng)更新。頁面之間的切換基于框架的路由系統(tǒng),頁面的數(shù)據(jù)庫、方法、生命周期函數(shù)統(tǒng)一注冊在框架中,并由其處理。
在獲取用戶信息,本地存儲,和相關(guān)的支付功能方面,只需調(diào)用現(xiàn)有的微信開發(fā)者平臺接口,即可通過API調(diào)起微信的提供的能力。用戶在使用學(xué)生端時無須單獨注冊,即可直接通過微信ID使用相關(guān)服務(wù),支付時也無須提供金融級存管平臺,直接拉起微信清算系統(tǒng)同步相應(yīng)數(shù)據(jù)即可。
在交互界面方面,微信程序開發(fā)框架內(nèi)置了豐富的基礎(chǔ)組件,自帶了微信風(fēng)格的樣式和使用邏輯,用戶使用時沒有學(xué)習(xí)成本,拆箱上手即可使用。
4 系統(tǒng)的實現(xiàn)
本系統(tǒng)的實現(xiàn)主要采用以下技術(shù):商家客戶移動端APP采用HBuilder進行開發(fā),食堂管理系統(tǒng)采用Eclipse進行開發(fā),微信小程序采用微信web開發(fā)者工具,數(shù)據(jù)庫服務(wù)器采用MySQL。在本文中給出,以商家客戶移動端叫號功能為例,給出其實現(xiàn)過程。
叫號功能實現(xiàn)的主要JavaScript代碼:
function speak(contents) {
var speaktext = contents;
switch(plus.os.name) {
case "Android":
var main = plus.android.runtimeMainActivity();
var SpeechUtility = plus.android.importClass("com.iflytek.cloud.SpeechUtility");
SpeechUtility.createUtility(main, "appid=5a20bab9");
var SynthesizerPlayer = plus.android.importClass("com.iflytek.cloud.SpeechSynthesizer");
var play = SynthesizerPlayer.createSynthesizer(main, null);
play.startSpeaking(speaktext, null);
console.log(speaktext);
break;}}
叫號功能實現(xiàn)界面如圖4所示。
5 小結(jié)
本篇文章指出了King Voice校園服務(wù)解決方案的研究意義,將大學(xué)校園餐廳存在的幾個問題做了細致的闡述,并指出問題的產(chǎn)生原因和解決方法,以及對軟件的功能和應(yīng)用技術(shù)進行了分析。項目在測試過程中也得到了預(yù)期的目標(biāo),如界面的可觀性、邏輯的簡單實現(xiàn)、前端與后端的交互等。同時,本系統(tǒng)將在數(shù)據(jù)庫安全、優(yōu)化算法方面等進行完善。
參考文獻:
[1] 潘德孚. 人體生命醫(yī)學(xué)[M]. 北京:華夏出版社,2014.
[2] Kyrnin J. Bootstrap入門經(jīng)典[M]. 姚軍,譯. 北京:人民郵電出版社,2016.
[3] 耿祥義,張躍平. JSP實用教程[M]. 3版.北京:清華大學(xué)出版社,2015.
[4] Android官網(wǎng)[EB/OL].https://developer.android.google.cn/index.html.
[5] 微信公眾平臺[EB/OL].https://developers.weixin.qq.com/.
【通聯(lián)編輯:代影】