摘 ?要:基于Android平臺設(shè)計(jì)的點(diǎn)餐系統(tǒng)旨在為顧客、商家建立一個(gè)線上信息交互的平臺,一方面能夠讓顧客在線訂餐,查看餐廳詳情,另一方面能夠讓商家進(jìn)行訂單管理、菜品管理、餐廳信息管理、餐桌管理等。該系統(tǒng)具有基于C/S的架構(gòu),選用Android Studio作為移動(dòng)客戶端開發(fā)工具,選擇Java作為編程語言,后端使用MySQL數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)的存儲、管理及共享。
關(guān)鍵詞:Android;手機(jī)訂餐;Java;C/S架構(gòu);MySQL
中圖分類號:TP311 ? 文獻(xiàn)標(biāo)識碼:A ? 文章編號:2096-4706(2023)14-0015-05
Design and Implementation of Smart Ordering System Based on Android
ZENG Huiqun
(Yangtze University, Jingzhou ?434023, China)
Abstract: The ordering system designed based on the Android platform aims to establish an online information exchange platform for customers and merchants. On the one hand, it can enable customers to book meals online and view restaurant details, and on the other hand, it can enable merchants to manage orders, dishes, restaurant information, and tables. The system has a C/S-based architecture, using Android Studio as the mobile client development tool, the backend uses a MySQL database to store, manage, and share data.
Keywords: Android; mobile phone ordering; Java; C/S architecture; MySQL
0 ?引 ?言
突如其來的疫情打破了我們原有的平靜生活,我國的各行各業(yè)都受到了影響,其中餐飲行業(yè)受到的影響最大。提高經(jīng)濟(jì)效益,降低成本已成為餐飲行業(yè)度過這個(gè)危機(jī)的首要任務(wù)。
科技不斷進(jìn)步,智能手機(jī)不斷被普及,現(xiàn)如今已是人手一部。現(xiàn)在主流的智能手機(jī)的操作系統(tǒng)主要分為蘋果公司的iOS和谷歌公司的安卓系統(tǒng)。根據(jù)調(diào)查,Android系統(tǒng)以合作伙伴多、激活設(shè)備多、開發(fā)框架強(qiáng)大、應(yīng)用市場開放等優(yōu)點(diǎn)占據(jù)市場第一的位置。
餐飲行業(yè)傳統(tǒng)的運(yùn)營方式存在如下問題:一是人工協(xié)助完成點(diǎn)餐落座,不僅效率低浪費(fèi)大量的人力資源,而且顧客還需要長時(shí)間等待;二是更換紙質(zhì)菜單費(fèi)用昂貴,制作周期長;三是購買、維修點(diǎn)餐設(shè)備費(fèi)用昂貴;四是現(xiàn)有的點(diǎn)餐無法提前了解餐廳詳情、不方便預(yù)訂。
本文介紹基于Android設(shè)計(jì)的點(diǎn)餐系統(tǒng),可以為用戶提供高效的點(diǎn)餐、預(yù)訂服務(wù),同時(shí)方便商家對餐廳進(jìn)行經(jīng)營和管理,節(jié)省更換菜單的成本,解放大量勞動(dòng)力。
1 ?國內(nèi)現(xiàn)狀
現(xiàn)在國內(nèi)大多餐飲店都有自己的點(diǎn)餐系統(tǒng)或者點(diǎn)餐設(shè)備。國內(nèi)主流的點(diǎn)餐系統(tǒng)和點(diǎn)餐設(shè)備有以下幾種:收銀系統(tǒng)式點(diǎn)餐系統(tǒng)、平板點(diǎn)餐系統(tǒng)、掃碼點(diǎn)餐系統(tǒng),對應(yīng)的點(diǎn)餐系統(tǒng)或點(diǎn)餐設(shè)備都存在一定的問題,不能完美契合人們的需求。
1.1 ?收銀式點(diǎn)餐系統(tǒng)
收銀式點(diǎn)餐系統(tǒng)是一種將收銀和點(diǎn)餐系統(tǒng)結(jié)合成一體的新型點(diǎn)餐方式,能夠給顧客點(diǎn)餐同時(shí)又可以方便商家收銀,但是它存在一個(gè)非常致命的問題,就是一旦店內(nèi)的顧客較多時(shí),顧客就需要排隊(duì)點(diǎn)餐,只適合客流量小的餐館。而且購買設(shè)備、維修設(shè)備對于餐飲業(yè)主是一筆不小的開支。
1.2 ?平板點(diǎn)餐系統(tǒng)
平板點(diǎn)餐系統(tǒng)是針對大型餐飲公司設(shè)計(jì)的,整個(gè)平板系統(tǒng)都是根據(jù)商家需求深度定制的,非常智能,但是該系統(tǒng)存在這些問題:一是購買平板的費(fèi)用昂貴;二是顧客無法預(yù)訂;三是顧客必須到店后使用餐廳提供的平板進(jìn)行點(diǎn)餐。
1.3 ?掃描點(diǎn)餐系統(tǒng)
掃描點(diǎn)餐系統(tǒng)的費(fèi)用低于前兩者。如今智能手機(jī)普及的時(shí)代,幾乎是人手一部智能手機(jī),對于購買設(shè)備、維修設(shè)備的資金基本為零,極大地控制了成本,這優(yōu)于前兩者。但是他依然存在一個(gè)的致命問題,即顧客必須到店后掃描餐桌上的二維碼才可以進(jìn)行點(diǎn)餐,無法實(shí)現(xiàn)預(yù)訂功能。
以上是國內(nèi)點(diǎn)餐系統(tǒng)存在的問題與缺陷。下文介紹的基于Android平臺設(shè)計(jì)的點(diǎn)餐系統(tǒng)的優(yōu)點(diǎn)有:一是成本低;二是點(diǎn)餐效率高;三是支持預(yù)訂。
2 ?開發(fā)平臺及相關(guān)技術(shù)
2.1 ?Android平臺
安卓系統(tǒng)是目前各類智能手機(jī)、平板的主流操作系統(tǒng),在全球占有的市場份額是最大的。安卓系統(tǒng)最初是由Andy Rubin開發(fā),后被谷歌收購。其核心是基于Linux的操作系統(tǒng),被谷歌公司收購改良后,主要運(yùn)用在大部分的平板和智能手機(jī)中。
2.2 ?Java語言
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個(gè)特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
2.3 ?MySQL數(shù)據(jù)庫
數(shù)據(jù)庫是長期儲存在計(jì)算機(jī)內(nèi)的、可共享的、有組織、統(tǒng)一管理的數(shù)據(jù)合集。MySQL具有體積小、速度快、總體擁有成本低、開源等優(yōu)點(diǎn)。MySQL在性價(jià)比方面完全滿足了要求,它是開發(fā)中小型系統(tǒng)的首選數(shù)據(jù)庫。因此,選擇它來作為點(diǎn)餐系統(tǒng)的數(shù)據(jù)庫。
3 ?需求分析
3.1 ?顧客用戶模塊
根據(jù)顧客的需求進(jìn)行分析,顧客在該點(diǎn)餐系統(tǒng)中主要有以下這幾項(xiàng)子功能:登錄、注冊、點(diǎn)餐管理、訂單管理、查看公告、評價(jià)管理、修改用戶信息。用例如圖1所示。具體功能分析如下:
1)注冊:顧客能以個(gè)人信息在系統(tǒng)中完成注冊,以賬號密碼登錄系統(tǒng)。
2)登錄:顧客用賬號密碼等信息登錄系統(tǒng),當(dāng)賬號存在且密碼正確方可進(jìn)入系統(tǒng),系統(tǒng)識別用戶身份為顧客,用戶進(jìn)入顧客界面。
3)訂單管理:在訂單管理子功能中有兩個(gè)功能分別為:確認(rèn)收貨、查看訂單。顧客可以查看歷史賬單,也可以查看現(xiàn)在下單未完成的訂單。賬單內(nèi)容包括菜品名稱、菜品價(jià)格、菜品數(shù)量、訂單時(shí)間、餐廳名稱等具體信息。需要確認(rèn)收貨時(shí),顧客登錄系統(tǒng)點(diǎn)擊待上菜訂單,然后點(diǎn)擊該訂單中的確認(rèn)收貨,便完成了收貨過程。
4)查看公告:用戶在登錄后,可以看到餐廳今日營業(yè)狀態(tài)、餐廳地址、餐廳聯(lián)系方式等。
5)點(diǎn)餐管理:顧客進(jìn)入餐廳界面后,可瀏覽餐廳的菜單,并將喜歡的菜品加入購物車,在購物中點(diǎn)擊結(jié)算,支付完成后即在該餐廳下單成功。
6)評價(jià)管理:顧客在食用菜品后,能夠在系統(tǒng)中對菜品做出評價(jià)。
7)修改用戶信息:顧客可以在該模塊下修改自己密碼、用戶名電話等信息。
圖1 ?顧客需求用例圖
3.2 ?商家用戶模塊
根據(jù)商家的管理需求分析,商家子功能有:登錄、注冊、訂單管理、菜單管理、餐桌管理、公告管理、修改用戶信息等。用例如圖2所示。具體功能分析如下:
1)注冊:商家可在系統(tǒng)中注冊賬號,填寫的信息正確無誤且符合系統(tǒng)要求便可注冊成功。
2)登錄:商家用注冊的賬號密碼登錄系統(tǒng)。登錄時(shí)用戶輸入賬號存在且密碼正確方可進(jìn)入系統(tǒng),系統(tǒng)識別用戶身份為商家,用戶進(jìn)入商家界面,允許進(jìn)行其他操作。
3)訂單管理:在訂單管理中有確認(rèn)訂單和查看訂單功能。確認(rèn)訂單:當(dāng)顧客在移動(dòng)端完成下單后,商家確認(rèn)訂單,商家按顧客的需求安排座位、安排做菜,同時(shí)系統(tǒng)向顧客反饋訂單已接收;查看訂單:商家可以查看訂單的詳細(xì)內(nèi)容,包括下單顧客的用戶名、顧客選擇的餐桌、顧客選擇的菜品、顧客選擇的菜品數(shù)量、顧客下單時(shí)間、顧客訂單備注信息。
4)菜單管理:進(jìn)入系統(tǒng)的菜單管理模塊,商家可以對菜品進(jìn)行增、刪、改等操作。商家根據(jù)經(jīng)營需求對菜單進(jìn)行管理,例如:增加新菜品、刪除菜品、修改菜品等。
5)餐桌管理:商家根據(jù)餐廳具體情況,可以修改餐桌狀態(tài)、新增餐桌、刪除餐桌。在系統(tǒng)中餐桌狀態(tài)為占用時(shí)顧客無法選擇使用該餐桌,當(dāng)餐桌的狀態(tài)為空閑時(shí)顧客才允許使用該餐桌。
6)公告管理:進(jìn)入系統(tǒng)公告管理,商家可對餐廳的營業(yè)狀態(tài)、餐廳信息進(jìn)行修改。營業(yè)狀態(tài)商家可選擇營業(yè)或歇業(yè),修改成歇業(yè)狀態(tài)下不接受顧客的訂單,修改成營業(yè)狀態(tài)下才能接受顧客的訂單。商家可根據(jù)餐廳信息的變更,在系統(tǒng)中修改對應(yīng)的信息。
7)修改用戶信息:商家可以在該模塊下修改自己密碼、用戶名電話等信息。
圖2 ?商家需求用例圖
4 ?系統(tǒng)設(shè)計(jì)
根據(jù)需求分析,該系統(tǒng)涉及兩類角色分別為商家和顧客,因此該系統(tǒng)分成兩大模塊商家用戶模塊、顧客用戶模塊。按照顧客用戶的需求設(shè)計(jì)以下子功能:登錄、注冊、訂單管理、點(diǎn)餐、查看公告、菜品評價(jià)、修改用戶信息;根據(jù)商家用戶的需求設(shè)計(jì)以下子功能:登錄、注冊、訂單管理、菜單管理、餐桌管理、公告管理、修改用戶信息。根據(jù)系統(tǒng)的整個(gè)功能結(jié)構(gòu)畫出完整的系統(tǒng)功能模塊圖,如圖3所示。
圖3 ?整體系統(tǒng)功能模塊圖
5 ?系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)
本章將詳細(xì)介紹系統(tǒng)模塊設(shè)計(jì)與實(shí)現(xiàn)。根據(jù)前文的設(shè)計(jì),該系統(tǒng)擁有兩個(gè)模塊:商家用戶模塊、顧客用戶模塊,在每個(gè)模塊下都有若干個(gè)子系統(tǒng)。下文介紹系統(tǒng)的主要的模塊與功能。
5.1 ?顧客模塊實(shí)現(xiàn)
5.1.1 ?用戶注冊
顧客需要有賬號才可以入系統(tǒng),想要獲得賬號首先要完成注冊。在注冊時(shí)用戶首先要選擇顧客身份,然后填入顧客的用戶信息,待系統(tǒng)判斷輸入的信息符合系統(tǒng)要求就可以完成注冊。該界面主要有EditText、Button等組件,其中EditText用來實(shí)現(xiàn)用戶信息輸入,當(dāng)用戶輸入完信息后,點(diǎn)擊注冊按鈕發(fā)送請求,系統(tǒng)把用戶信息存儲到數(shù)據(jù)庫,完成注冊過程。登錄界面如圖4所示。
圖4 ?注冊界面
5.1.2 ?用戶登錄
擁有顧客賬號后,用戶就可以用這個(gè)賬號登錄系統(tǒng),進(jìn)行相關(guān)的操作。用戶登錄時(shí),首先填輸入自己的用戶名,然后再輸入自己的密碼,選擇用戶身份,點(diǎn)擊登錄。賬號密碼核實(shí)正確后,就可以進(jìn)入系統(tǒng)。當(dāng)出現(xiàn)賬號信息不一致、賬號不存在、密碼錯(cuò)誤中的任意一項(xiàng),用戶都不能進(jìn)入系統(tǒng)。登錄界面如圖5所示。
圖5 ?登錄界面
5.1.3 ?顧客點(diǎn)餐
顧客用戶登錄后,進(jìn)入系統(tǒng)可以看到不同商家。顧客首先選擇還在營業(yè)的餐廳,點(diǎn)擊該餐廳進(jìn)入頁面,可以看到用Listview組件來顯示的菜單信息,然后在該頁面選擇菜品,然后點(diǎn)擊加入購物車,接著在購物車內(nèi)再次選擇菜品點(diǎn)擊結(jié)算,最后選擇好餐桌并完成支付,這就是整個(gè)點(diǎn)餐的功能描述。部分頁面如圖6至圖8所示。
5.1.4 ?修改用戶信息
在修改用戶信息模塊中用戶主要實(shí)現(xiàn)兩個(gè)功能:一個(gè)是修改密碼,另一個(gè)是修改用戶信息。圖9為修改密碼界面,圖10為修改用戶信息界面。
圖9 ?修改密碼界面 ? ? ? 圖10 ?修改用戶信息界面
5.2 ?商家模塊實(shí)現(xiàn)
5.2.1 ?菜品管理
商家可以按照餐廳的管理需求修改餐廳的菜單。如新增菜品、修改菜品、刪除菜品等。新增菜品時(shí),在菜單頁面點(diǎn)擊加號,增加新的菜品。上傳完菜品圖片、菜品名稱、菜品價(jià)格等信息后,點(diǎn)擊確認(rèn)系統(tǒng)判斷輸入信息符合系統(tǒng)要求,就完成了新菜品的上傳。修改菜單時(shí),點(diǎn)擊想要修改的菜品,然后再根據(jù)需求更改想要修改的部分,如菜品圖片、菜品名稱、菜品價(jià)格等信息。刪除菜品時(shí),只要點(diǎn)擊想要?jiǎng)h除的菜品然后點(diǎn)擊刪除,就可以完成刪除菜品。如圖11、圖12所示。
圖11 修改刪除界面 ? ? ? ? 圖12 ?新增菜品界面
5.2.2 ?餐桌管理
商家可以根據(jù)餐廳的情況,在餐廳的餐桌管理模塊中管理餐桌,能夠?qū)崿F(xiàn):新增餐桌、刪除餐桌、修改餐桌狀態(tài)等功能。如圖13、圖14所示。
圖13 ?餐桌管理 ? ? ? 圖14 ?新增、修改餐桌界面
5.2.3 ?公告管理
在此模塊中商家可以修改餐廳的信息,包括餐廳的營業(yè)狀態(tài)、地址、電話等信息。商家首先點(diǎn)擊想要修改的部分,然后再重新輸入修改內(nèi)容,最后點(diǎn)擊確認(rèn)修改就可以完成修改。如圖15所示。
圖15 ?公告管理界面
6 ?結(jié) ?論
筆者首先對國內(nèi)餐飲行業(yè)進(jìn)行調(diào)查,發(fā)現(xiàn)國內(nèi)餐飲行業(yè)中上存在的問題。其次對問題進(jìn)行匯總及歸納,找出解決問題的切入點(diǎn),并從切入點(diǎn)入手,深度剖析問題。結(jié)合查找的資料以及餐飲行業(yè)的背后,在Android平臺上設(shè)計(jì)一款新型的點(diǎn)餐系統(tǒng)來解決行業(yè)中存在的問題。
目標(biāo)確定后,從要滿足用戶哪些需求、系統(tǒng)設(shè)計(jì)是否可行兩個(gè)角度進(jìn)行分析。之后進(jìn)行系統(tǒng)設(shè)計(jì)。在系統(tǒng)設(shè)計(jì)部分,詳細(xì)闡述了系統(tǒng)各個(gè)功能模塊下的邏輯結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)。
系統(tǒng)設(shè)計(jì)完成后,對系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了詳細(xì)的講解。系統(tǒng)完成后進(jìn)行了系統(tǒng)測驗(yàn),發(fā)現(xiàn)系統(tǒng)中存在的問題并改正。
參考文獻(xiàn):
[1] 張海藩.牟永敏.軟件工程導(dǎo)論 [M].北京:清華大學(xué)出版社,2013.
[2] 劉偉.基于Android平臺的手機(jī)訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].揚(yáng)州:揚(yáng)州大學(xué),2018.
[3] 楊斯博.基于安卓平臺的手機(jī)訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].長春:吉林大學(xué),2016.
[4] 郝冰.基于安卓平臺的平板點(diǎn)餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].大連:大連理工大學(xué),2016.
[5] 王占山.基于移動(dòng)終端的訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].長春:吉林大學(xué),2015.
[6] 韓羽.一個(gè)Android點(diǎn)餐系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn) [D].武漢:華中科技大學(xué),2015.
[7] 朱詠平.手機(jī)自助點(diǎn)餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].大連:大連理工大學(xué),2018.
[8] 張汶.基于用戶體驗(yàn)的安卓平臺點(diǎn)餐系統(tǒng)研究與設(shè)計(jì) [D].成都:西南石油大學(xué),2015.
[9] 楊紅云,張藝杰,汪群會.基于Android平臺的高校食堂點(diǎn)餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].電子科學(xué)技術(shù),2017,4(4):155-159+163.
[10] 曾健平,邵艷潔.Android系統(tǒng)架構(gòu)及應(yīng)用程序開發(fā)研究 [J].微計(jì)算機(jī)信息,2011,27(9):1-3.
[11] 吳亞峰,蘇亞光.Android應(yīng)用案例開發(fā)大全 [M].北京:人民郵電出版社,2011.
[12] ?POLLACK M,GIERKE O,RISBERG T,et al. Spring Data:企業(yè)級Java的現(xiàn)代數(shù)據(jù)訪問技術(shù)(影印版) [M].南京:東南大學(xué)出版社,2013.
[13] 楊少健.基于Android的LBS移動(dòng)訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].廣州:暨南大學(xué),2012.
[14] 封小鈺,王飛.基于iBatis數(shù)據(jù)庫訪問技術(shù)的研究與應(yīng)用 [J].電腦開發(fā)與應(yīng)用,2008(6):51-53.
作者簡介:曾慧群(1998—),男,漢族,江西贛州
人,碩士在讀,研究方向:計(jì)算機(jī)科學(xué)與應(yīng)用。