版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
摘要第二章相關(guān)技術(shù)基礎(chǔ)2.1數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫技術(shù)是現(xiàn)代信息科學與技術(shù)的重要組成部分,是計算機數(shù)據(jù)處理與信息管理系統(tǒng)的核心。數(shù)據(jù)庫技術(shù)研究和解決了計算機信息處理過程中大量數(shù)據(jù)有效地組織和存儲的問題,在數(shù)據(jù)庫系統(tǒng)中減少數(shù)據(jù)存儲冗余、實現(xiàn)數(shù)據(jù)共享、保障數(shù)據(jù)安全以及高效地檢索數(shù)據(jù)和處理數(shù)據(jù)。2.1.1數(shù)據(jù)庫的選擇由于本系統(tǒng)涉及大量數(shù)據(jù)存儲、管理與檢索,需要有高性能的后臺數(shù)據(jù)庫支持,選擇合適的數(shù)據(jù)庫十分重要。目前大型數(shù)據(jù)庫不少,如OraCle、DBZ、SQLServer等。通過對其性能及功能的綜合比較,本系統(tǒng)選擇了SQLServer數(shù)據(jù)庫。在處理大量數(shù)據(jù)報表的過程中,采用ADO數(shù)據(jù)訪問模式+VSFlexGrid控件,進行數(shù)據(jù)讀取及處理。SQLServer是基于SQL客戶/服務器(C/S)模式的數(shù)據(jù)庫系統(tǒng),建立在MicrosoftWindowsNT平臺上,提供強大的企業(yè)數(shù)據(jù)庫管理功能。SQLServer2000具有大型數(shù)據(jù)庫的一些基本功能,支持事務處理功能、支持數(shù)據(jù)庫加密、設置用戶組或用戶的密碼和權(quán)限等等。SQLServer2000是一個具備完全Web支持的數(shù)據(jù)庫產(chǎn)品,提供了以Web標準為基礎(chǔ)的擴展數(shù)據(jù)庫編程功能,提供了對可擴展標記語言(XML)的核心支持以及在Internet上和防火墻外進行查詢的能力。ADO是Microsoft為最新和最強大的數(shù)據(jù)訪問范例OLEDB而設計的,是一個便于使用的應用程序?qū)咏涌凇DO使您能夠編寫應用程序以通過OLE.DB提供者訪問和操作數(shù)據(jù)庫服務器中的數(shù)據(jù)。ADO在關(guān)鍵的應用方案中使用最少的網(wǎng)絡流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供輕量、高性能的接口。VSFlexGrid控件是一功能強大的數(shù)據(jù)表格控件,高速、緊湊、靈活、輕便、無須依賴任何應用工具,支持數(shù)據(jù)化格式選項,能將表格列連接到圖象列和墻紙屬性上以提高應用工具的實現(xiàn)程度。VSFlexGrid控件提供支持ADO等多重數(shù)據(jù)連接的選擇,完整的打印功能、支持分成數(shù)據(jù)、簡單的排版、合并單元格等功能,并提供了常用統(tǒng)計類的數(shù)學公式。2.1.2數(shù)據(jù)庫的設計數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,根據(jù)一個單位的信息需求處理需求和數(shù)據(jù)庫的支撐環(huán)境,利用數(shù)據(jù)模型和應用程序模擬現(xiàn)實世界中該單位的數(shù)據(jù)結(jié)構(gòu)和處理活動的過程[14]。1.數(shù)據(jù)庫設計方法數(shù)據(jù)庫設計質(zhì)量的優(yōu)劣,不僅直接影響到當前的應用,還影響到數(shù)據(jù)庫應用過程中的維護,從而也影響到數(shù)據(jù)庫的生命周期。數(shù)據(jù)庫設計方法通常分為四類,即:直觀設計法、規(guī)范設計法、計算機輔助設計法和自動化設計法。本系統(tǒng)的數(shù)據(jù)庫設計主要采用了規(guī)范設計法。即將數(shù)據(jù)庫設計分為若干階段,明確規(guī)定各階段的任務,采用自頂向下、分層實現(xiàn)、逐步求精的設計原則,結(jié)合數(shù)據(jù)庫的理論與開發(fā)理論和軟件工程設計方法,實現(xiàn)設計過程的每一細節(jié),最終完成整個設計任務。2.數(shù)據(jù)庫設計的基本步驟目前數(shù)據(jù)庫設計主要采用以邏輯數(shù)據(jù)庫設計和物理數(shù)據(jù)庫設計為核心的規(guī)范化設計方法。即將數(shù)據(jù)庫設計分為需求分析、概念結(jié)構(gòu)設計、邏輯結(jié)構(gòu)設計、數(shù)據(jù)庫物理設計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行和維護六個階段。(l)需求分析階段:需求分析是對用戶提出的各種要求加以分析,對各種原始數(shù)據(jù)加以綜合、整理,是形成最終設計目標的首要階段。也是整個數(shù)據(jù)庫設計過程中最困難的階段。(2)概念結(jié)構(gòu)設計階段:概念結(jié)構(gòu)設計是對用戶需求進行進一步抽象、歸納并形成獨立于DBMS和有關(guān)軟、硬件的概念數(shù)據(jù)模型的設計過程。(3)邏輯結(jié)構(gòu)設計階段:邏輯結(jié)構(gòu)設計是將概念結(jié)構(gòu)轉(zhuǎn)化為某個DBMS所支持的數(shù)據(jù)模型,并進行優(yōu)化的設計過程。(4)數(shù)據(jù)庫物理設計階段:數(shù)據(jù)庫物理設計是將邏輯結(jié)構(gòu)設計階段所產(chǎn)生的邏輯數(shù)據(jù)模型轉(zhuǎn)換為某一計算機系統(tǒng)所支持的數(shù)據(jù)庫物理結(jié)構(gòu)的實現(xiàn)過程。(5)數(shù)據(jù)庫實施階段:數(shù)據(jù)庫實施階段即數(shù)據(jù)庫調(diào)試、試運行階段。一旦數(shù)據(jù)庫物理結(jié)構(gòu)形成,就可以用已選定的DBMS來定義、描述相應的數(shù)據(jù)庫結(jié)構(gòu)。裝入數(shù)據(jù)庫數(shù)據(jù)以生成完整的數(shù)據(jù)庫。編制有關(guān)應用程序進行聯(lián)機調(diào)試并轉(zhuǎn)入試運行,同時進行時間、空間等性能分析。若不符合要求,則需調(diào)整物理結(jié)構(gòu),修改應用程序。直至高效、穩(wěn)定、正確地運行該數(shù)據(jù)庫系統(tǒng)為止。(6)數(shù)據(jù)庫運行和維護階段:數(shù)據(jù)庫是一種動態(tài)和不斷完善的運行過程。數(shù)據(jù)庫運行和維護階段是保證數(shù)據(jù)庫日?;顒拥囊粋€重要階段。2.2.3數(shù)據(jù)庫的訪問本系統(tǒng)采是ADO數(shù)據(jù)庫訪問方式。ADO是Microsoft為最新和最強大的數(shù)據(jù)訪問范例OLEDB而設計的,是一個便于使用的應用程序?qū)咏涌?。ADO使您能夠編寫應用程序以通過OLE.DB提供者訪問和操作數(shù)據(jù)庫服務器中的數(shù)據(jù)。ADO最主要的優(yōu)點是易于使用、速度快、內(nèi)存支出少和磁盤遺跡小。ADO在關(guān)鍵的應用方案中使用最少的網(wǎng)絡流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供輕量、高性能的接口。之所以稱為ADO,是用了一個比較熟悉的暗喻,OLE自動化接口[4]。在vc中使用ADO方法如下:1.引入ADO庫文件。使用ADO前必須在工程的stdafx.h文件最后用直接引入符號#import引入ADO庫文件,以使編譯器能正確編譯。ADO類的定義是作為一種資源存儲在ADODLL(msado15.dll)中,在其內(nèi)部稱為類型庫。代碼如下:#import"C:\ProgramFiles\commonfiles\system\ado\msado15.dll"no_namespacerename("EOF","adoEOF")2.利用智能指針進行數(shù)據(jù)庫操作。ADO庫包含三個智能指針:_ConnectionPtr、_CommandPtr和_RecordsetPtr。_ConnectionPtr通常被用來創(chuàng)建一個數(shù)據(jù)連接或執(zhí)行一條不返回任何結(jié)果的SQL語句,如一個存儲過程。_CommandPtr返回一個記錄集。它提供了一種簡單的方法來執(zhí)行返回記錄集的存儲過程和SQL語句。在使用_CommandPtr接口時,可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用連接串。_RecordsetPtr是一個記錄集對象。與以上兩種對象相比,它對記錄集提供了更多的控制功能,如記錄鎖定、游標控制等。3.執(zhí)行SQL命令并取得結(jié)果記錄集。利用Connection對象的Execute方法執(zhí)行SQL命令,用Recordset對象進行查詢?nèi)〉糜涗浖?.關(guān)閉連接。在關(guān)閉前需對連接狀態(tài)進行判斷,不能多次關(guān)閉,否則會出現(xiàn)錯誤。2.2UML系統(tǒng)建模技術(shù)UML的本意是要成為一種標準的統(tǒng)一語言,使得IT專業(yè)人員能夠進行計算機應用程序的建模。UML的主要創(chuàng)始人是JimRumbaugh、IvarJacobson和GradyBooch,他們最初都有自己的建模方法(OMT、OOSE和Booch),彼此之間存在著競爭。UML的目標之一就是為開發(fā)團隊提供標準通用的設計語言來開發(fā)和構(gòu)建計算機應用。UML提出了一套IT專業(yè)人員期待多年的統(tǒng)一的標準建模符號。通過使用UML,便于設計人員之間交流[15]。2.2.1UML的內(nèi)容UML作用范圍已不限于支持面向?qū)ο蟮姆治雠c設訓,現(xiàn)在完全支持從需求分析開始的軟件開發(fā)的整個過程。UML成為”標準”建模語言的原因之一在于,它與程序設計語言無關(guān)。而且,UML符號集只是一種語言而不是一種方法學。UML主要包括語義與語法兩項內(nèi)容。(1)UML語義UML語義描述基于UML的精確元模型定義。元模型為UML的所有元素在語法和語義上提供了簡單通用的定義性說明,使開發(fā)者能在語義上取得一致。(2)UML語法UML浯法定義UML符號的表示法,為開發(fā)者或開發(fā)工具在為系統(tǒng)建模時使用這些圖形符號和文本語法提供了標準。這些圖形符號和文字所表達的是應用級的模型,在語義上它是UML元模型的實例[5]。統(tǒng)一建模語言UML的重要內(nèi)容可以由下列5類圖來定義。第一類是用例圖,從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。第二類是靜態(tài)圖,包括類圖、對象圖和包圍。其小類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。他們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。第三類是行為圖,描述系統(tǒng)的動態(tài)模型和組成對象間的交互關(guān)系。其中狀態(tài)圖描述類的對象所有可能的狀態(tài)以及事件發(fā)生時狀態(tài)的轉(zhuǎn)移條件;而活動圖描述滿足用例要求所要進行的活動以及活動間的約束關(guān)系,有利于識別外行活動。第四類是交互圖,描述對象間的交五關(guān)系。其中時序圖顯示對象之間的動態(tài)合作關(guān)系,它強調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的文互:合作圖描述對象間的協(xié)作關(guān)系,顯示對象間的動態(tài)合作關(guān)系。這兩種圖被合稱為交互圖。第五類是實現(xiàn)圖,描述系統(tǒng)的實現(xiàn)。其小組件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系,它有助于分析和理解部件之間的相互影響程度。部署圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu),它可以顯示實際的計算機和設備以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。2.2.2UML的主要特點統(tǒng)一建模語言UML是一種先進實用的統(tǒng)一建模語言,同樣也必然存在一個不斷發(fā)展的過程。統(tǒng)—建模語言UML的主要特點可以歸結(jié)為三點。(1)統(tǒng)一建模語言UML統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念。(2)統(tǒng)一建模語言UML吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長處。UML符號表示考慮了各種方法的圖形表示,刪掉了大量易引起混淆的符號,添加了一些新符號。(3)統(tǒng)一建模語言UML在演變過程中提出了一些新的概念。在UML標準中新加了模板(Stereotypes)、職責(Responsibilities)、擴展機制(Extensionmechanisms)、線程(Threads)、過程(Processes)、分布式(Distribution)、并發(fā)(Concurrent)、模式(Patterns)、合作(Collaborations)、活動圖(Activitydiagram)等新概念,并清晰地區(qū)分類型(Type)、類(Class)和實例(Instance)、細化(Refinement)、接口(Interfaces)和組件(Components)等概念。2.2.3UML的應用領(lǐng)域UML主要應用的領(lǐng)域是建立軟件系統(tǒng)模型,也可以用于描述非軟件領(lǐng)域的系統(tǒng)和處理復雜數(shù)據(jù)的信息系統(tǒng)、具有實時要求的工業(yè)系統(tǒng)或工業(yè)過程??傊?,UML是通用的統(tǒng)一建模語言,可以對任何具有靜態(tài)結(jié)構(gòu)和動態(tài)行為的系統(tǒng)進行建模。在需求分析階段,可以用用例來捕獲用戶需求。通過用例建模,描述對系統(tǒng)感興趣的外部角色及具對系統(tǒng)的功能要求。分析階段主要是域中的概念和機制,需要識別這些類以及它們相互間的關(guān)系,并用UML類圖來描述。為實現(xiàn)用例、類之間需要協(xié)作,可以用UML動態(tài)模型來描述。編程(構(gòu)造)是一個獨立的階段,該階段的任務是用面向?qū)ο缶幊陶Z言將設計階段生成的類轉(zhuǎn)換成實際的代碼。在用UML建立分析和設計模型時,盡量不要考慮把模型轉(zhuǎn)換成某種特定的編程語言。因為在早期階段,模型僅僅是理解和分析系統(tǒng)結(jié)構(gòu)的工具,過早考慮編碼問題十分不利于建立簡單正確的模型。UML模型還可作為測試階段的依據(jù)。系統(tǒng)通常需要經(jīng)過單元測試、集成測試、系統(tǒng)測試和驗收測試。不同的測試使用不同的UML圖作為測試依據(jù):單元測試使用類圖和類規(guī)格說明;集成測試使用部件圖和合作圖;系統(tǒng)測試使用用例圖來驗證系統(tǒng)的行為;驗收測試主要驗證系統(tǒng)測試的結(jié)果是否滿足在分析階段確定的需求,該測試一般由用戶進行??傊?,UML適用于以面向?qū)ο蠹夹g(shù)來描述任何類型的系統(tǒng),而且適用于系統(tǒng)開發(fā)的不同階段,從需求規(guī)格描述直至系統(tǒng)完成后的測試和維護[10]。2.3本章小結(jié)本章主要介紹了系統(tǒng)所涉及到的主要相關(guān)技術(shù)。首先描述了數(shù)據(jù)庫相關(guān)技術(shù),包括數(shù)據(jù)庫的選擇、數(shù)據(jù)庫的連接技術(shù)等;最后描述了系統(tǒng)開發(fā)所用的建模工具UML,主要描述UML的基本概念和應用。電子科技大學碩士學位論文第三章需求分析第三章需求分析3.1問題描述本文將根據(jù)酒店日常管理工作的實際業(yè)務模式,對整個信息管理系統(tǒng)進行合理的、全面的、系統(tǒng)化的設計與實現(xiàn),不僅要解決現(xiàn)有存在的所有問題。同時也要考慮到系統(tǒng)的易用性、人性化的需求,最終提供一個快速簡便的信息管理系統(tǒng)以及一個功能全面強大的信息查詢統(tǒng)計分析管理系統(tǒng),達到酒店管理的信息化。該系統(tǒng)依托酒店管理的模式進行設計開發(fā),主要目的是解決酒店日常管理的復雜且繁瑣的日常紙質(zhì)工作,讓酒店日常管理走向信息化管理。系統(tǒng)不但提供了酒店管理的基本管理功能,包括后臺基礎(chǔ)數(shù)據(jù)設置、庫存進銷存管理、前臺預定管理、樓面落單管理、前臺收銀管理、會員管理、財務決策支持管理,而且還支持PDA手持設備現(xiàn)場點餐,大幅度減少了服務員在前臺與廚房間往返的時間,加快了服務員的點菜速度,將服務員從繁瑣的手工記錄點菜菜單、傳送菜單等瑣碎的工作任務中解脫出來,使得服務員可以將大部分精力放在怎樣提高顧客的服務質(zhì)量上面,很大程度上減少了顧客逃單的可能性。3.2系統(tǒng)總體需求系統(tǒng)主要分為前臺預定管理模塊、樓面落單管理模塊、前臺收銀管理模塊、庫存進銷存管理模塊、會員管理模塊、財務決策支持模塊、后臺基礎(chǔ)數(shù)據(jù)維護模塊。3.2.1庫存進銷存管理模塊需求分析庫存進銷存管理模塊負責酒店的物品管理工作。其中物品管理包括庫存查詢、庫存預警、入庫、退貨、直撥、調(diào)撥、部門領(lǐng)用、部門退料、銷售出庫、自動銷售、期初庫存盤點、期末庫存盤點、進銷存明細查詢、商品明細賬查詢、領(lǐng)料部門消耗明細表、原材料標準耗量明細表、供應商采購查詢。庫存管理模塊的系統(tǒng)功能圖如圖3-1所示:圖3-1庫存管理模塊詳細功能圖庫存管理模塊的主要使用者為倉庫管理員以及采購員,可以畫出如下用例圖:(1)庫存管理模塊概要層的用例圖:采購員主要負責填寫采購入庫單、采購退貨單以及采購直撥單;倉庫管理員主要負責填寫部門領(lǐng)用單、部門退料單、內(nèi)部調(diào)撥單,查看庫存情況、進銷情況,并負責填寫盤點匯總表,進行供應商進價分析以及原材料耗損與產(chǎn)品分析,如圖3-2所示。圖3-2庫存管理模塊的概要層用例圖(2)查看庫存用例:倉庫管理員應具有查詢庫存物品明細表、庫存物品分類匯總查詢、商品庫存查詢、查看庫存預警表、查看商品明細賬、查看進銷存明細賬以及查看進銷存匯總表的權(quán)利,如圖3-3所示。圖3-3查看庫存用例圖(3)盤點匯總用例:倉庫管理員應具有登記期初庫存盤點表、登記期末庫存盤點表、查看庫存物品結(jié)存表、查看庫存物品結(jié)存匯總表、查看銷售出庫表以及查看自動銷售物品表的權(quán)利,如圖3-4所示。圖3-4盤點匯總用例圖(4)供應商進價分析用例:倉庫管理員應具有查看供應商采購明細匯總表、供應商采購分類匯總表、供應商采購匯總表、供應商采購明細表、商品進價分析明細表以及商品進價分析匯總表的權(quán)利,如圖3-5所示。圖3-5供應商進價分析用例圖圖3-6原材料消耗與產(chǎn)品分析用例圖(5)原材料消耗與產(chǎn)品分析用例:酒店管理員應該具有查看領(lǐng)料部門消耗明細表、領(lǐng)料部門消耗明細匯總表、領(lǐng)料部門消耗分類匯總表、領(lǐng)料部門消耗匯總表以及查看原材料標準消耗分類匯總表、原材料標準消耗量分類對比表、原材料標準消耗明細匯總表、原材料消耗明細表以及查看產(chǎn)品分析表的權(quán)利,如圖3-6所示。3.2.2樓面落單管理模塊需求分析樓面落單管理模塊負責酒店的臺房、菜品、服務、賬單的處理工作。其中對臺房的操作包括開臺、搭臺、并臺、轉(zhuǎn)臺、鎖臺、臺房狀態(tài)查詢,對菜品的操作包括點菜、退菜、上菜、催菜、全單催菜、叫起、全單叫起、修改數(shù)量、贈送菜、菜品轉(zhuǎn)臺,對服務的操作包括埋單、撤銷埋單、修改用餐人數(shù)、修改服務費率、會員打折,對賬單的操作包括查看賬單、修改原始單號。樓面落單模塊的系統(tǒng)功能圖如圖3-7:圖3-7樓面落單模塊詳細功能圖樓面落單模塊主要的使用者為樓面服務員,可以畫出以下用例圖:(1)樓面落單模塊概要層用例:樓面服務員負責開臺、點菜、送單、打折、修改服務費率、修改用餐人數(shù)、埋單、結(jié)賬、查看臺桌狀況、查看會員信息以及修改密碼,如圖3-8所示。圖3-8樓面落單模塊概要層用例圖圖3-9查看臺房狀況用例圖(2)查看臺房狀況用例:樓面服務員應該具有按臺類型查看以及按照臺區(qū)查看桌臺狀態(tài)的權(quán)利,如圖3-9所示。(3)查看賬單用例:樓面服務員應該具有查看總賬單信息、查看已分單信息以及查看未分單信息的權(quán)利,如圖3-10所示。(4)樓面服務員對桌臺操作用例:樓面服務員應該能夠?qū)ψ琅_進行開臺、轉(zhuǎn)臺、并臺、搭臺、鎖臺的權(quán)利,如圖3-11所示。圖3-10查看賬單用例圖圖3-11樓面服務員對桌臺操作用例圖(5)點菜用例:樓面服務員負責的點菜應該包括叫起、劃菜、退菜、贈菜、催菜等功能,如圖3-12所示。圖3-12點菜用例圖3.2.3前臺預定管理模塊需求分析預定管理模塊負責酒店的預定服務,它包括桌臺預定和酒席預定。前臺預定管理模塊主要實現(xiàn)對預訂業(yè)務的訂單添加、編輯、查詢功能。根據(jù)酒店對桌臺和酒席的預訂業(yè)務有不同的方法,系統(tǒng)將預訂業(yè)務分為桌臺預定和酒席預定,具體功能需求如下。1.桌臺預定前臺預定包含如下具體功能:(見圖3-13)(1)通過電話,短信等通訊工具獲得的預定消息進行登記,形成預定單。(2)對已有的預定單進行查看。可以按照今天預定,今天抵達,已經(jīng)過期,進行快捷查看預訂單消息。對當前桌臺的使用狀況的查看:包括未用的,預定的,使用中的及全部情況。查看選中訂單的的訂菜單。(3)根據(jù)預訂單的各項屬性查詢預定單。(4)添加訂單,刪除選中訂單,修改所選訂單信息并保存,取消所選訂單并填寫取消原因等信息。2.酒席管理酒席管理包含如下具體功能:(見圖3-13)(1)添加,刪除,修改,打印酒席預定單;查看訂單的詳細信息,分類查看所在類訂單:歸檔,未歸檔。(2)通過樓面通過授權(quán)修改結(jié)算的菜品價格,數(shù)量等信息。(3)酒席結(jié)算方式:在樓面落單處開臺結(jié)算,若酒水、菜品的價格需要修改,通過處理;設備費用計算在服務費內(nèi)。圖3-13預訂管理子系統(tǒng)詳細功能圖預定管理子系統(tǒng)包括了前臺預定和酒席預定,使用者為收銀員或者為預定員。根據(jù)圖3-13可以畫出如下用例圖。前臺桌臺預定用例圖:預訂員可以進行填寫查看訂單等,如圖3-14所示。圖3-14前臺預定用例圖酒席預訂用例:預訂員根據(jù)需要進行訂單的添加,對已有的訂單進行點菜、修改菜數(shù)量、訂單的查看、修改、和歸檔。如圖3-15所示。圖3-15酒席預定用例圖3.2.4前臺收銀模塊需求分析前臺收銀員主要承擔了臺房、菜品及賬單服務的工作任務。即查詢臺房信息(如:臺房狀態(tài)、服務費率),為顧客開臺,幫助顧客點菜。當顧客埋單后,及時為顧客辦理結(jié)賬、反結(jié)賬等事宜,并打印結(jié)賬單。前臺收銀子系統(tǒng)的系統(tǒng)功能圖如圖3-16。圖3-16前臺收銀子系統(tǒng)詳細功能圖前臺收銀子系統(tǒng)的主要使用者是收銀員,收銀員進行賬單的結(jié)帳和反結(jié)帳。其中結(jié)帳分為快速結(jié)帳、實收結(jié)帳、零結(jié)帳。如圖3-17所示。圖3-17前臺收銀用例圖3.2.5決策支持模塊需求分析決策支持模塊主要是對前臺的營業(yè)情況進行匯總、生成報表,同時根據(jù)各個匯總的數(shù)據(jù)進行下一會計日期的營業(yè)情況進行預測。(1)匯總:歷史賬單查詢、歷史賬單稽查、賬單消費明細匯總、銷售提成匯總、賬單操作匯總、賬單支付明細匯總、會員卡支付明細匯總表、掛賬支付明細匯總。(2)查詢:退菜操作記錄、預訂查詢、菜品信息查詢。(3)分析:時段銷售分析表、部門出品統(tǒng)計表、房臺臺區(qū)營業(yè)分析、會員折扣匯總查詢、銷售出品走勢圖、營業(yè)額走勢圖、客流量走勢圖、翻臺率走勢圖、營業(yè)收入日報表、營業(yè)收入月報表。(4)預測:客流量預測表、菜品銷售預測(排除預訂)、菜品意見、原材料的預定單。財務管理是基于企業(yè)再生產(chǎn)過程中客觀存在的財務活動和財務關(guān)系而產(chǎn)生的,是企業(yè)組織財務活動、處理與各方面財務關(guān)系的一項經(jīng)濟管理工作。系統(tǒng)的財務決策子系統(tǒng)的功能圖如圖3-18。圖3-18決策支持子系統(tǒng)詳細功能圖3.2.6會員管理子系統(tǒng)會員管理子系統(tǒng)功能分為會員卡的管理和會員積分管理兩大模塊。會員卡的管理實現(xiàn):發(fā)卡、補發(fā)卡、掛失、解掛、續(xù)卡、換卡、結(jié)賬、升級、存款。在發(fā)卡中進行會員資料的登記,按照不同查詢條件進行多種查詢。會員積分管理包括兌分物品的設置,進行積分兌換。查看會員的消費記錄、對卡的操作記錄。具體功能圖如圖3-19。圖3-19會員管理子系統(tǒng)詳細功能圖樓面服務員可以對會員進行資料查詢、會員結(jié)帳,前臺服務員可以對會員的資料進行更新、資料的查詢操作,酒店管理員除具有前臺服務員的功能外,還具有對兌分物品的設置、會員操作查詢、卡類型的設置。根據(jù)圖3-19,可以畫出如圖3-20所示的用例圖。圖3-20會員管理子系統(tǒng)概要層用例圖3.2.7后臺基礎(chǔ)數(shù)據(jù)維護模塊需求分析圖3-21后臺基礎(chǔ)數(shù)據(jù)維護模塊詳細功能圖后臺基礎(chǔ)數(shù)據(jù)維護模塊主要職責就是對不同的用戶進行配置不同的權(quán)限,進而在相應的權(quán)限下完成相應的操作以及設置前臺營業(yè)和對后臺數(shù)據(jù)進行維護。本系統(tǒng)默認只有超級管理員擁有系統(tǒng)配置權(quán)限。其功能圖如圖3-21所示。后臺基礎(chǔ)數(shù)據(jù)維護模塊主要的使用者為酒店管理員和系統(tǒng)管理員,通過對其業(yè)務需求和功能需求的獲取,可以畫出如下用例圖:1、后臺基礎(chǔ)數(shù)據(jù)維護模塊概要層用例圖:前臺營業(yè)員在沒有被授予相關(guān)權(quán)限時,只能進行重新登錄和修改密碼操作;酒店管理員主要負責權(quán)限管理、前臺營業(yè)設置、圖片管理、后臺數(shù)據(jù)維護管理;系統(tǒng)管理員主要負責后臺數(shù)據(jù)維護管理和后臺數(shù)據(jù)庫管理,如圖3-22所示:圖3-22后臺基礎(chǔ)數(shù)據(jù)維護模塊概要層用例圖2、權(quán)限管理用例圖:酒店管理員主要對用戶權(quán)限、點菜權(quán)限、贈菜權(quán)限、退菜權(quán)限、打折權(quán)限進行設置,如圖3-23所示:圖3-23權(quán)限管理用例圖3、后臺數(shù)據(jù)維護用例圖:酒店管理員主要對部門出品、臺區(qū)出品、臺區(qū)臺房、輔助數(shù)據(jù)、庫存物品、供應商、支付方式、掛賬帳戶、餐牌菜單、菜品價格等信息進行管理與維護,如圖3-24所示:圖3-24后臺數(shù)據(jù)維護用例圖3.4本章小結(jié)本章首先提出系統(tǒng)所要解決的主要問題;其次詳細描述系統(tǒng)需求,將系統(tǒng)分為前臺預定管理模塊、樓面落單管理模塊、前臺收銀管理模塊、庫存進銷存管理模塊、會員管理模塊、財務決策支持模塊、后臺基礎(chǔ)數(shù)據(jù)維護模塊等模塊,并且設計其用例圖。第四章系統(tǒng)設計第四章系統(tǒng)設計第四章系統(tǒng)設計4.1系統(tǒng)概要設計本論文研制的餐飲管理系統(tǒng)分為前臺操作以及后臺管理兩大部分。系統(tǒng)前臺主要完成功能為就餐人員提供點菜及結(jié)賬等功能;后臺用戶則是面向餐廳管理人員,主要完成數(shù)據(jù)維護、訂菜、收銀等功能,同時還具備一定的決策管理功能;而前后臺的通訊是基于WIFI網(wǎng)絡。其系統(tǒng)部署圖如下圖4-1所示。圖4-1系統(tǒng)部署圖圖4-2系統(tǒng)功能結(jié)構(gòu)圖系統(tǒng)采用C/S架構(gòu),不但提供了酒店管理的基本管理功能,包括后臺基礎(chǔ)數(shù)據(jù)設置、庫存進銷存管理、前臺預定管理、樓面落單管理、前臺收銀管理、會員管理、財務決策支持管理,而且還支持前臺手持設備現(xiàn)場點餐,極大程度減少了服務員在前臺與廚房間往返的時間,加快了服務員的點菜速度,將服務員從繁瑣的手工記錄點菜菜單、傳送菜單等瑣碎的工作任務中解脫出來,使得服務員可以將大部分精力放在怎樣提高顧客的服務質(zhì)量上面,很大程度上減少了顧客逃單的可能性。功能結(jié)構(gòu)圖如下圖4-2所示。4.2系統(tǒng)詳細設計4.2.1庫存進銷存管理模塊設計庫房管理員主要承擔了對庫房物品的進銷存的工作任務。其中庫房物品管理中的“進”包括物品入庫、部門退料;“銷”包括直撥、調(diào)撥、部門領(lǐng)用、自動銷售、銷售出庫、退貨;“存”包括庫存查詢、庫存預警。庫房管理員工作任務還包括對現(xiàn)有庫存物品的統(tǒng)計匯總工作,如期初庫存盤點、期末庫存盤點、進銷存明細查詢、商品明細賬查詢、領(lǐng)料部門消耗明細表、原材料標準耗量明細表、供應商采購查。倉庫管理員登錄庫存管理系統(tǒng)后,整個操作流程如圖2.3所示。其中,庫存信息查詢包括對整個庫存查詢、庫存預警、期初盤點、期末盤點、供應商采購查詢、進銷存明細查詢、商品明細查詢、領(lǐng)料部門消耗明細查詢、原材料消耗明細查詢、庫存物品結(jié)存明細查詢、庫存物品結(jié)存匯總。庫存管理模塊的系統(tǒng)流程圖如圖4-3所示:圖4-3庫存管理模塊的系統(tǒng)流程圖4.2.2樓面落單管理模塊設計圖4-4樓面落單模塊流程圖服務員在登錄樓面落單模塊時,須先輸入PDA賬號和密碼,每個服務員都有一個不同的PDA賬號和密碼。經(jīng)過身份驗證成功之后,服務員才可以進入樓面落單系統(tǒng)。首先,服務員要查看各臺房的使用狀況(使用中,未使用,已預定),然后根據(jù)臺狀況以及顧客的要求,進行開臺操作,開臺成功后,服務員根據(jù)顧客的需要進行點菜,顧客在點菜時可以對菜的做法、菜的數(shù)量、菜的形狀以及具體要求進行選擇,并可以查看相應的菜品圖片。點菜成功后,顧客可以對所點的菜提出催菜、叫起、退菜等要求,服務員通過PDA把顧客的這些要求傳給廚房。若顧客提出搭臺或者并臺或者轉(zhuǎn)臺的要求時,服務員通過PDA可以很快的滿足顧客的這些要求。此外,服務員在授權(quán)后,可以對指定臺進行鎖臺操作,此時,本臺只由鎖這個臺的服務員服務。若顧客要求買單,服務員必須先進行埋單操作才可以進行結(jié)賬,結(jié)賬前,服務員可以視情況對本單進行一般性打折或取消打折處理,若顧客是會員,可以進行會員打折。樓面落單模塊的系統(tǒng)流程圖如圖4-4。4.2.3前臺預定管理模塊設計預定管理模塊負責酒店的預定服務,它包括桌臺預定和酒席預定。具體模塊功能流程如下。1.桌臺預定流程首先,顧客通過電話或者親臨酒店要求預定,然后收銀員(預定員)從顧客那里獲取到具體的預定內(nèi)容并填寫預定單。如果顧客沒有具體要求要哪個臺房,那么系統(tǒng)將隨機生成臺號并且進行標記,如果顧客在預定臺房的同時要求預定菜,那么顧客必須提交相應的預定金才能繼續(xù)本次預定,否則只能預定臺房或者預定失敗。若預定成功,系統(tǒng)將保存本次預定信息,并判斷本次預定是屬于哪個餐段,若屬于當前餐段,系統(tǒng)將會自動更改相應的臺桌狀態(tài)為已預定狀態(tài),若不屬于,則到下個餐段再進行判斷。預定期間,若預定被取消,收銀員(預定員)要仔細填寫顧客取消預定的原因,并把此預定單改為已撤銷狀態(tài),并歸檔處理,系統(tǒng)將保存這些信息。若顧客在預定時間內(nèi)光臨酒店,收銀員(預定員)和服務員將對其進行開臺、結(jié)賬等服務,最后做歸檔處理。假若顧客在預定時間內(nèi)沒有到,則系統(tǒng)將自動把相應的臺狀態(tài)改為已過期狀態(tài),并做歸檔處理。具體流程如圖4-5所示。圖4-5前臺預定流程圖2.酒席管理流程首先,顧客通過電話或者親臨酒店要求預定,然后收銀員(預定員)從顧客那里獲取到具體的預定內(nèi)容并填寫預定單。由于是酒席預定,酒店里一般都會有專門的負責人和服務員在特定的場地對其進行管理與服務。顧客在預定完菜后必須要交相應的預定金,否則預定失敗。若預定成功,系統(tǒng)將保存本次預定信息。預定期間,若預定被取消,收銀員(預定員)要仔細填寫顧客取消預定的原因,并把此預定單改為已撤銷狀態(tài),并視情況退回一部分預定金,最后做歸檔處理,系統(tǒng)將保存這些信息。若顧客在預定時間內(nèi)光臨酒店,收銀員(預定員)和服務員將對其進行開臺、結(jié)賬等服務,最后做歸檔處理。具體流程如圖4-6所示。圖4-6酒席管理流程圖4.2.4前臺收銀模塊設計收銀員在登錄前臺收銀子系統(tǒng)時,須先輸入用戶賬號和密碼,每個收銀員都有一個不同的賬號和密碼。經(jīng)過身份驗證成功之后,收銀員才可以進入前臺收銀系統(tǒng)。收銀員主要負責酒店收銀結(jié)賬,但也可以進行開臺、點菜操作。開臺時,收銀員首先要查看各臺房的使用狀況(使用中,未使用,已預定),然后根據(jù)臺狀況以及顧客的要求,進行開臺操作,開臺成功后,收銀員根據(jù)顧客的需要進行點菜,顧客在點菜時可以對菜的做法、菜的數(shù)量、菜的形狀以及具體要求進行選擇。點菜成功后,顧客可以對所點的菜提出催菜、叫起、退菜等要求,收銀員通過收銀系統(tǒng)可以把顧客的這些要求傳給廚房。若顧客提出搭臺或者并臺或者轉(zhuǎn)臺的要求時,收銀員通過收銀系統(tǒng)同樣可以很快的滿足顧客的這些要求。結(jié)賬時,收銀員可以視情況對本單進行一般性打折或不打折處理,若顧客是會員,可以進行會員打折。收銀員可以修改用餐人數(shù)、服務費率,可以對已結(jié)賬賬單進行查詢,前臺收銀子系統(tǒng)的系統(tǒng)流程圖如圖4-7。圖4-7前臺收銀子系統(tǒng)流程圖4.2.5會員管理子系統(tǒng)設計會員管理模塊主要的用戶為前臺服務員、樓面服務員,系統(tǒng)功能分為會員卡的管理和會員積分管理兩大模塊。管理員或收銀員登錄系統(tǒng)后,可對會員進行管理。包括會員卡類型設置、會員資料登記、會員卡資料登記以及對相關(guān)信息進行查詢。還可以對會員卡進行換卡、續(xù)卡、掛失、付款、兌分操作。詳細流程圖如圖4-8。圖4-8會員管理子系統(tǒng)流程圖4.3數(shù)據(jù)庫概念設計本系統(tǒng)用SQLServer2008作為后端的數(shù)據(jù)庫支持。下面根據(jù)前述需求,結(jié)合和數(shù)據(jù)庫理論對系統(tǒng)進行數(shù)據(jù)庫設計。4.3.1庫存進銷存管理數(shù)據(jù)庫設計圖3-25庫存管理模塊數(shù)據(jù)庫關(guān)系圖根據(jù)對系統(tǒng)庫存進銷存管理模塊的需求分析,供應商類型與供應商是1:N的關(guān)系,庫存物品類別與庫存物品應該是1:N的關(guān)系,進銷存賬單樣式與進銷存賬單應該是1:N的關(guān)系。所以設計數(shù)據(jù)庫關(guān)系圖如圖3-25所示。4.3.2樓面落單管理數(shù)據(jù)庫設計根據(jù)對系統(tǒng)樓面落單管理模塊的需求分析,賬單明細表中引用賬單,它們之間是1:N的關(guān)系,賬單支付表引用了賬單表,它們之間是1:N的關(guān)系。所以設計數(shù)據(jù)庫關(guān)系圖如圖3-26所示。圖3-26樓面落單管理模塊數(shù)據(jù)庫關(guān)系圖4.3.3前臺預定管理數(shù)據(jù)庫設計現(xiàn)先將桌臺預訂分析:一張桌臺能夠在不同的時間有不同的訂單,即桌臺與預訂類型是n:m的關(guān)系。所以桌臺預訂數(shù)據(jù)庫模型圖如圖3-27所示。圖3-27桌臺預訂模塊數(shù)據(jù)庫模型圖酒席預訂中,每張酒席訂單可以預訂多個菜品,菜品也同時可以有多張訂單,即訂單與菜品是m:n的關(guān)系,從而形成了每張酒席訂單都有一張菜品消費單。酒席訂單數(shù)據(jù)模型如下:圖3-28酒席預訂模塊數(shù)據(jù)庫模型圖4.3.4前臺收銀數(shù)據(jù)庫設計根據(jù)對系統(tǒng)樓面落單管理模塊的需求分析,會員類別與會員應該是1:N的關(guān)系,桌臺類型與桌臺應該是1:N的關(guān)系,桌臺與臺區(qū)應該是1:N的關(guān)系,掛賬類別與掛賬賬戶應該是1:N的關(guān)系,支付類別與支付方式應該是1:N的關(guān)系。所以設計數(shù)據(jù)庫模型圖如圖3-29所示。圖3-29前臺收銀模塊數(shù)據(jù)庫模型圖4.3.5會員管理數(shù)據(jù)庫設計會員管理中會員和會員操作類型是m:n的關(guān)系,會員和兌分物品的關(guān)系是m:n的關(guān)系,所以會員管理數(shù)據(jù)設計模型如如圖3-30所示。圖3-30會員管理模塊數(shù)據(jù)庫模型圖4.3.6后臺基礎(chǔ)數(shù)據(jù)維護模塊數(shù)據(jù)庫設計1、用戶權(quán)限配置部分的數(shù)據(jù)庫設計根據(jù)對系統(tǒng)用戶權(quán)限配置功能的需求分析,用戶與用戶組是N:1的關(guān)系,用戶與權(quán)限是1:1的關(guān)系,以打折方式權(quán)限和點菜范圍權(quán)限為例,用戶與打折方式權(quán)限之間是1:N的關(guān)系,用戶與點菜范圍權(quán)限之間是1:N的關(guān)系。所以設計數(shù)據(jù)庫模型圖如圖3-31所示:圖3-31用戶權(quán)限配置數(shù)據(jù)庫模型圖2、菜品配置部分的數(shù)據(jù)庫設計根據(jù)對輔助數(shù)據(jù)管理功能的需求分析,菜品類型與菜品是1:N的關(guān)系,菜品出品部門類型與菜品出品部門是1:N的關(guān)系,餐牌類型與餐牌是1:N的關(guān)系。所以設計菜品配置部分的數(shù)據(jù)庫模型圖如圖3-32所示:圖3-32菜品數(shù)據(jù)庫模型圖3、桌臺配置部分的數(shù)據(jù)庫設計根據(jù)對輔助數(shù)據(jù)管理功能的需求分析,桌臺類型與桌臺是1:N的關(guān)系,桌臺區(qū)域與桌臺是1:N的關(guān)系。所以設計桌臺配置部分的數(shù)據(jù)庫模型圖如圖3-33所示:圖3-33桌臺數(shù)據(jù)庫模型圖4、打折方式配置部分的數(shù)據(jù)庫設計根據(jù)對輔助數(shù)據(jù)管理功能的需求分析,打折范圍明細表與打折方式是1:N的關(guān)系,打折范圍明細表與菜品是1:N的關(guān)系。所以設計打折方式配置部分的數(shù)據(jù)庫模型圖如圖3-34所示:圖3-34打折方式數(shù)據(jù)庫模型圖5、供應商配置部分的數(shù)據(jù)庫設計根據(jù)對輔助數(shù)據(jù)管理功能的需求分析,供應商類型與供應商是1:N的關(guān)系。所以供應商配置部分的數(shù)據(jù)庫模型圖如圖3-35所示:圖3-35供應商數(shù)據(jù)庫模型圖6、賬戶配置部分的數(shù)據(jù)庫設計根據(jù)對輔助數(shù)據(jù)管理功能的需求分析,賬戶類型與賬戶是1:N的關(guān)系,掛賬明細表與賬戶是1:N的關(guān)系。所以賬戶配置部分的數(shù)據(jù)庫模型圖如圖3-36所示:圖3-36賬戶數(shù)據(jù)庫模型圖4.3.7數(shù)據(jù)庫邏輯設計由于該系統(tǒng)數(shù)據(jù)量不是很大,因此系統(tǒng)數(shù)據(jù)庫系統(tǒng)采用微軟的SQL2008作為其DBMS。依據(jù)前面數(shù)據(jù)庫概要設計結(jié)果,本節(jié)將進行數(shù)據(jù)庫邏輯設計。具體表設計如下:1、庫存進銷存管理模塊數(shù)據(jù)庫表設計如下所示:(1)表名:st_StoreItem庫存物品,如表4-1所示。表4-1庫存物品序號名稱類型默認值備注1StoreItemIDVARCHAR(50)物品編碼2StoreItemNameVARCHAR(50)物品名稱3StoreItemTypeIDVARCHAR(50)物品類別編碼4StoreItemTypeNameVARCHAR(50)物品類別名稱5UnitIDVARCHAR(50)默認單位6UnitNameVARCHAR(50)單位名稱7SpecVARCHAR(50)規(guī)格8PriceMONEY0.0基本價格9LowAmountMONEY0.0最低配量10HighAmountMONEY0.0最高配量11StoreItemTypeVARCHAR(50)庫存類型12SupplierIDVARCHAR(50)供應商編碼13SupplierNameVARCHAR(50)供應商名稱14ToSpellVARCHAR(50)拼音(2)表名:st_StoreItemType庫存物品類別表,如表4-2所示。表4-2庫存物品類別表序號名稱類型默認值備注1StoreItemTypeIDVARCHAR(50)物品類別編碼2StoreItemTypeNameVARCHAR(50)物品類別名稱(3)表名:st_StoreInventory庫存明細表,如表4-3所示。表4-3庫存明細表序號名稱類型默認值備注1StoreItemIDVARCHAR(50)物品編碼2OnHandQtyMONEY0.0庫存數(shù)量(4)表名:st_StoreBillItem進銷存明細表,如表4-4所示。表4-4進銷存明細表序號名稱類型默認值備注1StoreBillIDVARCHAR(50)單號2RowNumINT行號3StoreItemIDVARCHAR(50)物品編碼4StoreItemNameVARCHAR(50)物品名稱5SpecVARCHAR(50)規(guī)格6StoreItemTypeIDVARCHAR(50)物品類型編碼7StoreItemTypeNameVARCHAR(50)物品類別名稱8UnitNameVARCHAR(50)默認單位名稱9UnitPriceMONEY0.0單價10TotalQtyMONEY0.0數(shù)量11TotalSumMONEY0.0金額12BalanceQtyMONEY0.0結(jié)存數(shù)量13BalanceSumMONEY0.0結(jié)存金額14RemarkVARCHAR(255)備注15AutoIDINT自動編號2、樓面落單管理模塊數(shù)據(jù)庫表設計如下所示:表名:bi_BillItem賬單明細表,如表4-5所示。表4-5賬單明細表序號名稱類型默認值備注1BillItemIDVARCHAR(50)消費單號2BillIDVARCHAR(50)賬單編碼3MenuIDVARCHAR(50)菜品編碼4MenuNameVARCHAR(50)菜品名稱5MenuTypeIDVARCHAR(50)菜品類別編碼6MenuTypeNameVARCHAR(50)菜品類別名稱7MenuDepartIDVARCHAR(50)出品部門編碼8MenuDepartNameVARCHAR(50)出品部門名稱9MenuDepartTypeIDVARCHAR(50)部門類別編碼10MenuDepartTypeNameVARCHAR(50)部門類別名稱11AmountOrderMONEY0.0點菜數(shù)量12AmountOnTableMONEY0.0上菜數(shù)量13AmountCancelMONEY0.0退菜數(shù)量14MenuPriceMONEY0.0標準價15MenuPrice2MONEY0.0會員價16DiscountRateMONEY0.0折扣率17SumOfConsumeMONEY0.0消費金額18SumOfDiscountMONEY0.0折扣金額19SumOfCookwayMONEY0.0做法附加費20MenuCookwayNameVARCHAR(50)菜品做法21MenuCookwayPriceMONEY0.0菜品做法附加價格22MenuPartNameVARCHAR(50)狀型名稱23MenuRequestNameVARCHAR(50)特別要求名稱24MenuTasteNameVARCHAR(50)菜品口味25CreatePersonIDVARCHAR(50)點菜人編碼26CreatePersonNameVARCHAR(50)點菜人名稱27CreateTimeVARCHAR(50)點菜時間28ServingStateVARCHAR(50)菜狀態(tài)29IsMenuSentBIT0是否贈菜30RemarkVARCHAR(255)備注31IsPrintedBIT0是否打印32IsOnTableBIT0是否已上菜33OnTableTimeVARCHAR(50)上菜時間3、根據(jù)對系統(tǒng)前臺預訂業(yè)務的需求,預訂分為桌臺預訂和酒席預訂兩大類。其表為:(1)表名:tb_Table臺桌表,如表4-6所示。表4-6臺桌表序號名稱類型默認值備注1TableIDVARCHAR(50)桌臺編碼2TableNameVARCHAR(50)桌臺名稱3TableTypeIDVARCHAR(50)桌臺類別編碼4TableAreaIDVARCHAR(50)臺區(qū)編碼5TableStateINT0桌臺狀態(tài)6UnionTableIDVARCHAR(50)并入桌臺7IsUnionBIT0是否處于并臺狀態(tài)8BookStateINT0預定狀態(tài)9IsStopBIT0是否停用(2)表名:tb_TableBookType桌臺類型表,如表4-7所示。表4-7桌臺類型表序號名稱類型默認值備注1BookTypeIDVARCHAR(50)預定類型編碼2BookTypeNameVARCHAR(50)預定類型名稱(3)表名:tb_TableBook桌臺預定表,如表4-8所示。表4-8桌臺預定表序號名稱類型默認值備注1BookIDVARCHAR(50)預定編號2MemberIDVARCHAR(50)會員編號3ClientNameVARCHAR(50)公司名稱4BookPersonVARCHAR(50)聯(lián)系人,5PeopleCoutINT就餐人數(shù)6PhoneVARCHAR(50)聯(lián)系電話7BookTimeVARCHAR(50)預定時間8ArriveTimeVARCHAR(50)預計抵達時間9ReserveTimeVARCHAR(50)保留時間長10TableIDVARCHAR(50)預定桌臺11TableBookTypeVARCHAR(50)預定臺房要求12PeriodNameVARCHAR(50)餐段編碼13BookTypeNameVARCHAR(50)預定類型14HateVARCHAR(50)0.0忌諱15FavorVARCHAR(50)喜好16PrepayMONEY0.0預付款17PaidMONEY0.0消費金額18TableBookStateVARCHAR(50)狀態(tài)19CreateIDVARCHAR(50)創(chuàng)建人編號20RemarkVARCHAR(50)備注4、前臺收銀數(shù)據(jù)庫設計結(jié)果為:(1)表名:dt_PayMode支付方式表,如表4-9所示。表4-9支付方式表序號名稱類型默認值備注1PayModeIDVARCHAR(50)支付方式編碼2PayModeNameVARCHAR(50)支付方式名稱(2)表名:bi_BillPayment賬單支付明細表,如表4-10所示。表4-10賬單支付明細表序號名稱類型默認值備注1BillIDVARCHAR(50)賬單編號2PayModeItemIDVARCHAR(50)支付方式明細編碼3PaySumMONEY0.0支付金額4SumPaidMONEY0.0換算后金額5、會員管理數(shù)據(jù)庫設計結(jié)果為:(1)表名:mb_MemberType會員類型表,如表4-11所示。表4-11會員類型表序號名稱類型默認值備注1MemberTypeIDVARCHAR(50)會員類型編碼2MemberTypeNameVARCHAR(50)會員類型名稱3LowConsumedMONEY最低消費額4HighConsumedMONEY最高消費額5ToIntegralMONEY金額兌分比率6DiscountIDVARCHAR(50)折扣類型(2)表名:mb_Member會員表,如表4-12所示。表4-12會員表序號名稱類型默認值備注1MemberIDVARCHAR(50)會員編碼2MemberNameVARCHAR(50)會員名3MemberTypeIDMONEY會員類型4ToSpellMONEY姓名拼音5SexMONEY性別6BirthDateVARCHAR(50)出生年月日7BirthYearINT出生年8BirthMonthINT出生月9BirthDayINT出生日10BirthMonthDayVARCHAR(50)出生月日11IDCardNumberVARCHAR(50)身份證號碼12[Password]VARCHAR(50)密碼13CompanyVARCHAR(50)所在公司14[Position]VARCHAR(50)職務15[Address]VARCHAR(50)地址16PostalCodeVARCHAR(50)郵政編碼17PhoneNumberVARCHAR(50)電話18MobileNumberVARCHAR(50)手機19EmailVARCHAR(50)電子郵箱20LimitTimeVARCHAR(50)到期時間(3)表名:mb_MemberConsume會員消費記錄表,如表4-13所示。表4-13會員消費記錄表序號名稱類型默認值備注1MemberConsumeIDVARCHAR(50)消費記錄編號2BillIDVARCHAR(50)結(jié)賬單號3MemberIDMONEY會員編碼4IntegralCurrentMONEY本次積分5ConsumeCurrentMONEY本次消費6CreatePersonIDVARCHAR(50)操作人編號7CreateTimeVARCHAR(50)創(chuàng)建日期4.3本章小結(jié)本章首先對系統(tǒng)進行概要設計,得到系統(tǒng)部署圖和整體結(jié)構(gòu)圖;然后對每個子模塊分別進行詳細設計,設計出系統(tǒng)子模塊業(yè)務流程、操作流程等;最后,依據(jù)詳細設計結(jié)果以及數(shù)據(jù)庫概要設計結(jié)果,對數(shù)據(jù)庫進行邏輯設計,得到系統(tǒng)所需要的表結(jié)構(gòu)。第五章餐飲管理系統(tǒng)實現(xiàn)第五章餐飲管理系統(tǒng)實現(xiàn)經(jīng)過上述建模過程,已經(jīng)完成了數(shù)據(jù)庫的后臺工作,建立起了能夠使系統(tǒng)順利運行的后臺,完成了初期的工作目標,下面就要完成人機交互的界面。一個友好完善的界面不僅能夠方便系統(tǒng)的使用者,而且能夠使各個模塊間的劃分明確,結(jié)構(gòu)更趨于完善。5.1庫存進銷存管理模塊的實現(xiàn)因庫存管理設計內(nèi)容多且復雜,為滿足用戶使用上的需要,將單據(jù)的查詢與錄入功能通過選項卡的方式融合在一起。為了方便客戶使用,在最上方設置了快捷鍵。所以設計庫存進銷存管理界面如下圖5-1所示:圖5-1庫存進銷存管理界面為了提高代碼的可重用性,考慮到眾多的單據(jù)都存在查詢與錄入操作,在設計中采用了分別將查詢與錄入操作封裝在一起,通過從單據(jù)的不同類型編號,進行識別。5.2樓面落單管理模塊的實現(xiàn)樓面落單模塊的用戶主要是針對服務于就餐顧客的服務員,服務人員手持PDA為就餐的顧客進行點菜等服務。為了滿足PDA手持設備的便攜性,且要滿足用戶使用上的需求,采用列表的形式為服務人員展示相關(guān)信息,這樣的布局設計,讓PDA的使用者感覺簡潔方便。樓面落單管理界面如下圖5-2所示:圖5-2樓面落單管理界面5.3前臺預定管理模塊的實現(xiàn)前臺預訂管理界面通過分類查看桌臺狀態(tài),系統(tǒng)自動生成訂單編號的方式以達到簡化預訂業(yè)務流程的目的。前臺預訂管理界面如下圖5-3所示:圖5-3前臺預訂管理界面前臺預定管理模塊中需要解決的核心問題為系統(tǒng)如何自動產(chǎn)生新的訂單號,和在一控件組中,每個控件響應同一消息卻能獲得不同內(nèi)容。1.下面為顯示添加新訂單的流程:通過建立數(shù)據(jù)庫的存儲過程,在添加新訂單時系統(tǒng)自動產(chǎn)生根據(jù)當前時間和訂單數(shù)目順序產(chǎn)生訂單編號,有效的解決了訂單編號統(tǒng)一性。(1)建立存儲過程CREATEPROCEDUREGet_BOOK(@paramBookIDVARCHAR(50)OUTPUT)(2)在程序中執(zhí)行一條SQL語句DECLARE@IDVARCHAR(20)EXECUTEGet_BOOK@paramBookID=@IDOUTPUTSELECT@IDASID2.在一控件組中,每個控件響應同一消息卻能獲得不同內(nèi)容。(1)通過添加組控件消息,處理多個控件響應統(tǒng)一消息。在頭文件中添加函數(shù)定義afx_msgvoidViewlist(UINTnID);//顯示菜單(2)ON_CONTROL_RANGE(BN_CLICKED,IDC_OM_MUNETYP0,IDC_OM_MUNETYP9,&COrderManger::Viewlist)//響應組控件消息(控件ID必需是連續(xù)的)(3)Viewlist函數(shù)的實現(xiàn)。5.4前臺收銀模塊的實現(xiàn)前臺收銀模塊的主要功能是能夠隨時了解樓面落單的各個桌臺消費和使用狀態(tài)。為了滿足能夠更快速的了解臺桌狀態(tài),界面采用了桌臺狀態(tài)分類查詢設計,同時通過點擊桌臺就可以顯示使用桌臺的消費信息,清晰明了的進行收銀業(yè)務。前臺收銀界面如下圖5-4所示:圖5-4前臺收銀界面前臺收銀界面的設計主要是以能夠及時反應賬單消費狀態(tài)為主,現(xiàn)將查看桌臺賬單流程展示如下:1.動態(tài)生成該桌臺所包含的賬單菜單,并可進行選擇性的查看賬單詳細消費信息。核心代碼如下:(1)CMenumenu; //說明一個菜單實例 menu.CreatePopupMenu(); //建立一個動態(tài)彈出式菜單 intnMenuID=0; //菜單的ID號(2)CPointopoint; GetCursorPos(&opoint);(3)intnSelection=menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_VERTICAL|TPM_NONOTIFY|TPM_RETURNCMD,opoint.x,opoint.y,this);(4)CStringstr(_T(""));menu.GetMenuString(nSelection,str,MF_BYPOSITION);(5)執(zhí)行SQL語句進行賬單查詢2)通過建立數(shù)據(jù)庫自定義函數(shù),簡化程序中對桌臺狀態(tài)查詢功能的實現(xiàn)代碼。核心代碼如下:(1)CREATEFUNCTIONTable_State(@DayDATETIME)RETURNS@TableStateTABLE(TableIDVARCHAR(20),TableNameVARCHAR(50),TableStateVARCHAR(4))//傳遞當天時間參數(shù)(查詢預定抵達時間為當天的預定桌臺)返回所有系統(tǒng)中所有桌臺狀態(tài)信息(2)執(zhí)行SQL語句DECLARE@dayDATETIMESET@day=GETDATE()SELECTTableID,TableName,TableStateFROMdbo.Table_State(@day)"));(3)獲得記錄集采取相應操作5.5會員管理模塊的實現(xiàn)會員管理界面主要提供會員分類查詢、會員積分兌換、發(fā)卡、續(xù)卡、存款操作,為能夠更方便、快速的進行會員卡的各類操作,模塊采用添加工具欄設計方式。會員管理界面設計如下圖5-5所示,會員管理通過添加對話框狀態(tài)變量,進行界面的狀態(tài)(編輯、查看)。圖5-5會員管理界面5.6決策支持管理模塊的實現(xiàn)決策支持管理模塊主要是對前臺的營業(yè)情況進行匯總、生成報表,同時根據(jù)各個匯總的數(shù)據(jù)進行下一會計日期的營業(yè)情況進行預測。報表采用不同顏色標記數(shù)據(jù),從而使報表整體展現(xiàn)出突出異常、顯示清晰、易于查看的特色。決策支持管理界面主要采用了VSFlexGrid報表控件的顏色標注方式,使界面美觀、清晰。決策支持管理界面設計如下圖5-6所示。圖5-6決策支持管理界面5.7用戶權(quán)限管理模塊的實現(xiàn)1、功能:主要實現(xiàn)對用戶的權(quán)限進行靈活、方便的管理功能,且每個操作界面均有自己的權(quán)限控制。系統(tǒng)管理員擁有最高權(quán)限,可以根據(jù)現(xiàn)實需要,可隨時增添系統(tǒng)用戶組和組內(nèi)中的用戶成員,并對各用戶成員設置相關(guān)權(quán)限。2、設計思想:(1)用戶組:系統(tǒng)管理員根據(jù)現(xiàn)實需要,可隨時增添多個用戶組。系統(tǒng)這樣設計,便于對各用戶成員權(quán)限進行有效管理。本系統(tǒng)的用戶組有管理員組、服務員組、收銀員組、倉管員組。(2)用戶成員:在用戶組建好之后,系統(tǒng)管理員可在相應組中建立多個用戶,這樣便于設置每個用戶的權(quán)限。(3)權(quán)限列表:權(quán)限列表采用了帶復選框的樹控件來展示,用樹的各個第一級子結(jié)點來表示系統(tǒng)各個模塊,然后依此類推,用各個第一級以下的子結(jié)點來表示各個模塊中所包含的權(quán)限。系統(tǒng)管理員在進行權(quán)限管理時,只需在各個權(quán)限前面的復選框內(nèi)選對鉤或者去對鉤。3、用戶權(quán)限管理效果展示基于以上分析,用戶權(quán)限管理效果設計如圖5-7所示:圖5-7用戶權(quán)限管理效果圖5.8后臺數(shù)據(jù)維護模塊的實現(xiàn)1、功能:主要實現(xiàn)系統(tǒng)管理員對后臺數(shù)據(jù)進行管理與維護功能。具體內(nèi)容包括對各個數(shù)據(jù)進行添加、刪除、修改,保證各數(shù)據(jù)得到及時的更新。2、設計思想:采用樹控件來實現(xiàn)對數(shù)據(jù)進行分類管理,并且用大小圖標視圖來顯示不同的數(shù)據(jù)選擇效果:選中樹中的各個第一級子結(jié)點時,系統(tǒng)采用大圖標視圖來顯示相應的選擇內(nèi)容;選中樹中的各個次級子結(jié)點時,系統(tǒng)采用的是小圖標視圖來顯示相應的選擇內(nèi)容。采用這種設計,能夠使整個界面清晰明了,操作簡單。3、后臺數(shù)據(jù)維護效果展示:基于以上分析,后臺數(shù)據(jù)維護效果設計如圖5-8所示:圖5-8后臺數(shù)據(jù)維護效果圖5.10后臺基礎(chǔ)數(shù)據(jù)維護模塊中關(guān)鍵技術(shù)的實現(xiàn)5.10.1分割對話框及動態(tài)切換視圖技術(shù)根據(jù)系統(tǒng)需求,采用了靜態(tài)分割對話框技術(shù),并根據(jù)用戶的不同操作實現(xiàn)了多個視圖之間動態(tài)切換功能。核心代碼如下:1、分割對話框部分代碼:intCBackGroundKeep::OnCreate(LPCREATESTRUCTlpCreateStruct){ if(CDialog::OnCreate(lpCreateStruct)==-1) return-1;//創(chuàng)建窗格 m_pMyFrame=newCFrameWnd; m_pMyFrame->Create(NULL,_T(""),WS_CHILD, CRect(0,0,1,1),this); m_pMyFrame->ShowWindow(SW_SHOW); m_pMyFrame->MoveWindow(0,0,300,300); m_cSplitter.CreateStatic(m_pMyFrame,1,2);//創(chuàng)建一行兩列(水平方向上只有一個窗格,豎直方向上有兩個窗格) m_cSplitter.CreateView(0,0,RUNTIME_CLASS(CCLeftTreeView),//創(chuàng)建左窗格 CSize(220,220),NULL);//改變CSize大小,就可以改變分割條的初始位置m_cSplitter.CreateView(0,1,RUNTIME_CLASS(CRMaxListView),//創(chuàng)建右窗格 CSize(220,220),NULL);return0;}2、動態(tài)切換視圖部分代碼:voidCBackGroundKeep::SwitchToView(intnViewType){ CView*pView=(CView*)m_cSplitter.GetPane(0,1); CRectrcRight,rcFrame; pView->GetClientRect(&rcRight); GetClientRect(&rcFrame); switch(nViewType) { caseRMINLISTVIEW: //listcontrol控件的report形式 { if(!pView->IsKindOf(RUNTIME_CLASS(CRMinListView))||m_MinIconFlag==TRUE) { //刪除舊的視圖 m_cSplitter.DeleteView(0,1); //創(chuàng)建新的視圖 m_cSplitter.CreateView(0,1,RUNTIME_CLASS(CRMinListView), CSize(200,200),NULL); //調(diào)整分布 m_cSplitter.RecalcLayout(); m_pRMinListView=(CRMinListView*)m_cSplitter.GetPane(0,1); } break; } caseRMAXLISTVIEW: //大圖標形式 { if(!pView->IsKindOf(RUNTIME_CLASS(CRMaxListView))||m_MaxIconFlag==TRUE) { //刪除舊的視圖 m_cSplitter.DeleteView(0,1); //創(chuàng)建新的視圖 m_cSplitter.CreateView(0,1,RUNTIME_CLASS(CRMaxListView), CSize(50,50),NULL); //調(diào)整分布 m_cSplitter.RecalcLayout(); m_pRMaxListView=(CRMaxListView*)m_cSplitter.GetPane(0,1); } break; }default:break; }}5.10.2ADO的使用本系統(tǒng)采用ADO來連接數(shù)據(jù)庫,訪問數(shù)據(jù)庫速度更快,易于使用。1、首先要導入ADO動態(tài)鏈接庫,通常情況下,在“StdAfx.h”頭文件中導入動態(tài)庫。程序代碼如下:#import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","rsEOF")2、創(chuàng)建ADO對象的兩種方法在利用ADO開發(fā)數(shù)據(jù)庫應用程序時,需要創(chuàng)建ADO對象的實例。在VisualC++中,通常有兩種方法創(chuàng)建ADO對象實例,如下:1)con.CreateInstance(_uuidof(Connection));2)com.CreateInstance("ADODB.Recordset");3、利用ADO連接SQLServer數(shù)據(jù)庫的兩種格式使用ADO對象連接數(shù)據(jù)庫時,連接字符串通常有兩種格式,分別為:1)"Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=’數(shù)據(jù)庫’;DataSource=’’"2)”driver={SQLServer};SERVER=;UID=sa;PWD=’’;DATABASE=數(shù)據(jù)庫”4、使用ADO連接SQLServer數(shù)據(jù)庫部分代碼如下:CADODatabase::CADODatabase(void){ CoInitialize(NULL); m_pConn=NULL; try { m_pConn.CreateInstance("ADODB.Connection"); m_pRst.CreateInstance("ADODB.Recordset"); m_pCmd.CreateInstance("ADODB.Command"); m_pConn->ConnectionString="Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=CMS_DB;DataSource=(local)"; m_pConn->ConnectionTimeout=5; m_pConn->Open("","","",adConnectUnspecified); } catch(_com_errore) { //數(shù)據(jù)庫連接錯誤 }}5.10.3ComponentOneVSFlexGrid控件的使用1、基于本系統(tǒng)需求及ComponentOneVSFlexGrid控件的優(yōu)點,系統(tǒng)在設計過程中選用了ComponentOneVSFlexGrid第三方控件。部分代碼如下://設置為行列 m_VSFMealTime.SetRows(1); m_VSFMealTime.SetCols(3); //使第,,列中的文本居中 m_VSFMealTime.SetColAlignment(0,flexAlignCenterCenter);m_VSFMealTime.SetColAlignment(1,flexAlignCenterCenter); m_VSFMealTime.SetColAlignment(2,flexAlignCenterCenter); m_VSFMealTime.SetEditable(FALSE);//使所有的單元格都不可以編輯 m_VSFMealTime.SetColWidth(1,2420);//設置第一列寬度 m_VSFMealTime.SetColWidth(2,2430);//設置第二列寬度 m_VSFMealTime.SetTextMatrix(0,1,_T("餐段名稱")); m_VSFMealTime.SetTextMatrix(0,2,_T("開始時間")); m_VSFMealTime.SetColEditMask(2,_T("##:##"));//使第二列按這種形式輸入2、ComponentOneVSFlexGrid控件效果展示如圖5-9所示:圖5-9ComponentOneVSFlexGrid控件效果圖5.11小結(jié)本章主要依據(jù)第四章設計結(jié)果對系統(tǒng)進行各個子模塊的實現(xiàn)工作,在編寫代碼過程中,盡量做到了命名規(guī)范、代碼縮進等基本編程規(guī)范,保證代碼的正確有效性。第六章系統(tǒng)測試第六章系統(tǒng)測試軟件測試是整個軟件開發(fā)過程中一段非常重要的階段,是軟件質(zhì)量保證的重要手段。6.1測試用例本論文在系統(tǒng)功能基本完成后,采用了科學的測試方法對系統(tǒng)進行了詳細的測試。具體測試用例如下表6-1至6-20所示:表6-1用戶登錄功能測試用例用例編碼001用例描述用戶登錄功能測試目的檢測用戶登錄功能是否滿足需求規(guī)定前提條件數(shù)據(jù)庫中已存在該用戶資料測試需求輸入預期輸出實際輸出原因登錄任意輸入一個用戶ID及密碼不能登錄不能登錄,出現(xiàn)相關(guān)錯誤信息提示數(shù)據(jù)庫中不存在該用戶資料輸入一個正確的用戶ID及密碼能登錄能登錄,直接進入系統(tǒng)主界面數(shù)據(jù)庫中存在該用戶資料用戶ID和密碼二者只輸入一個不能登錄不能登錄,出現(xiàn)相關(guān)錯誤信息提示在數(shù)據(jù)庫中沒有找到正確的用戶信息備注該功能已完善表6-2點菜范圍測試用例用例編碼002用例描述點菜范圍設置功能測試目的檢測點菜范圍設置功能是否滿足需求規(guī)定前提條件在后臺數(shù)據(jù)維護中已經(jīng)設置好了點菜范圍測試需求輸入預期輸出實際輸出原因點菜范圍設置點擊“添加”按鈕彈出輸入框彈出輸入對話框正確相同的點菜范圍名稱并點擊“保存”按鈕彈出保存成功提示彈出錯誤提示不能設置相同的點菜范圍名稱點擊“刪除”按鈕彈出刪除前的相應提示彈出刪除前的相應提示代碼中做了相應的提示點擊“編輯”按鈕并輸入一個已經(jīng)存在的點菜范圍名稱彈出修改成功提示彈出錯誤提示不能設置相同的點菜范圍名稱備注該功能已完善,能很好的更新數(shù)據(jù)庫中的點菜范圍相關(guān)信息表6-3菜品設置測試用例用例編碼003用例描述菜品設置功能測試目的檢測菜品設置功能是否能方便的更新數(shù)據(jù)庫中的菜品信息前提條件系統(tǒng)中必須已經(jīng)存在某個菜品類別測試需求輸入預期輸出實際輸出原因菜品設置點擊“添加”并且隨意輸入一些菜品信息彈出保存成功提示彈出“菜品名稱不能為空”提示菜品名稱不能為空點擊“屬性”按鈕修改菜品信息彈出修改成功提示彈出修改成功提示正確點擊“刪除”按鈕彈出刪除前的相應提示沒有任何提示刪除前必須先選中某道菜品備注該功能已完善,能較好的更新數(shù)據(jù)庫中的菜品信息表6-4庫存物品設置功能測試用例用例編碼004用例描述庫存物品設置功能測試目的檢測庫存物品設置是否能方便的更新數(shù)據(jù)庫中的庫存物品信息前提條件系統(tǒng)中必須已經(jīng)存在某個庫存物品類別測試需求輸入預期輸出實際輸出原因庫存物品設置點擊“添加”并且隨意輸入一些庫存物品彈出保存成功提示彈出保存成功提示正確點擊“屬性”按鈕修改菜品信息彈出修改成功提示彈出修改成功提示正確點擊“刪除”按鈕彈出刪除前的相應提示彈出刪除前的相應提示正確備注該功能已完善,能很好的更新數(shù)據(jù)庫中的庫存物品信息表6-5桌臺類型設置功能測試用例用例編碼005用例描述桌臺類型設置功能測試目的檢測桌臺類型設置功能是否滿足需求規(guī)定前提條件無測試需求輸入預期輸出實際輸出原因桌臺類型設置點擊“添加”并且隨意輸入一些桌臺類型信息但沒有輸入名稱彈出保存失敗提示彈出保存失敗提示桌臺類型名稱不能為空點擊“屬性”按鈕修改桌臺類型信息彈出修改成功提示彈出修改成功提示正確選中某一桌臺類型并點擊“刪除”按鈕彈出刪除成功提示彈出刪除失敗提示目前系統(tǒng)中已有桌臺使用了這個桌臺類型備注該功能已完善表6-6用戶權(quán)限功能測試用例用例編碼006用例描述用戶權(quán)限設置功能測試目的檢測用戶權(quán)限設置功能是否能方便的更改用戶相關(guān)權(quán)限前提條件系統(tǒng)中必須已經(jīng)存在某個用戶測試需求輸入預期輸出實際輸出原因支付方式設置選擇某個用戶顯示該用戶的所有權(quán)限極時顯示了該用戶的所有權(quán)限正確選擇某個用戶,取消掉原有的權(quán)限彈出修改成功提示沒有提示,但顯示成功修改后的結(jié)果正確選擇“放棄”按鈕還原原有的權(quán)限顯示原先所有的權(quán)限正確備注該功能已完善,能方便的更改用戶相關(guān)權(quán)限表6-7商品庫存查詢測試用例用例編碼007用例描述商品庫存查詢,用來查詢當前的庫存情況測試目的商品庫存查詢功能是否正常前提條件用戶必須具有進入商品庫存查詢的權(quán)限測試需求輸入預期輸出實際輸出原因商品庫存查詢選擇查詢條件,點擊“刷新”顯示根據(jù)查詢條件所查詢出來的庫存信息顯示根據(jù)查詢條件所查詢出來的庫存信息正確備注該模塊基本完成表6-8點菜功能測試用例用例編碼008用例描述點菜,為桌臺進行點菜測試目的點菜功能是否正常前提條件用戶已經(jīng)進入系統(tǒng)并已經(jīng)開臺測試需求輸入預期輸出實際輸出原因點菜選擇菜品進入菜品詳細設置進入菜品詳細設置正確輸入數(shù)量,選擇確定退出到點菜界面,繼續(xù)點菜退出到點菜界面,繼續(xù)點菜正確查看“未分單明細”列出所有已點但尚未分單的菜品信息列出所有已點但尚未分單的菜品信息正確查看“已分單明細”列出所有已點菜品信息列出所有已點菜品信息正確在“已分單明細”中選擇“上菜”菜品狀態(tài)更改為上菜菜品狀態(tài)更改為上菜正確在“已分單明細”中選擇“退菜”彈出退菜界面彈出退菜界面正確輸入退菜數(shù)量當退菜數(shù)量大于當前數(shù)量時彈出錯誤信息,否則退菜成功當退菜數(shù)量大于當前數(shù)量時彈出錯誤信息,否則退菜成功正確在“已分單明細”中選擇“催菜”菜品狀態(tài)更改為催菜菜品狀態(tài)更改為催菜正確在“已分單明細”中選擇“叫起”菜品狀態(tài)更改為叫起菜品狀態(tài)更改為叫起正確在“已分單明細”中選擇“贈菜”判斷是否具有贈菜權(quán)限后,如果有則更改菜品狀態(tài)為退菜,如果沒有則彈出錯誤提示判斷是否具有贈菜權(quán)限后,如果有則更改菜品狀態(tài)為退菜,如果沒有則彈出錯誤提示正確選擇“分單”向服務器發(fā)送點菜信息,清空未分單明細列表向服務器發(fā)送點菜信息,清空未分單明細列表正確備注超時錯誤未處理;打折、埋單未處理;會員管理未完成;桌臺服務
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河南師范大學2025年招聘員額制工作人員(碩士)4人(公共基礎(chǔ)知識)綜合能力測試題附答案
- 2025安徽六安金寨縣紀委監(jiān)委(含縣委巡察機構(gòu))選調(diào)公務員10人備考題庫附答案
- 2025山西陽泉人才發(fā)展集團招聘服務工作人員19人考前自測高頻考點模擬試題附答案
- 2025廣東深圳市眼科醫(yī)院招聘5人備考題庫附答案
- AI在氣候變化建模中的應用:技術(shù)原理與實踐案例
- 2026上半年新疆巴州女兵征集開始筆試備考試題及答案解析
- 2026重慶工信職業(yè)學院招聘12人筆試參考題庫及答案解析
- 2025秋人教版道德與法治八年級上冊5.3友善待人課件
- 2025廣東佛山大學附屬第三醫(yī)院招聘事業(yè)單位聘用制(編制)工作人員36人(第一批)筆試模擬試題及答案解析
- 2026四川自貢醫(yī)元健康管理有限責任公司招聘工作人員11人筆試備考試題及答案解析
- 中國痤瘡治療指南
- 居民自建樁安裝告知書回執(zhí)
- 老同學聚會群主的講話發(fā)言稿
- 國家開放大學最新《監(jiān)督學》形考任務(1-4)試題解析和答案
- 天然氣輸氣管線陰極保護施工方案
- 高血壓問卷調(diào)查表
- GB/T 25156-2010橡膠塑料注射成型機通用技術(shù)條件
- GB/T 25085.3-2020道路車輛汽車電纜第3部分:交流30 V或直流60 V單芯銅導體電纜的尺寸和要求
- GB/T 242-2007金屬管擴口試驗方法
- GB/T 21776-2008粉末涂料及其涂層的檢測標準指南
- 全新版尹定邦設計學概論1課件
評論
0/150
提交評論