版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文</b></p><p><b> ?。?0_ _屆)</b></p><p> 基于.NET的中小型餐飲企業(yè)服務(wù)管理系統(tǒng)的分析與設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí)
2、 電子商務(wù) </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要<
3、/b></p><p> 餐飲業(yè)作為我國(guó)第三產(chǎn)業(yè)中的一個(gè)傳統(tǒng)服務(wù)行業(yè),始終保持著快速發(fā)展的勢(shì)態(tài)。同時(shí)隨著信息技術(shù)在企業(yè)管理上越來(lái)越深入而廣泛的應(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ù)競(jìng)爭(zhēng)能力。</p><p>
4、 本文主要針對(duì)中小型餐飲企業(yè)研究如何開(kāi)發(fā)相關(guān)服務(wù)的餐飲管理系統(tǒng),最終實(shí)現(xiàn)了一個(gè)較為通用和易于擴(kuò)展和集成的餐飲管理系統(tǒng)。在論文中首先詳細(xì)介紹了餐飲管理系統(tǒng)的分析過(guò)程主要包括需求捕獲、概念模型、用例模型以及交互模型的建立。然后詳細(xì)介紹了系統(tǒng)的設(shè)計(jì)過(guò)程主要包括運(yùn)行環(huán)境、總體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、交互設(shè)計(jì)以及類(lèi)圖設(shè)計(jì)。分析設(shè)計(jì)之后通過(guò)在.NET平臺(tái)上進(jìn)行,結(jié)合后端的SQL Server 2000數(shù)據(jù)庫(kù)技術(shù),用C#.NET進(jìn)行編碼,最終實(shí)現(xiàn)系統(tǒng)的開(kāi)
5、發(fā)。論文中詳細(xì)介紹了系統(tǒng)的實(shí)現(xiàn)過(guò)程主要包括關(guān)鍵技術(shù)、用戶登錄、主窗體、開(kāi)臺(tái)、點(diǎn)菜及結(jié)賬模塊的實(shí)現(xiàn)過(guò)程。論文最后對(duì)完成的工作進(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 國(guó)內(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è)計(jì)20</p><p> 3.1 系統(tǒng)運(yùn)行環(huán)境20</p><p> 3.2 系統(tǒng)總體設(shè)計(jì)20</p><p> 3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)21</
13、p><p> 3.4 交互設(shè)計(jì)24</p><p> 3.5 類(lèi)圖設(shè)計(jì)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 開(kāi)臺(tái)模塊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> 致 謝錯(cuò)誤!未定義書(shū)簽。
15、</p><p> 附錄一:文獻(xiàn)綜述錯(cuò)誤!未定義書(shū)簽。</p><p> 附錄二:外文文獻(xiàn)譯文錯(cuò)誤!未定義書(shū)簽。</p><p> 附錄三:外文文獻(xiàn)原文錯(cuò)誤!未定義書(shū)簽。</p><p><b> 1 緒論</b></p><p><b> 1.1 課題背景</b&
16、gt;</p><p> 在改革開(kāi)放30年的發(fā)展進(jìn)程中,隨著人民的生活水平的不斷提高,餐飲業(yè)的消費(fèi)持續(xù)增長(zhǎng)。餐飲業(yè)作為我國(guó)第三產(chǎn)業(yè)中的一個(gè)傳統(tǒng)服務(wù)行業(yè),始終保持著快速發(fā)展的勢(shì)態(tài)。在《2010-2015年中國(guó)餐飲業(yè)投資分析及前景預(yù)測(cè)報(bào)告》[1]中提到2009年全社會(huì)餐飲業(yè)零售額達(dá)到17998億元,同比增長(zhǎng)16.8%,占社會(huì)消費(fèi)品零售總額的14.4%。楊柳(2010)[2]在餐飲產(chǎn)業(yè)藍(lán)皮書(shū)《中國(guó)餐飲產(chǎn)業(yè)發(fā)展報(bào)告(2
17、010)》中也提到,預(yù)測(cè)2010年我國(guó)餐飲業(yè)持續(xù)增長(zhǎng)的態(tài)勢(shì)將進(jìn)一步鞏固。中國(guó)社會(huì)科學(xué)院預(yù)測(cè)2010年中國(guó)GDP增長(zhǎng)將保持在9%左右。預(yù)計(jì)2010年全年將增長(zhǎng)10%以上,餐飲業(yè)收入將達(dá)到20000億元。由此可見(jiàn),餐飲業(yè)有著巨大的市場(chǎng),同時(shí)也給這個(gè)傳統(tǒng)行業(yè)帶來(lái)了越來(lái)越激烈的競(jìng)爭(zhēng)。</p><p> 在快速發(fā)展的同時(shí),傳統(tǒng)的餐飲業(yè)存在著一定的問(wèn)題,在日常經(jīng)營(yíng)管理中仍普遍采用手工管理方式,整體科技含量低。隨著餐飲企業(yè)規(guī)
18、模和數(shù)量的不斷增長(zhǎng),手工管理模式無(wú)論是在工作效率、人員成本還是提供決策信息方面都已難以適應(yīng)現(xiàn)代化經(jīng)營(yíng)管理的要求,因此制約了整個(gè)餐飲業(yè)的規(guī)?;l(fā)展和整體服務(wù)水平的提升。這就迫切需要標(biāo)準(zhǔn)的、高效率的計(jì)算機(jī)管理方式引導(dǎo)其發(fā)展,通過(guò)計(jì)算機(jī)管理餐飲企業(yè)的日常運(yùn)作,給管理者以決策參考的模型,來(lái)提高餐飲企業(yè)的運(yùn)作效率,降低運(yùn)營(yíng)成本,提高顧客滿意度和忠誠(chéng)度。</p><p> 1.2 國(guó)內(nèi)外餐飲管理系統(tǒng)的研究狀況</p&
19、gt;<p> ?、?國(guó)內(nèi)餐飲管理系統(tǒng)的研究狀況</p><p> 目前,國(guó)內(nèi)關(guān)于研究餐飲管理系統(tǒng)的研究主要停留在對(duì)系統(tǒng)的開(kāi)發(fā)設(shè)計(jì),實(shí)施應(yīng)用等方面。廖世鵬(2009)[3]在《餐飲管理系統(tǒng)軟件研究》碩士論文中主要針對(duì)餐飲管理系統(tǒng)的軟件進(jìn)行了分析研究,在設(shè)計(jì)上采用Delphi開(kāi)發(fā),數(shù)據(jù)庫(kù)基于Microsoft SQL Server 2000實(shí)現(xiàn),其中文中也概述了國(guó)內(nèi)目前的餐飲管理系統(tǒng)的幾種主要的形式
20、:純軟件的餐飲管理系統(tǒng)、軟件帶廚房分單功能的餐飲管理系統(tǒng)以及無(wú)線餐飲管理系統(tǒng)。另外,孫立強(qiáng)(2009)[4]在《基于教學(xué)的酒店餐飲管理信息系統(tǒng)的設(shè)計(jì)與研究》以及唐玲(2005)[5]《中型餐飲企業(yè)管理信息系統(tǒng)的研究和設(shè)計(jì)》碩士論文中都對(duì)餐飲管理信息系統(tǒng)進(jìn)行了研究,對(duì)餐飲管理系統(tǒng)中涉及到的相關(guān)信息進(jìn)行了分析設(shè)計(jì),在設(shè)計(jì)上分別采用的是VB和Delphi,數(shù)據(jù)庫(kù)都采用的是SQL Server 2000。吳瑾(2006)[6]在《一個(gè)支持無(wú)線終
21、端的餐飲管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)》中對(duì)餐飲管理系統(tǒng)的應(yīng)用進(jìn)行了相關(guān)的研究并且采用了面向?qū)ο缶幊碳夹g(shù)?;ㄝ恚?010)[7]在《基于Visual C#.NET程序設(shè)計(jì)基礎(chǔ)課程教學(xué)探索與實(shí)踐》中對(duì)餐飲管理系統(tǒng)的課程教學(xué)進(jìn)行了相關(guān)的研究及</p><p> ⑵ 國(guó)外餐飲管理系統(tǒng)的研究狀況</p><p> 早在上世紀(jì)80年代在歐美國(guó)家的餐飲和酒店管理業(yè)就開(kāi)始運(yùn)用軟件進(jìn)行管理,到目前為止,國(guó)外的有
22、關(guān)餐飲管理系統(tǒng)的軟件已經(jīng)日趨成熟,并且在餐飲行業(yè)中得到了廣泛的應(yīng)用,為現(xiàn)代的餐飲企業(yè)的各項(xiàng)管理,提供了科學(xué)依據(jù),極大的提高了餐飲企業(yè)的經(jīng)濟(jì)效益和服務(wù)效率,降低成本,提高企業(yè)競(jìng)爭(zhēng)力。Svetlana Rodgers(2005)[10]在《Svetlana Rodgers. Selecting a food service system》中對(duì)食品服務(wù)系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)的分析設(shè)計(jì)的方法的研究、Doug Doran(2010)[11]在《Rest
23、aurants and technology – past present and future: a practitioner's viewpoint》中對(duì)系統(tǒng)開(kāi)發(fā)的需求分析以及系統(tǒng)設(shè)計(jì)采用的方法的研究、Amy Gregory;Raymond;Robin(2010)[12]在《Towards a functional model of website evaluation: a case study of casual din
24、ing restaurants》中對(duì)餐</p><p> 1.3 課題研究目標(biāo)和內(nèi)容</p><p><b> ⑴ 系統(tǒng)設(shè)計(jì)目標(biāo)</b></p><p> 本系統(tǒng)主要針對(duì)中小型餐飲企業(yè)開(kāi)發(fā)屬于小型的餐飲管理系統(tǒng),可以有效地對(duì)中小型餐廳消費(fèi)進(jìn)行管理。系統(tǒng)設(shè)計(jì)目標(biāo)如下:</p><p> ?、傧到y(tǒng)采用人機(jī)交互的方式,界
25、面美觀友好,信息查詢靈活、方便,數(shù)據(jù)存儲(chǔ)安全可靠。</p><p> ②實(shí)現(xiàn)對(duì)餐廳顧客開(kāi)臺(tái)、點(diǎn)/加菜、賬目查詢和結(jié)賬等操作。</p><p> ?、蹖?duì)用戶輸入的數(shù)據(jù)進(jìn)行嚴(yán)格的數(shù)據(jù)檢索,盡可能地避免人為錯(cuò)誤。</p><p> ?、軐?shí)現(xiàn)對(duì)消費(fèi)賬目自動(dòng)結(jié)算。</p><p> ?、輰?shí)現(xiàn)對(duì)消費(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è)計(jì)與實(shí)現(xiàn),最終目標(biāo)在于建立一個(gè)較為通用和易于擴(kuò)展和集成的系統(tǒng)。</p><p> 第一部分介紹了課題背景、國(guó)內(nèi)外餐飲管理系統(tǒng)的研究狀況
27、。提出了系統(tǒng)設(shè)計(jì)的目標(biāo)和本課題的內(nèi)容。</p><p> 第二部分進(jìn)行了需求捕獲得到特性表,再進(jìn)行UML需求建模,分別建立了概念模型、用例模型和交互模型。</p><p> 第三部分介紹了系統(tǒng)運(yùn)行環(huán)境,通過(guò)功能結(jié)構(gòu)圖進(jìn)行了總體設(shè)計(jì);通過(guò)E-R圖以及數(shù)據(jù)表的建立分別進(jìn)行了數(shù)據(jù)庫(kù)的概念設(shè)計(jì)以及邏輯結(jié)構(gòu)設(shè)計(jì);最后對(duì)系統(tǒng)進(jìn)行了交互設(shè)計(jì)和類(lèi)圖設(shè)計(jì)。</p><p> 第
28、四部分給出了系統(tǒng)實(shí)現(xiàn)過(guò)程,先介紹了系統(tǒng)中用到的關(guān)鍵技術(shù),然后介紹了用戶登錄、主窗體、開(kāi)臺(tái)、點(diǎn)菜和結(jié)賬等模塊的實(shí)現(xiàn)過(guò)程。</p><p> 2 餐飲管理系統(tǒng)的分析</p><p><b> 2.1 需求捕獲</b></p><p> 李軍偉(2010)[15]在《需求捕獲和需求分析方法探析》中提到需求捕獲的任務(wù)是在業(yè)務(wù)需求的指引下挖掘用戶需
29、求的過(guò)程。業(yè)務(wù)需求就是整個(gè)系統(tǒng)最為宏觀層面的需求,反映的是組織結(jié)構(gòu)或客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,也就是項(xiàng)目的目標(biāo)。而業(yè)務(wù)需求主要分為項(xiàng)目總目標(biāo)和子項(xiàng)目目標(biāo)。</p><p> 本系統(tǒng)的項(xiàng)目總目標(biāo)是開(kāi)發(fā)一個(gè)針對(duì)中小型餐飲企業(yè)的餐飲管理系統(tǒng),隨著餐飲業(yè)的不斷發(fā)展,在經(jīng)營(yíng)管理上也逐步邁向電子化,通過(guò)計(jì)算機(jī)信息系統(tǒng)管理餐飲業(yè)的內(nèi)部事務(wù),使得作業(yè)更加便捷、高效,減輕了一線操作人員的勞動(dòng)強(qiáng)度,減少錯(cuò)誤,提高餐飲管理的
30、效率。為了實(shí)現(xiàn)餐飲管理系統(tǒng),通過(guò)挖掘用戶的需求并且分析,得到以下各個(gè)模塊和各個(gè)模塊所要實(shí)現(xiàn)的功能,而子項(xiàng)目的目標(biāo)就是實(shí)現(xiàn)以下各個(gè)模塊的功能。</p><p> ?、?開(kāi)臺(tái)模塊:服務(wù)員可以根據(jù)顧客的需要為其開(kāi)臺(tái),并填寫(xiě)開(kāi)臺(tái)單;</p><p> ?、?點(diǎn)菜模塊:為顧客開(kāi)臺(tái)后,服務(wù)員根據(jù)顧客的需要為其點(diǎn)菜,并填寫(xiě)點(diǎn)菜單,根據(jù)顧客的需要進(jìn)行添加、修改;</p><p>
31、?、?結(jié)賬模塊:服務(wù)員可以根據(jù)顧客的要求查詢賬單,顧客用餐后進(jìn)行結(jié)賬操作;</p><p> ?、?基礎(chǔ)信息管理:管理員可以對(duì)桌臺(tái)以及服務(wù)員的信息進(jìn)行查詢、添加、修改及刪除;</p><p> ⑸ 系統(tǒng)維護(hù):管理員可以對(duì)系統(tǒng)的使用者進(jìn)行權(quán)限管理,限制其對(duì)主要功能的操作,也可對(duì)系統(tǒng)進(jìn)行備份及恢復(fù)操作;</p><p> ?、?系統(tǒng)設(shè)置:管理員可以對(duì)系統(tǒng)進(jìn)行口令設(shè)置及
32、鎖定系統(tǒng)。</p><p> 根據(jù)以上捕獲的需求,分別對(duì)各個(gè)功能模塊進(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ì)陽(yáng);蔣波(2008)[17]在《面向?qū)ο蟮腢ML建模方法研究》中都提到UML是一種定義良好、易于表達(dá)、功能強(qiáng)大的可視化標(biāo)準(zhǔn)建模語(yǔ)言。UML共定義了10種模型圖。其中用例圖、類(lèi)圖、對(duì)象圖、包圖、構(gòu)件圖和配置圖主要用來(lái)描述系統(tǒng)的靜態(tài)結(jié)構(gòu),它們共同構(gòu)成了標(biāo)準(zhǔn)建模語(yǔ)言的靜態(tài)建模機(jī)制;順序圖、合作圖、狀態(tài)圖和活動(dòng)圖主要描述系統(tǒng)對(duì)象之間的交互及相應(yīng)的時(shí)序狀態(tài),它們共同構(gòu)成標(biāo)準(zhǔn)建模
34、語(yǔ)言的動(dòng)態(tài)建模機(jī)制。通過(guò)系統(tǒng)的需求捕獲階段捕獲了用戶需求,在把握了用戶需求的主要部分后,通過(guò)整理、合并這些需求,在此基礎(chǔ)上進(jìn)行需求建模。夏克付(2008)[18]在《基于UML的電子商務(wù)系統(tǒng)建模研究與應(yīng)用》及陳卉(2008)[19]在《UML順序圖和狀態(tài)圖的形式化方法研究》中都提到利用UML對(duì)系統(tǒng)進(jìn)行需求建模的內(nèi)容主要包括:以用例模型來(lái)組織需求;以類(lèi)模型來(lái)表述領(lǐng)域?qū)ο?;以交互圖來(lái)對(duì)用例事件流進(jìn)行補(bǔ)充說(shuō)明。因此,本系統(tǒng)采用建立概念模型、用
35、例模型和交互模型來(lái)進(jìn)行需求建模。</p><p> 2.2.1 建立概念模型</p><p> 為了理解各種實(shí)體之間的關(guān)聯(lián)關(guān)系,可以通過(guò)建立一個(gè)概念模型來(lái)實(shí)現(xiàn)。而建立概念模型的主要手段是類(lèi)圖,整個(gè)構(gòu)建活動(dòng)主要包括:發(fā)現(xiàn)類(lèi)、關(guān)聯(lián)分析、職責(zé)分析、限定與修改4個(gè)步驟。</p><p> 根據(jù)需求特性表可以發(fā)現(xiàn)有管理員、服務(wù)員、桌臺(tái)信息、菜單、賬單和菜系6個(gè)候選類(lèi),確
36、定候選類(lèi)之后,根據(jù)需求特性表及相關(guān)信息,從而得出概念模型如圖1所示。</p><p><b> 圖1 概念模型</b></p><p> 從上圖可以得知此概念模型共有6個(gè)類(lèi),管理員(manager)與服務(wù)員(waiter)之間存在關(guān)聯(lián)關(guān)系;服務(wù)員(waiter)和桌臺(tái)信息(table)、菜單(food)、賬單(bill)之間存在關(guān)聯(lián)關(guān)系。一個(gè)服務(wù)員可以在多個(gè)桌臺(tái)上
37、開(kāi)臺(tái),而一個(gè)桌臺(tái)只能被一個(gè)服務(wù)員使用;一個(gè)服務(wù)員可以點(diǎn)多份菜單,一份菜單只能由一個(gè)服務(wù)員操作;一個(gè)服務(wù)員可以對(duì)多個(gè)賬單進(jìn)行查詢/結(jié)賬操作,一份賬單只能由一個(gè)服務(wù)員完成。</p><p> 2.2.2 建立用例模型</p><p> 構(gòu)建了初步的概念模型之后,通過(guò)建立用例模型來(lái)組織需求。本系統(tǒng)建立用例模型的主要步驟是:識(shí)別參與者;根據(jù)需求捕獲所得到的需求特性表,合并需求以獲取系統(tǒng)的用例;
38、最后根據(jù)各個(gè)用例繪制活動(dòng)圖并對(duì)用例進(jìn)行表述。</p><p><b> ?、?識(shí)別參與者</b></p><p> 根據(jù)需求特性表,本系統(tǒng)的參與者是服務(wù)員與管理員,服務(wù)員可以為顧客開(kāi)臺(tái)、點(diǎn)菜和結(jié)賬;管理員可以對(duì)基礎(chǔ)信息進(jìn)行管理、系統(tǒng)維護(hù)和系統(tǒng)設(shè)置。參與者如圖2所示。</p><p><b> 圖2 參與者</b><
39、;/p><p> ?、?合并需求獲得用例</p><p> 根據(jù)所識(shí)別的參與者,包括服務(wù)員與管理員,將之前需求捕獲所得到的需求特性表分開(kāi),然后再合并或分解為相應(yīng)的用例,最終得到特性合并成用例表如表2。</p><p> 表2 特性合并成用例</p><p> 通過(guò)特性合并得到了6個(gè)用例,并且獲得了用例與參與者之間的關(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ù)員的用例主要包括“開(kāi)臺(tái)”用例、“點(diǎn)菜”用例、“結(jié)賬”用例,以及系統(tǒng)中肯定需要的用例“系統(tǒng)登錄”用例。</p>&l
41、t;p> ⑶ 結(jié)合用例繪制活動(dòng)圖并進(jìn)行用例描述</p><p> ?、?“系統(tǒng)登錄”用例</p><p> “系統(tǒng)登錄”活動(dòng)圖如圖4所示。</p><p> 圖4 系統(tǒng)登錄活動(dòng)圖</p><p> 根據(jù)系統(tǒng)登錄活動(dòng)圖進(jìn)行用例描述如表3。</p><p> 表3 用例“系統(tǒng)登錄”描述</p>
42、<p><b> ?、?“開(kāi)臺(tái)”用例</b></p><p> “開(kāi)臺(tái)”活動(dòng)圖如圖5所示。</p><p><b> 圖5 開(kāi)臺(tái)活動(dòng)圖</b></p><p> 根據(jù)“開(kāi)臺(tái)”活動(dòng)圖進(jìn)行用例描述如表4。</p><p> 表4 用例“開(kāi)臺(tái)”描述</p><p&g
43、t;<b> ③ “點(diǎn)菜”用例</b></p><p> “點(diǎn)菜”活動(dòng)圖如圖6所示。</p><p><b> 圖6 點(diǎn)菜活動(dòng)圖</b></p><p> 根據(jù)“點(diǎn)菜”活動(dòng)圖進(jìn)行用例描述如表5。</p><p> 表5用例“點(diǎn)菜”描述</p><p><b&g
44、t; ?、堋敖Y(jié)賬”用例</b></p><p> “結(jié)賬”活動(dòng)圖如圖7所示。</p><p><b> 圖7 結(jié)賬活動(dòng)圖</b></p><p> 根據(jù)“結(jié)賬”活動(dòng)圖進(jìn)行用例描述如表6。</p><p> 表6 用例“結(jié)賬”描述</p><p> ⑤“基礎(chǔ)信息管理”用例<
45、;/p><p> “基礎(chǔ)信息管理”活動(dòng)圖如圖8所示。</p><p> 圖8 基礎(chǔ)信息管理活動(dòng)圖</p><p> 根據(jù)“基礎(chǔ)信息管理”活動(dòng)圖進(jìn)行用例描述如表7.</p><p> 表7 用例“基礎(chǔ)信息管理”描述</p><p><b> ?、蕖跋到y(tǒng)維護(hù)”用例</b></p>&
46、lt;p> “系統(tǒng)維護(hù)”活動(dòng)圖如圖9所示。</p><p> 圖9 系統(tǒng)維護(hù)活動(dòng)圖</p><p> 根據(jù)“系統(tǒng)維護(hù)”活動(dòng)圖進(jìn)行用例描述如表8。</p><p> 表8 用例“系統(tǒng)維護(hù)”描述</p><p><b> ?、摺跋到y(tǒng)設(shè)置”用例</b></p><p> “系統(tǒng)設(shè)置”活動(dòng)
47、圖如圖10所示。</p><p> 圖10 系統(tǒng)設(shè)置活動(dòng)圖</p><p> 根據(jù)“系統(tǒng)設(shè)置”活動(dòng)圖進(jìn)行用例描述如表9。</p><p> 表9 用例“系統(tǒng)設(shè)置”描述</p><p> 2.2.3 建立交互模型</p><p> 交互模型是由順序圖來(lái)實(shí)現(xiàn),在本階段的順序圖只是簡(jiǎn)單的來(lái)描述用例的事件流,在設(shè)計(jì)階
48、段會(huì)詳細(xì)的給出順序圖。本系統(tǒng)的交互模型由“用戶登錄”、“開(kāi)臺(tái)”、“點(diǎn)菜”、“結(jié)賬”、“基礎(chǔ)信息”、“系統(tǒng)維護(hù)”及“系統(tǒng)設(shè)置”6個(gè)順序圖組成。</p><p> ?、?系統(tǒng)登錄順序圖如圖11所示。</p><p> 圖11 用戶登錄順序圖</p><p> 如上圖所示,用戶打開(kāi)餐飲管理系統(tǒng)后顯示登錄界面,用戶輸入用戶名和密碼,系統(tǒng)通過(guò)數(shù)據(jù)庫(kù)驗(yàn)證用戶名和密碼返回驗(yàn)證
49、信息,驗(yàn)證正確后用戶登錄系統(tǒng),驗(yàn)證錯(cuò)誤提示錯(cuò)誤信息,用戶可以繼續(xù)重新輸入正確的用戶名和密碼或者取消登錄。</p><p> ?、?開(kāi)臺(tái)順序圖如圖12所示。</p><p><b> 圖12 開(kāi)臺(tái)順序圖</b></p><p> 如上圖所示,顧客提出開(kāi)臺(tái)請(qǐng)求,服務(wù)員查詢桌臺(tái)信息,若無(wú)空桌臺(tái)則告知顧客;若有空桌臺(tái),詢問(wèn)顧客是否確認(rèn)開(kāi)臺(tái),若確認(rèn)開(kāi)
50、臺(tái)則輸入開(kāi)臺(tái)信息,數(shù)據(jù)將保存到數(shù)據(jù)庫(kù)中。</p><p> ⑶ 點(diǎn)菜順序圖如圖13所示。</p><p><b> 圖13 點(diǎn)菜順序圖</b></p><p> 如上圖所示,顧客提出點(diǎn)/加菜請(qǐng)求,服務(wù)員打開(kāi)點(diǎn)菜服務(wù)界面,若無(wú)所要的菜,則反饋顧客;若有所要的菜,詢問(wèn)顧客是否確認(rèn)點(diǎn)/加菜,若確認(rèn)則輸入點(diǎn)/加菜信息,將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。<
51、;/p><p> ?、?結(jié)賬順序圖如圖14所示。</p><p><b> 圖14 結(jié)賬順序圖</b></p><p> 如上圖所示,顧客提出結(jié)賬請(qǐng)求,服務(wù)員打開(kāi)結(jié)賬管理界面,查看賬單信息,向顧客所要現(xiàn)金,顧客付款后打印清單交付顧客。</p><p> ?、?基礎(chǔ)信息管理順序圖如圖15所示。</p><
52、;p> 圖15 基礎(chǔ)信息管理順序圖</p><p> 如上圖所示,管理員點(diǎn)擊基礎(chǔ)信息菜單,可以選擇打開(kāi)桌臺(tái)信息界面或服務(wù)員信息界面進(jìn)行修改、添加及刪除操作,相應(yīng)的信息將保存到數(shù)據(jù)庫(kù)。</p><p> ?、?系統(tǒng)維護(hù)順序圖如圖16所示。</p><p> 圖16 系統(tǒng)維護(hù)順序圖</p><p> 如上圖所示,管理員點(diǎn)擊系統(tǒng)維護(hù)菜
53、單,可以選擇打開(kāi)權(quán)限管理界面、系統(tǒng)備份界面及系統(tǒng)恢復(fù)界面。若打開(kāi)權(quán)限管理界面則可以選擇用戶進(jìn)行級(jí)別設(shè)置;若打開(kāi)系統(tǒng)備份界面則可以輸入數(shù)據(jù)庫(kù)備份文件名進(jìn)行備份;若打開(kāi)系統(tǒng)恢復(fù)界面則可以選擇數(shù)據(jù)庫(kù)文件進(jìn)行恢復(fù)。</p><p> ⑺ 系統(tǒng)設(shè)置順序圖如圖17所示。</p><p> 圖17 系統(tǒng)維護(hù)順序圖</p><p> 如上圖所示,管理員點(diǎn)擊系統(tǒng)設(shè)置菜單,打開(kāi)口
54、令設(shè)置界面可以修改用戶密碼;若打開(kāi)鎖定系統(tǒng)界面可以輸入解鎖密碼解鎖系統(tǒng)。</p><p> 3 餐飲管理系統(tǒng)的設(shè)計(jì)</p><p> 3.1 系統(tǒng)運(yùn)行環(huán)境</p><p> 本系統(tǒng)在運(yùn)行中的具體運(yùn)行環(huán)境如下:</p><p> ?、畔到y(tǒng)開(kāi)發(fā)平臺(tái):Microsoft Visual Studio 2008。</p><p
55、> ?、葡到y(tǒng)開(kāi)發(fā)語(yǔ)言:C#。</p><p> ?、菙?shù)據(jù)庫(kù)管理系統(tǒng):Microsoft SQL Server 2000。</p><p> ⑷運(yùn)行平臺(tái):Windows Vista。</p><p> ?、蛇\(yùn)行環(huán)境:Microsoft.NET Framework SDK v2.0。</p><p> 3.2 系統(tǒng)總體設(shè)計(jì) </p
56、><p> 本系統(tǒng)功能結(jié)構(gòu)如圖18所示。</p><p> 圖18 系統(tǒng)功能結(jié)構(gòu)圖</p><p><b> 3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 在開(kāi)發(fā)餐飲管理系統(tǒng)之前,分析了該系統(tǒng)的數(shù)據(jù)量。由于系統(tǒng)管理餐飲方面的數(shù)據(jù)較多,商品信息、消費(fèi)信息以及賬目清單會(huì)占用較大的空間,因此選擇Microsoft SQL
57、Server 2000 數(shù)據(jù)庫(kù)存儲(chǔ)這些信息,數(shù)據(jù)庫(kù)命名為db_MrCy,在數(shù)據(jù)庫(kù)中創(chuàng)建了6個(gè)數(shù)據(jù)表用于存儲(chǔ)不同的信息。 分別為菜單表tb_food、菜系信息表tb_foodtype、賬單表tb_Bill、桌臺(tái)信息表tb_Table、管理員信息表tb_Manager、服務(wù)員信息表tb_Waiter。</p><p> 3.3.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì)</p><p> 本系統(tǒng)的數(shù)據(jù)庫(kù)主要用于存
58、儲(chǔ)系統(tǒng)中的數(shù)據(jù),由于本系統(tǒng)的數(shù)據(jù)量很大,所以選擇了Microsoft SQL Server 2000數(shù)據(jù)庫(kù)。整個(gè)系統(tǒng)整體的E—R圖如圖19所示:</p><p><b> 圖19 E-R圖</b></p><p> 3.3.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 根據(jù)E-R圖在數(shù)據(jù)庫(kù)中創(chuàng)建各表,系統(tǒng)數(shù)據(jù)庫(kù)中各表的結(jié)構(gòu)如下。</p&
59、gt;<p> ?、?tb_food(菜單表):用于保存所有食品信息,該表的結(jié)構(gòu)如表10所示。</p><p><b> 表10 菜單表</b></p><p> ?、?tb_foodtype(菜系表):用于保存食品類(lèi)別信息,該表的結(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(桌臺(tái)信息表):用于保存所有桌臺(tái)信息,該表的結(jié)構(gòu)如表14所示。</p><p><b> 表14 桌臺(tái)信息表</b></p><p> ?、?tb_Manager(管理員信息表):用于保存所有管理員的信息,該表的結(jié)構(gòu)如表15所示。</p><p> 表15 管理員信息表</p><
62、;p><b> 3.4 交互設(shè)計(jì)</b></p><p> 在建立的簡(jiǎn)要的交互模型的基礎(chǔ)上,再細(xì)化設(shè)計(jì),從而設(shè)計(jì)出更加詳細(xì)的順序圖,系統(tǒng)的交互設(shè)計(jì)主要由以下順序圖組成。</p><p> ?、?系統(tǒng)登錄順序圖如圖20所示。</p><p> 圖20 系統(tǒng)登錄順序圖</p><p> 如上圖所示,用戶打開(kāi)系統(tǒng)
63、會(huì)顯示登錄界面,用戶輸入用戶名及密碼,點(diǎn)擊登錄按鈕,系統(tǒng)判斷用戶名及密碼是否正確。正確的話用戶登錄主窗體界面,錯(cuò)誤的話,用戶重新輸入正確的用戶名和密碼。</p><p> ?、?開(kāi)臺(tái)順序圖如圖21所示。</p><p><b> 圖21 開(kāi)臺(tái)順序圖</b></p><p> 如上圖所示,顧客提出開(kāi)臺(tái)請(qǐng)求,服務(wù)員查看主窗體中桌臺(tái)是否有空的桌臺(tái)
64、,若沒(méi)有空桌臺(tái)則告知顧客,若有空桌臺(tái),則可在選中的空桌臺(tái)上右擊選擇點(diǎn)擊開(kāi)臺(tái)按鈕,打開(kāi)開(kāi)臺(tái)單,輸入相關(guān)信息后點(diǎn)擊保存按鈕,完成開(kāi)臺(tái)操作。</p><p> ?、?點(diǎn)菜順序圖如圖22所示。</p><p><b> 圖22 點(diǎn)菜順序圖</b></p><p> 如上圖所示,顧客提出點(diǎn)菜請(qǐng)求,若沒(méi)有顧客所要點(diǎn)的菜服務(wù)員則告知顧客,若有顧客點(diǎn)的菜則
65、點(diǎn)擊點(diǎn)菜菜單打開(kāi)點(diǎn)菜單,輸入相關(guān)信息,點(diǎn)擊保存按鈕,完成點(diǎn)菜操作。</p><p> ?、?結(jié)賬順序圖如圖23所示。</p><p><b> 圖23 結(jié)賬順序圖</b></p><p> 如上圖所示,顧客用餐完畢后提出結(jié)賬請(qǐng)求,服務(wù)員打開(kāi)消費(fèi)查詢單查詢顧客消費(fèi)信息反饋給顧客,顧客確認(rèn)結(jié)賬,服務(wù)員點(diǎn)擊結(jié)賬菜單打開(kāi)賬單,輸入收取金額后點(diǎn)擊結(jié)賬
66、按鈕,結(jié)束結(jié)賬操作。</p><p> ?、?基礎(chǔ)信息管理順序圖如圖24所示。</p><p> 圖24 基礎(chǔ)信息管理順序圖</p><p> 如上圖所示,管理員登錄后進(jìn)入主窗體界面,點(diǎn)擊基礎(chǔ)信息菜單,選擇點(diǎn)擊桌臺(tái)信息菜單/服務(wù)員信息菜單打開(kāi)桌臺(tái)信息界面/服務(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ù)菜單打開(kāi)權(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)菜單打開(kāi)口令設(shè)置界面/鎖定系統(tǒng)界面,分別進(jìn)行相關(guān)操作后分別點(diǎn)擊修改按鈕、解鎖按鈕結(jié)束操作。</p><p><b> 3.5 類(lèi)圖設(shè)計(jì)</b></p><p> 根據(jù)前
69、面建立的簡(jiǎn)要的概念模型對(duì)各個(gè)類(lèi)進(jìn)行職責(zé)分析,細(xì)化了各個(gè)類(lèi)的屬性,繪制出類(lèi)圖如圖27所示。</p><p><b> 圖27 類(lèi)圖</b></p><p> 如上圖所示,waiter類(lèi)具有的屬性包括:系統(tǒng)編號(hào)(ID)、服務(wù)員姓名(waitername)、身份證號(hào)碼(cardnum)、服務(wù)員編號(hào)(waiternum)、性別(sex)、年齡(age)和電話(tel);賬
70、單類(lèi)具有的屬性包括:系統(tǒng)編號(hào)(ID)、食品代號(hào)(foodnum)、食品名稱(foodname)、食品總價(jià)(foodallprice)和服務(wù)員姓名(waiter);菜系類(lèi)具有的屬性包括:系統(tǒng)編號(hào)(ID)、類(lèi)別編號(hào)(foodty)和食品類(lèi)別名稱(foodtype);菜單類(lèi)具有的屬性包括:系統(tǒng)編號(hào)(ID)、類(lèi)別編號(hào)(foodty)、食品代號(hào)(foodnum)、食品名稱(foodname)、食品價(jià)格(foodprice)和服務(wù)員姓名(waite
71、rname);桌臺(tái)信息類(lèi)具有的屬性包括:系統(tǒng)編號(hào)(ID)、桌臺(tái)名稱(roomname)、桌臺(tái)類(lèi)型(roomtype)、顧客姓名(guestname)、服務(wù)員姓名(waitername)、桌臺(tái)狀態(tài)(roomzt)和開(kāi)臺(tái)時(shí)間(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ù)庫(kù)中進(jìn)行查詢。使用SqlDataReader 對(duì)象的HasRows 屬性判斷登錄用戶名和密碼是否正確,可以通過(guò)以下代碼實(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> ?、?主窗體模塊中的桌臺(tái)顯示、實(shí)現(xiàn)右鍵彈出菜單、選擇菜單欄中的命令并打開(kāi)窗體及
76、打開(kāi)右鍵菜單中的命令技術(shù)</p><p> 桌臺(tái)顯示主要是通過(guò)ListView 控件實(shí)現(xiàn)的,系統(tǒng)首先從數(shù)據(jù)庫(kù)中檢索出</p><p> 每個(gè)桌臺(tái)的狀態(tài),然后根據(jù)不同的狀態(tài)通過(guò)ListView 控件的Items 屬性中的Add 方法向控件中添加項(xiàng)目集合,可以通過(guò)以下代碼實(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ù)庫(kù)</p><p>
78、; con.Open(); //打開(kāi)數(shù)據(jù)庫(kù)</p><p> string str = "select * from student where id= '"+strid+"'"; //建立SQL語(yǔ)句</p><p> SqlCommand com = new SqlCommand(str, con); //執(zhí)行SQL語(yǔ)句<
79、;/p><p> SqlDataReader dr = com.ExecuteReader(); //創(chuàng)建SqlDataReader對(duì)象</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); //添加項(xiàng)目&l
81、t;/p><p><b> }</b></p><p> dr.Close();</p><p> con.Close();</p><p><b> }</b></p><p> 另外,在桌臺(tái)顯示中使用ContextMenuStrip 控件實(shí)現(xiàn)右鍵彈出菜單,其實(shí)現(xiàn)方法
82、如下:</p><p> ?、?雙擊工具欄中的ContextMenuStrip 控件將其添加到Form 窗體中。</p><p> ?、?為ContextMenuStrip 控件添加菜單項(xiàng)。</p><p> ?、?設(shè)置控件或窗體的ContextMenu 屬性為contextMenuStrip1,運(yùn)行程序,在窗體或者控件上單擊鼠標(biāo)右鍵,將出現(xiàn)相應(yīng)的右鍵菜單。<
83、/p><p> 選擇主窗體模塊菜單欄中的命令,打開(kāi)窗體,以選擇“基礎(chǔ)信息”/“桌臺(tái)信息”為例,實(shí)現(xiàn)代碼如下:</p><p> private void 桌臺(tái)信息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> 選擇右鍵菜單中的命令并打開(kāi),以打開(kāi)“開(kāi)臺(tái)”命令為例,實(shí)現(xiàn)代碼如下:</p><p> private void 開(kāi)臺(tái)ToolStripM
85、enuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (lvDesk.SelectedItems.Count != 0) //判斷是否有選中項(xiàng)</p><p><b> {</b></p><p>
86、string names = lvDesk.SelectedItems[0].SubItems[0].Text; //獲取桌臺(tái)的名稱</p><p> frmOpen openroom = new frmOpen();</p><p> openroom.name = names; //將桌臺(tái)名稱賦值給公共變量name</p><p> openroom.Sh
87、owDialog(); //打開(kāi)“開(kāi)臺(tái)單”窗體</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> MessageBox.Show("請(qǐng)選擇桌臺(tái)"); //彈出提示
88、信息</p><p><b> }</b></p><p><b> }</b></p><p> ?、?開(kāi)臺(tái)模塊中的數(shù)據(jù)庫(kù)更新技術(shù)</p><p> 數(shù)據(jù)庫(kù)更新技術(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>]//指定條件來(lái)限定所更新的行</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)單擊某個(gè)菜系時(shí),右側(cè)將出現(xiàn)此菜系的所有詳細(xì)信息,用戶可以按展開(kāi)或折疊的方式顯示父節(jié)點(diǎn)或包含子節(jié)點(diǎn)的節(jié)點(diǎn)。再通過(guò)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(); //展開(kāi)控件</p><p><b> }</b></p><p> ?、?結(jié)賬模塊中的顯示消費(fèi)信息及計(jì)算消費(fèi)金額技術(shù)</p><p>
95、首先從數(shù)據(jù)庫(kù)中將顧客的消費(fèi)的所有項(xiàng)目顯示到DataGridView控件上,然后運(yùn)用要用SUM 聚合函數(shù)以桌臺(tái)名稱為搜索條件,查詢出消費(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)前桌臺(tái)-" + Rname;</p><p> SqlConnection conn = BaseClass.DBConn.CyCon(); //連接數(shù)據(jù)庫(kù)</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]; //綁定控件,顯示指定桌臺(tái)的所有消費(fèi)信息</p><p>
99、conn.Open(); //打開(kāi)連接</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)都開(kāi)發(fā)登錄模塊。只有通過(guò)登錄模塊,才能對(duì)登錄用戶進(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、?、?新建一個(gè)Windows窗體,命名為frmLogin.cs,主要用于實(shí)現(xiàn)系統(tǒng)的登錄功能。該窗體用到的主要控件如表16所示。</p><p> 表16登錄窗體用到的主要控件</p><p> ?、?由于本系統(tǒng)使用Microsoft SQL Server 2000作為后臺(tái)數(shù)據(jù)庫(kù),因此先要引用命名空間,以便在程序中操作數(shù)據(jù)庫(kù)。關(guān)鍵代碼如下:</p><p> us
103、ing System.Data.SqlClient</p><p> ⑶ 單擊“登錄”按鈕之后,登錄模塊首先判斷是否輸入了用戶名和密碼,如果沒(méi)有輸入用戶名和密碼將彈出提示框,提示用戶輸入登錄系統(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)功能菜單。第二部分是位于主窗體中間的桌臺(tái)顯示,主要是用于顯示餐廳中所有的桌臺(tái)情況,包括桌臺(tái)是否已使用、已使用桌臺(tái)的顧客人數(shù)等信息,方便了操作員對(duì)桌臺(tái)的管理。第三部分是位于主窗體模塊下端的狀態(tài)欄,主要用于顯示系統(tǒng)當(dāng)前狀態(tài)信息。在某個(gè)桌臺(tái)上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中操作員可以選擇“開(kāi)臺(tái)”、“取消開(kāi)臺(tái)”、
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> ?、?新建一個(gè)Windows 窗體,命名為frmMain.cs,主要用于實(shí)現(xiàn)系統(tǒng)的菜單欄、桌臺(tái)顯示和顯示系統(tǒng)狀態(tài)的功能
106、。該窗體用到的主要控件如表17所示。</p><p> 表17主窗體中用到的主要控件</p><p> ?、?首先創(chuàng)建4個(gè)公共變量,方便程序調(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> ?、?在窗體加載時(shí),首先判斷登錄用戶的權(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時(shí),說(shuō)明該用戶為
109、管理員</p><p> case "1": toolStripStatusLabel13.Text = "一般用戶";break;//權(quán)限為1時(shí),說(shuō)明該用戶是一般用戶</p><p><b> }</b></p><p> toolStripStatusLabel10.Text = Names;/
110、/在狀態(tài)欄中顯示登錄用戶的身份</p><p> toolStripStatusLabel16.Text = Times;//將登錄時(shí)間顯示在狀態(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ǔ)信息”/“桌臺(tái)信息”命令,打開(kāi)顯示所有桌臺(tái)信息的窗體,如圖30所示。</p><p> 圖30 顯示桌臺(tái)所有信息</p><p> 關(guān)鍵代碼如關(guān)鍵技術(shù)中選擇菜單欄中的命令打開(kāi)窗體的代碼所示。</p><p> ?、?選擇主窗體模塊菜單欄中的“基礎(chǔ)信息”/“職員信息”命令,打開(kāi)顯示所有職員信息的窗體,如圖31所示。</p><p&
113、gt;<b> 圖31 職員信息</b></p><p> 關(guān)鍵代碼如關(guān)鍵技術(shù)中選擇菜單欄中的命令打開(kāi)窗體的代碼所示。</p><p> ?、?選擇主窗體模塊菜單欄中的“系統(tǒng)維護(hù)”/“權(quán)限管理”命令,打開(kāi)管理用戶權(quán)限的窗體,如圖32所示;選擇“系統(tǒng)維護(hù)”/“系統(tǒng)備份”命令,打開(kāi)備份系統(tǒng)數(shù)據(jù)庫(kù)的窗體,如圖33所示;選擇“系統(tǒng)維護(hù)”/“系統(tǒng)恢復(fù)”命令,打開(kāi)恢復(fù)系統(tǒng)數(shù)據(jù)
114、庫(kù)的窗體,如圖34所示。</p><p><b> 圖32 權(quán)限管理</b></p><p><b> 圖33 備份數(shù)據(jù)庫(kù)</b></p><p><b> 圖34 恢復(fù)數(shù)據(jù)庫(kù)</b></p><p> 關(guān)鍵代碼如關(guān)鍵技術(shù)中選擇菜單欄中的命令打開(kāi)窗體的代碼所示。<
115、/p><p> ⑺ 選擇主窗體模塊菜單欄中的“系統(tǒng)設(shè)置”/“口令設(shè)置”命令,打開(kāi)修改用戶密碼的窗體,如圖35所示;選擇“系統(tǒng)設(shè)置”/“鎖定系統(tǒng)”命令,打開(kāi)鎖定當(dāng)前系統(tǒng)的窗體,如圖36所示。</p><p><b> 圖35 密碼修改</b></p><p> 圖36 鎖定系統(tǒng)界面</p><p> 關(guān)鍵代碼如關(guān)鍵技術(shù)
116、中選擇菜單欄中的命令打開(kāi)窗體的代碼所示。</p><p> ?、?當(dāng)操作員右擊某個(gè)桌臺(tái)時(shí),系統(tǒng)會(huì)根據(jù)該桌臺(tái)當(dāng)前的狀態(tài),彈出不同的右鍵菜單。實(shí)現(xiàn)方法如關(guān)鍵技術(shù)中的右鍵彈出菜單的實(shí)現(xiàn)方法。</p><p> ?、?當(dāng)在某個(gè)桌臺(tái)上右擊,在彈出的快捷菜單中可以選擇打開(kāi)“開(kāi)臺(tái)”、“點(diǎn)菜”、“消費(fèi)查詢”和“結(jié)賬”命令,關(guān)鍵代碼如關(guān)鍵技術(shù)中選擇右鍵菜單中的命令并打開(kāi)的代碼所示。</p>&
117、lt;p><b> 4.4 開(kāi)臺(tái)模塊</b></p><p> 當(dāng)顧客要進(jìn)行消費(fèi)時(shí),首先要看一下是否還有可用的桌臺(tái),如果還有空閑的桌臺(tái),那么就要為顧客開(kāi)臺(tái),只有在開(kāi)臺(tái)之后,才能為顧客點(diǎn)菜、查詢和結(jié)賬。開(kāi)臺(tái)模塊用于對(duì)指定的桌臺(tái)進(jìn)行開(kāi)臺(tái)操作,此功能是通過(guò)“開(kāi)臺(tái)單”窗體實(shí)現(xiàn)的。如圖37所示。</p><p><b> 圖37 開(kāi)臺(tái)單界面</b&g
118、t;</p><p> 本模塊使用的數(shù)據(jù)表:tb_Table、tb_Waiter,具體實(shí)現(xiàn)步驟如下:</p><p> ?、?新建一個(gè)Windows 窗體,命名為frmOpen.cs,主要用于實(shí)現(xiàn)對(duì)指定的桌臺(tái)進(jìn)行開(kāi)臺(tái)操作的功能。該窗體用到的主要控件如表18所示。</p><p> 表18開(kāi)臺(tái)單窗體用到的主要控件</p><p> ?、?首
119、先建立兩個(gè)公共變量以便程序中調(diào)用。關(guān)鍵代碼如下:</p><p> public string name;</p><p> public SqlConnection conn;</p><p> ⑶ 在窗體加載時(shí),將數(shù)據(jù)庫(kù)中所有的桌臺(tái)信息和職員信息檢索出來(lái)顯示在ComboBox控件上。關(guān)鍵代碼如關(guān)鍵技術(shù)中的顯示信息代碼所示。</p><p
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于.net的中小型餐飲企業(yè)服務(wù)管理系統(tǒng)的分析與設(shè)計(jì)【開(kāi)題報(bào)告】
- 基于.net的中小型餐飲企業(yè)服務(wù)管理系統(tǒng)的分析與設(shè)計(jì)【文獻(xiàn)綜述】
- 基于.net的中小型餐飲企業(yè)服務(wù)管理系統(tǒng)的分析與設(shè)計(jì)[畢業(yè)論文+開(kāi)題報(bào)告+文獻(xiàn)綜述+外文翻譯]
- 畢業(yè)論文(設(shè)計(jì))淺析中小型餐飲企業(yè)人力資源管理
- 中小型餐飲企業(yè)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于ssh的中小型餐飲企業(yè)的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文---中小型企業(yè)綜合管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 中小型企業(yè)倉(cāng)庫(kù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 《中小型企業(yè)倉(cāng)庫(kù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》畢業(yè)論文
- 我國(guó)中小型餐飲企業(yè)中客戶關(guān)系管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于.net的餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于.net的餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于.net的中小型能源管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 中小型餐飲企業(yè)中層管理者勝任力研究.pdf
- 中小型超市管理系統(tǒng)規(guī)劃畢業(yè)論文
- 中小型企業(yè)倉(cāng)庫(kù)信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)論文--某中小型紡織企業(yè)供電系統(tǒng)的設(shè)計(jì)
- 中小型酒店餐飲管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于.net的中小型圖書(shū)館管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 中小型餐飲消費(fèi)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論