




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
目錄--X-第1章緒論1.1研究背景與問題提出1.1.1研究背景2017年一月,張小龍正式于微信公開課Pro中上線發(fā)布微信小程序。2020年微信擁有12億用戶,而且擁有較高的用戶粘性,在微信中的產(chǎn)品或程序更容易推送和接觸到用戶。微信小程序擁有較低的開發(fā)適合配置的成本,顧客能夠“隨用隨走”,免安裝、免注冊、免卸載。至今,微信小程序已逐漸形成完善的服務(wù)生態(tài)體系,涵蓋了生活服務(wù)(打車、公交碼)、電商(線上購物商城)、辦公商務(wù)、休閑娛樂(小游戲)等領(lǐng)域。根據(jù)統(tǒng)計的數(shù)據(jù)顯示,2020年小程序年均日活躍用戶數(shù)超過4億;整體活躍小程序數(shù)同比增長75%,有交易的小程序數(shù)同比增長68%;人均使用小程序個數(shù)同比增加25%,用戶人均交易金額提升67%ADDINNE.Ref.{52C96E39-3E37-4592-A57B-9E5E791C25C5}[1]。雖然微信小程序的廣泛使用和開發(fā),使得有一部分餐廳緊跟時代發(fā)展趨勢使用微信掃碼點餐或者小程序點餐等,但目前大多數(shù)餐廳仍在使用人工點餐的方法。后者主要存在以下一些問題:員工工資成本高、人員容易流動導(dǎo)致培訓(xùn)成本高、招聘合適員工難度高、服務(wù)效率低下;高峰期管理可能出現(xiàn)混亂;菜品創(chuàng)新或更換導(dǎo)致菜單需要多次印刷,單次印刷菜單成本高;顧客買單結(jié)賬慢等。由于人為因素能夠較大程度地影響餐飲行業(yè),因此餐飲業(yè)是一種不確定性很強的服務(wù)行業(yè)。其中確定食材庫存量是餐廳要考慮的重要問題,食材庫存量過多會導(dǎo)致食材的浪費,增加餐廳的經(jīng)營成本,降低餐廳的可持續(xù)競爭力,庫存量過少會失去一些銷售機會,在庫存量適當(dāng)?shù)那闆r下餐廳才能在滿足顧客需求的基礎(chǔ)上最大程度地控制成本,既使顧客感到更加滿意,又節(jié)約了餐廳的運營成本,進而增加企業(yè)的競爭力ADDINNE.Ref.{72BCFE2A-7FB2-487A-9C9A-14D3D509DAFC}[2]。在傳統(tǒng)餐飲行業(yè)中,商家大多數(shù)僅能通過經(jīng)驗來確定庫存數(shù)量,這樣需要商家長時間的積累也會有一定的不準(zhǔn)確性。因此為使餐廳能夠準(zhǔn)確預(yù)測自己的菜品銷量,確定食材庫存量并且提高自身經(jīng)營效率的餐廳信息化系統(tǒng),開發(fā)出一款基于微信小程序和CMS內(nèi)容管理系統(tǒng)的可點餐、支付、后臺管理菜品信息、訂單信息的餐廳信息化系統(tǒng)。1.1.2問題提出本論文以某餐飲企業(yè)為背景,其主要針對身份為需要用餐的顧客提供點菜服務(wù)和身份為餐飲企業(yè)的員工提供后臺管理菜品訂單功能和菜品銷量預(yù)測功能。該企業(yè)現(xiàn)階段采用人工方式提供點菜服務(wù)并在電腦端的餐飲信息系統(tǒng)管理訂單,同時也僅由經(jīng)驗人士給出每天的食材庫存量。因為該店是熱門餐飲品牌的新分店,處在一個全新的地理位置,該店的員工并未摸清附近顧客的喜好和習(xí)慣,所以經(jīng)常會造成食材庫存量過多或過少的情況,從而導(dǎo)致浪費或營業(yè)額偏低的不利現(xiàn)象。另一方面由于餐廳較為受歡迎,每天的顧客較多,餐廳的服務(wù)人員的工作量較大,在盡力完成工作的同時,也不可避免有較多的失誤使得顧客的服務(wù)體驗較差,反響不好。因此本餐飲企業(yè)急需一款軟件能夠?qū)崿F(xiàn)自助點餐、線上訂單管理等功能,也能對菜品銷量進行一定的預(yù)測,從而起到指導(dǎo)食材庫存量的作用。1.2國內(nèi)外研究現(xiàn)狀與分析1.2.1餐廳信息系統(tǒng)的發(fā)展自二十世紀(jì)七十年代以來,微型電腦慢慢在人們?nèi)粘I钪辛餍衅饋?,國外就已?jīng)出現(xiàn)了餐飲電子服務(wù)管理系統(tǒng)。但在那個年代,由于微型電腦的使用成本過高且操作復(fù)雜,餐飲業(yè)的絕大企業(yè)和餐廳仍由人工進行服務(wù)和工作,到了二十世紀(jì)九十年代,Windows系統(tǒng)的廣泛應(yīng)用以及個人電腦的普及加快了餐飲行業(yè)的信息化。最先餐飲行業(yè)的信息系統(tǒng)的主要功能為輔助收銀,主要用于代替?zhèn)鹘y(tǒng)的計算器和算盤來進行訂單菜品的計算和賬目的核對。收銀員將顧客的菜品價格和購買數(shù)量輸入電腦,電腦快速計算出總消費,并打印用戶的消費發(fā)票。同時,餐廳的訂單記錄也保留在本地,方便餐廳進行賬目核對和分析菜品暢銷度等。到了九十年代后期,由于電腦的價格下降和較為智能的Win95、Win98系統(tǒng)上市使用,大量有長遠(yuǎn)眼光的餐廳開始使用電腦。餐廳利用局域網(wǎng),使點菜人員將顧客的訂單通過電腦傳輸?shù)胶髲N的顯示屏中,實現(xiàn)了點菜服務(wù)員和后廚廚師之間快速的信息傳遞,加快了點菜的進程和上菜速度,從而提高服務(wù)質(zhì)量ADDINNE.Ref.{5885ACF8-A6B1-4045-866B-DAA3C08282A1}[3]。進入二十一世紀(jì),移動設(shè)備開始出現(xiàn),開始有商家將移動設(shè)備應(yīng)用于餐飲行業(yè)。2001年第一臺手持點菜設(shè)備出現(xiàn)在美國洛杉磯的一家高級餐館。服務(wù)員僅需要將顧客的訂單輸入進移動設(shè)備,這些信息就會被實時傳輸?shù)椒?wù)器、收銀臺和后廚,并可以及時刪除和編輯訂單,省去了服務(wù)員在電腦和餐桌的來回往返。2007年在德國出現(xiàn)了世界第一個無人餐廳ADDINNE.Ref.{73C0E8E4-5AF1-4C50-A0D1-D9F5BAC9153F}[4]。2011年前后,智能手機的普及使得不少餐館將智能手機應(yīng)用到了自己的點餐系統(tǒng)中,用戶可以通過餐廳配備的點餐設(shè)備或者自己的智能手機,瀏覽菜單包括菜品的名字、圖片和文字介紹等。近年來隨著小程序的上線,由日本興起的二維碼技術(shù),許多餐館可以讓顧客采用掃碼進入點餐小程序,進行點菜、支付等行為。1.2.2菜品銷量預(yù)測的研究現(xiàn)狀對餐飲業(yè)中的菜品銷量預(yù)測的相關(guān)研究并不多見,主要是因為餐飲業(yè)在外界看來是一種由人決定的不確定因素很強的行業(yè),而其中的菜品銷量則與菜品本身質(zhì)量的好壞、顧客的喜好這些主觀因素有直接關(guān)系。但實際上通過一些調(diào)查研究和網(wǎng)上查閱資料,短期的菜品銷量受一些客觀因素的影響,有一定的研究意義。若能準(zhǔn)確預(yù)測菜品銷量,能夠有效減少食材庫存量的浪費或增加銷量和營業(yè)額,較大程度地提高餐廳的競爭力。柴軍通過使用粒子群優(yōu)化算法對傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法進行優(yōu)化,并使用核極限學(xué)習(xí)機得出一個預(yù)測精度較高的菜品銷量預(yù)測模型ADDINNE.Ref.{A8133670-901F-4C64-9B6F-8907028340E9}[5]。馬超群和王曉峰結(jié)合深度學(xué)習(xí)框架(TensorFlow)基于LSTM網(wǎng)絡(luò)模型提出了一個能夠使時間序列數(shù)據(jù)很好地擬合實驗數(shù)據(jù)地菜品銷量預(yù)測方法ADDINNE.Ref.{C549E418-6E1A-42B2-A793-7267DC530CC0}[6]。張靜茹利用ARIMA時間序列模型和BP神經(jīng)網(wǎng)絡(luò)模型在線性和非線性特征擬合方面的優(yōu)勢,基于這兩個模型提出了預(yù)測精度較高的較單一菜品預(yù)測模型ADDINNE.Ref.{C759AB99-DD7C-4AB0-A66F-AF9281EBA493}[7]。曹晗類似地基于深度學(xué)習(xí)提出了普通工作日銷量預(yù)測模型和節(jié)假日銷量預(yù)測模型,兩者較于傳統(tǒng)的ARMA模型和機器學(xué)習(xí)算法Xgboost對菜品銷量預(yù)測有更強的適用性ADDINNE.Ref.{230536AB-BE2C-4719-9A06-0AC119045607}[8]。本文受讀大量文獻的啟發(fā),打算以BP神經(jīng)網(wǎng)絡(luò)算法和隨機森林算法為基礎(chǔ),得出一個菜品銷量預(yù)測模型,并鑲嵌在筆者開發(fā)的餐廳信息系統(tǒng),供餐廳管理人員和顧客使用,能夠較大程度地提高顧客的服務(wù)體驗和餐廳的工作效率和競爭力。1.3研究目的與研究意義1.3.1研究目的目前有關(guān)點餐系統(tǒng)的研究大多數(shù)都從顧客角度出發(fā),基于現(xiàn)有數(shù)據(jù)或者過往銷量給予顧客可能喜歡的菜品推薦,本畢業(yè)設(shè)計則從餐廳的角度,為餐廳本身的菜品管理、訂單管理等提供信息系統(tǒng),提高工作效率,并通過菜品銷量預(yù)測,解決餐廳備菜的庫存問題,增強餐廳的競爭力。除此之外本畢業(yè)設(shè)計還為顧客提供自助點餐功能,提升了顧客的服務(wù)體驗。本論文研究內(nèi)容主要包括以下幾個方面:設(shè)計并開發(fā)微信點餐小程序,分析解剖顧客的點菜、下單行為,由此書寫小該程序的需求文檔,并確定其功能;學(xué)習(xí)微信小程序開發(fā)技術(shù),設(shè)計并實現(xiàn)小程序簡單易懂的用戶界面,實現(xiàn)點菜、下單、評論等功能。分析后廚管理訂單、查看菜品銷量預(yù)測的行為,根據(jù)其來書寫相關(guān)需求文檔,實現(xiàn)管理訂單、查看菜品銷量預(yù)測結(jié)果等功能。設(shè)計并實現(xiàn)后臺管理系統(tǒng)。通過分析商家對餐飲管理的需求撰寫需求文檔,設(shè)計并實現(xiàn)用戶信息管理、菜品信息管理、訂單信息管理等功能。研究BP神經(jīng)網(wǎng)絡(luò)算法和隨機森林算法,基于兩者的核心思想對菜品銷量進行預(yù)測。1.3.2研究意義通過對考慮菜品預(yù)測的餐廳信息系統(tǒng)的設(shè)計與開發(fā),為餐廳進行菜品預(yù)測。開發(fā)該小程序,有利于該餐廳為其顧客提供一個便捷自助的點餐渠道,同時也將餐廳自己日常的菜品管理,訂單管理等進行信息化?;谏鲜龇治?,該論文意義有以下幾點:(1)利于餐廳提高管理自身業(yè)務(wù)的工作效率(2)利于餐廳提升服務(wù)質(zhì)量(3)利于顧客輕松進行點餐和查看自身訂單。(4)提高餐廳的競爭力(5)降低餐廳的經(jīng)營成本1.4論文工作和內(nèi)容安排1.4.1論文工作本論文經(jīng)過前期的調(diào)查和分析需求后,利用IBMRationalRoseUML建模軟件、微信開發(fā)者工具、微信云開發(fā)技術(shù)和java編程語言等完成了系統(tǒng)的前端后端的設(shè)計和開發(fā)的實現(xiàn),并使用Anaconda中的JupyterNotebook完成了對菜品銷量功能的算法實現(xiàn)。論文的主要工作如下:上網(wǎng)查找相關(guān)類似的餐飲企業(yè)的現(xiàn)狀,了解這類企業(yè)的實際需求和難題,方便接下來工作的展開。查詢和瀏覽有關(guān)餐廳信息系統(tǒng)的文獻,分析國內(nèi)外類似的研究的成果,并對該餐飲企業(yè)所需要的餐廳信息化系統(tǒng)進行需求分析,從經(jīng)濟可行性和技術(shù)可行性的角度對此系統(tǒng)開展可行性分析。運用UML建模軟件IBMRationalRose對系統(tǒng)進行統(tǒng)一建模并分析,具體有用例視圖分析、類圖分析、狀態(tài)圖分析和順序圖分析。介紹系統(tǒng)開發(fā)所需的技術(shù)能力和編程語言,并對系統(tǒng)進行功能設(shè)計、系統(tǒng)架構(gòu)設(shè)計和網(wǎng)絡(luò)架構(gòu)設(shè)計等。描述系統(tǒng)已實現(xiàn)的功能模塊,并用圖片來展現(xiàn)系統(tǒng)的界面和功能。1.4.2內(nèi)容安排論文內(nèi)容是考慮菜品銷量預(yù)測的餐廳信息系統(tǒng)的設(shè)計與實現(xiàn),本系統(tǒng)既擁有自助點餐等功能來改善用戶用餐體驗,也擁有訂單管理、菜品銷量預(yù)測等功能來提高餐廳的工作效率。本論文一共七個章節(jié),具體的論文內(nèi)容安排如下:緒論。主要內(nèi)容包括菜品銷量預(yù)測和點餐系統(tǒng)的相關(guān)研究背景和問題提出,相關(guān)研究的發(fā)展現(xiàn)狀,本論文和設(shè)計的研究目的和意義。相關(guān)技術(shù)工具介紹。介紹了微信小程序的前端和后端的開發(fā)技術(shù)、微信新推出的云開發(fā)技術(shù)、Java編程語言;還介紹了本系統(tǒng)的開發(fā)工具,微信開發(fā)者工具、建模工具IBMRationalRose等。系統(tǒng)的需求分析和架構(gòu)規(guī)劃。系統(tǒng)的需求分析、架構(gòu)規(guī)劃(架構(gòu)規(guī)劃和網(wǎng)絡(luò)架構(gòu)規(guī)劃)以及系統(tǒng)的經(jīng)濟和技術(shù)可行性分析。系統(tǒng)UML分析。通過IBMRationalRoseUML建模軟件的使用對系統(tǒng)進行可視化分析,分別為狀態(tài)圖分析、類圖分析、用例圖分析。系統(tǒng)設(shè)計。介紹了系統(tǒng)的功能模塊設(shè)計、算法設(shè)計以及數(shù)據(jù)庫設(shè)計。系統(tǒng)實現(xiàn)。介紹了系統(tǒng)的功能模塊實現(xiàn)的實際情況,通過圖片加文字結(jié)合的方式展現(xiàn)出來。系統(tǒng)一共有八大模塊,分別是首頁模塊、菜品信息模塊、飯店信息模塊、個人中心模塊、我的訂單模塊、評論列表模塊、后廚管理模塊和系統(tǒng)管理模塊。結(jié)論與展望。講述了畢業(yè)設(shè)計工作的結(jié)論和展望,展望部分主要為本論文的缺陷和接下來的改進方法。第2章相關(guān)技術(shù)工具介紹第2章相關(guān)技術(shù)工具介紹2.1微信小程序開發(fā)技術(shù)2.1.1微信小程序前端開發(fā)技術(shù)微信小程序的前端部分主要由一套類似Html的超文本標(biāo)記語言和類似Css的樣式語言所構(gòu)成的,分別為Wxml和Wxss。Wxml是由MINA框架所設(shè)計的,其中標(biāo)簽語言、基礎(chǔ)組件和事件系統(tǒng)三者儲存在Wxml中共同構(gòu)建出頁面的結(jié)構(gòu)。而Wxss用于描繪Wxml超文本標(biāo)記語言中的組件樣式,也就是說它決定了其組件如何顯示。除此之外,微信官方開發(fā)文檔詳細(xì)介紹了小程序的各種組件、api以及框架設(shè)計,例如媒體組件、地圖、畫布、表單組件等組件,基礎(chǔ)API、數(shù)據(jù)緩存、頁面、路由、網(wǎng)絡(luò)以及媒體等API,小程序框架配置、框架接口詳細(xì)介紹使用、WXML語法參考以及WXS語法參考。根據(jù)本系統(tǒng)小程序的小程序部分,筆者使用了許多組件來充實小程序的功能,例如map組件。map組件是微信小程序開發(fā)中層級最高的組件,無法被其他組件覆蓋,通常用來顯示位置和導(dǎo)航作用。再如tabBar組件,也叫底部選項卡,通常放置在小程序的最下方,在大部分頁面都會存在從而發(fā)揮導(dǎo)航功能的常用組件,用戶可以使用其跳轉(zhuǎn)常用頁面ADDINNE.Ref.{803C1F6B-D5E4-4359-9929-204724D80783}[9]。2.1.1微信小程序后端開發(fā)技術(shù)本系統(tǒng)的微信小程序部分采用的是Java語言和微信的云開發(fā)技術(shù)。Java作為一種面向?qū)ο蟮木幊陶Z言,吸收了C++的各種好的地方,摒棄了C++里各種難懂的概念。例如多繼承、指針等ADDINNE.Ref.{15E5D1CF-E0A0-4626-8202-7DEF7BDDD717}[10]。具有以下特點:簡單性,Java為了使程序員能夠容易熟悉其,設(shè)計者將原本C++中程序員很少使用的特征去掉,這些特征既難懂也不常用。除此之外程序員們無需為存儲管理問題煩惱,可以將更多的時間和精力花在研發(fā)上,因為對于對象的引用和間接引用,Java能夠自行處理。面向?qū)ο?,Java是一種面向?qū)ο蟮恼Z言,程序員要著重注意數(shù)據(jù)和操縱數(shù)據(jù)的方法。因為在系統(tǒng)中,Java需要用類來表示數(shù)據(jù)和操作數(shù)據(jù)方法的集合、而其中的數(shù)據(jù)和方法是用來描繪對象的。穩(wěn)健性:由于Java允許擴展編譯時檢查潛在類型不匹配問題,要求使用顯式的方法聲明,這些使得程序能夠捕捉到C++一般捕捉不到的調(diào)用錯誤,從而更加穩(wěn)健。安全性:在Java中,其存儲分配模型可以防御惡意代碼。又由于上面所說的在Java中所剔除的指針會使隱蔽起來的內(nèi)幕和偽造指針去指向存儲器出現(xiàn)。而Java揚棄了指針這一概念,既使語言變得簡單,又使程序變得更安全ADDINNE.Ref.{D20C4DF2-B9FE-4752-ACAE-D4F819EA90CB}[11]。微信小程序所上線云開發(fā)技術(shù),簡化了復(fù)雜的后端和運維操作,提供一站式的后端服務(wù),縮減了小程序在開發(fā)過程中復(fù)雜冗長的后端操作,包括構(gòu)建服務(wù)器。讓開發(fā)者不需要管理基礎(chǔ)架構(gòu),只需使用平臺提供的簡單易懂的API進行關(guān)鍵業(yè)務(wù)的開發(fā)實現(xiàn),即可快速實現(xiàn)小程序的上線和更新迭代ADDINNE.Ref.{43AD4E92-9B65-4C1C-BA09-32AE63EB7A48}[12]。本系統(tǒng)所使用到的四大云開發(fā)基礎(chǔ)能力分別是:云函數(shù):開發(fā)者可以先編寫好代碼好將這段代碼,上傳到云端,存儲并部署后,開發(fā)者可以通過調(diào)用云函數(shù)的API來調(diào)用這段代碼,簡化用戶的操作。數(shù)據(jù)庫:微信云開發(fā)的數(shù)據(jù)庫不同于普通類似Mysql等數(shù)據(jù)庫軟件的數(shù)據(jù)庫,其不僅可在小程序前端操作,也可以用云函數(shù)讀寫JSON數(shù)據(jù)庫,無需嚴(yán)格按照關(guān)系型數(shù)據(jù)庫復(fù)雜的操作模式構(gòu)建。存儲管理:開發(fā)者可以將系統(tǒng)文件存儲在其中,通過云存儲的API來調(diào)用,既可上傳,也可以帶權(quán)限管理的云端下載。內(nèi)容管理系統(tǒng):開發(fā)者可以使用其來免去繁瑣復(fù)雜的后臺管理系統(tǒng)的搭建,開通后會生成內(nèi)容管理系統(tǒng)的URL,打開后進行簡單的配置即可關(guān)聯(lián)你的后臺數(shù)據(jù),成為可用的后臺管理系統(tǒng)ADDINNE.Ref.{DE0A0D53-75D5-40D1-8EED-C2ECB92E75D3}[13]。2.2微信小程序開發(fā)工具2.2.1微信開發(fā)者工具微信開發(fā)者工具是由微信官方開發(fā)平臺所設(shè)計的一款針對微信小程序開發(fā)的開發(fā)工具。為了幫助開發(fā)者簡單和高效地開發(fā)和調(diào)試微信小程序,微信官方基于原本的公眾號網(wǎng)頁調(diào)試工具,發(fā)布了全新的微信開發(fā)者工具,既可以公眾號網(wǎng)頁調(diào)試,也可以進行小程序調(diào)試ADDINNE.Ref.{C1114254-3E49-4960-AD5F-64491675FF35}[14]。開發(fā)者需要用自己的微信賬號注冊后才能使用此工具,在打開軟件時,開發(fā)者需要使用微信掃描開發(fā)者工具所給的二維碼登陸。微信開發(fā)者工具擁有開發(fā)調(diào)試、代碼編輯、程序發(fā)布等作用,其中開發(fā)者可以在小程序模擬器中準(zhǔn)確觀察到大部分的API的狀態(tài),也有例外,例如由于map組件需要打開騰訊地圖app,則在模擬器中無法正常使用。如今微信開發(fā)者工具的調(diào)試工具分為7大功能模塊分別是:Wxml、Console、Sources、Network、Appdata、Storage、Sensor、Trace。Wxmlpanel可以使開發(fā)者真實準(zhǔn)確地查看到每一段wxml代碼所對應(yīng)的頁面結(jié)構(gòu)以及wxss屬性。Consolepanel會顯示小程序的錯誤輸出也可以輸入和調(diào)試代碼。Sourcespanel可顯示項目的腳本文件。NetworkPanel能夠觀察和顯示request和socket的請求情況。Storagepanel主要用于顯示數(shù)據(jù)的存儲情況。Sensorpanel能夠使開發(fā)者選擇模擬地理位置和移動設(shè)備表現(xiàn)ADDINNE.Ref.{2E7955AC-974E-4A39-937D-AF6D0F835401}[15]。2.2.2RationalRoseRationalRose是基于UML建模的可視化建模工具,是Rational公司出品的一種面向?qū)ο蟮慕y(tǒng)一建模語言的可視化建模工具。該軟件提供了一種能夠滿足所有建模環(huán)境靈活性需求的解決方案。開發(fā)人員、項目經(jīng)理、系統(tǒng)工程師乃至分析人員都可以在系統(tǒng)開發(fā)周期內(nèi)在RationalRose中將系統(tǒng)的需求和架構(gòu)轉(zhuǎn)化為代碼(Java、C++、VisualBasic等)ADDINNE.Ref.{32C1B665-F665-4B05-8A17-1F33E25BBBAE}[16],并將其可視化,更精煉且更容易讓人理解。第3章系統(tǒng)需求分析及架構(gòu)規(guī)劃第3章系統(tǒng)需求分析及架構(gòu)規(guī)劃3.1系統(tǒng)需求分析3.1.1系統(tǒng)餐廳顧客用戶需求分析本系統(tǒng)主要用戶分別是餐廳顧客、后廚管理員、系統(tǒng)管理員。餐廳顧客用戶在可以在微信小程序中進行登錄賬號,照顧餐廳顧客想保護自身隱私的想法,小程序僅會自動獲取該顧客用戶的微信頭像、昵稱等簡單信息,顧客用戶無需再填寫其他信息,即可登錄并使用該小程序。接著餐廳顧客用戶可以通過小程序?qū)崿F(xiàn)菜品瀏覽、快速搜索和選取自己想要的菜品的功能。餐廳顧客選取好菜品后,顧客可以通過小程序結(jié)算訂單并支付。本小程序雖然有取消訂單按鈕,但考慮到現(xiàn)實情況,當(dāng)顧客下單過久,已點菜品已經(jīng)正在烹飪,若顧客可以隨意取消會造成餐廳經(jīng)營成本的提高以及食材的浪費,因此點擊取消訂單按鈕會提示顧客聯(lián)系服務(wù)人員人工取消。在訂單完成后,餐廳顧客通過小程序?qū)υ撚唵芜M行評論,也可以查看自己過往評論和包含其他顧客的全部評論。除此之外,顧客在小程序中實現(xiàn)查詢自己的訂單信息的功能。(1)登錄賬號:餐廳顧客無需填寫其他信息即可登錄并使用小程序(2)菜品瀏覽:餐廳顧客進入小程序后能夠瀏覽菜品信息(例如價格、銷量等),并能快速搜索菜品(3)點餐下單:顧客進入小程序后,能夠點取自己想吃的菜品并結(jié)算支付訂單。(4)個人中心:學(xué)院進入小程序后,能夠查看自己的訂單信息,也能夠?qū)ψ约阂淹瓿傻挠唵芜M行評論并查看包含其他顧客的全部評論。3.1.2系統(tǒng)后廚管理員用戶需求分析為了方便后廚管理員的操作和使用,后廚管理員無需在電腦端的后臺管理系統(tǒng)進行操作,僅需通過微信小程序使用自己的管理員賬號密碼登錄從而對訂單狀態(tài)進行管理。后廚管理員可以通過小程序查看未完成訂單信息,從而安排后廚進行菜品烹飪,在制作完成后點擊制作完成按鈕,修改訂單狀態(tài),并安排服務(wù)員上菜。(1)訂單狀態(tài)管理:后廚管理員通過小程序,查看未完成訂單,訂單完成后點擊訂單完成按鈕修改訂單狀態(tài)。(2)查看菜品銷量預(yù)測結(jié)果:后廚管理員可以通過小程序,查看近期的菜品銷量預(yù)測結(jié)果,從而確定食材庫存量。3.1.3系統(tǒng)管理員用戶需求分析系統(tǒng)管理員需要使用管理員賬號密碼登錄小程序的后臺管理系統(tǒng),為了適應(yīng)餐廳的需要,能夠按時修改菜單信息和減少服務(wù)的失誤,系統(tǒng)管理員要求可以在后臺管理系統(tǒng)中對菜品信息進行增刪查改。除此之外,系統(tǒng)管理員的其他要求是對小程序的一些基本信息進行增刪查改(例如首頁的輪播圖、熱門菜品的推薦等),以及對餐廳顧客用戶的訂單管理、評論管理等。(1)菜品管理:系統(tǒng)管理員進入后臺管理系統(tǒng)后,可對菜品信息進行增刪查改。(2)訂單管理:系統(tǒng)管理員進入后臺管理系統(tǒng)后,可對訂單信息、狀態(tài)進行修改,若(3)顧客想要取消訂單或者修改訂單,可以在保護餐廳利益的同時通過后臺管理系統(tǒng)實現(xiàn)。(4)輪播圖管理:系統(tǒng)管理員進入后臺管理系統(tǒng)后,可對小程序首頁頂部的輪播圖進行管理,根據(jù)餐廳的需要,更換、增加或刪除輪播圖的圖片。(5)管理員賬號管理:系統(tǒng)管理員進入后臺管理系統(tǒng)后,可對管理員的賬號密碼進行管理,在有員工離職后,可通過修改管理員賬號密碼來保護系統(tǒng)的安全。(6)評論管理:系統(tǒng)管理員進入后臺管理系統(tǒng)后,可以對餐廳顧客的訂單評論進行管理。3.2系統(tǒng)架構(gòu)規(guī)劃3.2.1系統(tǒng)總體架構(gòu)微信小程序的總體框架由兩個部分構(gòu)成分別是:View視圖層、AppServive邏輯層、JSBridge系統(tǒng)層和云數(shù)據(jù)庫。View視圖層是由WXML和WXSS編寫,并由組件來進行展示。View視圖層將AppService邏輯層的數(shù)據(jù)反應(yīng)成視圖,同時將視圖層的事件發(fā)送給邏輯層。WXML(WeiXinMarkupLanguage)是微信的一套標(biāo)簽語言,結(jié)合基礎(chǔ)組件、事件系統(tǒng),可以構(gòu)建出頁面的結(jié)構(gòu)。WXSS與CSS相似,是一套樣式語言,通過其來決定WXML中的組件如何展示。AppService邏輯層將數(shù)據(jù)進行處理后發(fā)送給視圖層,同時接受視圖層的事件反饋。邏輯層能夠提供豐富的API(ApplicationProgrammingInterface)來訪問或利用微信官方的資源或服務(wù),其中JSBridge系統(tǒng)層將視圖層和邏輯層連接起來ADDINNE.Ref.{925F0B62-CC79-49AB-84B9-143BB9466E33}[17]。由于本系統(tǒng)采用的是微信的云開發(fā)技術(shù),其有云數(shù)據(jù)庫、云函數(shù)等元素,本系統(tǒng)無需在本地搭建數(shù)據(jù)庫存儲數(shù)據(jù),本系統(tǒng)通過云數(shù)據(jù)庫將數(shù)據(jù)存儲在微信服務(wù)器中,當(dāng)需要調(diào)用數(shù)據(jù)時,可將數(shù)據(jù)從云數(shù)據(jù)庫中調(diào)出。3.2.2系統(tǒng)網(wǎng)絡(luò)架構(gòu)本系統(tǒng)所采用的網(wǎng)絡(luò)架構(gòu)為C/S架構(gòu),即服務(wù)器-客戶機結(jié)構(gòu)ADDINNE.Ref.{92A415E3-64D8-4285-9E9D-45BEACE04751}[18]。本系統(tǒng)的客戶機為餐廳顧客、管理員用戶的移動設(shè)備例如手機、平板等,則服務(wù)機則為微信官方的服務(wù)器。用戶通過自己的移動設(shè)備將請求發(fā)送到微信官方的服務(wù)器,服務(wù)器接受用戶請求后將數(shù)據(jù)通過網(wǎng)絡(luò)傳送給用戶的移動設(shè)備(即客戶機),數(shù)據(jù)在客戶機上進行計算和處理數(shù)據(jù),然后再把結(jié)果呈現(xiàn)給用戶。該網(wǎng)絡(luò)架構(gòu)的優(yōu)點在于能夠利用客戶機設(shè)備的數(shù)據(jù)處理能力使得服務(wù)器的數(shù)據(jù)負(fù)荷較輕,從而響應(yīng)速度較快,缺點則在于需要昂貴的維護和投資成本。3.3系統(tǒng)可行性分析3.3.1技術(shù)可行性分析本系統(tǒng)所采用的是結(jié)構(gòu)化生命周期法進行開發(fā),將系統(tǒng)的開發(fā)過程分成不同的階段,每個階段都需要有清晰明了的工作和目的,每個進程按照制定好的工作和目的有條不紊的推進ADDINNE.Ref.{51756238-7982-4891-A0F9-281C7E54AD93}[19],因此系統(tǒng)開發(fā)的完成可能性較高。系統(tǒng)的小程序開發(fā)采用的是Java語言、微信云開發(fā)框架。使用微信開發(fā)文檔和Java所制定的語法、組件、API等技術(shù)。這些技術(shù)已經(jīng)十分完善,可供系統(tǒng)設(shè)計與開發(fā)的全過程,而且上述技術(shù)和方法能夠快速學(xué)習(xí)和上手。同時,系統(tǒng)的開發(fā)人員具有相應(yīng)的開發(fā)系統(tǒng)的經(jīng)歷,有一定的經(jīng)驗,可以運用知識能力和經(jīng)驗完成系統(tǒng)開發(fā)。綜上所述,該系統(tǒng)的開發(fā)在技術(shù)上是可行的。3.3.2經(jīng)濟可行性分析系統(tǒng)的小程序的開發(fā)前端采用的是微信云開發(fā)小程序的框架。微信的官方開發(fā)文檔在整體框架、組件以及API都有著詳細(xì)的指導(dǎo),能夠使開發(fā)者快速學(xué)習(xí)和上手。微信的開發(fā)者工具調(diào)試起來容易,可直接在開發(fā)者工具中的模擬器實時查看自己的小程序狀態(tài),而且微信開發(fā)者工具是免費的,無需購買。而系統(tǒng)中的后臺管理系統(tǒng)同樣無需搭建服務(wù)器申請域名,是微信云開發(fā)中所自帶的,20年中段發(fā)布的新技術(shù)。僅需開通服務(wù)即可,其中由于畢業(yè)設(shè)計所用資源較少,一般都在微信的免費提供范圍之內(nèi),所以成本很低。除此之外,云開發(fā)所擁有的元素:云數(shù)據(jù)庫、云存儲等功能,使得本系統(tǒng)不需要搭建服務(wù)器ADDINNE.Ref.{0E2884B8-8DF7-4600-A712-DD0F50A06F28}[20],僅需使用微信官方的服務(wù)器就夠用,因此服務(wù)器成本為零。綜上所訴本系統(tǒng)的開發(fā)在經(jīng)濟上是可行的。第4章基于UML的系統(tǒng)分析第4章基于UML的系統(tǒng)分析4.1用例圖分析類圖、狀態(tài)圖、順序圖等UML建模圖的關(guān)鍵和根基是用例圖。用例圖由用例、系統(tǒng)和參與者構(gòu)成,系統(tǒng)的功能通常由用例圖來描繪,用例圖從外層視角來考察該系統(tǒng)具備哪些功能。幫助開發(fā)人員明確系統(tǒng)的活動,從而準(zhǔn)確而高效地開發(fā)出符合用戶需求的系統(tǒng)。4.1.1識別參與者本系統(tǒng)的參與者主要是用戶,其中包括餐廳顧客、后廚管理員、系統(tǒng)管理員三大類,他們之間的關(guān)系如圖3.1圖4.SEQ圖3.\*ARABIC1參與者4.1.2餐廳顧客用例圖餐廳顧客用例圖一共有11個用例,分別是登錄、查看評論、評論訂單、瀏覽菜品信息、搜索菜品、查看餐廳信息、導(dǎo)航至餐廳、點取菜品、取消訂單、查看訂單信息、結(jié)算訂單。如圖4.SEQ圖3.\*ARABIC2餐廳顧客用例圖4.1.3后廚管理員用例圖后廚管理員用例圖一共有3個用例,分別是后廚管理員登錄、查看所有訂單信息、標(biāo)記訂單已完成。如圖4.3。圖4.SEQ圖3.\*ARABIC3后廚管理員用例圖4.1.4系統(tǒng)管理員用例圖系統(tǒng)管理員用例圖一共有7個用例分別是系統(tǒng)管理員登錄、查看所有訂單信息、編輯所有訂單信息、編輯所有菜品信息、編輯所有評論(不建議使用)、編輯小程序輪播圖。圖4.SEQ圖3.\*ARABIC4系統(tǒng)管理員用例圖4.1.5用例描述登錄用例介紹如表4.1所示。表4.1登錄用例用例編號用例名稱用例描述參與者基本路徑001登錄通過登錄賬號來正常使用小程序餐廳顧客1.顧客打開小程序2.顧客進入個人中心頁面3.顧客點擊授權(quán)登陸4.顧客允許獲取微信基本信息5.用例終止瀏覽菜品信息用例介紹如表4.2所示。表4.2瀏覽菜品信息用例用例編號用例名稱用例描述參與者基本路徑002瀏覽菜品信息餐廳顧客查看餐廳的菜品信息餐廳顧客1.顧客打開小程序2.顧客進入首頁頁面3.顧客點擊菜品瀏覽或更多>4.用例終止搜索菜品用例介紹如表4.3所示。表4.3搜索菜品用例用例編號用例名稱用例描述參與者基本路徑003搜索菜品餐廳顧客通過搜索菜品快速查詢自己想要找的菜品餐廳顧客1.顧客進入首頁頁面2.顧客點擊搜索框并輸入菜品關(guān)鍵字3.顧客點擊搜索或回車鍵4.用例終止查看餐廳信息用例介紹如表4.4所示。表4.4查看餐廳信息用例用例編號用例名稱用例描述參與者基本路徑004查看餐廳信息餐廳顧客可以進入小程序查看餐廳信息(地址、電話等)餐廳顧客1.顧客進入首頁頁面2.顧客點擊飯店信息3.用例終止導(dǎo)航至餐廳用例介紹如表4.5所示。表4.5導(dǎo)航至餐廳用例用例編號用例名稱用例描述參與者基本路徑005導(dǎo)航至餐廳餐廳顧客可以在小程序中打開騰訊地圖導(dǎo)航至餐館餐廳顧客1.顧客進入首頁頁面2.顧客點擊飯店信息3.顧客點擊地圖中的定位點4.顧客點擊去這里5.用例終止點取菜品用例介紹如表4.6所示。表4.6點取菜品用例用例編號用例名稱用例描述參與者基本路徑006點取菜品餐廳顧客可以點取自己想要點的菜品餐廳顧客1.顧客進入首頁頁面2.顧客進入菜品瀏覽頁面3.顧客點擊自己想要點的菜品4.用例終止取消訂單用例介紹如表4.7所示。表4.7取消訂單用例用例編號用例名稱用例描述參與者基本路徑007取消訂單顧客想要修改或取消訂單時可在小程序取消訂單餐廳顧客1.顧客進入個人中心頁面2.顧客點擊我的訂單3.顧客查看待上餐訂單4.顧客點擊取消訂單5.用例終止查看訂單信息用例介紹如表4.8所示。表4.8查看訂單信息用例用例編號用例名稱用例描述參與者基本路徑008查看訂單信息顧客可以查看自己待上餐、待評價、已完成、已取消的訂單餐廳顧客1.顧客進入個人中心頁面2.顧客點擊我的訂單3.顧客查看所有訂單4.用例終止結(jié)算訂單用例介紹如表4.9所示。表4.9結(jié)算訂單用例用例編號用例名稱用例描述參與者基本路徑009結(jié)算訂單顧客可以將點好的訂單結(jié)算支付餐廳顧客1.顧客進入菜品瀏覽頁面2.顧客點好訂單3.顧客結(jié)算并支付訂單4.用例終止評論訂單用例介紹如表3.10所示。表4.10結(jié)算訂單信息用例用例編號用例名稱用例描述參與者基本路徑010評論訂單顧客可以對已經(jīng)上餐的訂單進行評論餐廳顧客1.顧客進入個人中心頁面2.顧客點擊我的訂單3.顧客點擊待評論訂單并進行評論4.用例終止查看評論用例介紹如表4.11所示。表4.11查看評論信息用例用例編號用例名稱用例描述參與者基本路徑011查看評論顧客查看自己的評論和全部的評論餐廳顧客1.顧客進入個人中心頁面2.顧客點擊評論列表3.用例終止后廚管理員登錄用例介紹如表4.12所示。表4.12后廚管理員登錄用例用例編號用例名稱用例描述參與者基本路徑012后廚管理員登錄后廚管理員可以用自己的賬號密碼登錄使用后廚管理功能后廚管理員1.后廚管理員進入個人中心頁面2.后廚管理員點擊管理員登陸3.后廚管理員輸入賬號密碼并登陸4.用例終止標(biāo)記訂單已完成用例介紹如表4.13所示。表4.13標(biāo)記訂單已完成用例用例編號用例名稱用例描述參與者基本路徑013標(biāo)記訂單已完成后廚管理員可以將已上餐的訂單標(biāo)記已完成后廚管理員1.后廚管理員登陸后廚管理頁面2.后廚管理員點擊后廚人員管理訂單3.后廚管理員在待制作菜品一欄標(biāo)記已完成訂單4.用例終止查看所有訂單信息用例介紹如表4.14所示。表4.14后廚管理員登錄用例用例編號用例名稱用例描述參與者基本路徑014查看所有訂單信息后廚管理員可以查看所有狀態(tài)的訂單后廚管理員1.后廚管理員登陸后廚管理頁面2.后廚管理員點擊后廚人員管理訂單3.用例終止系統(tǒng)管理員登錄用例介紹如表4.15所示。表4.15后廚管理員登錄用例用例編號用例名稱用例描述參與者基本路徑015系統(tǒng)管理員登錄系統(tǒng)管理員需要用唯一的賬號密碼登陸后臺管理系統(tǒng)系統(tǒng)管理員1.系統(tǒng)管理員使用電腦打開后臺管理端2.系統(tǒng)管理員用唯一的賬號密碼登陸3.點擊東大食堂4.用例終止查看所有訂單信息用例介紹如表4.16所示。表4.16查看所有訂單信息用例用例編號用例名稱用例描述參與者基本路徑016查看所有訂單信息系統(tǒng)管理員可以在后臺管理系統(tǒng)中查看所有訂單信息系統(tǒng)管理員1.系統(tǒng)管理員登陸后臺管理系統(tǒng)2.系統(tǒng)管理員點擊訂單表3.用例終止編輯所有訂單信息用例介紹如表4.17所示。表4.17編輯所有訂單信息用例用例編號用例名稱用例描述參與者基本路徑017編輯所有訂單信息系統(tǒng)管理員可以在后臺管理系統(tǒng)編輯所有訂單信息(如訂單狀態(tài)、已點菜品等)系統(tǒng)管理員1.系統(tǒng)管理員使用電腦打開后臺管理系統(tǒng)2.系統(tǒng)管理員用唯一的賬號密碼登陸3.點擊東大食堂4.用例終止編輯所有菜品信息用例介紹如表4.18所示。表4.18編輯所有菜品信息用例用例編號用例名稱用例描述參與者基本路徑018編輯所有菜品信息系統(tǒng)管理員在后臺管理系統(tǒng)可以編輯所有菜品信息系統(tǒng)管理員1.系統(tǒng)管理員進入后臺管理系統(tǒng)2.系統(tǒng)管理員點擊菜品3.系統(tǒng)管理員點擊編輯4.用例終止編輯所有評論用例介紹如表4.19所示。表4.19編輯所有評論用例用例編號用例名稱用例描述參與者基本路徑019編輯所有評論系統(tǒng)管理員在后臺管理系統(tǒng)可以編輯所有評論信息系統(tǒng)管理員1.系統(tǒng)管理員進入后臺管理系統(tǒng)2.系統(tǒng)管理員點擊評論3.系統(tǒng)管理員點擊編輯4.用例終止編輯所有菜品信息用例介紹如表4.20所示。表4.20編輯所有菜品信息用例用例編號用例名稱用例描述參與者基本路徑020編輯小程序輪播圖系統(tǒng)管理員在后臺管理系統(tǒng)可以編輯小程序輪播圖系統(tǒng)管理員1.系統(tǒng)管理員進入后臺管理系統(tǒng)2.系統(tǒng)管理員點擊輪播圖3.系統(tǒng)管理員點擊編輯4.用例終止編輯所有菜品信息用例介紹如表4.21所示。表4.21編輯所有菜品信息用例用例編號用例名稱用例描述參與者基本路徑021編輯后廚管理員賬號密碼系統(tǒng)管理員在后臺管理系統(tǒng)可以編輯后廚管理員的賬號密碼系統(tǒng)管理員1.系統(tǒng)管理員進入后臺管理系統(tǒng)2.系統(tǒng)管理員點擊管理員3.系統(tǒng)管理員點擊編輯4.用例終止4.2類圖分析類是對實際存在中一類具有共同特性的事物的概括。軟件系統(tǒng)中類與類之間的關(guān)系是由類圖來描述的。類圖是創(chuàng)建狀態(tài)圖、順序圖和協(xié)作圖等圖的基礎(chǔ),分別包括實體類、邊界類和控制類。4.2.1實體類圖實體類是實體對象的概括,用來描繪具體的實體,呈現(xiàn)的是系統(tǒng)領(lǐng)域內(nèi)的實體,一般是恒久的。實體類的名稱、屬性和方法這三個基本部分構(gòu)成了實體類,通常來說,物的實體類沒有方法,人的實體類才有方法。本畢業(yè)設(shè)計系統(tǒng)的使用者分別是餐廳顧客、后廚管理員和系統(tǒng)管理員,根據(jù)這三個用戶角色,確定其屬性與方法。在類的關(guān)系中,一個餐廳顧客可以擁有多個訂單和評論、瀏覽多個菜品信息。一個后廚管理員可以修改多個訂單的狀態(tài)。一個系統(tǒng)管理員可以修改多個訂單的信息、多個菜品的信息、多個輪播圖的信息和一個飯店的信息。本畢業(yè)設(shè)計的實體類如圖4.5所示圖4.SEQ圖3.\*ARABIC5實體類圖4.2.2邊界類圖對于系統(tǒng)外部環(huán)境和其內(nèi)部運轉(zhuǎn)間的交互,我們一般使用邊界類來完成模型構(gòu)建。在系統(tǒng)外用戶和系統(tǒng)間的交互描繪上,邊界類能達到清晰準(zhǔn)確的效果,與此同時,對于系統(tǒng)中依靠內(nèi)部環(huán)境的模塊,邊界類同樣能夠出色地完成模型的構(gòu)造。本畢業(yè)設(shè)計的系統(tǒng)的邊界類如圖4.6所示。圖4.SEQ圖3.\*ARABIC6邊界類4.2.3控制類圖一個用例所擁有的事項流控制行為通常用控制類進行描述,一般用來控制一個用例中的事項順序??刂祁愑糜趯σ粋€或幾個用例所特有的控制行為進行建模。本畢業(yè)設(shè)計系統(tǒng)的控制類圖如圖4.7所示。圖4.SEQ圖3.\*ARABIC7控制類4.3狀態(tài)圖分析 一個\t"/item/%E7%8A%B6%E6%80%81%E5%9B%BE/_blank"實體基于事件反應(yīng)的\t"/item/%E7%8A%B6%E6%80%81%E5%9B%BE/_blank"動態(tài)\t"/item/%E7%8A%B6%E6%80%81%E5%9B%BE/_blank"行為通常用狀態(tài)圖(StatechartDiagram)來進行描繪,狀態(tài)圖顯示了該實體如何根據(jù)當(dāng)前所處的狀態(tài)對不同的事件做出反應(yīng)。狀態(tài)圖在RationalRose中是由黑色實心圓圈、直線箭頭、外層為圓弧內(nèi)層為黑色實心圓圈的圖案以及矩形框構(gòu)成。其中黑色實心圓圈代表狀態(tài)圖的起點,直線箭頭代表觸發(fā)狀態(tài)變換的事項,矩形框代表狀態(tài),外層為圓弧內(nèi)層為黑色實心圓圈的圖案代表終點。4.3.1顧客狀態(tài)圖當(dāng)顧客用戶選擇登陸時,顧客用戶處于登陸狀態(tài),登陸成功后顧客用戶可以選擇查看評論、查看菜品信息、查看訂單、查看飯店信息等操作,當(dāng)進行以上操作時分別處于管理評論相關(guān)操作狀態(tài)、管理下單相關(guān)操作狀態(tài)、管理訂單相關(guān)操作狀態(tài)、管理查看飯店信息相關(guān)操作狀態(tài),同時也可以選擇結(jié)束操作。當(dāng)餐廳顧客處于管理查看飯店信息相關(guān)操作狀態(tài)時,可以選擇查看飯店位置,進入管理導(dǎo)航至餐廳操作狀態(tài),也可以選擇結(jié)束操作。顧客狀態(tài)圖如圖4.8所示。圖4.SEQ圖3.\*ARABIC8顧客狀態(tài)圖4.3.2后廚管理員狀態(tài)圖當(dāng)后廚管理員用戶輸入賬號密碼時,后廚管理員處于登陸狀態(tài),登陸成功后后廚管理員用戶可以選擇后廚管理訂單,進入管理訂單狀態(tài)相關(guān)操作狀態(tài),也可以選擇菜品銷量預(yù)測結(jié)果,進入管理菜品銷量預(yù)測相關(guān)操作狀態(tài),進入這些狀態(tài)時都可以選擇結(jié)束。后廚管理員狀態(tài)圖如圖4.9所示圖4.SEQ圖3.\*ARABIC9后廚管理員狀態(tài)圖4.3.3系統(tǒng)管理員狀態(tài)圖當(dāng)系統(tǒng)管理員用戶輸入賬號密碼時,系統(tǒng)管理員處于登陸狀態(tài),登陸成功后,系統(tǒng)管理員可以選擇訂單、菜品、輪播圖、評論或管理員,進入管理全部訂單相關(guān)操作狀態(tài)、管理全部菜品信息相關(guān)操作狀態(tài)、管理輪播圖相關(guān)操作狀態(tài)、管理全部評論相關(guān)操作狀態(tài)、管理后廚管理員相關(guān)操作狀態(tài)。系統(tǒng)管理員狀態(tài)圖如圖4.10所示。圖4.SEQ圖3.\*ARABIC10系統(tǒng)管理員狀態(tài)圖4.4順序圖分析4.4.1登陸順序圖登陸順序:普通的餐廳顧客在登陸過程中,首先需要的點擊個人中心進入個人中心頁面,再選擇登陸,并點擊允許系統(tǒng)獲取基本信息,系統(tǒng)的將數(shù)據(jù)儲存入數(shù)據(jù)庫后,即完成登陸。如圖4.11圖4.SEQ圖3.\*ARABIC11登陸順序圖4.4.2首頁模塊順序圖首頁模塊順序:普通餐廳顧客首先點擊首頁,進入首頁頁面,接下來有三個選項,1.在搜索框輸入想要搜索菜品的名稱或關(guān)鍵字,從而進入展示相關(guān)菜品的菜品信息頁面。2.點擊菜品瀏覽,從而進入展示餐廳所有菜品的菜品信息頁面。3.點擊飯店信息,進入飯店信息頁面查看飯店地址信息、電話號碼信息等等。如圖4.12圖4.SEQ圖3.\*ARABIC12首頁模塊順序圖4.4.3飯店信息順序圖飯店信息順序:普通餐廳顧客在首頁中點擊飯店信息進入飯店信息界面,可以查看到飯店的地址信息、電話信息等,再點擊地圖中餐廳的所在位置,進入導(dǎo)航界面,再點擊到這里按鈕即可進行導(dǎo)航。如圖4.13圖4.SEQ圖3.\*ARABIC13飯店信息模塊順序圖4.4.4菜品信息模塊順序圖菜品信息模塊順序:普通餐廳顧客在首頁模塊搜索菜品或點擊菜品瀏覽或更多,從而進入菜品信息界面,在菜品信息界面自己手動瀏覽菜品進行點菜或在置頂?shù)乃阉骺蛑兴阉骱簏c菜進行處理點取菜品,再結(jié)算點好的訂單,系統(tǒng)將訂單數(shù)據(jù)存儲入數(shù)據(jù)庫。如圖4.14圖4.SEQ圖3.\*ARABIC14菜品信息模塊順序圖4.4.5個人中心模塊順序圖個人中心模塊順序:普通餐廳顧客點擊個人中心進入個人中心界面,接下來有三個選擇,1.點擊我的訂單,進入我的訂單界面;2.點擊評論列表,進入評論列表界面;3.點擊管理員登陸,進入后廚管理員登陸界面。如圖4.15圖4.SEQ圖3.\*ARABIC15個人中心模塊順序圖4.4.6評論列表模塊順序圖評論列表模塊順序:普通餐廳顧客首先在個人中心界面點擊我的訂單,進入我的訂單界面,再點擊待評論訂單進行評論或忽略,評論過后系統(tǒng)會將評論數(shù)據(jù)存儲在數(shù)據(jù)庫,數(shù)據(jù)庫再將評論數(shù)據(jù)返回到評論列表界面。普通餐廳顧客也可以在個人中心點擊評論列表進入評論列表界面查看評論。如圖4.16圖4.SEQ圖3.\*ARABIC16評論列表模塊順序圖4.4.7我的訂單模塊順序圖我的訂單模塊順序:普通餐廳顧客首先在個人中心界面點擊我的訂單進入我的訂單界面,可以查看所有狀態(tài)的訂單例如待上餐、待評論、已完成。再點擊待上餐訂單,點擊相應(yīng)想要取消的訂單,系統(tǒng)再將此時的訂單數(shù)據(jù)存儲到數(shù)據(jù)庫,數(shù)據(jù)庫再將訂單數(shù)據(jù)返回到訂單界面。如圖4.17圖4.SEQ圖3.\*ARABIC17我的訂單模塊順序圖4.4.8后廚管理模塊順序圖后廚管理模塊順序:后廚管理員在個人中心界面點擊管理員登陸,進入后廚管理員登陸界面,輸入賬號密碼登陸,從而進入后廚管理員界面,接下來有兩個選擇:1.點擊后廚人員管理訂單,進入后廚管理訂單界面,查看所有狀態(tài)的訂單,可以通過點擊相應(yīng)訂單欄的已上餐改變訂單狀態(tài),系統(tǒng)再將訂單狀態(tài)數(shù)據(jù)存儲到數(shù)據(jù)庫。2.點擊菜品銷量預(yù)測結(jié)果,進入菜品銷量預(yù)測結(jié)果,查看菜品銷量預(yù)測結(jié)果。如圖4.18圖4.SEQ圖3.\*ARABIC18后廚管理模塊順序圖4.4.9系統(tǒng)管理模塊順序圖系統(tǒng)管理模塊順序:系統(tǒng)管理員通過所給的網(wǎng)址進入系統(tǒng)管理員登陸界面,輸入唯一的賬號密碼登陸后,有4個選擇:1.點擊訂單,可以查看和編輯所有訂單,系統(tǒng)會將訂單數(shù)據(jù)儲存到數(shù)據(jù)庫;2.點擊評論,可以查看和編輯所有評論,系統(tǒng)會將評論數(shù)據(jù)存儲到數(shù)據(jù)庫;3.點擊菜品,可以查看和編輯所有菜品信息,系統(tǒng)會將新的菜品數(shù)據(jù)存儲到數(shù)據(jù)庫;4.點擊輪播圖,可以查看到輪播圖,系統(tǒng)會將輪播圖數(shù)據(jù)存儲到數(shù)據(jù)庫。圖4.SEQ圖3.\*ARABIC19系統(tǒng)管理模塊順序圖第5章系統(tǒng)設(shè)計第5章系統(tǒng)設(shè)計5.1系統(tǒng)功能模塊設(shè)計本畢業(yè)設(shè)計系統(tǒng)按照用戶類型進行模塊設(shè)計,分為顧客用戶和管理員用戶兩個部分,即分成了點餐小程序和后臺管理系統(tǒng)兩個部分。對于顧客用戶來說,他們主要使用系統(tǒng)中的點餐小程序部分,分為首頁模塊、菜品信息模塊、飯店信息模塊、個人中心模塊、我的訂單模塊、評論列表模塊六大模塊,如圖4.1所示。對于管理員來說,后廚管理員主要使用系統(tǒng)中的小程序部分,而系統(tǒng)管理員主要使用的是系統(tǒng)中CMS管理系統(tǒng),所以后臺管理系統(tǒng)分為兩大模塊。分別是后廚管理模塊和系統(tǒng)管理模塊,如圖4.2所示。圖5.SEQ圖4.\*ARABIC1點餐小程序圖5.SEQ圖4.\*ARABIC2后廚管理系統(tǒng)5.1.1首頁模塊首頁模塊通常是所有用戶打開小程序時首先進入首頁模塊。該功能模塊包括以下四個子模塊:(1)搜索菜品:用戶可以在首頁模塊的搜索框中快速輸入自己想要點取的菜品的關(guān)鍵字,并按下回車鍵或者點擊搜索框,快速搜索到自己想要點取的菜品。(2)熱門菜品展示:在首頁模塊的最下方,用戶可以查看到餐廳銷量最高的前五名菜品。(3)輪播圖展示:在首頁模塊的頂端展示著餐廳想要推廣的菜品圖片或者一些重要信息的發(fā)布,如此顧客可以快速捕捉到這些信息。(4)菜品瀏覽頁和飯店信息頁的跳轉(zhuǎn):首頁模塊中含有跳轉(zhuǎn)菜品瀏覽頁和飯店信息的按鈕,用戶點擊即可跳轉(zhuǎn)5.1.2菜品信息模塊菜品信息模塊為用戶點單、下單所使用的主要模塊,該功能模塊包括以下三個子模塊:搜索菜品:用戶在菜品信息模塊中的搜索框同樣可以快速搜索到自己想要點取的菜品。點取菜品:用戶可以點擊在菜品信息右下角的加減號,從而增加或刪除自己購物車中的菜品數(shù)量。結(jié)算訂單:用戶能在點好自己的菜品后,結(jié)算并支付訂單。5.1.3飯店信息模塊飯店信息模塊為用戶提供飯店信息和導(dǎo)航至飯店功能。主要包括以下兩個子模塊:飯店信息展示;用戶可以在該模塊查看到飯店的地址信息和電話信息,并點擊電話號碼可以直接撥打。導(dǎo)航至飯店:用戶可以點擊模塊中地圖的飯店位置從而打開騰訊地圖,可以從用戶當(dāng)前位置導(dǎo)航至餐廳。5.1.4個人中心模塊個人中心模塊包括以下四個子模塊:顧客登陸:用戶可以在個人中心模塊中選擇登陸,允許小程序獲取其的微信昵稱、地區(qū)和性別等信息,從而成功登陸。訂單查詢:用戶可以在個人中心模塊跳轉(zhuǎn)至訂單頁面從而進行訂單查詢等操作查看評論:用戶可以在個人中心模塊跳轉(zhuǎn)至評論頁面,查看全部評論或自己的評論。后廚管理員登陸:用戶若是后廚管理員,跳轉(zhuǎn)至后廚管理員登陸頁面進行登陸。5.1.5我的訂單模塊我的訂單模塊包括以下兩個子模塊:(1)查看自己的訂單:用戶可以在我的訂單模塊查看自己未上餐的訂單、待評價的訂單和已完成的訂單。(2)取消訂單:用戶可以在自己未上餐的訂單中選擇取消訂單。5.1.6評論列表模塊用戶可以在評論列表模塊查看自己訂單的評論和所有的評論。5.1.7后廚管理模塊后廚管理模塊主要由后廚管理員進行操作和使用,包括以下兩個子模塊:(1)后廚管理訂單:后廚管理員可以在該模塊中查看所有的訂單,并當(dāng)訂單已經(jīng)完成出菜時,可以選擇標(biāo)記訂單完成。(2)菜品銷量預(yù)測:后廚管理員可以查看菜品的銷量預(yù)測從而指導(dǎo)食材庫存量和進貨量。5.1.7系統(tǒng)管理模塊 系統(tǒng)管理員能夠在該模塊進行管理菜品信息、輪播圖、訂單、評論乃至后廚管理員。5.2數(shù)據(jù)庫設(shè)計5.2.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計通常來說,設(shè)計數(shù)據(jù)庫結(jié)構(gòu)時筆者首先需要設(shè)計其數(shù)據(jù)庫概念,一個良好的數(shù)據(jù)庫需要一個清晰明了的數(shù)據(jù)庫概念設(shè)計ADDINNE.Ref.{12C49A57-845B-4A3D-85BB-24EA0EBDF5E3}[21]。將用戶的具體需求轉(zhuǎn)化為結(jié)構(gòu)化的數(shù)據(jù)信息的過程就是設(shè)計數(shù)據(jù)庫概念的過程。本論文的數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計由E-R圖表示,如下圖4.3所示。圖5.SEQ圖4.\*ARABIC3系統(tǒng)ER圖5.2.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計將實體-數(shù)據(jù)的ER圖轉(zhuǎn)化為與系統(tǒng)支持的數(shù)據(jù)類型所匹配的數(shù)據(jù)庫邏輯結(jié)構(gòu)就是數(shù)據(jù)庫概念邏輯結(jié)構(gòu)設(shè)計。根據(jù)本論文的數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計共設(shè)計和創(chuàng)建7個數(shù)據(jù)表,分別為餐廳顧客信息表、后廚管理員信息表、系統(tǒng)管理員信息表、菜品信息表、輪播圖信息表、訂單信息表和評論表。特別說明,餐廳顧客信息表的性別只有1與0表示的兩種類型,1表示顧客性別為男,0表示顧客性別為女。數(shù)據(jù)表詳細(xì)信息如下:(1)餐廳顧客信息表表5.1餐廳顧客表屬性(英文)類型主鍵外鍵空值屬性(中文)`user_id`Int(11)YesNo顧客號`nickName`varChar(255)No顧客名`city`varChar(255)No城市`country`varChar(255)No國家`province`varChar(255)No省份`gender`booleanNo性別(2)后廚管理員信息表表5.2后廚管理員信息表屬性(英文)類型主鍵外鍵空值屬性(中文)`admin_id`Int(11)YesNo后廚管理員號`admin_name`varChar(255)No后廚管理員用戶名`admin_password`doubleNo后廚管理員密碼(3)系統(tǒng)管理員信息表表5.3系統(tǒng)管理員信息表屬性(英文)類型主鍵外鍵空值屬性(中文)`id`Int(11)YesNo系統(tǒng)管理員號`name`varChar(255)No系統(tǒng)管理員用戶名`password`doubleNo系統(tǒng)管理員密碼(4)菜品信息表表5.4菜品信息表屬性(英文)類型主鍵外鍵空值屬性(中文)`food_id`Int(11)YesNo菜品號`food_name`varChar(255)No菜品名`food_kind`varChar(255)No菜品類型`food_icon`imageNo菜品圖片`food_price`Int(11)No菜品價格`food_sale`Int(11)No菜品銷量(5)輪播圖信息表表5.5輪播圖信息表屬性(英文)類型主鍵外鍵空值屬性(中文)`pic_id`Int(11)YesNo輪播圖號`pic_Url`varChar(255)No輪播圖位置(6)訂單信息表表5.6訂單信息表屬性(英文)類型主鍵外鍵空值屬性(中文)`order_id`Int(11)YesNo訂單號`user_id`Int(11)YesNo顧客號`food_id`Int(11)YesNo菜品號`food_quantity`Int(11)No菜品數(shù)量`food_price`Int(11)No菜品價格`order_price`Int(11)No訂單總價‘remark’varChar(255)Yes備注‘food_name’varChar(255)No菜品名稱‘order_population’Int(11)No用餐人數(shù)(7)評論信息表表5.7評論信息表屬性(英文)類型主鍵外鍵空值屬性(中文)`comment_id`Int(11)YesNo評論號`order_id`Int(11)YesNo訂單號‘user_id’Int(11)YesNo顧客號‘content’varChar(255)No評論內(nèi)容5.3算法設(shè)計本系統(tǒng)中使用BP神經(jīng)網(wǎng)絡(luò)算法和隨機森林算法實現(xiàn)菜品銷量預(yù)測功能,本文從天氣網(wǎng)采集了沈陽市4月1日到5月7日的天氣數(shù)據(jù),并將其與菜品銷量數(shù)據(jù)組合成訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),特征分別為是否節(jié)假日、最高氣溫、最低氣溫、天氣和菜品銷量,其中4月1日到4月30日的數(shù)據(jù)作為訓(xùn)練集,5月1日到5月7日的數(shù)據(jù)作為測試集。由于Bp神經(jīng)網(wǎng)絡(luò)算法和隨機森林算法僅能識別特征值為數(shù)字的特征,因此需要將特征值轉(zhuǎn)化為數(shù)字,筆者以以下的規(guī)則進行轉(zhuǎn)化:是節(jié)假日為1,不是節(jié)假日為0;晴:1,多云:2,小雨:3,中雨:4,小雪:5。將數(shù)據(jù)處理好后分別使用BP神經(jīng)網(wǎng)絡(luò)算法和隨機森林算法預(yù)測菜品銷量,并通過python自帶的預(yù)測評分得出預(yù)測值更為準(zhǔn)確的算法,最終采用較為準(zhǔn)確的算法預(yù)測的預(yù)測值傳遞到系統(tǒng)中供后廚參考。流程圖如下:圖5.SEQ圖5.\*ARABIC1算法設(shè)計流程圖5.3.1Bp神經(jīng)網(wǎng)絡(luò)算法BP神經(jīng)網(wǎng)絡(luò)算法誕生于1986年,由盧姆哈特和麥克利蘭兩位科學(xué)家為首所提出的概念,為一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)。該算法由三個部分組成,分別是輸入層、隱含層和輸出層。本系統(tǒng)的菜品銷量預(yù)測功能是將是否節(jié)假日、最高氣溫、最低氣溫、天氣四個特征作為輸入層,將菜品銷量作為輸出層。其拓?fù)浣Y(jié)構(gòu)如圖。圖4.SEQ圖4.\*ARABIC4BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)其中,(x1,…,x4)為輸入樣本,(y1,…,y2)為輸出樣本,n為輸入層的神經(jīng)元個數(shù),m為輸出層的神經(jīng)元個數(shù)。BP神經(jīng)網(wǎng)絡(luò)先將輸入層的數(shù)據(jù)正向傳播進網(wǎng)絡(luò),將權(quán)值保持不變在隱含層加工和處理,按照這樣的權(quán)值所輸出的期望值和輸出值之差過大(大于期望誤差),則反向傳播誤差,將誤差平均分到神經(jīng)元,再通過梯度下降的方法修改權(quán)值和閾值,從而降低預(yù)測誤差A(yù)DDINNE.Ref.{EFE4E18D-91C1-4A83-A5BF-2CD7400D4D13}[22]。5.3.2隨機森林回歸算法隨機森林算法是一種基于運籌學(xué)中的決策樹所建立的聚合算法,最先由里奧·布萊曼和阿黛爾·卡特勒所提出的,且將其注冊為商標(biāo)。中所構(gòu)建決策樹的數(shù)量和其的特征數(shù)量是隨機森林算法中的關(guān)鍵參數(shù)。若將隨機森林算法預(yù)測結(jié)果,則需要使用隨機森林回歸算法。假設(shè)該數(shù)據(jù)集一共由t個樣本,則先有放回的采取t個樣本,再將這個數(shù)據(jù)集的x個特征去除o個特征(x與o之差為先前設(shè)定好的特征數(shù)量),重復(fù)n次構(gòu)建出n個決策樹(n為先前設(shè)定好的決策樹數(shù)量)ADDINNE.Ref.{C79AE06A-351E-4B7E-9C8B-E7C74E6C6021}[23]。再用取平均的方式計算出樣本的預(yù)測值即可,這就是隨機森林回歸算法。第6章系統(tǒng)實現(xiàn)第6章系統(tǒng)實現(xiàn)6.1個人中心模塊實現(xiàn)6.1.1登陸子模塊登陸子模塊包括顧客用戶的登陸功能實現(xiàn)以及管理員用戶的登陸功能實現(xiàn)。其中顧客用戶的登陸功能,首先顧客需要點擊右下角個人中心進入個人中心頁面,點擊最上面的授權(quán)登陸按鈕,小程序會請求顧客用戶的授權(quán),申請獲取顧客用戶的微信昵稱、頭像、地區(qū)以及性別。若顧客點擊允許則成功登陸,能夠正常使用小程序,若顧客點擊拒絕則登陸失敗,不能使用小程序的大部分功能。接著管理員用戶的登陸功能,管理員需要進入個人中心點擊管理員登陸一欄,進入管理員登陸頁面并輸入賬號密碼,點擊管理員登陸則成功登陸。點擊退出登錄按鈕即可退出登錄。實現(xiàn)效果如圖6.1。圖6.SEQ圖6.\*ARABIC1登陸子模塊6.1.2訂單和評論查詢子模塊顧客用戶登陸后可以在個人中心模塊點擊我的訂單或評價列表進入到我的訂單和評價列表模塊。實現(xiàn)效果如圖6.2所示。圖6.SEQ圖6.\*ARABIC2訂單和評論查詢子模塊6.2首頁模塊實現(xiàn)6.2.1搜索菜品子模塊本搜索菜品功能采用的是模糊搜索的方式實現(xiàn)的,顧客用戶僅需輸入菜品名稱的部分即可搜索到相關(guān)菜品信息。搜索框位于輪播圖的下方,輸入完菜品名稱后,點擊搜索按鈕或點擊手機鍵盤上的確定鍵都可觸發(fā)搜索功能,即可跳轉(zhuǎn)僅有相關(guān)菜品的菜品信息頁。若顧客輸入的為空值,則系統(tǒng)會提示搜索值為空,若菜單上沒有顧客搜索的菜品,則跳轉(zhuǎn)的菜品信息頁不顯示菜品信息。實現(xiàn)效果如圖6.3所示。圖6.SEQ圖6.\*ARABIC3搜索模塊6.2.2輪播圖展示子模塊在首頁模塊的最上方,顧客用戶可以查看到輪播圖,其中為一些餐廳推廣的菜品或者餐廳發(fā)布給顧客的重要信息等。目前輪播圖僅有四張,若餐廳需要增加輪播圖或更換輪播圖,可以在后臺管理系統(tǒng)內(nèi)進行操作。實現(xiàn)效果如圖6.4所示。圖6.SEQ圖6.\*ARABIC4輪播圖子模塊6.2.3熱門菜品展示子模塊在首頁模塊的最下方,顧客用戶可以查看到餐廳銷量排行前五的菜品信息,最暢銷的五個菜品的菜品名稱、價格、銷量都會在此模塊展示出來。而右上角的更多,顧客可以點擊此按鈕進入菜品信息頁面。實現(xiàn)效果如圖所示。圖6.SEQ圖6.\*ARABIC5熱門菜品展示模塊6.2.3菜品瀏覽頁和飯店信息頁的跳轉(zhuǎn)子模塊菜品瀏覽頁和飯店信息頁的跳轉(zhuǎn)子模塊位于首頁模塊的中間部分。顧客用戶點擊菜品瀏覽可以跳轉(zhuǎn)到菜品瀏覽頁面,顧客用戶點擊飯店信息可以跳轉(zhuǎn)到飯店信息頁面。實現(xiàn)效果如圖所示。圖6.SEQ圖6.\*ARABIC6菜品瀏覽頁和飯店信息頁的跳轉(zhuǎn)6.3菜品瀏覽模塊實現(xiàn)6.3.1搜索菜品在菜品瀏覽模塊的搜索菜品功能與首頁模塊的搜索菜品功能一樣都是模糊搜索,顧客用戶僅需輸入菜品名稱的一部分,即可搜索到相關(guān)菜品,實現(xiàn)效果如圖6.7所示。圖6.SEQ圖6.\*ARABIC7搜索菜品6.3.2點取菜品顧客用戶可以在菜品瀏覽頁中的相應(yīng)菜品信息欄的加減號自由選擇點取或減少菜品,或點擊頁面最下方的購物車查看顧客自己所點的菜品,點擊加號或減號點取或減少相應(yīng)菜品。顧客也可以點擊購物車頁面右上角的清空購物車,從而清除所有已點的菜品。實現(xiàn)效果如圖6.8所示。圖6.SEQ圖6.\*ARABIC8點取菜品6.3.3結(jié)算訂單顧客用戶在點取好菜品后,可以點擊菜品瀏覽頁的選好了按鈕從而進行結(jié)算訂單跳轉(zhuǎn)到支付頁面。顧客進入支付頁面后,必須填寫用餐人數(shù),若用餐人數(shù)為空,當(dāng)顧客點擊支付時,系統(tǒng)會提示請輸入就餐人數(shù)。而支付頁面的備注為選填,顧客用戶可以根據(jù)自己的要求填寫備注。除此之外顧客用戶可以根據(jù)自身情況選擇支付方式。具體實現(xiàn)效果如圖6.9所示.圖6.SEQ圖6.\*ARABIC9結(jié)算訂單6.4飯店信息模塊實現(xiàn)6.4.1飯店信息展示顧客用戶進入飯店信息頁面后,可以查看到飯店的地址信息,飯店的電話信息。除此之外顧客用戶可以點擊電話,從而直接跳轉(zhuǎn)到手機的電話撥號頁面,無需復(fù)制電話號碼。實現(xiàn)效果如圖6.10所示。圖6.SEQ圖6.\*ARABIC10飯店信息展示6.4.1導(dǎo)航至飯店顧客用戶可以點擊飯店信息頁中地圖的飯店位置,從而跳轉(zhuǎn)到導(dǎo)航頁,再點擊其中的到這里按鈕,即可打開騰訊地圖進行導(dǎo)航至飯店。效果如圖6.11所示圖6.SEQ圖6.\*ARABIC11導(dǎo)航至飯店6.5我的訂單模塊實現(xiàn)6.5.1查看自己的訂單和取消訂單顧客用戶從個人中心頁面點擊我的訂單,可以進入我的訂單模塊。顧客用戶可以在其中查看待上餐訂單、待評價訂單、已完成訂單、已取消訂單。其中顧客用戶可以在待上餐訂單中點擊取消訂單按鈕,進行取消訂單。實際效果如6.12圖所示。圖6.SEQ圖6.\*ARABIC12我的訂單模塊6.6評論列表模塊實現(xiàn)顧客用戶可以在個人中心頁面點擊評價列表,進入評價列表頁面,查看全部訂單的評論以及自己訂單的評論,實現(xiàn)效果如圖6.13所示圖6.SEQ圖6.\*ARABIC13評價列表6.7后廚管理模塊實現(xiàn)6.7.1后廚管理訂單后廚管理員用戶可以在進入后廚管理頁面后,點擊后廚人員管理訂單,從而進入訂單管理頁面。在訂單管理頁面,后廚管理員可以查看待制作的菜品、已上餐待用戶評價的訂單以及已完成的訂單。后廚管理員可以在待制作的菜品一欄,標(biāo)記已完成的訂單。實現(xiàn)效果如圖6.14所示.圖6.SEQ圖6.\*ARABIC14后廚管理訂單6.7.2菜品銷量預(yù)測訂單后廚管理員用戶可以在后廚管理頁面點擊菜品銷量預(yù)測結(jié)果,從而查看近期的通過隨機森林回歸算法預(yù)測的菜品銷量,進行對食材庫存量的指導(dǎo).實際效果如圖6.15所示.圖6.SEQ圖6.\*ARABIC15菜品銷量預(yù)測6.7系統(tǒng)管理模塊實現(xiàn)系統(tǒng)管理員通過微信小程序云開發(fā)開通的內(nèi)容管理系統(tǒng)的網(wǎng)址進入系統(tǒng)管理模塊。在內(nèi)容集合中編輯訂單、管理員、輪播圖、評論、菜品等信息。系統(tǒng)管理員無需了解代碼,即可對小程序中的許多信息進行編輯。實現(xiàn)效果如圖6.16所示.圖6.SEQ圖6.\*ARABIC16系統(tǒng)管理模塊第7章結(jié)論與展望第7章結(jié)論與展望7.1研究結(jié)論微信小程序的廣泛使用以及本系統(tǒng)所基于的企業(yè)背景(仍在主要使用人工點餐的方式使得經(jīng)營成本較高,工作效率低下、食材庫存量常有過?;蜻^少)使得本系統(tǒng)針對該企業(yè)問題設(shè)計和開發(fā)出一款考慮菜品銷量預(yù)測的餐廳信息系統(tǒng)。在開發(fā)設(shè)計過程中,我將系統(tǒng)分為微信小程序和后臺管理系統(tǒng)兩個部分,又將其分為首頁模塊、菜品信息模塊、飯店信息模塊、個人中心模塊、我的訂單模塊、評論列表模塊、后廚管理模塊和系統(tǒng)管理模塊八大模塊。兩個部分和八大模塊之間聯(lián)系緊密、相互依存。在實現(xiàn)考慮菜品銷量預(yù)測的餐廳信息系統(tǒng)后,解決了該企業(yè)背景下的主要問題。通過使用系統(tǒng)中點餐小程序的自助點餐功能以及訂單、菜品管理等功能,有效提升了顧客體驗、餐廳的工作效率和服務(wù)質(zhì)量。通過使用菜品銷量預(yù)測功能,餐廳后廚能夠有效指導(dǎo)食材庫存量,降低餐廳的經(jīng)營成本和競爭力。本論文結(jié)論如下:微信小程序?qū)崿F(xiàn)了自助點餐、查看飯店信息以及訂單管理等功能,顧客可以在小程序中快速而又方便的點餐或取消訂單。系統(tǒng)的后臺管理實現(xiàn)了對菜品信息、訂單、管理員等數(shù)據(jù)的管理。系統(tǒng)中的菜品銷量預(yù)測功能能夠通過現(xiàn)有數(shù)據(jù)(近日的天氣、溫度、是否節(jié)假日、菜品銷量)預(yù)測接下來幾日的菜品銷量,從而起到指導(dǎo)食材庫存量的作用。微信小程序的云開發(fā)技術(shù)和Java編程語言適合入門級程序員,云開發(fā)技術(shù)的數(shù)據(jù)庫和CMS后臺管理系統(tǒng)無需過多復(fù)雜的操作,簡單學(xué)習(xí)即可達到較好的效果,Java語言為面向?qū)ο蟮木幊陶Z言,減去了C++語言的復(fù)雜概念,學(xué)習(xí)者能快速上手開發(fā)。7.2研究展望由于對BP神經(jīng)網(wǎng)絡(luò)和隨機森林算法的了解不夠深入和在計算機編程語言的知識上的欠缺,導(dǎo)致本畢業(yè)設(shè)計的算法功能并沒有進行深入的優(yōu)化和設(shè)計。在小程序功能實現(xiàn)方面,由于時間原因,雖然本畢業(yè)設(shè)計題目為餐廳信息系統(tǒng),但是該系統(tǒng)并未包含餐廳的采購、財務(wù)等方面,不夠全面。未來可在以下幾方面方向進行改進:(1)算法設(shè)計方面,兩種預(yù)測算法(BP神經(jīng)網(wǎng)絡(luò)算法和隨機森林算法)并沒有進行非常深入地了解和學(xué)習(xí),只是通過調(diào)取Python函數(shù)庫中的這兩個算法進行預(yù)測,并未進行具體的算法優(yōu)化,使預(yù)測功能更加準(zhǔn)確,若有機會會繼續(xù)加深對算法和編程語言的學(xué)習(xí),將該算法功能進行優(yōu)化使其更為準(zhǔn)確和具有現(xiàn)實意義。(2)功能實現(xiàn)方面:類似普通企業(yè)的ERP系統(tǒng)或者OA系統(tǒng)涵蓋企業(yè)日常工作的方方面面ADDINNE.Ref.{CE043EFD-CFDF-402A-951C-40B03EBB7753}[24],然而本系統(tǒng)僅涉及訂單、菜品和評論管理以及自助點餐等功能,未包含餐廳的財務(wù)、采購等方面,若有機會應(yīng)該開發(fā)更多的功能供餐廳使用參考文獻ADDINNE.Bib參考文獻[1] 六大行市值總和不及騰訊一家?估值認(rèn)可外,還有微信業(yè)務(wù)風(fēng)生水起[EB/OL]. /i6921991059329384968/.[2] JIT模式下的電子零部件倉儲規(guī)劃與研究[EB/OL]. /p-5953014157379.html.[3] 黃思楊.基于協(xié)同過濾推薦的安卓點餐系統(tǒng)的設(shè)計與實現(xiàn)[D].南昌大學(xué),2020.[4] 李昊.基于微信小程序的智能推薦點餐系統(tǒng)的設(shè)計與實現(xiàn)[D].南京郵電大學(xué),2020.[5] 柴軍.餐飲業(yè)菜品銷售量預(yù)測研究[D].東北師范
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳染性單核細(xì)胞增多癥的護理
- 2025版建筑工程質(zhì)量監(jiān)測與預(yù)警合同
- 二零二五年度高科技企業(yè)股權(quán)轉(zhuǎn)讓協(xié)議補充條款
- 2025版蛋糕店加盟店運營管理服務(wù)合同
- 二零二五年度市政公用工程聯(lián)營合同范本
- 二零二五年度建筑工程項目合同履約擔(dān)保合同
- 二零二五年度企業(yè)內(nèi)部員工保密協(xié)議模板
- 二零二五年度商業(yè)綜合體租賃承包經(jīng)營全面合同
- 2025年泰州二手房買賣合同+稅費承擔(dān)明細(xì)協(xié)議
- 二零二五年度跨境電商平臺合作協(xié)議匯編
- 2025年公務(wù)員考試時事政治考試題庫附完整答案詳解(考點梳理)
- 2025年國家電網(wǎng)招聘電工類-本科、??疲ü俜剑?第五章公共與行業(yè)知識歷年參考試題庫答案解析(5卷100道合輯-單選題)
- 2025廣東省事業(yè)單位招聘高校畢業(yè)生模擬試卷及參考答案詳解
- 黃岡市英山縣城區(qū)社區(qū)招聘社區(qū)工作者考試真題2024
- 傳媒公司勞動合同2025年
- 2025年設(shè)備人員 試題及答案
- 棉紡技術(shù)概論課件
- 10000中國普通人名大全
- 智能工廠數(shù)字化規(guī)劃
- 防汛物資檢查記錄
- 當(dāng)前利用外資形勢與經(jīng)濟新常態(tài)下的思考ppt課件
評論
0/150
提交評論