基于Android 無線電子菜譜系統(tǒng)開發(fā)畢業(yè)論文

上傳人:無*** 文檔編號:155206916 上傳時間:2022-09-22 格式:DOC 頁數(shù):60 大?。?.08MB
收藏 版權(quán)申訴 舉報 下載
基于Android 無線電子菜譜系統(tǒng)開發(fā)畢業(yè)論文_第1頁
第1頁 / 共60頁
基于Android 無線電子菜譜系統(tǒng)開發(fā)畢業(yè)論文_第2頁
第2頁 / 共60頁
基于Android 無線電子菜譜系統(tǒng)開發(fā)畢業(yè)論文_第3頁
第3頁 / 共60頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于Android 無線電子菜譜系統(tǒng)開發(fā)畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《基于Android 無線電子菜譜系統(tǒng)開發(fā)畢業(yè)論文(60頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 基于Android 無線電子菜譜系統(tǒng)開發(fā)畢業(yè)論文 目錄 1 引言1 1.1 選題背景和意義1 1.2 無線點餐系統(tǒng)簡介2 1.3 本文的主要工作與組織結(jié)構(gòu)2 1.3.1 本文的主要工作:2 1.3.2 本文的組織結(jié)構(gòu)3 2 需求分析4 2.1 功能需求4 2.2 用戶群體描述5 2.3業(yè)務(wù)流程分析6 2.3.1訪客瀏覽6 2.3.2 點菜流程6 2.3.3結(jié)賬流程7 2.3.4管理用戶信息8 2.4 數(shù)據(jù)通訊8 3 概要設(shè)計10 3.1 系統(tǒng)結(jié)構(gòu)設(shè)計10

2、3.2 總體功能模塊設(shè)計11 3.3 模塊功能概要設(shè)計11 3.3.1 菜單管理模塊11 3.3.2 餐桌管理模塊12 3.3.3 訂單管理模塊12 3.3.4 用戶管理模塊12 3.3.5 Web Service接口12 4 數(shù)據(jù)庫設(shè)計13 4.1 數(shù)據(jù)庫的需求分析13 4.2 數(shù)據(jù)庫概念設(shè)計13 4.3 數(shù)據(jù)庫邏輯設(shè)計15 4.4 數(shù)據(jù)庫的實現(xiàn)15 5 詳細(xì)設(shè)計18 5.1 菜單管理模塊設(shè)計19 5.1.1 整體設(shè)計19 5.1.2 管理員輸入信息的傳遞19 5.2訂單管理模塊設(shè)計20 5.2.1 整體設(shè)計20 5.2.2 用戶點餐功能21 5.2

3、.3 通知功能21 5.2.4 換桌、并桌功能21 5.2.4 結(jié)賬功能22 5.3 用戶管理模塊設(shè)計22 5.3.1 整體設(shè)計22 5.3.2 用戶注冊功能22 5.3.3 角色管理功能22 5.3.3 個人信息修改功能22 5.4 Web Service 接口設(shè)計22 6 系統(tǒng)實現(xiàn)24 6.1 開發(fā)環(huán)境與相關(guān)技術(shù)24 6.2 功能模塊的實現(xiàn)26 6.2.1 菜單管理功能模塊的實現(xiàn)26 6.3 點菜功能模塊的實現(xiàn)27 6.3.1 添加菜品的實現(xiàn)27 6.3.2 通知的實現(xiàn)28 6.4 主要界面28 6.5 數(shù)據(jù)庫操作34 7 測試報告37 7.1 測

4、試方案37 7.2 測試項目37 7.3 主要測試用例38 7.4 測試進度40 7.5 測試方法41 7.6 測試結(jié)果分析41 7.6.1 測試的局限性41 7.6.2 評價測試結(jié)果的準(zhǔn)則41 總結(jié)42 致謝43 參考文獻44 附錄A 譯文45 附錄B 外文原文51 58 / 60 1 引言 本章主要簡述無線點餐系統(tǒng)的選題背景和意義,并對本文的工作和組織結(jié)構(gòu)做了介紹。 1.1 選題背景和意義 餐飲傳統(tǒng)的點菜方式是純?nèi)斯げ僮鳎煞?wù)員記錄顧客點的菜,然后將點菜的信息分別交由吧臺收銀、酒水、傳菜部、后廚等部門,同時收銀員要把所有的點菜單輸入電腦中,才能

5、生成相應(yīng)的單據(jù)進行結(jié)算。在具體工作中容易出現(xiàn)以下問題:(1)手寫單據(jù)字跡潦草從而導(dǎo)致上錯菜、少上菜現(xiàn)象嚴(yán)重(2)加菜和查賬程序較繁瑣(3)處理特殊口味有遺漏和偏差(4)客人催菜遺忘現(xiàn)象較頻繁(5)計算賬單易出錯(6)不方便人員管理等等。正因如此,無線點餐模式應(yīng)運而生。采用無線點菜系統(tǒng),服務(wù)員在點菜時就完成了輸單過程,發(fā)送后系統(tǒng)自動分類,各部門立即分單打印,避免服務(wù)人員的來回跑動,節(jié)約時間,工作效率極大提高,工作流程更加合理、科學(xué)它不僅可以有效地提高餐飲業(yè)的工作效率,更可以規(guī)服務(wù)體系,提高整體服務(wù)質(zhì)量和管理水平,并為規(guī)?;?jīng)營提供了堅實的技術(shù)基礎(chǔ)。 相比于傳統(tǒng)餐飲行業(yè)使用紙質(zhì)菜單作為主要信息媒

6、介的點菜方式,使用無線點餐系統(tǒng)的優(yōu)勢表達在一下方面: (1)提高工作效率。 采用無線點菜系統(tǒng),服務(wù)員在點菜時就完成了輸單過程,發(fā)送后系統(tǒng)自動分類,各部門立即分單打印,避免服務(wù)人員的來回跑動,節(jié)約時間,工作效率極大提高,工作流程更加合理、科學(xué)。 (2) 降低企業(yè)經(jīng)營成本。 可以隨時調(diào)整菜譜(沽清、修改價格、更改圖片等),如果是傳統(tǒng)方式點菜,隨著時間的推移,經(jīng)常要變動菜譜,浪費紙,費時費力。 (3)創(chuàng)建良好就餐環(huán)境,提升企業(yè)形象。 傳統(tǒng)的點菜方式要求服務(wù)員要有傳遞單據(jù)的過程,在營業(yè)高峰期時,服務(wù)員為提高服務(wù)效率會經(jīng)營跑動,造成餐廳混亂。而使用無線點菜系統(tǒng),服務(wù)員就可在餐廳中完成各種操作

7、,避免因服務(wù)員來回跑動產(chǎn)生的忙亂現(xiàn)象,大大提升服務(wù)品質(zhì)和服務(wù)形象,營造高檔就餐環(huán)境,吸引更多的顧客。使用終端觸屏點菜還可以讓顧客看到更多的有關(guān)菜的信息,包括中英文菜品介紹、營養(yǎng)成分介紹、視音頻等,同時友好的用戶界面加上觸摸與遙控技術(shù)可讓顧客享受點餐的樂趣,極大提升餐廳檔次和企業(yè)形象。 在人們生活節(jié)奏越來越快的今天,相信無線點餐系統(tǒng)一定會有廣闊的發(fā)展前途。 1.2 無線點餐系統(tǒng)簡介 無線點餐系統(tǒng)是針對餐飲行業(yè)的信息化服務(wù)和管理而開發(fā)的軟件平臺。該系統(tǒng)利用WLAN無線通信技術(shù)實現(xiàn)服務(wù)器端和客戶端的通信。提供Web端管理平臺,管理員可以對餐廳的環(huán)境介紹、菜譜、餐桌進行添加、更新等操作。同時服務(wù)

8、器端將這些功能通過Web Service發(fā)布給外部系統(tǒng),能夠讓Android移動平臺上的無線點餐系統(tǒng)客戶端調(diào)用。點菜環(huán)節(jié)上,客戶端通過調(diào)用服務(wù)器端的開臺、點餐、并臺、換臺、結(jié)算等功能,讓服務(wù)員可以用Android手持設(shè)備在客人餐桌旁完成信息的錄入,在服務(wù)器端生成訂單,大大簡化了點菜流程。顧客可以在點菜的同時直觀的看到菜品信息,帶給顧客良好的體驗。 1.3 本文的主要工作與組織結(jié)構(gòu) 1.3.1 本文的主要工作: 無線點餐系統(tǒng)服務(wù)器端是整個點餐系統(tǒng)的后臺運行支持: (1)在實現(xiàn)方式上 服務(wù)器端和客戶端通過WLAN,利用Web Service進行通信,使得服務(wù)器端只需要關(guān)注點餐數(shù)據(jù)的處理,

9、而不需要對客戶端發(fā)送的請求進行解析,相比較于 請求的方式,不需要對每次通信進行確認(rèn),提高了數(shù)據(jù)交換的效率。同時,Web Service是一種跨平臺的通信方式,可以使用Android或者Windows Phone 的手機或平板作為客戶端,使得系統(tǒng)的搭建變得靈活。 (2)在功能方面 無線點餐系統(tǒng)考慮到生活中點餐的實際,提供了用戶登錄,餐桌管理,點菜管理、并臺管理、轉(zhuǎn)臺管理、查臺管理、結(jié)臺管理、更新管理、打印訂單等在的功能,并在用戶提交訂單之后,服務(wù)器端向用戶注冊的發(fā)送一封點餐成功的作為確認(rèn)。 (3)在系統(tǒng)升級方面 管理員可以通過后臺的Web端管理界面對菜品信息、餐桌信息進行添加、刪除

10、和更新管理。服務(wù)器端的數(shù)據(jù)有改變的時候,客戶端可以通過更新操作取得服務(wù)器端的最新數(shù)據(jù),從而保持?jǐn)?shù)據(jù)的一致性。 1.3.2 本文的組織結(jié)構(gòu) 本文對無線點餐系統(tǒng)軟件進行了原理和技術(shù)上的討論,詳細(xì)描述了該系統(tǒng)的設(shè)計思路和方法,在此基礎(chǔ)上開發(fā)了可以實際使用的應(yīng)用軟件。本文包括容如下: 引言:描述了系統(tǒng)開發(fā)的背景和意義,簡單介紹了系統(tǒng)的主要功能,并與傳統(tǒng)的語音信箱進行了比較。 需求分析:利用面向?qū)ο蟮姆治龇椒?,建立各種環(huán)境下的用例模型,描繪出系統(tǒng)的功能、性能和其它需求。 系統(tǒng)設(shè)計:使用面向?qū)ο蟮脑O(shè)計方法,在需求分析確定的模型基礎(chǔ)上,設(shè)計出軟件的邏輯模型、軟件各組成部分間的在結(jié)構(gòu)與實現(xiàn)方法。這一

11、過程分為概要設(shè)計、數(shù)據(jù)庫設(shè)計和詳細(xì)設(shè)計三部分。 系統(tǒng)實現(xiàn):論述了系統(tǒng)各功能模塊的實現(xiàn)方法。 測試報告:對開發(fā)完成的軟件進行測試分析。 結(jié)論:總結(jié)本軟件的特點和不足。 2 需求分析 本章主要闡述無線點餐系統(tǒng)的總體需求和相關(guān)界定,并由此提煉出系統(tǒng)的業(yè)務(wù)邏輯結(jié)構(gòu)。 2.1功能需求 無線點餐系統(tǒng)的設(shè)計與開發(fā)應(yīng)達到以下的總體目標(biāo),即主要功能需求: (1)訪客瀏覽功能: 餐廳環(huán)境介紹和特色菜的圖片采用輪轉(zhuǎn)方式展示,使用戶在進入餐廳時就可以看到。 (2)用戶注冊功能:當(dāng)用戶準(zhǔn)備點菜時需要進行信息的注冊,以便在訂單完成后發(fā)出通知。 (3)用戶登陸功能:通過正確的用戶名和密碼進入系統(tǒng)查看菜

12、單并進行點餐。 (4)普通用戶點餐功能:輸入人數(shù)、附加信息等選項,進入點菜頁面選擇要點的菜品,可以看到菜品的名字、圖片、價格、描述等信息,通過點擊數(shù)量兩側(cè)的加減按鈕選擇要點的份數(shù),點擊點餐按鈕將相應(yīng)菜品加入到臨時訂單。 (5)查看已點菜臨時訂單功能:用戶點餐過程中可以點擊查看詳情按鈕查看已點菜信息,如果有不需要的菜品可以在此頁面中刪除,可以繼續(xù)添加菜品。點菜完畢后點擊提交訂單按鈕將點菜信息保存。 (6)電子通知功能:用戶提交訂單后,系統(tǒng)將發(fā)送到用戶的電子地址,提示用戶訂單已提交成功。 (7)用戶訂單列表功能:普通用戶可以查看自己的所有消費訂單,并可將訂單打印。未付款訂單可以繼續(xù)加菜。

13、 (8)用戶信息查看、修改功能:已登陸用戶可以查看自己的信息并進行修改。 (9)系統(tǒng)管理功能:管理員可以添加禁用用戶,并設(shè)置用戶的角色。 (10)Web端管理功能:提供菜單菜品的添加修改查詢,餐桌的添加修改,訂單的添加修改查詢,付款結(jié)賬,信息查看,打印菜單。 (11)客戶端點餐功能:客戶端使用Android平板進行點餐,提供點菜、加菜、減菜、并桌、換桌、結(jié)賬功能。 (12)服務(wù)器端和客戶端通信功能:服務(wù)器端向外部發(fā)布Web Service,客戶端收集用戶點菜信息,并通過調(diào)用服務(wù)器端的Web Service將信息傳遞到服務(wù)器端處理,訂單數(shù)據(jù)保存在服務(wù)器端。 2.2 用戶群體描述 (1

14、) 游客 指到餐廳主頁瀏覽的用戶。打開首頁可以瀏覽餐廳環(huán)境和特色菜肴的展示圖片,如果需要點餐可以點擊“開始點餐”按鈕進行操作。 (2) 點餐用戶 如果未注冊需要先注冊才能點餐,如果已注冊需要用注冊賬戶登陸后開始點餐。 (3) 系統(tǒng)管理人員、服務(wù)臺 負(fù)責(zé)餐廳菜品、餐桌信息的維護和訂單結(jié)算。可以根據(jù)桌號查到最新消費訂單,獲得訂單的詳細(xì)信息進行結(jié)賬。 圖2.1 用例圖 2.3業(yè)務(wù)流程分析 2.3.1訪客瀏覽 (1) 功能定義 用戶進入餐廳主頁進行信息瀏覽,可以查看餐廳環(huán)境和特色菜肴。 (2) 前置條件 1) 中放置要顯示的環(huán)境和菜肴圖片。 2) 用戶從Web端進入餐廳首

15、頁。 (3) 業(yè)務(wù)流程描述 用戶進入餐廳主頁進行信息瀏覽,可以查看餐廳環(huán)境和特色菜肴,如果關(guān)閉頁面則退出,否則繼續(xù)瀏覽。 圖2.2 訪客瀏覽流程圖 2.3.2點菜流程 (1) 功能定義 用戶根據(jù)需要選擇要點的菜,選擇需要的分?jǐn)?shù),點擊點菜按鈕,相應(yīng)的菜被添加到臨時訂單,查看臨時訂單后確定點菜信息再提交訂單,通知用戶點菜完成。 (2) 前置條件 1) 用戶開始點餐前必須已登陸。 3) 管理員已經(jīng)將菜品信息添加到菜譜中。 (3) 業(yè)務(wù)流程描述 圖2.3 點菜流程圖 2.3.3結(jié)賬流程 (1) 功能定義 用戶用餐完畢后,結(jié)賬人員根據(jù)桌號和時間找到用戶的賬單信息,核對

16、無誤后結(jié)賬。 (2) 前置條件 1) 用戶點餐后提交訂單。 2) 用餐完畢。 (3) 業(yè)務(wù)流程描述 圖2.4 結(jié)賬流程圖 2.3.4管理用戶信息 (1) 功能定義 用戶登陸后可以修改自己的注冊信息。管理員可以查看用戶信息并設(shè)置用戶角色。 (2) 前置條件 1) 用戶必須已經(jīng)注冊并登陸。 (3) 業(yè)務(wù)流程描述 圖2.5 用戶管理流程圖 2.4 數(shù)據(jù)通訊 服務(wù)器端和Android客戶端通信可以有多種選擇方案,比如 請求方式和Web Service方式。前者在處理請求操作時比較復(fù)雜,通用性差,不同語言之間很難共用;后者實現(xiàn)起來比較簡單,而且遵循SOAP協(xié)議,

17、各種語言之間的通用性也比較強。 Web Service的主要目標(biāo)是跨平臺的可互操作性,具有以下優(yōu)點:(1)跨防火墻的通信;(2)應(yīng)用程序集成;(3)B2B的集成;(4)軟件和數(shù)據(jù)重用。 Web Service也叫XML Web Service, WebService是一種可以接收從Internet或者Intranet上的其它系統(tǒng)中傳遞過來的請求,輕量級的獨立的通訊技術(shù)。是:通過SOAP在Web上提供的軟件服務(wù),使用WSDL文件進行說明,并通過UDDI進行注冊。 XML:(Extensible Markup Language)擴展型可標(biāo)記語言。面向短期的臨時數(shù)據(jù)處理、面向萬維網(wǎng)絡(luò),是Soa

18、p的基礎(chǔ)。 Soap:(Simple Object Access Protocol)簡單對象存取協(xié)議。是XML Web Service 的通信協(xié)議。當(dāng)用戶通過UDDI找到你的WSDL描述文檔后,他通過可以SOAP調(diào)用你建立的Web服務(wù)中的一個或多個操作。SOAP是XML文檔形式的調(diào)用方法的規(guī),它可以支持不同的底層接口,像 (S)或者SMTP。 WSDL:(Web Services Description Language) WSDL 文件是一個 XML 文檔,用于說明一組 SOAP 消息以與如何交換這些消息。大多數(shù)情況下由軟件自動生成和使用。 UDDI (Universal Des

19、cription, Discovery, and Integration) 是一個主要針對Web服務(wù)供應(yīng)商和使用者的新項目。在用戶能夠調(diào)用Web服務(wù)之前,必須確定這個服務(wù)包含哪些商務(wù)方法,找到被調(diào)用的接口定義,還要在服務(wù)端來編制軟件,UDDI是一種根據(jù)描述文檔來引導(dǎo)系統(tǒng)查找相應(yīng)服務(wù)的機制。UDDI利用SOAP消息機制(標(biāo)準(zhǔn)的XML/ )來發(fā)布,編輯,瀏覽以與查找注冊信息。它采用XML格式來封裝各種不同類型的數(shù)據(jù),并且發(fā)送到注冊中心或者由注冊中心來返回需要的數(shù)據(jù)。 基于以上特點,本系統(tǒng)采用Web Service方式解決服務(wù)器端和客戶端的通信問題。 3 概要設(shè)計 本章主要闡述無線點餐

20、系統(tǒng)的總體設(shè)計和主要功能模塊。 3.1 系統(tǒng)結(jié)構(gòu)設(shè)計 系統(tǒng)主體結(jié)構(gòu)如圖3.1所示。其中: 數(shù)據(jù)庫:采用MySQL數(shù)據(jù)庫,存儲菜品信息、餐桌信息、用戶信息、菜單信息,便于數(shù)據(jù)的管理和查詢。 Web容器:采用Tomcat服務(wù)器,后臺管理和Web端點菜模塊放在服務(wù)器上,同時向外部發(fā)布Web Service,Android客戶端可以調(diào)用相應(yīng)功能。 交換機和無線AP:Web服務(wù)器和客戶端通信的中間層。 點餐設(shè)備:Android平板或手機,通過客戶端應(yīng)用添加點菜信息。 網(wǎng)絡(luò)交互:網(wǎng)絡(luò)是信息傳輸、接收、共享的虛擬平臺,通過它把各個點、面、體的信息聯(lián)系到一起,從而實現(xiàn)這些資源的共享。它是人們信息

21、交流使用的一個工具。無線點餐系統(tǒng)通過無線AP將點餐設(shè)備和Web服務(wù)器組成一個局域網(wǎng)(LAN),在局域網(wǎng)進行信息的傳輸。 圖3.1 系統(tǒng)結(jié)構(gòu)圖 3.2 總體功能模塊設(shè)計 我們的點餐系統(tǒng)有Android接入和Web登錄兩種接入方式,據(jù)此可將整個系統(tǒng)分為兩大功能模塊群。當(dāng)用戶使用Android接入時,主要有訂單管理模塊。當(dāng)用戶使用Web方式接入時,普通用戶有訂單管理模塊和用戶管理模塊,管理員有菜單管理模塊、餐桌管理模塊、訂單管理模塊和用戶管理模塊。系統(tǒng)模塊結(jié)構(gòu)如圖3.2所示。 圖3.2 功能模塊圖 3.3 模塊功能概要設(shè)計 3.3.1菜單管理模塊 此模塊主要實現(xiàn)管理員對菜單的管

22、理功能。管理員登陸后可以使用菜單管理模塊的“添加菜品”功能向菜譜中加入新的菜品信息。如果菜品的單價或圖片等有改變,可以使用“更新菜品”功能對菜譜中的信息進行更改。菜品下架后可以使用“刪除菜品”功能從菜譜中刪除。 3.3.2餐桌管理模塊 此模塊主要實現(xiàn)管理員對餐廳餐桌的管理功能。當(dāng)餐廳需要新增桌子或?qū)σ延凶琅_進行更改時,可以使用此模塊功能。 3.3.3訂單管理模塊 用戶登陸后可以新增訂單開始點菜,點菜完成后需要到臨時訂單頁面確認(rèn)訂單信息,確認(rèn)無誤后點擊提交訂單完成點菜。就餐過程中可以加菜、去菜、換桌、并桌,就餐完成后可以使用系統(tǒng)進行結(jié)賬。 3.3.4用戶管理模塊 此模塊完成用戶個人

23、信息的修改和管理員對用戶權(quán)限的更改。用戶本人登陸后可以修改注冊信息和密碼,管理員可以修改其他用戶的角色和權(quán)限。 3.3.5 Web Service接口 Web Service接口提供以下功能: (1)客戶端數(shù)據(jù)更新服務(wù)。當(dāng)服務(wù)器端的菜品和餐桌信息變更時,客戶端可以通過調(diào)用服務(wù)器端的數(shù)據(jù)更新接口獲得最新的數(shù)據(jù),從而保持了客戶端和服務(wù)器的數(shù)據(jù)一致性。 (2)用戶點餐服務(wù)。訂單數(shù)據(jù)在服務(wù)器端維護,用戶點餐時調(diào)用新增訂單與點菜、加菜、減菜、換桌、并桌等接口完成點餐的操作。結(jié)賬時提供結(jié)賬的Web Service接口。 4 數(shù)據(jù)庫設(shè)計 本章主要闡述無線點餐系統(tǒng)的數(shù)據(jù)庫需求、設(shè)計和表的實現(xiàn)

24、。 4.1 數(shù)據(jù)庫的需求分析 在設(shè)計數(shù)據(jù)庫時,不同主題的信息應(yīng)存儲在不同的表中,并遵循以下規(guī)則:同一信息只保存一次;防止刪除有用信息。只有在統(tǒng)一信息只保存一次的前提下,才能減少數(shù)據(jù)冗余性和出錯的可能性。為了防止刪除有用信息,最好的解決方法就是把不同主題的信息放在不同的數(shù)據(jù)表中。 無線點餐系統(tǒng)需要記錄菜譜信息,餐桌信息,訂單信息,用戶信息。對于訂單信息來說,一個訂單會點了很多菜,一個菜會在多個訂單中被點,屬于多對多的關(guān)系,在數(shù)據(jù)表的設(shè)計中容易出現(xiàn)數(shù)據(jù)的冗余。系統(tǒng)中采取了添加一個中間表的方式,將訂單信息和菜品信息分別完整的記錄在自己相應(yīng)的表中,中間表則記錄訂單和菜品的對應(yīng)關(guān)系,減少了數(shù)據(jù)的冗

25、余。 4.2 數(shù)據(jù)庫概念設(shè)計 在概念設(shè)計階段中,我們從用戶的角度看待數(shù)據(jù)與處理要求和約束,產(chǎn)生一個反映用戶觀點的概念模式,然后再把概念模式轉(zhuǎn)換成邏輯模式。將概念設(shè)計從設(shè)計過程中獨立開來,使各階段的任務(wù)相對單一化,設(shè)計復(fù)雜程度大大降低,不受特定DBMS的限制。 (1) 實體和屬性的定義 用戶(用戶ID,用戶名,用戶密碼,用戶,用戶,用戶狀態(tài),用戶類型); 餐桌(餐桌ID,餐桌編號,最正確人數(shù),餐桌是否忙,餐桌圖片,最大人數(shù),預(yù)定時間,是否刪除); 菜品(菜品ID,名稱,圖片,價格,折扣,類型,用時,是否刪除,描述,附加信息); 訂單(訂單ID,總價,總?cè)藬?shù),總菜數(shù),下單時

26、間,預(yù)定時間,訂單狀態(tài),附加信息,描述,用戶ID,餐桌ID); 訂單_菜品(訂單菜品ID,描述,點菜份數(shù),訂單ID,菜品ID) (2) ER關(guān)系圖 系統(tǒng)的ER關(guān)系如圖4.1所示。 圖4.1 ER關(guān)系圖 解釋如下: 1) 一個餐桌上在不同時間可以有多條訂單信息,而一個訂單只能有對應(yīng)著一個餐桌。(換桌或并桌時把訂單對應(yīng)的餐桌ID改掉) 2) 一條訂單信息對應(yīng)一個用戶,一個用戶可以點多個訂單。 3) 一個訂單對應(yīng)多個訂單_菜品記錄,一個訂單_菜品記錄對應(yīng)一個訂單。 4)一個訂單_菜品記錄對應(yīng)一個菜品,一個菜品對應(yīng)多個訂單_菜品。 4.3 數(shù)據(jù)庫邏輯設(shè)計 由于概念設(shè)計的結(jié)果是

27、ER圖,DBMS一般采用關(guān)系型(我們采用的MySQL就是關(guān)系型的DBMS),因此數(shù)據(jù)庫的邏輯設(shè)計過程就是把ER圖轉(zhuǎn)化為關(guān)系模式的過程。由于關(guān)系模型所具有的優(yōu)點,邏輯設(shè)計可充分運用關(guān)系數(shù)據(jù)庫規(guī)化理論,是設(shè)計過程形式化的進行。數(shù)據(jù)庫關(guān)系模式如圖4.2所示。 圖4.2 數(shù)據(jù)庫關(guān)系模式圖 4.4 數(shù)據(jù)庫的實現(xiàn) MySQL是一個快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟件中去。MySQL是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),關(guān)系數(shù)據(jù)庫把數(shù)據(jù)存放在分立的表格中,這比把所有數(shù)據(jù)存放在一個大倉

28、庫中要好得多,這樣做將增加你的速度和靈活性。MySQL是開源的開源意味著任何人都可以使用和修改該軟件,任何人都可以從Internet上下載和使用MySQL而不需要支付任何費用。MySQL數(shù)據(jù)庫服務(wù)器是一個客戶/服務(wù)器系統(tǒng),它由多線程SQL服務(wù)器組成,支持不同的后端、多個不同的客戶程序和庫、管理工具和廣泛的應(yīng)用程序接口(APIs)。 各數(shù)據(jù)表的物理實現(xiàn)如表4.1、表4.2、表4.3、表4.4、表4.5所示。 表4.1 用戶表 表名 用戶表 users 說明 記錄用戶的個人基本信息 編號 字段名 數(shù)據(jù)類型 是否為空 是否為主鍵 是否為外鍵 說明 1 U_

29、id INTEGER N Y N 用戶ID,自動增長 2 U_name VARCHAR(150) N N N 用戶名 3 U_password VARCHAR(150) N N N 密碼 4 U_email VARCHAR(100) Y N N 用戶 5 U_tel VARCHAR(45) Y Y N 6 U_status VARCHAR(45) Y N N 用戶狀態(tài),默認(rèn)”active” 7 U_role VARCHAR(45) Y N N 用戶角色,分為”user”和”admin”。 表4

30、.2 菜品表 表名 菜品表 food 說明 記錄菜品的相關(guān)信息,為各功能模塊服務(wù) 編號 字段名 數(shù)據(jù)類型 是否為空 是否為主鍵 是否為外鍵 說明 1 F_id INTEGER N Y N 菜品編號 2 F_name VARCHAR() Y N N 菜品名稱 3 F_pic VARCHAR(300) Y N N 菜品圖片地址 4 F_price DOUBLE Y N N 菜品單價 5 F_discount DOUBLE Y N N 菜品折扣 6 F_type VARCHAR(100) N

31、 N N 菜品類型 7 F_timetouse DOUBLE Y N N 做菜所需時間 8 F_status VARCHAR(100) Y N N 菜品狀態(tài),是否刪除 9 F_addon VARCHAR(300) Y N N 附加信息 10 F_descript VARCHAR (800) Y N N 描述信息 表4.3 餐桌表 表名 餐桌表 ttable 說明 記錄餐桌的相關(guān)信息,為各功能模塊服務(wù) 編號 字段名 數(shù)據(jù)類型 是否為空 是否為主鍵 是否為外鍵 說明 1 T_id INTEGER

32、 N Y N 餐桌編號 2 T_num INTEGER Y N N 餐桌 3 T_size INTEGER Y N N 餐桌最正確人數(shù) 4 T_flag INTEGER Y N N 是否忙的標(biāo)記 5 T_pic VARCHAR(300) Y N N 餐桌圖片地址 6 T_maxsize INTEGER Y N N 餐桌最大人數(shù) 7 T_pretime DATETIME Y N N 預(yù)定時間 8 T_status TINYINT(1) Y N N 餐桌狀態(tài),是否刪除 表4.4訂單表

33、 表名 訂單表 oorder 說明 記錄訂單的相關(guān)信息,為各功能模塊服務(wù) 編號 字段名 數(shù)據(jù)類型 是否為空 是否為主鍵 是否為外鍵 說明 1 O_id INTEGER N Y N 訂單編號 2 O_totalprice DOUBLE Y N N 訂單總價 3 O_totalpeople INTEGER Y N N 總?cè)藬?shù) 4 F_size INTEGER Y N N 總菜數(shù) 5 O_currenttime DATETIME Y N N 訂單時間 6 O_pretime DATETIME Y

34、N N 預(yù)定時間 7 O_status VARCHAR(100) Y N N 訂單狀態(tài),是否刪除 8 O_addon VARCHAR (300) Y N N 附加信息 9 O_descript VARCHAR(800) Y N N 描述信息 10 U_id INTEGER Y N Y 用戶ID 11 T_id INTEGER Y N Y 餐桌ID 表4.5訂單_菜品表 表名 通話留言表 calldetail 說明 記錄呼叫的相關(guān)信息,為各功能模塊服務(wù) 編號 字段名 數(shù)據(jù)類型 是否為空 是否為主

35、鍵 是否為外鍵 說明 1 Of_id INTEGER N Y 訂單_菜品ID 2 Of_status VARCHAR(100) Y N 菜品數(shù)量 3 Of_addon VARCHAR(300) Y N 訂單_菜品附加信息 4 O_id DATETIME Y N 訂單ID 5 F_id DATETIME Y N 菜品ID 5 詳細(xì)設(shè)計 本章主要闡述無線點餐系統(tǒng)各功能模塊的實現(xiàn)過程。 無線點餐主要由菜品管理模塊,餐桌管理模塊,訂單管理模塊,用戶管理模塊構(gòu)成。模塊中均采用了分層設(shè)計,由Action層取得用戶數(shù)

36、據(jù),Service層做業(yè)務(wù)邏輯的處理,DAO層負(fù)責(zé)和數(shù)據(jù)庫的交互。Spring貫穿在三層中,負(fù)責(zé)Hibernate的配置和bean的依賴注入,方便程序的協(xié)同工作。 菜品管理分層結(jié)構(gòu)的分層如下: 圖5.1 分層結(jié)構(gòu)圖 圖5.2 ManageFood類圖 圖5.3 FoodManageService類圖 5.1 菜單管理模塊設(shè)計 5.1.1 整體設(shè)計 菜單管理分為添加、更新、刪除操作。 添加菜品信息由管理員在添加頁面上輸入。在數(shù)據(jù)庫菜品表中有一列記錄菜品當(dāng)前狀態(tài),新添加進去的記錄為“active”狀態(tài),表示當(dāng)前菜單中菜品可用。 更新操作首先從數(shù)據(jù)庫取得原來的數(shù)據(jù)顯

37、示到頁面上,管理員對相應(yīng)信息做完修改后點擊確認(rèn)按鈕,通過業(yè)務(wù)層之間的調(diào)用將數(shù)據(jù)庫中的信息更新。 刪除分為將記錄從數(shù)據(jù)庫清除和將記錄標(biāo)記為不可用兩種方式,前一種稱之為“硬刪除”,后一種稱之為“軟刪除”,本系統(tǒng)中采取了“軟刪除”的方式,即將要刪除的菜品信息在數(shù)據(jù)庫中標(biāo)記為不可用。在其他顯示、查詢等操作中,對于標(biāo)記為不可用狀態(tài)的數(shù)據(jù)不做操作。 5.1.2管理員輸入信息的傳遞 數(shù)據(jù)信息從前臺由管理員錄入,在Struts的action中分別有相應(yīng)的字段和用戶輸入的信息對應(yīng),在action中獲得用戶輸入的信息后調(diào)用業(yè)務(wù)邏輯Service層的添加菜品方法,將數(shù)據(jù)傳到Service層組成Food實體,

38、然后交由DAO層保存到數(shù)據(jù)庫。數(shù)據(jù)流圖如下: 圖5.4 信息輸入數(shù)據(jù)流圖 5.2訂單管理模塊設(shè)計 5.2.1 整體設(shè)計 用戶開始點餐時首先輸入人數(shù)等信息創(chuàng)建一個新的訂單,狀態(tài)為“new”,點菜過程中訂單的點菜數(shù)據(jù)增加,狀態(tài)認(rèn)為“new”,點菜完成時用戶點擊提交按鈕,訂單狀態(tài)變?yōu)椤皊ubmitted”,用戶付款后訂單狀態(tài)變?yōu)椤皃ayed”。 參見圖5.5“訂單狀態(tài)”狀態(tài)遷移圖。 圖5.5 訂單狀態(tài)遷移圖 5.2.2用戶點餐功能 用戶首先在新增訂單頁面輸入就餐人數(shù)等信息,點擊提交按鈕后新的訂單創(chuàng)建,頁面跳轉(zhuǎn)到點菜頁面,用戶瀏覽菜單信息,選擇要點的菜,使用數(shù)字輸入框左、右兩

39、邊的加減符號改變要點的份數(shù),點擊“點餐”按鈕將選擇的菜品加入訂單。所有要點的菜全部完成時,可以進入查看詳情頁面查看當(dāng)前已點了哪些菜,并可以進行加菜、減菜操作。信息確認(rèn)無誤后點擊“提交訂單”按鈕將點菜信息保存到數(shù)據(jù)庫。 同時,系統(tǒng)會發(fā)送一封到點餐者的注冊。整個點餐過程完成。 圖5.6用戶點餐時序圖 5.2.3通知功能 當(dāng)用戶提交訂單后系統(tǒng)根據(jù)點餐人的注冊信息,向點餐人的發(fā)送一封點餐成功的??刹捎肑avaMail的相關(guān)功能,使用pop3或SMTP協(xié)議發(fā)送,要求發(fā)送者即系統(tǒng)默認(rèn)用來發(fā)送的必須支持Pop3或者SMTP協(xié)議。 5.2.4 換桌、并桌功能 顧客在就餐過程中如有需要換桌或并桌

40、可以由以下方式實現(xiàn): 換桌:將當(dāng)前訂單號和目的桌號由用戶輸入,后臺根據(jù)輸入的數(shù)據(jù)將當(dāng)前訂單的桌號改為目的桌號。 并桌:將用戶要求的兩個訂單桌號改為同一個。 5.2.4 結(jié)賬功能 管理員查詢到當(dāng)前要結(jié)賬的訂單,確認(rèn)訂單信息與應(yīng)付款后點擊付款按鈕,相應(yīng)訂單信息改為已付款。 5.3 用戶管理模塊設(shè)計 5.3.1 整體設(shè)計 用戶管理模塊的主要功能有用戶注冊,用戶登陸,密碼修改,個人信息修改,用戶角色管理,權(quán)限管理。 5.3.2用戶注冊功能 用戶點菜時需要先注冊為系統(tǒng)的用戶,點擊注冊轉(zhuǎn)到注冊界面,填寫個人信息后點擊注冊按鈕,確認(rèn)信息無誤后注冊成功,轉(zhuǎn)到用戶登陸界面。 5.3.3 角色

41、管理功能 用戶角色分為管理員和普通用戶兩種。管理員可以在用戶管理界面設(shè)置用戶的角色。角色切換后相應(yīng)的權(quán)限也做改變。 5.3.3 個人信息修改功能 已登陸用戶可以修改自己注冊的個人信息,系統(tǒng)分配的用戶ID和用戶角色不可以更改,應(yīng)由管理員進行管理。 5.4 Web Service 接口設(shè)計 訂單管理模塊Web Service提供以下接口: (1)添加訂單接口: public Oorder addOrder(int peopleNumber,int tid,String oaddon,String odescript,int uid); peopleNumber:就餐人數(shù); tid

42、:餐桌ID; oaddon:訂單附加信息; odescript訂單描述; uid:用戶ID; 返回Oorder實體。 (2)點菜功能接口: public boolean orderAddFood(int oid,Map tempMap); oid:訂單ID; tempMap:菜品ID和需要份數(shù)的鍵值對; 返回boolean,標(biāo)記點菜是否成功。 (3)減菜功能接口: public boolean deleteFood(int orderID,int foodID); orderID:訂單ID; foodID:要刪除的菜品ID;

43、返回boolean標(biāo)記刪除是否成功。 (4)換桌功能接口: public boolean changeTable(int orderID, int currentTableID, int desTableID); orderID:訂單ID; currentTableID:當(dāng)前桌編號; desTableID:要換到的桌號; 返回boolean標(biāo)記換桌是否成功。 (5)更改就餐人數(shù)接口: public boolean changePeopleNumber(int orderID,int peopleNumber); orderID:訂單ID; peopleNumber:就餐人數(shù)

44、; 返回boolean標(biāo)記更改人數(shù)是否成功。 (6)計算訂單總價接口: public double getTotalPrice(int orderID); orderID:訂單ID; 返回訂單總價; (7)付款功能接口: public boolean payOrder(int oid); oid:訂單ID; 返回boolean標(biāo)記付款是否成功。 服務(wù)器端向外部發(fā)布Web Service時,在web.xml中配置AxisServlet的攔截器,處理Web Service請求。Axis2和Spring結(jié)合使用,將上述接口的信息配置在service.xml文件中,由Spring

45、管理Web Service中的bean實例,將接口提供的功能發(fā)布到外部。 6 系統(tǒng)實現(xiàn) 6.1 開發(fā)環(huán)境與相關(guān)技術(shù) (1)Eclipse Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。Eclipse平臺的目的,是提供多種軟件開發(fā)工具的整合機制,這些工具會成為Eclipse外掛程序,平臺必須用外掛程序加以擴充才有用處。Eclipse設(shè)計美妙之處,在于所有東西都是外掛,除了底層的核心以外。這種外掛設(shè)計讓Eclipse具備強大擴充性,但更重要的是,此平臺提供一個定義明確的機制,讓各種外掛程序共通合作(

46、透過延伸點extension points)與貢獻(contributions)),因此新功能可以輕易且無縫地加入平臺。 (2)Tomcat Tomcat是一個JSP/Servlet容器,它是在Sun公司的JSWDK基礎(chǔ)上發(fā)展起來的一個JSP和Servlet規(guī)的標(biāo)準(zhǔn)實現(xiàn),使用Tomcat可以體驗JSP和Servlet的最新規(guī)。Tomcat具有開源免費,小巧靈活等有點,適合中小型的應(yīng)用。 (3) MySQL MySQL速度快,開源免費,支持多種操作系統(tǒng),適合一般中小應(yīng)用。在后臺程序中我們使用MySQL自帶的C API的方式對其進行操作,在Web查詢模塊中我們使用JDBC接口。 (4

47、) Struts Struts最早是作為Apache Jakarta項目的組成部分,項目的創(chuàng)立者希望通過對該項目的研究,改進和提高JavaServer Pages 、Servlet、標(biāo)簽庫以與面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts是建立在MVC這種公認(rèn)的好的模式上的,Struts在M、V和C上都有涉與,但它主要是提供一個好的控制器和一套定制的標(biāo)簽庫上,也就是說它的著力點在C和V上,因此,它天生就有MVC所帶來的一系列優(yōu)點,如:結(jié)構(gòu)層次分明,高可重用性,增加了程序的健壯性和可伸縮性,便于開發(fā)與設(shè)計分工,提供集中統(tǒng)一的權(quán)限控制、校驗、國際化、日志等等; (5) Spring Spring是一個開源

48、框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由E完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 (6) Hibernate Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用

49、中使用,最具革命意義的是,Hibernate可以在應(yīng)用E的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 (7) Axis2 Apache Axis2項目是一個基于Java語言的Webs系統(tǒng)服務(wù)和客戶端的實現(xiàn)。為了從Apache Axis 1.0中獲取教訓(xùn),Apache Axis2提供了一個完整的對象模型和模塊化體系結(jié)構(gòu),這樣可以很容易的添加功能以與支持一個新的與Webs相關(guān)的說明和建議。Axis2可以讓用戶很容易的執(zhí)行以下任務(wù): 發(fā)送SOAP消息 接收和處理SOAP消息 從一個普通的Java類建立Web 用WSDL來建立實現(xiàn)服務(wù)和客戶端的實現(xiàn)類 很容易的從一個服務(wù)來獲

50、取WSDL 發(fā)送和接收帶有附件的SOAP消息 建立或者使用基于REST的Web 6.2 功能模塊的實現(xiàn) 6.2.1菜單管理功能模塊的實現(xiàn) 業(yè)務(wù)邏輯相關(guān)操作放在Service中處理,數(shù)據(jù)從Action層中傳入。 添加菜品方法如下: /* * see .wirelessorder.Service.FoodManageService#addFood(java.lang.String, java.lang.String, double, int, int) */ Override publicboolean addFood(String f_name, Strin

51、g f_pic, double f_price, double fdiscount,double timeToUse, String f_type,String fdescript,String faddon) { Food food=new Food(); food.setFname(f_name); food.setFpic(f_pic); food.setFprice(f_price); food.setFtimeToUse(timeToUse); food.setFtype(f_type); fo

52、od.setFdescript(fdescript); food.setFaddOn(faddon); food.setFdiscount(fdiscount); food.setFstatus(ONSALE); foodDao.addFood(food); logger.info("In FoodManageServiceImpl--->Add Food successfull"); returntrue; } 該方法接收Action層傳入的菜品信息,分別為Food實體設(shè)置他的屬性,然后調(diào)用DAO層的保存實體方法將信息存入數(shù)據(jù)庫。 分頁獲得菜

53、單信息方法如下: Override public PageResultSet listFood(String foodType,int pageSize,int page) { if(foodType==null||"0".equals(foodType)) { hql="from Food f where f.fstatus='onsale'"; } else { hql="from Food f where f.fstatus='onsale' and f.ftype='"+foodType+"'"; } int totalRow = f

54、oodDao.queryRowCount(hql); // 計算總記錄個數(shù) PageInfo pageinfo = new PageInfo(totalRow, pageSize, page); //獲取該頁的記錄 List list = foodDao.listFood(hql, pageinfo.getBeginIndex(), pageinfo.getPageSize()); PageResultSet pageResultSet = new PageResultSet(); pageResu

55、ltSet.setList(list); pageResultSet.setPageInfo(pageinfo); logger.info("In FoodManageServiceImpl--->List Food successfull"); return pageResultSet; } 該方法承受要顯示的菜品狀態(tài)、分頁大小和要顯示的頁數(shù),返回數(shù)據(jù)的信息和分頁信息。 6.3 點菜功能模塊的實現(xiàn) 6.3.1添加菜品的實現(xiàn) SuppressWarnings({ "rawtypes" }) Override publicboolean orderAdd

56、Food(int oid,Map tempMap) { String hql="from Oorder o where o.oid='"+oid+"'"; oorder=orderDao.getOrderByString(hql); if(oorder!=null) { //Iterator> iterator=tempMap.entrySet().iterator(); for(Iterator> ite = tempMap.entryS

57、et().iterator(); ite.hasNext();){ Map.Entry entry = (Map.Entry) ite.next(); int foodId=(Integer) entry.getKey(); String addCount=entry.getValue().toString(); OrderFood of=new OrderFood(); Food offood=new Food(); offood=foodDaoIn

58、Order.getFoodByID(foodId); of.setOfstatus("ordered"); of.setOfaddOn(addCount); of.setOforder(oorder); of.setOffood(offood); orderFoodManageDao.saveOrderFood(of); } oorder.setOstatus("submitted"); orderDao.updateOrder(oorder); logger.in

59、fo("In OrderManageServiceImpl--->Order Add Food successfull"); returntrue; } else { logger.info("In OrderManageServiceImpl--->Order Add Food failed"); returnfalse; } } 該方法承受訂單ID和當(dāng)前訂單對應(yīng)的菜品的ID和數(shù)量組成的Map鍵值對,遍歷Map獲得每一個菜品ID和數(shù)量,將這些信息從插入到訂單_菜品中間表中,以完成點餐信息的記錄。 6.3.2 通知的實現(xiàn) 代碼段如下: Da

60、te dt=new Date(); MailSenderInfo mailInfo = new MailSenderInfo(); mailInfo.setMailServerHost("smtp. ."); mailInfo.setMailServerPort("25"); mailInfo.setValidate(true); mailInfo.setUserName("466741313 ."); mailInfo.setPassword("xxxxxx");//

61、您的密碼 mailInfo.setFromAddress("466741313 ."); mailInfo.setToAddress("490290793 ."); mailInfo.setSubject("訂單提交成功"); mailInfo.setContent("您點菜的訂單已于"+dt.toLocaleString()+"創(chuàng)建成功,感謝您的使用"); //這個類主要來發(fā)送 SimpleMailSender sms = new SimpleMailSender(); //sms.sendTex

62、tMail(mailInfo);//發(fā)送文體格式 try{ sms.sendHtmlMail(mailInfo);//發(fā)送html格式 } catch(Exception mailExc) { } 這段代碼設(shè)置發(fā)送必須要的一些屬性,通過SMTP服務(wù)器向點餐用戶的發(fā)送一封點餐成功的。 6.4 主要界面 (1) 用戶瀏覽頁面: 用戶進入餐廳首頁可以瀏覽餐廳環(huán)境和特色菜相關(guān)信息,采用圖片輪轉(zhuǎn)方式顯示。 圖6.1 訪客瀏覽頁面 (2) 個人信息管理頁: 在此頁面,用戶可以完成個人信息修改。其界面如圖6.2所示。 圖6.2

63、個人管理頁面 (3) 添加菜品頁: 管理員可在此頁面添加新的菜品信息。其界面如圖6.3所示。 圖6.3 添加菜品頁面 (4) 菜單管理頁: 列出了系統(tǒng)中已有菜品情況,可以點擊修改菜品和刪除,可按分類顯示。其界面如圖6.4所示。 圖6.4 菜單管理頁面 (5) 修改菜品頁: 在此頁面,管理員可以更改已有菜品的。其界面如圖6.5所示。 圖6.5 修改菜品頁面 (6) 新增訂單頁: 在此頁面,用戶可以填寫就餐人數(shù),描述和附加信息。其界面如圖6.6所示。 圖6.6 新增訂單頁面 (7) 點餐列表頁: 在此頁面,用戶可以選擇要點的菜與份數(shù)。點餐完成可以

64、查看詳情并確認(rèn)。其界面如圖6.7所示。 圖6.7 點餐列表頁面 (8) 查看訂單頁: 用戶可以在此頁面查看已點菜的信息,可以繼續(xù)加菜,也可以刪除不要的菜。確認(rèn)無誤后提交訂單。其界面如圖6.8所示。 圖6.8 查看訂單頁面 (9) 訂單列表頁: 管理員可以在此頁面查看所有訂單信息,普通用戶可以查看自己的所有訂單。其界面如圖6.9所示。 圖6.9 查看訂單頁面 6.5 數(shù)據(jù)庫操作 在Web接入方式的數(shù)據(jù)庫操作上,為了更方便的實現(xiàn)對數(shù)據(jù)庫并發(fā)訪問操作的管理,我們使用Hibernate框架進行數(shù)據(jù)庫的操作。 首先配置一個Hibernate JDBC的配置文件,如下所示:

65、 jdbc.driverClassName=.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/wirelessorder?useUnicode=true&characterEncoding=utf-8 jdbc.username=root jdbc.password=123456 #SQL dialect hibernate.dialect=org.hibernate.dialect.MySQLDialect #JDBC connection pool hibernate.connection.pool_size=

66、1 #Enable Hibernate's automatic session context management hibernate.current_session_context_class=thread #Disable the second-level cache hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider #Echo all executed SQL to stdout hibernate.show_sql=true #Drop and re-create the database schema on startup hibernate.hbm2ddl.auto=update 在實際操作中將Hibernate整合到Spring中,所以Hibernate的數(shù)據(jù)源(Datasource)與SessionFactory 都寫在ApplicationContext.xml文件中。由Spring啟動時將這些信息加載到系統(tǒng)中。其中ApplicationContext.

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲