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

下載本文檔

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

文檔簡介

1、高職畢業(yè)論文題目: 餐飲管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué) 院: 計(jì)算機(jī)科學(xué)與技術(shù)專 業(yè):計(jì)算機(jī)應(yīng)用技術(shù)學(xué) 號(hào):200812388104學(xué)生姓名: 訚 新 俊指導(dǎo)教師: 李 順 新日 期: 2011年6月1日武漢科技大學(xué)高職生畢業(yè)論文 摘 要隨著社會(huì)的進(jìn)步,人民生活水平的不斷提高,餐飲業(yè)的消費(fèi)持續(xù)增長,競(jìng)爭愈來愈激烈。然而,傳統(tǒng)餐飲企業(yè)的日常運(yùn)作還是靠人工管理,從客人點(diǎn)單,再到結(jié)賬基本上由人工完成記錄,這樣做不僅耗費(fèi)人力資源而且容易導(dǎo)致記錄丟失或重復(fù)等錯(cuò)誤,造成管理水平低下。現(xiàn)在的餐飲行業(yè)正向著規(guī)?;?,集團(tuán)化方向發(fā)展,傳統(tǒng)的經(jīng)營管理模式已經(jīng)不能適應(yīng)這種發(fā)展勢(shì)趨。這就迫切需要標(biāo)準(zhǔn)的、高效率的計(jì)算機(jī)管理方式引

2、導(dǎo)其發(fā)展,通過計(jì)算機(jī)管理日常運(yùn)作,來不斷完善管理水平,提高工作效率。餐飲管理系統(tǒng)就是專門為餐飲業(yè)量身定制的軟件。適用于各種規(guī)模的餐飲娛樂企業(yè),如:餐廳、酒樓、咖啡屋、快餐店、酒吧、桑拿、夜總會(huì)、歌舞廳等。操作界面簡潔、直觀,非常容易上手;支持純鍵盤和純鼠標(biāo)兩種操作方式,點(diǎn)菜、結(jié)賬、收銀可在最短時(shí)間內(nèi)飛速完成。系統(tǒng)包括日常運(yùn)營、運(yùn)營設(shè)置、查詢統(tǒng)計(jì),系統(tǒng)設(shè)置、系統(tǒng)維護(hù)、幫助信息等幾大模塊,各大模塊下又各自包含若干子模塊,是餐飲娛樂企業(yè)進(jìn)行現(xiàn)代化信息管理的最佳選擇。全動(dòng)態(tài)的系統(tǒng)設(shè)置:酒菜類別、出品方式、消費(fèi)方式、付款方式、酒菜要求、折扣、特價(jià)、套餐、等等均可實(shí)現(xiàn)按用戶需要進(jìn)行動(dòng)態(tài)設(shè)置。作為計(jì)算機(jī)應(yīng)用

3、的一部分,使用計(jì)算機(jī)對(duì)餐飲企業(yè)信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高信息管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理與世界接軌的重要條件。關(guān)鍵詞:餐飲管理系統(tǒng);sql2000;vs2008AbstractAlong with the progress of the society, people's living level unceasing enhancement, the restaurant industry consumption growth, increasingly fie

4、rce competition. However, the daily operation of traditional catering enterprises or on artificially management, order from the guest, again to check by artificially complete records, basically do not only the human cost resources and easy to cause the records lost or repeat mistake, causing managem

5、ent level is low. Now of the catering industry is toward scale, collectivize direction, the traditional management pattern already can not adapt to the development potential of fashion. This is urgent needs standards, efficient management style guide the development of computer, through the computer

6、 management daily operation, to constantly perfect management level, and improve work efficiency. Catering management system is tailored specifically for catering software. Applicable to various sizes of catering and entertainment enterprise, such as: restaurant, restaurants, cafes, fast-food restau

7、rants and bars, sauna, nightclub, singing and dancing hall, etc. Operation interface is simple, intuitive and very easy to use; Support pure keyboard and pure mouse two operating mode, order and checkout, cashier can in the shortest possible time rapid completed. System including the daily operation

8、s, operating setting, inquires the statistics, the system Settings, system maintenance and help information and so on several big modules, each big module again under their respective contain several son module, entertainment enterprise is the best choice for modern information management. Fully dyn

9、amic system Settings: product categories, the waiters way, consumption mode, payment, waiters, requirements, discounts, specials, package, etc according to user's requirements can be realized dynamic Settings.As a part of computer application, use the computer to catering enterprises information

10、 management, has the advantages of crafts incomparable. For example: retrieves, the search rapidly convenient, the reliability high, thereserves big, the secrecy good, the life is long, low cost. These merits can enormously enhance the information management efficiency, also is enterprise's scie

11、ntific and standardization management connecting with the world the important condition.Key words:Restaurant Management System;Sql2000;vs2008目 錄1 概述11.1 .NET技術(shù)的發(fā)展11.2 C#語言的介紹11.3 課題的提出41.3.1 項(xiàng)目背景41.3.2 系統(tǒng)目的41.3.3 系統(tǒng)功能82 系統(tǒng)設(shè)計(jì)的關(guān)鍵技術(shù)52.1 系統(tǒng)的開發(fā)環(huán)境52.2 數(shù)據(jù)庫技術(shù)83 餐飲管理系統(tǒng)的實(shí)現(xiàn)與代碼分析93.1 系統(tǒng)的設(shè)計(jì)思路93.2 系統(tǒng)制作步驟93.3 代碼細(xì)節(jié)

12、分析104 餐飲管理系統(tǒng)的測(cè)試294.1 系統(tǒng)測(cè)試目的294.2 系統(tǒng)測(cè)試環(huán)境304.3 系統(tǒng)質(zhì)量特性315 餐飲管理系統(tǒng)運(yùn)行示例316 總結(jié)37參考文獻(xiàn)38致 謝39III1 概述1.1 .NET技術(shù)的發(fā)展.NET框架是一種新的計(jì)算平臺(tái),它簡化了在高度分布式Internet環(huán)境中的應(yīng)用程序開發(fā)。.NET框架旨在實(shí)現(xiàn)下列目標(biāo):提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對(duì)象代碼是在本地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在Internet上分布,或者是在遠(yuǎn)程執(zhí)行的。提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。提供一個(gè)保證代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)安全執(zhí)行的代碼執(zhí)行環(huán)境。

13、提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。使開發(fā)人員的經(jīng)驗(yàn)在面對(duì)類型大不相同的應(yīng)用程序(如基于Windows的應(yīng)用程序和基于Web的應(yīng)用程序)時(shí)保持一致。按照工業(yè)標(biāo)準(zhǔn)生成所有通訊,以確?;?NET框架的代碼可與任何其他代碼集成。.NET框架具有兩個(gè)主要組件:公共語言運(yùn)行庫和.NET框架類庫。公共語言運(yùn)行庫是.NET框架的基礎(chǔ)。您可以將運(yùn)行庫看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,它提供核心服務(wù)(如內(nèi)存管理、線程管理和遠(yuǎn)程處理),而且還強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可確保安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫的基本原則。以運(yùn)行庫為目標(biāo)的代碼稱為托管代碼,而不以

14、運(yùn)行庫為目標(biāo)的代碼稱為非托管代碼。.NET框架的另一個(gè)主要組件是類庫,它是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙愋图希梢允褂盟_發(fā)包含從傳統(tǒng)的命令行或圖形用戶界面(GUI)應(yīng)用程序到基于ASP.NET所提供的最新創(chuàng)新的應(yīng)用程序(如Web窗體和XML Web services)在內(nèi)的應(yīng)用程序。.NET框架可由非托管組件承載,這些組件將公共語言運(yùn)行庫加載到它們的進(jìn)程中并啟動(dòng)托管代碼的執(zhí)行,從而創(chuàng)建一個(gè)可以同時(shí)利用托管和非托管功能的軟件環(huán)境。.NET框架不但提供若干個(gè)運(yùn)行庫宿主,而且還支持第三方運(yùn)行庫宿主的開發(fā)。1.2C#語言的介紹C#語言是從C和C+語言演化而來的,是一種簡單、現(xiàn)代、面向?qū)ο笄翌愋桶?/p>

15、全的編程語言。C#具備了C+固有的強(qiáng)大能力,同時(shí)也吸收了Java和Delphi等語言的特點(diǎn)和精華,是目前進(jìn)行.NET開發(fā)的首選語言。C# (C sharp) 是微軟對(duì)這一問題的解決方案。C#是一種最新的、面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于Microsoft .NET平臺(tái)的應(yīng)用程序,Microsoft .NET提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計(jì)算與通訊領(lǐng)域。 正是由于C#面向?qū)ο蟮淖吭皆O(shè)計(jì),使它成為構(gòu)建各類組件的理想之選無論是高級(jí)的商業(yè)對(duì)象還是系統(tǒng)級(jí)的應(yīng)用程序。使用簡單的C#語言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為XML 網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語言在任何操作系統(tǒng)

16、上通過Internet進(jìn)行調(diào)用。 最重要的是,C#使得C+程序員可以高效的開發(fā)程序,而絕不損失C/C+原有的強(qiáng)大的功能。因?yàn)檫@種繼承關(guān)系,C#與C/C+具有極大的相似性,熟悉類似語言的開發(fā)者可以很快的轉(zhuǎn)向C#。C#語言技術(shù)的優(yōu)點(diǎn):效率與安全性。新興的網(wǎng)絡(luò)經(jīng)濟(jì)迫使商務(wù)企業(yè)必須更加迅速的應(yīng)對(duì)競(jìng)爭的威脅。開發(fā)者必須不斷縮短開發(fā)周期,不斷推出應(yīng)用程序的新版本,而不僅僅是開發(fā)一個(gè)“標(biāo)志性”的版本。C#在設(shè)計(jì)時(shí)就考慮了這些問題。它使開發(fā)者用更少的代碼做更多的事,同時(shí)也不易出錯(cuò)。 支持現(xiàn)有的網(wǎng)絡(luò)編程新標(biāo)準(zhǔn)。新的應(yīng)用程序開發(fā)模型意味著越來越多地解決方案依賴于新出現(xiàn)的網(wǎng)絡(luò)標(biāo)準(zhǔn),例如HTML,XML,SOAP等。

17、現(xiàn)存的開發(fā)工具往往都是早于Internet出現(xiàn)的,或者是在我們所熟知的網(wǎng)絡(luò)還處于孕育期時(shí)出現(xiàn)的。所以,它們一般無法很好地支持最新的網(wǎng)絡(luò)技術(shù)。C#程序員可以在Microsoft .NET平臺(tái)上事半功倍的構(gòu)建應(yīng)用程序的擴(kuò)展框架。C#包含了內(nèi)置的特性,使任何組件可以輕松轉(zhuǎn)化為XML網(wǎng)絡(luò)服務(wù),通過Internet被任何操作系統(tǒng)上運(yùn)行的任何程序調(diào)用。更突出的是,XML網(wǎng)絡(luò)服務(wù)框架可以使現(xiàn)有的XML網(wǎng)絡(luò)服務(wù)對(duì)程序員來說就和C#對(duì)象一樣。這樣,程序員就可以方便地使用他們已有的面向?qū)ο蟮木幊碳记蓙黹_發(fā)利用現(xiàn)有的XML網(wǎng)絡(luò)服務(wù)。 還有一些精細(xì)的特性,使得C#成為一流的網(wǎng)絡(luò)編程工具。例如,XML正逐漸成為在網(wǎng)絡(luò)上

18、傳輸結(jié)構(gòu)化數(shù)據(jù)的標(biāo)準(zhǔn)。這種數(shù)據(jù)集合往往非常小。為提高性能,C#允許把XML數(shù)據(jù)直接映射到struct數(shù)據(jù)類型,而不是class這樣對(duì)處理少量的數(shù)據(jù)非常有效。 消除大量程序錯(cuò)誤。即使是專家級(jí)的C+程序員也常會(huì)犯一些最簡單的小錯(cuò)誤比如忘了初始化變量,但往往就是這些小錯(cuò)誤帶來了難以預(yù)料的問題,有些甚至需要很長時(shí)間來尋找和解決。一旦一個(gè)程序作為產(chǎn)品來使用,就算最簡單的錯(cuò)誤糾正起來也可能要付出極其昂貴的代價(jià)。 C#的現(xiàn)代化設(shè)計(jì)能夠消除很多常見的C+編程錯(cuò)誤。 例如: 1. 資源回收減輕了程序員內(nèi)存管理的負(fù)擔(dān)。 2. C#中變量由環(huán)境自動(dòng)初始化。 3. 變量是類型安全的。 這樣,程序員編寫與維護(hù)那些解決復(fù)

19、雜商業(yè)問題的程序就更方便了。對(duì)版本的更新提供內(nèi)在的支持降低了開發(fā)成本。更新軟件組件是一項(xiàng)很容易出錯(cuò)的工作,因?yàn)榇a的修改可能無意間改變?cè)谐绦虻恼Z義。為協(xié)助開發(fā)者進(jìn)行這項(xiàng)工作,C#為版本的更新提供內(nèi)在的支持。例如,方法重載必須顯式聲明。這樣可以防止編碼錯(cuò)誤,保證版本更新的靈活性。還有一個(gè)相關(guān)的特性就是對(duì)接口和接口繼承的內(nèi)在支持。這些特性使得C#可以開發(fā)復(fù)雜的框架并且隨著時(shí)間不斷發(fā)展更新它。 總體來說,這些特性使得開發(fā)程序項(xiàng)目的后續(xù)版本的過程更加健壯,從而減少后續(xù)版本的開發(fā)成本。 商業(yè)過程和軟件實(shí)現(xiàn)的更好對(duì)應(yīng)。企業(yè)的商業(yè)計(jì)劃要付諸現(xiàn)實(shí),必須在抽象的商業(yè)過程和實(shí)際的軟件實(shí)現(xiàn)之間建立緊密地對(duì)應(yīng)。不過

20、大多數(shù)語言都很難做到這點(diǎn)。例如,如今的程序員們一般使用代碼注釋來注明哪個(gè)類對(duì)應(yīng)于某個(gè)抽象的商業(yè)對(duì)象。 C#語言允許類型定義的,擴(kuò)展的元數(shù)據(jù)。這些元數(shù)據(jù)可以應(yīng)用于任何對(duì)象。項(xiàng)目構(gòu)建者可以定義領(lǐng)域特有的屬性并把他們應(yīng)用于任何語言元素-類,接口等等。然后,開發(fā)人員可以編程檢查每個(gè)元素的屬性。這樣,很多工作都變得方便多了,比如編寫一個(gè)小工具來自動(dòng)檢查每個(gè)類或接口是否被正確定義為某個(gè)抽象商業(yè)對(duì)象的一部分,或者只是創(chuàng)建一份基于對(duì)象的領(lǐng)域特有屬性的報(bào)表。定制的元數(shù)據(jù)和程序代碼之間的緊密對(duì)應(yīng)有助于加強(qiáng)程序的預(yù)期行為和實(shí)際實(shí)現(xiàn)的之間的對(duì)應(yīng)關(guān)系。 擴(kuò)展交互性 作為一種自動(dòng)管理的,類型安全的環(huán)境,C#適合于大多數(shù)企

21、業(yè)應(yīng)用程序。但實(shí)際的經(jīng)驗(yàn)表明有些應(yīng)用程序仍然需要一些底層的代碼,要么是因?yàn)榛谛阅艿目紤],要么是因?yàn)橐c現(xiàn)有的應(yīng)用程序接口兼容。這些情況可能會(huì)迫使開發(fā)者使用C+, 即使他們本身寧愿使用更高效的開發(fā)環(huán)境。 C#采用以下對(duì)策來解決這一問題: 1. 內(nèi)置對(duì)組建對(duì)象模型(COM)和基于Windows?的API的支持; 2.允許有限制地使用純指針(Native Pointer)。 C#中,每個(gè)對(duì)象都自動(dòng)生成為一個(gè)COM對(duì)象。開發(fā)者不再需要顯式的實(shí)現(xiàn)IUnknown和其他COM接口這些功能都是內(nèi)置的類似的,#可以調(diào)用現(xiàn)有的COM對(duì)象,無論它是由什么語言編寫的。 C#包含了一個(gè)特殊的功能,使程序可以調(diào)用任何

22、純API。在一段特別標(biāo)記的代碼中,開發(fā)者可以使用指針和傳統(tǒng)C/C+特性,如手工的內(nèi)存管理和指針運(yùn)算。這是其相對(duì)于其它環(huán)境的極大優(yōu)勢(shì)。這意味著C#程序員可以在原有的C/C+代碼的基礎(chǔ)上編寫程序,而不是徹底放棄那些代碼。 無論是支持COM還是純API的調(diào)用,都是為了使開發(fā)者在C#環(huán)境中直接擁有必要的強(qiáng)大功能。1.3 課題的提出1.3.1 項(xiàng)目背景當(dāng)今世界已進(jìn)入了在計(jì)算機(jī)信息管理領(lǐng)域中激烈競(jìng)爭的時(shí)代,應(yīng)用計(jì)算機(jī)已經(jīng)變得十分普遍了,如同我們離不開的自行車、汽車一樣。我們應(yīng)該承認(rèn),誰掌握的知識(shí)多,信息量大,信息處理速度快,批量大,誰的效率就高,誰就能夠在各種競(jìng)爭中立于不敗之地。隨著科學(xué)技術(shù)的不斷提高,計(jì)

23、算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。越來越多的管理人員意識(shí)到信息管理的重要性。1.3.2 系統(tǒng)目的餐館菜單管理系統(tǒng)主要是用來方便客戶進(jìn)行網(wǎng)上點(diǎn)菜,現(xiàn)在的人們生活節(jié)作快了,整天都忙于工作,有時(shí)候連做飯吃飯都沒有時(shí)間。餐館菜單應(yīng)有系統(tǒng)可以讓那些沒有時(shí)間做飯吃飯的人在網(wǎng)上進(jìn)行點(diǎn)菜,客戶不僅可以了解每一種菜得做法,還可以看到菜的價(jià)格和菜的藥用性,做到吃出健康,吃的省錢。傳統(tǒng)餐飲企業(yè)的日常運(yùn)作還是靠人工管理,從客人點(diǎn)單,再到結(jié)賬基本上由人工完成記錄,這樣做不僅耗費(fèi)人力資源而且容易導(dǎo)致記錄丟失或重復(fù)等錯(cuò)誤,造成管理水平低下。所以餐飲行業(yè)的管理

24、效率不高。由于缺乏科學(xué)的管理和現(xiàn)代化的管理工具,該餐飲行業(yè)在管理上和業(yè)務(wù)的安排上都存在著不足。餐飲管理系統(tǒng)就是專門為餐飲業(yè)量身定制的軟件。適用于各種規(guī)模的餐飲娛樂企業(yè),如:餐廳、酒樓、咖啡屋、快餐店、酒吧、桑拿、夜總會(huì)、歌舞廳等。操作界面簡潔、直觀,非常容易上手;支持純鍵盤和純鼠標(biāo)兩種操作方式,點(diǎn)菜、結(jié)賬、收銀可在最短時(shí)間內(nèi)飛速完成。1.3.3 系統(tǒng)功能1.餐飲娛樂管理系統(tǒng)可以實(shí)現(xiàn)餐飲娛樂業(yè)工作流程(點(diǎn)菜、結(jié)賬、收銀、等)的微機(jī)自動(dòng)化管理,為經(jīng)營者提供及時(shí)、準(zhǔn)確的統(tǒng)計(jì)數(shù)據(jù)。2.用戶可以快速查找自己點(diǎn)的菜名和飲料。2.管理員可以對(duì)菜的類別進(jìn)行管理:新增菜的類別,刪除菜的類別,修改類別,查詢類別。

25、3.管理員可以對(duì)菜的信息管理:對(duì)各種菜的信息進(jìn)行查詢和刪除。4.系統(tǒng)采用了嚴(yán)格地分級(jí)授權(quán)查詢模式,嚴(yán)格劃分界線并有操作日志,完善的保密、安全機(jī)制。5.具有超強(qiáng)的適用性、安全性、靈活性及彈性,適應(yīng)企業(yè)發(fā)展的需要, 為廣大餐飲企業(yè)創(chuàng)造更大的利潤和價(jià)值。2 系統(tǒng)設(shè)計(jì)的關(guān)鍵技術(shù)2.1 系統(tǒng)的開發(fā)環(huán)境Visual Studio 2008是用于開發(fā)和維護(hù)托管的、本機(jī)的和混合模式的應(yīng)用程序的集成開發(fā)環(huán)境。它提供了用于創(chuàng)建不同類別應(yīng)用程序的多種項(xiàng)目模板,這些模板包括Microsoft Windows窗體、控制臺(tái)、ASP.NET網(wǎng)站、ASP.NET Web服務(wù)、SmartPhone 2003、Windows C

26、E 5.0以及其他類型的應(yīng)用程序。此外,它還提供了針對(duì)特定設(shè)備(如移動(dòng)設(shè)備)的模板。而且,開發(fā)人員還可以根據(jù)需要選擇不同的編程語言,包括C# 、Microsoft Visual Basic .NET和托管的C+等。Visual Studio 2008 IDE 具有很多應(yīng)用程序的快速開發(fā)工具。Visual Studio代碼編輯器、Microsoft IntelliSense、解決方案資源管理器、類視圖、對(duì)象瀏覽器和類關(guān)系圖都是用戶界面的核心部分,有助于提高開發(fā)人員的精確性和工作效率、精確性和效率。下面將具體講解如何配置 Visual Studio 的開發(fā)環(huán)境。第1步  第一次啟動(dòng) Vi

27、sual Studio 2008時(shí),顯示出來的是 Visual Studio 2008的【選擇默認(rèn)環(huán)境設(shè)置】對(duì)話框,從中選擇一種開發(fā)環(huán)境,在此選擇"Visual C# 開發(fā)設(shè)置"選項(xiàng),如圖1.1所示。設(shè)置完成后單擊【啟動(dòng) Visual Studio】按鈕。 圖1.1 【選擇默認(rèn)環(huán)境設(shè)置】對(duì)話框第2步  Microsoft Visual Studio 2008開始為第一次使用設(shè)置環(huán)境,如圖1.1所示。  圖1.2  設(shè)置環(huán)境信息第3步  稍后會(huì)出現(xiàn) Microsoft Visual Studio 2008的開發(fā)主界面,如圖1.

28、 2所示。 圖1.3  Visual Studio 2008的開發(fā)主界面其中,Microsoft Visual Studio 2008開發(fā)主界面各工具欄及選項(xiàng)的功能說明如下:菜單欄和工具欄-菜單欄包括文件、編輯、視圖、工具、調(diào)試、窗口和幫助等選項(xiàng);工具欄提供了不同功能菜單項(xiàng)的快捷方式,根據(jù)當(dāng)前窗體的不同類型,工具欄會(huì)動(dòng)態(tài)改變,工具欄包括標(biāo)準(zhǔn)工具欄、生成工具欄、調(diào)試工具欄、文本編輯工具欄、打開文件列表等選項(xiàng)。工具箱區(qū)-工具箱以選項(xiàng)卡的形式來分組顯示常用組件,包括標(biāo)準(zhǔn)、數(shù)據(jù)、驗(yàn)證等工具的集合。這些組件通過鼠標(biāo)拖放到設(shè)計(jì)窗體,就可以把相應(yīng)的功能增加到項(xiàng)目中。工作區(qū)-用于具體項(xiàng)目開

29、發(fā)的主要區(qū)域,如設(shè)計(jì)界面各控件的整體布局,事件代碼的編寫等。項(xiàng)目區(qū)和屬性區(qū)-項(xiàng)目區(qū)顯示所建項(xiàng)目的所有文件和文件夾及其相應(yīng)的配置文件;屬性區(qū)顯示設(shè)計(jì)界面中所選控件的各種設(shè)置信息。輸出區(qū)-顯示調(diào)試輸出的信息,如果調(diào)試錯(cuò)誤,該輸出區(qū)會(huì)顯示出錯(cuò)的行數(shù)、列數(shù)及出錯(cuò)的原因。2.2 數(shù)據(jù)庫技術(shù)SQL Server 2000 在 Microsoft 的數(shù)據(jù)平臺(tái)上發(fā)布,幫助您的組織隨時(shí)隨地管理任何數(shù)據(jù)。它可以將結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲(chǔ)到數(shù)據(jù)庫中。SQL Server 2000提供一系列豐富的集成服務(wù),可以對(duì)數(shù)據(jù)進(jìn)行查詢、搜索、同步、報(bào)告和分析之類的操作。數(shù)據(jù)可以存儲(chǔ)在各種設(shè)備上,從數(shù)據(jù)中心最

30、大的服務(wù)器一直到桌面計(jì)算機(jī)和移動(dòng)設(shè)備,您可以控制數(shù)據(jù)而不用管數(shù)據(jù)存儲(chǔ)在哪里。SQL Server 2000允許您在使用 Microsoft .NET 和 Visual Studio 開發(fā)的自定義應(yīng)用程序中使用數(shù)據(jù),在面向服務(wù)的架構(gòu)(SOA)和通過 Microsoft BizTalk Server 進(jìn)行的業(yè)務(wù)流程中使用數(shù)據(jù)。信息工作人員可以通過他們?nèi)粘J褂玫墓ぞ咧苯釉L問數(shù)據(jù)。SQL Server 2008 提供一個(gè)可信的、高效率智能數(shù)據(jù)平臺(tái),可以滿足您的所有數(shù)據(jù)需求。 圖2.1  Food 圖2.2  MenuSeries 圖2.3 

31、MenuType 圖2.4 OrderList3 餐飲管理系統(tǒng)的實(shí)現(xiàn)與代碼分析3.1 系統(tǒng)的設(shè)計(jì)思路采用C#語言在開發(fā)工具M(jìn)icrosoft Visual Studio 2008和數(shù)據(jù)庫SQL Server 2000上開發(fā)此系統(tǒng)。系統(tǒng)分前臺(tái)管理和后臺(tái)管理,前臺(tái)用戶可以瀏覽各類菜肴,查看各種菜的詳細(xì)說明和價(jià)格,還可以快速查找自己想要點(diǎn)的菜。結(jié)算時(shí),顯示用戶點(diǎn)的所有菜,還可以打折扣。后臺(tái)管理,管理員可以對(duì)菜的類別進(jìn)行管理:新增菜的類別,刪除菜的類別,修改類別,查詢類別。管理員可以對(duì)菜的信息管理:對(duì)各種菜的信息進(jìn)行查詢和刪除,查看點(diǎn)菜記錄。3.2 系統(tǒng)制作步驟1. 準(zhǔn)備頁面內(nèi)容文字,收集素

32、材;2. 在腦?;虿莞寮埳蠘?gòu)思頁面的風(fēng)格與布局;3. 查詢相關(guān)資料,了解本系統(tǒng)的研究意義。可以上網(wǎng)搜索或者是去圖書館查閱相關(guān)資料;4. 通過查詢資料了解該系統(tǒng)要如何做,及要做哪些東西;5. 設(shè)計(jì)出大體上的功能模塊,畫出模塊圖;6. 通過進(jìn)一步的了解,對(duì)每個(gè)功能模塊進(jìn)行細(xì)化,將每一步都想清楚。制定出每一步的做法和注意的地方;7. 對(duì)設(shè)計(jì)好的程序進(jìn)行調(diào)試,通過調(diào)試發(fā)現(xiàn)存在的問題并解決,從而達(dá)到完善系統(tǒng)的目的;3.3 代碼細(xì)節(jié)分析1.Account.aspx.csnamespace CYGLXT.page public partial class Account : System.Web.UI.Pa

33、ge private Food fd = new Food(); private OrderList ol = new OrderList(); protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) List<string> idList = FileUtil.GetNodeTextFromXml(Server.MapPath("./App_Data/Order.xml"); DataSet ds = fd.GetFood(idList); if (ds != nul

34、l) /獲取數(shù)量 txtCount.Text = ds.Tables0.Rows.Count.ToString(); int money = 0; foreach (DataRow row in ds.Tables0.Rows) /計(jì)算總價(jià) money += Convert.ToInt32(row"Price"); txtIdList.Text += row"ID".ToString() + "|" /點(diǎn)餐食品的ID集合 txtNameList.Text += row"Name".ToString() + &quo

35、t;|" /點(diǎn)餐食品的名稱集合 txtMoney.Text = string.Format("0:C", money); /在列表中綁定顯示 DataList1.DataSource = ds; DataList1.DataBind(); if (DataList1.Items.Count > 0) txtCode.Text = "X" + DateTime.Now.ToString("yyMMddHHMMss"); /設(shè)置控件只讀 txtCode.Attributes.Add("readonly"

36、, "true"); txtMoney.Attributes.Add("readonly", "true"); txtCount.Attributes.Add("readonly", "true"); protected void btnAccount_Click(object sender, EventArgs e) if (DataList1.Items.Count = 0) Jscript.Alert(this,"還沒有選購任何的美食,不能結(jié)算!"); return;

37、try ol.InsertOrderList(txtCode.Text, txtCount.Text, txtMoney.Text.Substring(1, txtMoney.Text.IndexOf(".") - 1), txtDiscount.Text = "" ? "0" : txtDiscount.Text, txtIdList.Text, txtNameList.Text); catch (Exception ex) FileUtil.WriteFile(Server.MapPath("./App_Data/Err

38、orLog.txt"), string.Format("rn用戶0新增點(diǎn)餐結(jié)算信息失敗!rn錯(cuò)誤信息:1", User.Identity.Name, ex.Message); Jscript.Alert(this, "新增點(diǎn)餐結(jié)算信息失敗,詳細(xì)信息請(qǐng)參見異常日志!"); return; /移除點(diǎn)餐記錄中的所有記錄節(jié)點(diǎn) FileUtil.RemoveAllNode(Server.MapPath("./App_Data/Order.xml"); if (txtDiscount.Text != "") floa

39、t money = int.Parse(txtMoney.Text.Substring(1, txtMoney.Text.IndexOf(".") - 1) * float.Parse(txtDiscount.Text); Jscript.ExecuteBlock(this, string.Format("saveSuccess('0:C');", money); else Jscript.ExecuteBlock(this, string.Format("saveSuccess('0');", txt

40、Money.Text); 2.Food_Info.aspx.csnamespace CYGLXT.page public partial class Food_Info : System.Web.UI.Page private Food fd = new Food(); protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) if (!string.IsNullOrEmpty(Request.QueryString"pId") DataSet ds = fd.GetFoodInfo

41、ById(Request.QueryString"pId"); if (ds.Tables0.Rows.Count = 0) Jscript.Alert(this, "該條記錄已被刪除,請(qǐng)刷新后重新操作!"); return; foodlistBlock.InnerHtml = string.Format("0->1->2", ds.Tables0.Rows0"Series".ToString(), ds.Tables0.Rows0"Type".ToString(), ds.Tabl

42、es0.Rows0"Name".ToString(); lblName.Text = ds.Tables0.Rows0"Name".ToString(); lblType.Text = ds.Tables0.Rows0"Series".ToString() + "->" + ds.Tables0.Rows0"Type".ToString(); lblPrice.Text = string.Format("0:C", ds.Tables0.Rows0"Price

43、"); imgBtnPath.ImageUrl = "./upfile/thumbnailImage/" + ds.Tables0.Rows0"Picture".ToString(); lblRemark.Text = ds.Tables0.Rows0"Remark".ToString(); txtImageName.Text = ds.Tables0.Rows0"Picture".ToString(); protected void imgBtnPath_Click(object sender, Ima

44、geClickEventArgs e) /原尺寸水印圖片存儲(chǔ)路徑 string strImagePath = Server.MapPath("./upfile/sourceImage/") + txtImageName.Text; /將圖片裝載成Bitmap對(duì)象以獲取該圖片的高和寬 System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(strImagePath); int width = bmp.Width + 20; int height = bmp.Height + 20; if (width < 400) w

45、idth = 420; else if (width > 900) width = 920; if (height < 200) height = 220; else if (height > 500) height = 520; Jscript.ShowDialog(this, width, height, lblName.Text + "樣圖", "Picture.aspx?picName=" + txtImageName.Text); 3. Food_List.aspx.csnamespace CYGLXT.page public

46、 partial class Food_List : System.Web.UI.Page private Food fd = new Food(); protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) if (!string.IsNullOrEmpty(Request.QueryString"typeId") DataSet ds = fd.GetFoodByType(Request.QueryString"typeId"); DataList1.Data

47、Source = ds; DataList1.DataBind(); if (ds.Tables0.Rows.Count > 0) foodlistBlock.InnerHtml = string.Format("0->1", ds.Tables0.Rows0"Series".ToString(), ds.Tables0.Rows0"Type".ToString(); else foodlistBlock.InnerHtml = "該分類下暫無信息" protected void chkOrder_Ch

48、eckedChanged(object sender, EventArgs e) CheckBox chkOrder = (CheckBox)sender; DataListItem item = chkOrder.Parent as DataListItem; string id = (Label)item.FindControl("ID").Text; if (chkOrder.Checked) FileUtil.WriteLineToXml(Server.MapPath("./App_Data/Order.xml"), id); else File

49、Util.RemoveLineFromXml(Server.MapPath("./App_Data/Order.xml"), id); protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) if (e.Item.ItemType = ListItemType.Item | e.Item.ItemType = ListItemType.AlternatingItem) List<string> idList = FileUtil.GetNodeTextFromX

50、ml(Server.MapPath("./App_Data/Order.xml"); if (idList.Contains(Label)e.Item.FindControl("ID").Text) (CheckBox)e.Item.FindControl("chkOrder").Checked = true; 4.Menu_link.aspx.csnamespace CYGLXT.page public partial class Menu_Link : System.Web.UI.Page private MenuSeries ms = new MenuSeries(); private MenuType mt = new MenuType(); protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) StringBuilder sb = new StringBuilder(2000); DataSet dsSeries = ms.GetMenuSeriesName();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論