【基于QT平臺的點餐系統(tǒng)的設計與實現(xiàn)(論文)6600字】_第1頁
【基于QT平臺的點餐系統(tǒng)的設計與實現(xiàn)(論文)6600字】_第2頁
【基于QT平臺的點餐系統(tǒng)的設計與實現(xiàn)(論文)6600字】_第3頁
【基于QT平臺的點餐系統(tǒng)的設計與實現(xiàn)(論文)6600字】_第4頁
【基于QT平臺的點餐系統(tǒng)的設計與實現(xiàn)(論文)6600字】_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

引言早期餐飲企業(yè)的管理主要是通過手工操作,依靠紙質(zhì)的數(shù)據(jù)資料來管理記錄,通過手工方式匯總和統(tǒng)計企業(yè)的經(jīng)營情況。這樣方式存在較大的隱患,不利于管理,如果數(shù)據(jù)資料發(fā)生意外,講給企業(yè)造成嚴重的經(jīng)濟損失。這些數(shù)據(jù)資料的管理費時費力,還占用較大的空間,無法保證準確率,總得來說效率較低,不易于餐飲企業(yè)的管理。加上2020年疫情大爆發(fā)以來,餐館受到了前所未有的影響,未知的疫情因素導致人們不敢進入到餐館就餐??紤]客戶在疫情環(huán)境下就餐的安全,提高就餐品質(zhì),因此設計了基于Qt平臺設計點餐的點餐系統(tǒng)。一方面為消費者解決以上外出就餐的顧慮,另一方面推動著社會經(jīng)濟的緩慢復蘇。1緒論1.1研究的目的和意義1.1.1研究的目的1.1.2研究的意義對于開發(fā)點餐系統(tǒng)的意義就是:提升餐廳工作人員的效率,例如廚房可以可視化進行精準做菜,服務人員可以精準上菜等。而且可以存儲大量訂餐數(shù)據(jù),便于后期的賬目管理。當然對于疫情的防控工作也承擔起了相應的責任。對于成功的交易訂單,用戶還可對商家服務體驗和美食質(zhì)量,進行在線評價,以促進和提高食品和服務的質(zhì)量。1.2國內(nèi)外研究現(xiàn)狀目前,我國餐飲企業(yè)的發(fā)展迅速向規(guī)范化、工業(yè)化、信息化發(fā)展邁進。國內(nèi)外餐飲管理系統(tǒng)眾多,功能大致相同,但是標準不一致,相同點都是采用DataBase來存儲信息。由于歐美等發(fā)達國家計算機水平較高,發(fā)展的時間長,歐洲和美國等發(fā)達國家也首次建立了餐飲管理體系。一些著名的快餐連鎖企業(yè)有了長時間的摸索和經(jīng)驗積累,從而制定了產(chǎn)業(yè)化的操作步驟。2系統(tǒng)需求分析2.1可行性分析可行性分析通俗來講也就是說設計的這款程序能不能在社會中實用。那么首要就要計算這款邏輯思路,防止在后期的規(guī)劃出現(xiàn)矛盾,導致程序不能很好的使用于大眾中;其次,我們要設計好后期的維護工作,包括數(shù)據(jù)庫的維護,防止出現(xiàn)數(shù)據(jù)雜亂無章。2.2.1系統(tǒng)用戶角色分析點餐系統(tǒng)的用戶角色主要分為就餐客戶,廚房工作人員以及前臺服務人員。管理員是系統(tǒng)開發(fā)階段指定生成的用戶名不可更改,但是可以自己修改密碼,管理員擁有系統(tǒng)的做高權(quán)限,主要是維護系統(tǒng)的信息流。2.2.2系統(tǒng)的功能性需求分析基于QT平臺的點餐系統(tǒng)應該具有以下的功能點:用戶登錄功能:餐桌管理:菜品管理收銀管理下單管理員工管理3系統(tǒng)的總體設計3.1系統(tǒng)的功能架構(gòu)設計主要分為五大模塊:1.登錄2.前臺3.廚房4.管理員5.用戶這5個頁面;可以將客戶,廚房,服務人員三者進行準確的聯(lián)系,客戶可以將點餐的內(nèi)容發(fā)送給廚房,廚房則迅速的調(diào)整知道需要做什么菜,服務人員通過平臺準確的找到客戶的位置,做到快捷,精準,高效一體化服務,保障客戶的用餐快捷,節(jié)約更多的時間成本。圖1系統(tǒng)的功能架構(gòu)Fig.1Functionalarchitectureofthesystem3.2系統(tǒng)主要功能設計及介紹3.2.1登錄模塊首先先對數(shù)據(jù)庫進行建表,然后用代碼將數(shù)據(jù)庫進行連接,通過響應登錄按鈕對賬號密碼進行驗證登錄;如果匹配成功,則通過數(shù)據(jù)庫中的已錄用人員情況,分別判斷其為哪一類人員,然后分別登錄到自己所屬的界面。3.2.2用戶模塊登錄到用戶模塊,用戶可以登錄界面即使找到空座位,提高座位的就座率,然后呼叫前臺進行點餐服務。3.2.3前臺模塊登錄到前臺模塊,當前臺被用戶呼叫后,前臺將本店所屬的電子菜單呈現(xiàn)給用戶,根據(jù)用戶的需要將總金額進行結(jié)算,結(jié)算后訂單呈現(xiàn)給廚房端。3.2.4廚房模塊登錄到廚房模塊,當前臺的訂單完成后,會及時更新到廚房管理平臺,根據(jù)前臺下的訂單去完成相應的上菜功能。這樣的好處是避免單子的混亂導致做錯菜品,提高廚房上菜的效率。3.2.5管理員模塊登錄到該模塊,管理員通過登平臺后,1.可以對員工的表現(xiàn)進行打分評價工作,包括新入職員工的信息錄入和離職員工的信息刪除工作;2.如果餐廳改良門店的環(huán)境,可以對一些餐桌進行增刪改查操作;3.可以對菜品的信息及時的修改,添加以及下架,也可以對菜品的圖片進行添加,以及對菜品的定價進行及時的修改。4.對收款的支付寶和微信二維碼的二維碼修改。3.3數(shù)據(jù)庫的設計根據(jù)概念去設計數(shù)據(jù)庫,為了建設一個具有抽象和分類的管理系統(tǒng)概念的模型,去實現(xiàn)每個用戶需要。根據(jù)這些需求,建立起每個程序需求所對應的E-R圖,然后確立起對應的類型和物理屬性。因此,這里有必要把重點放在體現(xiàn)系統(tǒng)對應的需求方法上,而不是考慮特定的實現(xiàn)問題。3.3.1數(shù)據(jù)庫的設計原則軟件在開發(fā)的過程中,完成可行性分析之后就可以進行軟件的功能性設計,設計功能是往往牽扯到了數(shù)據(jù)流,所以在程序的設計過程中數(shù)據(jù)庫設計的合理性影響著設計人員的開發(fā)效率。系統(tǒng)中的數(shù)據(jù)都存儲在數(shù)據(jù)庫中,來解決數(shù)據(jù)的持久化問題。數(shù)據(jù)庫和數(shù)據(jù)表的名稱一律使用國際標準化基本英文字符,盡量見名聞其義。數(shù)據(jù)的的設計過程中要符合三范式原則。字符集為UTF-8。不能在任何地方使用駝峰命名法。3.3.2數(shù)據(jù)庫概要設計本系統(tǒng)的數(shù)據(jù)模型采用E-R圖,即實體聯(lián)系圖這種簡單明了的表達方式對實體進行描述,E-R圖比較接近人類的思維模式,而且很容易通過E-R圖將設計思想轉(zhuǎn)換為實際數(shù)據(jù)庫的數(shù)據(jù)模型[1]。根據(jù)該系統(tǒng)可進行的相關(guān)操作過程:管理員對菜品,用戶訂單進行統(tǒng)一管理操作,用戶通過點餐下單在前臺提交訂單再交給管理員管理,這樣形成一個閉環(huán)模式,提高了高效性和可用性。圖2系統(tǒng)流程圖Fig.3Systemflowchart用戶:用戶的實體信息主要存儲了用戶的賬號密碼,并對其分類,E-R圖如圖3所示。圖3用戶實體屬性圖Fig.3Userentityattributemap(2)餐桌實體信息:主要為用戶提供具體桌號的使用狀態(tài),E-R圖如圖4所示。圖4餐桌實體屬性圖Fig.4Tableinformationentityattributemap(3)員工:員工實體主要存儲了員工的編號信息,姓名,職位等相關(guān)信息,在辦理入職離職時來操作相關(guān)信息,E-R圖如圖5所示。圖5員工實體屬性圖Fig.5Employeeentityattributemap(4)菜品:菜品主要對相關(guān)菜品的信息進行存儲,方便用戶下單時對一些菜類進行了解,從而根據(jù)喜好下單。E-R圖如圖6所示。圖6菜品信息實體屬性圖Fig.6Commodityinformationentityattributemap(5)訂單實體:訂單主要是針對具體的餐桌所提交的訂單進行統(tǒng)一存儲,方便后期用戶開票及管理。E-R圖如圖7所示。圖7菜品種類實體屬性圖Fig.7Orderentityattributemap3.3.3數(shù)據(jù)庫的邏輯設計表1餐桌信息表Tab.1Tableinformation字段名稱字段類型最大長度是否可空是否主鍵描述IDint11否是序號TableNamevarchar255是否餐桌名稱Namevarchar255是否名稱Saleint11是否數(shù)量Statusvarchar255是否狀態(tài)表2菜單信息表Tab.2Menuinformationtable字段名稱字段類型最大長度是否可空是否主鍵描述IDint11否是序號Nametext65535是否名稱Pricedouble是否單價Saleint11是否數(shù)量Picturevarchar255是否照片外鍵Notelongtext4294967295是否備注表3點餐記錄信息表Tab.3Orderingrecordinformationsheet字段名稱字段類型最大長度是否可空是否主鍵描述IDint11否是序號DateTimedatetime是否日期時間Namelongtext4294967295是否名稱Totaldouble是否總價Tablevarchar255是否餐桌名稱Statusvarchar255是否狀態(tài)Notelongtext4294967295是否備注表4支付信息表Tab.4Paymentinformationsheet字段名稱字段類型最大長度是否可空是否主鍵描述Namevarchar255否是名稱PicBinmediumblob16777215是否照片數(shù)據(jù)表5圖片信息表Tab.5Pictureinformationtable字段名稱字段類型最大長度是否可空是否主鍵描述Namevarchar255否是名稱PicBinmediumblob16777215是否照片數(shù)據(jù)表6員工信息表Tab.6Employeeinformationsheet字段名稱字段類型最大長度是否可空是否主鍵描述IDint11否是序號Namelongtext4294967295是否姓名Borndate是否出生日期Telephonelongtext4294967295是否電話Joblongtext4294967295是否職位Notelongtext4294967295是否備注表7餐桌信息表Tab.7Tablesinformationtable字段名稱字段類型最大長度是否可空是否主鍵描述Namevarchar255否是名稱Statusvarchar255是否狀態(tài)Notevarchar255是否備注表8用戶信息表Tab.8Userinformationtable字段名稱字段類型最大長度是否可空是否主鍵描述IDint11否是序號Namevarchar255是否用戶名passwordvarchar255是否密碼sortvarchar255是否用戶類別notevarchar255是否備注4詳細設計及實現(xiàn)4.1開發(fā)與平臺本次開發(fā)使用的主要開發(fā)工具為QtCreator,版本4.3.0;數(shù)據(jù)版本為:5.7.24-win32;使用MySql可視化平臺NavicatPremium15;語言使用C++進行開發(fā),通過新建文件夾或項目,選擇Application來建立項目最基礎的框架。在此基礎之上,建立.ui文件,進行圖像設計。再到Sources文件當中用c++程序邏輯編寫.cpp文件去實現(xiàn)具體的功能,包括信號與槽機制來確定是具體的哪一個控件發(fā)出了信號,確定其發(fā)出的是哪個信號,從而來實現(xiàn)一些按鈕的功能,以及通過Connect連接機制去調(diào)用MySQL,對數(shù)據(jù)庫進行連接去調(diào)用及導入數(shù)據(jù)。4.2數(shù)據(jù)庫的實現(xiàn)通過前期的需求分析后,設計出來了數(shù)據(jù)庫的E-R圖,來表示系統(tǒng)中的實體及其屬性。那么接下來的重點就是根據(jù)E-R圖設計規(guī)劃具體的數(shù)據(jù)庫主鍵及字段的設計。圖7餐桌表的實現(xiàn)Fig.7Therealizationofdiningtabletable圖8菜單表的實現(xiàn)Fig.8Therealizationofmenutable圖9點餐記錄表的實現(xiàn)Fig.9Therealizationoforderingtable圖10員工表的實現(xiàn)Fig.10Implementationofemployeetable圖11用戶表的實現(xiàn)Fig.11Implementationofusertable4.3主要功能的實現(xiàn)登錄模塊:通過輸入用戶密碼于數(shù)據(jù)庫中user表的相應字段判別屬于哪一類用戶,對應進入所屬的界面。具體實現(xiàn)如圖12所示。圖12用戶登錄界面Fig.12Userlogininterface員工信息管理界面:登錄系統(tǒng)之后可以了解員工的姓名、生日、手機號碼等基本信息,在此界面右擊可以選擇插入、刪除、提交、撤銷等功能。如果想要編輯員工的信息雙擊單元格之后即可編輯,編輯之后需要右鍵選擇提交才能夠?qū)?shù)據(jù)提交到后臺數(shù)據(jù)庫進行永久修改,不提交的數(shù)據(jù)刷新之后又恢復到原始數(shù)據(jù)。選擇一行之后右擊刪除即可刪除員工的信息。圖13員工信息界面Fig.13Employeeinformationinterface圖14右擊功能菜單界面Fig.14Rightclickthefunctionmenuinterface餐桌信息管理模塊:登錄到系統(tǒng)之后可以查看餐桌的名稱、狀態(tài)和備注信息,狀態(tài)分為空閑和用餐兩種狀態(tài)。如果想要編輯餐桌的信息雙擊單元格之后即可編輯,編輯之后需要右鍵選擇提交才能夠?qū)?shù)據(jù)提交到后臺數(shù)據(jù)庫進行永久修改,不提交的數(shù)據(jù)刷新之后又恢復到原始數(shù)據(jù)。圖15餐桌信息界面Fig.15Tableinformationinterface圖16右擊功能菜單界面Fig.16Rightclickthefunctionmenuinterface餐單信息模塊:菜單信息模塊主要包括名稱價格圖片展示和備注字段,一般登錄到該頁面可以及時更新菜品的種類及價格,讓客官更加直觀的了解到飯店的透明價格。通過修改或添加菜品照片來為客官展示最真實的菜品。圖17菜單信息Fig.17Menuinformation前臺功能模塊:使用前臺賬號登錄后可以看到訂單的相關(guān)信息??梢圆榭从唵蔚臅r間、名稱、消費金額、狀態(tài)和備注信息,在此界面右擊可以選擇插入、刪除、提交、撤銷等功能。如果想要編輯餐桌的信息雙擊單元格之后即可編輯,編輯之后需要右鍵選擇提交才能夠?qū)?shù)據(jù)提交到后臺數(shù)據(jù)庫進行永久修改,不提交的數(shù)據(jù)刷新之后又恢復到原始數(shù)據(jù)。圖19前臺界面Fig.19Frontdeskinterface后廚管理功能模塊:通過后廚管理賬號登錄之后,可以看到用戶的訂單信息,每個訂單屬于的桌子,菜品名稱和售價,后廚的工作人員根據(jù)訂單的順序進行做菜,做完之后即可在可視化程序中點擊上菜,那么這個訂單就會消失,按照時間順序的下一個訂單會依次上調(diào)。圖20廚房界面Fig.20Kitcheninterface用戶模塊:通過登錄到用戶的系統(tǒng)頁面后,用戶可以及時看到現(xiàn)在的餐桌用餐情況,例如某桌有人坐,用戶的界面上則會顯示這個桌為暗灰色,即為用餐狀態(tài),若沒有人座,則顯示空閑狀態(tài)。用戶可以從而根據(jù)餐桌的狀態(tài)選擇就座。圖21用戶登錄界面圖Fig.21Userlogininterface5系統(tǒng)的測試5.1系統(tǒng)測試的目的系統(tǒng)的主要功能完善需要通過測試來完成,包括基于QT平臺的點餐系統(tǒng)開發(fā)階段全部完成之后,對已經(jīng)完成的功能進行不斷地測試,要相對于開始的設計邏輯進行對比,判別設計邏輯是否存在偏差,為了驗證程序能否滿足客官的基本需求。在測試的時候要觀察一下程序的各個功能界面的設計是不是很簡練,顏色搭配以及功能布局有沒有凌亂的感覺,對于一個界面程序來說對第一印象也很重要,所以界面細節(jié)也是非常重要。系統(tǒng)每個模塊都需要重復操作測試,不管哪里存在邏輯上的問題,或者是功能不能達到用戶需求,就需要我及時作出改正。5.2測試的方法系統(tǒng)測試方法可以分為以下兩種:(1)黑盒測試:即并不能清楚的了解程序內(nèi)部的結(jié)構(gòu),只是對外部的功能與數(shù)據(jù)和信息進行測試,其又被稱為功能測試。(2)白盒測試:對結(jié)構(gòu)進行測試。綜合考慮之后,本系統(tǒng)最終采用了黑盒測試方法中的邊界分析測試和等價類劃分測試來進行測試。5.3系統(tǒng)的功能性測試這一塊我對登錄界面、餐單信息界面和管理員登錄后端界面分別測試其主要功能。首先測試的是用戶的登錄信息,能夠和數(shù)據(jù)庫中的對應字段相匹配,則登錄成功,反之則失敗。其次對餐單信息界面進行對餐品圖片信息插入操作。最后對后端平臺右鍵出現(xiàn)的增刪改查操作進行測試。登錄模塊測試及模塊測試用例如表9、表10所示。表9管理員登錄模塊測試用例表Table9Loginmoduletestcasetable用例編號操作描述輸入值期望結(jié)果實際結(jié)果是否正常001管理員登錄界面,輸入登錄信息賬號:qt密碼:123成功進入系統(tǒng)成功進入系統(tǒng)是002管理員登錄界面,輸入登錄信息賬號:qqq密碼:123提示提示用戶名或者密碼錯誤!提示提示用戶名或者密碼錯誤!是003管理員登錄界面,輸入登錄信息賬號:szx密碼:111提示提示用戶名或者密碼錯誤!提示用戶名或者密碼錯誤!是表10模塊測試用例表Table10Testcasetableofgeneraluserloginmodule用例編號操作描述輸入值期望結(jié)果實際結(jié)果是否正常001用戶登錄界面,輸入登錄信息賬號:admin密碼:123456成功登錄成功登錄是002用戶登錄界面,輸入登錄信息賬號:王五密碼:123456提示用戶名或者密碼錯誤!提示用戶名或者密碼錯誤!是003用戶登錄界面,輸入登錄信息賬號:張三密碼:111111提示用戶名或者密碼錯誤!提示用戶名或者密碼錯誤!是004用戶登錄界面,輸入登錄信息賬號:張三密碼:123456提示用戶名或者密碼錯誤!提示用戶名或者密碼錯誤!是005餐單信息界面添加一張照片一張菜品照片保存到數(shù)據(jù)庫保存成功是006管理員界面右鍵操作增刪改查保存到數(shù)據(jù)庫保存成功是6結(jié)語基于QT平臺的點餐系統(tǒng)的開發(fā)已經(jīng)進入最后階段,在這一次獨立的程序開發(fā)過程中,我體會到了獨自開發(fā)程序的難點,之前都是分配小組一起做,所以這次項目的開發(fā)得到了很好的鍛煉,一些知識的缺漏,讓我在不會時及時查閱得到了補充,而更重要的是細節(jié),在項目中,我可能就是一個符號的問題就導致一天處于緊繃狀態(tài),細節(jié)決定成敗,在整個項目開發(fā)中開發(fā)中的各個流程都需要認真對待,不管需求分析、結(jié)構(gòu)規(guī)劃、模塊劃分以及最后的功能實現(xiàn)和系統(tǒng)測試,都需要踏踏實實,耐心的去對待,一步一步的來,如果稍有疏忽,程序在某個環(huán)節(jié)出現(xiàn)了問題,后續(xù)的工作將很難進展且返工起來也很繁瑣。在開發(fā)過程中,我遇到了很多的難題,比如在程序開發(fā)剛開始時的需求分析過程中,我在想這個系統(tǒng)應該具備什么樣的功能,起初我是按照自己的想法去劃分功能,但是當我在網(wǎng)上參考其他人做的這個系統(tǒng)時發(fā)現(xiàn)我劃分的功能有很多不足之處,于是在整合自己和別人的功能之后,將此次開發(fā)的系統(tǒng)包含的功能確定下來。但是開

溫馨提示

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

評論

0/150

提交評論