




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、餐飲管理系統(tǒng)1。1開發(fā)背景近幾年來,計(jì)算機(jī)網(wǎng)絡(luò)、分布技術(shù)日趨成熟,隨著科技的發(fā)展,餐飲業(yè)的競爭也越來越激烈。想在這樣競爭激烈的環(huán)境下生存,就必須運(yùn)用科學(xué)的管理思想與先進(jìn)的管理方法,使點(diǎn)餐與管理一體化。這樣不僅提高了工作效率,也避免了以前手工作業(yè)的麻煩,從而使管理者能夠準(zhǔn)確、有效地管理餐飲。因此,餐飲業(yè)的管理者更希望從科學(xué)的管理中取得競爭的優(yōu)勢,在競爭激烈的商業(yè)市場中取勝。1。2系統(tǒng)分析1。2。1 需求分析通過與XXX餐飲公司的溝通和需求分析,要求系統(tǒng)具體以下功能:l 系統(tǒng)操作簡單,界面友好l 規(guī)范、完善的基礎(chǔ)信息設(shè)置;l 支持多人操作,要求有權(quán)限分配功能;l 為了方便用戶,要求系同支持模糊查詢
2、;l 實(shí)現(xiàn)對消費(fèi)賬目自動結(jié)算。1。2.2可行性分析1引言(1)編寫目的以文件的形式給企業(yè)的決策層提供項(xiàng)目實(shí)施的參考依據(jù),其中包括項(xiàng)目存在的風(fēng)險(xiǎn)、項(xiàng)目需要的投資和能夠收獲的最大效益。(2)背景XXX餐飲公司是一家以餐飲經(jīng)營為主的私營企業(yè)。為了完善管理制度、增強(qiáng)企業(yè)的競爭力、實(shí)現(xiàn)信息化管理,公司決定開發(fā)餐飲管理系統(tǒng)。2可行性研究的前提(1)要求餐飲管理系統(tǒng)必須提供桌臺信息、菜品信息和人事檔案信息的基礎(chǔ)設(shè)置;強(qiáng)大的查詢功能和消費(fèi)管理功能;可以分不同權(quán)限、不同用戶對該系統(tǒng)進(jìn)行操作.另外,該系統(tǒng)還必須保證數(shù)據(jù)的安全性、完整性和準(zhǔn)確性。(2)目標(biāo)餐飲管理系統(tǒng)的目標(biāo)是實(shí)現(xiàn)企業(yè)的信息化管理,節(jié)約人力、物力、財(cái)
3、力等資源,提高餐飲行業(yè)的服務(wù)效率并提升企業(yè)市場競爭力.(3)條件、假定和限制為實(shí)現(xiàn)企業(yè)的信息化管理,必須對才做人員進(jìn)行培訓(xùn),而且將原有的菜品、桌臺、人事檔案等信息轉(zhuǎn)換為信息化數(shù)據(jù),需要操作員花費(fèi)大量時(shí)間和精力來完成,為不影響企業(yè)的正常運(yùn)行,餐飲管理系統(tǒng)必須在兩個(gè)月的時(shí)間內(nèi)交付用戶使用.系統(tǒng)分析人員需要兩個(gè)內(nèi)到位,用戶需要4天時(shí)間確認(rèn)需求分析文檔。去除其中可能出現(xiàn)的問題,例如用戶可能臨時(shí)有事,占用5天時(shí)間確認(rèn)需求分析。那么程序開發(fā)人員需要在一個(gè)月 零19天的時(shí)間內(nèi)進(jìn)行系統(tǒng)設(shè)計(jì)、程序編碼、系統(tǒng)測試、程序調(diào)試和程序的打包工作。其間,還包括員工每周的休息時(shí)間。(4)評價(jià)尺度根據(jù)用戶的要求,項(xiàng)目主要以桌
4、臺信息、菜品信息和查詢統(tǒng)計(jì)功能為主 ,對于認(rèn)識檔案和消費(fèi)信息應(yīng)該及時(shí)準(zhǔn)確地保存,并提供相應(yīng)的查詢和統(tǒng)計(jì)。3投資及效益分析(1)支出根據(jù)系統(tǒng)的規(guī)模及項(xiàng)目的開發(fā)周期(兩個(gè)月),公司決定投入7個(gè)人。為此,公司將直接支付10萬元的工資及各種福利待遇。在項(xiàng)目安裝及調(diào)試階段,用戶培訓(xùn)、員工出差等費(fèi)用支出需要2萬元.在項(xiàng)目維護(hù)階段預(yù)計(jì)需要投入3萬元的資金。累計(jì)項(xiàng)目投入需要15萬元資金。(2)收益用戶提供項(xiàng)目資金35萬元。對于項(xiàng)目運(yùn)行后進(jìn)行的改動,采取協(xié)商的原則根據(jù)改動規(guī)模額外提供資金。因此從投資與收益的效益比上看,公司可以獲得20萬元的利潤。項(xiàng)目完成后,會給公司提供資源儲備,包括技術(shù)、經(jīng)驗(yàn)的累積,其后在開發(fā)
5、類似的項(xiàng)目時(shí),可以極大地縮短項(xiàng)目開發(fā)周期。4結(jié)論根據(jù)上面的分析,在技術(shù)上不會存在問題,因此項(xiàng)目延期的可能性很小。在效益上公司投入7個(gè)人、兩個(gè)月的時(shí)間獲利20萬元,效益比較可觀.在公司今后發(fā)展上可以儲備項(xiàng)目開發(fā)的經(jīng)驗(yàn)和資源.因此認(rèn)為該項(xiàng)目可以開發(fā)。1.3系統(tǒng)設(shè)計(jì)1。3。1系統(tǒng)目標(biāo)本系統(tǒng)屬于小型的餐飲管理系統(tǒng),可以有效地對中小型餐廳消費(fèi)進(jìn)行管理。本系統(tǒng)應(yīng)達(dá)到以下目標(biāo):l 系統(tǒng)采用人機(jī)交互的方式,界面美觀有好,信息查詢靈活、方便,數(shù)據(jù)存儲安全可考;l 實(shí)現(xiàn)對餐廳客戶開臺、點(diǎn)菜/加菜、賬目查詢和結(jié)賬等操作;l 對用戶數(shù)的數(shù)據(jù)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能地避免人為錯(cuò)誤;l 實(shí)現(xiàn)對消費(fèi)賬目自動結(jié)算;l 實(shí)現(xiàn)
6、對消費(fèi)的歷史記錄進(jìn)行查詢、支持模糊查詢;l 系統(tǒng)應(yīng)最大限度地實(shí)現(xiàn)易維護(hù)性和易操作性。1.3.2 系統(tǒng)功能結(jié)構(gòu)餐飲管理系統(tǒng)功能結(jié)構(gòu)如圖1_1所示。餐飲系統(tǒng)管理系統(tǒng)設(shè)置口 令 設(shè) 置鎖 定 系 統(tǒng)基礎(chǔ)信息桌 臺 信 息職 員 信 息輔助工具日 歷計(jì) 算 器記 事 本系統(tǒng)維護(hù)權(quán) 限 管 理系 統(tǒng) 備 份系 統(tǒng) 恢 復(fù)幫助退出關(guān) 于退 出 系 統(tǒng)圖1_1 系統(tǒng)功能結(jié)構(gòu)圖1。3。3業(yè)務(wù)邏輯編碼規(guī)則遵守程序編碼規(guī)則所開發(fā)的程序,代碼清晰、整潔、方便閱讀,并可以提高程序的可讀性,真正做到“見名知意”。本節(jié)哦哪個(gè)數(shù)據(jù)庫設(shè)計(jì)和程序編碼兩個(gè)方面介紹程序開發(fā)中的編碼規(guī)則。1 數(shù)據(jù)庫對象命名規(guī)則(1) 數(shù)據(jù)庫命名規(guī)則
7、數(shù)據(jù)庫命名以字母db開頭(小寫),后面加數(shù)據(jù)庫相關(guān)英文單詞或縮寫。下面將舉例說明,如表1_1所示。表1_1 數(shù)據(jù)庫命名數(shù)據(jù)庫名稱描述db_MrCy餐飲管理系統(tǒng)數(shù)據(jù)庫(2) 數(shù)據(jù)表命名規(guī)則數(shù)據(jù)表命名以字母tb開頭(小寫),后面加數(shù)據(jù)庫相關(guān)英文單詞或縮寫和數(shù)據(jù)表名,多個(gè)單詞間用“_”分隔。下面將舉例說明,如表1_2所示。表1_2 數(shù)據(jù)表命名數(shù)據(jù)表名稱描述tb_food點(diǎn)菜信息表tb_foodtype菜品類別信息表(3) 字段命名規(guī)則字段一律采用英文單詞或詞組(可利用翻譯軟件)命名,如找不到專業(yè)的英文單詞或詞組,可以用相同意義的英文單詞或詞組代替。下面將舉例說明,表1_3為桌臺信息表中的部分字段。表
8、1_3 字段命名數(shù)據(jù)表名稱描述RoomName桌臺名稱RoomJC桌臺位置RoomZT桌臺狀態(tài)2 業(yè)務(wù)編碼規(guī)則(1) 桌臺編號桌臺的ID編號是餐飲管理系統(tǒng)中桌臺的唯一標(biāo)識,不同的桌臺可以通過該編號來區(qū)分。該編號是個(gè)字增序號,從數(shù)字1開始.例如1、2、3.(2) 食品類別編號食品類別編號用于區(qū)分食品的不同類別,不同的食品種類可以通過該編號來區(qū)分.該編號是個(gè)字增序號,從數(shù)字1開始。例如1、2、3。(3) 員工編號員工編號用于區(qū)分各個(gè)員工的信息,不同的員工可以通過該編號來區(qū)分(即使員工名稱相同)。該編號是個(gè)字增序號,從數(shù)字1開始。例如1、2、3。1.3。4系統(tǒng)預(yù)覽餐飲管理系統(tǒng)由多個(gè)窗體組成,下面僅列
9、出幾個(gè)典型窗體,主窗體模塊如圖1_2所示,主要功能是連接系統(tǒng)功能菜單、顯示所有桌臺和現(xiàn)實(shí)系統(tǒng)當(dāng)前狀態(tài).圖1_2 主窗體模塊點(diǎn)菜模塊如圖1_3所示,主要功能是為顧客點(diǎn)菜。圖1_3 點(diǎn)/加菜模塊開臺模塊如圖1_4所示,主要功能是實(shí)現(xiàn)對指定的桌臺進(jìn)行開臺操作.圖1_4 開臺模塊運(yùn)行結(jié)果結(jié)賬模塊如圖1_5所示,主要功能是對指定的桌臺進(jìn)行結(jié)賬操作,同時(shí),清空結(jié)賬桌臺的所有消費(fèi)信息.圖1_5 結(jié)賬模塊運(yùn)行結(jié)果1.3.5業(yè)務(wù)流程圖餐飲管理系統(tǒng)的業(yè)務(wù)流程圖如圖1_6所示。否系統(tǒng)維護(hù)基礎(chǔ)信息系統(tǒng)設(shè)置登錄是否登錄是系統(tǒng)主窗體是否是管理員退出輔助工具幫助否是 圖1_6 餐飲管理系統(tǒng)的業(yè)務(wù)流程圖1。4數(shù)據(jù)庫設(shè)計(jì)1。4
10、.1 數(shù)據(jù)庫概要說明在本系統(tǒng)中,采用的是SQL Server2008數(shù)據(jù)庫,用來存儲商品信息、桌臺信息、員工信息、操作員信息等。這里將數(shù)據(jù)庫命名為db_MrCy,其中包含了6張數(shù)據(jù)表,用于存儲不同的信息,如圖1_7所示.商品信息表商品類別信息表顧客消費(fèi)信息表桌臺信息表用戶信息表職員信息表圖1_7 數(shù)據(jù)庫結(jié)構(gòu)1.4.2 數(shù)據(jù)庫概念設(shè)計(jì)通過對數(shù)據(jù)庫進(jìn)行的需求分析、業(yè)務(wù)流程設(shè)計(jì) 及系統(tǒng)功能結(jié)構(gòu)的確定,規(guī)劃出系統(tǒng)中使用的數(shù)據(jù)庫實(shí)體對象及實(shí)體E-R圖。由于商品的種類很多,因此需要對商品進(jìn)行分類,這樣就可以對商品分門別類地進(jìn)行存儲,在查詢時(shí)可以根據(jù)商品類別進(jìn)行查詢,商品信息實(shí)體E-R圖如圖1_8所示。在數(shù)
11、據(jù)庫中建立一個(gè)商品類型信息表,用于存儲商品的所有類別信息,商品類別信息實(shí)體ER圖如圖1_9所示。商品系統(tǒng)編號商品信息表(tb_Food)商品類別編號商品代號商品價(jià)格商品名稱圖1_8 商品信息實(shí)體ER圖商品類別信息表(tb_FoodType)商品類別編號商品類別名稱圖1-9 商品類別信息實(shí)體ER圖當(dāng)顧客進(jìn)行消費(fèi)時(shí),顧客會根據(jù)自己的需求消費(fèi)不同的商品,系統(tǒng)將顧客消費(fèi)的所有信息存儲到數(shù)據(jù)表中,以便顧客結(jié)賬時(shí)查詢,在數(shù)據(jù)庫中建立一個(gè)顧客消費(fèi)信息表用于存儲顧客的消費(fèi)記錄。顧客消費(fèi)信息實(shí)體E-R圖圖如1_10所示。顧客消費(fèi)信息表(tb_GuestFood)消費(fèi)時(shí)間消費(fèi)桌臺名稱備注信息開單人系統(tǒng)編號商品代碼
12、商品名稱商品價(jià)格消費(fèi)商品數(shù)量1_10 顧客消費(fèi)信息實(shí)體ER圖餐廳中會有多個(gè)桌臺供顧客選擇,每個(gè)桌臺會有不同的信息。例如,大廳01號桌被顧客使用,顧客人數(shù)為5人等,方便操作員對桌臺的操作,在數(shù)據(jù)庫中建立一個(gè)桌臺信息表用于存儲所有桌臺的詳細(xì)信息。桌臺信息實(shí)體ER圖如圖1_11所示。桌臺信息表(tb_Room)開單人顧客人數(shù)開臺時(shí)間顧客名稱桌臺其他信息桌臺備注系統(tǒng)編號桌臺名稱桌臺簡稱桌臺包間費(fèi)桌臺位置開桌臺狀態(tài)桌臺類型圖6_11 桌臺信息實(shí)體ER圖為了對系統(tǒng)進(jìn)行不同的管理,需要為系統(tǒng)建立管理用戶。這些用戶通過登錄模塊登錄系統(tǒng),登錄成功之后會根據(jù)不同的權(quán)限對不同的功能模塊進(jìn)行管理,在數(shù)據(jù)庫中建立一個(gè)用
13、戶信息表,用于存儲登錄用戶信息。用戶信息實(shí)體ER圖如圖1_12所示。用戶信息表(tb_User)系統(tǒng)編號登錄帳號登錄密碼帳號權(quán)限圖1_12 用戶信息實(shí)體ER圖在餐飲行業(yè)中,餐廳服務(wù)員起著及其重要的作用,但是由于服務(wù)人員數(shù)眾多,如果不進(jìn)行相應(yīng)的信息記錄,可能管理起來會非常困難。因此,需要對服務(wù)人員的詳細(xì)信息進(jìn)行記錄。在數(shù)據(jù)庫中建立一個(gè)志愿信息表用于存儲所有服務(wù)人員的信息.支援信息實(shí)體E-R圖圖如1_13所示。職員信息表(tb_Waiter)職員電話職員年齡職員編號身份證號號碼職員姓名系統(tǒng)編號職員性別圖1_13 職員信息實(shí)體ER圖1。4。3 數(shù)據(jù)庫邏輯設(shè)計(jì)根據(jù)設(shè)計(jì)好的ER圖在數(shù)據(jù)庫中創(chuàng)建各表,系統(tǒng)
14、數(shù)據(jù)庫中各表的結(jié)構(gòu)如下。1 tb_Food(商品信息表)tb_Food表用于保存所有商品信息,該表的結(jié)構(gòu)如表1_4所示。表1_4 商品信息表字段名稱數(shù)據(jù)類型字段大小說明IDint1系統(tǒng)編號foodtychar10類別編號foodnumchar10商品代號foodnamevarchar50商品名稱foodpricedecimal9商品價(jià)格2 tb_FoodType(商品類別信息表)tb_ FoodType表用于保存商品類別信息,該表的結(jié)構(gòu)如表1_5所示。表1_5 商品類別信息表字段名稱數(shù)據(jù)類型字段大小說明IDint4系統(tǒng)編號foodtypevarchar50商品類別名稱3 tb_GuestFoo
15、d(顧客消費(fèi)信息表)tb_GuestFood表用于保存顧客的消費(fèi)信息,該表結(jié)構(gòu)如表1_6所示。表1_6 顧客消費(fèi)信息表字段名稱數(shù)據(jù)類型字段大小說明IDint4系統(tǒng)編號foodnumchar10商品代號foodnamevarchar50商品名稱foodsumchar10消費(fèi)數(shù)量foodallpricedecimal9商品價(jià)格waiternamevarchar50操作員姓名beizhuvarchar50備注zhuotaichar10消費(fèi)桌臺datatimevarchar50消費(fèi)時(shí)間4 tb_Room(桌臺信息表)tb_Room表用于保存所有桌臺信息,該表結(jié)構(gòu)如表1_7所示。字段名稱數(shù)據(jù)類型字段大小
16、說明IDint4系統(tǒng)編號RoomNamechar10桌臺名稱RoomJCchar10桌臺簡稱RommBJFdecimal9桌臺包間費(fèi)RoomWZchar10桌臺位置RoomSZTchar10桌臺狀態(tài)RoomTypechar10桌臺類型RoomBZvarchar50桌臺備注RoomQTvarchar50桌臺其他信息GuestNamevarchar50顧客姓名zhangdanDatevarchar50開臺時(shí)間Numint4顧客人數(shù)WaiterNamevarchar50操作員姓名5 tb_User(用戶信息表)tb_User表用于保存所有系統(tǒng)用戶信息,該表結(jié)構(gòu)如表1_8所示.表1_8 用戶信息表字段
17、名稱數(shù)據(jù)類型字段大小說明IDint4系統(tǒng)編號UseNamevarchar50用戶登錄名UserPwdvarchar50用戶登錄密碼powerchar10用戶權(quán)限6 tb_Writer(職員信息表)tb_Writer表用于保存所有職員信息,該表結(jié)構(gòu)如表1_9所示。表1_9 職員信息表字段名稱數(shù)據(jù)類型字段大小說明IDint4系統(tǒng)編號WaiterNamevarchar50職員姓名CardNumvarchar50身份證號碼WaiterNumchar10職員編號Sexchar10性別Agechar10年齡Telvarchar50電話1。5 公共類設(shè)計(jì)為了節(jié)省系統(tǒng)資源,實(shí)現(xiàn)代碼重用,可以在系統(tǒng)中設(shè)計(jì)一些公
18、共類.本系統(tǒng)中創(chuàng)建了一個(gè)DBConn公共類,該類封裝了用于連接數(shù)據(jù)庫的方法。由于此類對數(shù)據(jù)庫進(jìn)行操作,所以需要引入一個(gè)命名空間,其主要代碼如下:自定義方法CyCon用于連接數(shù)據(jù)庫,此方法返回一個(gè)SqlConnection對象,主要代碼如下:1.6 系統(tǒng)登錄模塊設(shè)計(jì)1。6。1系統(tǒng)登錄模塊概述為了使系統(tǒng)的安全性得到保障,大多數(shù)系統(tǒng)都開發(fā)登錄模塊。只有通過登錄 模塊,才能對登錄用戶進(jìn)行驗(yàn)證,只有系統(tǒng)的合法用戶才可以進(jìn)入系統(tǒng)的主界面。登錄模塊運(yùn)行結(jié)果如圖1_14所示.圖1_14 登錄模塊運(yùn)行結(jié)果1。6.2 系統(tǒng)登錄模塊技術(shù)分析運(yùn)行本系統(tǒng)的登錄模塊,用戶只需要輸入用戶名和密碼,單擊“登錄”按鈕進(jìn)行驗(yàn)證。
19、登錄模塊以登錄的用戶和密碼作為搜索條件,在數(shù)據(jù)庫中進(jìn)行查詢。使用SqlDataReader對象的HasRows屬性判斷登錄用戶名和密碼是否正確.下面介紹SqlDataReader對象的HasRows屬性。HasRows屬性用于獲取一個(gè)bool型的值,該值指示SqlDataReader是否包含一行或多行,語法如下:public override bool HasRowsget;屬性值:如果SqlDataReader包含一行或多行,則為true;否則為false.例如,驗(yàn)證登錄用戶名和密碼是否正確,可以通過以下代碼實(shí)現(xiàn): 1.6.3 系統(tǒng)登錄模塊實(shí)現(xiàn)過程該模塊需要使用的數(shù)據(jù)表示:tb_User系統(tǒng)
20、登錄模塊的具體實(shí)現(xiàn)步驟如下:(1) 新建一個(gè)Windows窗體,命名為frmLogin。cs,主要用于實(shí)現(xiàn)系統(tǒng)的登錄功能,該窗體用的主要主要空間表如表1-10所示。表1_10 登錄窗體用到的主要控件控件類型控件ID主要屬性設(shè)置用途txtName無輸入登錄用戶名txtPwdPasswordChar屬性設(shè)置為輸入登錄用戶密碼btnSubmitText屬性設(shè)置為“登錄"登錄btnCancelText屬性設(shè)置為“取消”取消(2) 由于餐飲系統(tǒng)使用Microsoft SQL Server 2012作為后臺數(shù)據(jù)庫,因?yàn)橄纫妹臻g,以便在程序操作數(shù)據(jù)庫,關(guān)鍵代碼如下:單擊“登錄"按
21、鈕之后,登錄模塊首先判斷是否輸入了用戶名和密碼,如果沒有輸入用戶名和密碼將彈出提示框,提示用戶輸入登錄系統(tǒng)的用戶名和密碼 ;如果輸入了用戶名和密碼,系統(tǒng)將判斷輸入的用戶名和密碼是否正確,關(guān)鍵代碼如下:當(dāng)用戶輸入用戶名和密碼之后,還可以按Enter鍵登錄系統(tǒng),實(shí)現(xiàn)的原理是:在輸入密碼的文本框的KeyPress事件下,判斷是否按了Enter鍵,如果按了Enter鍵就會激發(fā)“登錄”按鈕的Click事件,關(guān)鍵代碼如下:單擊“取消”按鈕,退出系統(tǒng)登錄,關(guān)鍵代碼如下:1.7開臺模塊設(shè)計(jì)1。7。1 開臺模塊概述當(dāng)顧客要進(jìn)行消費(fèi)時(shí),首先要看一下是否還有可用的桌臺,如果還有空閑的桌臺,那么就要為顧客開臺,只有在
22、開臺之后,才能為顧客點(diǎn)菜、查詢和結(jié)賬。所以開臺模塊在整個(gè)系統(tǒng)中是非常重要的。開臺模塊用于對指定的桌臺進(jìn)行開臺操作,此功能是通過“開臺”窗體實(shí)現(xiàn)的,如圖1_15所示。圖1_15 開臺單窗體1。7.2 開臺模塊技術(shù)分析在某個(gè)桌臺上選擇其中右鍵菜單中的“開臺”命令,將根據(jù)該桌臺的名稱彈出相應(yīng)的開臺單窗體,在開臺單窗體中用戶可以對桌臺編號、帳單日期、顧客名稱、用餐人數(shù)、服務(wù)員和備注進(jìn)行錄入或更改。數(shù)據(jù)錄入或修改完畢后,單擊“保存”按鈕完成開臺單的操作。在開發(fā)此模塊時(shí),主要用到了數(shù)據(jù)庫的更新技術(shù),例如,將姓名為小呂的年齡修改為28,可以使用下面的代碼實(shí)現(xiàn):Update tb_ls set age=28
23、where name=小呂'1。7.3 開臺模塊實(shí)現(xiàn)過程本模塊使用的數(shù)據(jù)表示:tb_Room、tb_Waiter(1) 新建一個(gè)Windows窗體,命名為frmOpen.cs,主要用于實(shí)現(xiàn)對指定的桌臺進(jìn)行開臺操作的功能,該窗體用到的主要控件如表1_12所示.表1_12 開臺單窗體中用到的主要控件控件類型控件ID主要屬性設(shè)置用 途txtNameText屬性設(shè)置為Guest輸入顧客姓名txtNum無輸入用餐人數(shù)txtBZ無輸入開臺單備注cbNum無選擇開臺的桌臺號cbWaiter無選擇開單的服務(wù)員groupBox1無控制布局dateTimePicker1無選擇日期btnSaveText屬性
24、設(shè)置為“保存"保存btnExitText屬性設(shè)置為“退出”退出(2) 首先建立兩個(gè)公共變量一邊程序匯總調(diào)用,關(guān)鍵代碼如下:在窗體加載時(shí),將數(shù)據(jù)庫中所有的桌臺信息和職員信息檢索出來顯示在ComboBox控件中,關(guān)鍵代碼如下:(3) 在“用餐人數(shù)”文本框中輸入用餐人數(shù),此數(shù)據(jù)必須保證為大于0的數(shù)字,關(guān)鍵代碼如下:(4) 當(dāng)數(shù)據(jù)輸入完畢之后,單擊“保存"按鈕即可對指定的桌臺進(jìn)行開臺操作,關(guān)鍵代碼如下:1。8 點(diǎn)/加菜模塊設(shè)計(jì)1.8。1 點(diǎn)/加菜模塊概述為顧客選好桌臺,并且開臺之后 ,會根據(jù)顧客的需要點(diǎn)菜或購買茶水研究之類的消費(fèi)品,在點(diǎn)/加菜模塊中會顯示餐廳特有的一些菜系,用戶可以
25、對不同的菜系進(jìn)行選擇.點(diǎn)/加菜模塊運(yùn)行結(jié)果如圖1_16所示。圖1_16 點(diǎn)/加菜模塊運(yùn)行結(jié)果1。8。2 點(diǎn)/加菜模塊技術(shù)分析系統(tǒng)點(diǎn)/加菜模塊主要利用TreeView控件顯示所有的菜系,利用DataGridView控件顯示顧客消費(fèi)的所有信息,當(dāng)單擊某個(gè)菜系時(shí),右側(cè)將出現(xiàn)此菜系的所有詳細(xì)信息,選擇菜系后單擊“保存”按鈕完成對指定桌臺的點(diǎn)菜操作.1。8。3 點(diǎn)/加菜模塊實(shí)現(xiàn)過程本模塊使用的數(shù)據(jù)表:tb_Food、tb_Waiter、tb_Room、tb_GuestFood點(diǎn)/加菜模塊的具體實(shí)現(xiàn)步驟如下:(1) 新建一個(gè)Windows窗體,命名為frmDC.cs,主要用于實(shí)現(xiàn)系統(tǒng)的點(diǎn)菜功能,該窗體用到
26、的主要控件如表1_14所示。表1_14 點(diǎn)/加菜窗體中用到的主要控件控件類型控件ID主要屬性設(shè)置用途tvFood無顯示餐廳所有菜系txtNumEnabled屬性設(shè)置為false顯示某個(gè)菜系的編號txtNameEnabled屬性設(shè)置為false顯示某個(gè)菜系的名稱txtPriceEnabled屬性設(shè)置為false顯示某個(gè)菜系的單價(jià)txtPNumText屬性設(shè)置為1輸入某個(gè)菜系的數(shù)量txtAllPriceEnabled屬性設(shè)置為false顯示點(diǎn)菜后的總價(jià)格txtRemark無輸入備注信息cbWaiter無選擇職員btnSaveText屬性設(shè)置為“保存"保存btnDeleteText屬性設(shè)置
27、為“刪除”刪除btnExitText屬性設(shè)置為“退出”退出dgvFoodsColumns屬性中添加7列用于顯示已經(jīng)點(diǎn)過的菜系的信息(2) 首先建立一個(gè)公共變量RName,用于接收指定桌臺的名稱,關(guān)鍵代碼如下:在窗體加載時(shí),程序首先從數(shù)據(jù)庫中檢索出所有菜系名稱并顯示在TreeView控件中,以便用戶選擇,關(guān)鍵代碼如下:當(dāng)用戶雙擊某個(gè)菜系使,將在右側(cè)顯示該菜系的詳細(xì)信息,以便用戶能夠準(zhǔn)確選擇,關(guān)鍵代碼如下:為了保證消費(fèi)商品數(shù)量文本框中的數(shù)據(jù)必須為數(shù)字,在文本框的KeyPresss事件中添加代碼控件輸入數(shù)據(jù)的類型,關(guān)鍵代碼如下:為了保證消費(fèi)商品的數(shù)量時(shí),該商品的總價(jià)格會隨之改變,實(shí)現(xiàn)的方法是在Tex
28、tBox控件的TextChanged事件中添加代碼,關(guān)鍵代碼如下:自定義一個(gè)GetData方法,用于顯示所有的點(diǎn)菜信息,關(guān)鍵代碼如下:當(dāng)點(diǎn)菜完畢后,單擊“保存”按鈕可以對顧客消費(fèi)的菜系進(jìn)行保存,以便在結(jié)賬時(shí)對消費(fèi)金額進(jìn)行查詢,關(guān)鍵代碼如下:如果顧客點(diǎn)菜之后想退掉某個(gè)菜,就可以在顯示所有消費(fèi)信息的dataGridView1控件中欲刪除的商品,單擊“刪除”按鈕,即可將菜退掉,關(guān)鍵代碼如下:1.9 結(jié)賬模塊設(shè)計(jì)1。9.1 結(jié)賬模塊概述顧客消費(fèi)完畢后,需要對顧客消費(fèi)清單進(jìn)行統(tǒng)計(jì),即計(jì)算出消費(fèi)的總額,這些都是通過結(jié)賬模塊實(shí)現(xiàn)額.結(jié)賬模塊主要功能是當(dāng)顧客每次消費(fèi)時(shí)將顧客消費(fèi)的項(xiàng)目添加到數(shù)據(jù)庫中,在用戶結(jié)賬
29、時(shí)通過對數(shù)據(jù)庫的查詢,檢索出顧客本次消費(fèi)的商品名稱及價(jià)格,然后計(jì)算出總額,如圖1_19所示.圖1_19 顧客結(jié)賬如果輸入的金額小于消費(fèi)的金額,單擊“結(jié)賬”按鈕結(jié)賬,將彈出“金額不足”的提示信息,如圖1_20所示;如果在“收銀"文本框中輸入了錯(cuò)誤的數(shù)據(jù),將彈出圖1_21所示的提示信息.圖1_20 金額不足提示信息圖1_21 提示輸入的數(shù)據(jù)必須為數(shù)字1.9.2 結(jié)賬模塊技術(shù)分析本系統(tǒng)的結(jié)賬模塊,首先從數(shù)據(jù)庫中將顧客消費(fèi)的所有項(xiàng)目檢索出來顯示到DataGridView控件上,以方便管理員校對消費(fèi)金額,然后通過程序計(jì)算后將顧客消費(fèi)的總額顯示出來,當(dāng)顧客結(jié)賬時(shí),輸入顧客支付的金額,會出現(xiàn)相應(yīng)的
30、余額,以方便管理員為顧客退還余額。在開發(fā)此模塊式,主要用到SUM聚合函數(shù)以桌臺名稱為搜索條件,查詢出消費(fèi)的總額。SUM聚合函數(shù)用于返回表達(dá)式中所有值得和,或只返回DISTINCT值。SUM只能用于數(shù)字列??罩祵⒈缓雎?。語法如下:SUM ( ALL | DISTINCT expression)l ALL:對所有的值進(jìn)行聚合函數(shù)運(yùn)算,ALL是默認(rèn)設(shè)置。l DISTINCT:指定SUM返回唯一值的和。l EXPRESS:是常量、列火函數(shù),或者是算術(shù)、按位與字符串等運(yùn)算符的任意組合.Express是精確數(shù)字或近似數(shù)字?jǐn)?shù)據(jù)類型分類(bit數(shù)據(jù)類型除外)的表達(dá)式,不允許使用聚合函數(shù)和子查詢。1.9.3 結(jié)
31、賬模塊實(shí)現(xiàn)過程本模塊使用的數(shù)據(jù)表:tb_GuestFood、tb_Room。結(jié)賬模塊的具體實(shí)現(xiàn)步驟如下:(1) 新建一個(gè)Windows窗體,命名為frmJZ.cs,主要用于實(shí)現(xiàn)對指定的桌臺進(jìn)行結(jié)賬操作的功能,該窗體用到的主要控件如表1_15所示。略(2) 引用建立兩個(gè)公共變量,分別用于接收住窗體模塊中傳遞的桌臺名稱及根據(jù)名稱查詢消費(fèi)的總額,關(guān)鍵代碼如下:當(dāng)窗體加載時(shí),首先顯示結(jié)賬的桌臺名稱,然后通過桌臺名稱檢索出消費(fèi)的所有賬目顯示到DataGridView控件上,最后將查詢出消費(fèi)的總金額顯示到Label控件上,關(guān)鍵代碼如下:在輸入顧客支付金額文本框的KeyPress事件下面添加代碼,判斷文本框
32、中是否輸入了正確的數(shù)據(jù),關(guān)鍵代碼如下:當(dāng)管理員在“收銀”文本框中輸入顧客支付的金額后,系統(tǒng)將自動計(jì)算出退還顧客的金額,管家代碼如下:當(dāng)顧客支付了消費(fèi)金額后,單擊“結(jié)賬”按鈕完成對顧客消費(fèi)的結(jié)賬操作,同時(shí)將顧客所在的桌臺狀態(tài)設(shè)置為“待用",關(guān)鍵代碼如下;1。10 文件清單下面以表格形式列出程序的文件清單,如表1_16所示。表1_16 程序文件清單文件名文件類型說 明frmAboutBox。cs窗體文件關(guān)于窗體frmBF。cs窗體文件備份數(shù)據(jù)庫窗體frmCalender。cs窗體文件日歷窗體frmDC。cs窗體文件點(diǎn)菜窗體frmDesk。cs窗體文件桌臺基本信息窗體frmDetails.cs窗體文件桌臺詳細(xì)信息窗體frmHF。cs窗體文件數(shù)據(jù)庫恢復(fù)窗體frmJZ.cs窗體文件結(jié)賬窗體frmLock.cs窗體文件鎖定系統(tǒng)窗體frmLogin.cs窗體文件用戶登錄窗體frmMain。cs窗體文件系統(tǒng)主窗體frmOpen.cs窗體文件開臺
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024塔式太陽能光熱發(fā)電站鏡場控制系統(tǒng)技術(shù)規(guī)范
- 2025年阿里貨運(yùn)資格證模擬考試
- 2025年南京貨車資格證答案
- 墊資工程施工合同協(xié)議書
- 小商鋪房屋租賃合同
- 2025年高中化學(xué)新教材同步 必修第一冊 第2章 第2節(jié) 第1課時(shí) 氯氣的性質(zhì)
- 反擔(dān)保 保證合同范本
- Α-烯基磺酸鹽(AOS9235)競爭策略分析報(bào)告
- 印布油墨戰(zhàn)略市場規(guī)劃報(bào)告
- 鋅鎳蓄電池市場分析及競爭策略分析報(bào)告
- 生產(chǎn)流水線的規(guī)劃方案
- 小針刀療法教學(xué)課件
- 打造寫生基地方案
- 寫作:廣告詞-【中職專用】高二語文高效課堂(高教版2023·職業(yè)模塊)
- 爆發(fā)性心肌炎護(hù)理查房課件
- 銷售人員人才畫像
- (完整版)建筑工程技術(shù)畢業(yè)論文
- 鑫宇鋅合金模具設(shè)計(jì)標(biāo)準(zhǔn)
- 整理我的小書桌(課件)小學(xué)勞動二年級通用版
- 森林撫育施工組織設(shè)計(jì)
- 切削刀具及其材料課件
評論
0/150
提交評論