謝杭 沈濱偉 肖凱 施月 王世杰
摘要:移動互聯(lián)網(wǎng)是未來互聯(lián)網(wǎng)發(fā)展的趨勢,為了將移動互聯(lián)網(wǎng)技術(shù)運用于餐飲行業(yè),解決過去人工點餐形式帶來的低效繁雜的弊端,該課題基于C/S架構(gòu)和MVC設(shè)計思想,研究并設(shè)計了一種基于Android的無線點餐系統(tǒng),實現(xiàn)了顧客就餐全過程的自動化管理,提高餐館的運營效率并提升用戶體驗,同時指出無線點餐系統(tǒng)的關(guān)鍵技術(shù)和實現(xiàn)難點,為無線點餐系統(tǒng)提供了一種通用的模式。
關(guān)鍵詞:安卓;無線點餐;移動終端;自動化;餐館
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2019)06-0063-03
Research and Design of Wireless Ordering System Based on Android
XIE Hang, SHEN Bin-wei, XIAO Kai, SHI Yue, WANG Shi-jie
(Civil Aviation University of China, Tianjin 300300, China)
Abstract: Mobile Internet is the trend of the future Internet development. In order to apply the mobile Internet technology to the catering industry and solve the inefficiency and complexity caused by the manual ordering method in the past, this topic is researched and designed based on the C/S architecture and MVC design ideas. A wireless ordering system based on Android realizes the automatic management of the whole process of customer dining, improves the operation efficiency of the restaurant and enhances the user experience. At the same time, it points out the key technologies and difficulties of the wireless ordering system, and provides a common model for wireless ordering systems.
Key words: Android; wireless ordering; mobile terminal; automation; restaurant
1 背景
過去餐廳使用的人工點餐形式,效率較低,勞工費用較高,且服務(wù)員和后廚的交流不及時,點餐業(yè)務(wù)容易出錯,影響顧客就餐體驗。隨著移動互聯(lián)網(wǎng)的發(fā)展,無線終端的通信能力和處理能力得到了極大的提升并開始普及,改變了人們的生活方式?;诋?dāng)前的環(huán)境和技術(shù),可以將過去煩瑣重復(fù)的人工點餐交由機器代勞。本文介紹的無線點餐系統(tǒng)在點餐過程無需工作人員干涉,由精準(zhǔn)的機器傳遞點菜信息,由可靠的后臺來管理餐桌,由智能設(shè)備來完成重復(fù)繁雜的勞動和高效的交互交流??蔀轭櫩吞峁┮环N寬松的點餐環(huán)境,同時可為餐廳節(jié)約人力成本,實現(xiàn)點餐的流程化,提高餐飲業(yè)的服務(wù)水平。
2 系統(tǒng)開發(fā)技術(shù)
2.1 開發(fā)工具
Eclipse平臺:Eclipse是一個開放源代碼的、基于Java的可擴展開放平臺。
Android Studio:是谷歌推出一個Android集成開發(fā)工具,提供了集成的 Android 開發(fā)工具用于開發(fā)和調(diào)試。
Tomcat服務(wù)器:Tomcat是一個免費的、開放源代碼的Web應(yīng)用服務(wù)器。當(dāng)主機配置好Apache服務(wù)器,便可通過它來響應(yīng)HTML頁面的訪問請求。
2.2 Andriod系統(tǒng)
Android系統(tǒng)是由Google發(fā)布的一款基于Linux平臺的智能移動終端操作系統(tǒng),具有開源、免費的特點,其對智能移動終端的迅速普及起著至關(guān)重要的作用。Android開發(fā)的四大組件分別是:1)活動:用于表現(xiàn)功能;2)服務(wù):后臺運行服務(wù),不提供界面呈現(xiàn);3)廣播接收器:用于接收廣播;4)內(nèi)容提供商:支持在多個應(yīng)用中存儲和讀取數(shù)據(jù),相當(dāng)于數(shù)據(jù)庫。Android系統(tǒng)架構(gòu)采用了分層的思想,從底層到上層共包括4層:Linux內(nèi)核層、系統(tǒng)運行庫層、應(yīng)用程序框架層和應(yīng)用程序?qū)印1鞠到y(tǒng)的客戶端就是基于Android系統(tǒng)。
2.3 Sevlet
Servlet是由Java語言編寫的服務(wù)器端程序,運行于支持Java的應(yīng)用服務(wù)器中,具有獨立于平臺和協(xié)議的特性,主要功能在于交互式地瀏覽和生成數(shù)據(jù),生成動態(tài)Web內(nèi)容。Java Web 應(yīng)用程序中所有的請求-響應(yīng)都是由 Servlet來完成的。本系統(tǒng)的服務(wù)器處理客戶端請求的功能實現(xiàn)基于Servlet技術(shù)。其工作模式如圖1:
3 系統(tǒng)整體架構(gòu)
本系統(tǒng)的客戶端采用基于Java語言的Android平臺,網(wǎng)絡(luò)通信使用Apache HTTP協(xié)議,后臺Web服務(wù)器采用Servlet響應(yīng)客戶端請求。后臺服務(wù)器采用JDBC訪問Mysql數(shù)據(jù)庫,而客戶端部分?jǐn)?shù)據(jù)存儲于本地的SQLite數(shù)據(jù)庫中。系統(tǒng)整體架構(gòu)圖如圖2:
系統(tǒng)運行時,Android客戶端通過無線網(wǎng)絡(luò)訪問Web服務(wù)器,并通過服務(wù)器訪問后臺數(shù)據(jù)庫,進(jìn)行數(shù)據(jù)的增刪查改操作。
4 系統(tǒng)功能簡介
4.1 服務(wù)器端
4.1.1 后臺數(shù)據(jù)庫
本系統(tǒng)通過JDBC接口連接Mysql數(shù)據(jù)庫。數(shù)據(jù)庫連接使用的是Java中的connection對象,通過connetion對象和MySQL驅(qū)動連接后臺的數(shù)據(jù)庫,并利用Servlet響應(yīng)
4.1.2 功能實現(xiàn)
服務(wù)器端的實現(xiàn)基于MVC框架模式和分層的設(shè)計思想,使用經(jīng)典的JSP + Servlet + Java bean的模式,將應(yīng)用程序的輸入、處理和輸出分開。其中Servlet充當(dāng)控制器的角色,負(fù)責(zé)從視圖(JSP)讀取數(shù)據(jù),控制用戶輸入,并向模型(JavaBean)發(fā)送數(shù)據(jù)。
當(dāng)客戶端向服務(wù)器發(fā)起登錄、下單、結(jié)賬等請求的時候,系統(tǒng)會通過HTTP協(xié)議向服務(wù)器發(fā)出請求。服務(wù)器端會將客戶端的請求信息進(jìn)行解析,然后通過Sevlet技術(shù)將處理后的數(shù)據(jù)以Http-Response返回給客戶端,由此來實現(xiàn)系統(tǒng)的數(shù)據(jù)交互。
服務(wù)器端的核心功能如圖3:
4.1.3 核心代碼
服務(wù)器主要用于響應(yīng)客戶端的請求。以下代碼展示了后臺服務(wù)器如何連接數(shù)據(jù)庫并處理客戶端發(fā)送過來的結(jié)賬請求:
4.2 客戶端
4.2.1 小型數(shù)據(jù)庫
Android客戶端采用了Android自帶的SQLite數(shù)據(jù)庫來存儲用戶登錄、最新菜單和最新賬單等信息。登錄信息用于方便用戶登錄,簡化登錄操作;菜單和賬單信息為用戶提供信息查詢功能,本地信息保存有利于減緩網(wǎng)路性能帶來的壓力并確保快速響應(yīng)。
4.2.2 功能實現(xiàn)
Android客戶端主要由以下幾個管理模塊構(gòu)成:用戶管理、桌號管理、菜品管理、訂單管理等。
用戶管理:包含用戶注冊和用戶登錄。用戶注冊功能將客戶的賬號和密碼信息提交給服務(wù)器并進(jìn)行存儲;用戶登錄功能則通過無線網(wǎng)絡(luò),根據(jù)賬號和密碼,在后臺驗證是否存在該用戶。
桌號管理:包含開桌、換桌和并桌。
開桌功能供用戶選擇當(dāng)前空閑的桌位進(jìn)行用餐;換桌、并桌功能則是為了滿足顧客臨時要求更換桌位的需要。
菜品管理:包含菜單更新和菜品瀏覽。
菜單更新功能用于與服務(wù)器同步菜單信息;菜品瀏覽功能用于向顧客展示菜品信息。
訂單管理:包含下單、查看訂單和結(jié)賬。其中查看訂單功能用于顧客查閱當(dāng)前下單的菜品信息。
4.2.3 系統(tǒng)操作流程
Android客戶端通過不同功能模塊的組合實現(xiàn)了完整的點餐服務(wù)。
首先顧客進(jìn)行登錄操作,在后臺進(jìn)行密碼驗證,驗證成功則進(jìn)入系統(tǒng)功能首頁,反之則回到登錄頁面進(jìn)行二次驗證;
接著顧客選擇餐館內(nèi)空閑的桌位入座,并開始瀏覽菜品,然后根據(jù)自身喜好,進(jìn)行點菜下單的操作,接著耐心等待服務(wù)員上菜后開始進(jìn)行就餐;
在此期間顧客可以隨時查看自身的訂單明細(xì),并可進(jìn)行加菜或退菜的操作(同時如果顧客有需要,可以提出進(jìn)行更換桌子或者與其他顧客合并桌子);
最后用餐完畢,顧客查看訂單情況并進(jìn)行結(jié)賬操作,系統(tǒng)將自動釋放被占用的桌號,然后完成此次服務(wù)。
綜上,系統(tǒng)的基本數(shù)據(jù)流程圖如圖4:
5 結(jié)束語
綜上所述,在如今萬物互聯(lián)以及5G即將普及的背景下,無線信息技術(shù)的應(yīng)用會應(yīng)用在各個領(lǐng)域,無線點餐系統(tǒng)就是餐飲業(yè)發(fā)展中的關(guān)鍵一步。本課題根據(jù)當(dāng)前時代背景,以顧客的需求為設(shè)計前提,采用基于互聯(lián)網(wǎng)的無線通訊技術(shù),實現(xiàn)了基于Android的無線點餐系統(tǒng)。安卓端的用戶點菜下單后,點菜相關(guān)信息和具體數(shù)據(jù)會被提交至服務(wù)器,PC端通過服務(wù)器查詢到各餐桌的訂單情況,可以有序且無差錯地進(jìn)行餐廳前臺和廚房之間的交互,提高了餐飲行業(yè)的服務(wù)效率,實現(xiàn)人性化、自動化的服務(wù)目標(biāo),提供系統(tǒng)化的互聯(lián)網(wǎng)餐廳解決方案。
參考文獻(xiàn):
[1] 郭霖. 第一行Android代碼[M]. 2版.北京: 人民郵電出版社, 2016: 3-241.
[2] 孫衛(wèi)琴. Tomcat與Java Web開發(fā)技術(shù)詳解[M]. 2版.北京:電子工業(yè)出版社, 2009: 89-113.
[3] 郭宏志. Android應(yīng)用開發(fā)詳解[M].北京: 電子工業(yè)出版社, 2010: 159-171.
[4] 李興華. Android開發(fā)實戰(zhàn)經(jīng)典[M].北京: 清華大學(xué)出版社, 2012: 252-282.
[5] Steve Suehring. Javascript從入門到精通[M].北京: 清華大學(xué)出版社, 2012: 313-332.
[6] 劉光瑞. tomcat架構(gòu)解析[M].北京: 人民郵電出版社. 2017: 152-183.
[7] 孫衛(wèi)琴. tomcat與javaweb開發(fā)技術(shù)詳解[M].北京: 電子工業(yè)出版社, 2009: 90-109.
[8] Budi Kurniawan. Servlet和JSP學(xué)習(xí)指南[M]. 北京: 機械工業(yè)出版社, 2013: 52-71.
【通聯(lián)編輯:謝媛媛】