c#餐廳點餐系統(tǒng)設計與實現(xiàn)畢業(yè)設計論文_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科生畢業(yè)論文(設計)</p><p>  論文(設計)題目:餐廳點餐系統(tǒng)的設計與實現(xiàn) </p><p>  系 別:信息工程系 </p><p>  專業(yè)(方向)及班級:電子商務1101

2、 </p><p>  學 生 姓 名: </p><p>  指 導 教 師: </p><p>  2015年 05 月 11 日</p><p>  餐廳點餐系統(tǒng)的設計與實現(xiàn)</p><p>&

3、lt;b>  摘要</b></p><p>  近年來隨著人民生活水平的不斷提高,餐飲業(yè)的消費持續(xù)增長,競爭愈來愈激烈。傳統(tǒng)餐飲行業(yè)的日常運作大部分是靠人工管理的,從客人開臺到客人點單再到結(jié)賬基本上由人工完成記錄,這樣做不僅耗費人力資源而且容易導致記錄丟失或重復等錯誤,造成管理水平低下。這就迫切需要標準的高效的計算機管理方式引導其發(fā)展,通過計算機管理餐廳的日常運作。本系統(tǒng)以SQL Server2

4、005 為后臺數(shù)據(jù)庫,以Visual studio 2010為前端開發(fā)工具,設計與實現(xiàn)了餐廳點餐系統(tǒng)的前臺管理、桌臺信息查詢、開臺信息、點菜、結(jié)賬、桌臺信息、消費查詢、數(shù)據(jù)庫備份還原及初始化等功能,以給管理者決策參考的模型,不斷完善管理水平,提高工作效率。</p><p>  [關(guān)鍵詞] 點餐系統(tǒng);管理;Visual studio 2010</p><p><b>  ABSTR

5、ACT</b></p><p>  In recent years, with the continuous improvement of living standards, the consumption growth industry, increasingly fierce competition. The traditional food and beverage industry, dail

6、y operation mostly rely on artificial management, from one point to the guests the guests get to the checkout basically done by manual record, do not expend human resources and easily lead to errors such as missing or du

7、plicate records, resulting in low level of management. There is an urgent need for the standard </p><p>  [Key words] Restaurant meal; Administration; Visual studio 2010</p><p>&l

8、t;b>  目錄</b></p><p><b>  一、緒論1</b></p><p> ?。ㄒ唬┻x題的背景和研究意義1</p><p>  (二)國內(nèi)研究現(xiàn)狀及分析2</p><p><b>  二、系統(tǒng)分析2</b></p><p><b

9、> ?。ㄒ唬┕δ芊治?</b></p><p>  1.管理員對功能的需求3</p><p>  2.普通用戶對功能的需求3</p><p>  3.系統(tǒng)所具有的整體功能3</p><p><b>  4.性能需求3</b></p><p>  (二)可行性分析4&l

10、t;/p><p>  (三)系統(tǒng)配置要求5</p><p>  三、系統(tǒng)總體設計5</p><p>  (一)系統(tǒng)功能結(jié)構(gòu)設計5</p><p> ?。ǘ?shù)據(jù)庫設計6</p><p><b>  1.命名規(guī)范6</b></p><p><b>  2.安全

11、設計6</b></p><p><b>  3.數(shù)據(jù)表7</b></p><p> ?。ㄈ┫到y(tǒng)模塊設計8</p><p>  四、系統(tǒng)功能實現(xiàn)9</p><p>  (一)登錄模塊的實現(xiàn)9</p><p> ?。ǘc餐結(jié)賬模塊的實現(xiàn)12</p><p

12、> ?。ㄈ┳琅_管理模塊的實現(xiàn)17</p><p>  (四)職工信息管理模塊的實現(xiàn)18</p><p> ?。ㄎ澹┫到y(tǒng)管理模塊實現(xiàn)19</p><p><b>  五、系統(tǒng)測試20</b></p><p> ?。ㄒ唬y試目的20</p><p>  (二)測試方法20</

13、p><p>  (三)測試環(huán)境20</p><p> ?。ㄋ模y試結(jié)果21</p><p><b>  六、結(jié)論25</b></p><p><b>  參考文獻26</b></p><p>  餐廳點餐系統(tǒng)的設計與實現(xiàn)</p><p><b

14、>  一、緒論</b></p><p> ?。ㄒ唬┻x題的背景和研究意義</p><p>  餐飲業(yè)在全國的第三產(chǎn)業(yè)中有著舉足輕重的作用,一年的零售額達到數(shù)千億元,為中國的稅收做出了巨大的貢獻。所以餐飲業(yè)在中國有著廣泛的市場,發(fā)展的前景非常好。但是中國的餐飲業(yè)也有著自己的發(fā)展瓶頸,如餐飲業(yè)的門檻比較低,所以中國的大多數(shù)餐飲業(yè)老板都是從小店發(fā)展起來的,而且家族式的管理比較多,

15、許多還是“人治”,中國的餐飲業(yè)沒有一套完整的現(xiàn)代企業(yè)制度和監(jiān)督管理體制。加之信息化管理遠遠不及外國的先進同行,導致中國的餐飲業(yè)在市場競爭中處于劣勢。中國的餐飲業(yè)要想在國際市場占有一席之地,就必須要提高自己的競爭力,改善自己的經(jīng)營方式和制度。為了更好的適應信息時代的高效性,一個利用計算機來實現(xiàn)點餐管理工作的系統(tǒng)將必然誕生。</p><p>  目前現(xiàn)代化的計算機信息管理系統(tǒng)在眾多酒店及娛樂服務業(yè)已得到廣泛應用,滿足

16、了廣大經(jīng)營者的迫切需求,它不僅進一步完善了企業(yè)管理信息化的進程,更為企業(yè)管理走向科學化、規(guī)范化、網(wǎng)絡化奠定了基礎。根據(jù)大量用戶的實際應用表明,采用計算機管理企業(yè)即可節(jié)省人力,又起到提高服務速度及準確率作用,同時還可提升企業(yè)形象和信譽,提高顧客滿意度,大大增強企業(yè)的競爭能力和管理水平,綜合效益非常明顯。</p><p>  計算機輔助點餐管理,可以極大地增強管理者采集、處理信息的能力,從而有利于管理者及時決策;計算

17、機系統(tǒng)能根據(jù)管理過程的變化情況,將原始數(shù)據(jù)、資料等進行加工、保存,管理人員可以在解決具體問題需要信息資料時,隨時進行檢索查詢,了解整個點餐管理系統(tǒng)的動態(tài)情況,進行動態(tài)管理,從而有效的處理點餐的管理工作,實現(xiàn)點餐管理信息管理的自動化;采用計算機進行管理,實現(xiàn)前、后臺服務一次性結(jié)賬,使餐館管理條理化、規(guī)范化、科學化,極大地提高餐館管理水平和工作效率。作為日益發(fā)展的飲食服務行業(yè),著眼于未來,餐館采用計算機輔助管理,是與現(xiàn)代化餐館管理模式接軌的

18、明智選擇。</p><p> ?。ǘ﹪鴥?nèi)研究現(xiàn)狀及分析</p><p>  當前,餐飲行業(yè)發(fā)展態(tài)勢明顯,主要體現(xiàn)在技術(shù)創(chuàng)新、管理科學化為代表的現(xiàn)代餐飲企業(yè),逐步替代傳統(tǒng)餐飲業(yè)的單店作坊式、人為經(jīng)驗管理型,快步向產(chǎn)業(yè)化、現(xiàn)代化邁進。飲食文化已經(jīng)成為餐飲品牌培育和餐飲企業(yè)競爭的核心,現(xiàn)代科學技術(shù)、科學的經(jīng)營管理、現(xiàn)代營養(yǎng)理念在餐飲行業(yè)的應用已經(jīng)越來越廣泛。目前,國內(nèi)外餐飲業(yè)態(tài)中有中式正餐、西

19、式正餐、中式快餐、西式快餐、休閑茶座、咖啡酒吧、外送外賣、集團連鎖,不同的餐飲業(yè)態(tài),餐飲業(yè)務流程有很大的區(qū)別,自然餐飲管理軟件所需要的功能就大大的不同。</p><p>  從系統(tǒng)點單模式上看,通常有四種方式,一是基于普通電腦,二是基于IC卡,三是基于觸摸屏,四是采用無線點菜系統(tǒng),而無線技術(shù)又基于紅外技術(shù)和基于無線網(wǎng)絡的技術(shù)。</p><p>  國內(nèi)已經(jīng)有不少公司開發(fā)出電子點菜系統(tǒng),例如

20、上海工理電子有限公司的點菜通、餐飲通等,北京辰森計算機系統(tǒng)有限公司的手持點菜寶等。有些大型的餐飲企業(yè)已經(jīng)采用了這兩個公司的產(chǎn)品。但是由于成本等原因使用電子點菜系統(tǒng)的酒店還比較少,市場需求很大。</p><p><b>  二、系統(tǒng)分析</b></p><p><b> ?。ㄒ唬┕δ芊治?lt;/b></p><p>  由于系統(tǒng)

21、是面向某些特定對象的,所以用戶進入系統(tǒng)應該進行身份驗證,在登錄后根據(jù)用戶所擁有的權(quán)限,取得相應的功能操作權(quán)限。用戶進入系統(tǒng)后可以對自己的密碼進行修改,普通用戶可以進行開臺、點菜、結(jié)賬,管理員用戶在普通用戶所擁有的權(quán)限基礎上,還可以對桌臺信息,菜單信息,職員信息、用戶管理,數(shù)據(jù)庫備份、還原、初始化進行操作。</p><p>  1.管理員對功能的需求</p><p> ?。?)登錄并取得管理

22、員權(quán)限。</p><p>  (2)對所有數(shù)據(jù)庫信息進行查詢操作。</p><p> ?。?)對所有數(shù)據(jù)庫信息進行添加操作。</p><p> ?。?)對所有數(shù)據(jù)庫信息進行刪除操作。</p><p> ?。?)對數(shù)據(jù)庫進行備份、還原、初始化操作。</p><p>  2.普通用戶對功能的需求</p>&l

23、t;p>  (1)登錄并取得普通用戶權(quán)限。</p><p>  (2)對桌臺信息、點菜信息、消費表信息進行查詢操作。</p><p>  3.系統(tǒng)所具有的整體功能</p><p>  (1)登錄管理:普通用戶和管理員可以根據(jù)需要修改個人密碼。普通用戶和管理員可在主界面進行查詢、開臺、點菜、消費查詢、結(jié)賬操作。</p><p> ?。?)

24、點餐結(jié)賬管理: 管理員可以對桌臺進行增、刪、改、查操作。</p><p> ?。?)桌臺管理:管理員可以對桌臺進行增、刪、改、查操作。</p><p>  (4)職員管理:管理員可以對職員進行增、刪、改、查操作。</p><p>  (5)系統(tǒng)設置:管理員可以對數(shù)據(jù)庫進行備份、還原、初始化操作。</p><p><b>  4.性能

25、需求</b></p><p><b> ?。?)系統(tǒng)安全性</b></p><p>  用戶只有在輸入了正確的用戶名以及與該用戶名相匹配的密碼后才能登錄系統(tǒng),且本系統(tǒng)采用了MD5加密。用戶登錄時會根據(jù)用戶的用戶名以及登錄選項對用權(quán)限進行判定,用戶只能在自己相應的權(quán)限下對數(shù)據(jù)庫中的數(shù)據(jù)進行相應權(quán)限內(nèi)的操作。</p><p><b

26、> ?。?)信息的準確性</b></p><p>  系統(tǒng)要求能夠準確地判別該用戶名是否已經(jīng)存在、用戶輸入的密碼是否與該用戶名相匹配、該用戶的權(quán)限以及對數(shù)據(jù)庫的各項操作都能從后臺數(shù)據(jù)庫中得出準確的信息和相應的操作結(jié)果。</p><p><b> ?。ǘ┛尚行苑治?lt;/b></p><p>  可行性分析也稱為可行性研究,是在系

27、統(tǒng)調(diào)查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟、社會等方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的成功開發(fā)。</p><p>  (1) 經(jīng)濟可行性:主要是對項目的經(jīng)濟效益進行評價。本系統(tǒng)開發(fā)經(jīng)費在經(jīng)濟上是可以接受的,并且本系統(tǒng)實施后可以節(jié)省餐廳運作成本,減少人力資源投入,加速資金周轉(zhuǎn)。所以本系統(tǒng)在經(jīng)濟上是可行的。</p><p>  (2) 技術(shù)可

28、行性:技術(shù)上的可行性分析主要分析技術(shù)條件能否順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。該管理系統(tǒng)采用了Browser/Server模式進行開發(fā),以 Visual Studio 2010作為開發(fā)平臺, SQL Server 2005作為后臺數(shù)據(jù)庫,C#作為編程語言。SQL Server 2005它能夠處理大量數(shù)據(jù),同時保持數(shù)據(jù)的完整性并提供許多高級管理功能。它的靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。因此,系統(tǒng)的軟件開

29、發(fā)平臺已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,其硬件平臺完全能滿足此系統(tǒng)的需要。</p><p>  綜上所述,此系統(tǒng)開發(fā)目標已明確,在技術(shù)和經(jīng)濟等方面都可行,并且投入少、見效快,因此系統(tǒng)的開發(fā)是完全可行的。</p><p><b> ?。ㄈ┫到y(tǒng)配置要求</b></p><p><b>  (

30、1)軟件配置要求</b></p><p>  由于本系統(tǒng)采用B/S架構(gòu),服務器需要安裝.Net FrameWork2.0以上, MicroSoft SqlServer 2005以上,IIS6.0以上。客戶端需要安裝InternetExplore6.0以上,F(xiàn)lashPlayer9.0以上。</p><p> ?。?)運行系統(tǒng)所需的硬件配置要求(如表1所示)</p>

31、<p>  表1 運行系統(tǒng)所需的硬件配置要求</p><p><b>  三、系統(tǒng)總體設計</b></p><p>  (一)系統(tǒng)功能結(jié)構(gòu)設計</p><p>  系統(tǒng)功能結(jié)構(gòu)圖(如圖1所示)</p><p>  圖1 系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  1.點餐結(jié)賬

32、</b></p><p>  根據(jù)顧客需要從菜品類別中選取菜,服務員只需輸入菜的數(shù)量和選取負責服務員的名字,記錄顧客所點的菜品的信息,如果顧客不再需要,服務員可以立即刪除記錄,另外服務員還可以根據(jù)具體要求添加備注,在顧客享用完后,服務員只需點擊桌臺彈出點加菜窗體,確定信息完整正確,點擊結(jié)賬,系統(tǒng)自動結(jié)算了顧客消費清單。</p><p><b>  2.桌臺信息<

33、/b></p><p>  桌臺信息模塊主要實現(xiàn)的功能是對桌臺信息的添加、查詢、修改和刪除。</p><p><b>  3.職工信息</b></p><p>  職工信息模塊主要實現(xiàn)的功能是對職工信息的添加、查詢、修改和刪除。</p><p><b>  4.系統(tǒng)設置</b></p&g

34、t;<p>  系統(tǒng)設置模塊主要實現(xiàn)的功能是對管理員的添加、查詢、修改和刪除,以及軟件的鎖定和數(shù)據(jù)庫的備份和還原。</p><p><b> ?。ǘ?shù)據(jù)庫設計</b></p><p><b>  1.命名規(guī)范</b></p><p>  (1)數(shù)據(jù)庫名稱以db開頭</p><p> 

35、 (2)函數(shù)以F_開頭</p><p> ?。?)數(shù)據(jù)庫表以T_開頭</p><p><b>  2.安全設計</b></p><p>  (1)創(chuàng)建數(shù)據(jù)庫登錄賬號admin</p><p> ?。?)創(chuàng)建數(shù)據(jù)庫db_admin的所有者用戶admin </p><p>  (3)配置賬號映射:ad

36、min-admin</p><p><b>  3.數(shù)據(jù)表</b></p><p>  數(shù)據(jù)庫使用Sql Server 2005,在數(shù)據(jù)庫中創(chuàng)建了4個數(shù)據(jù)表用于存儲不同的信息。(如表2至表5所示)</p><p><b>  (1)用戶信息表</b></p><p><b>  表2 用戶

37、信息表 </b></p><p><b>  (2)菜單信息表</b></p><p><b>  表3 菜單信息表</b></p><p><b> ?。?)桌臺信息表</b></p><p><b>  表4 桌臺信息表</b></p

38、><p><b> ?。?)職員信息表</b></p><p><b>  表5 職員信息表</b></p><p><b>  (三)系統(tǒng)模塊設計</b></p><p>  本文在對系統(tǒng)需求分析的基礎上一共設計了5大模塊,分別是如下5個塊模。</p><p&

39、gt;<b>  1.系統(tǒng)登錄模塊</b></p><p>  本模塊主要起登錄作用,判斷用戶何不合法,可不可以使用本軟件,是本系統(tǒng)的第一個界面。</p><p>  2.系統(tǒng)點餐結(jié)賬模塊</p><p>  服務員在已開臺的桌臺單擊進入點加菜窗體,根據(jù)顧客需要從菜品類別中選取菜,服務員只需輸入菜的數(shù)量和選取負責服務員的名字,保存信息后系統(tǒng)記錄

40、顧客所點的菜品的信息,另外服務員還可以根據(jù)具體要求添加備注。</p><p>  3.系統(tǒng)桌臺信息管理模塊</p><p>  桌臺信息模塊主要實現(xiàn)的功能是對桌臺信息的添加、查詢、修改和刪除。</p><p>  4.系統(tǒng)職工信息管理模塊</p><p>  職工信息模塊主要實現(xiàn)的功能是對職工信息的添加、查詢、修改和刪除。</p>

41、<p><b>  5.系統(tǒng)管理模塊</b></p><p>  系統(tǒng)設置模塊主要實現(xiàn)的功能是對管理員的添加、查詢、修改和刪除,以及軟件的鎖定和數(shù)據(jù)庫的備份和還原。</p><p><b>  四、系統(tǒng)功能實現(xiàn)</b></p><p>  (一)登錄模塊的實現(xiàn)</p><p>  登錄

42、功能根據(jù)用戶輸入的用戶名及密碼與數(shù)據(jù)庫中的信息進行比對,如果驗證成功,則登錄到系統(tǒng)主界面,如果驗證失敗顯示密碼錯誤。(如圖2至圖3所示)</p><p>  圖2 用戶名密碼驗證截圖</p><p>  圖3 用戶名密碼驗證截圖</p><p>  用戶通過登錄界面登錄之后,進入主模塊界面。主模塊界面上顯示基礎信息、輔助工具、系統(tǒng)維護、系統(tǒng)設置、幫助和退出菜單,方便

43、用戶進行相關(guān)操作。</p><p>  前一個用于輸入用戶賬號,確定按鈕用于確認登錄,取消按鈕用于退出系統(tǒng)。</p><p><b>  登錄部分代碼:</b></p><p>  namespace MyCyMS</p><p><b>  {</b></p><p>&l

44、t;b>  //登錄界面</b></p><p>  public partial class frmLogin :Form</p><p><b>  { </b></p><p>  private void frmLogin_Load_1(object sender, EventArgs e)</p>&l

45、t;p><b>  {</b></p><p>  // System.Windows.Forms.Control.Top.get;</p><p>  private void txtPwd_KeyPress(object sender, KeyPressEventArgs e)</p><p><b>  {</b&g

46、t;</p><p>  if (e.KeyChar == 13)</p><p><b>  {</b></p><p>  btnSubmit_Click(sender, e);</p><p><b>  }</b></p><p><b>  }</b

47、></p><p><b>  //點擊登錄按鈕</b></p><p>  private void btnSubmit_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (txtName.Text == &

48、quot;")</p><p><b>  {</b></p><p>  MessageBox.Show("請輸入用戶名", "警告", MessageBoxButtons.OK, </p><p>  SqlConnection conn = BaseClass.BaseClass.CyCo

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

50、xt + "'", conn);</p><p>  int i = Convert.ToInt32(cmd.ExecuteScalar());</p><p>  if (i > 0)</p><p><b>  {</b></p><p>  private void button2

51、_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  frmChangePwd a = new frmChangePwd();</p><p>  cmd = new SqlCommand("select * from tb_User where UserNa

52、me='" + txtName.Text + "'", conn);</p><p>  SqlDataReader sdr = cmd.ExecuteReader();</p><p>  sdr.Read();</p><p>  string UserPower = sdr["power"].T

53、oString().Trim();</p><p>  conn.Close();</p><p>  conn.Close();</p><p>  frmMain main = new frmMain();</p><p>  main.power = UserPower;//記錄登錄用戶的權(quán)限</p><p> 

54、 main.Names = txtName.Text;//用戶名</p><p>  //frmChangePwd.n</p><p>  // main.Times = DateTime.Now.ToShortDateString();//只輸出日期</p><p>  main.Times = DateTime.Now.ToString();//記錄登錄<

55、;/p><p>  btnSubmit.Enabled = false;</p><p>  MessageBox.Show("密碼錯誤3次,請退出!");</p><p>  private void button2_Click(object sender, EventArgs e)</p><p><b>  {

56、</b></p><p>  frmChangePwd a = new frmChangePwd();</p><p><b>  a.i = 2;</b></p><p>  a.ShowDialog();</p><p>  a.ShowDialog();</p><p><

57、b>  }</b></p><p>  // 如果點擊用戶名文本框,里面的文本清空,用戶即可輸出用戶名 </p><p>  private void txtName_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p> 

58、 txtName.Text = "";</p><p><b>  } </b></p><p><b>  }</b></p><p><b>  }</b></p><p>  (二)點餐結(jié)賬模塊的實現(xiàn)</p><p>

59、;  服務員在已開臺的桌臺單擊進入點加菜窗體,根據(jù)顧客需要從菜品類別中選取菜,在信息文本中會顯示菜品的信息,服務員只需輸入菜的數(shù)量和選取負責服務員的名字,保存信息后系統(tǒng)記錄顧客所點的菜品的信息,如果顧客不再需要,服務員可以立即刪除記錄,另外服務員還可以根據(jù)具體要求添加備注。在顧客享用過程中,如有需要服務員還可以再次調(diào)出桌臺信息,記錄顧客加菜的信息。在顧客享用完后,服務員只需點擊桌臺彈出點加菜窗體,確定信息完整正確,點擊結(jié)賬按鈕彈出結(jié)賬窗

60、體,系統(tǒng)自動結(jié)算了顧客消費清單,列出了詳細具體的消費情況供顧客查詢,此外,系統(tǒng)還有為服務員計算找零的功能,提高了操作效率。(如圖4至圖5所示)</p><p>  圖4 點餐系統(tǒng)主界面</p><p>  圖5 結(jié)賬系統(tǒng)主界面</p><p><b>  點餐模塊主要代碼:</b></p><p>  namespace

61、 MyCyMS</p><p><b>  {</b></p><p>  public partial class frmJZD : Form</p><p><b>  {</b></p><p>  public frmJZD()</p><p><b>  

62、{</b></p><p>  InitializeComponent();</p><p><b>  }</b></p><p>  public string RName;</p><p>  private void frmJZD_Load(object sender, EventArgs e)<

63、;/p><p><b>  {</b></p><p>  this.Text = RName + "點/加菜";</p><p>  TreeNode newnode1 = tvFood.Nodes.Add("主食");</p><p>  TreeNode newnode2 = t

64、vFood.Nodes.Add("涼菜");</p><p>  TreeNode newnode3 = tvFood.Nodes.Add("酒水");</p><p>  TreeNode newnode4 = tvFood.Nodes.Add("熱菜");</p><p>  SqlConnection

65、 conn = BaseClass.BaseClass.CyCon();</p><p>  conn.Open();</p><p>  SqlCommand cmd = new SqlCommand("select * from tb_food where foodtypeJC='1'", conn);</p><p>  S

66、qlDataReader sdr = cmd.ExecuteReader();</p><p>  while (sdr.Read())</p><p><b>  {</b></p><p>  newnode1.Nodes.Add(sdr[3].ToString().Trim());</p><p><b>

67、;  }</b></p><p>  sdr.Close();</p><p>  cmd = new SqlCommand("select * from tb_food where foodtypeJC='2'", conn);</p><p>  sdr = cmd.ExecuteReader();</p&g

68、t;<p>  while (sdr.Read())</p><p><b>  {</b></p><p>  newnode2.Nodes.Add(sdr[3].ToString().Trim());</p><p><b>  }</b></p><p>  sdr.Close(

69、);</p><p>  cmd = new SqlCommand("select * from tb_food where foodtypeJC='3'", conn);</p><p>  sdr = cmd.ExecuteReader();</p><p>  while (sdr.Read())</p>&l

70、t;p><b>  {</b></p><p>  newnode3.Nodes.Add(sdr[3].ToString().Trim());</p><p><b>  }</b></p><p>  sdr.Close();</p><p>  cmd = new SqlCommand(&

71、quot;select * from tb_food where foodtypeJC='4'", conn);</p><p>  sdr = cmd.ExecuteReader();</p><p>  while (sdr.Read())</p><p><b>  {</b></p><p&

72、gt;  newnode4.Nodes.Add(sdr[3].ToString().Trim());</p><p><b>  }</b></p><p>  sdr.Close();</p><p>  cmd = new SqlCommand("select * from tb_Waiter", conn);</

73、p><p>  sdr = cmd.ExecuteReader();</p><p>  while (sdr.Read())</p><p><b>  {</b></p><p>  cbWaiter.Items.Add(sdr["WaiterName"].ToString().Trim());<

74、;/p><p><b>  }</b></p><p>  cbWaiter.SelectedIndex = 0;</p><p>  sdr.Close();</p><p>  cmd = new SqlCommand("select RoomZT from tb_Room where RoomName=

75、9;" + RName + "'", conn);</p><p>  string zt = Convert.ToString(cmd.ExecuteScalar());</p><p>  if (zt.Trim() == "待用")</p><p><b>  {</b></

76、p><p>  groupBox1.Enabled = false;</p><p>  groupBox2.Enabled = false;</p><p>  groupBox3.Enabled = false;</p><p>  groupBox4.Enabled = false;</p><p><b>

77、;  }</b></p><p>  conn.Close();</p><p>  GetData();</p><p>  tvFood.ExpandAll();</p><p><b>  }</b></p><p>  private void GetData()</p&

78、gt;<p><b>  {</b></p><p>  SqlConnection conn = BaseClass.BaseClass.CyCon();</p><p>  SqlDataAdapter sda = new SqlDataAdapter("select foodname 菜名,foodsum 數(shù)量,foodallprice

79、總價,waitername 服務員,beizhu 備注,zhuotai 桌臺,datatime 日期 from tb_GuestFood where zhuotai='" + RName + "'order by ID desc", conn);</p><p>  DataSet ds = new DataSet();</p><p>  s

80、da.Fill(ds);</p><p>  dataGridView1.DataSource = ds.Tables[0];</p><p><b>  }</b></p><p>  private void button3_Click(object sender, EventArgs e)</p><p><

81、b>  {</b></p><p>  this.Close();</p><p><b>  }</b></p><p>  private void txtpnum_KeyPress(object sender, KeyPressEventArgs e)</p><p><b>  {&l

82、t;/b></p><p>  if ((e.KeyChar != 8 && !char.IsDigit(e.KeyChar)) && e.KeyChar != 13)</p><p><b>  {</b></p><p>  MessageBox.Show("請輸入數(shù)字");<

83、/p><p>  e.Handled = true;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //刪除鍵</b></p><p>  private void button2_Click(o

84、bject sender, EventArgs e)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p> 

85、 private void btSave_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (txtName.Text == "" || txtNum.Text == "" || txtprice.Text == "")<

86、;/p><p><b>  {</b></p><p>  MessageBox.Show("請將選擇菜系");</p><p>  string names = dataGridView1.SelectedCells[0].Value.ToString();</p><p>  SqlConnectio

87、n conn = BaseClass.BaseClass.CyCon();</p><p>  conn.Open()</p><p>  private void tvFood_DoubleClick(object sender, EventArgs e)</p><p><b>  {</b></p><p>  s

88、tring foodname = tvFood.SelectedNode.Text;</p><p>  if (dataGridView1.SelectedRows.Count > 0)</p><p><b>  {</b></p><p>  string names = dataGridView1.SelectedCells[0]

89、.Value.ToString();</p><p>  SqlConnection conn = BaseClass.BaseClass.CyCon();</p><p>  conn.Open()</p><p>  private void tvFood_DoubleClick(object sender, EventArgs e)</p>&l

90、t;p><b>  {</b></p><p>  string foodname = tvFood.SelectedNode.Text;</p><p>  if (foodname == "主食" || foodname == "涼菜" || foodname == "酒水" || foodname

91、 == "熱菜")</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Sql

92、Connection conn = BaseClass.BaseClass.CyCon();</p><p>  conn.Open();</p><p>  SqlCommand cmd = new SqlCommand("select * from tb_food where foodname='" + foodname + "'"

93、;, conn);</p><p>  if (Convert.ToInt32(txtpnum.Text) < 1)</p><p><b>  {</b></p><p>  MessageBox.Show("不能為小于1的數(shù)字");</p><p><b>  return;<

94、;/b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  // txtallprice.Text = Convert.ToString(Convert.ToInt32(txt

95、price.Text) * Convert.ToInt32(txtpnum.Text));</p><p>  txtallprice.Text = Convert.ToString(Convert.ToInt32(txtprice.Text) * Convert.ToInt32(txtpnum.Text))</p><p>  private void btSave_Click(obje

96、ct sender, EventArgs e)</p><p><b>  {</b></p><p>  if (txtName.Text == "" || txtNum.Text == "" || txtprice.Text == "")</p><p><b>  {&

97、lt;/b></p><p>  MessageBox.Show("請將選擇菜系");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  else</b></p>&l

98、t;p><b>  {</b></p><p>  if (txtpnum.Text == "")</p><p><b>  {</b></p><p>  MessageBox.Show("數(shù)量不能為空");</p><p><b>  r

99、eturn;</b></p><p><b>  }</b></p><p>  SqlCommand cmd = new SqlCommand("insert into tb_GuestFood(foodnum,foodname,foodsum,foodallprice,waitername,beizhu,zhuotai,datatime) v

100、alues('" + txtNum.Text.Trim() + "','" + txtName.Text.Trim() + "','" + txtpnum.Text.Trim() + "','" + Convert.ToDecimal(txtallprice.Text.Trim()) + "',

101、'" + cbWaiter.SelectedItem.ToString() + "','" + txtbz.Text.Trim() + "','" + RName + "','" + DateTime.Now.ToString() + "')", conn);</p>&

102、lt;p>  cmd.ExecuteNonQuery();</p><p><b>  }</b></p><p><b>  }</b></p><p>  (三)桌臺管理模塊的實現(xiàn)</p><p>  桌臺信息模塊主要實現(xiàn)的功能是對桌臺信息的添加、查詢、修改和刪除。選擇該窗體以后,如果需要

103、添加信息,用戶需要填寫添加的內(nèi)容,然后按添加按鈕進行添加,修改信息時,用戶需要先從顯示數(shù)據(jù)中選擇需要修改的數(shù)據(jù),將相關(guān)修改信息填寫完成后點擊修改按鈕,查詢時輸入桌臺號,點擊查詢,即可顯示詳細信息的窗口,選擇數(shù)據(jù)后可直接點擊刪除,桌臺信息即從數(shù)據(jù)庫中刪除成功,若要取消操作,直接點擊取消即可。(如圖6所示)</p><p><b>  圖6 桌臺基本信息</b></p><p

104、><b>  桌臺管理模塊代碼:</b></p><p>  namespace MyCyMS</p><p><b>  {</b></p><p>  public partial class frmSerch : Form</p><p><b>  {</b>&l

105、t;/p><p>  public frmSerch()</p><p><b>  {</b></p><p>  InitializeComponent();</p><p><b>  }</b></p><p>  public string RName;</p&g

106、t;<p>  private void frmSerch_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>

107、;  SqlConnection conn = BaseClass.BaseClass.CyCon();</p><p>  SqlDataAdapter sda = new SqlDataAdapter("select foodname 菜名,foodsum 數(shù)量,foodallprice 總價,waitername 服務員,beizhu 備注,zhuotai 桌臺,datatime 時間 from

108、 tb_GuestFood where zhuotai='" + RName + "'order by ID ", conn);</p><p>  DataSet ds = new DataSet();</p><p>  sda.Fill(ds);</p><p>  dataGridView1.DataSource

109、 = ds.Tables[0];</p><p><b>  }</b></p><p>  catch (Exception err)</p><p><b>  {</b></p><p>  MessageBox.Show("保存數(shù)據(jù)記錄發(fā)生 " + err.ToStrin

110、g(), "錯誤!");</p><p><b>  } </b></p><p><b>  }</b></p><p><b>  //退出按鈕</b></p><p>  private void button1_Click_1(object send

111、er, EventArgs e)</p><p><b>  {</b></p><p>  this.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b

112、></p><p> ?。ㄋ模┞毠ば畔⒐芾砟K的實現(xiàn)</p><p>  職工信息模塊主要實現(xiàn)的功能是對職工信息的添加、查詢、修改和刪除。選擇該窗體以后,如果需要添加信息,用戶需要填寫添加的內(nèi)容,然后按添加按鈕進行添加,修改信息時,用戶需要先從顯示數(shù)據(jù)中選擇需要修改的數(shù)據(jù),將相關(guān)修改信息填寫完成后點擊修改按鈕,查詢時輸入桌臺號,點擊查詢,即可顯示詳細信息的窗口,選擇數(shù)據(jù)后可直接點擊刪

113、除,職工信息即從數(shù)據(jù)庫中刪除成功,若要取消操作,直接點擊取消即可。(如圖7所示)</p><p><b>  圖7 職工基本信息</b></p><p> ?。ㄎ澹┫到y(tǒng)管理模塊實現(xiàn)</p><p>  系統(tǒng)設置模塊主要實現(xiàn)的功能是對管理員的添加、查詢、修改和刪除,以及軟件的鎖定和數(shù)據(jù)庫的備份和還原。選擇該窗體以后,如果需要添加管理員,用戶需要填

114、寫添加的內(nèi)容,然后按添加按鈕進行添加,修改信息時,用戶需要輸入管理員名稱,將相關(guān)修改信息填寫完成后點擊修改按鈕,查詢時點擊查詢,即可顯示所有管理員的窗口,數(shù)據(jù)庫的備份和操作只需點擊相應按鈕就好,點擊鎖定軟件后必須鍵入管理員密碼才可解鎖。(如圖8至圖10所示)</p><p><b>  圖8 管理員權(quán)限</b></p><p><b>  圖9 數(shù)據(jù)備份&l

115、t;/b></p><p>  該模塊可以及時的備份數(shù)據(jù)庫,以免出現(xiàn)不可抗拒的因素使得數(shù)據(jù)丟失恢復系統(tǒng)。</p><p>  圖10 系統(tǒng)恢復模塊界面</p><p>  數(shù)據(jù)得到備份后利用該模塊可以使得數(shù)據(jù)庫得以及時的恢復。</p><p><b>  五、系統(tǒng)測試</b></p><p>

116、;<b>  (一)測試目的</b></p><p>  通過科學的方法盡可能多的發(fā)現(xiàn)系統(tǒng)中的缺陷,主要測試系統(tǒng)功能是否與需求說明書規(guī)定的功能性需求與設計的功能性需求相符,系統(tǒng)功能是否實現(xiàn),系統(tǒng)是否捕獲異常數(shù)據(jù)并正確輸出數(shù)據(jù)。</p><p><b> ?。ǘy試方法</b></p><p>  本次測試用例設計主要采用

117、黑盒測試方法,功能模塊及集成測試采用的具體方法有等價類劃分、邊界值劃分、正交分解、因果圖分析和錯誤猜測。在系統(tǒng)測試時依據(jù)業(yè)務流程采用回歸測試。</p><p><b> ?。ㄈy試環(huán)境</b></p><p>  1.操作系統(tǒng):Windows VISTA </p><p>  2.CPU: Intel(R) Pentium(R)4 CPU 3

118、.00HZ</p><p>  3.硬盤可用空間:160GB</p><p>  4.數(shù)據(jù)庫:Microsoft SQL Server 2005</p><p><b> ?。ㄋ模y試結(jié)果</b></p><p>  1.登錄模塊測試(如圖11至圖12所示)</p><p>  前一個用于輸入用戶

119、賬號,確定按鈕用于確認登錄,取消按鈕用于退出系統(tǒng)。后一個用于輸入登錄密碼,輸入賬號輸入錯誤密碼,則跳出提示。</p><p>  圖11 登錄測試截圖</p><p>  圖12 登錄測試截圖</p><p>  2.點餐結(jié)賬模塊測試(如圖13至圖16所示)</p><p>  圖13 點餐主界面截圖</p><p>

120、  服務員在已開臺的桌臺單擊進入點加菜窗體,根據(jù)顧客需要從菜品類別中選取菜,在信息文本中會顯示菜品的信息,服務員只需輸入菜的數(shù)量和選取負責服務員的名字,保存信息后系統(tǒng)記錄顧客所點的菜品的信息,如果顧客不再需要,服務員可以立即刪除記錄,另外服務員還可以根據(jù)具體要求添加備注。</p><p>  圖14 點菜測試截圖</p><p>  圖15 廚師配餐測試截圖</p><

121、p>  回到主界面,右鍵單擊使用中的桌臺圖標,之后單擊“結(jié)賬”,可對相應的桌臺進行結(jié)賬,根據(jù)消費總額及顧客支付金額,系統(tǒng)給出找零金額。</p><p>  圖16 收銀模塊測試截圖</p><p>  3.桌臺信息管理模塊測試(如圖17至圖18所示)</p><p>  圖17 桌臺管理模塊測試截圖</p><p>  桌臺信息模塊主要

122、實現(xiàn)的功能是對桌臺信息的添加、查詢、修改和刪除。</p><p>  圖18 桌臺管理模塊測試截圖</p><p>  4. 職工信息管理模塊測試(如圖19至圖20所示)</p><p>  職工信息模塊主要實現(xiàn)的功能是對職工信息的添加、查詢、修改和刪除。</p><p>  圖19 桌臺管理模塊測試截圖</p><p&g

123、t;  圖20 桌臺管理模塊測試截圖</p><p>  5.系統(tǒng)管理模塊測試(如圖21所示)</p><p>  圖21 管理權(quán)限測試圖</p><p>  超級管理員擁有所有權(quán)限。經(jīng)理除了系統(tǒng)維護外,其他操縱都可以,普通用戶只能實現(xiàn)輔助工具的使用權(quán)限。</p><p><b>  6.結(jié)果</b></p>

124、<p>  系統(tǒng)經(jīng)過大量的測試,系統(tǒng)90%以上的功能能正常運行,在功能及性能上達到設計要求。</p><p><b>  六、結(jié)論</b></p><p>  本文從結(jié)構(gòu)化開發(fā)過程的原理出發(fā),在分析餐飲系統(tǒng)工作流程的基礎上,討論并建立了餐廳點餐系統(tǒng)的工作流模型,采用C#+Sql Server 2005實現(xiàn)了餐廳點餐信息管理系統(tǒng),運用黑盒測試原理對該系統(tǒng)進

125、行的單元測試及集成測試表明。該系統(tǒng)實現(xiàn)了:(1)登錄模塊;(2)點餐結(jié)賬模塊;(3)桌臺管理模塊;(4)職工信息管理模塊;(5)系統(tǒng)管理模塊。</p><p>  本系統(tǒng)目前存在的問題主要表現(xiàn)在菜譜的及時更新方面,如經(jīng)理在營業(yè)期間對菜譜價格做了及時調(diào)整,客人在點餐的時候會遇到價格沒有及時更新的情況,另外本系統(tǒng)在資金結(jié)算方面還不夠人性化,如不支持銀行卡結(jié)算,這些問題是本系統(tǒng)今后改進的方向。</p>&

126、lt;p><b>  參考文獻</b></p><p>  [1] 陸慧恩.軟件工程[M].北京:人民郵電出版社,2007 </p><p>  [2] 孫涌.現(xiàn)代軟件工程[M].北京:北京希望電子出版社,2002</p><p>  [3] 鄧良松,劉海巖,陸麗娜.軟件工程[M].西安:西安電子科技大學出版社,2004</p>

127、;<p>  [4] 周蘇,王文.軟件工程學教程[M].北京:科學出版社,2002</p><p>  [5] 王少峰.面向?qū)ο蠹夹g(shù)UML教程[M].北京:清華大學出版社,2004 </p><p>  [6] 李大軍.POS系統(tǒng)應用[M].北京:清華大學出版社,2004</p><p>  [7] 徐士良,葛兵.計算機軟件技術(shù)基礎[M].北京:清華大

128、學出版社,2010</p><p>  [8] 錢哨,李揮劍,李繼哲.C# WinForm 實踐開發(fā)教程[M].北京:水利水電出版社,2010</p><p>  [9] 蔣瀚洋,李月軍,龐婭娟.SQL Server 2005數(shù)據(jù)庫管理與開發(fā)教程[M].北京:人民郵電出版社,2010</p><p>  [10]王小科,呂雙.C#從入門到精通[M].北京:清華大學出

129、版社,2008</p><p>  [11]黃梯云,李一軍.管理信息系統(tǒng)[M].北京:高等教育出版社,2009</p><p>  [12]周新會,傅立宏.ASP通用模塊及典型系統(tǒng)開發(fā)實例導航[M].北京:人民郵電出版社,2006</p><p>  [13]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2005</p><p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論