基于Web的校園網(wǎng)上訂餐系統(tǒng)的設計與實現(xiàn)_第1頁
基于Web的校園網(wǎng)上訂餐系統(tǒng)的設計與實現(xiàn)_第2頁
基于Web的校園網(wǎng)上訂餐系統(tǒng)的設計與實現(xiàn)_第3頁
基于Web的校園網(wǎng)上訂餐系統(tǒng)的設計與實現(xiàn)_第4頁
基于Web的校園網(wǎng)上訂餐系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

前言1.1選題背景進入21世紀以來,信息高度互聯(lián)互通,數(shù)字技術和互聯(lián)網(wǎng)技術得到了前所未有的高速發(fā)展。隨著個人電腦和智能手機的普及,移動支付、線上購物等“互聯(lián)網(wǎng)+”技術進入到了我們的方方面面,成為我們日常生活不可或缺的一部分。與此同時,人們生活節(jié)奏的逐漸加快,消費觀念也有所轉變,越來越多的人開始追求快捷、便利的生活方式。網(wǎng)上訂餐服務能夠滿足消費者在家或辦公室就能享受各種美食的需求,節(jié)省了外出就餐的時間和精力。網(wǎng)上訂餐可以給消費者更多更優(yōu)惠的菜品選擇,也讓許多中小型餐館得到了曝光的機會,擴大了銷售的渠道。因此,越來越多餐飲企業(yè)從傳統(tǒng)的門店經營轉變?yōu)榫€上+線下模式,選擇入駐美團等主流外賣平臺或者推出自己的線上訂餐系統(tǒng)。由于外賣方便快捷、種類多、價格實惠,很多大學生也養(yǎng)成了外賣點餐的習慣(蔣兆峰,2021)。此外,2020年新冠肺炎疫情爆發(fā),為了防止疫情擴散,人們外出活動受到限制,餐飲企業(yè)也不得不停止堂食服務。這對我國餐飲業(yè)造成了極大影響,大量的餐飲企業(yè)加大對互聯(lián)網(wǎng)平臺的應用(石云逸等,2021)。因為許多人“宅家”的時候,選擇通過網(wǎng)上訂餐平臺下單餐品,通過無接觸配送的方式解決一日三餐,線上訂餐的需求大幅增加,更多人開始接受和選擇這種方便快捷的餐飲方式。隨著疫情的逐漸得到控制,線上訂餐市場依舊繼續(xù)保持增長的勢頭(李超等,2020)。1.2選題的目的和研究的意義1.2.1選題目的中國持續(xù)高速高質量發(fā)展的經濟發(fā)展需要更多的高素質人才,高校招生規(guī)模逐年擴大,但是許多高校配套資源卻沒有跟上,尤其是高校食堂,在中午放學和下午放學的高峰用餐時間,幾乎每一個打餐窗口都是人滿為患,即使取餐后也要花費大量的時間去找座位就餐。學生們的生活節(jié)奏普遍較快,如果一日三餐都要如此大費周章,寶貴的學習和科研時間浪費在排隊等待的過程中,將有可能對學生的學術研究有所影響。因此,方便快捷,無需排隊等待的網(wǎng)上訂餐得到了不少學生的青睞。其次,校園飯?zhí)猛ǔL峁┑牟似房钍较鄬潭?,可供選擇的種類較少,長時間不更換菜單,導致學生在長時間內反復吃相同的菜品,缺乏新鮮感。而且這些飯菜大多放在加熱臺上,經過長時間的加熱,口感和味道難免變差,難以滿足所有學生的飲食需求。而且多數(shù)食堂都只在固定時間營業(yè),部分學生如果因為專注于科研實驗或者參加活動錯過了食堂的營業(yè)時間可能只能吃殘羹冷炙,甚至沒飯吃,只能通過自備干糧來避免餓著肚子熬過漫漫長夜。將網(wǎng)上訂餐系統(tǒng)引入校園能夠有效解決上述的不足,一方面可以彌補食堂菜品款式長期不更新的問題,無論是水果沙拉,還是美味燒烤,學生多元化的飲食需求都可以得到滿足,另一方面為那些時間緊迫無法到食堂就餐或者因為各種原因錯過食堂營業(yè)時間的同學提供了新的選擇,節(jié)省了前往食堂的時間,使他們能夠在忙碌的間隙中享受美食。1.2.2研究意義與目前市面主流的網(wǎng)上訂餐系統(tǒng)不同,校園訂餐主要面向高校這一類相對封閉的場景,消費群體主要是學生。因為校園環(huán)境的特殊性,外賣配送人員混雜,校園安全難以得到保障(祝坤艷等,2020)。出于對師生人身安全和財產安全考慮,許多高校并不允許美團和餓了么等平臺的騎手進入校園,學生只能去校門口或外賣柜領取自己下單的菜品,一來一回又消耗了寶貴的時間。而校園網(wǎng)上訂餐系統(tǒng)則填補了這部分的空白,一方面,可以帶動校園餐飲的經濟增長,形成有益的市場競爭,學??梢宰鳛楣芾矸?,對于入駐商家的資質進行審查,最大程度保障校內的食品安全。另一方面,校園網(wǎng)上訂餐系統(tǒng)為那些希望在課余時間勤工儉學的學生提供了一個平臺,他們在獲得健康證后,可以在系統(tǒng)上注冊為騎手,相比于校外的騎手,學生對于校園的路況更加熟悉,既提高了菜品的配送效率,又有效避免了外來陌生人員頻繁進出校園帶來的安全問題。同時,校園網(wǎng)上訂餐系統(tǒng)可以與高校達成合作,借助人工智能和自動化等技術,實現(xiàn)高度個性化和智能化。網(wǎng)上訂餐系統(tǒng)在在日常運行中產生了大量的用戶訂餐的信息,這些信息中隱含了大量的用戶消費習慣信息、用戶用餐習慣信息等傳統(tǒng)餐飲很難收集而又很需要的數(shù)據(jù)信息(FangSJ,2012)。利用大數(shù)據(jù)分析這些信息,對用戶需求進行更加精確的預測與推薦。利用無人駕駛車和無人家智能配送,為訂餐系統(tǒng)提供新的服務模式和發(fā)展思路,推動行業(yè)的創(chuàng)新和發(fā)展。1.3研究現(xiàn)狀O2O(OnlineToOffline),即“線上到線下”,最早由美國提出。自從2011引入中國后,越來越多的行業(yè)開始加入O2O行列(唐義杰,2023)。尤其是在餐飲行業(yè),我國巨大的餐飲消費市場,成為了當時互聯(lián)網(wǎng)企業(yè)的必爭之地。2013年前后,美團網(wǎng)推出美團外賣,BAT(百度,阿里巴巴,騰訊)等互聯(lián)網(wǎng)巨頭也紛紛入場,大量資本涌入互聯(lián)網(wǎng)訂餐市場,各大平臺用戶數(shù)量和消費單量飛速增長,行業(yè)進入高速增長期。2016年,隨著德國的外賣超人暫時退出中國市場,美團外賣、餓了么和百度外賣占領了大部分市場份額。如今,美團和餓了么憑借巨大的市場份額成為了行業(yè)的領導者。經過十年的發(fā)展,我國的網(wǎng)上外賣用戶規(guī)模達5.21億,占網(wǎng)民整體的48.8%,餐飲外賣市場規(guī)模從2011年的21.68億人民幣,增長到2022年的1.1萬億人民幣,占領了全球外賣市場的半壁江山,覆蓋全國大部分社區(qū)、寫字樓和購物中心等。外賣行業(yè)市場規(guī)模持續(xù)擴大,外賣平臺拓展多項業(yè)務,幫助商家提升運營效率,進而推動餐飲行業(yè)數(shù)字化轉型(中國互聯(lián)網(wǎng)絡信息中心,2023)。但是,美團外賣等大型平臺也存在難以覆蓋的角落,例如高校、科技園區(qū)等。因此,許多小型外賣平臺不斷涌現(xiàn),通過差異化競爭策略,在市場中獲得一席之地。這些平臺專注于特定的地區(qū)或用戶,以滿足不同消費者的需求(王倩,2017)。1.4論文組織結構本文將通過七個章節(jié)介紹基于Web的校園網(wǎng)上訂餐系統(tǒng)的設計與實現(xiàn)過程,各章節(jié)的主要內容安排如下:第一章是前言,交代課題背景,選題目的和研究意義,分析了目前國內研究現(xiàn)狀。第二章是開發(fā)技術,說明了本系統(tǒng)的架構、開發(fā)工具和開發(fā)環(huán)境,然后介紹開發(fā)的語言和數(shù)據(jù)庫,以及使用的相關框架。第三章是需求分析,結合實際情況,對系統(tǒng)的功能、業(yè)務以及可行性進行分析。第四章是系統(tǒng)設計,根據(jù)需求分析,設計系統(tǒng)各個模塊和數(shù)據(jù)庫,包括數(shù)據(jù)庫表和表中的主鍵和外鍵,以及E-R圖等。第五章是系統(tǒng)實現(xiàn),介紹前臺用戶頁面和后臺管理頁面,詳細描述各個功能模塊如何實現(xiàn)。第六章是系統(tǒng)測試與運行,主要從用戶,商家,騎士和管理員四個角色分別對整個系統(tǒng)進行功能測試。第七章是總結與展望,對系統(tǒng)的開發(fā)過程進行總結,并提出可以改進的地方。

2開發(fā)技術2.1開發(fā)架構本系統(tǒng)結合實際情況,使用B/S架構,在這種架構下,用戶界面完全通過瀏覽器實現(xiàn),主要事務邏輯在服務器端實現(xiàn)(吳大剛等,2003)。B/S架構圖如圖1所示?,F(xiàn)在幾乎所有的網(wǎng)上訂餐平臺也都有自己的B/S架構系統(tǒng)(XueJW,2014)。圖1B/S架構體系2.2開發(fā)工具本系統(tǒng)前后端均使用IntelliJIDEA2020.1.3x64工具開發(fā)(下稱IDEA)。IDEA是一款功能強大的Java集成開發(fā)環(huán)境,廣受Java開發(fā)者的歡迎。在IDEA編譯器中,開發(fā)者只需輸入前幾個字母即可利用智能代碼補全功能,快速地完成語句的編寫,顯著地提升了編碼效率,實時的錯誤檢查和糾錯建議則可以幫助開發(fā)者及時發(fā)現(xiàn)漏洞。數(shù)據(jù)庫管理則使用了NavicatPremium15。這是一款功能全面的數(shù)據(jù)庫管理工具,支持多種數(shù)據(jù)庫系統(tǒng)。它具有強大的數(shù)據(jù)編輯和查詢功能,支持直接編輯表數(shù)據(jù),在后期進行系統(tǒng)測試時發(fā)揮了重要作用。2.3前端技術介紹2.3.1前端技術本系統(tǒng)前端使用了目前主流的HTML,CSS和JavaScript前端技術。HTML,即超文本標記,是一種用于創(chuàng)建網(wǎng)頁的標準標記語言。自1990年以來一直被用作萬維網(wǎng)的標準編程語言,是Web頁面的基礎。HTML的基本結構簡單,由head標簽和body標簽組成。HTML元素包括起始、內容和結束標簽,用于顯示內容并形成層次結構。通過合理的安排層次,我們可以將文本和圖片等內容在瀏覽器中正確地顯示出來,構成了整個頁面的基本結構。CSS,即層疊樣式表,主要用來描述HTML文檔樣式。CSS的主要作用是對界面進行美化和控制頁面布局。CSS不僅可以通過設置標簽的方式改變文字大小、背景顏色等樣式,還可以控制元素的位置是否居中、調整四周的邊距等屬性,從而達到對網(wǎng)頁元素的精確控制。CSS具有三大特性:繼承性,層疊性和優(yōu)先級。層疊性,當多個樣式定義對同一元素產生影響時,根據(jù)“就近原則”,決定哪個樣式對元素產生作用。這使得我們可以靈活地組合和覆蓋樣式,實現(xiàn)復雜的頁面效果。繼承性,是指子標簽會繼承父標簽的某些樣式,如文本顏色和字號,從而簡化了樣式定義,提高了代碼重用性。優(yōu)先級,則是用來解決當多個樣式規(guī)則同時作用于一個元素的規(guī)則,若選擇器相同,則按照層疊性執(zhí)行;若選擇器不同,則根據(jù)選擇器權重執(zhí)行。JavaScript,簡稱“JS”,是一種輕量級的編程語言。JavaScript通過監(jiān)聽用戶的點擊、滾動等行為,進行實時地響應,實現(xiàn)Web頁面的交互邏輯。例如,當用戶點擊“修改”按鈕,就觸發(fā)對應的update事件,改變頁面的內容。JJavaScript在動態(tài)內容的創(chuàng)建和刷新方面得到了廣泛應用。通過Ajax等技術,它能夠在不重新加載整個網(wǎng)頁的情況下,從服務器拉取更新數(shù)據(jù),并僅對網(wǎng)頁的特定部分進行刷新。這種能力使得Web應用能夠更加迅速地響應用戶的請求,提升了用戶體驗。2.3.2前端框架本系統(tǒng)前端使用了Vue.js框架,是一個輕量級的JavaScript框架。Vue.js是一個漸進式框架。該框架旨在更好地組織和簡化Web開發(fā)(Harper,2015)。漸進式框架的核心理念是漸進式開發(fā),即不需要在開發(fā)初期就構建整個框架,而是可以從簡單的視圖層開始,根據(jù)項目需求慢慢引入其他所需功能,例如狀態(tài)管理、路由跳轉等。相比于傳統(tǒng)框架的整體復雜性和高昂的學習成本,漸進式框架劃分的模塊更有利于開發(fā)者理解和掌握,同時也避免引入不必要的額外資源消耗。Vue.js充分利用了HTML的模板語法,使得開發(fā)者能夠用更為簡潔的方式描述視圖的狀態(tài)。在Vue中,HTML模板與JavaScript邏輯緊密結合,通過Vue的指令系統(tǒng),我們可以直接在模板中嵌入JavaScript表達式,實現(xiàn)數(shù)據(jù)的動態(tài)綁定和事件的監(jiān)聽。這種方式不僅使得代碼更加直觀易懂,也大大提高了開發(fā)效率。Vue.js的另一個特點是組件化開發(fā)。Vue.js采用獨立的、可復用組件來構建復雜的用戶界面,組件是Vue的基本構建塊,每個組件整合了HTML模板、JavaScript邏輯和CSS樣式。這種方式提高了代碼的可維護性和重用性,開發(fā)者能夠更加高效地組織和管理代碼。此外,Vue還提供了強大的組件通信機制,包括props、events等,組件之間進行數(shù)據(jù)傳遞和交互變得更加靈活。Vue.js還提供了豐富的指令,它們是Vue.js中最常用的特性。指令是以v-開頭的特殊屬性,用于在DOM元素上應用特殊的行為。指令在編譯過程中會被解析成JS代碼。通過合理地使用指令,開發(fā)者可以在不直接操作DOM的情況下,對DOM元素進行高效的更新和操作。例如v-for指令,用于遍歷數(shù)組或對象,并為數(shù)組或對象的每一個元素重復渲染一個模板,在本系統(tǒng)中,首頁的輪播圖正是使用了該指令進行渲染。通過使用v-for,開發(fā)者可以簡化渲染重復元素的代碼,提高應用的性能。2.4后端技術介紹2.4.1后端語言本系統(tǒng)后端使用了Java語言,Java憑借其強大的跨平臺性、穩(wěn)定性和豐富的生態(tài)系統(tǒng)和框架,被廣泛應用于各大網(wǎng)站后臺,在后端開發(fā)領域一直占據(jù)著重要地位。Java具有跨平臺性,這得益于其自帶的虛擬機。Java源代碼經編譯器處理后,生成平臺無關的字節(jié)碼,這些字節(jié)碼由Java虛擬機識別并執(zhí)行。因此,只要有Java虛擬機,Java程序就能在任何硬件和操作系統(tǒng)上運行。Java是面向對象的編程語言,支持類和對象的概念。開發(fā)者能夠賦予對象特定的屬性,并通過這些對象來構建復雜的應用程序。此外,Java還具備豐富的庫和框架,用于構建各種類型的應用程序,這些庫和框架經過了大量的實踐檢驗和優(yōu)化,,開發(fā)過程中可以直接利用這些現(xiàn)成的組件,提高了開發(fā)效率,縮短了開發(fā)周期。2.4.2后端框架本系統(tǒng)后端使用了SSM框架,SSM框架是指Spring+SpringMVC+MyBatis的組合,是JavaWeb項目開發(fā)的兩大主流框架Spring和MyBatis的整合。Spring是一個被廣泛使用的開源框架,以其功能強大、靈活的架構和高效的性能而著稱,是SSM框架的核心。Spring作為一個輕量級容器,管理對象的創(chuàng)建、配置和生命周期,核心在于控制反轉(IoC),通過依賴注入減少組件耦合。這免去了開發(fā)者手動創(chuàng)建和組裝對象的必要,由Spring容器代勞,從而簡化了代碼。其次,Spring框架提供了大量功能組件,在數(shù)據(jù)處理方面,Spring整合了多種數(shù)據(jù)訪問技術,它提供了一組統(tǒng)一的數(shù)據(jù)訪問模板和抽象層,同時支持多種數(shù)據(jù)庫連接方式,開發(fā)人員可以更輕松地進行數(shù)據(jù)庫操作,減少了與數(shù)據(jù)庫交互的復雜性。Spring框架具有良好的可擴展性和集成性,允許開發(fā)人員根據(jù)自己的需求選擇使用哪些組件,可以與其他框架和庫集成,使得Spring能夠靈活地適應各種復雜的場景和技術需求。SpringMVC是Spring框架的一個重要組成部分,它是基于MVC(Model-View-Controller)模式的輕量級Web開發(fā)框架。MVC模式是指將應用程序的邏輯分離成三個獨立的組件,模型(Model),視圖(View)和控制器(Controller),其大致工作流程如圖2所示。圖2MVC大致工作流程SpringMVC的核心思想是將系統(tǒng)分為三層,分別是視圖層、控制層以及模型層(邱紫韻,2017)。Controller(控制層)是協(xié)調者,接受來自用戶的請求,調用View和Model的相關方法處理業(yè)務邏輯以便完成用戶的需求(張屹峰,2021)。Model(模型層)用于處理應用程序數(shù)據(jù)邏輯的部分,直接訪問和操作數(shù)據(jù),而View(視圖層)則負責接收并顯示Model提供的數(shù)據(jù)以及接收用戶的輸入,并且響應事件,Model更新后及時將更新反饋給用戶(于春娜,2014)。用戶通過視圖進行交互,發(fā)送請求到服務器,在服務器中請求被控制器接收,控制器根據(jù)請求選擇對應的模型進行處理,控制器再根據(jù)模型的處理結果找到相應的視圖,讓用戶從視圖層中獲得系統(tǒng)產生的結果(XieZ,2014)。SpringMVC提供了一個核心組件,前端控制器DispatcherServlet(下稱Servlet),所有的用戶請求都會被Servlet攔截,根據(jù)請求的不同,將請求發(fā)送到相應的控制器進行處理。這種機制使開發(fā)者可以靈活地配置請求映射,根據(jù)不同的請求參數(shù)或URL調用不同的Controller方法。SpringMVC還提供了豐富的配置選項,開發(fā)人員可以通過XML或注解的方式,靈活地自定義控制器、攔截器等組件,以滿足特定的業(yè)務需求,為開發(fā)人員提供了極大的便利。Mybatis是一個輕量級的半自動化持久層框架,因其出色的性能和較低的學習門檻,在JavaWeb開發(fā)中廣受歡迎。MyBatis具有極高的靈活性。它支持多種配置方式,允許開發(fā)者根據(jù)需求自定義SQL語句、參數(shù)類型以及返回類型。Mybatis內部封裝了JDBC,使用JDBC提供的原生SQL接口,沒有封裝過多的抽象層,同時采用緩存機制和二級映射機制,提高了查詢性能,減少了對數(shù)據(jù)庫的訪問次數(shù),即使處理大量數(shù)據(jù)時也能夠保持較高的性能。開發(fā)人員可以通過XML文件來配置Java對象與數(shù)據(jù)庫表之間的映射關系。因此,只需在Mapper.XML中編寫SQL語句。MyBatis會根據(jù)配置信息自動生成SQL執(zhí)行代碼,以操作數(shù)據(jù)庫。此外,MyBatis支持動態(tài)SQL拼接,可根據(jù)不同條件生成相應SQL語句,提升了代碼的靈活性和可重用性。此外,MyBatis還支持多種數(shù)據(jù)庫,包括Oracle、MySQL、PostgreSQL等主流數(shù)據(jù)庫,滿足不同項目的需求。然而,MyBatis也有一些需要注意的缺點,MyBatis需要手動編寫SQL語句,尤其當字段多、關聯(lián)表多時,SQL語句較復雜,編寫工作量較大。這時候我們可以使用一些輔助工具,例如MyBatis-Plus,它為開發(fā)者提供了代碼生成器CodeGenerator,只需修改部分自定義內容即可根據(jù)數(shù)據(jù)庫表自動生成Entity、Mapper和Service層的代碼。在生成代碼的過程中,MyBatis-Plus會自動注入基本的CURD(Create、Update、Read、Delete),減輕了開發(fā)者手動編寫代碼的工作量,開發(fā)效率大幅提升。

3系統(tǒng)需求分析3.1現(xiàn)狀分析在中午和下午放學的用餐高峰,飯?zhí)美锬情L得一眼望不到邊的隊伍和取餐后找不到座位用餐的窘迫,成了不少大學生每天都要面對的難題。一個不需要排隊就能取餐,不需要四處尋找座位就能用餐的方式成為了大多數(shù)人的迫切需求。校園網(wǎng)上訂餐系統(tǒng)的開發(fā),為解決用餐難題提供了新的解決方式。一方面,計算機在高校的普及程度極高,基本是學生完成大學學業(yè)不可或缺的工具,另一方面,網(wǎng)上訂餐系統(tǒng)憑借靈活、便捷、選擇多樣等傳統(tǒng)食堂難以比擬的優(yōu)勢,更能滿足當代學生的飲食需求。學生只需在宿舍打開電腦,登錄訂餐系統(tǒng)下單,就可以等待餐品配送到宿舍,節(jié)省了不少時間和精力,可以更加專注于自己手頭的工作。同時,校園網(wǎng)上訂餐系統(tǒng)可以為勤工儉學的同學提供兼職的機會,學校方面也能對入駐的商家和騎手進行監(jiān)管,保障校內食品安全和師生的人生財產安全。3.2業(yè)務需求3.2.1前臺業(yè)務功能前臺業(yè)務主要是為用戶提供服務,本系統(tǒng)的前臺包含以下功能。(1)菜品推薦。在前臺首頁,一些商家的特色菜品、熱銷菜品或者限時優(yōu)惠的菜品會以輪播圖的形式呈現(xiàn)在用戶面前。菜品推薦一方面為一些“選擇困難癥”的用戶提供了選擇,精打細算的用戶也能快速得知菜品的優(yōu)惠信息,另一方面也能為商家的新菜品或者特色菜品提高了曝光率,促進商家銷售。(2)商家搜索。用戶只需輸入商家的名稱或者部分關鍵詞就能從入駐商家中,快速找到目標商家。商家搜索功能可以幫助用戶根據(jù)自己的飲食偏好快速找到特定的商家,比如喜歡吃辣的可以搜索“川菜”,少數(shù)民族用戶可以搜索“清真”等。(3)菜品搜索。用戶只需輸入想要菜品的關鍵詞就能從平臺上所有上架的菜品中,找到自己希望下單的菜品。用戶得到搜索結果后,可以貨比三家,選擇自己認為最合適的菜品進行下單。(4)待付款訂單。用戶下單菜品后不需要立刻支付,待付款訂單功能允許用戶暫時離開支付界面,在訂單詳情界面,檢查下單菜品的價格,填寫的配送地址是否準確無誤,再支付訂單。(5)個人中心。用戶在個人中心頁面可以修改自己的個人信息,查看自己的訂單,包括當前訂單的狀態(tài)以及歷史訂單記錄,以及對下單菜品進行評價和反饋,同時可以查看商家對評價的回復內容。3.2.2后臺業(yè)務功能后臺業(yè)務主要是為商家、騎手和管理員提供服務,本系統(tǒng)的后臺包含以下功能。(1)商家、騎手和用戶管理。商家管理主要用于對入駐的商家進行監(jiān)管,確保校園訂餐系統(tǒng)上商家的信譽和經營狀態(tài),對于違規(guī)違法的商家及時進行清退。騎手管理是對配送的騎手的進行管理,主要是審核注冊為騎手的人員,對于一些已經退出平臺的騎手賬號進行刪除,以防被有心之人利用。(2)菜品分類和菜品信息管理。菜品分類管理可以對菜品分類進行增刪改查,用戶通過菜品分類可以更快地篩選符合自己口味偏好的菜品,提高了點餐的效率。菜品信息管理則可以讓商家修改菜品信息、調整菜品上架與否等,管理員也可以將不符合規(guī)定的菜品進行刪除處理。(3)訂單管理。訂單管理功能是整個訂餐系統(tǒng)的核心,用戶和商家可以實時查看訂單的狀態(tài),商家在訂單管理頁面進行接單,查看顧客下單的菜品和備注需求,完成菜品制作后,商家選擇騎手進行配送,騎手將配送的餐品送達后可以在訂單管理頁面將訂單設置為“已送達”狀態(tài),用戶看到餐品已送達即可出門取餐。管理員可以查看所有訂單的詳細信息,以便管理員及時發(fā)現(xiàn)異常訂單并進行處理。(4)菜品評價和評價回復管理。用戶可以對下單的菜品進行打星和評價,菜品詳情頁面將展示用戶對所下單菜品的評分和評價,給所有希望下單該菜品的用戶提供參考。商家也可以通過用戶給出的評價對菜品進行針對性的改良。對于用戶和商家之間的誤會,商家可以使用評價回復進行及時的澄清和解釋。對于一些刷屏的低質量評價、惡意差評和態(tài)度惡劣的評價回復,管理員有權刪除這些造成不良影響的評價和評價回復,提高評價的質量,維護系統(tǒng)平臺的秩序。(5)美食推薦管理。管理員可以根據(jù)不同商家的要求,將商家提供的廣告圖或者菜品宣傳圖投放到首頁的美食推薦輪播圖處,所有進入首頁的游客和普通用戶都能看到輪播圖的內容。通過美食推薦管理功能,商家可以提高曝光度和點擊率,吸引潛在顧客或者希望嘗鮮的顧客,促進先關菜品的銷售。3.3功能需求3.3.1游客功能需求游客用戶是指尚未注冊賬號登錄的用戶,雖然他們的功能有所限制,但系統(tǒng)仍然會為他們提供一些較為基礎的功能,以確保良好的用戶體驗和吸引潛在用戶。他們可以直接進入校園網(wǎng)上訂餐系統(tǒng)的前臺,可以看到首頁的菜品推薦,搜索和瀏覽各個餐廳和菜品信息,也可以看到不同菜品的評價,但是由于游客沒有登錄,不能進行下單操作,因此也不能進行菜品評價。游客功能需求用例圖4如圖所示。圖4游客功能需求用例圖3.3.2用戶功能需求用戶是校園網(wǎng)上訂餐系統(tǒng)的核心群體,他們在系統(tǒng)里都要有獨一無二的識別碼,因此用戶必須經過注冊登錄才能擁有所有前臺功能的權限。用戶完成注冊后,可以前往個人中心,添加或修改自己的配送地址和聯(lián)系方式。用戶登錄后,除了可以和游客用戶一樣瀏覽菜品推薦、查看了和搜索餐廳和菜品信息外,還能下單自己想要的菜品。用戶進入菜品詳情頁面后,可以選擇下單數(shù)量,選擇支付類型,如果用戶有特殊的需求,如口味偏好或者不要餐具等,可以在備注說明。下單后,用戶不必立刻支付訂單,可以前臺首頁的右上角,點擊“待付款訂單”,在待支付訂單里查看訂單信息,檢查地址和聯(lián)系方式是否準確再支付訂單。用戶品嘗所點菜品后,有權對其評分和撰寫評價。這些評價內容可供商家及其他用戶查看,用戶也能看到商家對評價的回應。此外,用戶可在訂單查詢功能中,查閱當前訂單的狀態(tài)及歷史訂單詳情。用戶功能需求用例圖5如圖所示。圖5用戶功能需求用例圖3.3.3騎手功能需求騎手是校園網(wǎng)上訂餐系統(tǒng)的重要角色,是連接用戶和商家的橋梁。騎手負責將菜品從餐廳安全、準時地送達用戶手上或者指定的位置。騎手可以查看自己配送的訂單信息,在取餐時核對商家的餐品款式和數(shù)量是否與訂單一致,檢查無誤后開始進行配送。騎手將菜品送達后,騎手可以點擊“已送達”按鈕,用戶看到餐品送達即可前往取餐。騎手功能需求用例圖6如圖所示。圖6騎手功能需求用例圖3.3.4商家功能需求商家是校園網(wǎng)上訂餐系統(tǒng)的重要角色,負責根據(jù)訂單制作美味的菜肴以及將訂單分配給騎手。商家可以對自家的菜品進行管理,增加一些新推出的菜品,修改現(xiàn)有的菜品信息,如調整菜品所在的分類、修改單價等,也可以將一些時令菜品上架或者下架。商家可以查看用戶提交的訂單,并根據(jù)訂單制作對應款式和數(shù)量的菜品,制作完成后,點擊“配送”按鈕即可選擇騎手配送菜品。商家還能查看用戶對菜品的評分和評價,這些評價將有助于商家改進菜品,對于用戶的疑問或者不滿,商家可以通過回復評價的方式解釋緣由,減少商家和用戶之間不必要的誤會。商家功能需求用例圖7如圖所示。圖7商家功能需求用例圖3.3.5管理員功能需求管理員在校園網(wǎng)上訂餐系統(tǒng)中扮演者至關重要的角色,負責整個系統(tǒng)的平穩(wěn)運行和綜合管理。管理員擁有整個系統(tǒng)的最高權限,能夠查看和修改用戶及騎手的信息,以保證信息的準確性。管理員還需要對商家進行管理,對于信息填寫不完整或者有誤的商家,管理員可以修改相關信息。管理員有權審核商家的評價回復,對于一些態(tài)度惡劣、不愿解決問題的商家,以及資質不全或者違紀違法商家,管理員有權將其清出平臺并刪除商家賬號。管理員不僅可以更換首頁的菜品推薦圖,還需要對菜品分類進行適當?shù)恼{整和補充、刪除不符合規(guī)定的菜品等,讓用戶更加便捷、放心地使用訂餐系統(tǒng)。同時,管理員可以查看所有菜品訂單,如果發(fā)現(xiàn)一些不符合常理的異常訂單,管理員需要及時介入處理,保障平臺各方權益,維護系統(tǒng)正常運行。管理員功能需求用例圖8如圖所示。圖8管理員功能需求用例圖3.4系統(tǒng)可行性3.4.1技術可行性本系統(tǒng)的開發(fā)基于HTML、JavaScript和Java技術,目前主流的Web開發(fā)也是基于這些技術。本系統(tǒng)前端選擇的Vue.js框架和后端選擇的SSM框架,也是經過數(shù)年的發(fā)展最終得到大多數(shù)企業(yè)和開發(fā)者認可和使用的目前備受歡迎的框架技術,如今這些框架已經有著龐大的用戶群體和生態(tài)系統(tǒng)。數(shù)據(jù)庫方面選擇MySQL數(shù)據(jù)庫系統(tǒng),該系統(tǒng)的連接、配置等操作較為簡單,學習成本較低,可以滿足本系統(tǒng)對數(shù)據(jù)庫的要求。3.4.2經濟可行性本系統(tǒng)使用的前后端語言,如Java、HTML等均為免費的開源語言,數(shù)據(jù)庫MySQL同樣也是開源免費的數(shù)據(jù)庫系統(tǒng),所有人都可以免費的下載使用MySql數(shù)據(jù)庫系統(tǒng)進行使用(MysqlAB.,2006)。IDE使用的IDEA有免費版本提供,足以滿足本系統(tǒng)的開發(fā)需求。因此系統(tǒng)開發(fā)的成本較低,從經濟角度考量,是可行的。3.4.3社會可行性本系統(tǒng)的運行環(huán)境為一般瀏覽器,Java的跨平臺性使本系統(tǒng)可以無視計算機硬件和操作系統(tǒng)的差異,學生只需使用自己的計算機,使用任意一個瀏覽器打開校園網(wǎng)上訂餐系統(tǒng),即可完成下單操作。系統(tǒng)用戶的個人信息一般存儲在數(shù)據(jù)庫中,只有自己和超級管理員可見,可以有效保護使用者的隱私。同時,學??梢詫θ腭v平臺的商家和騎手進行監(jiān)管,在提升學生餐飲體驗的同時保障學生的食品安全。因此該系統(tǒng)具有社會可行性。

4系統(tǒng)設計4.1系統(tǒng)結構設計4.1.1系統(tǒng)架構設計本系統(tǒng)使用前后端分離的架構,后端負責數(shù)據(jù)和業(yè)務處理,前端負責展示和用戶交互。前后端分離的架構,不僅避免了傳統(tǒng)開發(fā)中,前后端緊密耦合導致“牽一發(fā)而動全身”的問題,而且使得開發(fā)過程中的測試更加方便。在實踐過程中,前后端分離架構常常與分層架構結合使用,兩者結合可以讓系統(tǒng)的耦合度降低,模塊化程度更高,可擴展性更強。本系統(tǒng)采用基于MVC設計模式的SpringMVC框架,形成模型層、視圖層和控制層的三層架構。模型層處理數(shù)據(jù)和業(yè)務邏輯,包括數(shù)據(jù)訪問層(DAO)和服務層(Service)??刂茖咏邮諡g覽器請求并調用模型層處理,而視圖層則負責將數(shù)據(jù)展示給用戶。本系統(tǒng)的分層架構圖如圖9所示。圖9系統(tǒng)分層架構圖4.1.2系統(tǒng)功能模塊設計本系統(tǒng)根據(jù)校園網(wǎng)上訂餐系統(tǒng)的實際需求,分為前臺和后臺兩大部分,前臺主要是為普通用戶提供商家搜索、菜品瀏覽和下單支付等服務。為了讓用戶可以快速上手本系統(tǒng),前臺的功能設計較為簡潔。前臺的功能模塊設計如圖10所示。圖10前臺功能模塊設計圖后臺主要是為騎手、商家和管理員提供服務和管理功能。根據(jù)身份的不同,可以進行的操作也不一樣。騎手只能修改配送訂單的狀態(tài),商家可以修改菜品的信息、對顧客的評價回復和選擇騎手配送菜品。管理員則可以對系統(tǒng)其他用戶進行管理,還能修改菜品分類,以及變更前臺首頁的菜品推薦圖。后臺的功能模塊設計如圖11所示。圖11后臺功能模塊設計圖4.2數(shù)據(jù)庫結構設計4.2.1系統(tǒng)E-R圖數(shù)據(jù)庫是系統(tǒng)的基石,系統(tǒng)的正常運行離不開數(shù)據(jù)庫的支持,校園網(wǎng)上訂餐系統(tǒng)的大部分操作都涉及到數(shù)據(jù)庫。本系統(tǒng)的數(shù)據(jù)以訂單為核心,圍繞著用戶、騎手、商家和管理員四個角色構建。其中,管理員主要對其他四個實體進行管理。商家、騎手、用戶和訂單構成網(wǎng)上訂餐系統(tǒng)的主體部分,四個實體之間存在錯綜復雜的聯(lián)系,因此,我們需要E-R圖來直觀地展示數(shù)據(jù)模型的結構和關系。本系統(tǒng)的主體E-R圖如圖12所示。圖12系統(tǒng)的主體E-R圖4.2.2數(shù)據(jù)庫表設計根據(jù)系統(tǒng)的總體設計思路,我們可以依照每個模塊的功能,設計出與之匹配的數(shù)據(jù)庫表,實現(xiàn)數(shù)據(jù)的有效管理。以下是本系統(tǒng)的核心數(shù)據(jù)表。(1)用戶信息表。用于記錄普通用戶的賬號信息,包括利用系統(tǒng)自動生成的唯一編號,以及賬號密碼和地址等。主要在注冊、登錄和修改個人信息時使用,具體表結構如表1所示。表1用戶信息表字段字段類型字段長度中文說明備注idint11用戶編號主鍵login_namevarchar255賬號passwordvarchar255密碼real_namevarchar255姓名cel_phonevarchar255聯(lián)系電話addressvarchar255地址(2)騎手信息表。用于記錄騎手的賬號信息,包括利用系統(tǒng)自動生成的唯一編號,以及賬號密碼、姓名和聯(lián)系電話等。主要在注冊、登錄和修改個人信息時使用,具體表結構如表2所示。表2騎手信息表字段字段類型字段長度中文說明備注idint11騎手編號主鍵login_namevarchar255賬號passwordvarchar255密碼real_namevarchar255姓名cel_phonevarchar255聯(lián)系電話(3)商家信息表。用于記錄商家的賬號信息,包括利用系統(tǒng)自動生成的唯一編號,以及商家名、門店照片和門店地址等。其中,門店照片的圖片文件存儲在服務器的項目目錄下,并配置了虛擬路徑指向該圖片,商家信息表中的門店照片字段存儲的是圖片的虛擬路徑,在需要獲取圖片文件資源時,再從數(shù)據(jù)庫表中訪問虛擬路徑,結合相對URL來找到圖片資源。主要在注冊、登錄和修改商家信息時使用,具體表結構如表3所示。表3商家信息表字段字段類型字段長度中文說明備注idint11商家編號主鍵login_namevarchar255商家名passwordvarchar255密碼shop_imgvarchar255門店照片real_namevarchar255聯(lián)系人cel_phonevarchar255聯(lián)系電話addressvarchar255門店地址(4)管理員信息表。用于記錄管理員的賬號信息,包括利用系統(tǒng)自動生成的唯一編號,以及賬號密碼。主要在登錄和修改個人信息時使用,具體表結構如表4所示。表4管理員信息表字段字段類型字段長度中文說明備注idint11管理員編號主鍵login_namevarchar255賬號passwordvarchar255密碼(5)菜品分類信息表。用于記錄菜品分類的信息,包括利用系統(tǒng)自動生成的唯一編號,以及分類名稱。主要在增改菜品分類和菜品信息增改時使用,具體表結構如表5所示。表5菜品分類信息表字段字段類型字段長度中文說明備注idint11分類編號主鍵type_namevarchar11菜品分類名(6)菜品信息表。用于記錄菜品的詳細信息,包括利用系統(tǒng)自動生成的唯一編號,以及菜品名稱、菜品圖片、菜品簡介和價格。其中,fid字段外聯(lián)菜品分類信息表,saler_id字段外聯(lián)商家信息表。主要在菜品搜索和菜品詳情展示時使用,具體表結構如表6所示。表6菜品信息表字段字段類型字段長度中文說明備注idint11菜品編號主鍵food_namevarchar255菜品名food_imgvarchar200菜品圖fidint11菜品分類外鍵food_pricedouble(10,2)價格food_introvarchar255菜品簡介food_detailvarchar600菜品詳情圖sale_numint11銷量is_upint11是否上架saler_idint11商家編號外鍵(7)收貨地址信息表。用于記錄收貨地址的信息,包括利用系統(tǒng)自動生成的唯一編號,以及收貨聯(lián)系人、聯(lián)系電話和收貨地址。其中,uid字段外聯(lián)用戶信息表。主要在菜品下單和查詢訂單時使用,具體表結構如表7所示。表7收貨地址信息表字段字段類型字段長度中文說明備注idint11地址編號主鍵real_namevarchar255姓名cel_phonevarchar255聯(lián)系電話addressvarchar255地址uidint11用戶編號外鍵(8)訂單信息表。用于記錄收貨地址的信息,包括利用系統(tǒng)自動生成的唯一編碼,以及訂單編號、收貨人、總金額、支付類型和訂單狀態(tài)等信息。其中,food_mid外聯(lián)菜品信息表,address_id字段外聯(lián)地址信息表,saler_id外聯(lián)商家信息表,qs_id外聯(lián)騎手信息表,uid外聯(lián)用戶信息表。該表是本系統(tǒng)最核心的數(shù)據(jù)表,主要在菜品下單、訂單支付、訂單配送、查詢訂單時使用,具體表結構如表8所示。表8訂單信息表字段字段類型字段長度中文說明備注idint11唯一編碼主鍵order_novarchar255訂單編號address_idint11地址編號外鍵real_namevarchar255收貨人cel_phonevarchar255聯(lián)系電話addressvarchar255地址uidint11用戶編號外鍵food_midint11菜品編號外鍵food_mfood_pricedouble(10,2)菜品價格order_numint11數(shù)量total_amountdouble(10,2)總金額pay_typeint11支付類型user_remarkvarchar255用戶備注order_statusint11訂單狀態(tài)saler_remarkvarchar255商家備注create_timevarchar255創(chuàng)建時間ps_timevarchar255配送時間sd_timevarchar255送達時間sc_timevarchar255確認收餐時間saler_idint11商家編號外鍵qs_idint11騎手編號外鍵(9)菜品評價信息表。用于記錄用戶對菜品的評價信息,包括利用系統(tǒng)自動生成的唯一編號,以及評價星級、評價內容和訂單編號。其中,uid字段外聯(lián)用戶信息表,food_id外聯(lián)菜品信息表,saler_id外聯(lián)商家信息表,order_id外聯(lián)訂單信息表。主要在用戶進行菜品評價和菜品詳情展示時使用,具體表結構如表9所示。表9菜品評價信息表字段字段類型字段長度中文說明備注idint11評價編號主鍵eval_starint11評價星級eval_contentvarchar255評價內容order_idint11訂單編號外鍵food_idint11菜品編號外鍵saler_idint11商家編號外鍵create_timevarchar255創(chuàng)建時間uidint11用戶編號外鍵(10)評價回復信息表。用于商家對評價的回復信息,包括利用系統(tǒng)自動生成的唯一編號,以及回復內容等。其中,saler_id字段外聯(lián)商家信息表,eval_id外聯(lián)評價信息表。主要在評價回復和菜品詳情展示時使用,具體表結構如表10所示。表10評價回復信息表字段字段類型字段長度中文說明備注idint11回復編號主鍵reply_contentvarchar255回復內容eval_idint11評價編號外鍵saler_idint11商家編號外鍵

5系統(tǒng)實現(xiàn)5.1系統(tǒng)登錄界面用戶在首頁點擊右上角的登錄按鈕,將跳轉至登錄界面。在此,用戶需輸入自己的登錄名和密碼,并選擇相應的身份以登錄系統(tǒng)。新用戶可通過點擊注冊按鈕轉向注冊頁面,填寫必要個人信息以完成注冊過程。用戶登錄系統(tǒng)的整個過程中,系統(tǒng)會把用戶輸入的登錄名、密碼和角色選擇等數(shù)據(jù)通過POST請求發(fā)送到服務器,由服務器檢查登錄名對應的密碼以及角色身份是否準確,如果數(shù)據(jù)準確,則按照不同角色身份跳轉到不同的頁面,如果信息有誤,則彈出報錯。登錄功能的實現(xiàn)流程如圖13所示。圖13登錄功能實現(xiàn)的流程5.2系統(tǒng)前臺5.2.1菜品推薦功能菜品推薦功能是通過輪播圖來實現(xiàn)。首先在頁面初始化時,從服務器響應的result對象中獲取需要輪播的圖片,并存儲在數(shù)組中。在渲染時,使用Vue.js的v-for指令遍歷數(shù)組里的對象,輪到某張圖片時,其對應的div會被設置為display:block,使其可見。當用戶點擊圖片時,會觸發(fā)一個跳轉事件,會跳轉到圖片對應的菜品詳情頁面。同時,在輪播圖的右側有一個箭頭,用戶點擊后會觸發(fā)播放下一張圖片的方法。如果用戶沒有點擊,系統(tǒng)的計時器會每隔5秒執(zhí)行一次方法,播放下一張圖片。菜品推薦功能的實現(xiàn)流程如圖14所示。圖14菜品推薦功能實現(xiàn)的流程5.2.2商家搜索和菜品搜索功能商家搜索和菜品搜索實現(xiàn)方式大致相同,此處以菜品搜索功能為例,描述系統(tǒng)如何實現(xiàn)菜品搜索功能。在搜索界面,用戶輸入菜品名稱或關鍵字后點擊“查詢”按鈕,這會觸發(fā)菜品查詢方法,并向服務器發(fā)送一個GET請求。服務器在接收到請求后,會將關鍵字嵌入到查詢語句中,在菜品信息表進行模糊查詢,并將查詢結果返回。收到服務器返回的結果后,頁面根據(jù)數(shù)據(jù)內容重新加載菜品信息,如果返回結果數(shù)量為0,則顯示“暫無菜品數(shù)據(jù)”。菜品搜索功能的實現(xiàn)流程如圖15所示。圖15菜品搜索功能實現(xiàn)的流程5.2.3菜品下單功能菜品下單功能是前臺的核心功能,主要由菜品詳情頁面和待支付訂單頁面組成。用戶在菜品詳情頁面看到心儀的菜品后,可以根據(jù)自己的需求選擇下單數(shù)量和支付的類型,如果在口味上有特殊要求或者有其他需求的可以輸入備注的文本框中。當用戶點擊“提交訂單”按鈕后,會觸發(fā)submitOrder方法,向服務器發(fā)送一個GET方法,服務器收到請求后,檢查數(shù)據(jù),若數(shù)據(jù)無誤后會創(chuàng)建一個新的訂單,并返回相應的數(shù)據(jù),若數(shù)據(jù)有誤則返回報錯信息。頁面收到響應的數(shù)據(jù)后,跳轉到待付款頁面。用戶在該頁面選擇收貨地址信息,確認訂單菜品和價格后,用戶點擊“提交訂單”按鈕,觸發(fā)submitData方法,該方法會檢查用戶是否填寫所有應填信息,如果是,則跳轉到支付頁面。在支付頁面進行掃碼付款,點擊“已支付”,系統(tǒng)會顯示“支付成功”,這時候收貨地址和聯(lián)系方式也會在訂單中更新,這時商家可以開始制作菜品。菜品下單功能的實現(xiàn)流程如圖16所示。圖16菜品下單功能實現(xiàn)的流程5.3系統(tǒng)后臺5.3.1個人信息修改功能用戶進入個人信息頁面時,系統(tǒng)會向服務器發(fā)送GET請求,服務器接收請求后返回用戶的信息。如果信息有誤需要更改,可以點擊左下方的修改按鈕,系統(tǒng)將跳轉至個人信息修改頁面。用戶完成信息修改并點擊“提交”按鈕后,系統(tǒng)將向服務器發(fā)送POST請求。服務器在接收該請求后,會修改相應的字段內容,從而實現(xiàn)個人信息的修改。在商家信息修改功能中,商家可以修改門店照片,這里使用了開源的Dropzone.js庫實現(xiàn)了圖片拖拽上傳功能和圖片預覽功能。個人信息修改功能的實現(xiàn)流程如圖17所示。圖17個人信息修改功能實現(xiàn)的流程5.3.2菜品管理功能菜品管理頁面會先向服務器發(fā)送GET請求,服務器根據(jù)用戶身份不同返回不同的數(shù)據(jù),最終菜品信息會以表格的形式展示在菜品管理頁面。商家可以新增、修改和刪除菜品,管理員只能刪除菜品。點擊“刪除”會觸發(fā)delete事件,系統(tǒng)向服務器發(fā)送GET請求,服務器接收到請求后,先在數(shù)據(jù)庫中執(zhí)行刪除操作,再返回修改后的數(shù)據(jù)到系統(tǒng)。點擊“修改”會觸發(fā)update事件,系統(tǒng)跳轉到菜品修改頁面,在修改頁面提交修改內容后,系統(tǒng)會向服務器發(fā)送POST請求,服務器接收到請求后,會修改相應的字段內容,從而實現(xiàn)菜品信息的修改。點擊“新增”則會觸發(fā)add事件,系統(tǒng)跳轉到菜品新增頁面,該頁面與修改頁面類似,但是所有文本框和圖片框均為空,提交新增菜品后,服務器會在菜品信息表新增菜品信息。菜品管理功能的實現(xiàn)流程如圖18所示圖18菜品管理功能實現(xiàn)的流程5.3.3菜品評價和評價回復功能用戶取餐后,可以對自己下單的菜品進行評分和評價。其中,評分功能添加了鼠標hover(懸停)事件,用戶可以將鼠標懸停在不同的星星上預覽不同的星級狀態(tài),當用戶移開鼠標則會恢復初始狀態(tài),只有用戶點擊對應的星星,才真正為菜品完成了打分。在打分的下方還有一個文本框,用于輸入菜品評價的內容。當用戶點擊“提交”后,系統(tǒng)會向服務器發(fā)送POST請求,服務器收到請求后,在菜品評價信息表中添加新的數(shù)據(jù),并返回評價成功信息。商家看到用戶的菜品評價后,可以在后臺點擊“回復評價”按鈕,系統(tǒng)跳轉至回復頁面,輸入回復內容,點擊“提交”,即可像評價一樣完成評價回復,評價回復也將會在菜品詳情頁展示。菜品評價和評價回復功能的實現(xiàn)流程如圖19所示。圖19菜品評價和評價回復功能實現(xiàn)流程5.3.4用戶管理功能管理員需要對商家、騎手和普通用戶進行管理,管理員可以進行新增、修改和刪除操作。點擊“修改”會觸發(fā)update事件,系統(tǒng)跳轉到用戶信息修改頁面。點擊“新增”或也會觸發(fā)類似的事件。用戶管理功能的具體實現(xiàn)邏輯與菜品管理類似,為避免贅述,此處不再展開。

6系統(tǒng)測試6.1測試環(huán)境系統(tǒng)測試的環(huán)境如表11所示。表11系統(tǒng)測試環(huán)境名稱環(huán)境參數(shù)CPUAMDRyzen94900H運行內存16.00GB操作系統(tǒng)Windows10家庭中文版瀏覽器Firefox瀏覽器6.1登錄測試登錄功能可通過前臺首頁右上角的“登錄”按鈕訪問,點擊后系統(tǒng)將跳轉至登錄頁面。無論是管理員、商家、騎手還是普通用戶,都需根據(jù)頁面的指示輸入登錄名和密碼,選擇適當?shù)慕巧?,然后點擊“登錄”。如果輸入錯誤的登錄名或者密碼會出現(xiàn)如圖20所示的報錯信息。忘記選擇登錄身份則會出現(xiàn)如圖21所示的報錯信息。圖20登錄密碼錯誤測試圖圖21登錄未選角色測試圖6.2菜品搜索測試用戶可以在菜品搜索框里輸入自己希望下單的菜品或者關鍵字,點擊查詢,即可查詢到相關的菜品信息。用戶也可以在菜品分類中選擇自己感興趣的菜品種類,如麻辣川菜等。大量的菜品通過搜索和分類后,只剩符合條件的菜品,使用戶可以更快做出選擇。菜品搜索功能如圖22所示圖22菜品搜索測試圖6.3提交訂單測試在菜品詳情頁面,用戶可選擇購買數(shù)量,并選擇微信或支付寶作為支付方式。用戶還可根據(jù)個人喜好填寫備注信息,然后點擊“提交訂單”按鈕。系統(tǒng)將隨即彈出一個確認窗口,詢問用戶是否確實要提交訂單,如圖23所示。點擊確定,系統(tǒng)會跳轉到訂單支付頁面。如果此時用戶不小心離開了支付頁面,可以系統(tǒng)前臺的右上角點擊“待付款訂單”按鈕重新進入支付頁面。進入支付頁面,用戶需要先選擇收貨地址和聯(lián)系方式,如圖24所示,并檢查訂單信息是否有誤,若信息有誤,則點擊刪除訂單。若信息無誤,用戶可以點擊支付,系統(tǒng)會彈出支付窗口。用戶完成支付后,系統(tǒng)提示支付成功,如圖25所示,至此,用戶下單完成。圖23提交訂單圖24選擇收貨地址圖25訂單支付成功6.4配送測試商家根據(jù)訂單制作完成后,可以在訂單管理頁面點擊“配送”,系統(tǒng)會跳轉到配送頁面,商家只需輸入商家備注,選擇配送騎手,點擊提交按鈕,如圖26所示,即可等待騎手前來取餐。系統(tǒng)會將訂單交給對應的騎手。騎手接單后,從餐廳取餐,根據(jù)用戶的地址和聯(lián)系方式將菜品送到指定位置,點擊“送達”按鈕,如圖27所示。用戶看到訂單送達后,前往取餐地址取餐,確認餐品與訂單無誤后,點擊“收餐”,如圖28所示,菜品配送到此完成。圖26商家選擇騎手配送菜品圖27騎手送達菜品圖28用戶收餐6.5菜品評價測試用戶品嘗菜品后,可以對自己下單的菜品進行評價,從訂單管理頁面,點擊評價,進入菜品評價頁面。選擇評價的星級(1-5星),輸入評價內容,點擊提交即可,如圖29所示。提交的評價會在菜品詳情頁面向所有人展示,如圖30所示。圖29用戶進行評價圖30菜品評價展示6.6系統(tǒng)管理功能測試系統(tǒng)的管理功能實現(xiàn)邏輯大同小異,因此這里以管理員管理系統(tǒng)其他用戶為例進行測試。如圖31所示,在管理頁面,管理員可以選擇管理用戶、騎手或商家。假設我們選擇“商家管理”,系統(tǒng)將跳轉商家管理頁面,如圖32所示,在這里可以查看所有商家的信息。若需修改某商家的信息,點擊“修改”按鈕,系統(tǒng)將打開商家信息修改頁面,如圖33所示,管理員在此可編輯商家的信息。修改完成后,點擊“提交”按鈕,系統(tǒng)將更新數(shù)據(jù),并彈窗顯示“修改成功”的提示。隨后,管理員可以看到商家名是剛剛修改后的名稱,如圖34所示。圖31選擇管理對象圖32選擇需要管理的對象圖33修改商家信息圖34修改完成

7總結與展望7.1總結本課題使用了目前主流的Vue.js前端技術、后端框架SSM以及MySQL數(shù)據(jù)庫,設計并實現(xiàn)了一個校園網(wǎng)上訂餐系統(tǒng)。系統(tǒng)基本實現(xiàn)了用戶注冊、網(wǎng)上訂餐,騎手送餐、評分和評價以及訂單管理等功能。系統(tǒng)為學生提供了一個便捷高效的網(wǎng)上訂餐平臺,有效地解決了當前高校

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論