【基于JAVA的餐廳點餐系統(tǒng)設計11000字(論文)】_第1頁
【基于JAVA的餐廳點餐系統(tǒng)設計11000字(論文)】_第2頁
【基于JAVA的餐廳點餐系統(tǒng)設計11000字(論文)】_第3頁
【基于JAVA的餐廳點餐系統(tǒng)設計11000字(論文)】_第4頁
【基于JAVA的餐廳點餐系統(tǒng)設計11000字(論文)】_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于JAVA的餐廳點餐系統(tǒng)設計摘要如今隨著互聯(lián)網(wǎng)技術與網(wǎng)絡信息技術的不斷發(fā)展,人們在日常生活中有很多生活方式和生活習慣也慢慢隨著周圍的信息變化而發(fā)生翻天覆地的改變,具體表現(xiàn)是互聯(lián)網(wǎng)應用已經(jīng)走進人們的日常生活中,使得人們的生活方式更加便捷和靈活。餐廳點餐系統(tǒng)作為一種新的點餐模式,比起傳統(tǒng)的點餐模式要方便的多。在此系統(tǒng)中,界面的設計主要是在JSP插入HTML語言和JavaScript對系統(tǒng)的頁面進行相關的加工處理和渲染,以使得頁面實現(xiàn)的效果盡可能清晰和美觀,后臺使用的Java語言和Servlet來處理交互邏輯,用JDBC連接MySql數(shù)據(jù)庫去存儲相應的數(shù)據(jù)。點餐系統(tǒng)的界面很簡單,使用者操作起來非常輕松,并且相比于以往的訂餐方式,餐廳點餐系統(tǒng)更加便捷和高效,對于餐廳來說更加節(jié)省人力,有利于管理,是一款十分優(yōu)秀的軟件。關鍵詞:餐廳點餐系統(tǒng);JSP;MySQL;Servlet目錄1引言 引言1.1課題研究背景21世紀以來,事物發(fā)展速度越來越快,尤其是互聯(lián)網(wǎng)和科技方面,正在高速發(fā)展,各行各業(yè)在信息管理方面計算機技術的使用也是越來越普及。用互聯(lián)網(wǎng)應用實現(xiàn)各系統(tǒng)的管理也愈發(fā)顯得重要[1]。其中餐飲行業(yè)的發(fā)展實在是特別快,許多門店已經(jīng)由傳統(tǒng)點餐模式換成智能點餐系統(tǒng),使用系統(tǒng)很很多好處,特別是它在降低人工成本的同時還能提高管理效率和技術高度,為創(chuàng)業(yè)者節(jié)省成本,為使用者提供方便。有調(diào)查顯示,這是由于科技的急速發(fā)展刺激了人們追求便利的心理,人人都喜歡簡單便利的生活,用簡單的方式達到自己想要的結果符合大眾的心理預期[2]。如今,點餐系統(tǒng)在大小門店里也是越來越流行,足以證明該系統(tǒng)是十分受歡迎的。當今也是一個數(shù)字經(jīng)濟的時代,人工計算是怎么也不可能比過計算機的,使用了點餐系統(tǒng)的餐廳可以直接通過計算機計算出顧客的消費額,比起傳統(tǒng)餐廳要快的多,并且更加準確,然后顧客可以選擇現(xiàn)金或者手機掃碼支付,絕大多數(shù)顧客可能會選擇掃碼支付[3]。因為這項技術已經(jīng)非常成熟,并且一個好的點餐系統(tǒng)是可以配合這一支付技術的,它們將給人們帶來更方便的生活。綜合以上看來,開發(fā)一套點餐系統(tǒng)是非常具有意義的。1.2系統(tǒng)開發(fā)目的與意義餐廳總是會出現(xiàn)在我們的生活中,例如:家庭聚會,朋友聚餐,公司團建等等。每天都有許多人會去餐廳吃飯,但是每每在飯點時間隨著就餐人數(shù)增加,服務員便會忙不過來,就有可能出現(xiàn)上錯菜,漏菜之類等問題[4]。但是餐廳點餐系統(tǒng)能有效的解決上述的一些問題,此系統(tǒng)采用先進的發(fā)展的點餐管理系統(tǒng)比起傳統(tǒng)的點餐模式精簡了服務員的工作流程,讓服務員能在最短的時間內(nèi)準確找到顧客所需要的菜品,然后進行下單,根據(jù)訂單的狀態(tài)還可以輕松掌握哪些顧客還沒有付款,從而提高了工作效率,進而提高了餐廳的營業(yè)額。基于WEB和JSP的餐廳點餐系統(tǒng)的總體設計目標:為服務人員提供便捷的下單功能和管理功能。本系統(tǒng)可以分為前臺點餐和后臺管理員這兩大部分,使用者通過注冊和登錄后,即可進入系統(tǒng),把顧客報的菜名加入購物車,然后對購物車進行下單操作,即可生成一份訂單。進入后臺之后,可以對菜品的各種信息進行操作,包括修改名稱、簡介、數(shù)量和價格還可以新增菜品或是刪除菜品等操作,可以對全部訂單進行查看,并且刪除不需要的訂單。本系統(tǒng)所做的一切都是為了給使用者提供方便,降低工作難度。1.3國內(nèi)研究現(xiàn)狀我國是世界上人口量最多的國家,餐廳的數(shù)量也是非常的多,在互聯(lián)網(wǎng)時代還未到來的時候,人們也未曾設想過會有智能點餐系統(tǒng)的出現(xiàn),傳統(tǒng)的點餐模式從古至今已經(jīng)根據(jù)人心,打破一個舊思維需要新事物具有足夠的沖擊性[5]?;ヂ?lián)網(wǎng)應用便是其中最有力的代表。如今,隨著我國經(jīng)濟的飛速發(fā)展,各行各業(yè)都泛起生機勃勃的發(fā)展景象,其中餐飲行業(yè)正經(jīng)歷著翻天覆地的變化,點餐系統(tǒng)的出現(xiàn)就是最好的證明[6]。各類點餐系統(tǒng)層出不窮,百花齊放,就我所了解到的就有科脈和思迅這兩家公司在開發(fā)點餐系統(tǒng),他們旗下有很多成熟的產(chǎn)品供各大餐飲行業(yè)選擇。因為傳統(tǒng)的點餐模式已經(jīng)慢慢的被淘汰,它的操作在現(xiàn)在看來實在是有些繁瑣且不便。隨之而來的新型點餐模式,也就是使用互聯(lián)網(wǎng)應用進行點餐,相比較于傳統(tǒng)的模式,后者更加靈活方便,易于管理,服務員能快速找到顧客需要的菜品進行下單,然后系統(tǒng)自動算出總價,在簡化工作流程的同時還能提高工作效率,從而讓服務員為顧客提供更加優(yōu)質(zhì)的服務。

2使用工具介紹和相關軟件分析2.1使用工具介紹2.1.1開發(fā)環(huán)境介紹本系統(tǒng)選用的開發(fā)環(huán)境是:操作系統(tǒng):Windows10程序語言:JavaJDK版本:JDK11開發(fā)工具:IntelliJIDEA2020.3后臺服務器:ApacheTomcat9.0.412.2相關技術介紹2.2.1Java介紹Java誕生于1995年的5月底,時任SUN公司的約翰宣告了Java技術它作為一種計算機編程語言,其在企業(yè)網(wǎng)絡和Internet環(huán)境的應用更是很是普及,現(xiàn)在已經(jīng)成為互聯(lián)網(wǎng)應用中最受歡迎、最具有影響力的編程語言之一[7]。Java語言最大的特點就是面向對象,這種面向對象的程序設計更接近我們的思維方式,相對于面向過程的程序設計[8]。它最大的獨到之處就是可擴展性和可維護性,這也使我們寫的代碼更健壯。2.2.2JSP技術介紹JSP全稱JavaServerPages,漢語名叫Java服務器頁面,其基礎是一個簡化的Servlet設計[9]。實質(zhì)上就是HTML和Java代碼的組合體,在JSP文件中標簽通常以<%開頭,以%>結束,標簽中間編寫Java代碼。JSP是一種動態(tài)的網(wǎng)頁技術,它的主要目的是將表現(xiàn)邏輯從Servlet里分離出來,讓servlet專注于服務層的業(yè)務。JavaServlet是JSP的技術基礎,一般大型的Web應用程序的開發(fā)需要JavaServlet和JSP配合才能完整開發(fā)。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點[10]。使網(wǎng)頁制作程序員降低了制作網(wǎng)頁的難度以及復度。2.2.3JavaScript技術介紹JavaScript的定義是直譯方式的腳本語言,可以描述動態(tài)的類型、弱類型、還有基于原型的腳本語言,大量用在Web端開發(fā),經(jīng)常使用它給網(wǎng)頁增加各類樣式的動態(tài)功能[11]。給用戶顯示出更加流暢和漂亮的視覺效果,普通狀況下JavaScript腳本語言是通過將它本身嵌套到HTML來實現(xiàn)所要表達的效果。2.2.4MySql數(shù)據(jù)庫介紹本系統(tǒng)采用MySQL數(shù)據(jù)庫存儲數(shù)據(jù),它是一款跨平臺的、高效的、安全的,并與PHP和Java等主流編程語言緊密結合的數(shù)據(jù)庫系統(tǒng)[12]。它對初學者比較友好,其安裝簡單并且使用方便,特別是免費且開放源碼這一特點,初學者可以用它來作為一般中小型項目的數(shù)據(jù)庫。2.2.5MVC模式介紹MVC是一種框架模式,它是一種解決問題的方法和思路。它的三層結構主要是指基于模型Model,視圖View以及控制Controller的結構模型,而MVC正是這三者英文的首字母縮寫[13]。模型層主要用來負責業(yè)務邏輯的處理,數(shù)據(jù)的保持,它也是一個應用需要實現(xiàn)的最主要的部分:進行業(yè)務邏輯的處理。視圖層負責數(shù)據(jù)的輸出,畫面的表示與渲染。控制層負責接收從視圖發(fā)送過來的數(shù)據(jù),同時控制模型層與視圖層的部分。

3系統(tǒng)分析在安裝好各個開發(fā)工具后,開始對此點餐系統(tǒng)進行可行性分析和需求分析,針對系統(tǒng)進行開發(fā)。3.1可行性分析如今點餐系統(tǒng)已經(jīng)成為各類餐飲業(yè)不可或缺互聯(lián)網(wǎng)應用系統(tǒng),其便捷的操作極大的提高了使用者的工作效率。1、技術可行性:目前大多數(shù)的公司使用到的軟件開發(fā)工具是IntelliJIDEA,并且功能齊全,因此我在此次的項目系統(tǒng),就用它作為開發(fā)工具。編程語言使用Java,它作為一門當下最受歡迎與關注的編程語言之一,歷久彌新,而且方便靈活使用,是此次開發(fā)系統(tǒng)的不二之選[14]。2、經(jīng)濟可行性:對于本系統(tǒng)而言,除IntelliJIDEA外運用的都是網(wǎng)上開源的免費軟件,除了時間成本和人力成本,花費其實是非常小的,只要保證項目系統(tǒng)能夠被正確的部署在tomcat服務器上,并且已經(jīng)能正常運行,其帶來的效益絕對是優(yōu)于傳統(tǒng)點餐模式的。3、法律可行性:在項目的的開發(fā)過程中使用到的工具和軟件大多都是一些開源且免費的,數(shù)據(jù)庫選用MySQL也是因為開源且免費,參考以及使用到的一些代碼,也都是在開源社區(qū)和論壇分享的主要開源代碼。因此,此次的餐廳點餐系統(tǒng)是不存在任何法律問題的,滿足法律可行性的所有要求。3.2需求分析需求分析是軟件計劃階段里的重要一步,也是軟件生存周期里最重要的一環(huán),在此階段首先需要思考應該實現(xiàn)什么,好讓系統(tǒng)更加完整,業(yè)務邏輯更加健康[10]。在工作中,一款軟件的系統(tǒng)實用性是處在第一位的,因此需要設計出功能齊全且界面清晰的系統(tǒng),盡可能的達到用戶使用的要求,在這一節(jié)主要對系統(tǒng)的流程圖進行講解,以及系統(tǒng)中的功能怎么劃分成一個個小的模塊。3.2.1點餐系統(tǒng)前臺工作流程本系統(tǒng)分為前臺和后臺兩個模塊,前臺流程圖如圖2.1所示:圖3.1前臺流程圖使用者首先進入網(wǎng)頁,點擊登錄,輸入該賬號和密碼后跳轉到主頁面,假若,賬號與密碼匹配不成功,將會提示賬號或密碼不正確,如果兩者匹配就能成功登陸,沒有賬號可以先注冊賬號再進行登陸操作。進入主頁后可以選擇未使用的餐桌進行點菜,把選好的菜品加入購物車就可以下單了,如果對當前訂單不滿意,可以點擊取消訂單來取消當前的訂單后,再進行新一輪點菜,完成下單后可以在訂單展示模塊查看已經(jīng)存在的訂單以及訂單的狀態(tài)。點擊后臺入口即可進入后臺界面,這里我們下面再說。3.2.2點餐系統(tǒng)后臺工作流程后臺流程圖如圖2.2所示:圖3.2后臺流程圖使用者點擊后臺入口后進入后臺操作頁面,在這里可以點擊餐桌管理對餐桌進行增刪改查,點擊菜品和菜系也可進行增刪改查操作,而訂單只能查詢和刪除。點擊前臺入口即可返回前臺主頁。3.2.3功能需求本系統(tǒng)應用的是模塊化設計的方法,簡單來說就是把大的模塊“切割”成一個個小的區(qū)域,然后再對小的區(qū)域進行單獨的設計,設計完成后再將小的區(qū)域組

合成一個整體。將每一模塊的內(nèi)容再次劃分,每個小的模塊都做成單獨的文件,然后將各個文件加入模塊的網(wǎng)頁。這樣負責網(wǎng)頁的人在增加和修改系統(tǒng)功能的時候可以很快找到需要修改的地方,提高工作效率。此系統(tǒng)主要功能就是實現(xiàn)簡化服務員的工作流程,提高餐廳各項管理的效率,所以系統(tǒng)應該具有以下功能。前臺需提供的功能:1、用戶注冊,新服務員需要先注冊,注冊需要填寫用戶名、密碼、手機號和郵箱信息,同時前端應該具有一個用戶名查重的方式,當用戶名已經(jīng)存在的時候,提示該賬號已存在。2、用戶登陸,服務員輸入賬號密碼并且驗證成功后能登陸系統(tǒng),否則提示用戶名或密碼錯誤。3、菜單頁面,服務員在首頁點擊未使用的餐桌后,進入菜單頁面,此頁面需要對菜品進行分類,因此需要一個分類展示的列表點擊列后會顯示改分類下對應的菜品的信息,還需要有一個購物車模塊,來統(tǒng)計需要下單的菜品。購物車模塊里應該提供下單和取消訂單等按扭,用來滿足用戶的要求。4、訂單展示頁面,此頁面應該展示所有訂單的狀態(tài),包括訂單的編號、訂單創(chuàng)建的時間、訂單的內(nèi)容、下單的餐桌以及訂單是否付款但此頁面是能查看,不能操作訂單。后臺需提供的功能:1、餐桌管理頁面,服務員可以輸入關鍵字來搜索餐桌,或是直接查看餐桌,此頁面應該能查看到餐桌是否被使用,可以新增餐桌,修改餐桌的名字,還可以刪除或恢復使用餐桌。2、在菜系管理頁面里面,服務員可以輸入關鍵字來搜索菜系類型,或是直接在本頁面查看到當前系統(tǒng)中所有的菜系,可以對菜系進行新增、修改、更新或刪除操作。3、菜品管理界面,服務員可以根據(jù)頁面提供的下拉框快速找到當前菜系下的所有菜品,可以對菜品進行新增、修改、更新或刪除操作,同時新增時應該提供上傳圖片的功能。4、訂單管理界面,服務員可以查詢到未刪除的訂單記錄,并可以刪除掉不需要的訂單記錄。3.3數(shù)據(jù)庫設計3.3.1系統(tǒng)E-R圖E-R圖也可以稱為實體-聯(lián)系圖,是一種方法,可以用來表示實體類型、屬性和聯(lián)系[15]。E-R圖也可以作為一種概念模型去描述現(xiàn)實世界,它可以有效的描述現(xiàn)實世界個實體間的聯(lián)系。圖3.1為本系統(tǒng)的E-R圖。圖3.3系統(tǒng)E-R圖本系統(tǒng)實體有餐桌、訂單、訂單明細、菜品、菜系、用戶。除去用戶外,其他實體間具有一對多的聯(lián)系。而用戶表只做注冊登陸時的驗證,不會與其他表產(chǎn)生聯(lián)系。3.3.2數(shù)據(jù)庫表設計數(shù)據(jù)表(或稱為表)是數(shù)據(jù)庫里面最重要的構成部分之一。餐廳點餐系統(tǒng)的數(shù)據(jù)表包含六個主要的表,即用戶信息表、餐桌表、訂單信息表、訂單詳情表、菜品表和菜系表。這些各自相互獨立的數(shù)據(jù)表通過建立關系被連接在了一起(除用戶表),成為一個讓人一目了然的數(shù)據(jù)庫。 1、用戶信息表本系統(tǒng)的用戶信息表主要是用于服務員的基本信息的保存和一些狀態(tài)的查看,可以用來保存服務員登陸的賬號、密碼、郵箱和手機號。可以查看賬戶的創(chuàng)建時間,以及賬號是否被凍結。只有當用戶名和密碼匹配成功時才算是登陸成功,否則會提示用戶名或密碼錯誤,id作為主鍵不能為空。表3.1用戶信息表名類型長度小數(shù)點不是null鍵idint110√主鍵login_namevarchar500passwordvarchar500emailvarchar500phonevarchar200create_datedatetime00disabletinyint10create_userIdint1102、餐桌信息表餐桌信息表主要是記錄當前有哪些餐桌,對餐桌的信息進行記錄,包括餐桌的名字、狀態(tài)、開始使用的時間、創(chuàng)建的時間、更新的時間和是否被啟用。該表的表結構如表3.2所示。表3.2餐桌信息表名類型長度小數(shù)點不是null鍵idint110√主鍵table_namevarchar500table_statusint110begin_use_timedatetime00create_datedatetime00update_datedatetime00disableint110餐桌表的主鍵是id,所以該行不能為空,并且設置為自增。餐桌名字使用varchar型式,開始使用的時間、創(chuàng)建的時間和更新的時間都使用記錄完整時間的datetime型式。3、訂單信息表訂單信息表是記錄當前系統(tǒng)內(nèi)產(chǎn)生的所有訂單,此表包括主鍵id、訂單編號、餐桌表的id、訂單的總價、訂單的狀態(tài)、訂單創(chuàng)建的時間、付款的時間、訂單是否被偽刪除、訂單更新時間和誰創(chuàng)建了此訂單。該表的表結構如表3.3所示。表3.3訂單信息表名類型長度小數(shù)點不是null鍵idint110√主鍵order_codevarchar2550table_idint110total_pricedouble00order_datedatetime00order_statusint110disableint110pay_datedatetime00update_datedatetime00create_userIdint110訂單表的主鍵是id,所以不能為空,并且設置成自增。餐桌的id作為餐桌表的主鍵以后做關聯(lián)表的時候使用,總價格會產(chǎn)生小數(shù),所以使用double型式,下單日期和付款日期均使用datetime型式。4、菜系表菜系表是用來保存當前有哪些菜系,此表包括主鍵id、菜系的名稱、菜系創(chuàng)建的時間、菜系更新的時間和和當前菜系是否被偽刪除。該表的表結構如表3.4所示。表3.4菜系表名類型長度小數(shù)點不是null鍵idint110√主鍵type_namevarchar2550create_datedatetime00update_datedatetime00disabledint110菜系表的主鍵是id,所以不能為空,并且設置成自增。菜系名字用varchar型式就好,創(chuàng)建時間和更新時間均用datetime型式,是否被偽刪除用int型式。5、菜品表菜品表是用來保存當前有哪些菜品,此表包括主鍵id、菜品的名稱、價格、菜品的折扣、備注、菜品圖片、創(chuàng)建的時間、更新的時間和和當前菜品是否被偽刪除,還應該包含所以菜系的id。該表的表結構如表3.5所示。表3.5菜品表名類型長度小數(shù)點不是null鍵idint110√主鍵food_namevarchar2550foodType_idint110pricedouble00discountdouble00remarkvarchar2550imgvarchar2550create_datedatetime00update_datedatetime00disabledint110菜品表的主鍵是id,所以不能為空,并且設置成自增。footType_id作為菜系表的主鍵以后做關聯(lián)表的時候使用,價格和折扣會產(chǎn)生小說所以使用double型式,菜品名字、備注和圖片均使用varchar型式,創(chuàng)建時間與更新時間均使用datetime型式。6、訂單詳細表訂單詳細表是用來保存一份訂單里究竟有哪些數(shù)據(jù)的表格,它包括所屬的訂單id、菜品的id、購買的數(shù)量、折扣和是否被偽刪除。該表的表結構如表3.6所示。表3.6訂單詳細表名類型長度小數(shù)點不是null鍵idint110√主鍵orderIdint110buyNumint110disabledint110discountdouble00訂單詳細表的主鍵是id,所以不能為空,并且設置成自增。orderId和food_id分別作為訂單表和菜品表的主鍵和以后做關聯(lián)表的時候使用。購買數(shù)量和是否被偽刪除用int類型,折扣會產(chǎn)生小數(shù)所以用double型式。4系統(tǒng)詳細設計與實現(xiàn)界面系統(tǒng)分析完成后和數(shù)據(jù)庫設計成功后,就需要開始完成代碼編寫,并通過對該系統(tǒng)設計并編寫各個部分功能模塊,來依次完成各部分功能的實現(xiàn)。本章節(jié)就具體描述該系統(tǒng)的功能。4.1登錄頁面用戶訪問該系統(tǒng)的時候,假若沒有賬號則需要先注冊新的賬號,登錄時需要輸入自己的賬號和密碼。只有當賬號的密碼都跟數(shù)據(jù)庫里面的一一對應,才能登陸成功。如圖4.1為登陸界面效果圖。圖4.1登陸界面效果輸入正確的賬號和密碼后就可以正常登陸了,如果需要長期使用此賬號,可以點擊記住我,這樣在下次打開頁面時就不再需要進行登陸操作了,如果沒有賬號可以點擊現(xiàn)在注冊,跳轉到注冊界面。4.2注冊頁面服務員可以在此頁面注冊自己的賬號,然后進行登陸操作。需要注意的是:用戶名不可以與數(shù)據(jù)庫里的相同,只能輸入數(shù)據(jù)庫中沒有的用戶名,否則會提示用戶名已存在,進而無法注冊成功。手機號碼和郵箱賬號要按格式輸入,密碼不能少與6位數(shù),且密碼要與確認密碼一致。以上要求任意一項不滿足,都無法完成注冊。圖4.2為注冊頁面效果圖,這里故意不按要求來輸入。圖4.2注冊頁面效果上圖中可以看到各個輸入框下面均給出了錯誤提示,這樣可以避免數(shù)據(jù)庫中出現(xiàn)亂七八糟不起作用的數(shù)據(jù)。4.3點餐頁面服務員在主頁點擊未使用的餐桌后,即可進入點餐頁面。圖4.3為點餐頁面效果圖。圖4.3點餐頁面效果圖進入此頁面后,左邊購物車會顯示此購物車屬于哪一個餐桌,服務員點擊菜單后的標簽會展示對應標簽所屬的菜系的菜品,點擊菜品的圖片即可把對應菜品添加到購物車,此時可以對菜品的數(shù)量進行修改,顯示的價格是每個菜品打折后的單價為多少,最后在下面計算出總金額。如果點錯了菜,只需要點擊購物車里對飲應菜品后面的刪除,即可把此菜品從購物車里移除。確認好后點擊占座,然后回顯示下單按鈕,這時點擊下單,系統(tǒng)就能生成剛剛購物車里的對應菜品的訂單了。圖4.4為單個餐桌的訂單。圖4.4單個餐桌的訂單上圖即為剛才購物車里的菜品,在此頁面只會顯示一條訂單記錄,因為一但占座成功后,只有完成付款或者取消訂單后,服務員才能再對當前餐桌進行操作。這里顯示的數(shù)據(jù)與購物車里一致,并提供的付款和取消訂單按鈕,需要提醒一下這里沒有做到真正的付款,只是做了一個付款按鈕來模擬付款操作,以便更新訂單的狀態(tài)和釋放當前餐桌。4.4所有未刪除訂單展示點擊訂單展示后即可查看當前系統(tǒng)所有未被刪除的訂單,如圖4.5所示。圖4.5全部訂單可以看到這里列出了所有餐桌的歷史訂單,以及訂單是否付款了,通過查看訂單的狀態(tài)便可得知哪一號餐桌的顧客還沒來結賬。此頁面只能對訂單做查詢。4.5餐桌管理4.5.1餐桌管理主頁介紹在前臺主頁點擊進入后臺即可進入到后臺主頁,后臺主要是針對餐廳管理所開發(fā)出的一些功能,首先介紹餐桌管理,如圖4.6所示。圖4.6餐桌頁面效果服務員進入此頁面后可以查看到當前餐廳的所有餐桌已經(jīng)餐桌的使用狀態(tài)和是否被啟用,并可以對餐桌進行刪除操作,進行此操作后刪除按鈕會變成啟用,并且該餐桌在前臺頁面不會展示出來,點擊啟用后即可恢復使用。4.5.2搜索餐桌在頁面中可以看到這里可以對餐桌的名稱、狀態(tài)和是否被刪除進行搜索,如圖4.7所示。圖4.7搜索餐桌在這里使用了模糊搜索,所以只輸入一個1也能查出包含此字符的餐桌,后面兩項分別對餐桌的狀態(tài)進行匹配,如果不符合,將沒有搜索結果。4.5.3添加餐桌服務員點擊搜索后面的添加按鈕,即可進入到添加餐桌頁面,如圖4.8所示。圖4.8添加餐桌頁面效果輸入新的餐桌名即可進行餐桌添加,需要注意這里不能輸入已經(jīng)存在的餐桌名字,否者會出現(xiàn)上圖提示,并且添加失敗,只有輸入不存在的餐桌名后才能添加成功,并且會在輸入框后提示保存成功,此時再返回餐桌管理頁面刷新就能看到新添加的餐桌了。4.6菜系管理4.6.1菜系管理主頁介紹服務員在后臺點擊左側的菜系管理即可進入到菜系管理頁面,如圖4.9所示。圖4.9菜系頁面效果此頁面能查看到當前系統(tǒng)內(nèi)的所有菜系,以及它們的編號、菜系名稱、創(chuàng)建時間和是否被刪除,還提供了一個操作列,可以對選中的菜系進行更新和刪除,需要注意,刪除菜系后不會刪除掉對應的菜品,但是在前臺會因為不能找到菜系而找不到該菜系下的所有菜品,點擊啟用后即可恢復使用。4.6.2菜系更新服務員點擊更新按鈕后進入菜系更新頁面,如圖4.10所示。圖4.10菜系更新此頁面的輸入框會自動填入選中的菜系的名稱,以提示服務員選擇了哪一個菜系。在輸入框中輸入新的菜系名稱,即可完成對菜系的更新,需要注意這里輸入的名稱不能已經(jīng)存在,否則會提示當前菜系名已經(jīng)存在請重新輸入,并且無法完成更新。4.6.3菜系添加服務員點擊搜索后面的添加按鈕,即可進入到添加菜系頁面,如圖4.11所示。圖4.11添加菜系在菜系名稱后的輸入框輸入想要添加菜系的名稱,即可完成菜系的添加,但是不能添加已經(jīng)存在的菜系,否則會提示如上圖中顯示的信息,并且將無法添加菜系。添加成功后會提示保存成功這一信息來提醒操作人員,已經(jīng)完成菜系添加這一操作。4.7菜品管理4.7.1菜品管理主頁介紹服務員在后臺點擊左側的菜系管理即可進入到菜系管理頁面,如圖4.12所示。圖4.12菜品管理效果此頁面內(nèi)能查詢到當前系統(tǒng)里的所有菜品,并展示它們的菜名、所屬的菜系、價格、折扣、創(chuàng)建時間、修改時間和是否被刪除,如果被刪除了,則在前臺頁面將不會顯示,點擊啟用按鈕即可恢復對此菜品的下單。4.7.2菜品搜索在頁面中可以看到這里可以對菜品的名稱和它們所屬菜系進行聯(lián)合搜索,如圖片4.13所示。圖4.13菜品搜索此網(wǎng)頁在頁面加載完成時就先把數(shù)據(jù)庫中所有的菜系遍歷到下拉框里了,服務員點擊下拉框就能對所有菜系進行一個簡單的查看,選擇自己想看的菜系下有什么菜品,只要點擊對應的菜系的名稱再點擊搜索就能得到結果,上圖中由于在輸入框中置入了模糊查詢的條線,故只能找出同時匹配兩項的結果。4.7.3菜品更新服務員點擊更新按鈕后進入菜品更新頁面,如圖4.14所示。圖4.14菜品更新此頁面會在頁面加載完成時自動填入選中菜品在當前系統(tǒng)中的信息,以便服務員進行修改,圖片是從Tomcat服務器上下載而來的。服務員點擊菜系會展示下拉框,里面能顯示出系統(tǒng)中所有的菜系,輸入菜品名不能重名,價格不能為負數(shù),折扣只能在0與1之間,如果以上有一條不符合要求,則會導致無法進行更新需要按要求填入后才能正常執(zhí)行此操作。更新完成后會在修改時間那一列里顯示最新的修改時間。4.7.4菜品添加服務員點擊搜索后面的添加按鈕,即可進入到添加菜品頁面,此頁面在加載完成時便會把所有的菜系遍歷到菜系下拉框里,以供服務員選擇,此頁面對菜名進行查重校驗,與數(shù)據(jù)庫中的菜品同名將不能存入數(shù)據(jù)庫,對菜品的價格和折扣進行了格式校驗,價格不能為負數(shù),折扣只能在0與1之間,簡介可以填寫一段文字或者為空,點擊圖片上傳即可打開電腦文件,然后選擇準備好的圖片進行上傳,上傳完成后會顯示上傳文件的名稱,整個操作如圖4.15所示。圖4.15添加菜品等待確認無誤后點擊添加按鈕即可完成菜品的添加操作了。4.8訂單管理服務員在后臺點擊左側的菜系管理即可進入到菜系管理頁面,如圖4.16所示。圖4.16訂單頁面效果此頁面的功能非常簡單,把未刪除的訂單從數(shù)據(jù)庫里查詢出來展示到此頁面,并提供一個刪除按鈕做偽刪除操作,此操作不會真正的刪除訂單,只會修改該訂單的狀態(tài)屬性,讓該訂單再也不可見,并且前臺頁面也查詢不到。列表中的訂單編號、餐桌名、下單日期、付款日期、總金額和狀態(tài)均來自數(shù)據(jù)庫,付款日期會在前臺點擊付款按鈕后存入數(shù)據(jù)庫,此時后臺刷新頁面即可看見最新的訂單信息了。4.9本章小結本章主要就已經(jīng)完成了餐廳點餐系統(tǒng),并進行了各方面功能及實現(xiàn)的具體描述,用戶已經(jīng)能清楚了解到各功能的操作。在此系統(tǒng)的開發(fā)中,隨著功能需求的增加,難度也隨著編寫運行一步一步加大,目前而言已經(jīng)完成了所有功能的編寫,下一章將對系統(tǒng)做測試。

5系統(tǒng)測試在上一章已經(jīng)完成了系統(tǒng)的編寫并且對部分功能進行了測試,這一章將重點在系統(tǒng)中容易出bug的地方進行測試。系統(tǒng)測試是每一個程序編寫完成后都必須要進行的操作,也是為了保證代碼能正常執(zhí)行,避免為以后的使用而造成損失,是對完成開發(fā)以及即將使用的系統(tǒng)的一次性能以及質(zhì)量的綜合鑒定。5.1部分功能測試5.1.1安全性測試首先對系統(tǒng)的安全性功能進行測試,一個系統(tǒng)如果想要正常使用,使用者是應該具有該系統(tǒng)賬號的,而又應該對沒有登陸的用戶開放部分權限,簡單來說只能看最基本的信息,而不能看比較隱私的信息,不能對系統(tǒng)進行有修改性的操作。圖片5.1和圖片5.2分別是是退出登陸賬號后對菜單列表和訂單列表的操作。圖5.1菜單頁面可以看到左側不再有購物車出現(xiàn),取而代之的是菜品類型列表。圖5.2退出登陸時的訂單頁面上圖中表示的是未登錄狀態(tài)下會被直接拒絕訪問訂單頁面,并且會把訪問者跳轉到登陸頁面,提示先登陸。這里用二組數(shù)據(jù)做登陸測試:在填寫注冊成功的賬號和對應的密碼時,系統(tǒng)登錄成功。在填寫注冊成功的賬號時,填任意不對應的密碼時會提示賬號或密碼錯誤,結果如圖5.4所示。圖5.4錯誤的登陸賬號圖中可以看到在輸入框上方進行了錯誤信息的提示。由此可見系統(tǒng)是很安全的。5.1.2數(shù)據(jù)添加測試此系統(tǒng)中往數(shù)據(jù)庫添加數(shù)據(jù)量比較大的操作是添加菜品,所以對這一功能進行重點測試,首先是數(shù)據(jù)庫中重要字段不能存空數(shù)據(jù),所以在前端把數(shù)據(jù)提交給Servlet前就應該做一次校驗,在這里使用了JS代碼對每個輸入框添加了失去焦點時的判斷,如果不符合要求便會在對應輸入框后提示錯誤信息。這樣可以減少前端頁面與服務器之間的數(shù)據(jù)交互,減小服務器的壓力,讓服務器專注于正常的數(shù)據(jù)交互,減少錯誤或者無意義的數(shù)據(jù)交互。進入添加添加菜品頁面,這里故意輸入酸辣藕片(數(shù)據(jù)庫里已存在),在價格輸入框里輸入負數(shù),折扣輸入框里輸入大于1的數(shù)據(jù),圖中輸入框為空是因為我在前端頁面中編寫了當輸入框失去焦點后,數(shù)據(jù)不符合要求便會被清空,同時對輸入框內(nèi)數(shù)據(jù)的判定也是在失去焦點時進行的。如圖5.4中菜名和價格都為空的話,則會提醒不能為空。折扣為空就是默認該菜品不進行打折,圖片為空則會在前臺不展示菜品的圖片,但是可以通過更新菜品來上傳圖片,這樣前端也能展示出菜品的圖片。圖5.4測試添加菜品在此頁把菜系名選擇成干鍋、菜名設置為干鍋雞,價格設置成99元,折扣為0.9,簡介可選填,然后上傳一張圖片。點擊添加按鈕之后,我們?nèi)?shù)據(jù)庫查看新增的行,可以看到最新數(shù)據(jù)已經(jīng)添加進來了,圖中更新時間為空是因為此菜品才剛剛添加進數(shù)據(jù)庫,還沒有對它進行過修改操作,以后進行菜品更新操作后就能看到更新時間了。數(shù)據(jù)庫為圖5.5所示。圖5.5菜品數(shù)據(jù)然后在前臺頁面對此菜品進行測試,檢測是否能正常顯示并且添加進購物車,圖5.6中能看到新添加的菜品已經(jīng)成功顯示并且加入了購物車里,還能顯示出它對應的價格。圖5.6菜品添加前臺展示由此可見,添加菜品功能沒有問題。其他的添加功能比起此功能要簡單,這里不再詳細描述。5.2系統(tǒng)測試小結在開發(fā)項目的過程里,每一個進程中的每一步都需要被全面的考慮到,從而確保系統(tǒng)在個個時期具備可控性和穩(wěn)定性。本章注重對系統(tǒng)安全和添加數(shù)據(jù)進行了詳細的測試說明,其他模塊進行了簡單的運行測試,并且都驗證其成功無誤??梢缘玫浇Y論,此餐廳點餐系統(tǒng)的大部分主要功

溫馨提示

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

評論

0/150

提交評論