畢業(yè)論文-基于.NET的餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
畢業(yè)論文-基于.NET的餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
畢業(yè)論文-基于.NET的餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
畢業(yè)論文-基于.NET的餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
畢業(yè)論文-基于.NET的餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、PAGE PAGE III畢業(yè)論文(設(shè)計(jì)) 題 目基于.NET的餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名 學(xué) 號(hào) 系 別 年 級(jí) 專 業(yè) 指導(dǎo)教師 職 稱 教授 完成日期 摘 要隨著信息技術(shù)在企業(yè)管理上越來(lái)越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,任何一個(gè)企業(yè)要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來(lái),就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。本文主要研究如何開發(fā)餐飲管理系統(tǒng),解釋了開發(fā)餐飲管理系統(tǒng)的必要性和重要性,系統(tǒng)的開發(fā)在.net平臺(tái)上進(jìn)行,結(jié)合后端的Sqlite數(shù)據(jù)庫(kù)技術(shù),用C#.net進(jìn)行編碼,開發(fā)出一個(gè)符合企業(yè)需要,比較實(shí)用的信息

2、管理系統(tǒng)。通過(guò)對(duì)計(jì)算機(jī)硬件和軟件解決方案的論證,對(duì)應(yīng)用領(lǐng)域進(jìn)行調(diào)查分析,參考許多資料,在指導(dǎo)老師的幫助下,詳細(xì)分析了企業(yè)管理系統(tǒng)的幾個(gè)主要設(shè)計(jì)階段:需求分析、概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),同時(shí)給出了系統(tǒng)實(shí)現(xiàn)的具體思想方案,并列舉了實(shí)際工程中的實(shí)例創(chuàng)建過(guò)程、方法和效果。該系統(tǒng)開發(fā)由系統(tǒng)需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、數(shù)據(jù)庫(kù)實(shí)施階段、系統(tǒng)調(diào)試和測(cè)試階段、參考文獻(xiàn)、附錄等階段組成。關(guān)鍵詞:餐飲管理現(xiàn)代化,人工管理,功能模塊,存儲(chǔ)過(guò)程目 錄 TOC o 1-3 h z u HYPERLINK l _Toc290809311 摘 要 PAGEREF _Toc290809311 h I HYPERLINK

3、 l _Toc290809312 1 緒論 PAGEREF _Toc290809312 h 1 HYPERLINK l _Toc290809313 1.1 課題的提出、現(xiàn)狀及研究意義 PAGEREF _Toc290809313 h 1 HYPERLINK l _Toc290809314 1.2 課題的研究?jī)?nèi)容 PAGEREF _Toc290809314 h 1 HYPERLINK l _Toc290809315 1.3 論文的章節(jié)安排 PAGEREF _Toc290809315 h 2 HYPERLINK l _Toc290809316 2 相關(guān)技術(shù)介紹 PAGEREF _Toc2908093

4、16 h 3 HYPERLINK l _Toc290809317 2.1 C# 簡(jiǎn)介 PAGEREF _Toc290809317 h 3 HYPERLINK l _Toc290809318 2.2 SQLITE簡(jiǎn)介 PAGEREF _Toc290809318 h 5 HYPERLINK l _Toc290809319 3 系統(tǒng)需求分析 PAGEREF _Toc290809319 h 7 HYPERLINK l _Toc290809320 3.1 系統(tǒng)需求分析 PAGEREF _Toc290809320 h 7 HYPERLINK l _Toc290809321 3.2 系統(tǒng)類圖 PAGEREF

5、 _Toc290809321 h 7 HYPERLINK l _Toc290809322 3.3 系統(tǒng)用例圖 PAGEREF _Toc290809322 h 7 HYPERLINK l _Toc290809323 4 系統(tǒng)設(shè)計(jì) PAGEREF _Toc290809323 h 9 HYPERLINK l _Toc290809324 4.1 系統(tǒng)總體結(jié)構(gòu) PAGEREF _Toc290809324 h 9 HYPERLINK l _Toc290809325 4.2 系統(tǒng)詳細(xì)設(shè)計(jì) PAGEREF _Toc290809325 h 9 HYPERLINK l _Toc290809326 4.2.1進(jìn)賬管

6、理模塊詳細(xì)設(shè)計(jì) PAGEREF _Toc290809326 h 9 HYPERLINK l _Toc290809327 4.2.2 員工管理模塊詳細(xì)設(shè)計(jì) PAGEREF _Toc290809327 h 10 HYPERLINK l _Toc290809328 4.3 數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc290809328 h 11 HYPERLINK l _Toc290809329 4.3.1 概念設(shè)計(jì) PAGEREF _Toc290809329 h 11 HYPERLINK l _Toc290809330 4.3.2 邏輯設(shè)計(jì) PAGEREF _Toc290809330 h 12 HYPER

7、LINK l _Toc290809331 5 系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc290809331 h 13 HYPERLINK l _Toc290809332 5.1 系統(tǒng)數(shù)據(jù)庫(kù)連接實(shí)現(xiàn) PAGEREF _Toc290809332 h 13 HYPERLINK l _Toc290809333 5.3 登錄模塊實(shí)現(xiàn) PAGEREF _Toc290809333 h 14 HYPERLINK l _Toc290809334 5.4 主窗體實(shí)現(xiàn) PAGEREF _Toc290809334 h 17 HYPERLINK l _Toc290809335 5.5.4 功能實(shí)現(xiàn)的補(bǔ)充說(shuō)明 PAGEREF _

8、Toc290809335 h 25 HYPERLINK l _Toc290809336 6 結(jié)束語(yǔ) PAGEREF _Toc290809336 h 26 HYPERLINK l _Toc290809337 6.1 主要 PAGEREF _Toc290809337 h 27 HYPERLINK l _Toc290809338 6.2 進(jìn)一步改進(jìn)的方向 PAGEREF _Toc290809338 h 27 HYPERLINK l _Toc290809339 參考文獻(xiàn) PAGEREF _Toc290809339 h 29 HYPERLINK l _Toc290809340 致 謝 PAGEREF _

9、Toc290809340 h 30基于.NET的餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)PAGE 281 緒論1.1 課題的提出、現(xiàn)狀及研究意義近年來(lái),隨著人民的生活水平的不斷提高,餐飲業(yè)的消費(fèi)持續(xù)增長(zhǎng),競(jìng)爭(zhēng)愈來(lái)愈激烈。然而,傳統(tǒng)餐飲企業(yè)的日常運(yùn)作還是靠人工管理,從原材料入庫(kù)到客人點(diǎn)單,再到結(jié)賬基本上由人工完成記錄,這樣做不僅耗費(fèi)人力資源而且容易導(dǎo)致記錄丟失或重復(fù)等錯(cuò)誤,造成管理水平低下。XX酒店作為傳統(tǒng)的餐飲企業(yè)也存在這些問(wèn)題,進(jìn)貨,庫(kù)存有人工管理,客人點(diǎn)單需服務(wù)員記錄并送至廚房,客人結(jié)賬由手工記錄,人力耗費(fèi)大,客人等待時(shí)間長(zhǎng),管理效率低下,這就迫切需要標(biāo)準(zhǔn)的、高效率的計(jì)算機(jī)管理方式引導(dǎo)其發(fā)展,通過(guò)計(jì)算機(jī)管理

10、該企業(yè)的日常運(yùn)作,給管理者以決策參考的模型,來(lái)不斷完善管理水平,提高工作效率。改革開放二十多年來(lái),我國(guó)餐飲業(yè)發(fā)展迅猛,日新月異,各種風(fēng)味特色,各種經(jīng)營(yíng)形式,各種組織結(jié)構(gòu)的餐飲企業(yè)星羅棋布,但“競(jìng)爭(zhēng)激烈,生意難作”也成了餐飲業(yè)的“流行脖。更新經(jīng)營(yíng)方式,拓展大眾市場(chǎng),建全餐飲業(yè)的“軟硬”件設(shè)施,發(fā)展餐飲信息渠道是我國(guó)餐飲業(yè)應(yīng)探索的主旋律。所以,社會(huì)化,科學(xué)化,集錦化21世紀(jì)的發(fā)展方向。當(dāng)今世界已進(jìn)入了在計(jì)算機(jī)信息管理領(lǐng)域中激烈競(jìng)爭(zhēng)的時(shí)代,應(yīng)用計(jì)算機(jī)已經(jīng)變得十分普遍了,如同我們離不開的自行車、汽車一樣。我們應(yīng)該承認(rèn),誰(shuí)掌握的知識(shí)多,信息量大,信息處理速度快,批量大,誰(shuí)的效率就高,誰(shuí)就能夠在各種競(jìng)爭(zhēng)中

11、立于不敗之地。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。越來(lái)越多的管理人員意識(shí)到信息管理的重要性。所以說(shuō)科學(xué)化是二十一世紀(jì)餐飲業(yè)的主流目前,國(guó)內(nèi)的餐飲管理系統(tǒng)幾種情況是:中國(guó)的軟件系統(tǒng)大多源自管理信息系統(tǒng)(MIS),從部門業(yè)務(wù)需求的角度出發(fā)設(shè)計(jì)。管理信息系統(tǒng)設(shè)計(jì)的初衷是服務(wù)于學(xué)校內(nèi)絕大多數(shù)的業(yè)務(wù)操作人員,將業(yè)務(wù)操作人員的重復(fù)性勞動(dòng)予以初場(chǎng)戶動(dòng)化,即從管理理論抽象出理想化的業(yè)務(wù)管理模式,在基于該業(yè)務(wù)模式的摹礎(chǔ)上實(shí)現(xiàn)低層次的數(shù)據(jù)處理或業(yè)務(wù)流程電子化。管理信息系統(tǒng)的設(shè)計(jì),是根據(jù)中小型學(xué)校業(yè)務(wù)單元的需求來(lái)編寫的,一般無(wú)

12、法滿足多體制、多元化、多董組織結(jié)構(gòu)的大型學(xué)校數(shù)據(jù)處理需求。與國(guó)外同類應(yīng)用系統(tǒng)及解決方案相比較,目前中國(guó)的管理軟件還有一些缺憾:第一,很多是從管理信息系統(tǒng)演變而來(lái),雖然目前國(guó)內(nèi)的管理軟件已將模塊功能擴(kuò)展至學(xué)校管理或人才資本管理相關(guān)的整個(gè)業(yè)務(wù)領(lǐng)域,但系統(tǒng)在整體性、前瞻性和集成性方面仍有欠缺。1.2 課題的研究?jī)?nèi)容本課題是設(shè)計(jì)一個(gè)基于.NET的餐飲管理系統(tǒng)。本系統(tǒng)屬于小型的餐飲管理系統(tǒng),可以有效地對(duì)中小型餐廳消費(fèi)進(jìn)行管理,本系統(tǒng)應(yīng)達(dá)到以下目標(biāo):系統(tǒng)采用人機(jī)交互的方式,界面美觀友好,信息查詢靈活、方便,數(shù)據(jù)存儲(chǔ)安全可靠。實(shí)現(xiàn)對(duì)餐廳顧客開臺(tái)、點(diǎn)菜/加菜、賬目查詢和結(jié)賬等操作。對(duì)用戶輸入的數(shù)據(jù),進(jìn)行嚴(yán)格的

13、數(shù)據(jù)檢驗(yàn),盡可能的避免人為錯(cuò)誤。實(shí)現(xiàn)對(duì)消費(fèi)賬目自動(dòng)結(jié)算。實(shí)現(xiàn)對(duì)消費(fèi)的歷史記錄進(jìn)行查詢,支持模糊查詢。系統(tǒng)應(yīng)最大限度地實(shí)現(xiàn)易維護(hù)性和易操作性。1.3 論文的章節(jié)安排整篇論文是基于.NET為背景,從.NET的知識(shí)、體系結(jié)構(gòu)等方面,介紹.NET的餐飲管理系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)現(xiàn)。具體章節(jié)安排如下:第一章緒論闡明了論文課題的提出及其意義,以及本課題研究?jī)?nèi)容。第二章主要介紹了研究本課題的涉及到的技術(shù)和個(gè)性技術(shù)的特征、功能和應(yīng)用領(lǐng)域。第三章介紹系統(tǒng)的需求分析,并重點(diǎn)分析了系統(tǒng)功能需求分析以及系統(tǒng)的UML圖等。第四章介紹系統(tǒng)設(shè)計(jì),并對(duì)系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)進(jìn)行的詳細(xì)分析。第五章進(jìn)行系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)的分析,包括部分界面分析和

14、部分代碼說(shuō)明。第六章是結(jié)束語(yǔ)??偨Y(jié)論文及設(shè)計(jì)所做的主要及取得的成果,并對(duì)系統(tǒng)和.NET下一步要做的進(jìn)行了分析。2 相關(guān)技術(shù)介紹2.1 CC#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺(tái)亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來(lái)與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語(yǔ)法和編譯成中間代碼再運(yùn)行的過(guò)程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NET windo

15、ws網(wǎng)絡(luò)框架的主角。 Visual Studio.NET從一開始就是為XML Web服務(wù)創(chuàng)建的開發(fā)環(huán)境。通過(guò)允許應(yīng)用程序通過(guò)Internet溝通和共享數(shù)據(jù),XML Web服務(wù)使業(yè)務(wù)能夠從Internet轉(zhuǎn)換為用于集成和傳送它們的核心商業(yè)價(jià)值的真正平臺(tái)。Visual Studio.NET和XML Web服務(wù)提供簡(jiǎn)單,靈活和基于標(biāo)準(zhǔn)的模型。允許開發(fā)人員從新的和現(xiàn)有的代碼匯編應(yīng)用程序,而與平臺(tái),編程語(yǔ)言或?qū)ο竽P蜔o(wú)關(guān)。而.NET Framework是一個(gè)新的開發(fā)平臺(tái),它為局域網(wǎng) (LAN) 和 Internet 上的分布式企業(yè)應(yīng)用提供了一致和有效的支持。 .NET Framework由兩個(gè)主要部分組

16、成:CLR(通用語(yǔ)言運(yùn)行時(shí), Common Language Runtime)和一組統(tǒng)一的類庫(kù),包括ASP.NET、ADO.NET、Windows Forms和其他能力。C# (C sharp) 是微軟對(duì)這一問(wèn)題的解決方案。C#是一種最新的、面向?qū)ο蟮木幊陶Z(yǔ)言。它使得程序員可以快速地編寫各種基于Microsoft .NET平臺(tái)的應(yīng)用程序,Microsoft .NET提供了一系列的工具和服務(wù)來(lái)最大程度地開發(fā)利用計(jì)算與通訊領(lǐng)域。正是由于C#面向?qū)ο蟮淖吭皆O(shè)計(jì),使它成為構(gòu)建各類組件的理想之選無(wú)論是高級(jí)的商業(yè)對(duì)象還是系統(tǒng)級(jí)的應(yīng)用程序。使用簡(jiǎn)單的C#語(yǔ)言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為XML 網(wǎng)絡(luò)服務(wù),從

17、而使它們可以由任何語(yǔ)言在任何操作系統(tǒng)上通過(guò)Internet進(jìn)行調(diào)用。.NET是 Microsoft XML .NET 平臺(tái)。XML .NET 允許應(yīng)用程序通過(guò) Internet 進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語(yǔ)言。Microsoft .NET 平臺(tái)提供創(chuàng)建 XML .NET 并將這些服務(wù)集成在一起之所需。C#是一個(gè)語(yǔ)言,.net是一個(gè)平臺(tái),上面支持用C#或者VBdotNet寫代碼。 另外,C#不但可以開發(fā)基于.net的應(yīng)用程序,也可以開發(fā)基于WinForm的程序,這就是區(qū)別。 若是單純以概念來(lái)說(shuō),你可以把.net當(dāng)做一個(gè)工作平臺(tái)一般,它是一個(gè)開發(fā)環(huán)境的基底,提供你

18、開發(fā)Windows、Web、Mobile、XML.等應(yīng)用程式一個(gè)共通的平臺(tái),若是要了解深一點(diǎn),則再去了解其運(yùn)作的相關(guān)機(jī)制那是有助于你利用它來(lái)開發(fā).C#和.NET主要是應(yīng)用在網(wǎng)際網(wǎng)路. C#(讀做C-sharp)編程語(yǔ)言是由微軟公司的Anders Hejlsberg和 Scott Willamette領(lǐng)導(dǎo)的開發(fā)小組專門為.NET平臺(tái)設(shè)計(jì)的語(yǔ)言,它可以使程序員移植到.NET上。這種移植對(duì)于廣大的程序員來(lái)說(shuō)是比較容易的,因?yàn)镃#從C,C+和Java發(fā)展而來(lái),它采用了這三種語(yǔ)言最優(yōu)秀的特點(diǎn),并加入了它自己的特性。C#是事件的驅(qū)動(dòng)的,完全面向?qū)ο蟮目梢暬幊陶Z(yǔ)言,我們可以使用集成開發(fā)環(huán)境來(lái)編寫C#程序。

19、使用IDE,程序員可以方便的建立,運(yùn)行,測(cè)試和調(diào)試C#程序,這就將開發(fā)一個(gè)可用程序的時(shí)間減少到不用IDE開發(fā)時(shí)所用時(shí)間的一小部分。使用IDE迅速建立一個(gè)應(yīng)用程序的過(guò)程稱為快速反映開發(fā)。 . NET 是 Microsoft 的 XML Web 服務(wù)平臺(tái)。不論操作系統(tǒng)或編程語(yǔ)言有何差別,XML Web 服務(wù)能使應(yīng)用程序在 Internet 上傳輸和共享數(shù)據(jù)。 Microsoft .NET 平臺(tái)包含廣泛的產(chǎn)品系列,它們都是基于 XML 和 Internet 行業(yè)標(biāo)準(zhǔn)構(gòu)建,提供從開發(fā)、管理、使用到體驗(yàn) XML Web 服務(wù)的每一方面。XML Web 服務(wù)將成為您今天正在使用的 Microsoft 的應(yīng)

20、用程序、工具和服務(wù)器的一部分 并且將要打造出全新的產(chǎn)品以滿足您所有業(yè)務(wù)需求。 更具體地說(shuō),Microsoft 正在五個(gè)方面創(chuàng)建 .NET 平臺(tái),即工具、服務(wù)器、XML Web 服務(wù)、客戶端和 .NET 體驗(yàn)。C#2.0新特性:1、 泛型:在我看來(lái),泛型就是通過(guò)將數(shù)據(jù)類型參數(shù)化從而實(shí)現(xiàn)了代碼的更為靈活的復(fù)用,泛型的出現(xiàn)使得C#能夠使用同一段代碼來(lái)操作多種數(shù)據(jù)類型。泛型無(wú)疑是C#2.0最重大的改進(jìn),它的出現(xiàn)賦予了C#代碼更強(qiáng)的類型安全,更好的復(fù)用,更高的效率和更清晰的約束。 2、 匿名方法:匿名方法允許我們將代碼直接與委托實(shí)例相關(guān)聯(lián),使委托實(shí)例化工作更加直觀和方便。在我看來(lái),這只是C#又多了一種語(yǔ)

21、法格式而已,不再像以前必須將方法名傳給委托實(shí)例,而是又多了一種選擇。 3、 迭代器:迭代器允許我們更加方便的編寫用于foreach語(yǔ)句的類型。在我看來(lái),迭代器的出現(xiàn)只不過(guò)是改進(jìn)了1.0中不便的可用foreach語(yǔ)句類型的編寫限制,簡(jiǎn)化了一些接口。 4、 局部類型:局部類型允許我們將一個(gè)類的代碼分別寫在不同的cs文件中。最典型的應(yīng)用就是使用VS2005創(chuàng)建Form文件時(shí),VS會(huì)自動(dòng)將系統(tǒng)生成的代碼與用戶代碼分開。局部類型通過(guò)partial關(guān)鍵字來(lái)聲明。 5、 空屬類型:空屬類型是一種像int,一樣可以為空的變量類型。本質(zhì)上是一種泛型的應(yīng)用,是System .Nullable的一種類型實(shí)例化。 6

22、、 靜態(tài)類:靜態(tài)類是只用于包含靜態(tài)成員的類型,它既不能實(shí)例化,亦不能被繼承。2.2 .SQL SERVER簡(jiǎn)介SQLite,是一款輕型的數(shù)據(jù)庫(kù),是遵守ACID的關(guān)系型 HYPERLINK /view/68446.htm t _blank 數(shù)據(jù)庫(kù)管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是 HYPERLINK /view/30741.htm t _blank 嵌入式的,而且目前已經(jīng)在很多 HYPERLINK /view/4085543.htm t _blank 嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在 HYPERLINK /view/2778983.htm t _blank 嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存

23、就夠了。它能夠支持Windows/Linux/Unix等等主流的 HYPERLINK /view/880.htm t _blank 操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的 HYPERLINK /view/68446.htm t _blank 數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)講,它的處理速度比他們都快。SQLite第一個(gè) HYPERLINK /view/707803.htm t _blank Alpha版本誕生于2000年5月。 至今已經(jīng)有13個(gè)年頭,SQLite也迎來(lái)了一個(gè)版本 SQLite

24、 3已經(jīng)發(fā)布。Sqlite 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。同時(shí)它還支持 HYPERLINK /view/709594.htm t _blank 事務(wù)處理功能等等。也有人說(shuō)它象Microsoft的Access,有時(shí)候真的覺得有點(diǎn)象,但是事實(shí)上它們區(qū)別很大。比如SQLite 支持跨平臺(tái),操作簡(jiǎn)單,能夠使用很多語(yǔ)言直接創(chuàng)建數(shù)據(jù)庫(kù),而不象Access一樣需要Office的支持。如果是個(gè)很小型的應(yīng)用,或者想做 HYPERLINK /view/55.htm t _blank 嵌入式開發(fā),沒有合適的 HYPERLINK /view/7809.htm t _blank 數(shù)據(jù)庫(kù)系統(tǒng),那么都可以考慮使用

25、SQLite。3 系統(tǒng)需求分析3.1 系統(tǒng)需求分析作為餐飲管理系統(tǒng),首先需要具有餐飲管理員可以運(yùn)用系統(tǒng)來(lái)進(jìn)行登記的功能。在進(jìn)行登記后,餐飲管理員就可以登錄了,在登錄以后可以對(duì)現(xiàn)有的信息的查看、修改等。由于餐飲管理系統(tǒng)是信息管理系統(tǒng),利用計(jì)算機(jī)網(wǎng)絡(luò)的巨大潛在力量、數(shù)據(jù)信息的理念,從而減少人、物及財(cái)?shù)确矫嫔系南?,完成合理的資源分配。其開發(fā)的功能主要包括:本課題是設(shè)計(jì)一個(gè)基于.NET的餐飲管理系統(tǒng)。確的餐飲管理依據(jù)與輔助決策數(shù)據(jù)。3.2 系統(tǒng)類圖4 系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)總體結(jié)構(gòu)根據(jù)以上對(duì)餐飲管理系統(tǒng)的功能需求分析?,F(xiàn)對(duì)餐飲管理系統(tǒng)分析。 4.2 系統(tǒng)詳細(xì)設(shè)計(jì)不管是管理員還是普通餐飲管理員登錄系統(tǒng)都

26、要進(jìn)行正確的判斷后,才能登入到系統(tǒng),登錄活動(dòng)圖如圖4-2所示:圖4-2 系統(tǒng)登錄活動(dòng)圖4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)4.3.1 概念設(shè)計(jì)5 系統(tǒng)實(shí)現(xiàn)5.1 系統(tǒng)數(shù)據(jù)庫(kù)連接實(shí)現(xiàn)在系統(tǒng)開發(fā)過(guò)程中,采用三層架構(gòu)模式開發(fā),因?yàn)橐嗵幧婕暗綄?duì)數(shù)據(jù)庫(kù)的連接,如果這些連接都在各個(gè)C#.NET程序中去實(shí)現(xiàn),那樣將會(huì)非常繁瑣,代碼重復(fù)量比較大,因此,為了簡(jiǎn)化這些連接操作,在開發(fā)時(shí)設(shè)計(jì)了一個(gè)可重用的類SQLiteHelper.cs,把對(duì)數(shù)據(jù)庫(kù)的操作都封裝在在這個(gè)類中,需要用到時(shí)生成對(duì)象調(diào)用便可,其流程圖如圖5-1所示。其中SQLiteHelper.cs文件的主要代碼由如下所示:using System;using Syste

27、m.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SQLite;using System.Configuration;namespace Catering.DAL public class SQLiteHelper private static readonly string str = ConfigurationManager.ConnectionStringsconStr.ConnectionString; / / 此方法用來(lái)做增刪改 / / sql語(yǔ)句

28、 / 參數(shù)數(shù)組 / 返回受影響的行數(shù) public static int ExecuteNonQuery(string sql, params SQLiteParameter param) /創(chuàng)建連接字符串 using (SQLiteConnection con = new SQLiteConnection(str) /創(chuàng)建執(zhí)行sql語(yǔ)句對(duì)象 using (SQLiteCommand cmd = new SQLiteCommand(sql, con) con.Open();/打開數(shù)據(jù)庫(kù) cmd.Parameters.AddRange(param);/添加參數(shù)列表 return cmd.Exec

29、uteNonQuery();/執(zhí)行命令 / / 此方法用來(lái)返回首行首列 / / sql語(yǔ)句 / 參數(shù)數(shù)組 / 返回值為object類型 public static object ExecuteScalar(string sql, params SQLiteParameter param) using (SQLiteConnection con = new SQLiteConnection(str) using (SQLiteCommand cmd = new SQLiteCommand(sql, con) con.Open(); cmd.Parameters.AddRange(param);

30、return cmd.ExecuteScalar(); / / 此方法用來(lái)返回每一行數(shù)據(jù) / / sql語(yǔ)句 / 參數(shù)可變數(shù)組 / 返回值為SQLiteDataReader類型 public static SQLiteDataReader ExecuteReader(string sql, params SQLiteParameter param) SQLiteConnection con = new SQLiteConnection(str); using (SQLiteCommand cmd = new SQLiteCommand(sql, con) cmd.Parameters.AddR

31、ange(param); try con.Open(); return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); catch (Exception ex) con.Close(); con.Dispose(); throw ex; / / 此方法用來(lái)返回整個(gè)表 / / sql語(yǔ)句 / 返回值為Datable類型 public static DataTable ExecuteDateTable(string sql, params SQLiteParameter param) DataTable dt = ne

32、w DataTable(); using (SQLiteConnection con = new SQLiteConnection(str) using (SQLiteCommand cmd = new SQLiteCommand(sql, con) cmd.Parameters.AddRange(param); using (SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd) /sda.SelectCommand.Parameters.AddRange(param); sda.Fill(dt); return dt; 5.3 登錄模塊實(shí)現(xiàn)us

33、ing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Catering.Model;using Catering.BLL;namespace Catering public partial class FrmLogin : Form public FrmLogin() InitializeCo

34、mponent(); private void btnLogin_Click(object sender, EventArgs e) /帳號(hào)和密碼不為空 /帳號(hào) 和密碼 類型 string name = txtLoginName.Text.Trim(); /帳號(hào) string pwd = txtPwd.Text.Trim();/密碼 string msg;/要顯示的信息 UserInfo per;/對(duì)象 if (CheckInput(name, pwd)/調(diào)方法判斷帳號(hào)和密碼是否為空 UserInfoBLL bll = new UserInfoBLL(); /調(diào)用bll方法驗(yàn)證帳號(hào)和密碼是否正

35、確 if (bll.IsLogin(name, pwd, out msg, out per) /如果登錄成功則在消息窗口顯現(xiàn)登錄成功的狀態(tài)并且等待一分鐘后顯示主窗體 msgDiv1.MsgDivShow(msg, 1, Bind); else msgDiv1.MsgDivShow(msg, 1); void Bind() this.DialogResult = System.Windows.Forms.DialogResult.OK;/登錄成功后設(shè)置當(dāng)前登錄窗口的返回值狀態(tài) /方法驗(yàn)證登錄時(shí)的帳號(hào)和密碼是否為空 private bool CheckInput(string name, stri

36、ng pwd) if (string.IsNullOrEmpty(name) msgDiv1.MsgDivShow(帳號(hào)不能為空, 1); return false; if (string.IsNullOrEmpty(pwd) msgDiv1.MsgDivShow(密碼不能為空, 1); return false; return true; 登錄界面如圖:5.4 主窗體實(shí)現(xiàn)主窗體主要由以下代碼來(lái)實(shí)現(xiàn):using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using

37、System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Catering.BLL;using Catering.Model;namespace Catering public partial class FrmMain : Form public FrmMain() InitializeComponent(); / / 獲取所有的包間類型 / / 未刪除的標(biāo)識(shí) 0 刪除標(biāo)識(shí)是1 private void LoadRoomByDelFlag(int delFlag) RoomInfoB

38、LL roomBll = new RoomInfoBLL(); List list = roomBll.GetAllRoomByDelFlag(delFlag); for (int i =list.Count-1 ; i =0 ; i-) TabPage tp= new TabPage(); tp.Tag = listi;/每個(gè)對(duì)象綁定到該控件的tag屬性中 tp.Text = listi.RoomName; /并且為該控件 ListView lv = new ListView(); /設(shè)置ListView控件顯示樣式- lv.Dock = DockStyle.Fill; lv.LargeIm

39、ageList = imageList1; lv.View = View.LargeIcon; lv.BackColor = Color.White; lv.ItemSelectionChanged += new ListViewItemSelectionChangedEventHandler(Listview_ItemSelectionChanged);/為每個(gè)listview控件注冊(cè)一個(gè)選項(xiàng)值改變的事件 /為TblPage控件添加ListView控件 tp.Controls.Add(lv); /為tclInfo控件添加TabPate控件 tclInfo.TabPages.Add(tp);

40、/顯示當(dāng)前餐桌的點(diǎn)菜內(nèi)容 void Listview_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) if (e.IsSelected) DeskInfo desk= e.Item.Tag as DeskInfo; ROrderDeskBLL rdBll = new ROrderDeskBLL(); int orderId = rdBll.GetOrderIdByDeskId(desk.DeskId);/餐桌編號(hào) ROrderInfoProductBLL bllORderProduct =

41、 new ROrderInfoProductBLL(); List list = bllORderProduct.GetProductOrderInfo(orderId); dgvPro.AutoGenerateColumns = false;/禁止自動(dòng)添加列 dgvPro.DataSource = list;/加載菜單 private void LoadDeskByRoomIdDelFlag(TabPage tp, int delFlag) RoomInfo room = tp.Tag as RoomInfo; ListView lv= tp.Controls0 as ListView; l

42、v.Clear();/清空 /根據(jù)包間的id和刪除標(biāo)識(shí),查詢?cè)摪g所有的餐桌 DeskInfoBLL dkBll = new DeskInfoBLL(); List list = dkBll.GetAllDeskByRoomIdAndDelFlag(room.RoomId,delFlag); for (int i = 0; i list.Count; i+) if (listi.DeskState=0)/判斷餐桌的狀態(tài)是0 lv.Items.Add(listi.DeskName, 0); else if (listi.DeskState = 1)/判斷餐桌的狀態(tài)是1 lv.Items.Add(

43、listi.DeskName, 1); else if (listi.DeskState=2)/判斷餐桌的狀態(tài)是2 lv.Items.Add(listi.DeskName, 2); lv.Itemsi.Tag = listi; public event EventHandler evt; public event EventHandler evtFrmMoney; public event EventHandler evtBalance; private void FrmMain_Load(object sender, EventArgs e) /窗體加載的時(shí)候第一個(gè)問(wèn)題就是去數(shù)據(jù)庫(kù)中查詢所有

44、的房間類型,根據(jù)房間類型動(dòng)態(tài)加載TblPage控件, LoadRoomByDelFlag(0);/此方法在上面 /獲取房間的類型 TabPage tb = tclInfo.TabPages0; /根據(jù)房間類型的編號(hào)獲取該房間內(nèi)所有的餐桌編號(hào) LoadDeskByRoomIdDelFlag(tb,0); tclInfo.SelectedIndexChanged += new EventHandler(tclInfo_SelectedIndexChanged); /窗體關(guān)閉刷新數(shù)據(jù) void Frm_Closing(object sender, FormClosingEventArgs e) /

45、lv.Items.Clear(); TabPage tp= tclInfo.SelectedTab; LoadDeskByRoomIdDelFlag(tp,0); / / TabControl控件的選中項(xiàng)值改變事件 / void tclInfo_SelectedIndexChanged(object sender, EventArgs e) /選項(xiàng)內(nèi)容更改時(shí)候發(fā)生 / TabControl tbInfo = sender as TabControl;/ TabPage tp= tclInfo.TabPagestclInfo.SelectedIndex; /ListView lv = tp.Co

46、ntrols0 as ListView; /lv.Items.Clear(); LoadDeskByRoomIdDelFlag(tp, 0); /會(huì)員管理 private void tsslBtnMember1_Click(object sender, EventArgs e) /顯示會(huì)員窗口 FrmMember frmMember = new FrmMember(); frmMember.ShowDialog(); /商品管理 private void tsslBtnCommodity1_Click(object sender, EventArgs e) FrmCommodity fcd =

47、 new FrmCommodity(); fcd.ShowDialog(); /房間管理 private void tsslBtnRoom1_Click(object sender, EventArgs e) FrmRoom fr = new FrmRoom(); fr.ShowDialog(); /顧客開單 private void tsslBtnBilling1_Click(object sender, EventArgs e) TabPage tp = tclInfo.SelectedTab; ListView lv = tp.Controls0 as ListView; if (lv.

48、SelectedItems.Count 0) ListViewItem lvItem = lv.SelectedItems0;/獲取當(dāng)前選中項(xiàng) DeskInfo desk = lvItem.Tag as DeskInfo;/獲取tag屬性中的餐桌對(duì)象 if (desk.DeskState = 0)/餐桌狀態(tài)有0-空閑-1-開單-2-開桌 FrmBilling fb = new FrmBilling(); this.evt += new EventHandler(fb.SetValues); fb.FormClosing += new FormClosingEventHandler(Frm_Cl

49、osing); if (this.evt != null) FrmEventArgs fea = new FrmEventArgs(); fea.Name = tp.Text; fea.Obj = desk;/lvItem; fea.Money = (tp.Tag as RoomInfo).RoomMinimunConsume.ToString(); this.evt(this, fea); fb.ShowDialog(); / this.FBilling.ShowDialog();/顯示開單窗體 else MessageBox.Show(請(qǐng)選擇為開桌或者未開單的餐桌); else Messa

50、geBox.Show(請(qǐng)選擇餐桌); /增加消費(fèi) private void tsslBtnConsumption1_Click(object sender, EventArgs e) TabPage tp = tclInfo.SelectedTab; ListView lv = tp.Controls0 as ListView; if (lv.SelectedItems.Count 0) ListViewItem lvItem = lv.SelectedItems0;/獲取當(dāng)前選中項(xiàng) DeskInfo desk = lvItem.Tag as DeskInfo;/獲取tag屬性中的餐桌對(duì)象 i

51、f (desk.DeskState = 1)/餐桌狀態(tài)有0-空閑-1-開單-2-開桌 FrmAddMoney fam = new FrmAddMoney(); this.evtFrmMoney += new EventHandler(fam.SetValues); fam.FormClosing += new FormClosingEventHandler(Frm_Closing); if (this.evtFrmMoney != null) FrmEventArgs fea = new FrmEventArgs(); fea.Obj = desk; this.evtFrmMoney(this

52、, fea); fam.ShowDialog(); /this.FAM.ShowDialog(); else MessageBox.Show(請(qǐng)選擇開單或者開桌的餐桌); else MessageBox.Show(請(qǐng)選擇餐桌); /結(jié)賬 private void tsslBtnCheckOut1_Click(object sender, EventArgs e) TabPage tp = tclInfo.SelectedTab; ListView lv = tp.Controls0 as ListView; if (lv.SelectedItems.Count 0)/大于0證明有選中的項(xiàng) Li

53、stViewItem lvItem = lv.SelectedItems0;/獲取當(dāng)前選中項(xiàng) DeskInfo desk = lvItem.Tag as DeskInfo;/獲取tag屬性中的餐桌對(duì)象 if (desk.DeskState = 1)/餐桌狀態(tài)有0-空閑-1-開單-2-開桌 FrmBalance fal = new FrmBalance(); this.evtBalance += new EventHandler(fal.SetValues); fal.FormClosing += new FormClosingEventHandler(Frm_Closing); if (thi

54、s.evtBalance != null) FrmEventArgs fea = new FrmEventArgs(); fea.Obj = desk; this.evtBalance(this, fea); fal.ShowDialog(); else MessageBox.Show(請(qǐng)選擇開單的餐桌); else MessageBox.Show(請(qǐng)選擇餐桌); 主窗體界面如圖:5.5.4 功能實(shí)現(xiàn)的補(bǔ)充說(shuō)明該模塊是主要是對(duì)該系統(tǒng)的功能實(shí)現(xiàn)做補(bǔ)充。主要由以下功能圖5-17,詳細(xì)見系統(tǒng)源碼:6 結(jié)束語(yǔ)經(jīng)過(guò)這次開發(fā)基于.NET的餐飲管理系統(tǒng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的畢業(yè)設(shè)計(jì),使我對(duì).NET有較深的認(rèn)識(shí)及

55、體會(huì)。在本開發(fā)系統(tǒng)時(shí),由于是本人初次接觸有關(guān).NET領(lǐng)域;在知識(shí)、經(jīng)驗(yàn)方面都存在著太多的不足。另外,在開發(fā)的整個(gè)過(guò)程中,時(shí)間也較倉(cāng)促。因此,該系統(tǒng)必然會(huì)存在很多不足。因?yàn)閷?duì)整個(gè)學(xué)校的管理模式不夠了解及對(duì)整個(gè)系統(tǒng)的流程不夠熟悉,在需求分析階段用戶的需求未能做到完全滿足,如系統(tǒng)還沒做到請(qǐng)假信息的管理,不能從考核信息中得出考核工資等等。在系統(tǒng)功能上,還有部分問(wèn)題是我還沒有考慮到的,所以本系統(tǒng)還有繼續(xù)開發(fā)一定空間。不過(guò),我覺得學(xué)習(xí)一種新的技術(shù)能學(xué)習(xí)到運(yùn)用此技術(shù)開發(fā)出一個(gè)有意義的系統(tǒng)是不容易的,這同時(shí)也使我增強(qiáng)對(duì)知識(shí)的渴望和追求的欲望。在整個(gè)軟件的設(shè)計(jì)開發(fā)過(guò)程中真實(shí)感受到設(shè)計(jì)開發(fā)的長(zhǎng)期和艱辛,同時(shí)也獲得設(shè)計(jì)開發(fā)的經(jīng)驗(yàn)和感受,首先就是始終要有對(duì)項(xiàng)目開發(fā)的興趣、愛好、激情和積極追求的思維;其

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論