基于iOS的點菜系統(tǒng)的設計與實現(xiàn)_第1頁
基于iOS的點菜系統(tǒng)的設計與實現(xiàn)_第2頁
基于iOS的點菜系統(tǒng)的設計與實現(xiàn)_第3頁
基于iOS的點菜系統(tǒng)的設計與實現(xiàn)_第4頁
基于iOS的點菜系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、開題報告基于IOS的點菜系統(tǒng)的設計與實現(xiàn) -胡衛(wèi) -11通信2班一、研究背景一、研究背景近幾年來,人們的生活方式和生活理念隨著生活水平的大幅度提高逐漸發(fā)生變化,在整個社會中,餐飲業(yè)占據(jù)著舉足輕重的位置。那么,如何提高餐飲業(yè)的服務質量和服務速率也成為了大家所關注的問題。隨著無線通信技術的飛速發(fā)展,在餐飲業(yè)中引入無線點菜技術是對餐飲業(yè)的一種技術革命。 在大多數(shù)的餐飲場所中點菜,查看菜譜都是人工完成的。這需要通過大量的手工勞動完成,速度慢,耗費人力多,而且容易出錯,進而導致其工作效率低,造成人力物力的極大浪費。為了節(jié)省人力和時間,避免不必要的出錯,采用點菜軟件去點菜可以解決以上問題。 二、主要內(nèi)容二

2、、主要內(nèi)容1、要能查看菜單2、可以點菜3、能夠選座位4、能計算所點菜的總價格5、可以瀏覽用戶自己以前所點的菜單 三、設計方案三、設計方案1、點菜軟件的功能設計2、點菜軟件的界面設計3、點菜軟件的結構設計4、數(shù)據(jù)庫設計5、工作流程設計1、點菜軟件的功能設計實現(xiàn)的功能:(1)查詢菜單;(2)點菜選菜;(3)查看訂單;(4)增減自選;(5)訂座功能2、點菜軟件的界面設計(1)菜單界面2、點菜軟件的界面設計(2)用戶菜單界面2、點菜軟件的界面設計(3)歷史菜單界面2、點菜軟件的界面設計(4)座位選擇界面3、點菜軟件的結構設計點菜軟件采用MVC的設計模式。V是視圖,是我們看到的界面。M是模型,指的是用什

3、么樣的方法從數(shù)據(jù)庫里取出數(shù)據(jù)。C是控制,指的是我們點擊界面上的按鍵后,選擇M中提供的方法途徑。4、數(shù)據(jù)庫設計數(shù)據(jù)庫共建了5張表。 (1)groupTable,字段有id、kind、name。表的創(chuàng)建語句為 CREATE TABLE groupTable (id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE , kind TEXT NOT NULL UNIQUE , name TEXT UNIQUE )。這張表是用來存放菜的種類。(2)menuTable,字段有id、groupID、iKind、name、price、unit、detail、picName。表的

4、創(chuàng)建語句為CREATE TABLE menuTable (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , groupID INTEGER NOT NULL , iKind TEXT NOT NULL , name TEXT NOT NULL UNIQUE , price INTEGER, unit TEXT, detail TEXT, picName TEXT)。這張表是存放所有的菜的詳細信息的。4、數(shù)據(jù)庫設計(3)orderTable,字段有id、menuName、Price、kind、menuNum、remark。表的創(chuàng)建語句為

5、CREATE TABLE orderTable (id INTEGER PRIMARY KEY NOT NULL ,menuName TEXT NOT NULL ,Price TEXT,kind TEXT NOT NULL ,menuNum INTEGER NOT NULL ,remark TEXT)。這張表是用來存放用戶當前所點的菜的信息。(4)group_recordTable,字段有id、date、time、room。表的創(chuàng)建語句為CREATE TABLE group_recordTable (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL U

6、NIQUE , date TEXT NOT NULL , time TEXT NOT NULL , room TEXT NOT NULL )。這張表是用來存放用戶歷史用餐記錄的。(5)recordTable,字段有id、stateNum、menuName、menuPrice、menuKind、MenuNum、menuRemark、groupID。表的創(chuàng)建語句為CREATE TABLE recordTable (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , stateNum INTEGER NOT NULL , menuName T

7、EXT NOT NULL , menuPrice TEXT NOT NULL , menuKind TEXT NOT NULL , menuNum INTEGER NOT NULL , menuRemark TEXT NOT NULL , groupID INTEGER NOT NULL )。這張表是用來存放用戶以前所有的點餐的詳情。 5、工作流程設計工作流程圖5、工作流程設計 首界面相當與歡迎界面通過點擊button跳轉到第二界面;第二個界面可以選擇返回第一個界面,或者進入菜單界面,或者進入用餐記錄界面,都是通過點擊不同的button 來跳轉。 用餐記錄界面用一個表格展示用戶以前的用餐記錄,

8、用戶可以選擇刪除記錄;在用餐記錄界面通過選中每一條用餐記錄可以查看用餐的詳細信息。 首界面,第二個界面,用餐記錄界面,記錄詳情界面都是用一個UIViewController類控制。 菜單界面是最復雜的一個界面,這個界面用三個UIViewController類來控制,選擇菜的種類的表格放在最底層的界面上,選擇不同的菜品用就在界面上展示當前種類菜的視圖。用戶在這個界面可以瀏覽所有的菜品,不同種類的菜品在不同的界面展示,在每個界面用戶都可以將當前的菜品添加進自己的菜單,也可以查看當前菜的詳細信息。5、工作流程設計 用戶在菜單界面點好菜之后可以通過點擊button進入用戶點單界面,這個界面用一個UIV

9、iewController類來控制。在用戶點單界面用一個表格展示用戶所點的菜及菜的總價格,在這個界面用戶可以對菜單進行修改,刪除不想要的菜,對喜歡的菜可以設置點的份數(shù),還可以對每樣菜做備注。 用戶確定菜單后就通過點擊button跳轉到座位選擇界面,座位選擇界面用一個UIViewController類來控制。在這個界面用戶能夠選擇餐廳中的座位。 除此之外還有一個NSObject類,在這個類中負責對所有數(shù)據(jù)的操作,對數(shù)據(jù)庫中的數(shù)據(jù)進行曾刪改查,上面所有界面的數(shù)據(jù)操作都要到調用NSObject類的方法,到NSObject類中盡進行。四、技術路線四、技術路線1、開發(fā)工具開發(fā)環(huán)境主要包括:(1).Xco

10、de (主要開發(fā)工具)。(2).iPhone Simulator (iPhone模擬器)。(3).SDK(Software Development Kit,軟件開發(fā)工具包)。2、整個系統(tǒng)基于Objective-C編程語言Object-C是擴充C的面向對象編程語言。它主要使用于Mac OS X和GNUstep這兩個使用OpenStep標準的系統(tǒng),而在NeXTSTEP和OpenStep中它更是基本語言。Objective-C可以在gcc運作的系統(tǒng)寫和編譯,因為gcc含Objective-C的編譯器。1980年代初布萊德確斯(Brad Cox)在其公司Stepstone發(fā)明Objective-C。目

11、前主要是編寫iOS操作系統(tǒng)應用程序的利器。近幾年Objective-C排名大幅提升,它的流行當歸功于iphone的成功,因為Objective-C一直被用于編寫iPhone應用程序。 Objective-C是非常實際的語言。它是一個用C寫成、很小的運行庫,只會令應用程序的大小增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時間會取代了整個系統(tǒng)的運作相反。ObjC寫成的程序通常不會比其原始碼大很多。而其函式庫亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來開啟一個窗口的情況相反3、數(shù)據(jù)庫使用MysqlMySQL是一種關聯(lián)數(shù)據(jù)庫管理系統(tǒng),關聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),

12、這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。 4、設計模式點菜軟件采用MVC的設計模式;MVC(Model View Controller)模型(model)視圖(view)控制器(controller):MVC本來是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、

13、控制器。它們各自處理自己的任務。視圖是用戶看到并與之交互的界面。模型表示企業(yè)數(shù)據(jù)和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關,這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性??刂破鹘邮苡脩舻妮斎氩⒄{用模型和視圖去完成用戶的需求。它只是接收請求并決定調用哪個模型構件去處理請求,然后再確定用哪個視圖來顯示返回的數(shù)據(jù)。五、關鍵問題五、關鍵問題1、數(shù)據(jù)庫的設計點菜系統(tǒng)中會所涉及到很多種類的數(shù)據(jù),怎樣將這些數(shù)據(jù)分類保存,相互之間不產(chǎn)生混淆就需要設計好數(shù)據(jù)庫各個庫表之間的關系。2、內(nèi)存管理問題IOS程序的內(nèi)存管理是半自動的,有些對象在不使用用時所占內(nèi)存會自動釋放,有些對象的內(nèi)存在程序運行事會一直占用,如果不手動釋放就會占用大量的內(nèi)存,導致程序卡頓,所以需要進行手動釋放,否則就會造成內(nèi)存泄露。3、數(shù)據(jù)處理問題在程序中,關于數(shù)據(jù)處理的操作特別多,每種操作對應的數(shù)

溫馨提示

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

評論

0/150

提交評論