版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫原理與應(yīng)用課程設(shè)計分析與設(shè)計報告題 目 小型餐飲管理系統(tǒng) 專業(yè)班級 學(xué) 號 姓 名 指導(dǎo)老師 完成時間 2012-1-13 目 錄1 設(shè)計任務(wù)與要求12 需求分析12.1功能需求12.2性能需求12.3數(shù)據(jù)需求12.4運(yùn)行需求13 系統(tǒng)總體設(shè)計23.1系統(tǒng)總體框架設(shè)計23.2各模塊功能分析2(2)系統(tǒng)主界面主要功能:34 數(shù)據(jù)庫設(shè)計44.1概念結(jié)構(gòu)設(shè)計44.2邏輯結(jié)構(gòu)設(shè)計44.3物理結(jié)構(gòu)設(shè)計55 運(yùn)行結(jié)果和測試166 參考資料211 設(shè)計任務(wù)與要求主要說明所選課題的目的、任務(wù)和意義。使用軟件工程的思路確定總體方案;使學(xué)生掌握數(shù)據(jù)庫的基本概念;完成詳細(xì)的需求分析,涉及合理的數(shù)據(jù)庫,能夠?qū)崿F(xiàn)
2、對小型餐飲業(yè)的日常業(yè)務(wù)管理,包括客戶信息、餐飲信息的增加、刪除、修改和查詢,客戶消費(fèi)的結(jié)賬和查詢等操作;采用設(shè)計工具完成概念結(jié)構(gòu)設(shè)計,形成清晰的ER模型,建立規(guī)范化程度較高的關(guān)系模型;編碼測試,最終完成開發(fā)任務(wù);具體過程包括:系統(tǒng)方案的確定,數(shù)據(jù)庫設(shè)計,數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn),系統(tǒng)主界面設(shè)計,模塊功能的詳細(xì)實現(xiàn),調(diào)試完成系統(tǒng),撰寫并提交設(shè)計報告。設(shè)計報告內(nèi)容包括:設(shè)計題目、任務(wù)要求、系統(tǒng)總體方案、各個模塊實現(xiàn)和數(shù)據(jù)流圖,心得體會和參考資料。2 需求分析2.1功能需求餐飲管理系統(tǒng)中主要包括對以下幾種管理:賬單管理,財務(wù)管理,訂餐管理,菜品管理,系統(tǒng)管理。(1)系統(tǒng)管理:系統(tǒng)管理包括用戶名和密碼,主要用
3、于用戶登陸界面登陸和查詢。(2)賬單管理:賬單管理包括賬單號和餐臺,每一個餐臺對應(yīng)一個一個賬單號,通過餐臺號的記錄來對對應(yīng)的餐臺進(jìn)行記賬管理,即就是記錄每一個餐臺的消費(fèi)金額。賬單管理是財務(wù)管理的一個小分支,是服務(wù)于財務(wù)管理的。(3)財務(wù)管理:包括賬單號,時間和賬目。賬目用于記錄賬單號的消費(fèi)金額及時間,以便用于結(jié)算和匯總。每日的結(jié)算要通過對每個餐臺號的消費(fèi)金額匯總來記錄,然后由每日的結(jié)算匯總得出每月的結(jié)算。帳務(wù)系統(tǒng)功能的完整性。一旦該系統(tǒng)正式運(yùn)行,餐廳每日營業(yè)帳和全部往來客戶帳務(wù)的操作結(jié)算都將依靠計算機(jī),該系統(tǒng)面對當(dāng)前餐飲業(yè)各種復(fù)雜的結(jié)算要求應(yīng)具有很強(qiáng)的應(yīng)變能力。(4)訂餐管理:訂餐管理僅包括單
4、價。訂餐管理是便于顧客訂餐和賬單管理時對各個菜品消費(fèi)金額的記錄,這樣便于賬單管理和財務(wù)匯總。 (5)菜品管理:菜品管理包括菜名,菜品類別和菜品品種。菜品管理便于顧客點(diǎn)菜和記錄各個餐臺的消費(fèi)記賬,菜品品種也便于餐館的食材采購。2.2性能需求該餐飲系統(tǒng)操作簡單方便可適應(yīng)各類中小型餐館。2.3數(shù)據(jù)需求賬單管理中賬單號是主鍵,每一個餐臺對應(yīng)一個賬單號。財務(wù)管理中賬單號是主鍵,每一個賬單號都有對應(yīng)的時間和賬目記錄。訂餐管理中單價就是主鍵。菜品管理中菜名是主鍵。系統(tǒng)管理中用戶名是主鍵。2.4運(yùn)行需求用戶界面本界面是由人工按菜單提示輸入信號,軟件對其進(jìn)行處理。硬件接口此系統(tǒng)存在點(diǎn)菜機(jī)按鍵與屏幕映射方面的接口
5、軟件接口本軟件同外部無軟件接口故障處理軟件故障:系統(tǒng)運(yùn)行過程中可能在輸入密碼后并無任何提示信息,或者查詢詳單時無輸出信息,內(nèi)存泄漏等。這些都給用戶帶來不必要的麻煩,故在程序設(shè)計中,代碼編寫以及測試的時候都要仔細(xì)關(guān)注這些方面的問題。硬件故障:某些硬件故障無法解決,應(yīng)與相關(guān)部門及時聯(lián)系,解決問題。3 系統(tǒng)總體設(shè)計 3.1系統(tǒng)總體框架設(shè)計根據(jù)業(yè)務(wù)情況,該系統(tǒng)共分為開臺管理、客人買單、菜譜信息設(shè)置、客戶點(diǎn)菜、酒水信息設(shè)置等模塊,系統(tǒng)結(jié)構(gòu)圖如圖3.1所示。小型餐飲業(yè)管理系統(tǒng)系統(tǒng)管理賬單管理訂餐管理財務(wù)管理菜品管理用戶管理密碼管理賬單號管理餐臺管理訂單查詢餐臺點(diǎn)餐管理每日賬目管理賬目時間管理菜名管理菜品管
6、理菜價管理類別管理 圖3.1 餐飲管理系統(tǒng)結(jié)構(gòu)圖3.2各模塊功能分析(1)系統(tǒng)登錄窗口主要功能:1)以圖標(biāo)形式顯示數(shù)據(jù)庫中操作員,并憑口令登入到主界面。2)操作員輸入錯誤密碼提醒錯誤并返回,三次輸入錯誤口令則退出系統(tǒng)。3)實現(xiàn)權(quán)限登錄:系統(tǒng)管理員擁有一切權(quán)利,其他操作員則被限制一些操作權(quán)限。(2)系統(tǒng)主界面主要功能:1)根據(jù)操作員權(quán)限設(shè)置相應(yīng)權(quán)限的菜單和工具欄功能。2)可通過菜單或快捷鍵進(jìn)入相應(yīng)子界面。3)顯示了系統(tǒng)當(dāng)前時間和相應(yīng)操作員。(3)系統(tǒng)菜譜信息設(shè)置界面主要功能:實現(xiàn)對菜譜信息的添加、修改、刪除、查詢的功能。(4)系統(tǒng)開臺管理界面主要功能:1)以圖標(biāo)模式顯示空臺、營業(yè)臺,點(diǎn)擊臺號圖標(biāo)
7、則自動顯示相應(yīng)臺號信息。2)通過輸入臺號檢索符合條件的臺號。3)點(diǎn)擊空房自動彈出與昂查詢窗口從而自動開臺。(5)系統(tǒng)點(diǎn)菜界面主要功能:1)實現(xiàn)菜譜,酒水查詢的鏈接。2)點(diǎn)擊“開始點(diǎn)菜”按鈕臺號狀態(tài)自動變?yōu)殚_臺,并聚焦到編號欄。3)在編號欄輸入菜編號按回車自動錄入菜的信息,。4)自動生成結(jié)賬編號,輸入菜數(shù)量自動計算合計消費(fèi)金額。5)可實現(xiàn)掛單、讀單、放棄開臺和點(diǎn)菜完畢返回的功能。4 數(shù)據(jù)庫設(shè)計4.1概念結(jié)構(gòu)設(shè)計圖4.1數(shù)據(jù)庫的概念模型圖4.2邏輯結(jié)構(gòu)設(shè)計圖4.2數(shù)據(jù)庫的物理模型圖4.3物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫結(jié)構(gòu)設(shè)計是總體設(shè)計階段非常重要的環(huán)節(jié),好的數(shù)據(jù)庫結(jié)構(gòu)可以簡化開發(fā)過程,使系統(tǒng)功能更加清晰明確。
8、因為數(shù)據(jù)庫結(jié)構(gòu)的變化會造成編碼的改動,所以必須認(rèn)真設(shè)計數(shù)據(jù)庫后再進(jìn)行編碼,從而避免了無謂的重復(fù)的工作。本系統(tǒng)采用了SQL Server數(shù)據(jù)庫,數(shù)據(jù)庫名稱為060412079。該數(shù)據(jù)庫包含6個表,分別是:登錄、桌號表、消費(fèi)單、菜食、商品、進(jìn)貨單表。下面分別介紹數(shù)據(jù)表的結(jié)構(gòu)。1) 數(shù)據(jù)庫及表結(jié)構(gòu)的創(chuàng)建 設(shè)本系統(tǒng)使用的數(shù)據(jù)庫名為小型餐飲業(yè)管理系統(tǒng),根據(jù)已設(shè)計的關(guān)系模式及各模式的完整性要求,現(xiàn)在就可以在SQL Server 6.x數(shù)據(jù)庫系統(tǒng)中實現(xiàn)這些邏輯結(jié)構(gòu)。下面是創(chuàng)建基本表的SQL語句:/*=*/* DBMS name: Sybase SQL Anywhere 11 */* Created on:
9、2012-3-4 11:10:53 */*=*/if exists(select 1 from sys.sysforeignkey where role='FK_CAISHI_SHUYU_XIAOFEID') then alter table caishi delete foreign key FK_CAISHI_SHUYU_XIAOFEIDend if;if exists(select 1 from sys.sysforeignkey where role='FK_JINHUO_JINHUO_JINHUODA') then alter table jinhuo
10、 delete foreign key FK_JINHUO_JINHUO_JINHUODAend if;if exists(select 1 from sys.sysforeignkey where role='FK_JINHUO_JINHUO2_SHANGPIN') then alter table jinhuo delete foreign key FK_JINHUO_JINHUO2_SHANGPINend if;if exists(select 1 from sys.sysforeignkey where role='FK_XIAOFEID_GUANLIAN2_Z
11、HUOHAO') then alter table xiaofeidan delete foreign key FK_XIAOFEID_GUANLIAN2_ZHUOHAOend if;if exists(select 1 from sys.sysforeignkey where role='FK_XIAOFEID_ZONGSHOUR_SHOURU') then alter table xiaofeidan delete foreign key FK_XIAOFEID_ZONGSHOUR_SHOURUend if;if exists(select 1 from sys.s
12、ysforeignkey where role='FK_ZHUOHAO_GUANLIAN_XIAOFEID') then alter table zhuohao delete foreign key FK_ZHUOHAO_GUANLIAN_XIAOFEIDend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='shuyu_FK' and t.table_name='caishi') th
13、en drop index caishi.shuyu_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='caishi_PK' and t.table_name='caishi') then drop index caishi.caishi_PKend if;if exists( select 1 from sys.systable where table_name='caishi
14、9; and table_type in ('BASE', 'GBL TEMP') then drop table caishiend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='denglu_PK' and t.table_name='denglu') then drop index denglu.denglu_PKend if;if exists( select
15、1 from sys.systable where table_name='denglu' and table_type in ('BASE', 'GBL TEMP') then drop table dengluend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='jinhuo2_FK' and t.table_name='jinhuo') then
16、drop index jinhuo.jinhuo2_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='jinhuo_FK' and t.table_name='jinhuo') then drop index jinhuo.jinhuo_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_
17、id=t.table_id and i.index_name='jinhuo_PK' and t.table_name='jinhuo') then drop index jinhuo.jinhuo_PKend if;if exists( select 1 from sys.systable where table_name='jinhuo' and table_type in ('BASE', 'GBL TEMP') then drop table jinhuoend if;if exists( select 1
18、 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='jinhuodan_PK' and t.table_name='jinhuodan') then drop index jinhuodan.jinhuodan_PKend if;if exists( select 1 from sys.systable where table_name='jinhuodan' and table_type in ('BASE',
19、39;GBL TEMP') then drop table jinhuodanend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='shangpin_PK' and t.table_name='shangpin') then drop index shangpin.shangpin_PKend if;if exists( select 1 from sys.systable where tab
20、le_name='shangpin' and table_type in ('BASE', 'GBL TEMP') then drop table shangpinend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='shouru_PK' and t.table_name='shouru') then drop index shouru.shouru_P
21、Kend if;if exists( select 1 from sys.systable where table_name='shouru' and table_type in ('BASE', 'GBL TEMP') then drop table shouruend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='zongshouru_FK' and t.table
22、_name='xiaofeidan') then drop index xiaofeidan.zongshouru_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='guanlian2_FK' and t.table_name='xiaofeidan') then drop index xiaofeidan.guanlian2_FKend if;if exists( selec
23、t 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='xiaofeidan_PK' and t.table_name='xiaofeidan') then drop index xiaofeidan.xiaofeidan_PKend if;if exists( select 1 from sys.systable where table_name='xiaofeidan' and table_type in ('BASE&
24、#39;, 'GBL TEMP') then drop table xiaofeidanend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='guanlian_FK' and t.table_name='zhuohao') then drop index zhuohao.guanlian_FKend if;if exists( select 1 from sys.sysindex i,
25、 sys.systable t where i.table_id=t.table_id and i.index_name='zhuohao_PK' and t.table_name='zhuohao') then drop index zhuohao.zhuohao_PKend if;if exists( select 1 from sys.systable where table_name='zhuohao' and table_type in ('BASE', 'GBL TEMP') then drop tab
26、le zhuohaoend if;/*=*/* Table: caishi */*=*/create table caishi ( caiming varchar(12) not null, ID integer null, "zhuohao." integer null, caijia numeric(10) null, constraint PK_CAISHI primary key (caiming);/*=*/* Index: caishi_PK */*=*/create unique index caishi_PK on caishi (caiming ASC);
27、/*=*/* Index: shuyu_FK */*=*/create index shuyu_FK on caishi (ID ASC,"zhuohao." ASC);/*=*/* Table: denglu */*=*/create table denglu ( Uname varchar(10) not null, Upasswd varchar(12) not null, power integer null, constraint PK_DENGLU primary key (Uname, Upasswd);/*=*/* Index: denglu_PK */*=
28、*/create unique index denglu_PK on denglu (Uname ASC,Upasswd ASC);/*=*/* Table: jinhuo */*=*/create table jinhuo ( shangpinming varchar(12) not null, sahngpinming varchar(12) not null, constraint PK_JINHUO primary key clustered (shangpinming, sahngpinming);/*=*/* Index: jinhuo_PK */*=*/create unique
29、 clustered index jinhuo_PK on jinhuo (shangpinming ASC,sahngpinming ASC);/*=*/* Index: jinhuo_FK */*=*/create index jinhuo_FK on jinhuo (shangpinming ASC);/*=*/* Index: jinhuo2_FK */*=*/create index jinhuo2_FK on jinhuo (sahngpinming ASC);/*=*/* Table: jinhuodan */*=*/create table jinhuodan ( shangp
30、inming varchar(12) not null, sahngpinjiage float null, jinhuoriqi timestamp null, jinhuoshuliang integer null, constraint PK_JINHUODAN primary key (shangpinming);/*=*/* Index: jinhuodan_PK */*=*/create unique index jinhuodan_PK on jinhuodan (shangpinming ASC);/*=*/* Table: shangpin */*=*/create tabl
31、e shangpin ( sahngpinming varchar(12) not null, shangpindanjia numeric(10) null, constraint PK_SHANGPIN primary key (sahngpinming);/*=*/* Index: shangpin_PK */*=*/create unique index shangpin_PK on shangpin (sahngpinming ASC);/*=*/* Table: shouru */*=*/create table shouru ( ID integer not null, rish
32、ouru numeric(10) null, shijian timestamp null, yueshouru numeric(12) null, constraint PK_SHOURU primary key (ID);/*=*/* Index: shouru_PK */*=*/create unique index shouru_PK on shouru (ID ASC);/*=*/* Table: xiaofeidan */*=*/create table xiaofeidan ( ID integer not null, "zhuohao." integer n
33、ot null, zhuohao integer null, "caiming." varchar(12) null, shulaing integer null, xiaofei numeric(12) null, constraint PK_XIAOFEIDAN primary key (ID, "zhuohao.");/*=*/* Index: xiaofeidan_PK */*=*/create unique index xiaofeidan_PK on xiaofeidan (ID ASC,"zhuohao." ASC);/
34、*=*/* Index: guanlian2_FK */*=*/create index guanlian2_FK on xiaofeidan (zhuohao ASC);/*=*/* Index: zongshouru_FK */*=*/create index zongshouru_FK on xiaofeidan (ID ASC);/*=*/* Table: zhuohao */*=*/create table zhuohao ( zhuohao integer not null, ID integer null, "zhuohao." integer null, s
35、hiyongzhuangtai smallint null, constraint PK_ZHUOHAO primary key (zhuohao);/*=*/* Index: zhuohao_PK */*=*/create unique index zhuohao_PK on zhuohao (zhuohao ASC);/*=*/* Index: guanlian_FK */*=*/create index guanlian_FK on zhuohao (ID ASC,"zhuohao." ASC);alter table caishi add constraint FK
36、_CAISHI_SHUYU_XIAOFEID foreign key (ID, "zhuohao.") references xiaofeidan (ID, "zhuohao.") on update restrict on delete restrict;alter table jinhuo add constraint FK_JINHUO_JINHUO_JINHUODA foreign key (shangpinming) references jinhuodan (shangpinming) on update restrict on delete
37、 restrict;alter table jinhuo add constraint FK_JINHUO_JINHUO2_SHANGPIN foreign key (sahngpinming) references shangpin (sahngpinming) on update restrict on delete restrict;alter table xiaofeidan add constraint FK_XIAOFEID_GUANLIAN2_ZHUOHAO foreign key (zhuohao) references zhuohao (zhuohao) on update
38、restrict on delete restrict;alter table xiaofeidan add constraint FK_XIAOFEID_ZONGSHOUR_SHOURU foreign key (ID) references shouru (ID) on update restrict on delete restrict;alter table zhuohao add constraint FK_ZHUOHAO_GUANLIAN_XIAOFEID foreign key (ID, "zhuohao.") references xiaofeidan (ID, "zhuohao.") on update restrict on delete restrict;2) 數(shù)據(jù)庫前臺的設(shè)計 根據(jù)數(shù)據(jù)庫的設(shè)計,該餐飲業(yè)管理系統(tǒng)可以分成四個子模塊:§ 訂餐管理 根據(jù)客戶的點(diǎn)菜單,從已有菜品中選定菜品,并記錄。§ 菜品管理 用戶可以根據(jù)餐館現(xiàn)行情況動態(tài)管理菜品,可以對菜品進(jìn)行品種、類別的分類,并可以
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024廣東省林地流轉(zhuǎn)買賣合同
- 2024法律顧問委托合同
- 2024民間抵押借款合同民間借貸合同范本
- 2024房屋裝修合同(范本)
- 新車銷售合同范本樣式
- 不動產(chǎn)抵押借款合同范本解析
- 2024蔬菜買賣合同示范文本
- 2024年墻面裝飾分包工程合同
- 合租住房協(xié)議書樣本
- 投資項目資金監(jiān)管合同
- DB43T 2635-2023 大口徑涂塑復(fù)合鋼管通 用技術(shù)要求
- 企業(yè)乒乓球活動外聘教練協(xié)議
- 搏擊基礎(chǔ)理論知識單選題100道及答案解析
- 導(dǎo)游實訓(xùn)課件教學(xué)課件
- 租賃公司財務(wù)制度
- 蘇科版(2024新版)八年級上冊物理期中復(fù)習(xí):知識點(diǎn)考點(diǎn) 講義
- 咖啡線下活動策劃方案
- 2024年國家體育總局事業(yè)單位招聘90人易考易錯模擬試題(共500題)試卷后附參考答案
- 店長協(xié)議合同模板
- 期中模擬練習(xí)(1-4單元)(試題)2024-2025學(xué)年二年級上冊數(shù)學(xué)蘇教版
- DZ∕T 0265-2014 遙感影像地圖制作規(guī)范(1:50000、1:250000)(正式版)
評論
0/150
提交評論