

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于手機的點菜系統(tǒng)設計與實現</p><p><b> 摘 要</b></p><p> 小型軟件系統(tǒng)在我國軟件行業(yè)中已發(fā)展到了一定的階段,并占有一定的地位。它為滿足用戶的某項或某些服務的方便、需要、以及完善的管理提供了良好的控制操作平臺。隨著軟件技術的發(fā)展,各種計算機語言、開發(fā)工具已逐步的走向簡單化、易操作使用化,在眾多的開發(fā)工具中,首選M
2、yEclipse和MySQL以及Eclipse 配WTK插件。</p><p> 在當今經濟發(fā)展的社會中,酒店行業(yè)迅速發(fā)展成為大型企業(yè),而酒店服務的管理是一項較為復雜、規(guī)范的操作,因此,酒店服務要想得到更好的操作、運轉,開發(fā)一個酒店服務系統(tǒng)勢在必行。點菜服務是酒店服務中一個重要部分,顧客的方便和酒店的簡捷操作是雙方的希望,針對這種服務需求酒店點菜服務系統(tǒng)得以開發(fā)實踐。本系統(tǒng)利用MyEclipse和MySQL的嚴
3、整結合,從顧客操作和酒店前臺管理兩個方面連接同一個數據庫進行了方便而簡捷的窗口管理設計。系統(tǒng)完成得以運用,并在初始模型下,不斷的更進、完善,以滿足用戶的需求。</p><p> 關鍵詞:手機,點菜系統(tǒng),J2ME,MIDP</p><p> The Design and Implementation of Ordering System based on Cell Phone</p
4、><p><b> ABSTRACT</b></p><p> Small software system has developed to a certain stage and has gained a firm position in China's software industry. It provides the users with a good
5、 platform to meet their particular service or convenience by improving the management control. With the development of software technology, various computer languages and the development tools have been gradually moving
6、toward the simplistic way that is easy to use. Among the many development tools, MyEclipse small software development and MySQL als</p><p> In the society of today's economic development, the hotel indu
7、stry has rapidly developed to large enterprises. The management of hotel services has become more complex and standardized operations. Therefore, in order to operate better, it is imperative to develop a hotel service sy
8、stem. La carte service is an important part of the hotel service. In light of this demand for customer convenience and simple operation of the hotels’ hope Services ordered hotel services systems have been put into pra&l
9、t;/p><p> Key words: Cell Phone, Ordering System, J2ME, MIDP</p><p><b> 目 錄</b></p><p><b> 摘要I</b></p><p> ABSTRACTII</p><p><
10、;b> 1 緒論1</b></p><p> 1.1系統(tǒng)開發(fā)的目的1</p><p> 1.2 系統(tǒng)的概述1</p><p> 1.3系統(tǒng)的開發(fā)意義與發(fā)展1</p><p><b> 2 相關技術3</b></p><p> 2.1 Java ME3<
11、;/p><p> 2.1.1 Java ME體系結構及介紹3</p><p> 2.1.2 MIDP4</p><p> 2.1.3 MIDlet5</p><p> 2.2 數據庫MySQL7</p><p> 2.3 服務器Tomcat7</p><p><b>
12、 2.4 JSP8</b></p><p> 2.5 本章小結8</p><p> 3 系統(tǒng)分析與設計9</p><p> 3.1 可行性分析9</p><p> 3.1.1 經濟可行性9</p><p> 3.1.2 技術可行性9</p><p> 3.1.
13、3 操作可行性9</p><p> 3.2 需求分析9</p><p> 3.3 系統(tǒng)總體設計9</p><p> 3.3.1 系統(tǒng)設計原則9</p><p> 3.3.2 系統(tǒng)總體框架10</p><p> 3.3.3 系統(tǒng)模塊設計10</p><p> 3.3.4 主
14、要業(yè)務流程11</p><p> 3.4數據庫設計與實現12</p><p> 3.4.1 數據庫設計原則12</p><p> 3.4.2 數據庫的設計步驟12</p><p> 3.4.2數據庫表的設計13</p><p> 3.5 本章小結15</p><p> 4
15、 系統(tǒng)詳細設計16</p><p> 4.1 系統(tǒng)環(huán)境配置16</p><p> 4.1.1 軟件環(huán)境16</p><p> 4.1.2 硬件環(huán)境16</p><p> 4.2 系統(tǒng)框架實現16</p><p> 4.2.1 主要的類與接口16</p><p> 4.2.
16、2 系統(tǒng)主要配置文件17</p><p> 4.3 系統(tǒng)主要功能模塊的實現18</p><p> 4.3.1 服務器端18</p><p> 4.3.2 客戶端21</p><p> 4.3.3 功能實現25</p><p> 4.4 本章小結25</p><p> 5
17、總結與展望26</p><p><b> 5.1 總結26</b></p><p> 5.2 存在的問題及展望26</p><p><b> 致謝27</b></p><p><b> 參考文獻28</b></p><p><b&
18、gt; 1 緒論</b></p><p> 1.1 系統(tǒng)開發(fā)的目的</p><p> 隨著社會的發(fā)展,人們的生活節(jié)奏日益加快,越來越多的人把更多的時間投入在工作學習之中。于是花費在生活上其他事情的時間相應的就少了。所謂“民以食為天”,盡管人們生活節(jié)奏的加快了,但對于飲食的質量的需求卻不會因此而下降。這一需求逐漸醞釀出對方便、快捷、營養(yǎng)的餐飲服務市場。網絡的興起為滿足這種新
19、型的需求提供了一個平臺,軟件應用技術和數據庫技術成為了信息傳遞的主要工具。使用計算機對菜單、訂單和點菜信息進行操作和管理,具有手工記錄和管理所無法比擬的優(yōu)點。例如:操作方便、可靠性高、存儲量大、保密性好、成本低等。這些優(yōu)點能夠極大地提高菜單管理的效率,滿足了人們提高生活品質的需求。</p><p> 然而,酒店業(yè)的競爭也愈來愈激烈,要想在競爭中取得優(yōu)勢,必須在經營管理、產品服務等方面提高管理意識。如何利用先進的
20、管理手段,提高酒店的管理水平,是每一個酒店管理者所面臨的重大問題。在當今信息化社會中,為了簡化酒店管理和顧客的自主方便,酒店點菜服務系統(tǒng)的開發(fā)勢在必行。</p><p><b> 1.2 系統(tǒng)的概述</b></p><p> 服務業(yè)現代化的一個重要內容,就是要實現“個性化服務”。提供個性化服務是智能化酒店的基本功能,如通過網絡技術,酒店的會議室可以跨全球同時同聲傳
21、影傳音翻譯。手機點菜服務系統(tǒng)也是酒店個性化服務的信息化的表現。</p><p> 本系統(tǒng)重點為解決顧客自主點菜方便和酒店管理規(guī)范而設計。整個系統(tǒng)圍繞著一個數據庫做操作,針對數據庫,一個由顧客操作,顧客操作主要有:自主點菜功能、查看點菜消費。另一個操作模塊由酒店前臺管理員操作,前臺操作主要有:獲取顧客點菜單、菜單維護、結賬功能。系統(tǒng)界面設計簡潔易于操作。</p><p> 該系統(tǒng)以餐飲業(yè)
22、務為基礎,主要突出點單、結賬。點單方面主要采取圖形加數據的方式使用戶能直觀的管理數據信息;結賬方面也采取圖形界面加數據的管理方式,讓用戶可以動態(tài)的管理現有的信息,這里突出了重要的兩點:一是操作管理的信息準確無誤,可讓用戶放心;二是操作管理的速度快、管理方便、實用性高。</p><p> 1.3 系統(tǒng)的開發(fā)意義與發(fā)展</p><p> 服務行業(yè)已經在我國盛行,這是種趨勢。同樣的商品,可以
23、說到處都有賣,但不同的服務質量將是影響經營的一個重要因素。酒店餐飲也不另外,大家都知道,現在的大酒店吃的是服務,吃的是心情。要在餐飲的同時享受快樂,點菜這個環(huán)節(jié)是非常重要的,點菜的服務將會影響到餐飲的質量,要是點菜的過程中,酒店和顧客發(fā)生了矛盾,我相信縱是山珍海鮮也味同嚼蠟,既對不起廚師,也對不起自己。因此,酒店的點菜服務引起了酒店高層領導的重視。在信息化時代中,人與人的交往矛盾沖突發(fā)生的幾率遠大過人與機器設備的矛盾發(fā)生率,因此,酒店點
24、菜系統(tǒng)的開發(fā)在酒店管理和顧客服務兩方面都有著極其重要的意義。</p><p> 傳統(tǒng)手工的酒店管理,管理過程繁瑣而復雜,執(zhí)行效率低,并且易于出錯。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,實現了酒店信息管理的系統(tǒng)化、規(guī)范化和自動化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本,也為顧客帶來了很大的方便與自主性。</p><p> 在現實的社會中,小型餐飲公司或
25、企業(yè)的管理還大多停留在人工管理日常業(yè)務運作的水平上,人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、易出錯,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。開發(fā)此餐飲管理系統(tǒng),不僅能提高酒店的管理水平給管理者提供一個企業(yè)運作的信息平臺還能提升企業(yè)的形象及增強競爭力。使用該餐飲管理系統(tǒng)能將餐飲企業(yè)業(yè)務管理和人員管理信息化,使酒店從原材料加工到客人消費都由計算機管理并記錄,可隨時掌
26、握酒店里及時消費的使用狀況,客人點單等情況,并能盡可能的降低使用者的勞動強度,同時提高工作質量和效率,在競爭越來越激烈的餐飲業(yè)中取得優(yōu)勢。</p><p><b> 1.4 所做工作</b></p><p> 本系統(tǒng)中我所做工作如下:針對某家餐飲店的情況做的調查,又了解到網絡上的相關數據,對手機點菜系統(tǒng)的需求做以分析,并初步對手機點菜系統(tǒng)進行設計,再根據目前的技術
27、以及自己掌握這方面技術的情況對系統(tǒng)做了相應的可行性研究,最終對系統(tǒng)的體系結構總體框架進行規(guī)劃,并完成詳細設計。</p><p> 在本系統(tǒng)中主要研究了Java Me技術、Jsp技術以及之間的HTTP通信技術,利用這些技術在MySQL的基礎上實現手機點菜系統(tǒng)。整個系統(tǒng)采用Eclipse + Java ME Wireless Toolkit 2.5.1 作為開發(fā)工具,Tomcat 6.0 作為網絡服務器,MySQL
28、作為數據庫,Windows7 作為網絡操作系統(tǒng)平臺。手機端程序用Java ME 實現,通過GPRS 網絡連接到Internet, 然后實現與企業(yè)內部局域網的互連。</p><p> 通過對本系統(tǒng)的開發(fā),使我對軟件的開發(fā)有了進一步的認識,學習如何利用Eclipse開發(fā)企業(yè)級的應用程序,并懂得了服務器—客戶端程序的開發(fā),對基于HTTP協(xié)議的通信技術有了一定的了解,也進一步了解了軟件開發(fā)的流程,對以后的學習和工作打下
29、了基礎。</p><p><b> 2 相關技術</b></p><p> 2.1 Java ME</p><p> 2.1.1 Java ME體系結構及介紹</p><p> 從整體上來看,Java ME平臺由一下幾部分組成。</p><p> Java虛擬機:針對不同的嵌入式設備以及
30、為了滿足不同的需要,提供了KVM和CVM兩大類虛擬機。</p><p> 配置(Configuration):它是將某一類特定應用范疇的設備的共性提取出來形成的規(guī)范。為開發(fā)人員提供了一個基礎的、能在所有平臺上通用的核心API類庫。</p><p> 簡表(Profile):它是將某一個特殊行業(yè)或領域內的設備的特性提取出來,形成對特定領域的特性總結,作為配置的一個補充。</p>
31、;<p> 一些可選包:主要包括設備廠商提供的OME的API類庫。</p><p> 前三項組成了Java ME的基本運行環(huán)境,他們的關系如圖2-1所示。</p><p> 圖2-1 Java ME 平臺的體系結構[3]</p><p> 其中Java虛擬機是運行環(huán)境的核心,它運行于設備中的操作系統(tǒng)之上,再往上是具體的Java ME配置,包括根
32、據設備的資源需要而提供的基本核心API類庫,配置的上面是一個或者多個針對不同應用領域而設置的簡表。</p><p> 配置是將基本運行環(huán)境定義為一套核心類和一個運行在特定類型設備上的特定虛擬機。Java ME中提供了兩種配置:CLDC(Connected Limited Device Configuration)和CDC(Connected Device Configuration)。這兩種配置所針對的設備的C
33、PU和內存大小是不一樣的,因此它們所使用的虛擬機和核心類庫也不相同。</p><p> Java ME根據設備的硬件配置把設備分成兩類:連接設備(Connected Device)和有限連接設備(Connected Limited Device)。</p><p> 連接設備主要是指使用32位及75MHz以上的處理器、具有2MB以上內存的嵌入式設備;有限連接設備主要是指16/32位的R
34、ISC/CISC微處理器或控制器,并且其可用內存為160~512KB的嵌入式設備。</p><p> CDC針對的設備主要是數字電視、機頂盒、網絡電話等連接設備的配置,這些設備的特點是有線連接、穩(wěn)定而持續(xù)的電源供應、設備資源比較受限。CDC使用CVM虛擬機,具有較強的處理能力和較大的核心類庫。</p><p> CLDC支持的設備主要包括無線電話、手機、個人數字助理(PAD)以及小型零
35、售支付終端等。CLDC使用KVM虛擬機,其處理能力較弱,并且只包含程序運行所需要的最小類庫。</p><p> CLDC中類的預審核機制分為兩個階段,如圖2-2所示。</p><p> 圖2-2 CLDC/KVM中的預審核機制[3]</p><p> 簡表是面向配置之上的縱向設備,建立在配置的頂部,定義了配置之上受支持設備的類型。它是基于Java技術的API集
36、合,作為配置的補充,為特定的縱向市場或者設備類型提供服務。配置和簡表的層次關系如圖2-3所示。</p><p> 圖2-3 配置和簡表的層次關系[3]</p><p> 目前Java ME領域里使用最廣泛的是移動信息設備簡表(MIDP),它主要是針對手機和其他雙向移動通信設備而設計的。</p><p> 2.1.2 MIDP </p><p
37、> 移動信息設備簡表(Mobile Information Device Profile,MIDP)針對的是移動信息設備或者體積較小的能力有限的手持設備(MID),這些設備的共性是具有用戶接口,即屏幕和輸入機制。MIDP目標設備的典型例子就是手機和PDA。</p><p> MIDP中主要包含7個軟件包,其中4個核心CLDC軟件包另外加上3個特定于MIDP的軟件包,其名稱和功能如下:</p>
38、<p> 核心包:java.lang</p><p> 工具包:java.util</p><p> I/O包:java.io</p><p> 網絡I/O包:javax.microedition.io</p><p> 用戶界面包:javax.microedition.lcdui</p><p&g
39、t; MIDP主類包:javax.microedition.midlet</p><p> 持久化存儲包:javax.microedition.rms</p><p> MIDP 2.0中的軟件包及功能描述:</p><p> 表2-1 MIDP 2.0軟件包的功能描述[3]</p><p> 2.1.3 MIDlet </p
40、><p> MIDlet(Mobile Information Devices let,移動信息設備小程序)是可以在KVM上運行的Java ME應用程序。它是一個普通的Java類,但是在定義時必須繼承java.microedition.midlet包中的MIDlet類。</p><p> MIDlet的生命周期共有3個狀態(tài):活動(Active)態(tài)、暫停(Paused)態(tài)和銷毀(Destro
41、yed)態(tài)。MIDlet中必須實現一些特定的生命周期方法,應用程序管理器通過調用MIDlet生命周期中的各個方法來管理MIDlet的行為。</p><p> 整個MIDlet程序的執(zhí)行流程如下。</p><p> 系統(tǒng)調用繼承自MIDlet類的默認構造方法,創(chuàng)建對象。</p><p> 系統(tǒng)進入MIDlet生命周期的暫停狀態(tài),這是MIDlet生命周期的第一個狀
42、態(tài)。</p><p> 系統(tǒng)調用startApp()方法,然后進入MIDlet的運行狀態(tài),程序正常執(zhí)行。</p><p> 如果在暫停狀態(tài)或者運行狀態(tài)下發(fā)生錯誤,則程序會調用destroyApp()方法,然后進入銷毀狀態(tài)。</p><p> 對于MIDlet生命周期的整個過程,可以通過圖2-4所示的MIDlet的狀態(tài)轉換過程進行描述。</p>&
43、lt;p> 圖2-4 MIDlet狀態(tài)轉換[3]</p><p> MIDlet套件組成部分:</p><p> 添加到JAR文件中的Java類文件和其它資源文件。</p><p> 描述JAR文件內容的清單文件MANIFEST.MF。</p><p> Java應用程序描述符文件JAD。</p><p&g
44、t;<b> 應用程序管理器。</b></p><p> MANIFEST.MF清單文件的屬性描述:</p><p> 表2-2 MANIFEST.MF清單文件屬性描述[3]</p><p> 表2-2中的屬性其中只有以下列出的6個屬性是必需的,如果缺少任何一個必需屬性,應用程序管理器就會拒絕加載這個JAR文件。</p>
45、<p> MIDlet-Name</p><p> MIDlet-Version</p><p> MIDlet-Vendor</p><p><b> MIDlet-n</b></p><p> MicroEdition-Profile</p><p> MicroEdit
46、ion-Configuration</p><p> MIDlet的基本開發(fā)流程:編寫MIDlet程序源代碼→編譯MIDlet程序→對編譯后的類文件進行預校驗→編寫清單文件MANIFEST.MF→對MIDlet程序進行打包→編寫Java應用程序描述符(JAD)文件。</p><p> 2.2 數據庫MySQL</p><p> 數據庫應用系統(tǒng)主要包括數據庫(D
47、atabase,簡稱DB)、數據庫管理系統(tǒng)(Database Management System,簡稱DBMS)、數據庫應用3大部分。其關系如圖2-5所示。</p><p> 圖2-5 數據庫系統(tǒng)的組成及關系</p><p> MySQL是一個真正的多用戶、多線程SQL數據庫服務器,它是一個客戶機/服務器結構的實現。MySQL是現在流行的關系數據庫中其中的一種,相比其它的數據庫管理系統(tǒng)
48、(DBMS)來說,MySQL具有小巧、功能齊全、查詢迅捷等優(yōu)點。MySQL 主要目標是快速、健壯和易用。MySQL 對于一般中小型,甚至大型應用都能夠勝任。</p><p> 2.3 服務器Tomcat</p><p> Tomcat服務器是一個免費的開放源代碼的Web應用服務器,是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一
49、個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。它是在SUN公司的JSWDK(Java Server Web Development Kit)基礎上發(fā)展起來的一個JSP和Servlet規(guī)范的標準實現,使用Tomcat可以體驗JSP和Servlet的最新規(guī)范。經過多年的發(fā)展,Tomcat不僅是JSP和Servlet規(guī)范的標準實現,而且具備了很多商業(yè)Java Servlet容器的特性,并被一些企業(yè)用于商業(yè)用途。</
50、p><p> 因為Tomcat 技術先進、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web應用服務器。Tomcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個小型的輕量級應用服務器,在中小型系統(tǒng)
51、和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JSP程序的首選。</p><p><b> 2.4 JSP</b></p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。JSP技術有點類似ASP技術,它是在傳統(tǒng)的網頁HTML文件(*.htm,*.html)中插
52、入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。</p><p> JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和
53、顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。自JSP推出后,眾多大公司都支持JSP技術的服務器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應用的服務器端語言。</p><p> JSP相比ASP和PHP,具有一定優(yōu)勢:</p><p> 一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。<
54、;/p><p> 系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/PHP的局限性是顯而易見的。</p><p> 強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到 由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數臺服務器,Java顯示了一個巨大的
55、生命力。</p><p> 多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已經有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經可以順利的運行 于多種平臺之下。</p><p> 當然,JSP也存在一定的缺點。與ASP相比,Java的優(yōu)勢也是它的問題所在。由于Java的跨平臺性,為了極度的伸縮能力,所以極大地增加了產品的復雜性。其次,Java的運行速度是用
56、class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是“最低性能價格比”了。</p><p><b> 2.5 本章小結</b></p><p> 本章主要討論到該手機點菜系統(tǒng)中所用的的各種技術,這個是基于HTTP協(xié)議的網絡開發(fā),其中服務器與手機客戶端之間的信息傳遞將會成為本系統(tǒng)的難點。HTTP協(xié)議的工作機制就是請求和響應,由于HTTP協(xié)
57、議簡單,使得HTTP服務器的程序規(guī)模小,因而通信速度很快。</p><p><b> 3 系統(tǒng)分析與設計</b></p><p><b> 3.1 可行性分析</b></p><p> 根據實際的情況,我將手機點菜系統(tǒng)的可行性分析為三個部分來進行,分別是經濟可行性、技術可行性和用戶使用可行性。</p>
58、<p> 3.1.1 經濟可行性</p><p> 該系統(tǒng)開發(fā)多使用的是開源軟件,如Tomcat服務器,Eclipse開發(fā)工具還有MySQL數據庫等,間接地降低了開發(fā)成本,商家完全不用擔心它對自己系統(tǒng)經濟的影響。而且軟件的可移植性和可修改性非常的好,如果商家想更新或者升級擴展的話,也是完全可以的。</p><p> 3.1.2 技術可行性</p><p&
59、gt; Java的設計目標和能力即在于平臺無關性和網絡功能。事實上Java最初的設計目標是用于消費電子領域,但是后來在PC和服務器上得到了發(fā)展。“一次編寫,到處運行”的平臺無關性,對網絡和多重設備間聯網的機制顯然是至關重要的軟件條件。這個領域內的Java標準就是J2ME,其全稱是Java 2 Micro Edition(2005年6月更名為Java ME)。Java ME在適用于這些設備的同時也保留了Java的傳統(tǒng)特性,即代碼具有可移
60、植性、部署靈活性、安全的網絡傳輸性和代碼的穩(wěn)定性等。因此,Java ME已經被廣泛地應用于消費類嵌入式設備中,成為嵌入式開發(fā)的一種標準。還有我們所使用的數據庫MySQL,它是一款開源軟件。此數據庫體積小、速度快、總體擁有成本低。我們使用一款非常穩(wěn)定的小型服務器Tomcat,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新
61、的功能。在這樣的組合下,我們的軟件系統(tǒng)有非常好的穩(wěn)定性和擴展性。</p><p> 3.1.3 操作可行性</p><p> 該手機點菜系統(tǒng)是基于MIDP 2.0的,可以在大部分支持Java的手機上運行。如今用戶基本人手一部,只需要下載安裝即可使用。該系統(tǒng)不僅操作簡單,而且還提供了很好的用戶體驗。</p><p><b> 3.2 需求分析</
62、b></p><p> 傳統(tǒng)的酒店點菜服務運轉方式是采用人工操作管理,并應用手寫記錄的方式手工操作,從資源上來說,需要投入許多人力與物力。同時,此種方式操作可能引發(fā)一些利益沖突,給管理和顧客消費帶來了一定的影響。現在已經進入了系統(tǒng)化社會,信息資源共享、信息規(guī)范管理是各行各業(yè)的發(fā)展趨勢,也是超越落后管理方式的要求。數據庫的操作代替人力等方式是一種信息化的方式,這樣既節(jié)約了人力,也為酒店帶來了經濟利益。酒店點
63、菜服務系統(tǒng)的開發(fā)既是基于酒店管理人員的需要,又是廣大消費者的心聲。</p><p> 3.3 系統(tǒng)總體設計</p><p> 本系統(tǒng)是基于MySQL數據庫的操作,適用于中小型的餐飲酒店服務。手機點菜系統(tǒng)設計采用了信息管理系統(tǒng)完整實用的開發(fā)方法,突出了實用性和實效性,緊密結合用戶的使用要求,設計界面簡潔,操作方便。具體設計如下。</p><p> 3.3.1 系
64、統(tǒng)設計原則</p><p> 總體設計過程首先尋找現實目標系統(tǒng)的各種不同的方案,需求分析階段得到的數據流圖是設想各種可能方案的基礎。然后分析員從這些提供選擇的方案中選取若干個合理的方案的基礎,為每個合理的方案都準備一份系統(tǒng)流程圖,列出組成系統(tǒng)的所有物理元素,進行成本/效益分析,并且制定實現這個方案的進度計劃。分析員應該綜合分析比較這些合理的方案,從中選一個最佳方案向用戶和使用部門負責人推薦。如果用戶和使用部門的
65、負責人接受了推薦方案,分析員應該進一步為了這個最佳方案設計軟件結構,通常,設計出初步的方案,分析員應該為了這個最佳方案設計軟件結構。</p><p> 實用性原則:應用軟件最基本的原則,直接衡量系統(tǒng)的成敗,提交到用戶手中的系統(tǒng)都應該是實用的,能解決用戶的實際問題。</p><p> 適應性和可擴展性原則:系統(tǒng)需要具備一定的適應能力,隨著數據量的增加和運行節(jié)點的擴展,系統(tǒng)對硬件軟件的要求
66、會不斷提高,系統(tǒng)采用的所有硬件、軟件的選型必須考慮可擴展性的要求。</p><p> 可靠性原則:系統(tǒng)應該是可靠的,在出現異常的時候應該有人性化的異常信息方便用戶理解原因,或采取適當的應對方案來保證系統(tǒng)的流暢運行。</p><p> 可維護性和可管理性原則:系統(tǒng)應該有一個完善的管理機制,易于維護。在系統(tǒng)建設和開發(fā)過程中的每個環(huán)節(jié),必須遵循有關國際、國家主流技術標準。</p>
67、<p> 安全性原則:整個系統(tǒng)具有良好的安全管理功能,對各個層面和角度都具有相應的安全機制。</p><p> 總體規(guī)劃、分層實施原則:在開始設計之前應該對Web系統(tǒng)進行總體設計,然后在總體設計指導下分步開發(fā)。在實現各個模塊的功能設計后,完成整個系統(tǒng)的開發(fā)。</p><p> 3.3.2 系統(tǒng)框架</p><p> 該系統(tǒng)的框架如圖3-1所示,
68、具體分析如下:</p><p><b> 圖3-1 系統(tǒng)框架</b></p><p><b> 客戶端:</b></p><p> 客戶端是運行在手機上的,主要是向服務器提交顧客的點菜單。當開始提交數據時就會和服務器建立起HTTP連接,并使用GET方式向服務器發(fā)送數據。這里向服務器提交的數據有用戶的ID和密碼,登錄成
69、功的用戶便可以開始進行點菜的相關操作。</p><p><b> 服務器端:</b></p><p> 服務器主要是對邏輯的處理,與客戶端進行交互的同時也對數據庫進行更新??蛻舳伺c服務器端利用統(tǒng)一的MESSAGE進行消息傳遞,減少數據量的傳遞并方便管理。</p><p> 3.3.3 系統(tǒng)模塊設計</p><p>
70、 本系統(tǒng)的主要操作界面中包含有兩個基本操作菜單,一個是顧客手機端的操作菜單和一個前臺操作菜單。</p><p> 顧客操作菜單中包含有:注冊、登錄、菜單/點菜、點菜查看等操作。這些都是在手機上操作實現的,這些都是以窗體的形式給出,看上去直觀,在已點菜列表中也可以進行修改操作。點菜具體可分為熱菜、涼菜和面食,進行選擇后才能查看以及相應的點菜,顧客點完菜的時候直接提交給前臺進行處理。顧客用戶還可以隨時對自己的信息
71、進行修改,比如說密碼,昵稱,聯系電話,郵箱等。如圖3-2所示。</p><p> 圖3-2 系統(tǒng)功能模塊</p><p> 3.3.4 主要業(yè)務流程</p><p> 手機點菜服務系統(tǒng)業(yè)務說明如下:</p><p> 顧客操作模塊即手機客戶端</p><p><b> 用戶的注冊及登錄</b&
72、gt;</p><p> 根據菜單項,進行自主點菜</p><p> 點菜查看及提交座位號的點菜單</p><p><b> 顧客留言</b></p><p> 酒店管理操作模塊即服務器端</p><p> 查詢顧客的點菜單,并做相應的處理</p><p> 對
73、菜單進行維護、修改</p><p><b> 消費結賬,打印清單</b></p><p><b> 如圖3-3所示。</b></p><p><b> 圖3-3 業(yè)務流程</b></p><p> 3.4數據庫設計與實現</p><p> 對于
74、本系統(tǒng)來說,設計到的數據量不是很大,所以采用MySQL作為系統(tǒng)的后臺數據庫。首先在計算機中安裝MySQL數據庫管理系統(tǒng),確定安裝成功后,可以再安裝個可視化界面管理插件,方便數據的管理及操作。</p><p> 3.4.1 數據庫設計原則</p><p> 構建此點菜系統(tǒng),數據庫的設計必須合理,這樣管理起來也就方便很多。在數據庫設計時,應當慎重考慮到以下幾個因素:</p>
75、<p> 數據庫必須層次分明,布局合理。</p><p> 數據庫必須高度結構化,保證數據的結構化、規(guī)范化和標準化,這是建立數據庫和進行信息交換的基礎。數據結構的設計應該遵循國家標準和行業(yè)標準。</p><p> 在設計數據庫的時候,一方面要盡可能地減小冗余度,減小存儲空間占用,降低數據一致性問題發(fā)生的可能性,另一方面,還要考慮適當的冗余,以提高運行速度和降低開發(fā)難度。&
76、lt;/p><p> 必須維護數據的正確性和一致性。在系統(tǒng)中,多個用戶共享數據庫,由于并發(fā)操作,可能影響數據的一致性。因此必須用“鎖”等辦法保證數據的一致性。</p><p> 設定相應的安全機制,由于數據庫的信息對特定的用戶有特定的保密要求,安全機制必不可少。[4]</p><p> 3.4.2 數據庫的設計步驟</p><p> 數據
77、庫的設計過程可分為6個階段:</p><p> 需求分析階段:準確了解與分析用戶的需求(包括數據與處理),是整個設計過程的基礎,也是最困難、最耗費時間的一步。</p><p> 概念結構設計階段:這步是整個數據庫設計的關鍵,通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。</p><p> 邏輯結構設計階段:將概念結構轉換為某個DBM
78、S所支持的數據模型,對其進行優(yōu)化。</p><p> 數據庫物理設計階段:為邏輯數據模型選取一個最適合應用環(huán)境的物理結構(包括存儲結構和存取方法)。</p><p> 數據庫實施階段:運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果。建立數據庫,編制與調試應 用程序,組織數據入庫,并進行試運行。</p><p> 數據庫運行和維護階段:
79、數據庫應用系統(tǒng)經過試運行后即可投入正式運行。在數據庫系統(tǒng)運行過程中必須不斷地對其進行評價、調整與修改。</p><p> 3.4.2數據庫表的設計</p><p> 根據手機點菜系統(tǒng)的基本情況,設計數據庫的E-R圖如圖3-4所示,整個表都是根據用戶的相關操作而設計成新表,用戶瀏覽菜單進行點菜生成點菜日志表,用戶留言生成留言表等。</p><p> 圖3-4 系
80、統(tǒng)基本E-R圖</p><p> 用戶表users的設計:</p><p> 表3-1 用戶表USERS</p><p> 菜單表orders的設計:</p><p> 表3-2 菜單表ORDERS</p><p> 點菜記錄表order_log的設計:</p><p> 表3-3
81、點菜記錄表ORDER_LOG</p><p> 留言表leave_words的設計:</p><p> 表3-4 留言表LEAVE_WORDS</p><p> 視頻表videos的設計:</p><p> 表3-5 視頻表VIDEOS</p><p><b> 3.5 本章小結</b>
82、</p><p> 本章主要對該手機點菜項目進行了系統(tǒng)的分析,分別從經濟可行性、技術可行性、操作可行性對其分析,又針對某一家餐飲店的經營情況對該系統(tǒng)做了需求分析,并對系統(tǒng)的工作原理、整體架構做了詳細的描述,再根據數據庫的設計步驟完成了系統(tǒng)所需表的創(chuàng)建。</p><p><b> 4 系統(tǒng)詳細設計</b></p><p> 4.1 系統(tǒng)環(huán)境
83、配置</p><p> 4.1.1 軟件環(huán)境</p><p> 在本系統(tǒng)中,采用Apache組織的開源項目Tomcat作為Web服務器,使用JSP技術開發(fā)服務器端,Java ME技術開發(fā)手機客戶端。具體如下:</p><p> (a)Java開發(fā)工具包:JDK6.0。建議采用JDK5以上版本,因為在以前的版本中不支持泛型和其他的新特性。</p>
84、<p> JDK環(huán)境變量的配置如下:</p><p> 變量名JAVA_HOME: D:\Windows7\Java\jdk1.6.0_10(為JDK的安裝目錄)</p><p> 變量名Path:%JAVA_HOME%\bin</p><p> 變量名ClassPath: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\
85、lib\tools.jar</p><p> ?。╞)Web服務器采用Tomcat6.0,建議安裝5.0以上版本。</p><p> ?。╟)數據庫服務器采用MySQL。</p><p> ?。╠)服務器端開發(fā)工具采用的是MyEclipse。</p><p> ?。╡)Java ME開發(fā)插件:EclipseME和Java無線開發(fā)工具包(Jav
86、a Wireless Toolkit,WTK)。Eclipse是一個開放源代碼的、可擴展的開發(fā)環(huán)境,我們開發(fā)Java ME程序,需要使用EclipseME插件。</p><p> 4.1.2 硬件環(huán)境</p><p> 4.2 系統(tǒng)框架實現</p><p> 4.2.1 主要的類與接口</p><p> ?。?)工具(com.nyb.u
87、til):連接數據庫的DBUtil和實現Filter的過濾器EncodingFilter。</p><p> (2)實體類(com.nyb.bean):菜單類(Order)、點菜記錄單類(OrderLog),用戶類(User)和視頻類(Video)。</p><p> (3)DAO(com.nyb.dao):</p><p> 表4.1 DAO主要類與接口&l
88、t;/p><p> (4)Servlet類(com.nyb.servlet):</p><p> 表4.2 主要的Servlet類</p><p> 4.2.2 系統(tǒng)主要配置文件</p><p> ?。?)paramsConfig.properties配置文件:</p><p> driverClass=com.m
89、ysql.jdbc.Driver</p><p> dbUrl=jdbc:mysql://localhost:3306/order_db?useUnicode=true&characterEncoding=utf-8</p><p> username=root</p><p> password=root</p><p>
90、(2)web.xml配置文件:</p><p> (a)配置Servlet</p><p> <!-- 注冊 Servlet --></p><p><b> <servlet></b></p><p> <servlet-name>userRegister</servl
91、et-name></p><p> <servlet-class>com.nyb.servlet.UserRegisterSerlvet</servlet-class></p><p> </servlet></p><p> <servlet-mapping></p><p>
92、 <servlet-name>userRegister</servlet-name></p><p> <url-pattern>/userServlet/userRegister</url-pattern></p><p> </servlet-mapping></p><p> (b)字符處理過
93、濾器</p><p><b> <filter></b></p><p> <filter-name>ending</filter-name></p><p> <filter-class>com.nyb.util.EncodingFilter</filter-class><
94、;/p><p><b> </filter></b></p><p> <filter-mapping></p><p> <filter-name>ending</filter-name></p><p> <url-pattern>/*</url-
95、pattern></p><p> </filter-mapping></p><p> 4.3 系統(tǒng)主要功能模塊的實現</p><p> 4.3.1 服務器端</p><p> 在本系統(tǒng)中,前端頁面實現比較簡單,主要界面風格如圖4-1所示。主要的頁面有index.jsp(首頁),listOrder.jsp(菜單列表
96、),listVideo.jsp(視頻列表),orderLogList.jsp(點菜日志列表),addOrder.jsp(添加新菜頁面),addVideo.jsp(添加視頻頁面)。相應的頁面都有相關操作。</p><p> 界面簡單明了,最上面一欄是相應的操作,有點菜日志查詢,菜單查詢和視頻查詢,以及添加菜單和視頻的操作,在列表內可以對該條內容進行相應的修改或者刪除,針對點菜日志則有送往廚房、完成交易的操作等。手
97、機客戶端點菜后將點菜日志發(fā)送到菜單管理頁面對點菜日志進行添加更新,再通過點菜管理查看相關的點菜日志,并作相應的操作管理。</p><p> 圖4-1 點菜查詢界面</p><p> ?。?)菜單列表實現:</p><p> List<Order> list = dao.getAllOrder();//獲得所有菜得信息</p><p
98、> request.setAttribute(“l(fā)ist”,list);</p><p> RequestDispatcher dispatcher = request.getRequestDispatcher(“/listOrder.jsp”);</p><p> dispatcher.forward(request,response);//將請求轉發(fā)到listOrder.j
99、sp這個頁面</p><p> 對于點菜日志列表查詢和視頻列表的查詢和這個方法是一樣的,比較簡單,這里不再贅述。</p><p> ?。?)菜單添加新菜:</p><p><b> 界面截圖:</b></p><p><b> 圖4-2 添加新菜</b></p><p>
100、;<b> 流程圖:</b></p><p> 圖4-3 添加新菜流程圖</p><p><b> 關鍵代碼:</b></p><p> while(it.hasNext()){ </p><p> FileItem fileItem=(FileItem)it.next(); //填充文
101、本框</p><p> if(fileItem.isFormField()){</p><p> if("orderName".equals(fileItem.getFieldName())){</p><p> order.setName(fileItem.getString("UTF-8"));//設置菜名稱&l
102、t;/p><p> } else if("orderDesc".equals(fileItem.getFieldName())){</p><p> order.setDescription(fileItem.getString("UTF-8"));//設置菜描述</p><p> } else if("orde
103、rType".equals(fileItem.getFieldName())){</p><p> order.setType(fileItem.getString("UTF-8"));//設置菜類型</p><p> } else if("orderPrice".equals(fileItem.getFieldName())){&
104、lt;/p><p> order.setPrice(fileItem.getString("UTF-8"));//設置菜價格</p><p><b> }</b></p><p><b> } else {</b></p><p> //添加菜圖片的方法</p>
105、;<p> if(fileItem.getName()!=null&&!fileItem.getName().equals("")){</p><p> String filename = fileItem.getName();//獲得圖片文件名</p><p> String ext = filename.substring
106、(filename.lastIndexOf(".") + 1);//取圖片格式</p><p> if(!"jpgpngbmp".contains(ext)){//格式限定為jpg、png、bmp的格式圖片</p><p> out.println("圖片格式必須為:jpg、png、bmp");</p><
107、p><b> return ;</b></p><p><b> }</b></p><p> if(fileItem.getSize() > 1024 * 1024){//大小限定(1 M )</p><p> out.println("圖片不能大于1M");</p&
108、gt;<p><b> return ;</b></p><p><b> }</b></p><p> String newname = System.currentTimeMillis() + "." + ext;//圖片統(tǒng)一重命名</p><p> String str =
109、this.getClass().getResource("/").getPath();//瀏覽圖片的存放路徑</p><p> str = str.replace("WEB-INF/classes/", "").substring(1);</p><p> String imagesPath = str + IMAGE_PAT
110、H;//新的存放路徑</p><p> File dir = new File(imagesPath);</p><p> if(!dir.exists() && !dir.isDirectory())</p><p> dir.mkdirs();</p><p> File realFile=new File(
111、imagesPath, newname);//上傳后的文件保存</p><p> fileItem.write(realFile);</p><p> order.setImgage_path(IMAGE_PATH + newname);//路徑設置</p><p><b> }</b></p><p>&l
112、t;b> }</b></p><p><b> }</b></p><p> if(dao.addOrder(order) > 0)</p><p> out.println("添加成功");</p><p><b> else</b></
113、p><p> out.println("添加失敗");</p><p> 進行添加新菜的時候,除了描述可以為空外其他的都必須不為空才能添加成功,描述的內容也可以之后進行修改時進行添加,那么對于視頻的添加方法以及效果圖和這個類似,這里不再贅述。頁面效果截圖如圖4-2所示,該程序流程圖如圖4-3所示。</p><p><b> 4.3.2
114、 客戶端</b></p><p><b> ?。?)用戶登錄:</b></p><p><b> 界面截圖:</b></p><p> 圖4-4 手機登錄界面</p><p><b> 流程圖:</b></p><p> 圖4-5 手
115、機登錄界面</p><p><b> 關鍵代碼:</b></p><p> //根據給定的URL地址,使用HttpConnection進行HTTP連接</p><p> httpConn = (HttpConnection) Connector.open(ServerURL.LogonURL);</p><p>
116、 httpConn.setRequestMethod(HttpConnection.GET);</p><p> dos = new DataOutputStream(httpConn.openOutputStream());</p><p> dos.writeUTF(uic.getUser().getLoginid());//發(fā)送登錄帳號</p><p&g
117、t; dos.writeUTF(uic.getUser().getPassword());//發(fā)送登錄密碼</p><p> dis = new DataInputStream(httpConn.openInputStream());</p><p> Order_Client.MESSAGE = dis.readInt();//讀取服務器發(fā)送登錄的驗證消息</p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 飯店點菜系統(tǒng)的設計與實現
- 餐廳點菜系統(tǒng)的設計與實現.pdf
- 基于ARM的無線點菜系統(tǒng)的設計與實現.pdf
- 基于ZigBee的自助點菜系統(tǒng)的設計與實現.pdf
- 基于qt的點菜系統(tǒng)設計
- 基于android手機終端點菜系統(tǒng)開題報告
- 基于Android平臺的WiFi點菜系統(tǒng)的設計與實現.pdf
- 基于arm的電子點菜系統(tǒng)設計
- 基于嵌入式Linux的點菜系統(tǒng)的設計與實現.pdf
- 基于XIFI的自助式點菜系統(tǒng)的設計與實現.pdf
- 蓉城老媽酒店點菜系統(tǒng)的設計與實現.pdf
- 基于B-S結構的餐館點菜系統(tǒng)設計與實現.pdf
- 基于NiosⅡ的自助點菜系統(tǒng)設計.pdf
- 基于java的餐廳點菜系統(tǒng)
- 基于無線網絡的點菜系統(tǒng)的設計與實現.pdf
- 基于RFID的智能點菜系統(tǒng)的開發(fā)與設計.pdf
- 基于無線局域網點菜系統(tǒng)的研究與實現.pdf
- 餐廳點菜系統(tǒng)的研究與設計.pdf
- 餐館點菜系統(tǒng)
- 基于SimpliciTI協(xié)議的無線點菜系統(tǒng)設計.pdf
評論
0/150
提交評論