基于Spring Boot的點餐系統(tǒng)設計與實現(xiàn)_第1頁
基于Spring Boot的點餐系統(tǒng)設計與實現(xiàn)_第2頁
基于Spring Boot的點餐系統(tǒng)設計與實現(xiàn)_第3頁
基于Spring Boot的點餐系統(tǒng)設計與實現(xiàn)_第4頁
基于Spring Boot的點餐系統(tǒng)設計與實現(xiàn)_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

[4]??梢哉f,點餐系統(tǒng)不僅是餐飲業(yè)效率革命的“催化劑”,更是連接消費者與商家的智能橋梁,正在重新定義“吃飯”這件事的體驗與價值。1.3論文的組織架構點餐系統(tǒng)的組織架構由七個章節(jié)構成,從這些章節(jié)中可以看出論文的主體架構。引言介紹了點餐系統(tǒng)的開發(fā)背景與研究現(xiàn)狀,隨著信息技術地發(fā)展和互聯(lián)網(wǎng)普及,餐飲行業(yè)對數(shù)字化的需求不斷增加,還分析了開發(fā)點餐系統(tǒng)的意義,指出該系統(tǒng)能有效提高工作效率,并改善用戶的就餐體驗。第2章系統(tǒng)關鍵技術描述了菜香閣點餐系統(tǒng)開發(fā)所使用的技術平臺與工具。同時,還介紹了開發(fā)和系統(tǒng)的運行環(huán)境。第3章系統(tǒng)需求分析。從技術、經(jīng)濟、操作三個方面介紹了系統(tǒng)的可行性,根據(jù)主要功能模塊進行了系統(tǒng)的總體說明,并且把功能模塊劃分用戶和管理員兩大部分且詳細地分析了各部分的功能。第4章系統(tǒng)設計。包括系統(tǒng)模塊結構、功能詳細設計和數(shù)據(jù)庫設計三個部分,系統(tǒng)模塊結構部分展示了各功能模塊的劃分。系統(tǒng)功能流程設計明確了系統(tǒng)的主要業(yè)務流程。數(shù)據(jù)庫設計部分詳細講解了數(shù)據(jù)庫的概念模型和邏輯模型設計。第5章系統(tǒng)實現(xiàn)。系統(tǒng)各個功能模塊的實現(xiàn)分為用戶功能和管理員功能,并給出了各功能的運行效果圖以及部分功能的關鍵代碼。第6章系統(tǒng)測試。介紹了系統(tǒng)測試的重要性還對系統(tǒng)的功能進行測試,并對系統(tǒng)所用到的測試前提和測試方法做了簡要的說明,給出了測試用例的結果和效果圖。第7章總結與展望。對點餐系統(tǒng)項目的開發(fā)歷程以及達成的成果給予了全面總結,也對未來點餐系統(tǒng)的改進方向作出了展望。第二章系統(tǒng)關鍵技術2.1點餐系統(tǒng)開發(fā)語言Java以其卓越的跨平臺適應性這一優(yōu)勢發(fā)展至今,已經(jīng)成為一門非常成熟且應用十分廣泛地面向對象編程語言。因為Java它獨特的JVM架構設計,讓不同開發(fā)者在不同環(huán)境下所編寫的代碼能夠被編譯成字節(jié)碼形式在相同的JVM上運行,從而保證了它在Windows、Linux等不同操作系統(tǒng)上的強大適應性,使其成為如今大部分企業(yè)進行系統(tǒng)開發(fā)的主流開發(fā)工具。2.2點餐系統(tǒng)使用的相關技術1.SpringBootSpringBoot是當前開發(fā)者所廣泛使用的主要后端開發(fā)框架之一,開發(fā)者通過自動配置機制可以極大程度的簡化了傳統(tǒng)Spring框架和SSM框架開發(fā)中十分繁瑣的XML文件配置流程,簡化開發(fā)人員的準備工作,讓他們能夠將精力集中于業(yè)務邏輯的實現(xiàn)上。同時SpringBoot還具有良好的兼容性與擴展性,它基本支持現(xiàn)如今市面中主流的各種技術框架,整合也十分簡單,通過自動配置文件即可實現(xiàn),大大提高了系統(tǒng)的開發(fā)效率和可維護性,為本系統(tǒng)提供了更加高效、穩(wěn)定的基礎架構支持。2.Logging日志管理在菜香閣點餐系統(tǒng)中引入了Logging日志管理技術來記錄系統(tǒng)運行期間所產生的各種信息,同時它和SpringBoot框架有著很好的兼容性再加上配置靈活和性能穩(wěn)定的特點,能更加契合中小型系統(tǒng)對日志管理的全部需求,該技術的引入能夠有效提高系統(tǒng)的可觀測性以及開發(fā)調試效率。在系統(tǒng)運行過程中,若出現(xiàn)用戶下單失敗、支付出現(xiàn)異常或者后臺接口請求出錯等問題,可借助日志信息快速的找到問題源頭,幫助開發(fā)者進行精準調試與運維處理。3.MySQL是一款擁有開源、高性能和跨平臺三大特性的數(shù)據(jù)庫管理系統(tǒng),在實際開發(fā)中被廣泛用于Web系統(tǒng)的開發(fā)。本系統(tǒng)運用MySQL數(shù)據(jù)庫技術進行系統(tǒng)數(shù)據(jù)持久化存儲,對菜單信息、訂單數(shù)據(jù)、用戶賬戶、庫存狀態(tài)等核心業(yè)務數(shù)據(jù)進行有效管理。當用戶在前端頁面提交請求后,本系統(tǒng)即可通過調用對應的服務層接口調用MySQL進行數(shù)據(jù)CRUD操作,保證系統(tǒng)的及時響應,提高數(shù)據(jù)一致性。2.3開發(fā)環(huán)境2.3.1系統(tǒng)開發(fā)環(huán)境1.后端開發(fā)環(huán)境JDK1.8、MySql8.0.25、Maven3.6.32.前端開發(fā)環(huán)境Node.JS14、HTML2.3.2系統(tǒng)運行環(huán)境Windos10、Centos72.4本章小結本章圍繞點餐系統(tǒng)的開發(fā)語言、開發(fā)過程中使用的主要的相關技術以及開發(fā)環(huán)境進行論述,主要從編程語言和采用的相關技術進行了詳細的說明,包括它們的特點以及選擇這些技術能為菜香閣點餐系統(tǒng)帶來的好處。

第三章系統(tǒng)需求分析系統(tǒng)需求分析是系統(tǒng)開發(fā)中至關重要的步驟,上一章對系統(tǒng)技術進行了簡要的說明,本章將從可行性分析、系統(tǒng)總體說明、系統(tǒng)功能模塊分析三個方面展開敘述點餐系統(tǒng)的需求分析。3.1可行性分析3.1.1技術可行性餐廳點餐系統(tǒng)后端采用的是SpringBoot整合MyBatis的框架進行開發(fā),前端選用Vue、HTML以及CSS等技術,這些技術在實際開發(fā)領域中都擁有著極其廣泛的應用基礎,可以對本系統(tǒng)提供高效、穩(wěn)定的技術支持。1.后端采用SpringBoot框架進行開發(fā),該框架在本系統(tǒng)中支撐了用戶注冊/登錄、菜品信息管理、訂單信息管理、評價回復等功能模塊的業(yè)務邏輯。采用Mybatis完成系統(tǒng)與數(shù)據(jù)庫之間的數(shù)據(jù)交互,比如用戶信息的增刪改查操作、訂單數(shù)據(jù)的寫入與查詢、菜品信息的增刪改查等數(shù)據(jù)交互操作,能夠極大的降低開發(fā)人員編寫操作數(shù)據(jù)庫代碼的工作量,同時提高系統(tǒng)與數(shù)據(jù)庫之間的交互效率。2.前端部分本系統(tǒng)采用的是Vue框架,實現(xiàn)了用戶注冊登錄、菜品瀏覽、在線下單、訂單狀態(tài)查詢、留言評價等一系列可視化操作,Vue的雙向綁定功能和組件化機制極大的提高了前端頁面開發(fā)的編寫效率,同時也提升了頁面響應速度,讓用戶體驗更加流暢。3.1.2經(jīng)濟可行性餐廳點餐管理系統(tǒng)采用的技術都是開源化的產品框架,對于技術方面的投入資本幾乎可以不計,靈活地選型開源技術可以避免掉在經(jīng)濟方面帶來的問題,極大地推進了項目的開發(fā)進度。3.1.3操作可行性從技術、市場需求等方面來看,信息化智能化已經(jīng)越來越普及,諸多餐飲行業(yè)店鋪都需要引入點餐系統(tǒng)迎合消費者需求,菜香閣餐廳點餐系統(tǒng)重點關注系統(tǒng)的穩(wěn)定性以及良好的用戶體驗,同時也兼顧創(chuàng)新和差異化服務,能夠在餐飲行業(yè)中取得一定的市場。3.2系統(tǒng)總體說明為了滿足用戶多樣化的需求,菜香閣點餐系統(tǒng)設有多種實用功能。用戶在網(wǎng)頁輸入網(wǎng)址后填寫對應賬號密碼進入系統(tǒng)首頁。系統(tǒng)首頁應該設置菜單欄幫助用戶迅速了解系統(tǒng)的大體功能并且可以設置輪播圖與推薦菜品吸引用戶注意,還應設有搜索功能方便用戶依據(jù)菜品名稱查找菜品。在菜品信息模塊中需要設置好所有菜品的詳細信息來提高菜品信息的透明度。為了方便用戶點餐需要設置購物車功能,如果用戶喜愛某道菜品就可以添加在購物車,在購物車中用戶可以選擇付款或者刪除菜品。為了方便用戶查看當前或歷史訂單系統(tǒng)應該設置訂單信息模塊。為了收集菜品味道的反饋系統(tǒng)需要設置餐品評價功能。3.3功能模塊分析3.3.1用戶功能模塊分析1.注冊登錄模塊注冊登錄模塊需要建立用戶身份認證體系完成用戶的信息校驗功能。本功能還應實現(xiàn)的是用戶基礎信息采集、注冊-登錄流程閉環(huán)和對應用戶的權限初始化,在開發(fā)中可以通過部署密碼加密存儲,驗證碼校驗,編寫自動跳轉邏輯且實現(xiàn)登錄狀態(tài)保持機制來實現(xiàn)這些功能,為系統(tǒng)的穩(wěn)定性和可靠性提供第一道保障。2.瀏覽首頁模塊瀏覽首頁模塊需要幫助用戶快速的了解系統(tǒng)有哪些具體功能,還需通過輪播圖和推薦菜品來吸引用戶,所以開發(fā)過程中需要通過輪播圖插件集成定時任務完成輪播圖的智能切換以及在數(shù)據(jù)庫中篩選銷量最高的一批菜品進入菜品推薦列表。3.系統(tǒng)公告模塊用戶獲取平臺信息的主要途徑,其需要通過時間倒序排列確保用戶第一時間獲取的是最新的消息。為了方便用戶查看所有公告,開發(fā)時可以通過排序功能返回公告查詢數(shù)據(jù),同時需要優(yōu)化公告欄的展示效果。4.個人信息管理模塊個人信息管理模塊需要保障用戶數(shù)據(jù)的完整性,此模塊需要能夠動態(tài)調取數(shù)據(jù)庫中的用戶數(shù)據(jù),修改時也需快速更新到數(shù)據(jù)庫中并且為了提高信息的有效性還要對用戶輸入的基本信息進行基礎的校驗。5.購物車管理模塊購物車需要幫助用戶更好地做出消費決策,提高用戶的購買效率。它還需要支持用戶跨頁面查看已選的菜品,并能修改菜品的數(shù)量或刪除不需要的菜品。同時,購物車還要能夠自動計算選中菜品的總價,方便用戶參考。6.訂單信息模塊訂單信息模塊需要讓用戶能夠清楚地看到從下單到完成的每個步驟,包括菜品名稱、價格和訂單狀態(tài)的實時更新,這樣可以減少用戶的咨詢。該模塊還應該能分析訂單數(shù)據(jù),主要是消費金額和點贊數(shù),這些數(shù)據(jù)有助于調整菜品定價和促銷策略。7.餐品評價模塊餐品評價模塊需要建立一個完整的用戶反饋與質量管理體系。用戶可以從口味、性價比等多個維度反饋用餐體驗,同時,為了保持相對健康和諧的環(huán)境,系統(tǒng)還需要通過人工審核來過濾敏感詞。8.在線交流模塊在線交流模塊負責用戶的菜品咨詢和服務反饋等實時互動,該模塊需要顯示消息發(fā)布人和回復人的名稱以及交流的時間以便用戶之間的互動。模塊還需通過人工審核過濾絕大部分的不良信息,營造一個友好的交流平臺。圖3-1用戶用例圖3.3.2管理員功能模塊分析1.注冊登錄模塊注冊和登錄是每個系統(tǒng)的重要部分,該模塊需要實現(xiàn)用戶的身份性校驗和訪問權限控制,它的作用主要包括驗證用戶輸入密碼一致性和使用正則表達式檢測用戶輸入信息的合法性以及驗證登錄用戶的信息與權限。在具體實現(xiàn)過程中本系統(tǒng)需要實現(xiàn)注冊-登錄功能的流程閉環(huán),讓用戶注冊完能夠直接跳轉到登錄頁面,還需要在用戶輸入錯誤信息時提供即時的反饋。2.系統(tǒng)公告管理模塊系統(tǒng)公告管理模塊要實現(xiàn)的主要功能是快速向用戶傳達平臺信息,確保重要通知能及時送達。管理員需要及時發(fā)布重要公告,包括平臺的經(jīng)營通知、促銷活動、尋物啟事等實用信息,并可以隨時修改或刪除公告。3.用戶信息管理模塊用戶信息管理模塊的主要功能是確保用戶數(shù)據(jù)完整性與合規(guī)性,此模塊應該包含分頁展示用戶信息、根據(jù)用戶信息查詢用戶、編輯用戶信息以及權限控制。在開發(fā)過程中可以通過使用分頁展示組件、模糊查詢功能、信息校驗機制來完成這些功能。4.會員信息管理模塊會員信息管理模塊需要以列表的形式展示會員個人信息,管理員可以查看會員的積分等級,為了確保賬號安全,管理員需要凍結異常會員賬號。本模塊需要實現(xiàn)數(shù)據(jù)的分頁加載和實時刷新,支持按不同的會員信息進行搜索,實現(xiàn)時需要配合響應式數(shù)據(jù)表格組件來完成。5.菜品管理模塊菜品管理模塊需要統(tǒng)一管理系統(tǒng)中的所有菜品,管理員可以對菜品信息進行增刪改查操作,為了方便用戶了解并購買菜品,管理員需要根據(jù)各地特色進行分類并完善信息。并且管理員可以隨時修改菜品信息。6.訂單管理模塊訂單管理模塊需要對訂單進行管控,保障從下單至取餐各環(huán)節(jié)狀態(tài)實時對應,本功能應該支持時間倒序排列歷史訂單、會員價計算以及訂單狀態(tài)變更的機制。并且在此模塊管理員可以看到所有的訂單信息并且能夠對這些訂單進行管理。7.餐品評價管理模塊管理員可以查看每個菜品的反饋情況,包括用戶評論和具體意見,并需要及時回應用戶的反饋以及處理負面評論。此模塊還可以幫助管理員了解顧客真實的用餐體驗,有效地改善菜品的質量。8.在線交流管理模塊管理員可以查看并回復每條交流信息包括留言人的姓名、內容和時間,同時管理員還需要審核留言內容并刪除不當言論,確保互動內容符合規(guī)范,維護平臺的健康環(huán)境。圖3-2管理員用例圖3.4本章小結本章包括可行性分析、系統(tǒng)總體說明及各功能模塊的分析??尚行苑治鰪募夹g、經(jīng)濟、操作三個方面進行了詳細的闡述。系統(tǒng)總體說明部分分析了系統(tǒng)的主要功能內容。功能模塊分析中分為用戶與管理員功能模塊并且分別詳細的闡述了各個功能的需求分析且繪制了相應的用例圖。

第四章系統(tǒng)設計在系統(tǒng)設計這一階段,上一章對系統(tǒng)需求分析進行了簡要的概述,為了更好地理解系統(tǒng),本章將重點從三個主要方面展開討論:系統(tǒng)的模塊結構、功能的詳細設計以及數(shù)據(jù)庫的設計。4.1系統(tǒng)模塊結構通過系統(tǒng)的功能需求分析,為了滿足用戶點餐的基本需求,系統(tǒng)應包括的主要功能有:管理員:系統(tǒng)公告管理、用戶信息管理、菜品管理和訂單信息管理等功能。用戶:瀏覽首頁、購物車管理、餐品評價管理和個人信息管理等功能。系統(tǒng)總體功能結構圖如圖4-1。圖4-1系統(tǒng)功能結構圖4.2系統(tǒng)功能詳細設計1.登錄注冊模塊設計登錄注冊功能的設計是搭建用戶身份認證的全流程框架,并完成用戶輸入信息的校驗和區(qū)分。登錄與注冊功能流程相仿,均為在對應界面輸入個人信息,接著系統(tǒng)會判斷用戶輸入信息的合法性,不合法會給出相應的提示,合法會進行下一步操作,登陸流程中會執(zhí)行數(shù)據(jù)庫查詢操作校驗用戶輸入的信息是否與存儲的信息相同,若相同則登錄成功流程結束,不同則給出失敗提示流程結束。注冊流程中會執(zhí)行數(shù)據(jù)庫插入操作,若插入失敗則給出失敗提示,流程結束,插入成功就給出成功提示,操作中止。具體流程如圖4-2。圖4-2系統(tǒng)登錄注冊流程圖2.訂單信息管理模塊設計訂單信息管理模塊主要作用是負責訂單生命周期的狀態(tài)流轉控制,訂單狀態(tài)逐步變化的,以完成一次訂單的完整流程為例,具體流程如下:用戶購買生成訂單后,初始狀態(tài)為待付款,用戶支付完成后會將狀態(tài)更改為已下單并同步至管理員端提醒商家接單,管理員在餐品準備完成后可將訂單狀態(tài)更改為已出餐并提醒用戶取餐,用戶取餐確認訂單之后,訂單狀態(tài)為已完成,至此一次完整的訂單流程結束,具體流程如圖4-3。圖4-3訂單管理流程圖3.個人信息管理模塊設計個人信息管理模塊主要是用戶對自身的基礎信息進行查詢以及修改的操作,當用戶要執(zhí)行修改操作時,系統(tǒng)先加載當前已經(jīng)存儲到數(shù)據(jù)庫中的信息并進入編輯界面,用戶填寫完成后系統(tǒng)會校驗輸入信息是否合法,若非法則提示對應信息不正確請重新輸入,校驗通過后系統(tǒng)會檢查數(shù)據(jù)庫連接狀態(tài),若服務異常則中斷操作并提示,服務正常時提交修改請求,執(zhí)行數(shù)據(jù)更新的操作,并顯示后端返回的信息,個人信息查詢功能與此流程類似。具體流程如圖4-4。圖4-4個人信息修改流程圖4.用戶信息管理模塊設計用戶信息管理模塊的核心流程設計包含用戶信息新增、修改、查詢、刪除等基礎功能,以信息修改功能為例,其具體流程如下:當用戶發(fā)起修改請求,系統(tǒng)會先加載當前信息并展示可編輯界面,之后系統(tǒng)會校驗用戶輸入內容的合法性,比如手機號位數(shù)、郵箱格式等,若檢測到非法輸入,系統(tǒng)會立即標記錯誤字段并提示修正。內容校驗后,系統(tǒng)會檢查后臺服務狀態(tài),若服務異常系統(tǒng)會中斷操作并提示,若服務正常系統(tǒng)會提交修改指令,執(zhí)行數(shù)據(jù)更新操作,若數(shù)據(jù)寫入成功界面會刷新并顯示操作成功的提示,若寫入失敗則返回操作失敗提示,信息新增與刪除操作與此邏輯相似,都要經(jīng)過輸入合法性校驗與服務狀態(tài)檢測的雙重驗證,保證操作流程的完整性與可控性。具體流程如圖4-5。圖4-5用戶信息修改流程圖5.會員信息管理模塊設計會員信息管理模塊以對會員權益與狀態(tài)的管理功能為主,包括會員的積分調整、會員等級變更以及對會員賬戶進行凍結操作,同時還需要能夠對會員信息進行增刪改查的操作,以凍結為例,核心流程如下:管理員進行凍結會員操作時,系統(tǒng)會先判斷該會員的狀態(tài)信息是否異常,若異常直接中斷操作并提示,正常則調用系統(tǒng)服務進行凍結操作,要先判斷數(shù)據(jù)庫連接是否正常,連接有誤或響應超時會中斷操作并提示異常,否則就執(zhí)行數(shù)據(jù)庫修改語句變更會員信息狀態(tài),返回執(zhí)行結果,操作終止。具體流程如圖4-6。圖4-6凍結會員流程圖6.菜品管理模塊設計菜品管理模塊應包括菜品新增、菜品信息更新以及狀態(tài)調整功能,整體流程與用戶管理功能設計流程相似。下面以菜品信息修改為例,其核心流程如下:當管理員發(fā)起修改操作時,系統(tǒng)會校驗輸入的菜品信息是否合法,若不合法則拒絕操作并給出輸入信息錯誤的提示,若合法則進入數(shù)據(jù)庫修改操作,系統(tǒng)先檢測數(shù)據(jù)庫服務連接狀態(tài),若數(shù)據(jù)庫響應異常則中斷流程并提示,服務正常則提交修改指令,更新菜品信息,界面反饋操作成功,菜品的新增與刪除流程類似。7.餐品評價模塊設計餐品評價流程的設計主要是指對可評價訂單的查詢以及評價的添加、修改、刪除等基礎操作,當用戶進行餐品評價時,系統(tǒng)會先從數(shù)據(jù)庫中查詢該用戶已完成的訂單,接著用戶發(fā)送新增請求后判斷請求中的信息是否合法,不合法返回相應的錯誤提示,合法就插入數(shù)據(jù)庫中完成新增,新增操作中止。4.3數(shù)據(jù)庫設計4.3.1數(shù)據(jù)庫概念模型設計在數(shù)據(jù)庫系統(tǒng)設計的整個過程中,最先要做的是構建實體關系圖,這個實體關系圖在數(shù)據(jù)庫設計領域扮演著核心工具的角色,它可以一種可視化的形式,清晰地呈現(xiàn)出數(shù)據(jù)實體之間的關聯(lián)結構,本次繪制的E-R圖把用戶、菜品以及訂單等關鍵實體相互之間的邏輯關系描繪了出來。系統(tǒng)E-R圖如圖4-7。圖4-7系統(tǒng)E-R圖4.3.2數(shù)據(jù)庫邏輯模型設計數(shù)據(jù)庫中各表通過外鍵建立以下關聯(lián)關系:訂單表通過用戶ID關聯(lián)用戶表主鍵,確保訂單歸屬有效用戶;會員表通過用戶ID關聯(lián)用戶表主鍵,保證會員信息對應有效用戶;訂單詳情表通過菜品ID關聯(lián)菜品表主鍵,確認每筆訂單詳情對應有效菜品。這些外鍵約束共同維護了數(shù)據(jù)的完整性和業(yè)務規(guī)則的一致性。1.用戶信息表該表的功能是存儲系統(tǒng)中所有的用戶信息,字段包括用戶id、用戶姓名、用戶密碼、用戶年齡、用戶性別、用戶號碼、地址、郵箱、身份證、余額、權限,其中用戶ID為主鍵。如表4-1所示。表4-1用戶信息表字段名類型長度是否主鍵注釋idbigint是IDnamevarchar255否姓名passwordvarchar255否密碼sexvarchar255否性別ageint255否年齡birthdayvarchar否生日phonevarchar255否手機號addressvarchar255否地址emailvarchar255否郵箱cardIdvarchar255否身份證accountdouble255否余額levelint10否權限等級2.在線交流表該表存儲系統(tǒng)所有的留言信息,字段包括留言ID、留言名稱、留言內容、留言時間、留言父ID。如表4-2所示。表4-2在線交流表字段名類型長度是否主鍵注釋idbigint是IDnamevarchar255否留言名稱contenttext否留言內容timevarchar255否留言時間parentIdbigint否父id3.會員信息表該表用于存儲系統(tǒng)中的會員信息,字段包括會員ID、用戶ID、創(chuàng)建時間、更新時間、總積分、總消費金額、會員等級,其中會員ID和用戶ID共同構成主鍵。如表4-3所示。表4-3會員信息表字段名類型長度是否主鍵注釋idbigint是會員IDuser_idbigint是用戶IDcreate_timedatetime否創(chuàng)建時間update_timedatetime否更新時間totalint否總積分accountdouble10否總消費金額levelint否會員等級4.菜品詳情表該表用于存儲系統(tǒng)中所有的菜品信息,字段包括菜品ID、菜品名稱、菜品描述、菜品價格、菜品折扣、菜品銷量、菜品點贊數(shù)、是否推薦、菜品庫存、所屬類別、菜品圖片ID,其中菜品ID是主鍵。如表4-4所示。表4-4菜品詳情表字段名類型長度是否主鍵注釋idbigint是菜品IDnamevarchar255否菜品名稱descriptionvarchar255否菜品描述pricedouble10否菜品價格discountdouble10否菜品折扣salesint否菜品銷量hotint否菜品點贊數(shù)recommendvarchar255否是否推薦countint否菜品庫存typeIdbigint否所屬類別fileIdsvarchar255否菜品圖片IDuserIdbigint否評價人ID5.管理員信息表該表用于存儲系統(tǒng)中所有的管理員信息,字段包括管理員ID、姓名、密碼、性別、年齡、手機號、地址、編號、郵箱、身份證、權限等級,其中管理員ID是主鍵。如表4-5所示。表4-5管理員信息表字段名類型長度是否主鍵注釋idbigint是管理員IDnamevarchar255否姓名passwordvarchar255否密碼sexvarchar255否性別ageint否年齡birthdayvarchar255否生日phonevarchar255否手機號addressvarchar255否地址codevarchar255否編號emailvarchar255否郵箱cardIdvarchar255否身份證levelint否權限等級6.訂單信息表該表用于存儲所有生成的訂單信息,字段包括訂單ID、總價格、所屬用戶、用戶等級、聯(lián)系地址、聯(lián)系電話、聯(lián)系人、創(chuàng)建時間、訂單狀態(tài)、用戶等級、會員價格、是否會員、取餐碼,其中訂單ID為主鍵。如表4-6所示。表4-6訂單信息表字段名類型長度是否主鍵注釋orderIdbigint是訂單IDtotalPricedouble否總價格userIdbigint10否所屬用戶levelint否用戶等級linkAddressvarchar255否聯(lián)系地址linkPhonevarchar255否聯(lián)系電話linkManvarchar20否聯(lián)系人createTimevarchar20否創(chuàng)建時間statusvarchar255否訂單狀態(tài)user_remmer_gradeint否用戶等級integralint否添加的積分remmer_pricedouble10否會員價格is_remmerchar1否是否會員,Y:是,N:否pickup_codevarchar10否取餐碼4.4本章小結本章主要介紹了以下內容:系統(tǒng)模塊結構部分展示了各功能模塊的劃分以及相互關系,并給出了功能模塊圖。系統(tǒng)功能詳細設計部分明確了系統(tǒng)的業(yè)務流程且繪制了相應的流程圖。數(shù)據(jù)庫設計部分詳細說明了數(shù)據(jù)庫的概念模型和邏輯模型設計還提供了系統(tǒng)E-R圖和相應的數(shù)據(jù)表。

第五章系統(tǒng)實現(xiàn)5.1用戶功能的實現(xiàn)5.1.1登錄注冊用戶通過前端登錄頁面輸入賬號密碼選擇角色并填寫驗證碼,點擊登錄按鈕。具體的操作效果如圖5-1所示。圖5-1用戶登錄界面用戶進入餐廳點餐系統(tǒng)的主頁,如若是新用戶沒有賬號就可以點擊注冊按鈕,按照頁面要求填寫姓名、密碼、確認密碼、性別和身份,填寫完成之后點擊注冊按鈕即可。具體的操作效果如圖5-2所示。圖5-2用戶注冊界面5.1.2瀏覽首頁用戶進入系統(tǒng)首頁后通過上方的功能欄可以對系統(tǒng)有一個大體的了解。首頁展示了系統(tǒng)的主要功能包括輪播圖、推薦菜品、系統(tǒng)公告、在線交流、菜品信息、購物車、訂單信息、餐品評價和個人信息。具體的操作效果如圖5-3所示。圖5-3瀏覽首頁界面5.1.3系統(tǒng)公告用戶點擊系統(tǒng)公告可查看當前的系統(tǒng)公告,也可在右方的公告列表里面選擇查看其他的公告。具體的操作效果如圖5-4所示。圖5-4系統(tǒng)公告界面5.1.4在線交流用戶通過在線交流界面可以合理的發(fā)表自己言論也可以看到他人交流的時間并可回復他人的留言。具體的操作效果如圖5-5所示。圖5-5在線交流界面5.1.5菜品信息在用戶登錄系統(tǒng)后點擊菜品信息就能夠看到所有的菜品,也可以點擊上方不同的菜品類別查看相應的菜品,還可以直接搜索菜品名稱。具體的操作效果如圖5-6所示。圖5-6菜品信息界面5.1.6查詢菜品用戶可以在搜索欄查詢菜品名稱,也可在菜品信息界面點擊菜品查看菜品的名稱、描述、價格和點贊數(shù)等信息。用戶可以選擇數(shù)量,還可以對菜品進行點贊,并查看其他用戶對該菜品的評價。確認選擇后點擊加入購物車即可。具體的操作效果如圖5-7所示。圖5-7查詢菜品界面5.1.7加入購物車用戶點擊菜品就可以看到其詳細信息,如果用戶喜歡該菜品,可以點擊加入購物車按鈕,在購物車中,用戶可以看到該菜品的價格數(shù)量和折扣信息,并且可以刪除不需要的菜品。確認無誤后就可以點擊提交訂單了。具體的操作效果如圖5-8所示。圖5-8加入購物車界面publicCartInfoadd(CartInfodetailInfo){

LonguserId=detailInfo.getUserId();

LonggoodsId=detailInfo.getGoodsId();

Exampleexample=newExample(CartInfo.class);

example.createCriteria()

.andEqualTo("userId",userId)

.andEqualTo("level",detailInfo.getLevel())

.andEqualTo("goodsId",goodsId);

List<CartInfo>infos=cartInfoDao.selectByExample(example);

if(CollectionUtil.isEmpty(infos)){

detailInfo.setCreateTime(DateUtil.formatDateTime(newDate()));

cartInfoDao.insertSelective(detailInfo);

}else{

CartInfocartInfo=infos.get(0);

cartInfo.setCount(cartInfo.getCount()+detailInfo.getCount());

cartInfoDao.updateByPrimaryKeySelective(cartInfo);}

returndetailInfo;}5.1.8訂單信息在訂單信息界面,用戶可以查看所有的訂單也可看到所選菜品的原價和會員價。用戶還可以取消訂單或刪除菜品,如果確認無誤后可以點擊付款按鈕,系統(tǒng)會自動從用戶余額中扣除相應金額,成功付款后訂單狀態(tài)會變成為待出餐,管理員收到訂單并且在做好菜品后點擊出餐,管理員和用戶會同時收到相同的取餐碼。用戶取餐后點擊確認按鈕訂單就會處于完成狀態(tài)。具體的操作效果如圖5-9所示。圖5-9訂單信息界面5.1.9餐品評價用戶可以點擊評價按鈕對購買過的餐品進行真實的評價,評價后狀態(tài)會從未評價變?yōu)橐言u價。具體的操作效果如圖5-10所示。圖5-10餐品評價界面5.1.10個人信息用戶可以查看個人基礎信息包括會員等級、積分、賬戶余額和消費金額等信息也可以修改個人信息以及充值賬戶余額,修改完成后點擊保存即可。具體的操作效果如圖5-11所示。圖5-11個人信息界面5.2管理員功能的實現(xiàn)5.2.1登錄管理員進入登錄頁面填寫賬號密碼選擇角色并輸入驗證碼,點擊登錄按鈕。具體的操作效果如圖5-11所示。圖5-12管理員登錄界面5.2.2后臺系統(tǒng)界面管理員成功登錄系統(tǒng)后,點擊進入后臺系統(tǒng)。系統(tǒng)的首界面是數(shù)據(jù)可視化中心顯示用戶總數(shù)、消費總金額、總銷量以及各類菜品銷量和銷售額的餅狀圖。管理員可以查看并管理所有的用戶、會員、菜品等信息。具體的操作效果如圖5-13所示。圖5-13后臺系統(tǒng)界面5.2.3用戶信息管理用戶信息管理包括管理員和用戶的個人信息管理。管理員可以在搜索欄查找用戶的基本信息,查看并修改用戶資料。管理員可以點擊新增按鈕添加用戶信息,點擊編輯按鈕修改用戶的個人信息,點擊刪除按鈕可以刪除用戶。具體的操作效果如圖5-14所示。圖5-14管理員信息界面管理員信息管理功能關鍵代碼節(jié)選如下:publicAdminInfoadd(AdminInfoadminInfo){

intcount=adminInfoDao.checkRepeat("name",adminInfo.getName(),null);

if(count>0){

thrownewCustomException("1001","用戶名\""+adminInfo.getName()+"\"已存在");}

if(StringUtils.isEmpty(adminInfo.getPassword())){

adminInfo.setPassword(SecureUtil.md5("123456"));

}else{

adminInfo.setPassword(SecureUtil.md5(adminInfo.getPassword()));}

adminInfoDao.insertSelective(adminInfo);

returnadminInfo;

}管理員可以查看用戶的個人信息、消費金額、積分、等級和會員狀態(tài)。消費金額決定會員的積分,由積分決定會員的等級。管理員也可在搜索欄查找用戶。具體的操作效果如圖5-15所示。圖5-15用戶信息界面5.2.4會員管理管理員在會員信息界面可以搜索會員用戶查看會員的姓名、積分、消費總金額、等級和狀態(tài)。管理員可修改會員等級、凍結會員用戶。具體的操作效果如圖5-15所示。圖5-16會員信息管理界面會員管理功能關鍵代碼節(jié)選如下:publicvoidupdate(UserInfoRemmeruserInfo){

UserInfoRemmeruserInfoRemmer=userInfoRemmerDao.selectByPrimaryKey(userInfo.getUserId());

if(userInfoRemmer==null){

userInfoRemmer=newUserInfoRemmer();userInfoRemmer.setRemmerGrade(userInfo.getRemmerGrade());

userInfoRemmer.setTotalAmount(0.00);

userInfoRemmer.setTotalIntegral(0);

userInfoRemmer.setStatus("0");

userInfoRemmer.setUpdTime(newDate());

userInfoRemmer.setCreTime(newDate());

userInfoRemmerDao.insertSelective(userInfo);

}else{

userInfoRemmer.setUpdTime(newDate());

userInfoRemmerDao.updateByPrimaryKeySelective(userInfo);}

}5.2.5菜品管理菜品管理包括菜品類別和詳情管理。管理員可以點擊某一類別,查看該類別中的所有的菜品。管理員可以點擊新增按鈕添加菜品類別名稱和介紹,點擊編輯按鈕可修改菜品類別名稱和介紹,也可以刪除菜品類別。具體的操作效果如圖5-17所示。圖5-17菜品類別界面菜品類別管理功能關鍵代碼節(jié)選如下:publicTypeInfoadd(TypeInfotypeInfo){

typeInfoDao.insertSelective(typeInfo);

returntypeInfo;}

publicvoiddelete(Longid){

typeInfoDao.deleteByPrimaryKey(id);}

publicvoidupdate(TypeInfotypeInfo){

typeInfoDao.updateByPrimaryKeySelective(typeInfo);}

publicTypeInfofindById(Longid){

returntypeInfoDao.selectByPrimaryKey(id);}

publicList<TypeInfo>findAll(){

returntypeInfoDao.selectAll();}

publicPageInfo<TypeInfo>findPage(IntegerpageNum,IntegerpageSize,Stringname){

PageHelper.startPage(pageNum,pageSize);

List<TypeInfo>all=typeInfoDao.findByName(name);

returnPageInfo.of(all);

}管理員可以直觀地查看菜品庫存、銷量和點贊數(shù)等信息也可點擊預覽查看菜品圖片,管理員可以在搜索欄中直接搜索菜品名稱查看其詳細信息,點擊新增按鈕添加菜品,也可點擊編輯按鈕修改菜品價格、折扣和菜品描述等信息,同時還可以上傳菜品圖片或刪除菜品。具體的操作效果如圖5-18所示。圖5-18菜品詳情界面5.2.6訂單管理用戶成功付款后,管理員會收到訂單并查看用戶的具體訂單信息。根據(jù)訂單制作餐品,制作完成后點擊出餐按鈕,系統(tǒng)會自動生成取餐碼,同時用戶也會收到相同地取餐碼。管理員也可以刪除訂單信息。具體的操作效果如圖5-19所示。圖5-19訂單信息界面5.2.7用戶消費信息用戶消費信息包含用戶在系統(tǒng)中的所有消費信息,包含用戶姓名、手機號、消費次數(shù)、消費總額以及用戶余額等信息。消費信息表一旦生成管理員只可查看不可修改。具體的操作效果如圖5-20所示。圖5-20用戶消費信息界面5.3本章小結本章重點介紹了用戶和管理員功能的實現(xiàn),詳細說明了每個功能模塊的操作流程和實現(xiàn)方法,并展示了運行效果圖直觀地呈現(xiàn)出功能模塊在實際操作中的界面效果,還提供了部分功能程序的核心代碼。

第六章系統(tǒng)測試6.1系統(tǒng)測試的重要性系統(tǒng)的測試是對系統(tǒng)中存在的主要問題進行檢測,對每個功能點進行測試,把系統(tǒng)的整個流程運行下來,同時驗證系統(tǒng)流程的正確性。從需求的準確性來進行驗證,確保用戶的體驗是完善的,增強用戶滿意程度。6.2功能測試1、系統(tǒng)登錄功能測試測試前系統(tǒng)前后端服務均正常啟動,準備好測試賬戶,至少包含一組有效的用戶名、密碼、驗證碼,本次測試驗證用戶輸入不合法賬號、密碼及驗證碼能否完成身份認證,確保非法訪問可以被有效攔截,同時驗證系統(tǒng)對于異常輸入的處理機制。采用黑盒測試技術,結合等價類劃分與邊界值分析方法進行測試。由表和圖數(shù)據(jù)表明,登錄功能測試正確,能夠正常完成用戶的登錄信息校驗。測試用例如表6-1所示。表6-1登錄功能測試用例表序號測試功能輸入/動作預期結果實際結果是否符合預期1登錄功能輸入用戶的正確賬號,錯誤密碼提示賬號或密碼錯誤提示賬號或密碼錯誤是2登錄功能輸入用戶的賬號,不輸入密碼提示密碼為空提示請輸入密碼,是3登錄功能輸入正確的賬號和密碼進入系統(tǒng)首頁成功進入系統(tǒng)首頁是圖6-1登錄功能測試效果圖1圖6-2登錄功能測試效果圖22、個人信息修改功能測試測試前需要準備一個合法的測試用戶,此賬號具備登錄的權限,同時已存入基本的個人信息數(shù)據(jù),便于測試修改操作。用戶進入系統(tǒng),在個人中心頁面點擊修改信息按鈕,根據(jù)用戶的個人需求填寫不符合規(guī)范的信息,點擊確定按鈕提交修改。通過等價類劃分法構建有效/無效數(shù)據(jù)集,運用邊界值分析法檢測手機號長度。由表和圖數(shù)據(jù)表明,個人信息修改功能測試正確,能夠有效攔截用戶將個人信息修改為非法信息的請求。測試用例如表6-2所示。表6-2個人信息修改功能測試用例表序號測試功能輸入/動作預期結果實際結果是否符合預期1個人信息修改輸入手機號超過11位提示手機號錯誤提示請輸入正確的手機號是2個人信息修改修改信息后不輸入姓名提示name不能為空修改失敗,提示name不能為空是3個人信息修改完整地輸入正確的信息修改成功修改成功是圖6-3個人信息修改測試效果圖1圖6-4個人信息修改測試效果圖23、菜品新增功能測試測試前需要保證系統(tǒng)前后端服務正常運行,且數(shù)據(jù)庫中存在一定量不相同的初始菜品數(shù)據(jù)。系統(tǒng)已設置的菜品信息格式校驗機制正常運行。本測試使用黑盒測試,測試用例完全基于用戶視角。由表和圖中的數(shù)據(jù)表明,菜品新增功能測試正確,達到了預期目標,符合新增功能的基本要求。測試用例如表6-3所示。表6-3菜品新增功能測試用例表序號測試功能輸入/動作預期結果實際結果是否符合預期結果1新增功能輸入其他菜品信息,不輸入菜品名稱提示請輸入菜品名稱提示請輸入菜品名稱是2新增功能輸入其他菜品信息,不輸入菜品價格提示請輸入菜品價格提示請輸入有效的菜品價格是4新增功能輸入完整的菜品信息添加成功添加成功是圖6-5菜品新增功能測試效果圖1圖6-6菜品新增功能測試效果圖26.3本章小結本章系統(tǒng)性地闡述了系統(tǒng)測試工作的實施過程,對測試前提、功能及測試工具進行了概要說明,針對系統(tǒng)核心功能模塊設計了詳細的測試用例并通過表格形式呈現(xiàn)了測試數(shù)據(jù)結果同時配備測試效果圖。經(jīng)過此次功能測試驗證,系統(tǒng)各模塊的功能實現(xiàn)都達到了預期的要求。

第七章總結與展望7.1總結歷經(jīng)數(shù)月的努力,菜香閣餐廳點餐系統(tǒng)的開發(fā)設計工作已基本實現(xiàn)預期目標,該系統(tǒng)采用前后端分離架構,實現(xiàn)了餐廳點餐的基礎功能。系統(tǒng)包含管理員和用戶這兩類角色,管理員具有管理用戶信息以及菜品信息等多項功能,普通用戶則擁有點餐以及管理個人信息等多種功能。在菜品管理層面,管理員可以對菜品進行增刪改查操作,設置菜品的名稱、價格、圖片、庫存以及所屬分類,普通用戶可以瀏覽菜品列表,依據(jù)分類給予篩選,整體設計側重簡潔性,確保用戶能夠擁有良好用餐體驗以及系統(tǒng)操作的便捷性。在開發(fā)進程中我遇到了一些挑戰(zhàn),尤其是在系統(tǒng)規(guī)劃與代碼實現(xiàn)方面,由于初期規(guī)劃不夠周全導致編碼過程中出現(xiàn)了多次問題,在老師的指導下經(jīng)過反復修改與調整,我解決了這些問題最終完成了系統(tǒng)開發(fā)。通過這次的論文和設計,我的專業(yè)知識得到良好鞏固與提升,這一過程不但增強了我的實踐能力,還讓我為走向社會做好了充分準備。7.2展望隨著畢業(yè)論文和設計的完成,我的本科學習階段即將結束,馬上要開始開始人生的新階段。從最初的選題到最終取得的成果的,我遇到了很多的挑戰(zhàn)和困惑。雖然整個過程充滿了困難,但每天都能感覺到自己在進步。我深刻地認識到只有不斷地學習新知識和提高實踐能力,才能在未來的職場中解決更多的難題。這次完整的的研究經(jīng)歷為我的職業(yè)生涯打下了良好的的基礎,我相信當我在工未來作中遇到困難時,它會幫助我不斷探索前進的道路。在未來的日子里,我希望在專業(yè)領域能夠不斷成長并為社會貢獻自己的力量。

參考文獻張立華,王振宇.基于SpringBoot的智能招聘平臺設計與實現(xiàn)[J].信息技術與標準化,2023,:89-92.趙宇航.基于SpringSecurity的招聘系統(tǒng)權限管理模塊設計[J].網(wǎng)絡安全技術與應用,2023,18(6):67-70.黃思遠,林悅.高并發(fā)場景下招聘系統(tǒng)數(shù)據(jù)庫優(yōu)化策略[J].計算機科學與探索,2023,17(4):102-108.周濤,李娜.招聘系統(tǒng)中大數(shù)據(jù)分析模塊的Java實現(xiàn)[J].大數(shù)據(jù),2023,9(2):73-77.鄭浩然.招聘系統(tǒng)自動化測試框架設計與實現(xiàn)[J].軟件工程與應用,2023,12(9):45-49.李明,王芳.基于SpringCloud的在線招聘平臺微服務架構設計[J].計算機應用研究,2022,39(8):2001-2008.吳伶琳.基于SpringBoot的客戶關系管理系統(tǒng)設計與實現(xiàn)[J].無線互聯(lián)科技,2023,20(24):60-62.彭婷.基于SSM框架的客戶關系管理系統(tǒng)的設計與實現(xiàn)[J].信息與電腦(理論版),2022

溫馨提示

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

最新文檔

評論

0/150

提交評論