【《基于JAVA的點餐系統(tǒng)設(shè)計與實現(xiàn)》10000字】_第1頁
【《基于JAVA的點餐系統(tǒng)設(shè)計與實現(xiàn)》10000字】_第2頁
【《基于JAVA的點餐系統(tǒng)設(shè)計與實現(xiàn)》10000字】_第3頁
【《基于JAVA的點餐系統(tǒng)設(shè)計與實現(xiàn)》10000字】_第4頁
【《基于JAVA的點餐系統(tǒng)設(shè)計與實現(xiàn)》10000字】_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于JAVA的點餐系統(tǒng)設(shè)計與實現(xiàn)目錄TOC\o"1-3"\h\u161891引言 2189881.1課題背景與意義 2318181.1.1課題背景 2188451.1.2選題意義 2249141.2國內(nèi)外研究現(xiàn)狀 2233171.2.1國內(nèi)研究現(xiàn)狀 2110951.2.2國外研究現(xiàn)狀 3167401.3本課題研究的意義 3277581.4本課題的研究方法 4242342需求分析及項目方案 5156412.1需求分析 553362.1.1功能需求 5156602.1.2非功能需求分析 6234052.1.3系統(tǒng)可行性分析 623362.2項目方案 6153782.2.1項目特色 6119762.2.2Java語言 7135572.2.3MySQL數(shù)據(jù)庫 7175872.2.4SpringBoot框架 7140992.2.5開發(fā)環(huán)境與運行環(huán)境 886613系統(tǒng)設(shè)計 8265863.1系統(tǒng)框架設(shè)計 8243523.2系統(tǒng)功能模塊設(shè)計 9186253.2.1賬戶管理模塊 9233463.2.2商品列表模塊 9155693.2.3訂單管理模塊 9308003.3數(shù)據(jù)庫設(shè)計 9253893.3.1數(shù)據(jù)庫物理設(shè)計 9202823.3.2數(shù)據(jù)庫邏輯設(shè)計 10141043.3.3數(shù)據(jù)表設(shè)計 1096304系統(tǒng)實現(xiàn)及測試 15105194.1用戶登錄功能實現(xiàn)及測試 15115794.2用戶修改密碼功能實現(xiàn)及測試 16169174.3用戶增加商品到購物車功能實現(xiàn)及測試 18309534.4用戶下單功能實現(xiàn)及測試 18104205總結(jié)與展望 20161695.1總結(jié) 20251465.2展望 2032232參考文獻(xiàn) 201引言1.1課題背景與意義1.1.1課題背景隨著信息技術(shù)的進(jìn)步、經(jīng)濟(jì)的快速發(fā)展,國民消費習(xí)慣已經(jīng)養(yǎng)成。國民逐步養(yǎng)成線上下單,線下消費的習(xí)慣。在傳統(tǒng)的點餐過程中顧客需要查看店鋪的菜單,而商家為節(jié)約成本使用紙質(zhì)的菜單。紙質(zhì)菜單無法對店鋪菜品進(jìn)行全面的展示,也無法詳細(xì)地對菜品進(jìn)行說明。顧客只能通過菜品名稱對菜品進(jìn)行相關(guān)的了解或咨詢店鋪對應(yīng)的服務(wù)人員,服務(wù)人員需要將顧客指定菜品進(jìn)行下單操作,再由相關(guān)工作人員下單菜品移交給廚房負(fù)責(zé)人進(jìn)行分配制作。在傳統(tǒng)的點餐過程中涉及角色有顧客、服務(wù)人員、工作人員等,這樣的過程既繁瑣又容易出錯,若有一個環(huán)節(jié)出錯,則后面的環(huán)節(jié)都可能出錯。在近幾年中,外賣軟件的出現(xiàn)極大方便了顧客對餐飲的需求。點餐系統(tǒng)本著方便顧客的宗旨進(jìn)行設(shè)計與實現(xiàn),要求在點餐系統(tǒng)中做到優(yōu)化流程,減少出錯的主觀因素。1.1.2選題意義在本點餐系統(tǒng)中,我們既可以優(yōu)化點餐的過程又能避免一些錯誤的出現(xiàn)。該系統(tǒng)中涉及的角色分別是顧客和商家,顧客可直接在本系統(tǒng)中自由進(jìn)行菜品的下單,也可以對菜品有一個全面的認(rèn)識。在整個系統(tǒng)中減少了服務(wù)人員的工作流程,使得系統(tǒng)流程更加的清晰。整個流程顧客可以進(jìn)行簡單易懂的操作便可進(jìn)行點餐,管理人員的職責(zé)是更好的服務(wù)與用戶1.2國內(nèi)外研究現(xiàn)狀1.2.1國內(nèi)研究現(xiàn)狀隨著外賣平臺近些年的興起讓人們的用餐變得快捷和便利,唐永洋(2021)設(shè)計一個輕量、高效、經(jīng)濟(jì)的基于微信小程序的點餐系統(tǒng),該系統(tǒng)可以實現(xiàn)用戶點餐、商家菜單管理等功能,以此來滿足商戶和食堂的外賣需求[1]。

為了利用系統(tǒng)為用戶推薦不同的選項,為用戶辨別出滿足自我需求的商品,李昊(2020)設(shè)計出一個具有針對性的系統(tǒng),根據(jù)就餐人員數(shù)和菜品的不同信息為客戶推薦出分量適合且搭配均勻的一套菜品,結(jié)合餐飲行業(yè)中買家和賣家的需求,設(shè)計并實現(xiàn)了一個智能推薦點餐系統(tǒng)[2]。李淑華(2020)在微信基礎(chǔ)上實現(xiàn)一個針對于在校大學(xué)生的訂餐管理系統(tǒng)。根據(jù)微信官方文檔研究微信API,研究外賣系統(tǒng)的業(yè)務(wù)流程,并進(jìn)行代碼實現(xiàn)[3]?;阼F路12306互聯(lián)網(wǎng)訂餐平臺,分析高鐵的掃碼點餐的難點,給出可行的解決辦法,費漢明(2020)設(shè)計并實現(xiàn)了高鐵的掃碼點餐系統(tǒng)[4]。劉雨馨(2018)以Android點餐系統(tǒng)的設(shè)計與實現(xiàn)為探索的重點,充分運用文獻(xiàn)研究法與實證分析法對設(shè)計完美的Android點餐系統(tǒng)進(jìn)行細(xì)致的描述[5]。1.2.2國外研究現(xiàn)狀由于國外的IT行業(yè)發(fā)展歷史比較久遠(yuǎn),在點餐系統(tǒng)設(shè)計與實現(xiàn)方面會有著更多的經(jīng)驗,他們對于點餐系統(tǒng)的設(shè)計方法就更加的成熟,在某些方面會有他們自己獨到的見解是值得我們學(xué)習(xí)引用的。就餐飲業(yè)的信息進(jìn)程來說,國外比國內(nèi)更早的發(fā)展起來,從1970年左右起,國外就開始這方面的研究工作了,當(dāng)然也是一些比較簡單的過程,絕大部分都是將PC與外部設(shè)備連接,只能進(jìn)行基本的結(jié)賬功能[6]。在近代,國外的餐飲信息化技術(shù)已經(jīng)非常成熟,比如IBM的POS機已成功投用于各大商場。美國餐飲業(yè)消費者(特別是年輕人)特別喜歡通過網(wǎng)絡(luò)訂餐,通過點餐系統(tǒng),消費者有充足的時間查看餐館的菜單,并進(jìn)行對比,購買性價比最合適的食物。目前,大部分餐廳網(wǎng)絡(luò)銷售額已遠(yuǎn)高于店內(nèi)銷售額[7]。而且一部分國外公司的智能點餐系統(tǒng)開始不僅僅局限于進(jìn)行點餐服務(wù),還設(shè)計了觀影、娛樂等功能,給予客戶一個完整的就餐體驗服務(wù),讓客戶在用餐的同時,不會感到無聊[8]。LWarlina等(2018)通過與客戶直接訪談交流,建立了一個網(wǎng)絡(luò)食品安全訂購信息系統(tǒng),基于web的訂購系統(tǒng)大大方便了人們的生活[9]。SIndu等(2017)設(shè)計基于嵌入式技術(shù)的自動餐廳訂購系統(tǒng),管理者可以連接到用戶的pc端,通過該界面將數(shù)據(jù)保存至存儲數(shù)據(jù)庫中,適用于中小型餐廳,為顧客提供便利[10]。1.3本課題研究的意義點餐系統(tǒng)的出現(xiàn)無疑是為了方便人類的生活,使得人類在傳統(tǒng)的點餐過程中解脫出來。在傳統(tǒng)的點餐操作較為復(fù)雜,需要用戶查看紙質(zhì)版的菜單,而紙質(zhì)版的菜單不可因商品的改變而改變,當(dāng)?shù)赇佊行虏似沸枰霞軙r,店鋪需要花費一定的費用修改其菜單。在點餐系統(tǒng)中店鋪不再為了增加新商品為花費費用,只需要聯(lián)系相關(guān)管理人員或自行進(jìn)行商品的增加,需要管理人員添加商品對應(yīng)的相關(guān)信息即可。1.4本課題的研究方法本系統(tǒng)主要采用問卷調(diào)查的研究方法,本系統(tǒng)服務(wù)于大眾所以在功能的設(shè)計中應(yīng)與大眾的喜好和行為習(xí)慣保持一致,對于用戶的其他特殊要求,可根據(jù)具體的情況而分析。在管理人員的功能模塊中,應(yīng)提供盡可能多方便商家的功能。在系統(tǒng)的涉及兩個主體,一為用戶,二而管理人員,當(dāng)用戶的功能較為完善后,管理人員的功能較為完善后,整個系統(tǒng)的功能才能完善。

2需求分析及項目方案2.1需求分析2.1.1功能需求本系統(tǒng)主要涉及用戶端、管理員端。每一個端口涉及的功能都有所不同,例如用戶端涉及對商品進(jìn)行瀏覽、商品詳細(xì)信息的展示、商品下單操作和用戶購物車功能。而管理員可對菜品信息進(jìn)行增加、修改、刪除等操作[13]。用戶端需要實現(xiàn)的功能有:(1)用戶的注冊功能。在用戶注冊時,需要用戶提供賬戶相關(guān)信息進(jìn)行注冊,并且需要避免有同一賬戶進(jìn)行重復(fù)的注冊操作;(2)用戶的登錄功能。在用戶進(jìn)行登陸時,用戶使用已通過注冊的賬戶進(jìn)行登錄操作,若用戶輸入的相關(guān)信息有誤需要提示用戶重新輸入賬戶的相關(guān)信息,直到用戶輸入賬戶信息無誤后顯示登錄成功提示;(3)用戶對商品瀏覽功能。用戶登錄已注冊賬戶后,用戶來到系統(tǒng)首頁,而系統(tǒng)首頁對商品進(jìn)行瀏覽功能。商品列表顯示商品的詳細(xì)圖片、商品價格、商品名稱等相關(guān)信息。(4)用戶對商品的下單功能。當(dāng)用戶瀏覽到自己喜歡的商品時,用戶可將該商品加入購物車,在購物車中進(jìn)行提交訂單操作。管理員端需要實現(xiàn)的功能有:(1)訂單管理功能??蓪τ脩粲唵芜M(jìn)行查詢功能,可按照訂單的發(fā)布時間進(jìn)行排序查詢。可對訂單的相關(guān)信息進(jìn)行刪除和編輯操作,刪除訂單是指將整個訂單的相關(guān)菜品進(jìn)行刪除操作。編輯操作是指對訂單的相關(guān)信息進(jìn)行修改操作,整個訂單中的商品信息都可進(jìn)行修改操作。(2)商品信息管理功能??稍黾由唐贩诸愡M(jìn)行添加和查詢操作,也可以對商品的信息進(jìn)行增加和查詢功能。在商品的分類和商品的信息查詢中,管理人員可對應(yīng)的對商品的分類和商品的信息進(jìn)行編輯和刪除操作。(3)座位號管理功能。管理人員即可對商店中的作為進(jìn)行增刪改查操作,當(dāng)管理員需要增加座位時,管理人員對作為進(jìn)行增加操作。(4)用戶的注冊管理。可通過管理人員對用戶進(jìn)行賬戶的注冊,需要提供用戶的賬戶相關(guān)信息。例如用戶名、密碼、姓名、性別、手機號碼等。注冊用戶管理中可刪除和編輯用戶的相關(guān)信息。管理人員相當(dāng)于一個超級賬戶,可以其他所有用戶的信息進(jìn)行操作。(5)賬戶管理功能??稍黾庸芾砣藛T賬戶、也可修改管理人員賬戶相關(guān)信息,以及對當(dāng)前管理人員賬戶密碼進(jìn)行修改操作。圖2.1功能需求的用例圖2.1.2非功能需求分析系統(tǒng)中不止有功能需求,還有一些功能以外的需求。例如系統(tǒng)的功能布局上、系統(tǒng)的顏色主色調(diào)以及功能的使用是否簡便等。(1)在系統(tǒng)的功能布局上需要簡單明了,使得用戶和管理人員可以輕松快捷的找到所需要的功能。(2)在系統(tǒng)顏色上需要以柔和為主,不宜過度的渲染頁面顏色,給人一種賞心悅目的感覺,而不是紅紅火火的視覺感受。(3)系統(tǒng)的使用需要盡可能的簡便,為了提升用戶對系統(tǒng)的體驗感、以及日常生活和工作中能夠簡單操作便可達(dá)到系統(tǒng)開發(fā)時的目的。2.1.3系統(tǒng)可行性分析點餐系統(tǒng)整個技術(shù)可行性較高,可利用Java中的框架進(jìn)行搭建。涉及到的知識點和內(nèi)容并不是很多,流程相對比較簡單,對于技術(shù)上的實現(xiàn)相對較為簡單[4]。點餐系統(tǒng)對于經(jīng)濟(jì)可行性,因功能較為簡單,并且在系統(tǒng)的開發(fā)過程中不需要采購多余的設(shè)備,所以對于該系統(tǒng)的經(jīng)濟(jì)可行性較高。整個點餐系統(tǒng)需要開發(fā)人員對系統(tǒng)進(jìn)行開發(fā)和流程設(shè)計,對于設(shè)備而言只需要作為服務(wù)器的一臺普通電腦即可進(jìn)行相關(guān)的業(yè)務(wù)開展。2.2項目方案2.2.1項目特色(1)該點餐系統(tǒng)主要采用Java語言進(jìn)行開發(fā)與實現(xiàn),使用SpringBoot框架進(jìn)行開發(fā)和功能的是實現(xiàn)。SpringBoot有快速開發(fā)的特點,使得項目結(jié)構(gòu)更加的簡單和明了,方便技術(shù)人員對后續(xù)系統(tǒng)的升級和管理;(2)該點餐系統(tǒng)使用MySQL數(shù)據(jù)庫,使用MySQL數(shù)據(jù)庫有利于對數(shù)據(jù)進(jìn)行更好的管理和構(gòu)建良好的數(shù)據(jù)環(huán)境,MySQL作為關(guān)系型數(shù)據(jù)庫,支持多線程的處理數(shù)據(jù)和操作數(shù)據(jù);(3)該點餐系統(tǒng)與傳統(tǒng)的點餐流程相比,該點餐系統(tǒng)對于用戶和餐飲服務(wù)人員來說更加的簡便。不再像傳統(tǒng)的點餐流程需要點餐服務(wù)人員的參與,才能完成點餐的流程,該系統(tǒng)的產(chǎn)生簡化了整個點餐的流程。2.2.2Java語言Java語言具有三個特性,主要是繼承性、多態(tài)性、封裝性。Java中類只能進(jìn)行單繼承,而不能進(jìn)行多繼承,當(dāng)Java類中的子類繼承父類時,子類就會擁有父類中的非私有屬性。子類中不必對父類的非私有屬性進(jìn)行聲明和定義,子類的對象中便可以直接對其進(jìn)行使用[11]。Java的多態(tài)性是指當(dāng)Java聲明一個父類的時候,Java的實際指向可以是該父類的任意繼承類。使得在Java中可以更加靈活的對類進(jìn)行聲明和使用,子類也可以對父類的屬性進(jìn)行覆蓋,當(dāng)子類中需要使用到父類的屬性值,但對屬性的操作不同于父類操作,子類可以對父類中的屬性操作進(jìn)行覆蓋。Java的封裝性,在Java語言中,類中的屬性需要對于私有化,而私有化的屬性外界無法對其進(jìn)行設(shè)置值等其他操作。需要對屬性提供get方法和set方法,當(dāng)外界需要得到屬性的值,使用對應(yīng)屬性的get方法。若外界需要得到屬性的值時,外界可使用對應(yīng)屬性的set方法對其進(jìn)行設(shè)置值。Java的封裝性提升了Java語言的安全性,無法直接對屬性進(jìn)行相關(guān)的操作。2.2.3MySQL數(shù)據(jù)庫MySQL數(shù)據(jù)庫是使用多種語言進(jìn)行編寫和開發(fā)的,這保證了MySQL的可移植性。MySQL可以優(yōu)化SQL查詢語句使得查詢數(shù)據(jù)更快,MySQL還有其他的優(yōu)勢,比如體積小、速度快等[12]。MySQL的成本相對較低,對于個人使用MySQL不會對其進(jìn)行收費。MySQL的軟件安裝過程較為簡單,只需要在百度中搜索MySQL的安裝教程便會有對應(yīng)的教程可使用,按照安裝教程上的教程對MySQL進(jìn)行安裝,然后重啟電腦啟動MySQL對應(yīng)的服務(wù)便可使用數(shù)據(jù)庫??梢园惭b一個MySQL的可視化工具,例如使用Navicat對MySQL進(jìn)行可視化操作[13]。2.2.4SpringBoot框架SpringBoot框架中提供Spring容器,Spring的容器是將對象的創(chuàng)建控制權(quán)交給了容器而不再是開發(fā)者。當(dāng)用戶需要創(chuàng)建對象的時候,在對象名上打上一個標(biāo)簽便可以完成在傳統(tǒng)的代碼中new對象的操作。相對與Spring框架,SpringBoot框架不需要使用Xml配置文件進(jìn)行相關(guān)的配置,只需要在Maven項目中配置對應(yīng)jar包的配置和一個啟動類,便可以使用SpringBoot框架[14]。SpringBoot框架可以加快開發(fā)者對項目的開發(fā),它使得開發(fā)過程更加簡單。SpringBoot框架中內(nèi)置了Tomcat服務(wù)器,不需要用戶單獨對Tomcat進(jìn)行解壓和運行環(huán)境的配置便可對項目進(jìn)行運行[15]。2.2.5開發(fā)環(huán)境與運行環(huán)境1)開發(fā)環(huán)境項目的開發(fā)環(huán)境需要使用到j(luò)dk1.8,需要在開發(fā)的電腦中安裝jdk1.8。并且在電腦中配置jdk1.8的環(huán)境變量,使得開發(fā)人員可以使用cmd命令運行和編譯Java文件。MySQL軟件的安裝,將MySQL軟件安裝到系統(tǒng)默認(rèn)的安裝路徑下。在電腦屬性中找到服務(wù)選項,將MySQL的服務(wù)打開,若MysSQL服務(wù)的屬性為自動啟動,需要將其修改為手動啟動。當(dāng)需要使用MySQL數(shù)據(jù)庫的時候,需要開發(fā)人員手動開啟MySQL服務(wù)。2)運行環(huán)境因為項目中使用了SpringBoot框架,SpringBoot框架中有內(nèi)置的Tomact服務(wù)器,所以開發(fā)者不需要單獨配置Tomcat服務(wù)器。對應(yīng)開發(fā)者需要將Maven項目的相關(guān)環(huán)境進(jìn)行配置,比如在Maven項目中jar包庫是來自于對應(yīng)的哪一個路徑。否則項目無法配置對應(yīng)的jar包,而使得程序報錯。3系統(tǒng)設(shè)計3.1系統(tǒng)框架設(shè)計系統(tǒng)中涉及兩個主體分別為用戶和管理人員,首先用戶和管理人員都需要進(jìn)行登錄操作。用戶可通過系統(tǒng)進(jìn)行注冊操作,管理人員需要其他管理人員進(jìn)行添加賬戶。用戶登錄系統(tǒng)后用戶進(jìn)入系統(tǒng)首頁,在系統(tǒng)首頁中用戶可以查看商品列表,也可以通過商品的分類信息查看。在商品列表中進(jìn)入商品詳情頁面,在商品詳情頁面中用戶可提交訂單,點餐流程結(jié)束。在管理人員模塊中,管理人員操作的對象有座位、商品、訂單和管理人員賬戶信息。管理人員可對座位、商品、訂單和管理人員賬戶進(jìn)行增加、刪除、修改、查詢等操作。如下圖3.1所示:圖3.1系統(tǒng)流程圖3.2系統(tǒng)功能模塊設(shè)計3.2.1賬戶管理模塊賬戶的管理模塊一共分為兩類,一是用戶賬戶管理模塊,二是管理員賬戶模塊。賬戶的創(chuàng)建流程有所不同,詳細(xì)流程如下所示:用戶可通過頁面進(jìn)行賬戶的注冊操作,需要用戶提供用戶名、密碼、用戶姓名、性別、手機號碼、郵箱和身份證相關(guān)信息進(jìn)行注冊操作。用戶可對當(dāng)前賬戶進(jìn)行修改密碼和修改個人信息操作,用戶可對當(dāng)前賬戶進(jìn)行注銷操作。管理人員的賬戶創(chuàng)建需要另一位管理人員協(xié)助注冊,管理人員的賬戶不可直接進(jìn)行注冊。應(yīng)向另一位管理人員提出申請,另一位管理人員登錄賬戶后進(jìn)行添加賬戶的操作。當(dāng)注冊了管理人員賬戶后,管理人員可對賬戶的相關(guān)信息進(jìn)行修改操作。3.2.2商品列表模塊當(dāng)用戶登錄賬戶后,用戶可見商品列表。在商品列表中,用戶可見商品的分類列表和商品的信息列表。當(dāng)用戶需要通過商品分類來查看商品列表時,商品的信息中一定會包含商品的分類信息。商品列表中需要顯示商品的詳情圖片、商品名稱和商品的價格。若用戶需要查看商品的詳細(xì)信息,應(yīng)該將對商品進(jìn)行點擊操作。在商品詳情頁面應(yīng)對商品進(jìn)行詳細(xì)的描述,比如商品的來源、制作商品的靈感來源,有關(guān)于商品的相關(guān)故事等相關(guān)信息。在商品詳情頁用戶可進(jìn)行備注下單,當(dāng)用戶不宜吃辣,可在商品的詳細(xì)頁面中備注不要辣椒等信息。3.2.3訂單管理模塊用戶使用用戶賬戶和密碼進(jìn)行登錄操作,當(dāng)用戶登陸后可自行選擇自己喜歡的食物,并且將自己喜歡的食物加入到購物車中。當(dāng)用戶選擇完成自己喜歡的食物后,用戶可點擊“我的購物車”,并對我的購物車進(jìn)行結(jié)算和下單操作。當(dāng)用戶發(fā)現(xiàn)自己有下單錯誤的商品時候,用戶可對其訂單內(nèi)容相關(guān)信息進(jìn)行修改操作。若用戶發(fā)現(xiàn)在訂單中遺漏的商品時候,可對其訂單內(nèi)容進(jìn)行增加操作。管理人員在系統(tǒng)中可接收到用戶提交的訂單,當(dāng)用戶需要管理人員對訂單內(nèi)容進(jìn)行修改的時候,管理人員亦可以對訂單的相關(guān)內(nèi)容進(jìn)行增加、刪除、查詢、修改操作。3.3數(shù)據(jù)庫設(shè)計3.3.1數(shù)據(jù)庫物理設(shè)計在該系統(tǒng)中數(shù)據(jù)庫中的表與表之間的關(guān)系是關(guān)系型數(shù)據(jù),所以在數(shù)據(jù)庫的選擇中可選擇MySQL和Orcal。對于MySQL和Orcal在時間效率、空間效率上等性能上比較后,最終選擇MySQL數(shù)據(jù)庫作為數(shù)據(jù)的存儲。在MySQL數(shù)據(jù)庫中創(chuàng)建對應(yīng)的數(shù)據(jù)庫進(jìn)行使用,數(shù)據(jù)庫名稱為“jspm05206dcxt”,其他設(shè)置為系統(tǒng)默認(rèn)設(shè)置即可。3.3.2數(shù)據(jù)庫邏輯設(shè)計在點餐系統(tǒng)中總共需要八張表進(jìn)行存儲數(shù)據(jù),分別為管理員賬戶表、用戶賬戶表、商品信息表、商品分類表、購物車表、訂單_訂單內(nèi)容表、訂單表和座位表。管理員賬戶表和用戶賬戶表主要用于存儲管理員和用戶的賬戶信息,例如管理員和用戶的賬號、密碼等相關(guān)信息。當(dāng)用戶和管理員進(jìn)行登錄的時候便可以在對應(yīng)的表中進(jìn)行查詢操作。如表3.1所示:表3.1數(shù)據(jù)庫設(shè)計表序號表名中文名稱含義1admins管理員表記錄管理員信息2yonghu用戶表記錄用戶信息3shangpinxinxi商品信息記錄商品信息4shangpinfenlei商品分類記錄商品分類信息5gouwuche購物車記錄購物車信息6dingdan_dingdanneirong訂單_訂單內(nèi)容記錄訂單內(nèi)容信息7dingdan訂單記錄訂單信息8zuowei座位記錄座位信息3.3.3數(shù)據(jù)表設(shè)計數(shù)據(jù)庫中數(shù)據(jù)表主要有管理員戶表、用戶賬戶表、商品信息表、商品分類表、購物車表、訂單_訂單內(nèi)容表、訂單表和座位表。利用前端數(shù)據(jù)與后端數(shù)據(jù)進(jìn)行交互而形成完整的點餐過程,因為整個過程較為簡單,所以涉及到需要存儲的內(nèi)容較少。利用MySQL的可視化工具,需要將以上八張表進(jìn)行創(chuàng)建:首先需要創(chuàng)建一個數(shù)據(jù)庫名稱為jspm05206dcxt,在jspm05206dcxt數(shù)據(jù)庫中創(chuàng)建表,其中表中的列名稱和列類型具體信息如下所示:(1)管理員表(admins)在admins表中共含有四列,分別是id、username、pwd、addtime。其中id是admins表的主鍵,且不可為空。username記錄的是管理賬戶的賬戶名稱信息,username是admins表中的普通列。pwd記錄的是管理賬戶的賬戶密碼信息,當(dāng)管理員進(jìn)行登錄操作的時候,需要輸入的賬戶名稱和賬戶密碼都是正確的便可登錄。addtime記錄的是賬戶的創(chuàng)建時間,當(dāng)管理人員添加賬戶的時候,需要系統(tǒng)自動獲取當(dāng)前時間并設(shè)置到admins表中。如表3.2所示:表3.2管理員表名類型長度允許空值名稱idint11否IDusernamevarchar225否賬戶名稱pwdvarchar225否賬戶密碼addtimetimestamp否添加時間(2)用戶表在用戶表中用戶需要id作為主鍵記錄用戶賬戶的相關(guān)信息,yonghuming作為記錄賬戶名稱,mima作為記錄賬戶密碼的相關(guān)信息。當(dāng)用戶登錄用戶密碼時需要賬戶名稱和賬戶密碼同時正確才能進(jìn)行登錄操作,若賬戶名稱或賬戶密碼有一方不正確都不可以進(jìn)行登錄操作。在用戶注冊時需要用戶填入用戶的真實姓名、用戶性別、用戶手機號、用戶郵箱、用戶身份證等相關(guān)信息。這些信息用于記錄用戶的個人信息,當(dāng)用戶需要修改當(dāng)前賬戶的相關(guān)信息時,用戶可在個人中心對相關(guān)信息進(jìn)行修改。當(dāng)用戶注冊時系統(tǒng)會自動獲取當(dāng)前時間,使得前后端數(shù)據(jù)進(jìn)行交互。如表3.3所示:表3.3用戶表名類型長度允許空值名稱idint11否IDyonghumingvarchar225否用戶名稱mimavarchar225否用戶密碼xingmingvarchar225否姓名xingbievarchar225否性別shoujivarchar225否手機號youxiangvarchar225否郵箱shenfenzhengvarchar225否身份證addtimetimestamp否添加時間(3)商品信息表商品信息中需要記錄商品編號、商品名稱、商品圖片、商品分類、商品價格、商品銷量、是否推薦、商品詳情以及商品添加時間。在商品詳情頁面中需要顯示商品編號和商品詳情相關(guān)的信息。當(dāng)用戶對商品進(jìn)行下單的時候需要向后端傳遞商品的唯一鍵,商品的唯一鍵是商品的id。當(dāng)管理人員增加商品的時候,需要自動獲取當(dāng)前時間作為商品信息表中的添加時間。用戶可以根據(jù)分類對商品進(jìn)行挑選,而不需要挨個瀏覽商品的信息。用戶還可以根據(jù)商品的推薦信息進(jìn)行挑選,當(dāng)用戶對商品進(jìn)行一次下單,商品的銷量將會增加。商品信息表中的分類列是外鍵對應(yīng)的是商品分類表中的id的主鍵。如表3-4所示:表3.4商品信息表名類型長度允許空值名稱idint11否IDshangpinbianhaovarchar225否商品編號shangpinmingchengvarchar255否商品名稱shangpintupiantext否商品圖片fenleiint11否分類shangpinjiagedecimal18否商品價格xiaoliangint11否銷量tuijianvarchar255否商品推薦shangpinxiangqinglongtext否商品詳情addtimetimestamp否添加時間(4)商品分類表商品分類表中主要記錄商品的分類信息,主要用于商品的分類,當(dāng)用戶需要根據(jù)分類對商品的進(jìn)行挑選的時候,在系統(tǒng)的首頁中展示的是分類列表中的信息。分類的相關(guān)信息主要涉及到分類的id、分類的名稱、分類的添加時間。當(dāng)管理人員需要增加商品分類的時候,需要填寫分類的相關(guān)信息,例如分類的名稱,添加時間是由系統(tǒng)自動獲取傳遞給后臺進(jìn)行記錄。如表3.5所示:表3.5商品分類表名類型長度允許空值名稱idint11否IDfenleimingchengvarchar255否分類名稱addtimetimestamp否添加時間(5)購物車表在購物車中主要展示用戶在下單過程中用戶添加到購物車中的商品相關(guān)信息。需要展示商品的ID、商品名稱、商品價格、商品分類和商品購買數(shù)量等相關(guān)信息。用戶需要在商品列表中進(jìn)入到商品的詳情頁面,再通過商品詳情頁將商品添加到購物車中,在購物車中生成提交訂單便可以完成點餐的流程。購物車中ID作為主鍵、外鍵有商品ID、商品分類ID。使得在購物車中可對商品分類下進(jìn)行查看,可根據(jù)商品的ID查看商品的相關(guān)信息。如表3.6所示:表3.6購物車表名類型長度允許空值名稱idint11否IDshangpinxinxiidint11否商品IDshangpinbianhaovarchar225否商品編號shangpinmingchengvarchar255否商品名稱fenleiint11否分類shangpinjiagedecimal18否商品價格shangpintupiantext否商品圖片goumaishuliangint11否購買數(shù)量xiaojidecimal18否小計beizhutext否備注diancanrenvarchar225否點餐人addtimetimestamp否添加時間(6)訂單_訂單內(nèi)容表在訂單信息表中主要記錄的是訂單中主要包含的商品相關(guān)信息,例如商品編號、商品名稱、商品價格、商品購買數(shù)量、點餐人等相關(guān)信息。在用戶訂單頁面中需要詳細(xì)記錄這些訂單中的相關(guān)信息,當(dāng)用戶有對商品的特殊備注可在訂單頁面中進(jìn)行詳細(xì)顯示。訂單內(nèi)容表中的id列為主鍵并且不可為空,分類為外鍵與商品分類表中的分類id進(jìn)行關(guān)聯(lián),dingdanid為外鍵與訂單中的id鍵相關(guān)聯(lián)。如表3.7所示:表3.7訂單_訂單內(nèi)容表名類型長度允許空值名稱idint11否IDdingdanidint11否訂單IDshangpinxinxiidint11否商品信息IDshangpinmingchengvarchar225否商品名稱shangpinbianhaovarchar255否商品編號fenleiint11否分類shangpinjiagedecimal18否商品價格goumaishuliangint11否購買數(shù)量xiaojidecimal18否小計diancanrenvarchar225否點餐人beizhutext否備注addtimetimestamp否添加時間(7)訂單表訂單表主要包含訂單編號、訂單內(nèi)容、總額、座位號、用戶備注、點餐用戶、是否支付、添加時間等相關(guān)信息。用戶在系統(tǒng)首頁商品列表中挑選心儀的商品,當(dāng)心儀商品進(jìn)入到購物車后,用戶便可對購物車中的商品進(jìn)行下單操作,在用戶下單之后將會在訂單表中生成相關(guān)記錄。當(dāng)用戶就餐完畢后,系統(tǒng)會根據(jù)以上記錄的信息對用戶進(jìn)行收費。id為訂單表中的主鍵,不可重復(fù)也不可為空。zuowei是訂單表中的外鍵,主要與座位表中的id字段相關(guān)聯(lián)。如表3.8所示:表3.8訂單表名類型長度允許空值名稱idint11否IDdingdanbianhaovarchar225否訂單編號dingdanneirongtext否訂單內(nèi)容IDzongedecimal18否總額zuoweihaoint11否座位號beizhutext否備注diancanyonghuvarchar225否點餐用戶iszfvarchar225否是否支付addtimetimestamp否添加時間(8)座位表在座位表中,有id、座位號和田間時間相關(guān)信息。座位號可由管理員賬戶進(jìn)行添加、修改和刪除。當(dāng)管理員需要對座位進(jìn)行增加時,需要在管理中心進(jìn)行相關(guān)操作,在管理員賬戶對座位進(jìn)行增加后,系統(tǒng)將會生成一條記錄用于記錄這條信息。在該表中id作為主鍵,其它列為普通列。如表3.9所示:表3.9座位表名類型長度允許空值名稱idint11否IDzuoweihaovarchar225否座位號addtimetimestamp否添加時間4系統(tǒng)實現(xiàn)及測試4.1用戶登錄功能實現(xiàn)及測試在用戶登錄時,需要用戶輸入賬戶號、賬戶密碼、選擇對應(yīng)的權(quán)限和輸入驗證碼相關(guān)信息。首先輸入的賬戶和密碼都不可以為空,其次輸入的賬戶號和密碼信息必須都正確的情況下才能進(jìn)行登錄操作。權(quán)限無需選擇,選擇默認(rèn)權(quán)限即可。用戶在該頁面中還需要正確輸入驗證碼。在三個需要輸入的參數(shù)中,若有一個參數(shù)輸入錯誤需要用戶重新進(jìn)行輸入操作。如圖4.1所示:圖4.1用戶登錄頁面登錄功能實現(xiàn)的主要功能代碼:當(dāng)用戶輸入正確的賬戶號和密碼時,用戶將成功登錄點餐系統(tǒng)。在用戶登錄點餐系統(tǒng)時,將會有消息提示用戶以成功登錄系統(tǒng)。用戶登錄后可見商品列表,用戶可在點餐系統(tǒng)中進(jìn)行點餐相關(guān)操作。如圖4.2所示:圖4.2點餐系統(tǒng)首頁4.2用戶修改密碼功能實現(xiàn)及測試當(dāng)用戶需要對賬戶信息中的密碼進(jìn)行修改時,用戶需要進(jìn)入用戶個人中心,并點擊用戶修改密碼模塊。用戶需要輸入原密碼,若原密碼輸入有誤,用戶則不能對當(dāng)前密碼進(jìn)行修改,用戶需要聯(lián)系管理人員對用戶的密碼進(jìn)行重置。若用正確輸入原密碼則可自行進(jìn)行修改,再輸入新密碼以及確定密碼便可進(jìn)行修改操作。如圖4.3所示:圖4.3用戶修改頁面用戶修改密碼功能實現(xiàn)的主要功能代碼:當(dāng)用戶輸入原密碼、輸入修改密碼和輸入確認(rèn)修改密碼。用戶便可以成功修改當(dāng)前用戶密碼,當(dāng)用戶成功修改密碼后在下一次登錄賬戶時,需要輸入新修改密碼方可進(jìn)行登錄操作。如圖4.4所示:圖4.4用戶成功修改密碼4.3用戶增加商品到購物車功能實現(xiàn)及測試為了方便用戶或管理人員對數(shù)據(jù)的增加操作,故將數(shù)據(jù)的更新操作變?yōu)橥ㄓ脭?shù)據(jù)操作。首先獲取當(dāng)前請求連接,并且傳入的表名和參數(shù)。點餐系統(tǒng)并且依照請求中的要求,對表中的數(shù)據(jù)進(jìn)行增加。用戶添加商品到購物車的功能,相當(dāng)于用戶向購物車表中增加商品的相關(guān)信息。用戶增加商品到購物車功能實現(xiàn)的主要功能代碼:當(dāng)用戶成功添加商品到購物車時,將有提示信息提示用戶商品添加成功:圖4.5用戶成功添加商品到購物車4.4用戶下單功能實現(xiàn)及測試當(dāng)用戶挑選完畢商品后,用戶可在購物車中查看自己添加的相關(guān)商品。用戶可點擊提交按鈕對購物車中的商品進(jìn)行提交并生成訂單信息,用戶在訂單頁可見歷史訂單信息,訂單信息中包含商品的相關(guān)信息、合計金額和提交時間。用戶下單后管理人員在訂單中可對用戶用戶下單功能實現(xiàn)的主要功能代碼:增加、刪除、修改、查詢操作為通用操作,當(dāng)不同的表需要進(jìn)行修改操作,只需要將對應(yīng)的表名進(jìn)行傳遞便可。當(dāng)用戶提交訂單后,用戶可收到提示信息“添加成功”。顯示效果如圖4.6所示:圖4.6用戶提交訂單后

5總結(jié)與展望5.1總結(jié)該系統(tǒng)主要用于實現(xiàn)用戶的點餐流程,而該系統(tǒng)的產(chǎn)生主要是為了方便用戶在現(xiàn)實生活中進(jìn)行點餐操作。該點餐系統(tǒng)中用戶可通過注冊賬戶在點餐系統(tǒng)中進(jìn)行點餐服務(wù),當(dāng)用戶登錄賬戶之后可見商品列表頁面,在列表頁面中展示了商品的相關(guān)信息。在該系統(tǒng)中還有很多不足的地方,比如在系統(tǒng)中沒有設(shè)置字體的縮小和放大。當(dāng)有老年人進(jìn)行使用時候,老年人的遠(yuǎn)視眼無法清晰的看

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論