版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 澳門(mén)科技大學(xué)</b></p><p> MACAU UNIVERSITY OF SCIENCE AND TECHNOLOGY</p><p><b> 資訊科技學(xué)院</b></p><p><b> 理學(xué)學(xué)士畢業(yè)論文</b></p><p>
2、 論文題目:基於APPLE iOS的餐飲管理系統(tǒng)的建模與實(shí)現(xiàn)</p><p> 學(xué)生:申大坤(0809853D-I011-0015,軟件技術(shù)及其應(yīng)用)</p><p> 指導(dǎo)老師:蔡智明副教授</p><p><b> 2012年04月</b></p><p><b> 摘要</b><
3、;/p><p> 隨著智能手機(jī)的不斷發(fā)展,越來(lái)越多的功能可以在手機(jī)上實(shí)現(xiàn),由此本文建立了一個(gè)基於APPLE iOS系統(tǒng)的餐飲管理系統(tǒng)(Restaurant Management System,簡(jiǎn)稱(chēng)RMS)。</p><p> 本系統(tǒng)實(shí)現(xiàn)於iPhone或iTouch,其中具有餐飲運(yùn)營(yíng)中所需的基本功能,包括點(diǎn)餐、預(yù)定、結(jié)帳、餐單管理、餐桌管理、職員管理、會(huì)員管理和評(píng)價(jià)管理等。本文首先建立了系統(tǒng)
4、有關(guān)設(shè)計(jì)分析模型,包括組織構(gòu)架、Use-case和業(yè)務(wù)流程圖,在此基礎(chǔ)上設(shè)計(jì)了ER圖、時(shí)序圖、Static modeling和Dynamic modeling。然後利用xCode編程軟件完成RMS系統(tǒng)的建立。</p><p><b> Abstract</b></p><p> With the continuous development of smart ph
5、ones, mobile phones have more and more features. This paper established a Restaurant Management System (referred to RMS) by APPLE iOS system. </p><p> This system is implemented on the iPhone or iTouch. Acc
6、ording to the basic requirements in a Restaurant, the functions of this system include Ordering, Booking, Billing, Menu-Management, Table-Management, Staff-Management, Membership-Management, and Comments-Management. At f
7、irst the system design and analysis models are established, including Organizational-Structure, Use-case, Flow-Charts, ER diagram, Static-Modeling, Sequence and other Dynamic Modeling. The system is built by the software
8、 tool</p><p><b> 前言</b></p><p> 餐飲管理系統(tǒng)是一套用於餐廳的管理軟體。此系統(tǒng)的建立的目的在於優(yōu)化餐廳的操作,用軟件實(shí)現(xiàn)了餐廳的整個(gè)運(yùn)營(yíng)過(guò)程,使餐廳的運(yùn)營(yíng)更加方便。</p><p> 此系統(tǒng)是實(shí)現(xiàn)於iOS智慧手機(jī)上,用可觸式的操作簡(jiǎn)化顧客的點(diǎn)餐過(guò)程,同時(shí)餐廳職員也可以用此系統(tǒng)管理餐廳的日常運(yùn)營(yíng)事宜。&l
9、t;/p><p><b> 系統(tǒng)簡(jiǎn)介</b></p><p><b> 開(kāi)發(fā)背景</b></p><p> 本系統(tǒng)的所需餐桌和餐單可在系統(tǒng)中按照每個(gè)餐廳的不同而單獨(dú)設(shè)計(jì)。其中餐桌內(nèi)容包括樓層和餐桌號(hào),設(shè)計(jì)時(shí)餐桌的餐桌號(hào)不可重複;餐單分為主菜、主食、小食、甜品和酒水,用戶(hù)可以在設(shè)計(jì)自己餐單時(shí)分配每個(gè)食物的種類(lèi)。</p
10、><p><b> 環(huán)境配置</b></p><p> 此系統(tǒng)實(shí)現(xiàn)於使用高於或等於iOS 4.0系統(tǒng)的智慧手機(jī)上。此系統(tǒng)的程式設(shè)計(jì)語(yǔ)言為Objective-C,程式設(shè)計(jì)軟體為xCode, 程式設(shè)計(jì)環(huán)境為Mac OS X。</p><p><b> 1.3 組織構(gòu)架</b></p><p><
11、b> 圖表 1 組織構(gòu)架</b></p><p> 圖1是本系統(tǒng)的組織構(gòu)架圖,本系統(tǒng)的主功能共包括:顧客系統(tǒng)、侍者系統(tǒng)、經(jīng)理系統(tǒng)和廚師系統(tǒng)。</p><p><b> 1.4 功能範(fàn)疇</b></p><p> 1.4.1 顧客系統(tǒng)</p><p> 此系統(tǒng)是針對(duì)於顧客設(shè)計(jì)的,顧客根據(jù)自己的實(shí)
12、際情況選擇未預(yù)定或已預(yù)訂進(jìn)入,或者選擇會(huì)員註冊(cè)進(jìn)入會(huì)員註冊(cè)頁(yè)面。</p><p> 顧客系統(tǒng)的子系統(tǒng)包括:評(píng)價(jià)系統(tǒng)、點(diǎn)餐系統(tǒng)和會(huì)員註冊(cè)。</p><p> 評(píng)價(jià)系統(tǒng)是在顧客點(diǎn)餐時(shí)可以看到其他會(huì)員對(duì)此餐的評(píng)價(jià),同時(shí)顧客在登錄會(huì)員後也可以對(duì)此餐進(jìn)行評(píng)價(jià);點(diǎn)餐系統(tǒng)是顧客對(duì)餐廳的餐單進(jìn)行選擇和點(diǎn)餐;會(huì)員系統(tǒng)允許顧客註冊(cè)為會(huì)員,會(huì)員享有評(píng)價(jià)餐單和預(yù)定的特殊功能。</p><p
13、> 1.4.2 侍者系統(tǒng)</p><p> 侍者系統(tǒng)是針對(duì)服務(wù)員設(shè)計(jì)的,服務(wù)員在登錄後就可以使用此系統(tǒng)。侍者使用此系統(tǒng)可以進(jìn)行帳單管理、餐桌變更、添加預(yù)定和預(yù)定查詢(xún)。</p><p> 帳單管理是侍者對(duì)某一餐桌進(jìn)行結(jié)帳處理,結(jié)帳後此餐桌的數(shù)據(jù)從數(shù)據(jù)庫(kù)清除;餐桌變更適用於顧客意圖變換餐桌的情況;添加預(yù)定是侍者對(duì)預(yù)定進(jìn)行操作,顧客通過(guò)網(wǎng)絡(luò)或者電話(huà)進(jìn)行預(yù)定後,侍者通過(guò)此系統(tǒng)把預(yù)訂資訊
14、加入數(shù)據(jù)庫(kù);預(yù)定查詢(xún)是對(duì)某一日期的預(yù)定情況進(jìn)行查詢(xún)和管理。</p><p> 1.4.3 經(jīng)理系統(tǒng)</p><p> 經(jīng)理系統(tǒng)直接管理軟件的后臺(tái)數(shù)據(jù)庫(kù),包括五個(gè)子系統(tǒng):餐單管理、餐桌管理、會(huì)員管理、職工管理和評(píng)價(jià)管理。</p><p> 其五個(gè)子系統(tǒng)都是對(duì)相應(yīng)的餐單、餐桌、會(huì)員、職工和評(píng)價(jià)進(jìn)行增改刪查操作。</p><p> 其中職工
15、管理可以對(duì)職工的職位進(jìn)行修改,不同的職位對(duì)應(yīng)不同的權(quán)限,侍者只能使用侍者系統(tǒng),廚師只能使用廚師系統(tǒng),經(jīng)理只能使用經(jīng)理系統(tǒng)。</p><p> 1.4.4 廚師系統(tǒng)</p><p> 廚師系統(tǒng)包括餐單清單 和餐單製作。餐單管理可以對(duì)餐廳的餐單開(kāi)始、正在做或者已完成。</p><p> 餐單製作對(duì)於本系統(tǒng)相當(dāng)重要,已點(diǎn)餐單狀態(tài)決定了其他子系統(tǒng)的可操作性。比如某已點(diǎn)
16、餐單的狀態(tài)為未開(kāi)始,那麼顧客可以在點(diǎn)餐系統(tǒng)裡取消此訂單,侍者也可以在帳單系統(tǒng)裏面取消此訂單;如果已點(diǎn)餐單的狀態(tài)為正在做或者已完成,那麼顧客和侍者就不可以取消此訂單。</p><p><b> 系統(tǒng)設(shè)計(jì)規(guī)劃</b></p><p> 2.1 Use-Case圖</p><p> 圖表 2 Use-Case</p><p&
17、gt; 圖2顯示了不同使用者可以使用的功能。會(huì)員可以使用餐單評(píng)價(jià)、點(diǎn)餐系統(tǒng)和會(huì)員註冊(cè),非會(huì)員不可使用餐單評(píng)價(jià),侍者可以使用帳單管理、餐桌變更、添加預(yù)定和預(yù)定查詢(xún),廚師可以使用餐單管理和已點(diǎn)餐單,經(jīng)理可以使用餐單管理、餐桌管理會(huì)員管理、職工管理和評(píng)價(jià)管理。</p><p><b> 2.2 業(yè)務(wù)流程圖</b></p><p> 2.2.1 總體流程圖</p&
18、gt;<p> 圖表 3 總體流程圖</p><p> 圖3顯示了本系統(tǒng)的整體流程圖。首先顧客可以選擇會(huì)員註冊(cè)、會(huì)員登錄或者直接進(jìn)入顧客系統(tǒng)。會(huì)員註冊(cè)進(jìn)入到註冊(cè)系統(tǒng);會(huì)員登錄可以使顧客查看預(yù)訂資訊;在顧客系統(tǒng)裏面顧客可以選擇已預(yù)訂進(jìn)入或者未預(yù)定進(jìn)入,已預(yù)訂進(jìn)入需要顧客登錄會(huì)員,如果顧客沒(méi)有登錄會(huì)員則自動(dòng)進(jìn)入會(huì)員登錄頁(yè)面;未預(yù)定進(jìn)入無(wú)需會(huì)員登錄就可直接進(jìn)入選擇餐桌環(huán)節(jié);選擇餐桌系統(tǒng)根據(jù)顧客的預(yù)定或
19、者未預(yù)定顯示預(yù)定餐桌或可用餐桌,在餐桌選擇後進(jìn)入點(diǎn)餐系統(tǒng);點(diǎn)餐系統(tǒng)自動(dòng)綁定會(huì)員的預(yù)定餐單,顧客還可以在此新加入其他餐單,並且可以查看已點(diǎn)餐單和查看帳單。</p><p> 侍者在接受到顧客的預(yù)定後進(jìn)入侍者系統(tǒng)裏面的添加預(yù)定;當(dāng)顧客需要結(jié)帳服務(wù)時(shí),侍者通過(guò)侍者系統(tǒng)裏面的帳單管理進(jìn)行結(jié)帳;當(dāng)顧客需要變換餐桌時(shí),侍者通過(guò)侍者系統(tǒng)裏面的餐桌變換系統(tǒng)進(jìn)行該換餐桌。</p><p> 廚師在登錄後
20、進(jìn)入廚師系統(tǒng)。在餐單製作系統(tǒng)裏面,廚師根據(jù)實(shí)際操作情況對(duì)已點(diǎn)餐單的狀態(tài)進(jìn)行改變,此狀態(tài)關(guān)係到顧客是否可以取消餐單的預(yù)定;在餐單管理裏面,廚師可以對(duì)餐廳的餐單進(jìn)行調(diào)整。</p><p> 2.2.2 顧客流程圖</p><p> 圖表 4 顧客流程圖</p><p> 如圖4,這是系統(tǒng)的顧客流程圖,顧客在系統(tǒng)的主頁(yè)可以選擇會(huì)員註冊(cè)、許可權(quán)登陸或者進(jìn)入顧客系統(tǒng)。&
21、lt;/p><p> 顧客在會(huì)員註冊(cè)頁(yè)面填寫(xiě)相關(guān)資訊即可成為會(huì)員,會(huì)員享有預(yù)定和餐單評(píng)價(jià)的額外功能。顧客在許可權(quán)系統(tǒng)輸入用戶(hù)名和密碼即可登陸會(huì)員,只有登錄後才可使用會(huì)員的特權(quán)。顧客系統(tǒng)分為已預(yù)訂進(jìn)入和未預(yù)定進(jìn)入。已預(yù)訂進(jìn)入需要顧客登陸會(huì)員;未預(yù)定系統(tǒng)則進(jìn)入選擇餐桌環(huán)節(jié)。在餐桌選擇完成後系統(tǒng)自動(dòng)進(jìn)入點(diǎn)餐系統(tǒng),在點(diǎn)餐系統(tǒng)裡可以進(jìn)行點(diǎn)餐、查看帳單和評(píng)價(jià)。顧客結(jié)帳時(shí)需通知侍者進(jìn)入結(jié)帳系統(tǒng)。</p><p
22、> 2.2.3 侍者流程圖</p><p> 圖表 5 侍者流程圖</p><p> 如圖5,此圖是侍者的使用流程圖。侍者在通過(guò)許可權(quán)系統(tǒng)登陸後才可進(jìn)入侍者系統(tǒng)。在侍者系統(tǒng)裡可以進(jìn)行帳單管理、餐桌變更、添加預(yù)定和預(yù)定查詢(xún)功能。</p><p> 帳單管理在選擇餐桌後才可以進(jìn)行結(jié)帳。同樣餐桌變更需要選擇原餐桌和變更餐桌。添加預(yù)定功能需要侍者輸入預(yù)訂人的會(huì)
23、員帳號(hào),確認(rèn)是會(huì)員後才可以進(jìn)行添加預(yù)定餐桌、添加預(yù)定餐單和查看預(yù)定操作。預(yù)定查詢(xún)系統(tǒng)首先需要侍者選擇查看的日期,然後系統(tǒng)會(huì)顯示該日期餐桌的預(yù)定情況,隨後侍者可以對(duì)這些餐桌進(jìn)行相關(guān)操作。</p><p> 2.2.4 廚師流程圖</p><p> 圖表 6 廚師流程圖</p><p> 如圖6,此圖是廚師的使用流程圖。侍者在通過(guò)許可權(quán)系統(tǒng)登陸後才可進(jìn)入廚師系統(tǒng),
24、在廚師系統(tǒng)裡可以管理餐單和已點(diǎn)餐單。</p><p> 餐單管理系統(tǒng)是對(duì)餐廳的餐單進(jìn)行管理,可以修改單個(gè)餐單的屬性,也可刪除該餐單。</p><p> 餐單製作系統(tǒng)是對(duì)顧客的點(diǎn)餐單進(jìn)行管理。廚師在開(kāi)始做一個(gè)菜時(shí)需使用此系統(tǒng)把該菜的狀態(tài)改成正在做;在做完該道菜後需把此菜的狀態(tài)改為已完成。</p><p> 2.2.5 經(jīng)理流程圖</p><p
25、> 圖表 7 經(jīng)理流程圖</p><p> 如圖7,此圖是經(jīng)理的使用流程圖。經(jīng)理在通過(guò)許可權(quán)系統(tǒng)登陸後才可進(jìn)入經(jīng)理系統(tǒng)。在經(jīng)理系統(tǒng)裡可以進(jìn)行餐單管理、餐桌管理、會(huì)員管理、職工管理和評(píng)價(jià)管理功能。</p><p> 這些功能都是直接對(duì)後臺(tái)資料庫(kù)進(jìn)行管理,即對(duì)選定的專(zhuān)案進(jìn)行增改刪查。餐單管理是對(duì)餐廳的餐單進(jìn)行修改和刪除;餐桌管理可以增加或者刪除餐廳的餐桌,還可以修改餐桌的狀態(tài):可用
26、、使用中、預(yù)定或者停用;會(huì)員管理可以對(duì)餐廳的會(huì)員屬性進(jìn)行修改,或者刪除會(huì)員;職工管理可以對(duì)職工的職位進(jìn)行修改,不同的職位對(duì)應(yīng)不同的權(quán)限,侍者只能使用侍者系統(tǒng),廚師只能使用廚師系統(tǒng),經(jīng)理只能使用經(jīng)理系統(tǒng),此系統(tǒng)還可以修改職員的屬性,比如姓名、用戶(hù)名和密碼等。</p><p><b> 2.3 ER圖</b></p><p><b> 圖表 8 ER圖<
27、;/b></p><p> 本系統(tǒng)使用的資料庫(kù)為SQLite 3,圖8是系統(tǒng)的整體ER圖,顯示了各個(gè)數(shù)據(jù)庫(kù)之間的關(guān)聯(lián),其中關(guān)聯(lián)的符號(hào)有其固定的含義。單獨(dú)的一豎條表示一對(duì)一的關(guān)係;一豎條後面跟三條分支表示多對(duì)多的關(guān)係;一個(gè)圓圈表示對(duì)應(yīng)零或者一;一個(gè)圓圈後面跟三個(gè)分支表示對(duì)應(yīng)零或者多個(gè)。</p><p> 其中VIP是會(huì)員數(shù)據(jù)庫(kù),comments是評(píng)價(jià)數(shù)據(jù)庫(kù),menu是餐單數(shù)據(jù)庫(kù),b
28、ookTable是預(yù)定餐桌數(shù)據(jù)庫(kù),bookMenu是預(yù)定餐單數(shù)據(jù)庫(kù),table是餐桌數(shù)據(jù)庫(kù),bill是帳單數(shù)據(jù)庫(kù),staff是職工數(shù)據(jù)庫(kù)。</p><p><b> 2.4 數(shù)據(jù)字典</b></p><p><b> 圖表 9 數(shù)據(jù)字典</b></p><p><b> 2.5 數(shù)據(jù)流程圖</b>
29、;</p><p> 2.5.1 第一層數(shù)據(jù)流程圖</p><p> 圖表 10 第一層數(shù)據(jù)流圖</p><p> 如圖10,這是系統(tǒng)的第一層數(shù)據(jù)流程圖,總體的顯示了四個(gè)分系統(tǒng)和各個(gè)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交流。</p><p> 四種類(lèi)型的使用者通過(guò)許可權(quán)系統(tǒng)進(jìn)行了劃分:顧客、侍者、廚師和經(jīng)理。</p><p>
30、2.5.2 第二層顧客數(shù)據(jù)流程圖</p><p> 圖表 11 第二層顧客數(shù)據(jù)流圖</p><p> 圖11展示了第二層顧客數(shù)據(jù)流程圖。首先顧客通過(guò)RMS系統(tǒng)進(jìn)行會(huì)員登錄或者進(jìn)入顧客系統(tǒng),會(huì)員登錄從VIP數(shù)據(jù)庫(kù)裏面讀取數(shù)據(jù);在顧客系統(tǒng)裏面顧客可以選擇會(huì)員註冊(cè)、未預(yù)定進(jìn)入或者已預(yù)訂進(jìn)入,其中未預(yù)定進(jìn)入直接進(jìn)入餐桌選擇環(huán)節(jié),已預(yù)訂進(jìn)入需要顧客登錄會(huì)員然後進(jìn)入餐桌選擇環(huán)節(jié);在選擇餐桌環(huán)節(jié),如
31、果顧客是未預(yù)定進(jìn)入,則讀取table數(shù)據(jù)庫(kù)顯示可用餐桌,如果顧客是已預(yù)訂進(jìn)入則讀取bookTable數(shù)據(jù)庫(kù)顯示預(yù)定餐桌;隨後進(jìn)入餐單選擇,如果顧客是未預(yù)定進(jìn)入那麼餐單選擇系統(tǒng)讀取menu數(shù)據(jù)庫(kù),如果顧客是已預(yù)訂進(jìn)入則讀取bookMenu數(shù)據(jù)庫(kù),同時(shí)餐單選擇還會(huì)讀取comments數(shù)據(jù)庫(kù)顯示餐單評(píng)價(jià),隨後餐單選擇系統(tǒng)把已點(diǎn)餐單加入到bill數(shù)據(jù)庫(kù)裏面,即進(jìn)入已點(diǎn)餐單系統(tǒng);返回餐單選擇系統(tǒng)後還可以進(jìn)行查看帳單操作。</p>&
32、lt;p> 2.5.3 第二層侍者數(shù)據(jù)流程圖</p><p> 圖表 12 第二層侍者數(shù)據(jù)流圖</p><p> 圖12顯示了侍者的數(shù)據(jù)流程圖。首先侍者使用RMS系統(tǒng)進(jìn)入到職員登錄,在登錄後進(jìn)入到侍者系統(tǒng)。在侍者系統(tǒng)裏面侍者可以進(jìn)行四種操作:帳單管理、餐桌變更、添加預(yù)定和預(yù)定查詢(xún)。</p><p> 其中帳單管理是對(duì)結(jié)帳的處理,此操作需要選擇結(jié)帳的餐桌
33、,選擇餐桌調(diào)用table數(shù)據(jù)庫(kù),在選擇餐桌後調(diào)用bill數(shù)據(jù)庫(kù)顯示需要支付的費(fèi)用。</p><p> 餐桌變更適用於顧客需要變更餐桌的情況,此操作也需要餐桌選擇,餐桌選擇調(diào)用table數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)裏面改變?cè)妥篮妥兏妥赖臓顟B(tài),在變更餐桌後還需要把bill數(shù)據(jù)庫(kù)裏面原餐桌的費(fèi)用改成變更餐桌的費(fèi)用。</p><p> 添加預(yù)定是侍者根據(jù)顧客的預(yù)定向系統(tǒng)數(shù)據(jù)庫(kù)裏面添加預(yù)定詳情,此操作需
34、要調(diào)用bookTable數(shù)據(jù)庫(kù)、bookMenu數(shù)據(jù)庫(kù)、Menu數(shù)據(jù)庫(kù)和table數(shù)據(jù)庫(kù),調(diào)用bookTable數(shù)據(jù)庫(kù)是因?yàn)槭陶咭杨A(yù)定餐桌加入到後臺(tái)數(shù)據(jù)庫(kù),調(diào)用bookMent數(shù)據(jù)庫(kù)是因?yàn)槭陶咭杨A(yù)定餐單加入到後臺(tái)數(shù)據(jù)庫(kù),調(diào)用table數(shù)據(jù)庫(kù)是因?yàn)槭陶咴诎杨A(yù)定餐桌加入到後天數(shù)據(jù)庫(kù)前要先確定此餐桌現(xiàn)在處?kù)犊捎脿顟B(tài),調(diào)用menu數(shù)據(jù)是因?yàn)槭陶咴谶x擇預(yù)定餐單是需要此餐廳的餐單。</p><p> 預(yù)定查詢(xún)系統(tǒng)需要侍
35、者選擇需要查詢(xún)的日期,在日期選擇後系統(tǒng)調(diào)用bookTable和bookMenu顯示預(yù)定詳情,如果需要添加預(yù)定餐單則調(diào)用menu數(shù)據(jù)庫(kù)進(jìn)行添加操作。</p><p> 2.5.4 第二層廚師數(shù)據(jù)流程圖</p><p> 圖表 13 第二層廚師數(shù)據(jù)流圖</p><p> 圖13顯示了廚師的數(shù)據(jù)流程圖。首先廚師使用RMS系統(tǒng)進(jìn)行職員登錄,此操作需要調(diào)用staff數(shù)據(jù)
36、庫(kù),在廚師登錄後進(jìn)入廚師系統(tǒng),此後廚師可以進(jìn)行兩種操作:餐單管理和餐單製作。</p><p> 餐單管理是對(duì)餐廳的餐單進(jìn)行增改刪查操作,此操作需要調(diào)用menu數(shù)據(jù)庫(kù)並對(duì)其進(jìn)行更新。</p><p> 餐單製作是廚師根據(jù)實(shí)際製作情況對(duì)顧客已點(diǎn)餐單的狀態(tài)進(jìn)行修改,已點(diǎn)餐單有三種狀態(tài):未開(kāi)始、正在做和已完成。此操作去要調(diào)用bill數(shù)據(jù)庫(kù)。</p><p> 2.5.
37、5 第二層經(jīng)理數(shù)據(jù)流程圖</p><p> 圖表 14 第二層經(jīng)理數(shù)據(jù)流圖</p><p> 圖14顯示了經(jīng)理的數(shù)據(jù)流圖。經(jīng)理使用RMS系統(tǒng)進(jìn)入到職員登錄頁(yè)面,此操作調(diào)用staff數(shù)據(jù)庫(kù),在經(jīng)理登錄後進(jìn)入到經(jīng)理系統(tǒng),此系統(tǒng)包含五種操作:餐單管理、餐桌管理、會(huì)員管理、職工管理和評(píng)價(jià)管理。</p><p> 餐單管理是對(duì)餐廳的餐單進(jìn)行增改刪查操作,此操作需要調(diào)用m
38、enu數(shù)據(jù)庫(kù)並對(duì)其進(jìn)行更新。餐桌管理是對(duì)餐廳的餐桌進(jìn)行增改刪查操作,此操作需要調(diào)用table數(shù)據(jù)庫(kù)並對(duì)其進(jìn)行更新。會(huì)員管理是對(duì)餐廳的會(huì)員進(jìn)行增改刪查操作,此操作需要調(diào)用VIP數(shù)據(jù)庫(kù)並對(duì)其進(jìn)行更新。職工管理是對(duì)職工的屬性進(jìn)行增改刪查操作,此操作需要調(diào)用staff數(shù)據(jù)庫(kù)並對(duì)其進(jìn)行更新。評(píng)價(jià)管理是對(duì)慘澹的評(píng)價(jià)進(jìn)行增改刪查操作,此操作需要調(diào)用comments數(shù)據(jù)庫(kù)並對(duì)其進(jìn)行更新</p><p> 2.6 Static
39、modeling</p><p> 圖表 15 Class hierarchy</p><p> 圖15是類(lèi)層次結(jié)構(gòu)圖。如圖所示,類(lèi)VIP、table、menu、staff、bill依賴(lài)於mainWindow類(lèi);而bookTable和bookMenu依賴(lài)於VIP類(lèi),並且bookTable和bookMent又互相對(duì)應(yīng)。Table和bill也是相互一一對(duì)應(yīng)的關(guān)係。</p>&
40、lt;p> 圖表 16 OO relationships</p><p> 圖16顯示了OO關(guān)係圖。如圖所示,bookTable和bookMenu繼承於VIP類(lèi),一個(gè)VIP對(duì)應(yīng)一個(gè)bill,而一個(gè)bill可以對(duì)應(yīng)多個(gè)VIP;但是一個(gè)bill只能對(duì)應(yīng)一個(gè)table,一個(gè)table可以對(duì)應(yīng)0或者一個(gè)bill;comments和menu一一對(duì)應(yīng);menu和table一一對(duì)應(yīng)。</p><p
41、><b> 2.7 時(shí)序圖</b></p><p> 2.7.1 侍者添加預(yù)訂時(shí)序圖</p><p> 圖表 17 侍者添加預(yù)訂時(shí)序圖</p><p> 圖17顯示了侍者添加預(yù)定的時(shí)序圖。首先侍者使用RMS系統(tǒng)進(jìn)入主頁(yè)(mainWindow),然後在主頁(yè)進(jìn)入職員登錄(staff)頁(yè)面,在此會(huì)員輸入用戶(hù)名和密碼於後臺(tái)數(shù)據(jù)庫(kù)進(jìn)行資訊交
42、流,成功匹配後登錄成功返回主頁(yè),隨後侍者進(jìn)入預(yù)定(book)頁(yè)面,在此頁(yè)面需要侍者首先輸入預(yù)訂人的VIP用戶(hù)名,然後檢查此用戶(hù)名是否為VIP。檢查成功後進(jìn)入選擇預(yù)定餐桌頁(yè)面,在餐桌(table)頁(yè)面選擇可用的餐桌然後把此餐桌加入到預(yù)定餐桌(bookTable)數(shù)據(jù)庫(kù)。成功加入預(yù)定餐桌後進(jìn)入選擇預(yù)定餐單頁(yè)面,在餐單(menu)頁(yè)面選擇想要預(yù)定的餐單,然後把選擇的餐單加入到預(yù)定餐單(bookMenu)數(shù)據(jù)庫(kù),至此整個(gè)預(yù)定操作完成。當(dāng)然侍者還
43、可以退回到預(yù)訂頁(yè)面添加新的餐桌和餐單。</p><p> 2.7.2 顧客已預(yù)定點(diǎn)餐時(shí)序圖</p><p> 圖表 18 顧客已預(yù)訂時(shí)序圖</p><p> 圖18顯示了顧客已預(yù)訂進(jìn)入顧客系統(tǒng)的時(shí)序圖。首先顧客使用RMS系統(tǒng)進(jìn)入主頁(yè),在主頁(yè)顧客可以選擇登陸會(huì)員(VIP)或者直接進(jìn)入點(diǎn)餐系統(tǒng)(order),在進(jìn)入點(diǎn)餐系統(tǒng)時(shí)系統(tǒng)會(huì)檢查顧客是否登錄了VIP,如果沒(méi)用
44、登錄則返回VIP登錄頁(yè)面,如果檢查已登錄VIP則進(jìn)入選擇預(yù)定餐桌(bookTable)系統(tǒng),在選擇預(yù)定餐桌後進(jìn)入到選擇餐單系統(tǒng)(menu),此系統(tǒng)首先把預(yù)定餐單(bookMenu)加入到餐單系統(tǒng)裡和帳單(bill)裡,隨後顧客可以再添加新餐單,並對(duì)餐單的評(píng)價(jià)(comments)進(jìn)行查看,然後所有選擇的餐單綁定到帳單(bill)數(shù)據(jù)庫(kù),同時(shí)帳單頁(yè)面在檢查顧客已登錄VIP後可允許顧客對(duì)一點(diǎn)的餐單添加評(píng)價(jià)。</p><p&
45、gt; 2.7.3 顧客未預(yù)定點(diǎn)餐時(shí)序圖</p><p> 圖表 19 顧客未預(yù)定時(shí)序圖</p><p> 圖19顯示了顧客未預(yù)定進(jìn)入顧客系統(tǒng)的時(shí)序圖。首先顧客使用RMS系統(tǒng)進(jìn)入主頁(yè),在主頁(yè)顧客可以選擇登錄會(huì)員(VIP)或者直接進(jìn)入點(diǎn)餐系統(tǒng)(order),進(jìn)入點(diǎn)餐系統(tǒng)後顧客需要選擇就餐的餐桌(table),隨後進(jìn)入餐單系統(tǒng)(menu),在餐單系統(tǒng)選擇想要品嘗的食物,然後把這些食物加入
46、到帳單(bill)數(shù)據(jù)庫(kù)裡,同時(shí)顧客可以通過(guò)評(píng)價(jià)系統(tǒng)(comments)查看其他會(huì)員對(duì)食物的評(píng)價(jià),最後把所有點(diǎn)餐單綁定到帳單數(shù)據(jù)庫(kù),同時(shí)帳單頁(yè)面在檢查顧客已登錄VIP後可允許顧客對(duì)一點(diǎn)的餐單添加評(píng)價(jià)。</p><p> 2.7.4 侍者結(jié)帳時(shí)序圖</p><p> 圖表 20侍者結(jié)帳時(shí)序圖</p><p> 圖20顯示了侍者結(jié)帳時(shí)序圖。首先侍者使用RMS系統(tǒng)進(jìn)
47、入主頁(yè),在主頁(yè)登錄自己的用戶(hù)名和密碼進(jìn)入侍者系統(tǒng),在侍者系統(tǒng)裏面進(jìn)入帳單管理系統(tǒng)。帳單管理首先自動(dòng)搜索餐桌數(shù)據(jù)庫(kù),把正在使用的餐桌加入管理表,然後侍者選擇要結(jié)帳的餐桌,選擇后系統(tǒng)讀取該餐桌的帳單信息并顯示到屏幕上,然後侍者可以把狀態(tài)為“已激活”(即未製作)的餐單從帳單上刪除,最後侍者選擇結(jié)帳,系統(tǒng)把餐桌狀態(tài)改為可用,并清除帳單數(shù)據(jù)。</p><p><b> 2.8 狀態(tài)圖</b><
48、/p><p> 2.8.1 餐桌狀態(tài)圖</p><p> 圖表 21 餐桌狀態(tài)圖</p><p> 2.8.2 點(diǎn)餐單狀態(tài)圖</p><p> 圖表 22 點(diǎn)餐單狀態(tài)圖</p><p><b> 系統(tǒng)設(shè)計(jì)</b></p><p><b> 3.1 主頁(yè)設(shè)計(jì)
49、</b></p><p><b> 圖表 23 主頁(yè)</b></p><p> 如圖23顯示了系統(tǒng)主頁(yè)的設(shè)計(jì)。主頁(yè)開(kāi)始用兩個(gè)功能可以選擇:權(quán)限登錄和顧客系統(tǒng)。權(quán)限登錄裡分為會(huì)員登錄和職員登錄,會(huì)員登錄適用於顧客登錄會(huì)員。職員登錄是職員在使用此系統(tǒng)管理餐廳時(shí),需要登錄自己的帳號(hào)和密碼來(lái)獲得管理權(quán)限。顧客系統(tǒng)為顧客而設(shè)計(jì),無(wú)需權(quán)限,打開(kāi)軟件首頁(yè)就可以使用顧
50、客系統(tǒng)。</p><p> 圖23左方的介面為顧客為選擇餐桌時(shí)的主頁(yè),右方為顧客選擇餐桌後的主頁(yè)。這兩者的區(qū)別是前者未開(kāi)始使用,而後者已經(jīng)開(kāi)始使用並且餐桌已經(jīng)綁定。</p><p> 3.2 顧客系統(tǒng)設(shè)計(jì)</p><p> 3.2.1 進(jìn)入點(diǎn)餐系統(tǒng)</p><p> 圖表 24 顧客系統(tǒng) 圖表25 餐
51、桌選擇</p><p> 圖24是顧客登錄會(huì)員後的主頁(yè),其中下方的顧客系統(tǒng)包含三個(gè)功能選擇:未預(yù)定進(jìn)入、已預(yù)訂進(jìn)入和會(huì)員註冊(cè)。未預(yù)定進(jìn)入適合於顧客未預(yù)定餐桌的情況,此功能不需要任何權(quán)限;已預(yù)訂進(jìn)入適合於顧客已經(jīng)預(yù)定餐桌的情況,此功能需要顧客登錄會(huì)員;會(huì)員註冊(cè)可以讓顧客註冊(cè)為餐廳的會(huì)員。</p><p> 在顧客使用顧客系統(tǒng)進(jìn)入點(diǎn)餐是系統(tǒng)時(shí)需要首先選擇餐桌,如果顧客是通過(guò)未預(yù)定進(jìn)入的,那
52、麼顯示的餐桌為可用餐桌,如圖25,如果顧客是通過(guò)已預(yù)訂進(jìn)入,那麼顯示的餐桌則為顧客預(yù)定的餐桌。在選擇餐桌後系統(tǒng)自動(dòng)進(jìn)入點(diǎn)餐系統(tǒng)。</p><p> 圖25所示的餐桌選擇系統(tǒng)的調(diào)用非常複雜,由於多處有關(guān)餐桌的使用都調(diào)用這個(gè)類(lèi),期間的數(shù)據(jù)交流非常繁瑣,這裡附上調(diào)用餐桌類(lèi)里面最主要的一個(gè)方法,代碼如下。</p><p> -(IBAction) OK:(id)sender{</p>
53、;<p> if ([self.dataPassisEqualToString:@"服務(wù)員預(yù)訂"]) {</p><p> if ( floorName == nil) {</p><p> UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"錯(cuò)誤"message:@&
54、quot;樓層未選擇"delegate:selfcancelButtonTitle:@"確定"otherButtonTitles: nil];</p><p> [alert show];</p><p> [alert release]; }</p><p> else if ( tableNamed == nil) {<
55、/p><p> UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"錯(cuò)誤"message:@"餐桌未選擇"delegate:selfcancelButtonTitle:@"確定"otherButtonTitles: nil];</p><p> [alert show]
56、;</p><p> [alert release]; }</p><p><b> else {</b></p><p> NSLocale *ChinaLocale = [[[NSLocalealloc] initWithLocaleIdentifier: @"zh_CN"] autorelease];</p
57、><p> NSDate *pickerDate = [datePickerdate];</p><p> NSString *selectionString = [[NSStringalloc] initWithFormat : @"%@", [pickerDate descriptionWithLocale:ChinaLocale]];</p><
58、;p> NSString *testDate = selectionString;</p><p> NSLog(@"%@",testDate);</p><p> [selectionString release];</p><p><b> …………………</b></p><p>
59、 …………………//此處設(shè)置預(yù)定時(shí)間,代碼省略</p><p> NSString *string = [[NSStringalloc] initWithString:tableNamed];</p><p> NSArray *testFoodName = [string componentsSeparatedByString:@" "];</p>
60、;<p> table2 = [[NSStringalloc] initWithString:[testFoodName objectAtIndex:0]];</p><p> peop = [[NSStringalloc] initWithString:[testFoodName objectAtIndex:1]];</p><p> [self updateReco
61、rdFromTableNamed: @"tableData" withField1: @"floor" field1Value: floorNameandfield3: @"tableName" field3Value: table2 andfield4: @"state" field4Value:@"預(yù)訂"];</p>&
62、lt;p> NSString *msgVIP = [global getBookVIPName];</p><p> [self insertRecordIntoTableBook :@"book" withField1: @ "bookVIPName" field1Value: msgVIP andfield2 : @"booktable"
63、field2Value: table2 andfield3 : @ "bookTime" field3Value : bookTime];</p><p> self.staffBookDetailsViewController = [[staffBookDetailsalloc] initWithNibName :@ "staffBookDetails" bundle:
64、 nil];</p><p> self.staffBookDetailsViewController.bookTableName = table2;</p><p> [globa lsetBookTable:table2];</p><p> NSString * totalSelectedTable = [[NSStringalloc] initWith
65、Format:@"%@ %@ 預(yù)定成功", floorName, table2];</p><p> UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"提示"message:totalSelectedTable delegate:selfcancelButtonTitle:@"確定"oth
66、erButtonTitles: nil];</p><p> [alert show];</p><p> [alert release];</p><p> [self.viewaddSubview:self.staffBookDetailsViewController.view]; }}</p><p><b> el
67、se {</b></p><p> if ([dataPassis EqualToString:@"預(yù)訂"]) {</p><p> if ( tableNamed == nil) {</p><p> UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"錯(cuò)
68、誤"message:@"預(yù)定未選擇"delegate:selfcancelButtonTitle:@"確定"otherButtonTitles: nil];</p><p> [alert show];</p><p> [alert release]; }</p><p><b> else {&l
69、t;/b></p><p> NSString *string = [[NSStringalloc] initWithString:tableNamed];</p><p> NSArray *testFoodName = [string componentsSeparatedByString : @" "];</p><p>
70、 bookFlo = [[NSStringalloc] initWithString:[testFoodName objectAtIndex: 0]];</p><p> bookTab = [[NSStringalloc] initWithString:[testFoodName objectAtIndex: 1]];</p><p> [self updateRecordFromT
71、ableNamed :@"tableData" withField1: @"floor "field1Value :bookFloandfield3: @"tableName" field3Value: bookTabandfield4: @"state" field4Value: @"使用中"];</p><p>
72、; NSString * totalSelectedTable = [[NSStringalloc] initWithFormat: @ "%@ %@", bookFlo, bookTab];</p><p> [global setTable:totalSelectedTable];</p><p> [self turnBookFoodToOrderFood
73、:@"bookDetails"];</p><p> [self deleteBook: @"book" withField: @"booktable" fieldValue: bookTab];</p><p> [self deleteBookDetails: @"bookDetails"withFie
74、ld: @"booktable" fieldValue: bookTab];</p><p> UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"您的餐桌為"message:totalSelectedTable delegate:selfcancelButtonTitle:@"確定"oth
75、erButtonTitles: nil];</p><p> [alert show];</p><p> [alert release];</p><p> menuViewController = [[menualloc] initWithNibName :@ "menu" bundle: nil];</p><p
76、> [self.view addSubview:menuViewController.view]; }}</p><p><b> else {</b></p><p> if ( floorName == nil) {</p><p> UIAlertView *alert = [[UIAlertViewalloc] initW
77、ithTitle:@"錯(cuò)誤"message:@"樓層未選擇"delegate:selfcancelButtonTitle:@"確定"otherButtonTitles: nil];</p><p> [alert show];</p><p> [alert release]; }</p><p>
78、else if ( tableNamed == nil) {</p><p> UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"錯(cuò)誤"message:@"餐桌未選擇"delegate:selfcancelButtonTitle:@"確定"otherButtonTitles: nil];&
79、lt;/p><p> [alert show];</p><p> [alert release];</p><p><b> }</b></p><p><b> else {</b></p><p> NSString *string = [[NSStringall
80、oc] initWithString:tableNamed];</p><p> NSArray *testFoodName = [string componentsSeparatedByString:@" "];</p><p> table2 = [[NSStringalloc] initWithString:[testFoodName objectAtI
81、ndex:0]];</p><p> peop = [[NSStringalloc] initWithString:[testFoodName objectAtIndex:1]];</p><p> [self updateRecordFromTableNamed: @"tableData" withField1: @"floor" field1
82、Value: floorNameandfield3: @"tableName" field3Value: table2andfield4: @"state"field4Value: @"使用中"];</p><p> NSString * totalSelectedTable = [[NSStringalloc] initWithFormat: @&q
83、uot;%@ %@", floorName, table2];</p><p> [globalsetTable:totalSelectedTable];</p><p> UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"您的餐桌為"message: totalSelectedTable d
84、elegate:selfcancelButtonTitle:@"確定"otherButtonTitles:nil];</p><p> [alert show];</p><p> [alert release];</p><p> menuViewController = [[menualloc] initWithNibName:@&q
85、uot;menu"bundle:nil];</p><p> [self.viewaddSubview:menuViewController.view]; </p><p><b> }</b></p><p><b> }</b></p><p><b> }</
86、b></p><p><b> }</b></p><p> 3.2.2 點(diǎn)餐系統(tǒng)</p><p> 圖表 26 點(diǎn)餐系統(tǒng) 圖表27餐單選擇</p><p> 圖26顯示的是點(diǎn)餐系統(tǒng)。單擊左上角的主頁(yè)按鈕會(huì)返回到系統(tǒng)主頁(yè),單擊右上角的餐桌按鈕會(huì)顯示顧客所在的餐桌號(hào)碼,中間的
87、按鈕欄是餐單的分類(lèi),單擊不同的分類(lèi)會(huì)顯示分類(lèi)的明細(xì),如圖27顯示的是主菜分類(lèi)的明細(xì)。</p><p> 在餐單選擇裏面點(diǎn)擊想要品嘗的食物後,系統(tǒng)會(huì)轉(zhuǎn)到所點(diǎn)擊食物的明細(xì)頁(yè)面,如圖28顯示的是冰花酸梅排骨的明細(xì),在頁(yè)面的下方顯示的是其他顧客品嘗後給予的評(píng)論,可供顧客參考;點(diǎn)擊頁(yè)面右上方的點(diǎn)餐按鈕則可以把該食物加入點(diǎn)餐單。</p><p> 在點(diǎn)餐系統(tǒng)點(diǎn)擊已點(diǎn)餐單選項(xiàng)可查看顧客的點(diǎn)餐單,如圖
88、29。點(diǎn)餐單左邊的一欄為未完成的餐單,右邊為已完成的餐單,點(diǎn)擊餐單會(huì)顯示已點(diǎn)餐單的詳情,如圖30。</p><p> 圖表 28 餐單明細(xì) 圖表29已點(diǎn)餐單</p><p> 圖表 30 點(diǎn)餐詳情 圖表31帳單</p><p> 圖30顯示的是點(diǎn)餐詳情,詳情裏面有點(diǎn)餐起始時(shí)間和結(jié)束時(shí)間,如果該
89、餐單沒(méi)有開(kāi)始製作,那麼顧客就可以點(diǎn)擊下面的“取消此訂單”來(lái)刪除,如果餐單已經(jīng)開(kāi)始製作或者製作完成,那麼該選項(xiàng)會(huì)消失。</p><p> 圖31顯示的是該餐桌的帳單,上方為餐桌號(hào)碼,中間為消費(fèi)總額,下方表格為消費(fèi)明細(xì)。</p><p> 3.3 侍者系統(tǒng)設(shè)計(jì)</p><p> 3.3.1 侍者系統(tǒng)主頁(yè)</p><p> 圖表 32 侍者
90、系統(tǒng) 圖表 33 登錄資訊</p><p> 圖32顯示的是侍者系統(tǒng)。侍者在使用本系統(tǒng)是需要登錄權(quán)限,在登錄後就會(huì)進(jìn)入侍者是同。侍者系統(tǒng)分為四個(gè)子系統(tǒng):帳單管理、餐桌變更、添加預(yù)定和預(yù)定查詢(xún)。</p><p> 圖33所示是侍者的登錄信息。點(diǎn)擊侍者已登錄此頁(yè)面就會(huì)顯示,在此頁(yè)面用戶(hù)可以選擇註銷(xiāo)登錄或者重新登錄其他帳號(hào)。</p>&l
91、t;p> 3.3.2 帳單管理</p><p> 圖表 34 帳單管理 圖表 35 帳單明細(xì)</p><p> 圖34是侍者系統(tǒng)的帳單管理頁(yè)面。首先要選擇樓層,樓層選擇後右方會(huì)顯示出此樓層正在使用的餐桌,侍者選擇結(jié)帳餐桌後頁(yè)面跳轉(zhuǎn)到帳單明細(xì)頁(yè)面,如圖35,帳單明細(xì)顯示了已點(diǎn)的餐單和餐單的狀態(tài),如果餐單的狀態(tài)為未作,那麼該餐單可以從帳單裡刪
92、除;最後點(diǎn)擊右上角的結(jié)帳完成結(jié)帳。</p><p> 結(jié)帳完成後所有數(shù)據(jù)從後臺(tái)數(shù)據(jù)庫(kù)刪除。</p><p> 3.3.3 餐桌變更</p><p> 圖表 36 餐桌變更 圖表 37 變更確認(rèn)</p><p> 圖36所示是系統(tǒng)的餐桌變更介面,說(shuō)先選擇原餐桌的樓層,然後右邊會(huì)顯示出此樓可真在使用
93、也就是可變更的餐桌;然後在介面下方選擇先要變更的樓層,變更樓層選定後右邊就會(huì)顯示出此樓層可以使用的餐桌,原餐桌和變更餐桌都選定後,點(diǎn)擊右上角的改變按鈕,就可以完成餐桌變更(如圖37)。</p><p> 3.3.4 添加預(yù)定</p><p> 圖表 38 添加預(yù)定 圖表 39預(yù)訂單</p><p> 圖38顯示的是添加預(yù)
94、定的介面。首先需要侍者輸入預(yù)訂人的帳號(hào)(會(huì)員登錄名),然後系統(tǒng)在檢查此帳號(hào)為會(huì)員後,侍者就可以添加預(yù)定餐桌和添加預(yù)定餐單,這兩個(gè)介面同樣使用前面的餐桌選擇系統(tǒng)和餐單選擇系統(tǒng),只是數(shù)據(jù)流不同;在預(yù)定完成後侍者可以使用查看預(yù)定詳情選項(xiàng)進(jìn)行預(yù)定查看,如圖39,在預(yù)訂單裏面可以看到此會(huì)員的預(yù)定餐桌、預(yù)定時(shí)間和預(yù)定餐單,並可以刪除預(yù)定和添加預(yù)定餐單。</p><p> 3.3.5 預(yù)定查詢(xún)</p><
95、p> 圖表 40 預(yù)定查詢(xún)時(shí)間選擇 圖表 41 預(yù)定查詢(xún)</p><p> 侍者在使用預(yù)定查詢(xún)時(shí),首先需要選擇預(yù)定查詢(xún)的時(shí)間,如圖40,在選擇查詢(xún)預(yù)訂時(shí)間後,點(diǎn)擊確定會(huì)顯示此日期的預(yù)定情況,如圖41。</p><p> 在預(yù)定查詢(xún)頁(yè)面,上方為預(yù)定人、預(yù)定餐桌和預(yù)定時(shí)間,下方的功能表可以更改預(yù)定餐桌、更改預(yù)定時(shí)間、更改預(yù)定餐桌和刪除預(yù)定餐桌。更改預(yù)定餐
96、桌是重用前面的餐桌選擇頁(yè)面,更改預(yù)定時(shí)間是重用圖40所示的查詢(xún)預(yù)訂時(shí)間選擇項(xiàng),更改預(yù)定餐單是重用選擇餐單頁(yè)面,這些重用大大減少了軟件的內(nèi)存,並且使本系統(tǒng)更加可靠和一致。</p><p> 3.4 廚師系統(tǒng)設(shè)計(jì)</p><p> 圖表 42 廚師系統(tǒng) 圖表 43 餐單管理</p><p> 圖42顯示的是廚師系統(tǒng)介面,廚師在
97、使用職員登錄後就可以進(jìn)入廚師系統(tǒng),廚師系統(tǒng)包括餐單管理和餐單製作。</p><p> 圖43所示是餐單管理介面,廚師在此介面可以選擇添加餐單或者點(diǎn)擊一個(gè)餐單進(jìn)行管理。</p><p> 圖44是管理餐單明細(xì)介面,此介面顯示了選擇餐單的詳細(xì)資訊,廚師可以對(duì)這些資訊進(jìn)行修改,並且可以刪除此餐單。</p><p> 圖45是已點(diǎn)餐單介面,介面左方顯示的是代做餐單的列
98、表,廚師點(diǎn)擊代做餐單後進(jìn)入餐單狀態(tài)頁(yè)面,如圖46,在此頁(yè)面廚師可以修改餐單的狀態(tài),如圖47顯示的是餐單狀態(tài)改變後的已點(diǎn)餐單介面右方數(shù)據(jù)欄的更新。</p><p> 圖表 44 管理餐單明細(xì) 圖表 45 已點(diǎn)餐單</p><p> 圖表 46 餐單狀態(tài) 圖表 47改變的已點(diǎn)餐單</p><p>
99、 如圖48是餐單製作的通道圖,廚師進(jìn)入餐單製作系統(tǒng)后,系統(tǒng)從后臺(tái)數(shù)據(jù)庫(kù)讀取餐單信息,如果餐單狀態(tài)已激活,那麼系統(tǒng)就把該餐單加入到製作表中。</p><p> 廚師在製作表中選擇要製作的餐單,進(jìn)入正在製作狀態(tài),廚師使用系統(tǒng)更新餐單狀態(tài);此後待餐單製作完成,廚師再次更新餐單狀態(tài),並且系統(tǒng)自動(dòng)更新製作表。</p><p> 此過(guò)程一直循環(huán)到製作表為空為止。</p><p&
100、gt; 圖表48 餐單製作甬道圖</p><p> 下面附上餐單狀態(tài)管理的代碼:</p><p> -(IBAction) dataUpdate:(id)sender{</p><p> NSDate* date = [globalgetDate];</p><p> [self updateRecordFromTableNamed
101、 :@"orderFood" withField1: @"end" field1Value:(NSString *) date andfield2: @"foodIndex" field2Value: selectedFoodIndex];</p><p> UIAlertView *alert = [[UIAlertViewalloc] initWi
102、thTitle:@"成功"message:@"數(shù)據(jù)更新成功"delegate:selfcancelButtonTitle:@"確定"otherButtonTitles:nil];</p><p> [alert show];</p><p> [alert release];</p><p><b
103、> }</b></p><p> -(void) updateRecordFromTableNamed:(NSString *)tableName withField1:(NSString *) field1 field1Value:(NSString *) field1Value andfield2:(NSString *) field2 field2Value:(NSString *)
104、field2Value{</p><p> NSString *sql;</p><p> //1 is end; 2 is index </p><p> if ([foodState.textisEqualToString:@"已完成"]) {</p><p> sql = [NSStringstringWit
105、hFormat:@"UPDATE '%@' SET end = '%@', state = '已完成' WHERE foodIndex = '%@'",tableName,field1Value,field2Value];</p><p><b> }</b></p><p> e
106、lseif ([foodState.textisEqualToString:@"正在做"]){</p><p> sql = [NSStringstringWithFormat:@"UPDATE '%@' SET state = '正在做' WHERE foodIndex = '%@'",tableName,field2Va
107、lue];</p><p><b> }</b></p><p> elseif ([foodState.textisEqualToString:@"未開(kāi)始"]){</p><p> sql = [NSStringstringWithFormat:@"UPDATE '%@' SET state
108、 = '未開(kāi)始' WHERE foodIndex = '%@'",tableName,field2Value];</p><p><b> }</b></p><p> char *err;</p><p> if(sqlite3_exec(db, [sql UTF8String], NULL,
109、NULL, &err) !=SQLITE_OK){</p><p> sqlite3_close(db);</p><p> NSAssert(0,@"Error updating into table");</p><p><b> }</b></p><p><b> }
110、</b></p><p> 3.5 經(jīng)理系統(tǒng)設(shè)計(jì)</p><p> 3.5.1 經(jīng)理系統(tǒng)主頁(yè)</p><p> 圖表 49 經(jīng)理系統(tǒng) 圖表50 餐桌管理</p><p> 圖49所示的是經(jīng)理系統(tǒng)介面,經(jīng)理在職員登錄後可以使用經(jīng)理系統(tǒng)。經(jīng)理系統(tǒng)包括餐單管理、餐桌管理、會(huì)員管理、職工管理
111、和評(píng)價(jià)管理。其中餐單管理和廚師系統(tǒng)的餐單管理使用同一個(gè)系統(tǒng)。</p><p> 3.5.2 餐桌管理</p><p> 圖50顯示的是經(jīng)理系統(tǒng)的餐桌管理。經(jīng)理在此系統(tǒng)可以添加餐桌或者對(duì)選定餐桌進(jìn)行管理。圖51顯示的是新增餐桌的介面,餐桌的樓層、人數(shù)和編碼系統(tǒng)限制只能輸入數(shù)字。圖52顯示的是餐桌的詳情,經(jīng)理可以修改餐桌的人數(shù)和餐桌狀態(tài)。</p><p> 圖表
112、51 新增餐桌 圖表 52餐桌詳情</p><p> 3.5.3 會(huì)員管理</p><p> 圖表 53 新增餐桌 圖表54餐桌詳情</p><p> 圖53顯示的是經(jīng)歷的會(huì)員管理系統(tǒng),此頁(yè)面首先顯示了餐廳的會(huì)員列表,經(jīng)歷可以添加會(huì)員或者對(duì)選擇的會(huì)員進(jìn)行管理。如圖54顯示的是會(huì)員的詳情
113、,ID是系統(tǒng)自動(dòng)分配,其他的項(xiàng)目經(jīng)歷可以修改,但密碼是不可見(jiàn)的。</p><p> 3.5.4 職工管理</p><p> 圖表 55 職員管理 圖表56 職員詳情</p><p> 圖55顯示的是經(jīng)理系統(tǒng)職員管理介面。職員分為三類(lèi):侍者、廚師和經(jīng)理。經(jīng)理在選定職工後可以對(duì)其進(jìn)行修改,也可以點(diǎn)擊右上角添加新職員。</
114、p><p> 如圖56顯示的是職員的詳情,ID是系統(tǒng)自動(dòng)分配,職務(wù)提供三個(gè)選項(xiàng),其他詳細(xì)資訊需手動(dòng)修改和填寫(xiě)。拖動(dòng)此介面可以看到下方的刪除職員按鈕。</p><p> 3.5.5 評(píng)價(jià)管理</p><p> 圖表 57 評(píng)價(jià)管理</p><p> 如圖57顯示的是經(jīng)理系統(tǒng)的評(píng)價(jià)管理系統(tǒng)。經(jīng)理可以在此查看每個(gè)餐單的評(píng)價(jià),單擊評(píng)價(jià)可對(duì)餐單進(jìn)行
115、刪除操作。</p><p><b> 結(jié)論</b></p><p> 這是我第一次接觸基於IOS系統(tǒng)的編程,蘋(píng)果開(kāi)發(fā)的編寫(xiě)軟件xCode非常人性化和合理化,使用此軟件進(jìn)行編程非常的方便,它把所需的一切都結(jié)合在一起。當(dāng)然編寫(xiě)過(guò)程中遇到很多困難,而現(xiàn)在基於IOS編程的教科書(shū)少之又少,國(guó)內(nèi)網(wǎng)站也很少有關(guān)於此的教程,我只能去外國(guó)的網(wǎng)站搜索相關(guān)的解決辦法,最後經(jīng)過(guò)我的不懈努
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 資料庫(kù)系統(tǒng)理論與實(shí)務(wù)
- 餐飲成本控制
- 二階存貨配銷(xiāo)系統(tǒng)中以整合採(cǎi)購(gòu)及比例配送觀(guān)念實(shí)現(xiàn)風(fēng)險(xiǎn)共擔(dān)之研究
- 工業(yè)工程與系統(tǒng)管理學(xué)系碩士學(xué)位論文指導(dǎo)教授同意書(shū)
- 明新科技大學(xué)運(yùn)動(dòng)管理實(shí)務(wù)與實(shí)習(xí)實(shí)施要點(diǎn)(草案)
- 成本會(huì)計(jì)管理系統(tǒng)
- 供水系統(tǒng)模型與管理策略建立之研究.pdf
- 諺譯《老樸》與近代漢語(yǔ)語(yǔ)音系統(tǒng)研究——《翻譯老樸》聲母系統(tǒng)-.pdf
- 三星現(xiàn)代的共通點(diǎn)在於恐懼經(jīng)營(yíng)
- 系統(tǒng)設(shè)計(jì)流程
- 課程本位評(píng)量理論與實(shí)務(wù)
- 粒子重構(gòu)系統(tǒng)
- 策略具體行動(dòng)化系統(tǒng)平衡計(jì)分卡之探討與應(yīng)用
- 全面品質(zhì)管理輔助教學(xué)系統(tǒng)
- 基于ios的點(diǎn)餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于ios的點(diǎn)餐系統(tǒng)說(shuō)明書(shū)
- 基于ios的點(diǎn)餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 電信管線(xiàn)資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基於DEA模型的商業(yè)銀行風(fēng)險(xiǎn)效率研究——兩岸三地銀行實(shí)證分析.pdf
- [學(xué)習(xí)]兒少保護(hù)相關(guān)法令與實(shí)務(wù)
評(píng)論
0/150
提交評(píng)論