餐飲管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)論文_第1頁
餐飲管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)論文_第2頁
餐飲管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)論文_第3頁
餐飲管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)論文_第4頁
餐飲管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、河南科技大學(xué)課 程 設(shè) 計(jì) 說 明 書課程名稱 程序設(shè)計(jì)方法課程設(shè)計(jì) 題 目 酒店餐飲管理系統(tǒng)的設(shè)計(jì) 院 系 經(jīng)濟(jì)與管理學(xué)院 班 級 信管122 學(xué)生姓名 韋一 指導(dǎo)教師 靖恒昌 日 期 2012年12月20日 課程設(shè)計(jì)任務(wù)書(指導(dǎo)教師填寫)課程設(shè)計(jì)名稱 程序設(shè)計(jì)方法課程設(shè)計(jì) 學(xué)生姓名 韋一 專業(yè)班級 信管122 設(shè)計(jì)題目 酒店餐飲管理系統(tǒng) 一、 課程設(shè)計(jì)目的該課程設(shè)計(jì)是信息管理本科集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)完數(shù)據(jù)庫基礎(chǔ)與應(yīng)用和程序設(shè)計(jì)方法課程后進(jìn)行的一次全面的綜合練習(xí)。其目的是通過本課程設(shè)計(jì)使學(xué)生對具體問題應(yīng)用程序設(shè)計(jì)方法課程中所學(xué)的方法與技術(shù),進(jìn)行需求分析及軟件設(shè)計(jì)的過程,不僅對程序設(shè)計(jì)方

2、法課程中的所有知識點(diǎn)進(jìn)行一個(gè)全面的復(fù)習(xí)鞏固,更重要的是增強(qiáng)學(xué)生解決實(shí)際問題的能力。二、 設(shè)計(jì)內(nèi)容、技術(shù)條件和要求(1)本環(huán)節(jié)要求學(xué)生根據(jù)程序設(shè)計(jì)方法整個(gè)課程的所學(xué)內(nèi)容,自己獨(dú)立設(shè)計(jì)完成一個(gè)比較復(fù)雜的小型管理系統(tǒng)。(2)所設(shè)計(jì)的小型管理系統(tǒng)要求功能比較完善,應(yīng)包含輸入輸出、查詢、插入、刪除、打印等基本功能(2)程序內(nèi)容自己靈活設(shè)計(jì),包括規(guī)劃自己的數(shù)據(jù)庫和設(shè)計(jì)程序功能和界面設(shè)計(jì)。(3)數(shù)據(jù)庫中不能少于兩個(gè)表。(5)程序應(yīng)功能完善,界面友好,容錯(cuò)性好,操作方便。三、時(shí)間進(jìn)度安排系統(tǒng)分析與規(guī)劃 半周系統(tǒng)設(shè)計(jì)與調(diào)試 一周撰寫課程設(shè)計(jì)說明書 半周四、主要參考文獻(xiàn)鄭阿奇,PowerBuilder 實(shí)用教程(

3、第二版),電子工業(yè)出版社董軍,王玉,康祥順,PowerBuilder案例開發(fā)集錦,電子工業(yè)出版社張長富,PowerBuilder9.0實(shí)例教程,電子科技大學(xué)出版社指導(dǎo)教師簽字: 2012 年 12 月 23 日 需求分析 通過實(shí)際了解,要求本系統(tǒng)具有以下功能:系統(tǒng)采用人機(jī)交互的方式,界面美觀友好,信息查詢靈活、方便,數(shù)據(jù)存儲安全可靠。實(shí)現(xiàn)對餐廳顧客開臺、點(diǎn)菜/加菜、賬目查詢和結(jié)賬等操作。對用戶輸入的數(shù)據(jù),進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能的避免人為錯(cuò)誤。實(shí)現(xiàn)對消費(fèi)賬目自動(dòng)結(jié)算。實(shí)現(xiàn)對消費(fèi)的歷史記錄進(jìn)行查詢。實(shí)現(xiàn)對餐廳人員流動(dòng)進(jìn)行管理以及能夠管理餐廳桌臺信息。系統(tǒng)應(yīng)最大限度地實(shí)現(xiàn)易維護(hù)性和易操作性。餐飲

4、管理系統(tǒng)的用例圖,如下圖2.1所示。圖2.1 餐飲管理系統(tǒng)的用例圖 項(xiàng)目規(guī)劃餐飲管理系統(tǒng)主要由用戶登錄、桌臺信息管理、服務(wù)員信息管理、修改密碼、開臺、取消開臺、點(diǎn)/加菜、消費(fèi)查詢、數(shù)據(jù)庫管理和退出等模塊組成,具體規(guī)劃如下。(1) 用戶登錄模塊該模塊主要用于實(shí)現(xiàn)驗(yàn)證用戶是否合法,只有合法用戶才能有權(quán)登錄,只有登錄成功情況下才能進(jìn)入系統(tǒng)功能主界面,并且在登錄的同時(shí)能驗(yàn)證登錄人員的管理權(quán)限,根據(jù)權(quán)限顯示其能管理范圍。(2) 桌臺信息管理模塊該模塊主要用于管理桌臺的信息,可以設(shè)置桌臺名稱,桌臺位置,桌臺占用所需價(jià)錢。(3) 服務(wù)員信息管理模塊該模塊主要用于方便對服務(wù)人員的信息進(jìn)行管理。(4) 修改密碼

5、模塊該模塊主要用于實(shí)現(xiàn)對登錄人員的密碼進(jìn)行管理,長時(shí)間不更換密碼是不安全的,增加此模塊能增加系統(tǒng)的安全性。(5) 開臺模塊該模塊主要用于實(shí)現(xiàn)對顧客進(jìn)行開臺,已經(jīng)占用的桌臺不能被再次分配,方便分配未占用的桌臺給顧客(6) 取消開臺模塊該模塊主要用于實(shí)現(xiàn)對已經(jīng)開臺的桌臺進(jìn)行取消開臺。(7) 消費(fèi)查詢模塊該模塊主要用于實(shí)現(xiàn)客戶能夠查詢自己已消費(fèi)清單情況,進(jìn)行核對自己的消費(fèi)。(8) 結(jié)賬模塊該模塊主要用于實(shí)現(xiàn)對客戶的消費(fèi)進(jìn)行自動(dòng)匯總,顯示消費(fèi)金額,能進(jìn)行找零計(jì)算。(9) 數(shù)據(jù)庫管理模塊該模塊主要用于實(shí)現(xiàn)對系統(tǒng)數(shù)據(jù)庫的備份,防止系統(tǒng)在死機(jī)的情況下丟失大量重要信息。餐飲管理系統(tǒng)的業(yè)務(wù)流程圖如圖3.1所示。

6、 系統(tǒng)功能結(jié)構(gòu)系統(tǒng)功能結(jié)構(gòu)圖如圖3.2所示。餐飲管理系統(tǒng)密碼管理服務(wù)員管理消費(fèi)查詢管理結(jié)賬管理數(shù)據(jù)庫管理用戶登錄管理guanl桌臺信息管理修改密碼刪除更新添加恢復(fù)備份刪除更新開臺取消開臺添加數(shù)據(jù)表概要說明為了對本系統(tǒng)后臺數(shù)據(jù)庫中的數(shù)據(jù)表有一個(gè)更清晰的認(rèn)識,在此設(shè)計(jì)了一個(gè)數(shù)據(jù)表樹形結(jié)構(gòu)圖,該結(jié)構(gòu)圖包括系統(tǒng)所有數(shù)據(jù)表,如圖所示。數(shù)據(jù)表樹狀結(jié)構(gòu)圖部分?jǐn)?shù)據(jù)表E-R圖本里中規(guī)化出的實(shí)體主要有菜品信息實(shí)體、顧客點(diǎn)菜信息實(shí)體、桌臺信息實(shí)體、用戶登錄信息實(shí)體和服務(wù)員信息實(shí)體。其中部分實(shí)體的E-R圖如下所示。用戶表實(shí)體E-R圖菜品信息實(shí)體E-R圖桌臺信息實(shí)體E-R圖員工信息實(shí)體E-R圖顧客點(diǎn)菜信息實(shí)體E-R圖數(shù)

7、據(jù)表的結(jié)構(gòu)(1) food表(菜品信息表)表food用于保存菜品的基本信息,該表的結(jié)構(gòu)如圖所示。菜品信息表(2) guestfood表(顧客點(diǎn)菜信息表)表guestfood用于保存顧客點(diǎn)菜的詳細(xì)信息,該表的結(jié)構(gòu)如圖所示。(3) room表(桌臺信息表)表room用于保存桌臺的一些有關(guān)信息,該表的結(jié)構(gòu)如圖4.9所示。桌臺信息表(4) userlogin 表(登錄人員信息表)表userlogin用于保存登錄用戶基本信息,表的結(jié)構(gòu)如圖4.10所示。登錄用戶信息表(5) waiter表(餐廳服務(wù)人員信息表)表waiter用于保存餐廳服務(wù)人員的一些基本信息,表的結(jié)構(gòu)如圖所示。餐廳服務(wù)人員信息表系統(tǒng)登錄模

8、塊的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)登錄主要用于對進(jìn)入餐飲管理系統(tǒng)的用戶進(jìn)行安全性檢查,以防止非法用戶進(jìn)入該系統(tǒng)。在登錄時(shí),只有合法的用戶,才可以進(jìn)入該系統(tǒng)。系統(tǒng)登錄窗體如圖4.12所示。系統(tǒng)登錄代碼設(shè)計(jì)單擊【確定】按鈕,程序執(zhí)行判斷用戶輸入的用戶名和密碼是否正確,如果正確,則成功登錄餐飲管理系統(tǒng),并將用戶名、用戶使用權(quán)限、用戶登陸時(shí)間傳到主窗體中,同時(shí)分別使用Names、power、Times全局變量進(jìn)行接受。否則,彈出“用戶名或密碼錯(cuò)誤”信息提示。【確定】按鈕的Click事件代碼如下: private void btnSure_Click(object sender, EventArgs e) if (tx

9、tUserName .Text = )/判斷用戶名是否為空 MessageBox.Show(用戶名不能為空, 警告, MessageBoxButtons.OK, MessageBoxIcon.Warning); else if (txtPwd.Text = )/判斷密碼是否為空 MessageBox.Show(請輸入密碼, 警告, MessageBoxButtons.OK, MessageBoxIcon.Warning); else/用戶名及密碼不為空的情況下執(zhí)行如下代碼 SqlConnection conn = connectToDatabase .restaurantManagementC

10、onn (); conn.Open(); SqlCommand cmd = new SqlCommand(select count(*) from UserLogin where UserName= + txtUserName .Text + and UserPwd= + txtPwd .Text + , conn); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i 0) cmd = new SqlCommand(select * from UserLogin where UserName= + txtUserName .Text + ,

11、conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); string UserPower = sdrPower.ToString().Trim(); conn.Close(); formMain main = new formMain(); main.power = UserPower; main.Names = txtUserName .Text ; main.Times = DateTime.Now.ToShortDateString(); main.Show(); this.Hide(); else MessageBox.S

12、how(用戶名或密碼錯(cuò)誤); 主窗體的設(shè)計(jì)與實(shí)現(xiàn)在正確驗(yàn)證用戶的用戶名和密碼以后,就顯示出餐飲管理系統(tǒng)的主窗體。主窗體主要用于顯示系統(tǒng)所具有的功能,例如菜單欄里顯示了基礎(chǔ)信息、輔助工具、系統(tǒng)設(shè)置、退出系統(tǒng)、系統(tǒng)維護(hù)等幾個(gè)功能模塊。用戶可以選擇相應(yīng)的按鈕對應(yīng)的子功能對系統(tǒng)進(jìn)行不同的操作,餐飲管理系統(tǒng)的主窗體如圖4.13所示。主窗體主窗體實(shí)現(xiàn)的幾個(gè)重要功能實(shí)現(xiàn)代碼如下: /接收從login窗體傳來的信息,以下四個(gè)定義的變量是以后代碼用到的全局變量 public string power; public string Names; public string Times; private SqlDa

13、taReader sdr; /以下是窗體加載時(shí)執(zhí)行的代碼 private void formMain_Load(object sender, EventArgs e) StatusLabeUser.Text = Names; StatusLabeLoginTime.Text = Times; switch (power) case 0: StatusLabePower.Text = 超級管理員; break; case 1: StatusLabePower.Text = 經(jīng)理; TSMenuItemSystemMaintenance.Enabled = false; break; privat

14、e void formMain_Activated(object sender, EventArgs e)/窗體激發(fā)時(shí)執(zhí)行如下代碼 lvDesk.Items.Clear(); SqlConnection conn = connectToDatabase.restaurantManagementConn(); conn.Open(); SqlCommand cmd = new SqlCommand(select * from Room, conn); sdr = cmd.ExecuteReader(); while ( sdr .Read() string status = sdrRoomSta

15、tus.ToString().Trim(); AddItems(status );/根據(jù)桌臺使用與否,選擇圖片顯示桌子是否在被用中 conn.Close(); private void AddItems(string status) if (status = 使用) lvDesk.Items.Add(sdrRoomName.ToString(), 1); else lvDesk.Items.Add(sdrRoomName.ToString(), 0); /右鍵中單擊開臺會執(zhí)行如下代碼 private void 開臺ToolStripMenuItem_Click(object sender, E

16、ventArgs e) if (lvDesk.SelectedItems.Count != 0) string names = lvDesk.SelectedItems0.SubItems0.Text; formOpen frm = new formOpen(); = names; frm.ShowDialog(); else MessageBox.Show(請選擇一個(gè)桌臺進(jìn)行開臺); /右鍵中單擊取消開臺會執(zhí)行如下代碼 private void 取消開臺ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDes

17、k.SelectedItems.Count != 0) string names = lvDesk.SelectedItems0.SubItems0.Text; SqlConnection conn = connectToDatabase.restaurantManagementConn(); conn.Open(); SqlCommand cmd = new SqlCommand(update Room set RoomStatus=待用,Num=0 Where RoomName= + names + , conn); cmd.ExecuteNonQuery(); cmd = new Sql

18、Command(delete from GuestFood where DiningTable= + names + , conn); cmd.ExecuteNonQuery(); conn.Close(); formMain_Activated(sender, e); else MessageBox.Show(請選擇桌臺); 其他右鍵功能代碼在源代碼中,代碼設(shè)計(jì)思想和開臺代碼類似。 /單擊listview控件中的一項(xiàng)內(nèi)容時(shí)會執(zhí)行如下代碼,這里我們將listview的name定義為lvDesk private void lvDesk_Click(object sender, EventArgs

19、 e) string names = lvDesk.SelectedItems0.SubItems0.Text; SqlConnection conn = connectToDatabase.restaurantManagementConn(); conn.Open(); SqlCommand cmd = new SqlCommand(select * from Room where RoomName= + names + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); string status = sdrRoomS

20、tatus.ToString().Trim();/將選中桌臺的狀態(tài)信息提取出來 sdr.Close(); if (status = 使用) this.contextMenuStrip1.Items0.Enabled = false; this.contextMenuStrip1.Items1.Enabled = true; this.contextMenuStrip1.Items3.Enabled = true; this.contextMenuStrip1.Items5.Enabled = true; this.contextMenuStrip1.Items6.Enabled = true;

21、 if (status = 待用) this.contextMenuStrip1.Items0.Enabled = true; this.contextMenuStrip1.Items1.Enabled = false; this.contextMenuStrip1.Items3.Enabled = false; this.contextMenuStrip1.Items5.Enabled = false; this.contextMenuStrip1.Items6.Enabled = false; conn.Close(); /雙擊listview控件中的一項(xiàng)內(nèi)容時(shí)會執(zhí)行如下代碼 privat

22、e void lvDesk_DoubleClick(object sender, EventArgs e) deskInfo desk = new deskInfo (); desk .tableName = lvDesk.SelectedItems0.SubItems0.Text; desk.ShowDialog(); /單擊menustrip控件中基礎(chǔ)信息下的桌臺信息管理按鈕會執(zhí)行如下代碼 private void TSMenuItemTableInfo_Click(object sender, EventArgs e) deskInfoManagement desk = new desk

23、InfoManagement(); desk.ShowDialog(); menustrip控件中的其他按鈕的代碼設(shè)計(jì)思路與上面的單擊menustrip控件中基礎(chǔ)信息下的桌臺信息管理按鈕類似都是初始化一個(gè)相應(yīng)窗體的對象,顯示窗體。注:其他代碼詳見系統(tǒng)設(shè)計(jì)文檔。右鍵菜單中的幾個(gè)重要功能的介紹右鍵菜單功能中顧客可以選擇開臺,取消開臺,點(diǎn)菜,查詢消費(fèi)記錄以及結(jié)賬,下面介紹其中三個(gè)重要功能的實(shí)現(xiàn)代碼,有開臺,點(diǎn)菜以及結(jié)賬,窗體運(yùn)行結(jié)果分別如圖4.14、圖4.15和圖4.16所示。開臺窗體點(diǎn)菜窗體結(jié)賬窗體憑證信息錄入窗體的主要實(shí)現(xiàn)代碼如下: 實(shí)現(xiàn)代碼 public string name; public

24、 SqlConnection conn; private void formOpen_Load(object sender, EventArgs e) conn = connectToDatabase.restaurantManagementConn(); conn.Open(); SqlCommand cmd = new SqlCommand(select * from Room, conn); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read() cbNum.Items.Add(sdrRoomName.ToString().T

25、rim(); cbNum.SelectedItem = name.Trim(); sdr.Close(); cmd = new SqlCommand(select * from Waiter, conn); sdr = cmd.ExecuteReader(); while (sdr.Read() cbWaiter.Items.Add(sdrWaiterName.ToString().Trim(); cbWaiter.SelectedIndex = 0; sdr.Close(); private void txtNum_KeyPress(object sender, KeyPressEventA

26、rgs e) if (e.KeyChar != 8 & !char.IsDigit(e.KeyChar) & e.KeyChar != 13) MessageBox.Show(請輸入數(shù)字); e.Handled = true; private void btnSave_Click(object sender, EventArgs e) if (txtNum.Text = | Convert.ToInt32(txtNum.Text) 0) string names = dgvFoods.SelectedCells0.Value.ToString(); SqlConnection conn = c

27、onnectToDatabase.restaurantManagementConn(); conn.Open(); SqlCommand cmd = new SqlCommand(delete from GuestFood where foodname= + names + and diningTable= + RName + , conn); cmd.ExecuteNonQuery(); conn.Close(); GetData(); private void btnSave_Click(object sender, EventArgs e) if (txtName.Text = | tx

28、tNum.Text = | txtprice.Text = ) MessageBox.Show(請將選擇菜系); return; else if (txtpnum.Text = ) MessageBox.Show(數(shù)量不能為空); return; else if (Convert.ToInt32(txtpnum.Text) = 0) MessageBox.Show(請輸入消費(fèi)數(shù)量); return; else SqlConnection conn = connectToDatabase.restaurantManagementConn(); conn.Open(); i+; SqlCommand cmd = new SqlCommand(insert into GuestFood(id, FoodNum,f

溫馨提示

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

最新文檔

評論

0/150

提交評論