基于.net的中小型餐飲企業(yè)服務(wù)管理系統(tǒng)的分析與設(shè)計[畢業(yè)論文]_第1頁
已閱讀1頁,還剩47頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文</b></p><p><b> ?。?0_ _屆)</b></p><p>  基于.NET的中小型餐飲企業(yè)服務(wù)管理系統(tǒng)的分析與設(shè)計</p><p>  所在學(xué)院 </p><p>  專業(yè)班級

2、 電子商務(wù) </p><p>  學(xué)生姓名 學(xué)號 </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘 要<

3、/b></p><p>  餐飲業(yè)作為我國第三產(chǎn)業(yè)中的一個傳統(tǒng)服務(wù)行業(yè),始終保持著快速發(fā)展的勢態(tài)。同時隨著信息技術(shù)在企業(yè)管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。為了適應(yīng)餐飲業(yè)的發(fā)展,建立餐飲業(yè)自身的現(xiàn)代化管理系統(tǒng),從而有效地指導(dǎo)工作人員規(guī)范業(yè)務(wù)操作流程,更高效、快捷地實(shí)現(xiàn)業(yè)務(wù)的管理,降低成本,提高管理水平和工作效率,進(jìn)而提高業(yè)務(wù)競爭能力。</p><p>

4、  本文主要針對中小型餐飲企業(yè)研究如何開發(fā)相關(guān)服務(wù)的餐飲管理系統(tǒng),最終實(shí)現(xiàn)了一個較為通用和易于擴(kuò)展和集成的餐飲管理系統(tǒng)。在論文中首先詳細(xì)介紹了餐飲管理系統(tǒng)的分析過程主要包括需求捕獲、概念模型、用例模型以及交互模型的建立。然后詳細(xì)介紹了系統(tǒng)的設(shè)計過程主要包括運(yùn)行環(huán)境、總體設(shè)計、數(shù)據(jù)庫設(shè)計、交互設(shè)計以及類圖設(shè)計。分析設(shè)計之后通過在.NET平臺上進(jìn)行,結(jié)合后端的SQL Server 2000數(shù)據(jù)庫技術(shù),用C#.NET進(jìn)行編碼,最終實(shí)現(xiàn)系統(tǒng)的開

5、發(fā)。論文中詳細(xì)介紹了系統(tǒng)的實(shí)現(xiàn)過程主要包括關(guān)鍵技術(shù)、用戶登錄、主窗體、開臺、點(diǎn)菜及結(jié)賬模塊的實(shí)現(xiàn)過程。論文最后對完成的工作進(jìn)行了總結(jié)。</p><p>  關(guān)鍵詞:餐飲管理系統(tǒng);.NET;SQL Server;C#</p><p><b>  Abstract</b></p><p>  Catering industry as a tradi

6、tional service industry in the tertiary industry in China, maintained a rapid development tendency. At the same time as information technology in enterprise management on a more profound and a wide range of applications,

7、 the management information system in the implementation of technology has gradually matured. In order to adapt to the development of catering industry, establish the catering industry own modern management system, so ef

8、fectively guidance personnel sta</p><p>  This article mainly research how to develop services of catering management system aims at medium and small-scale catering enterprises, and finally achieve a more ge

9、neral and easy to expand and integrated catering management system. In this paper firstly introduces in detail the process of analyzing catering management system mainly include requirements capture, conceptual model, us

10、e case model and interactive model establishment. Then introduce the design process of the main including running e</p><p>  Keywords: Catering Management System; .NET ; SQL Server ; C#</p><p>&

11、lt;b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 課題背景1</p><p>  1.2 國內(nèi)外餐飲管理系統(tǒng)的研究狀況1</p><p>  1.3 課題研究目標(biāo)和內(nèi)容2</p><p>  2 餐飲管理系統(tǒng)的分析

12、4</p><p>  2.1 需求捕獲4</p><p>  2.2 UML需求建模5</p><p>  3 餐飲管理系統(tǒng)的設(shè)計20</p><p>  3.1 系統(tǒng)運(yùn)行環(huán)境20</p><p>  3.2 系統(tǒng)總體設(shè)計20</p><p>  3.3 數(shù)據(jù)庫設(shè)計21</

13、p><p>  3.4 交互設(shè)計24</p><p>  3.5 類圖設(shè)計28</p><p>  4 餐飲管理系統(tǒng)的實(shí)現(xiàn)29</p><p>  4.1 關(guān)鍵技術(shù)29</p><p>  4.2 登錄模塊32</p><p>  4.3 主窗體模塊33</p><p

14、>  4.4 開臺模塊37</p><p>  4.5 點(diǎn)菜模塊39</p><p>  4.6 結(jié)賬模塊41</p><p><b>  結(jié) 論43</b></p><p><b>  參考文獻(xiàn)44</b></p><p>  致 謝錯誤!未定義書簽。

15、</p><p>  附錄一:文獻(xiàn)綜述錯誤!未定義書簽。</p><p>  附錄二:外文文獻(xiàn)譯文錯誤!未定義書簽。</p><p>  附錄三:外文文獻(xiàn)原文錯誤!未定義書簽。</p><p><b>  1 緒論</b></p><p><b>  1.1 課題背景</b&

16、gt;</p><p>  在改革開放30年的發(fā)展進(jìn)程中,隨著人民的生活水平的不斷提高,餐飲業(yè)的消費(fèi)持續(xù)增長。餐飲業(yè)作為我國第三產(chǎn)業(yè)中的一個傳統(tǒng)服務(wù)行業(yè),始終保持著快速發(fā)展的勢態(tài)。在《2010-2015年中國餐飲業(yè)投資分析及前景預(yù)測報告》[1]中提到2009年全社會餐飲業(yè)零售額達(dá)到17998億元,同比增長16.8%,占社會消費(fèi)品零售總額的14.4%。楊柳(2010)[2]在餐飲產(chǎn)業(yè)藍(lán)皮書《中國餐飲產(chǎn)業(yè)發(fā)展報告(2

17、010)》中也提到,預(yù)測2010年我國餐飲業(yè)持續(xù)增長的態(tài)勢將進(jìn)一步鞏固。中國社會科學(xué)院預(yù)測2010年中國GDP增長將保持在9%左右。預(yù)計2010年全年將增長10%以上,餐飲業(yè)收入將達(dá)到20000億元。由此可見,餐飲業(yè)有著巨大的市場,同時也給這個傳統(tǒng)行業(yè)帶來了越來越激烈的競爭。</p><p>  在快速發(fā)展的同時,傳統(tǒng)的餐飲業(yè)存在著一定的問題,在日常經(jīng)營管理中仍普遍采用手工管理方式,整體科技含量低。隨著餐飲企業(yè)規(guī)

18、模和數(shù)量的不斷增長,手工管理模式無論是在工作效率、人員成本還是提供決策信息方面都已難以適應(yīng)現(xiàn)代化經(jīng)營管理的要求,因此制約了整個餐飲業(yè)的規(guī)?;l(fā)展和整體服務(wù)水平的提升。這就迫切需要標(biāo)準(zhǔn)的、高效率的計算機(jī)管理方式引導(dǎo)其發(fā)展,通過計算機(jī)管理餐飲企業(yè)的日常運(yùn)作,給管理者以決策參考的模型,來提高餐飲企業(yè)的運(yùn)作效率,降低運(yùn)營成本,提高顧客滿意度和忠誠度。</p><p>  1.2 國內(nèi)外餐飲管理系統(tǒng)的研究狀況</p&

19、gt;<p> ?、?國內(nèi)餐飲管理系統(tǒng)的研究狀況</p><p>  目前,國內(nèi)關(guān)于研究餐飲管理系統(tǒng)的研究主要停留在對系統(tǒng)的開發(fā)設(shè)計,實(shí)施應(yīng)用等方面。廖世鵬(2009)[3]在《餐飲管理系統(tǒng)軟件研究》碩士論文中主要針對餐飲管理系統(tǒng)的軟件進(jìn)行了分析研究,在設(shè)計上采用Delphi開發(fā),數(shù)據(jù)庫基于Microsoft SQL Server 2000實(shí)現(xiàn),其中文中也概述了國內(nèi)目前的餐飲管理系統(tǒng)的幾種主要的形式

20、:純軟件的餐飲管理系統(tǒng)、軟件帶廚房分單功能的餐飲管理系統(tǒng)以及無線餐飲管理系統(tǒng)。另外,孫立強(qiáng)(2009)[4]在《基于教學(xué)的酒店餐飲管理信息系統(tǒng)的設(shè)計與研究》以及唐玲(2005)[5]《中型餐飲企業(yè)管理信息系統(tǒng)的研究和設(shè)計》碩士論文中都對餐飲管理信息系統(tǒng)進(jìn)行了研究,對餐飲管理系統(tǒng)中涉及到的相關(guān)信息進(jìn)行了分析設(shè)計,在設(shè)計上分別采用的是VB和Delphi,數(shù)據(jù)庫都采用的是SQL Server 2000。吳瑾(2006)[6]在《一個支持無線終

21、端的餐飲管理系統(tǒng)的設(shè)計與開發(fā)》中對餐飲管理系統(tǒng)的應(yīng)用進(jìn)行了相關(guān)的研究并且采用了面向?qū)ο缶幊碳夹g(shù)。花蓓(2010)[7]在《基于Visual C#.NET程序設(shè)計基礎(chǔ)課程教學(xué)探索與實(shí)踐》中對餐飲管理系統(tǒng)的課程教學(xué)進(jìn)行了相關(guān)的研究及</p><p> ?、?國外餐飲管理系統(tǒng)的研究狀況</p><p>  早在上世紀(jì)80年代在歐美國家的餐飲和酒店管理業(yè)就開始運(yùn)用軟件進(jìn)行管理,到目前為止,國外的有

22、關(guān)餐飲管理系統(tǒng)的軟件已經(jīng)日趨成熟,并且在餐飲行業(yè)中得到了廣泛的應(yīng)用,為現(xiàn)代的餐飲企業(yè)的各項管理,提供了科學(xué)依據(jù),極大的提高了餐飲企業(yè)的經(jīng)濟(jì)效益和服務(wù)效率,降低成本,提高企業(yè)競爭力。Svetlana Rodgers(2005)[10]在《Svetlana Rodgers. Selecting a food service system》中對食品服務(wù)系統(tǒng)的后臺數(shù)據(jù)庫的分析設(shè)計的方法的研究、Doug Doran(2010)[11]在《Rest

23、aurants and technology – past present and future: a practitioner's viewpoint》中對系統(tǒng)開發(fā)的需求分析以及系統(tǒng)設(shè)計采用的方法的研究、Amy Gregory;Raymond;Robin(2010)[12]在《Towards a functional model of website evaluation: a case study of casual din

24、ing restaurants》中對餐</p><p>  1.3 課題研究目標(biāo)和內(nèi)容</p><p><b> ?、?系統(tǒng)設(shè)計目標(biāo)</b></p><p>  本系統(tǒng)主要針對中小型餐飲企業(yè)開發(fā)屬于小型的餐飲管理系統(tǒng),可以有效地對中小型餐廳消費(fèi)進(jìn)行管理。系統(tǒng)設(shè)計目標(biāo)如下:</p><p> ?、傧到y(tǒng)采用人機(jī)交互的方式,界

25、面美觀友好,信息查詢靈活、方便,數(shù)據(jù)存儲安全可靠。</p><p>  ②實(shí)現(xiàn)對餐廳顧客開臺、點(diǎn)/加菜、賬目查詢和結(jié)賬等操作。</p><p> ?、蹖τ脩糨斎氲臄?shù)據(jù)進(jìn)行嚴(yán)格的數(shù)據(jù)檢索,盡可能地避免人為錯誤。</p><p> ?、軐?shí)現(xiàn)對消費(fèi)賬目自動結(jié)算。</p><p> ?、輰?shí)現(xiàn)對消費(fèi)的歷史記錄進(jìn)行查詢,支持模糊查詢。</p>

26、<p> ?、尴到y(tǒng)應(yīng)最大限度地實(shí)現(xiàn)易維護(hù)性和易操作性。</p><p><b> ?、?課題研究的內(nèi)容</b></p><p>  本文介紹了基于.NET的中小型餐飲企業(yè)服務(wù)服務(wù)管理系統(tǒng)的分析、設(shè)計與實(shí)現(xiàn),最終目標(biāo)在于建立一個較為通用和易于擴(kuò)展和集成的系統(tǒng)。</p><p>  第一部分介紹了課題背景、國內(nèi)外餐飲管理系統(tǒng)的研究狀況

27、。提出了系統(tǒng)設(shè)計的目標(biāo)和本課題的內(nèi)容。</p><p>  第二部分進(jìn)行了需求捕獲得到特性表,再進(jìn)行UML需求建模,分別建立了概念模型、用例模型和交互模型。</p><p>  第三部分介紹了系統(tǒng)運(yùn)行環(huán)境,通過功能結(jié)構(gòu)圖進(jìn)行了總體設(shè)計;通過E-R圖以及數(shù)據(jù)表的建立分別進(jìn)行了數(shù)據(jù)庫的概念設(shè)計以及邏輯結(jié)構(gòu)設(shè)計;最后對系統(tǒng)進(jìn)行了交互設(shè)計和類圖設(shè)計。</p><p>  第

28、四部分給出了系統(tǒng)實(shí)現(xiàn)過程,先介紹了系統(tǒng)中用到的關(guān)鍵技術(shù),然后介紹了用戶登錄、主窗體、開臺、點(diǎn)菜和結(jié)賬等模塊的實(shí)現(xiàn)過程。</p><p>  2 餐飲管理系統(tǒng)的分析</p><p><b>  2.1 需求捕獲</b></p><p>  李軍偉(2010)[15]在《需求捕獲和需求分析方法探析》中提到需求捕獲的任務(wù)是在業(yè)務(wù)需求的指引下挖掘用戶需

29、求的過程。業(yè)務(wù)需求就是整個系統(tǒng)最為宏觀層面的需求,反映的是組織結(jié)構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,也就是項目的目標(biāo)。而業(yè)務(wù)需求主要分為項目總目標(biāo)和子項目目標(biāo)。</p><p>  本系統(tǒng)的項目總目標(biāo)是開發(fā)一個針對中小型餐飲企業(yè)的餐飲管理系統(tǒng),隨著餐飲業(yè)的不斷發(fā)展,在經(jīng)營管理上也逐步邁向電子化,通過計算機(jī)信息系統(tǒng)管理餐飲業(yè)的內(nèi)部事務(wù),使得作業(yè)更加便捷、高效,減輕了一線操作人員的勞動強(qiáng)度,減少錯誤,提高餐飲管理的

30、效率。為了實(shí)現(xiàn)餐飲管理系統(tǒng),通過挖掘用戶的需求并且分析,得到以下各個模塊和各個模塊所要實(shí)現(xiàn)的功能,而子項目的目標(biāo)就是實(shí)現(xiàn)以下各個模塊的功能。</p><p> ?、?開臺模塊:服務(wù)員可以根據(jù)顧客的需要為其開臺,并填寫開臺單;</p><p> ?、?點(diǎn)菜模塊:為顧客開臺后,服務(wù)員根據(jù)顧客的需要為其點(diǎn)菜,并填寫點(diǎn)菜單,根據(jù)顧客的需要進(jìn)行添加、修改;</p><p> 

31、?、?結(jié)賬模塊:服務(wù)員可以根據(jù)顧客的要求查詢賬單,顧客用餐后進(jìn)行結(jié)賬操作;</p><p> ?、?基礎(chǔ)信息管理:管理員可以對桌臺以及服務(wù)員的信息進(jìn)行查詢、添加、修改及刪除;</p><p> ?、?系統(tǒng)維護(hù):管理員可以對系統(tǒng)的使用者進(jìn)行權(quán)限管理,限制其對主要功能的操作,也可對系統(tǒng)進(jìn)行備份及恢復(fù)操作;</p><p> ?、?系統(tǒng)設(shè)置:管理員可以對系統(tǒng)進(jìn)行口令設(shè)置及

32、鎖定系統(tǒng)。</p><p>  根據(jù)以上捕獲的需求,分別對各個功能模塊進(jìn)行整理,最終形成了一張?zhí)匦员砣绫?。</p><p><b>  表1 需求特性表</b></p><p><b>  續(xù)表</b></p><p>  2.2 UML需求建模</p><p>  楊世欣

33、(2010)[16] 在《基于UML的面向?qū)ο蠼7椒ǖ难芯俊芬约岸o(jì)陽;蔣波(2008)[17]在《面向?qū)ο蟮腢ML建模方法研究》中都提到UML是一種定義良好、易于表達(dá)、功能強(qiáng)大的可視化標(biāo)準(zhǔn)建模語言。UML共定義了10種模型圖。其中用例圖、類圖、對象圖、包圖、構(gòu)件圖和配置圖主要用來描述系統(tǒng)的靜態(tài)結(jié)構(gòu),它們共同構(gòu)成了標(biāo)準(zhǔn)建模語言的靜態(tài)建模機(jī)制;順序圖、合作圖、狀態(tài)圖和活動圖主要描述系統(tǒng)對象之間的交互及相應(yīng)的時序狀態(tài),它們共同構(gòu)成標(biāo)準(zhǔn)建模

34、語言的動態(tài)建模機(jī)制。通過系統(tǒng)的需求捕獲階段捕獲了用戶需求,在把握了用戶需求的主要部分后,通過整理、合并這些需求,在此基礎(chǔ)上進(jìn)行需求建模。夏克付(2008)[18]在《基于UML的電子商務(wù)系統(tǒng)建模研究與應(yīng)用》及陳卉(2008)[19]在《UML順序圖和狀態(tài)圖的形式化方法研究》中都提到利用UML對系統(tǒng)進(jìn)行需求建模的內(nèi)容主要包括:以用例模型來組織需求;以類模型來表述領(lǐng)域?qū)ο螅灰越换D來對用例事件流進(jìn)行補(bǔ)充說明。因此,本系統(tǒng)采用建立概念模型、用

35、例模型和交互模型來進(jìn)行需求建模。</p><p>  2.2.1 建立概念模型</p><p>  為了理解各種實(shí)體之間的關(guān)聯(lián)關(guān)系,可以通過建立一個概念模型來實(shí)現(xiàn)。而建立概念模型的主要手段是類圖,整個構(gòu)建活動主要包括:發(fā)現(xiàn)類、關(guān)聯(lián)分析、職責(zé)分析、限定與修改4個步驟。</p><p>  根據(jù)需求特性表可以發(fā)現(xiàn)有管理員、服務(wù)員、桌臺信息、菜單、賬單和菜系6個候選類,確

36、定候選類之后,根據(jù)需求特性表及相關(guān)信息,從而得出概念模型如圖1所示。</p><p><b>  圖1 概念模型</b></p><p>  從上圖可以得知此概念模型共有6個類,管理員(manager)與服務(wù)員(waiter)之間存在關(guān)聯(lián)關(guān)系;服務(wù)員(waiter)和桌臺信息(table)、菜單(food)、賬單(bill)之間存在關(guān)聯(lián)關(guān)系。一個服務(wù)員可以在多個桌臺上

37、開臺,而一個桌臺只能被一個服務(wù)員使用;一個服務(wù)員可以點(diǎn)多份菜單,一份菜單只能由一個服務(wù)員操作;一個服務(wù)員可以對多個賬單進(jìn)行查詢/結(jié)賬操作,一份賬單只能由一個服務(wù)員完成。</p><p>  2.2.2 建立用例模型</p><p>  構(gòu)建了初步的概念模型之后,通過建立用例模型來組織需求。本系統(tǒng)建立用例模型的主要步驟是:識別參與者;根據(jù)需求捕獲所得到的需求特性表,合并需求以獲取系統(tǒng)的用例;

38、最后根據(jù)各個用例繪制活動圖并對用例進(jìn)行表述。</p><p><b> ?、?識別參與者</b></p><p>  根據(jù)需求特性表,本系統(tǒng)的參與者是服務(wù)員與管理員,服務(wù)員可以為顧客開臺、點(diǎn)菜和結(jié)賬;管理員可以對基礎(chǔ)信息進(jìn)行管理、系統(tǒng)維護(hù)和系統(tǒng)設(shè)置。參與者如圖2所示。</p><p><b>  圖2 參與者</b><

39、;/p><p> ?、?合并需求獲得用例</p><p>  根據(jù)所識別的參與者,包括服務(wù)員與管理員,將之前需求捕獲所得到的需求特性表分開,然后再合并或分解為相應(yīng)的用例,最終得到特性合并成用例表如表2。</p><p>  表2 特性合并成用例</p><p>  通過特性合并得到了6個用例,并且獲得了用例與參與者之間的關(guān)系,并且外加系統(tǒng)肯定需要

40、的“UC07.系統(tǒng)登錄”由此繪制出系統(tǒng)的用例模型如圖3所示。</p><p><b>  圖3總用例圖</b></p><p>  如上圖所示,參與者為管理員的用例主要包括“基礎(chǔ)信息管理”用例、“系統(tǒng)維護(hù)”用例、“系統(tǒng)設(shè)置”用例,參與者為服務(wù)員的用例主要包括“開臺”用例、“點(diǎn)菜”用例、“結(jié)賬”用例,以及系統(tǒng)中肯定需要的用例“系統(tǒng)登錄”用例。</p>&l

41、t;p> ?、?結(jié)合用例繪制活動圖并進(jìn)行用例描述</p><p> ?、?“系統(tǒng)登錄”用例</p><p>  “系統(tǒng)登錄”活動圖如圖4所示。</p><p>  圖4 系統(tǒng)登錄活動圖</p><p>  根據(jù)系統(tǒng)登錄活動圖進(jìn)行用例描述如表3。</p><p>  表3 用例“系統(tǒng)登錄”描述</p>

42、<p><b> ?、?“開臺”用例</b></p><p>  “開臺”活動圖如圖5所示。</p><p><b>  圖5 開臺活動圖</b></p><p>  根據(jù)“開臺”活動圖進(jìn)行用例描述如表4。</p><p>  表4 用例“開臺”描述</p><p&g

43、t;<b>  ③ “點(diǎn)菜”用例</b></p><p>  “點(diǎn)菜”活動圖如圖6所示。</p><p><b>  圖6 點(diǎn)菜活動圖</b></p><p>  根據(jù)“點(diǎn)菜”活動圖進(jìn)行用例描述如表5。</p><p>  表5用例“點(diǎn)菜”描述</p><p><b&g

44、t; ?、堋敖Y(jié)賬”用例</b></p><p>  “結(jié)賬”活動圖如圖7所示。</p><p><b>  圖7 結(jié)賬活動圖</b></p><p>  根據(jù)“結(jié)賬”活動圖進(jìn)行用例描述如表6。</p><p>  表6 用例“結(jié)賬”描述</p><p>  ⑤“基礎(chǔ)信息管理”用例<

45、;/p><p>  “基礎(chǔ)信息管理”活動圖如圖8所示。</p><p>  圖8 基礎(chǔ)信息管理活動圖</p><p>  根據(jù)“基礎(chǔ)信息管理”活動圖進(jìn)行用例描述如表7.</p><p>  表7 用例“基礎(chǔ)信息管理”描述</p><p><b> ?、蕖跋到y(tǒng)維護(hù)”用例</b></p>&

46、lt;p>  “系統(tǒng)維護(hù)”活動圖如圖9所示。</p><p>  圖9 系統(tǒng)維護(hù)活動圖</p><p>  根據(jù)“系統(tǒng)維護(hù)”活動圖進(jìn)行用例描述如表8。</p><p>  表8 用例“系統(tǒng)維護(hù)”描述</p><p><b> ?、摺跋到y(tǒng)設(shè)置”用例</b></p><p>  “系統(tǒng)設(shè)置”活動

47、圖如圖10所示。</p><p>  圖10 系統(tǒng)設(shè)置活動圖</p><p>  根據(jù)“系統(tǒng)設(shè)置”活動圖進(jìn)行用例描述如表9。</p><p>  表9 用例“系統(tǒng)設(shè)置”描述</p><p>  2.2.3 建立交互模型</p><p>  交互模型是由順序圖來實(shí)現(xiàn),在本階段的順序圖只是簡單的來描述用例的事件流,在設(shè)計階

48、段會詳細(xì)的給出順序圖。本系統(tǒng)的交互模型由“用戶登錄”、“開臺”、“點(diǎn)菜”、“結(jié)賬”、“基礎(chǔ)信息”、“系統(tǒng)維護(hù)”及“系統(tǒng)設(shè)置”6個順序圖組成。</p><p> ?、?系統(tǒng)登錄順序圖如圖11所示。</p><p>  圖11 用戶登錄順序圖</p><p>  如上圖所示,用戶打開餐飲管理系統(tǒng)后顯示登錄界面,用戶輸入用戶名和密碼,系統(tǒng)通過數(shù)據(jù)庫驗(yàn)證用戶名和密碼返回驗(yàn)證

49、信息,驗(yàn)證正確后用戶登錄系統(tǒng),驗(yàn)證錯誤提示錯誤信息,用戶可以繼續(xù)重新輸入正確的用戶名和密碼或者取消登錄。</p><p> ?、?開臺順序圖如圖12所示。</p><p><b>  圖12 開臺順序圖</b></p><p>  如上圖所示,顧客提出開臺請求,服務(wù)員查詢桌臺信息,若無空桌臺則告知顧客;若有空桌臺,詢問顧客是否確認(rèn)開臺,若確認(rèn)開

50、臺則輸入開臺信息,數(shù)據(jù)將保存到數(shù)據(jù)庫中。</p><p> ?、?點(diǎn)菜順序圖如圖13所示。</p><p><b>  圖13 點(diǎn)菜順序圖</b></p><p>  如上圖所示,顧客提出點(diǎn)/加菜請求,服務(wù)員打開點(diǎn)菜服務(wù)界面,若無所要的菜,則反饋顧客;若有所要的菜,詢問顧客是否確認(rèn)點(diǎn)/加菜,若確認(rèn)則輸入點(diǎn)/加菜信息,將數(shù)據(jù)保存到數(shù)據(jù)庫中。<

51、;/p><p> ?、?結(jié)賬順序圖如圖14所示。</p><p><b>  圖14 結(jié)賬順序圖</b></p><p>  如上圖所示,顧客提出結(jié)賬請求,服務(wù)員打開結(jié)賬管理界面,查看賬單信息,向顧客所要現(xiàn)金,顧客付款后打印清單交付顧客。</p><p>  ⑸ 基礎(chǔ)信息管理順序圖如圖15所示。</p><

52、;p>  圖15 基礎(chǔ)信息管理順序圖</p><p>  如上圖所示,管理員點(diǎn)擊基礎(chǔ)信息菜單,可以選擇打開桌臺信息界面或服務(wù)員信息界面進(jìn)行修改、添加及刪除操作,相應(yīng)的信息將保存到數(shù)據(jù)庫。</p><p> ?、?系統(tǒng)維護(hù)順序圖如圖16所示。</p><p>  圖16 系統(tǒng)維護(hù)順序圖</p><p>  如上圖所示,管理員點(diǎn)擊系統(tǒng)維護(hù)菜

53、單,可以選擇打開權(quán)限管理界面、系統(tǒng)備份界面及系統(tǒng)恢復(fù)界面。若打開權(quán)限管理界面則可以選擇用戶進(jìn)行級別設(shè)置;若打開系統(tǒng)備份界面則可以輸入數(shù)據(jù)庫備份文件名進(jìn)行備份;若打開系統(tǒng)恢復(fù)界面則可以選擇數(shù)據(jù)庫文件進(jìn)行恢復(fù)。</p><p> ?、?系統(tǒng)設(shè)置順序圖如圖17所示。</p><p>  圖17 系統(tǒng)維護(hù)順序圖</p><p>  如上圖所示,管理員點(diǎn)擊系統(tǒng)設(shè)置菜單,打開口

54、令設(shè)置界面可以修改用戶密碼;若打開鎖定系統(tǒng)界面可以輸入解鎖密碼解鎖系統(tǒng)。</p><p>  3 餐飲管理系統(tǒng)的設(shè)計</p><p>  3.1 系統(tǒng)運(yùn)行環(huán)境</p><p>  本系統(tǒng)在運(yùn)行中的具體運(yùn)行環(huán)境如下:</p><p>  ⑴系統(tǒng)開發(fā)平臺:Microsoft Visual Studio 2008。</p><p

55、> ?、葡到y(tǒng)開發(fā)語言:C#。</p><p>  ⑶數(shù)據(jù)庫管理系統(tǒng):Microsoft SQL Server 2000。</p><p> ?、冗\(yùn)行平臺:Windows Vista。</p><p> ?、蛇\(yùn)行環(huán)境:Microsoft.NET Framework SDK v2.0。</p><p>  3.2 系統(tǒng)總體設(shè)計 </p

56、><p>  本系統(tǒng)功能結(jié)構(gòu)如圖18所示。</p><p>  圖18 系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  3.3 數(shù)據(jù)庫設(shè)計</b></p><p>  在開發(fā)餐飲管理系統(tǒng)之前,分析了該系統(tǒng)的數(shù)據(jù)量。由于系統(tǒng)管理餐飲方面的數(shù)據(jù)較多,商品信息、消費(fèi)信息以及賬目清單會占用較大的空間,因此選擇Microsoft SQL

57、Server 2000 數(shù)據(jù)庫存儲這些信息,數(shù)據(jù)庫命名為db_MrCy,在數(shù)據(jù)庫中創(chuàng)建了6個數(shù)據(jù)表用于存儲不同的信息。 分別為菜單表tb_food、菜系信息表tb_foodtype、賬單表tb_Bill、桌臺信息表tb_Table、管理員信息表tb_Manager、服務(wù)員信息表tb_Waiter。</p><p>  3.3.1 數(shù)據(jù)庫概念設(shè)計</p><p>  本系統(tǒng)的數(shù)據(jù)庫主要用于存

58、儲系統(tǒng)中的數(shù)據(jù),由于本系統(tǒng)的數(shù)據(jù)量很大,所以選擇了Microsoft SQL Server 2000數(shù)據(jù)庫。整個系統(tǒng)整體的E—R圖如圖19所示:</p><p><b>  圖19 E-R圖</b></p><p>  3.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p>  根據(jù)E-R圖在數(shù)據(jù)庫中創(chuàng)建各表,系統(tǒng)數(shù)據(jù)庫中各表的結(jié)構(gòu)如下。</p&

59、gt;<p> ?、?tb_food(菜單表):用于保存所有食品信息,該表的結(jié)構(gòu)如表10所示。</p><p><b>  表10 菜單表</b></p><p> ?、?tb_foodtype(菜系表):用于保存食品類別信息,該表的結(jié)構(gòu)如表11所示。</p><p><b>  表11 菜系表</b><

60、;/p><p>  ⑶ tb_Bill(賬單表):用于保存顧客的消費(fèi)信息,該表的結(jié)構(gòu)如表12所示。</p><p><b>  表12 賬單表</b></p><p> ?、?tb_Waiter(服務(wù)員信息表):用于保存所有服務(wù)員信息,該表的結(jié)構(gòu)如表13所示。</p><p>  表13 服務(wù)員信息表</p>

61、<p>  ⑸ tb_Table(桌臺信息表):用于保存所有桌臺信息,該表的結(jié)構(gòu)如表14所示。</p><p><b>  表14 桌臺信息表</b></p><p> ?、?tb_Manager(管理員信息表):用于保存所有管理員的信息,該表的結(jié)構(gòu)如表15所示。</p><p>  表15 管理員信息表</p><

62、;p><b>  3.4 交互設(shè)計</b></p><p>  在建立的簡要的交互模型的基礎(chǔ)上,再細(xì)化設(shè)計,從而設(shè)計出更加詳細(xì)的順序圖,系統(tǒng)的交互設(shè)計主要由以下順序圖組成。</p><p>  ⑴ 系統(tǒng)登錄順序圖如圖20所示。</p><p>  圖20 系統(tǒng)登錄順序圖</p><p>  如上圖所示,用戶打開系統(tǒng)

63、會顯示登錄界面,用戶輸入用戶名及密碼,點(diǎn)擊登錄按鈕,系統(tǒng)判斷用戶名及密碼是否正確。正確的話用戶登錄主窗體界面,錯誤的話,用戶重新輸入正確的用戶名和密碼。</p><p>  ⑵ 開臺順序圖如圖21所示。</p><p><b>  圖21 開臺順序圖</b></p><p>  如上圖所示,顧客提出開臺請求,服務(wù)員查看主窗體中桌臺是否有空的桌臺

64、,若沒有空桌臺則告知顧客,若有空桌臺,則可在選中的空桌臺上右擊選擇點(diǎn)擊開臺按鈕,打開開臺單,輸入相關(guān)信息后點(diǎn)擊保存按鈕,完成開臺操作。</p><p> ?、?點(diǎn)菜順序圖如圖22所示。</p><p><b>  圖22 點(diǎn)菜順序圖</b></p><p>  如上圖所示,顧客提出點(diǎn)菜請求,若沒有顧客所要點(diǎn)的菜服務(wù)員則告知顧客,若有顧客點(diǎn)的菜則

65、點(diǎn)擊點(diǎn)菜菜單打開點(diǎn)菜單,輸入相關(guān)信息,點(diǎn)擊保存按鈕,完成點(diǎn)菜操作。</p><p> ?、?結(jié)賬順序圖如圖23所示。</p><p><b>  圖23 結(jié)賬順序圖</b></p><p>  如上圖所示,顧客用餐完畢后提出結(jié)賬請求,服務(wù)員打開消費(fèi)查詢單查詢顧客消費(fèi)信息反饋給顧客,顧客確認(rèn)結(jié)賬,服務(wù)員點(diǎn)擊結(jié)賬菜單打開賬單,輸入收取金額后點(diǎn)擊結(jié)賬

66、按鈕,結(jié)束結(jié)賬操作。</p><p> ?、?基礎(chǔ)信息管理順序圖如圖24所示。</p><p>  圖24 基礎(chǔ)信息管理順序圖</p><p>  如上圖所示,管理員登錄后進(jìn)入主窗體界面,點(diǎn)擊基礎(chǔ)信息菜單,選擇點(diǎn)擊桌臺信息菜單/服務(wù)員信息菜單打開桌臺信息界面/服務(wù)員信息界面,進(jìn)行修改或添加刪除操作后點(diǎn)擊保存按鈕,結(jié)束操作。</p><p> 

67、?、?系統(tǒng)維護(hù)順序圖如圖25所示。</p><p>  圖25 系統(tǒng)維護(hù)順序圖</p><p>  如上圖所示,管理員登錄后進(jìn)入主窗體界面,點(diǎn)擊系統(tǒng)維護(hù)菜單,選擇點(diǎn)擊權(quán)限管理/系統(tǒng)備份/系統(tǒng)恢復(fù)菜單打開權(quán)限管理界面/系統(tǒng)備份界面/系統(tǒng)恢復(fù)界面,分別進(jìn)行相關(guān)操作后分別點(diǎn)擊確認(rèn)修改按鈕、備份按鈕、恢復(fù)按鈕,結(jié)束操作。</p><p> ?、?系統(tǒng)設(shè)置順序圖如圖26所示。

68、</p><p>  圖26 系統(tǒng)設(shè)置順序圖</p><p>  如上圖所示,管理員登錄后進(jìn)入主窗體界面,點(diǎn)擊系統(tǒng)設(shè)置菜單,選擇點(diǎn)擊口令設(shè)置/鎖定系統(tǒng)菜單打開口令設(shè)置界面/鎖定系統(tǒng)界面,分別進(jìn)行相關(guān)操作后分別點(diǎn)擊修改按鈕、解鎖按鈕結(jié)束操作。</p><p><b>  3.5 類圖設(shè)計</b></p><p>  根據(jù)前

69、面建立的簡要的概念模型對各個類進(jìn)行職責(zé)分析,細(xì)化了各個類的屬性,繪制出類圖如圖27所示。</p><p><b>  圖27 類圖</b></p><p>  如上圖所示,waiter類具有的屬性包括:系統(tǒng)編號(ID)、服務(wù)員姓名(waitername)、身份證號碼(cardnum)、服務(wù)員編號(waiternum)、性別(sex)、年齡(age)和電話(tel);賬

70、單類具有的屬性包括:系統(tǒng)編號(ID)、食品代號(foodnum)、食品名稱(foodname)、食品總價(foodallprice)和服務(wù)員姓名(waiter);菜系類具有的屬性包括:系統(tǒng)編號(ID)、類別編號(foodty)和食品類別名稱(foodtype);菜單類具有的屬性包括:系統(tǒng)編號(ID)、類別編號(foodty)、食品代號(foodnum)、食品名稱(foodname)、食品價格(foodprice)和服務(wù)員姓名(waite

71、rname);桌臺信息類具有的屬性包括:系統(tǒng)編號(ID)、桌臺名稱(roomname)、桌臺類型(roomtype)、顧客姓名(guestname)、服務(wù)員姓名(waitername)、桌臺狀態(tài)(roomzt)和開臺時間(zhangdandate)。</p><p>  4 餐飲管理系統(tǒng)的實(shí)現(xiàn)</p><p><b>  4.1 關(guān)鍵技術(shù)</b></p>

72、<p><b> ?、?登錄驗(yàn)證技術(shù)</b></p><p>  登錄模塊以登錄的用戶名和密碼作為搜索條件,在數(shù)據(jù)庫中進(jìn)行查詢。使用SqlDataReader 對象的HasRows 屬性判斷登錄用戶名和密碼是否正確,可以通過以下代碼實(shí)現(xiàn):</p><p>  SqlConnection conn = BaseClass.DBConn.CyCon();<

73、;/p><p>  conn.Open();</p><p>  SqlCommand cmd = new SqlCommand("select * from tb_User where UserName='" + txtName.Text + "' and UserPwd='"</p><p>  + t

74、xtPwd.Text + "'", conn);</p><p>  SqlDataReader sdr = cmd.ExecuteReader();</p><p>  sdr.Read();</p><p>  if (sdr.HasRows)</p><p><b>  {</b><

75、;/p><p>  MessageBox.Show("登錄成功", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);</p><p><b>  }</b></p><p>  ⑵ 主窗體模塊中的桌臺顯示、實(shí)現(xiàn)右鍵彈出菜單、選擇菜單欄中的命令并打開窗體及

76、打開右鍵菜單中的命令技術(shù)</p><p>  桌臺顯示主要是通過ListView 控件實(shí)現(xiàn)的,系統(tǒng)首先從數(shù)據(jù)庫中檢索出</p><p>  每個桌臺的狀態(tài),然后根據(jù)不同的狀態(tài)通過ListView 控件的Items 屬性中的Add 方法向控件中添加項目集合,可以通過以下代碼實(shí)現(xiàn):</p><p>  private void button9_Click(object

77、sender, EventArgs e)</p><p><b>  {</b></p><p>  SqlConnectioncon = new SqlConnection</p><p>  ("server=.;uid=sa;pwd=;database=zhy");//鏈接數(shù)據(jù)庫</p><p>

78、;  con.Open(); //打開數(shù)據(jù)庫</p><p>  string str = "select * from student where id= '"+strid+"'"; //建立SQL語句</p><p>  SqlCommand com = new SqlCommand(str, con); //執(zhí)行SQL語句<

79、;/p><p>  SqlDataReader dr = com.ExecuteReader(); //創(chuàng)建SqlDataReader對象</p><p>  while (dr.Read())</p><p><b>  {</b></p><p>  ListViewItem lt = new ListViewItem(

80、dr.GetValue(0).ToString());</p><p>  lt.SubItems.Add(dr.GetValue(1).ToString());</p><p>  lt.SubItems.Add(dr.GetValue(2).ToString());</p><p>  this.listView1.Items.Add(lt); //添加項目&l

81、t;/p><p><b>  }</b></p><p>  dr.Close();</p><p>  con.Close();</p><p><b>  }</b></p><p>  另外,在桌臺顯示中使用ContextMenuStrip 控件實(shí)現(xiàn)右鍵彈出菜單,其實(shí)現(xiàn)方法

82、如下:</p><p>  ① 雙擊工具欄中的ContextMenuStrip 控件將其添加到Form 窗體中。</p><p>  ② 為ContextMenuStrip 控件添加菜單項。</p><p> ?、?設(shè)置控件或窗體的ContextMenu 屬性為contextMenuStrip1,運(yùn)行程序,在窗體或者控件上單擊鼠標(biāo)右鍵,將出現(xiàn)相應(yīng)的右鍵菜單。<

83、/p><p>  選擇主窗體模塊菜單欄中的命令,打開窗體,以選擇“基礎(chǔ)信息”/“桌臺信息”為例,實(shí)現(xiàn)代碼如下:</p><p>  private void 桌臺信息ToolStripMenuItem1_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>

84、;  frmDesk desk = new frmDesk();</p><p>  desk.ShowDialog();</p><p><b>  }</b></p><p>  選擇右鍵菜單中的命令并打開,以打開“開臺”命令為例,實(shí)現(xiàn)代碼如下:</p><p>  private void 開臺ToolStripM

85、enuItem_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (lvDesk.SelectedItems.Count != 0) //判斷是否有選中項</p><p><b>  {</b></p><p>  

86、string names = lvDesk.SelectedItems[0].SubItems[0].Text; //獲取桌臺的名稱</p><p>  frmOpen openroom = new frmOpen();</p><p>  openroom.name = names; //將桌臺名稱賦值給公共變量name</p><p>  openroom.Sh

87、owDialog(); //打開“開臺單”窗體</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("請選擇桌臺"); //彈出提示

88、信息</p><p><b>  }</b></p><p><b>  }</b></p><p>  ⑶ 開臺模塊中的數(shù)據(jù)庫更新技術(shù)</p><p>  數(shù)據(jù)庫更新技術(shù)運(yùn)用UPDATE運(yùn)算符更改表中的現(xiàn)有數(shù)據(jù),實(shí)現(xiàn)代碼如下:</p><p>  UPDATE<tab

89、le_name | view_name></p><p>  SET <column_name>=<expression> //指定要更新的列或變量名稱的列表</p><p>  [……<last column_name>=<last expression>]</p><p>  [WHERE<search

90、_condition>]//指定條件來限定所更新的行</p><p>  例如,將姓名為小張的年齡修改為30,可以使用下面的代碼實(shí)現(xiàn):</p><p>  update tb_ls set age=30 where name='小張'</p><p>  ⑷ 點(diǎn)菜模塊中的顯示及設(shè)置節(jié)點(diǎn)(顯示菜系)技術(shù)</p><p> 

91、 系統(tǒng)的點(diǎn)菜模塊主要利用了TreeView 控件顯示所有的菜系,當(dāng)單擊某個菜系時,右側(cè)將出現(xiàn)此菜系的所有詳細(xì)信息,用戶可以按展開或折疊的方式顯示父節(jié)點(diǎn)或包含子節(jié)點(diǎn)的節(jié)點(diǎn)。再通過Nodes 屬性設(shè)置TreeView 控件中的所有節(jié)點(diǎn)。例如公司職員設(shè)置節(jié)點(diǎn),實(shí)現(xiàn)代碼如下:</p><p>  private void button1_Click(object sender, EventArgs e)</p>

92、;<p><b>  {</b></p><p>  treeView1.ImageList = imageList1; //設(shè)置TreeView控件的圖像源</p><p>  TreeNode tr = new TreeNode("公司職員",0,1); //添加根節(jié)點(diǎn)</p><p>  tr.Nodes

93、.Add("","小張",0,1); //為根節(jié)點(diǎn)添加子節(jié)點(diǎn)</p><p>  tr.Nodes.Add("","小王", 0, 1); //為根節(jié)點(diǎn)添加子節(jié)點(diǎn)</p><p>  tr.Nodes.Add("", "小李", 0, 1); //為根節(jié)點(diǎn)添加子節(jié)點(diǎn)<

94、;/p><p>  treeView1.Nodes.Add(tr); //將節(jié)點(diǎn)添加到控件中</p><p>  treeView1.ExpandAll(); //展開控件</p><p><b>  }</b></p><p> ?、?結(jié)賬模塊中的顯示消費(fèi)信息及計算消費(fèi)金額技術(shù)</p><p>  

95、首先從數(shù)據(jù)庫中將顧客的消費(fèi)的所有項目顯示到DataGridView控件上,然后運(yùn)用要用SUM 聚合函數(shù)以桌臺名稱為搜索條件,查詢出消費(fèi)的總金額。實(shí)現(xiàn)代碼如下:</p><p>  private void frmJZ_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  t

96、his.Text = Rname + "結(jié)賬"; //設(shè)置窗體顯示名稱</p><p>  groupBox1.Text = "當(dāng)前桌臺-" + Rname;</p><p>  SqlConnection conn = BaseClass.DBConn.CyCon(); //連接數(shù)據(jù)庫</p><p>  SqlDataAd

97、apter sda = new SqlDataAdapter</p><p>  ("select foodname,foodsum,foodallprice, waitername,beizhu,zhuotai,</p><p>  datatime from tb_GuestFood where zhuotai='" + Rname + "'

98、;order by ID desc", conn);</p><p>  DataSet ds = new DataSet();</p><p>  sda.Fill(ds);</p><p>  dgvRecord.DataSource = ds.Tables[0]; //綁定控件,顯示指定桌臺的所有消費(fèi)信息</p><p>  

99、conn.Open(); //打開連接</p><p>  SqlCommand cmd = new SqlCommand</p><p>  ("select sum(foodallprice) from tb_GuestFood where zhuotai='" + Rname +</p><p>  "'"

100、;, conn);</p><p>  price = Convert.ToString(cmd.ExecuteScalar()); //得到顧客消費(fèi)的總金額</p><p>  conn.Close(); //關(guān)閉連接</p><p><b>  }</b></p><p><b>  4.2 登錄模塊<

101、;/b></p><p>  為了使系統(tǒng)的安全性得到保障,大多數(shù)系統(tǒng)都開發(fā)登錄模塊。只有通過登錄模塊,才能對登錄用戶進(jìn)行驗(yàn)證,只有系統(tǒng)的合法用戶才可以進(jìn)入系統(tǒng)的主界面。登錄模塊界面如圖28所示。</p><p>  圖28 登錄模塊界面</p><p>  本模塊使用的數(shù)據(jù)表:tb_Manager,具體實(shí)現(xiàn)步驟如下:</p><p> 

102、?、?新建一個Windows窗體,命名為frmLogin.cs,主要用于實(shí)現(xiàn)系統(tǒng)的登錄功能。該窗體用到的主要控件如表16所示。</p><p>  表16登錄窗體用到的主要控件</p><p>  ⑵ 由于本系統(tǒng)使用Microsoft SQL Server 2000作為后臺數(shù)據(jù)庫,因此先要引用命名空間,以便在程序中操作數(shù)據(jù)庫。關(guān)鍵代碼如下:</p><p>  us

103、ing System.Data.SqlClient</p><p>  ⑶ 單擊“登錄”按鈕之后,登錄模塊首先判斷是否輸入了用戶名和密碼,如果沒有輸入用戶名和密碼將彈出提示框,提示用戶輸入登錄系統(tǒng)的用戶名和密碼;如果輸入了用戶名和密碼,系統(tǒng)將判斷輸入的用戶名和密碼是否正確。關(guān)鍵代碼如關(guān)鍵技術(shù)中的登錄模塊驗(yàn)證代碼所示。</p><p><b>  4.3 主窗體模塊</b&g

104、t;</p><p>  主窗體模塊是有3部分組成的。第一部分是位于主窗體模塊上端的系統(tǒng)菜單,主要實(shí)現(xiàn)鏈接系統(tǒng)功能菜單。第二部分是位于主窗體中間的桌臺顯示,主要是用于顯示餐廳中所有的桌臺情況,包括桌臺是否已使用、已使用桌臺的顧客人數(shù)等信息,方便了操作員對桌臺的管理。第三部分是位于主窗體模塊下端的狀態(tài)欄,主要用于顯示系統(tǒng)當(dāng)前狀態(tài)信息。在某個桌臺上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中操作員可以選擇“開臺”、“取消開臺”、

105、“點(diǎn)/加菜”、“消費(fèi)查詢”和“結(jié)賬”命令,主窗體界面如圖29所示。</p><p>  圖29 主窗體模塊界面</p><p>  本模塊使用的數(shù)據(jù)表:tb_Table、tb_Waiter、tb_Manager,具體實(shí)現(xiàn)步驟如下:</p><p> ?、?新建一個Windows 窗體,命名為frmMain.cs,主要用于實(shí)現(xiàn)系統(tǒng)的菜單欄、桌臺顯示和顯示系統(tǒng)狀態(tài)的功能

106、。該窗體用到的主要控件如表17所示。</p><p>  表17主窗體中用到的主要控件</p><p> ?、?首先創(chuàng)建4個公共變量,方便程序調(diào)用。關(guān)鍵代碼如下:</p><p>  public SqlDataReader sdr;</p><p>  public string power;</p><p>  p

107、ublic string Names;</p><p>  public string Times;</p><p>  ⑶ 在窗體加載時,首先判斷登錄用戶的權(quán)限,根據(jù)登錄用戶的權(quán)限分配不同的功能。關(guān)鍵代碼如下:</p><p>  private void frmMain_Load(object sender, EventArgs e)</p>&l

108、t;p><b>  {</b></p><p>  switch (power)</p><p><b>  {</b></p><p>  case "0": toolStripStatusLabel13.Text = "管理員"; break; //權(quán)限為0時,說明該用戶為

109、管理員</p><p>  case "1": toolStripStatusLabel13.Text = "一般用戶";break;//權(quán)限為1時,說明該用戶是一般用戶</p><p><b>  }</b></p><p>  toolStripStatusLabel10.Text = Names;/

110、/在狀態(tài)欄中顯示登錄用戶的身份</p><p>  toolStripStatusLabel16.Text = Times;//將登錄時間顯示在狀態(tài)欄中</p><p>  if (power == "1")</p><p><b>  {</b></p><p>  系統(tǒng)維護(hù)SToolStripMe

111、nuItem.Enabled = false;//屏蔽系統(tǒng)維護(hù)</p><p>  基礎(chǔ)信息MToolStripMenuItem.Enabled = false;//屏蔽基礎(chǔ)信息</p><p><b>  }</b></p><p><b>  }</b></p><p> ?、?選擇主窗體模塊菜

112、單欄中的“基礎(chǔ)信息”/“桌臺信息”命令,打開顯示所有桌臺信息的窗體,如圖30所示。</p><p>  圖30 顯示桌臺所有信息</p><p>  關(guān)鍵代碼如關(guān)鍵技術(shù)中選擇菜單欄中的命令打開窗體的代碼所示。</p><p> ?、?選擇主窗體模塊菜單欄中的“基礎(chǔ)信息”/“職員信息”命令,打開顯示所有職員信息的窗體,如圖31所示。</p><p&

113、gt;<b>  圖31 職員信息</b></p><p>  關(guān)鍵代碼如關(guān)鍵技術(shù)中選擇菜單欄中的命令打開窗體的代碼所示。</p><p> ?、?選擇主窗體模塊菜單欄中的“系統(tǒng)維護(hù)”/“權(quán)限管理”命令,打開管理用戶權(quán)限的窗體,如圖32所示;選擇“系統(tǒng)維護(hù)”/“系統(tǒng)備份”命令,打開備份系統(tǒng)數(shù)據(jù)庫的窗體,如圖33所示;選擇“系統(tǒng)維護(hù)”/“系統(tǒng)恢復(fù)”命令,打開恢復(fù)系統(tǒng)數(shù)據(jù)

114、庫的窗體,如圖34所示。</p><p><b>  圖32 權(quán)限管理</b></p><p><b>  圖33 備份數(shù)據(jù)庫</b></p><p><b>  圖34 恢復(fù)數(shù)據(jù)庫</b></p><p>  關(guān)鍵代碼如關(guān)鍵技術(shù)中選擇菜單欄中的命令打開窗體的代碼所示。<

115、/p><p> ?、?選擇主窗體模塊菜單欄中的“系統(tǒng)設(shè)置”/“口令設(shè)置”命令,打開修改用戶密碼的窗體,如圖35所示;選擇“系統(tǒng)設(shè)置”/“鎖定系統(tǒng)”命令,打開鎖定當(dāng)前系統(tǒng)的窗體,如圖36所示。</p><p><b>  圖35 密碼修改</b></p><p>  圖36 鎖定系統(tǒng)界面</p><p>  關(guān)鍵代碼如關(guān)鍵技術(shù)

116、中選擇菜單欄中的命令打開窗體的代碼所示。</p><p> ?、?當(dāng)操作員右擊某個桌臺時,系統(tǒng)會根據(jù)該桌臺當(dāng)前的狀態(tài),彈出不同的右鍵菜單。實(shí)現(xiàn)方法如關(guān)鍵技術(shù)中的右鍵彈出菜單的實(shí)現(xiàn)方法。</p><p> ?、?當(dāng)在某個桌臺上右擊,在彈出的快捷菜單中可以選擇打開“開臺”、“點(diǎn)菜”、“消費(fèi)查詢”和“結(jié)賬”命令,關(guān)鍵代碼如關(guān)鍵技術(shù)中選擇右鍵菜單中的命令并打開的代碼所示。</p>&

117、lt;p><b>  4.4 開臺模塊</b></p><p>  當(dāng)顧客要進(jìn)行消費(fèi)時,首先要看一下是否還有可用的桌臺,如果還有空閑的桌臺,那么就要為顧客開臺,只有在開臺之后,才能為顧客點(diǎn)菜、查詢和結(jié)賬。開臺模塊用于對指定的桌臺進(jìn)行開臺操作,此功能是通過“開臺單”窗體實(shí)現(xiàn)的。如圖37所示。</p><p><b>  圖37 開臺單界面</b&g

118、t;</p><p>  本模塊使用的數(shù)據(jù)表:tb_Table、tb_Waiter,具體實(shí)現(xiàn)步驟如下:</p><p>  ⑴ 新建一個Windows 窗體,命名為frmOpen.cs,主要用于實(shí)現(xiàn)對指定的桌臺進(jìn)行開臺操作的功能。該窗體用到的主要控件如表18所示。</p><p>  表18開臺單窗體用到的主要控件</p><p> ?、?首

119、先建立兩個公共變量以便程序中調(diào)用。關(guān)鍵代碼如下:</p><p>  public string name;</p><p>  public SqlConnection conn;</p><p>  ⑶ 在窗體加載時,將數(shù)據(jù)庫中所有的桌臺信息和職員信息檢索出來顯示在ComboBox控件上。關(guān)鍵代碼如關(guān)鍵技術(shù)中的顯示信息代碼所示。</p><p

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論