網上訂餐系統設計與實現畢業論文_第1頁
網上訂餐系統設計與實現畢業論文_第2頁
網上訂餐系統設計與實現畢業論文_第3頁
網上訂餐系統設計與實現畢業論文_第4頁
網上訂餐系統設計與實現畢業論文_第5頁
已閱讀5頁,還剩22頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、本科畢業論文(設計)本科畢業論文(設計)(理工類)題目: 網上訂餐系統設計與實現 I / 27摘要摘要二十一世紀是信息化、知識化的世紀,隨著社會的進步、計算機應用的快速發展和網絡應用的不斷擴大,并使傳統的訂餐形式得到了極大的擴充,使人們訂餐更加的方便?;?Web 的網上訂餐系統,它是一種基于計算機網絡的網上訂餐形式,它的出現,大擴充了現行的訂餐方式,使餐飲擺脫了空間上和時間上的束縛,不管誰,只要會上網,都可以坐在電腦前面,方便地進行網上訂餐,可以看成是對餐飲業的一次革命。通過網上訂餐系統,可以在家中或辦公室為自己訂一份既營養又實惠的美食。本文就是基于此目的實現一個網上購餐系統。本系統是用戶實

2、現網絡交易的一種方式。設計和實現了一個 B/S 結構的網上訂餐系統,重點論述了系統的功能與實現、數據流程與存儲。包括會員管理、餐品信息介紹、網上訂餐、用戶留言、系統用戶管理以與后臺數據庫管理等。本文先是對系統的需求分析做了詳細的介紹,然后對系統的概要設計進行了闡述并重點介紹了網上訂餐系統各功能模塊的具體設計和實現。本系統是在 MySQL 數據庫、Java 語言和 MyEclipse 平臺技術實現的。既擁有良好便捷的前臺操作界面,也有穩定的后臺支持。系統旨在提供一個可供操作、功能完全、特色突出的網上訂餐系統。關鍵詞:網上訂餐系統 JAVA MySQL SSH2 II / 27AbstractAb

3、stractTwenty-first century is a informational knowledgeable century.With the rapid development of society, the use of the computer application and the network application, the traditional order form of meals has been greatly expanded, makinglife more convenient. Online meal ordering system based on

4、Web is such a computer network based on the online meal ordering form which has greatly expanded the existing order way.No matter who, as long as with the Internet, can sit in front of the computer, ordering a meal conveniently online. It is a kind of revolution of daily life. Online meal ordering s

5、ystem can be used in the home or office to buy a nutrition and affordable food for someone .Based on this,this article implements an online meal system.The system is the user a way for network transactions. the on-line meal ordering system of the B/S structure is designed and implemented, it emphati

6、cally elaborates the function and implementation of system, data flow and storage such as the member management, information introduction of order, the on-line meal ordering, user information, system user management as well as the administration of backstage database. This article analyzes the syste

7、m requirements, and makes a detailed introduction, and then highlighted the design and implementation of the online meal-order system. The system is implied by MySQL database, Java language and MyEclipse . It not only has good prospects of friendly interface, and also a stable background support. Th

8、e system is designed to provide an operable, fully functional, feature prominent system for online meal ordering.Key Words: Online ordering system JAVA MySQL SSH2III / 27IV / 27目目 錄錄承諾保證書承諾保證書 I I摘要摘要 IIIIABSTRACTABSTRACTIIIIII第一章第一章 緒緒 論論 1 11.1 本課題的來源與研究意義 11.1.1 本課題的來源 11.1.2 課題的研究意義 .21.2 訂餐系統概述

9、.21.2.1 訂餐系統的發展歷史.2第二章第二章 相關開發技術相關開發技術 3 32.1 J2EE 設計平臺 32.2 MYSQL32.2.1MYSQL 簡介 32.2.2MYSQL 優勢 32.3 STRUTS242.3.1 STRUTS2 簡介 42.3.2STRUTS2 框架結構 42.4 SPRING42.4.1 SPRING 簡介 42.4.2SRING 核心機制 52.5 HIBERNATE52.5.1 HIBERNATE 簡介 52.5.2HIBERNATE 核心接口 5第三章第三章 需求分析需求分析 6 63.1 網上訂餐需求分析 63.1.1 功能需求分析 63.2 系統架

10、構分析 7V / 273.3 可行性分析 7第四章第四章 系統設計系統設計 8 84.1 系統設計目標 84.1.1 系統安全性 84.1.2 可維護性 84.1.3 用戶操作 84.1.4 運行速度 84.1.5 界面 84.2 用戶類別功能設計 94.2.1 訂餐用戶功能 94.2.2 餐館管理員功能 94.3 總體設計 104.3.1 用戶登錄 104.3.2 訂餐服務 114.3.3 訂餐處理 114.4 數據庫設計 124.4.1 數據庫設計概述 124.4.5 數據庫模型 15第五章第五章 系統實現系統實現 16165.1 登陸和注冊 165.2 菜單信息瀏覽 165.3 訂餐服務

11、 175.4 用戶反饋 175.5 訂單處理 175.6 餐館信息管理 185.7 程序相關 18結 論 19參考文獻參考文獻 .2020致致 21211 / 27第第 1 1 章章 緒緒 論論網上訂餐就是互聯網的深入應用。用戶通過互聯網,能足不出戶,輕松閑逸地實現自己訂購餐飲和食品(包括飯、菜、盒飯、便當等)的一種網絡訂餐形式。隨著食天下網上訂餐平臺的興起,網上訂餐已經逐漸成為了白領階層中的一種潮流了。網上訂餐一般都會集中在一個時段,這會給餐飲企業制造出訂餐的高峰時段,訂餐者的需求在很多時候會得不到滿足,這種不如意,誕生的總是網上訂餐“無保障” ,“線上看,線下訂”正好能幫助改變這種會衍生惡

12、性循環的效應;通過線下聯系和溝通,訂餐者會對送餐時間能適當把控,這樣也就心里有數,在這樣的情況下,餐飲企業和用餐者在口頭協商的前提下,能達成一種雙方都能接受的協議,網上訂餐用戶一般都不會產生不滿情緒,這能抵消消費者的不滿情緒。想實現網上訂購,這些網上訂餐的形式應該很難,其中原因主要就是餐飲行業普遍存在的信息化意識薄弱,這讓網上訂餐成為實在的瓶頸,短時期這是很難突破的,這也是為什么現在真正能實現網上訂餐、并能被廣泛接納的網上訂餐行為,依然離不開直接訂購的主要原因。網上訂餐,想正真實現“網上訂,網上付”的正規化,還需要很長的一段時日。1.11.1 本課題的來源與研究意義本課題的來源與研究意義1.1

13、.11.1.1 本課題的來源本課題的來源隨著網絡技術的發展和普與,Internet 已成為人們獲取有關信息和相互交流的重要途徑之一,越來越多的機構和組織開始利用網絡資源傳遞、發布、收集和管理信息。這對各種類型的網絡提供一次很大的機遇與挑戰,特別是通過網絡進行信息交互的這種活動,更使網絡的經營方式充滿了活力和機動性1?;?B/S 模式的 JAVA 網上訂餐系統是應用于網絡交流領域的系統,它的主要特點有:(1) 通用性:網上訂餐系統具有良好的界面,適合推廣給所有用戶,能夠給用戶提供良好的服務。(2) 便捷性:本系統最大的特點就是方便快捷,用戶使用本系統可以足不出戶就享受到優質服務,在現代人們的生

14、活中很適用。人們對于訂餐的要能夠減少排隊等待的時間,此系統的設計正是為了迎合大家的這種需求,可以讓用戶節約許多的時間,提高了生活效率2。2 / 271.1.21.1.2 課題的研究意義課題的研究意義網上訂餐系統為人們的生活提供了方便快捷的消費方式:1.顧客去餐廳消費不用需要排隊點餐,可以方便的打開我們的,選擇自己喜歡的餐廳,瀏覽餐廳的菜單,進行網上點餐,省去了很多的時間。2.對于餐廳,可以擴大自己的銷售領域,通過我們的可以很好的做廣告。每個餐廳有它自己的主頁,管理自己的主頁;餐廳不僅僅在某個商業小區經營,餐廳還可以給顧客提供送外賣服務,這樣就大方便了那些宅男宅女們,不用再買那些快餐似的垃圾食品

15、,還能很好地享受到可口的飯菜。通過這種方式,餐廳的營業圍將大提高,營業額必然會上升。本系統針對所有用戶群體,建立了客戶端與服務器端。主要解決的問題包括:(1) 對于使用界面,需要人性化,能夠給用戶一種溫馨與簡易的感覺;(2) 系統應能夠與時響應用戶的請求,并與時提供幫助。本系統開發的意義在提供給用戶方便快速的訂餐服務,滿足用戶的需要,解決傳統訂餐方式的不足。1.21.2 訂餐系統概述訂餐系統概述1.2.11.2.1 訂餐系統的發展歷史訂餐系統的發展歷史隨著互聯網用戶的增多,工作節奏的加快,網絡訂餐成為眾多年輕網民與白領人士生活中的一部分。大眾點評網、豆丁網等的成立,為眾多辦公樓、工作繁忙的白領

16、解決了吃飯問題。網絡訂餐的手段和方式分類,目前餐飲業主要通過以下三種方法開展:1通過餐飲訂餐。這種訂餐方式主要通過專門的實現訂餐,用戶通過網絡實現對餐館的查詢與餐館的菜譜查詢和預定服務,相應企業給予通過訂餐的顧客相應的優惠。2通過與時的通訊工具( ,MSN 等)的網絡訂餐。這種餐飲企業往往不具備建立訂餐系統的資金與技術實力,主要通過與時的通訊工具( ,MSN 等)的實現訂餐。這種餐飲企業往往是區域性的,主要分布在居民小區與學校周邊,規模一般較小。3通過電子的網絡訂餐。這種訂餐方式主要是在相應餐飲企業舉辦大型酒席時,顧客提供給餐飲企業餐單時使用。因為使用訂餐有時間差,而且要收發略顯麻煩,所以目前

17、較少使用。綜上,第一類訂餐方式使用最為廣泛,建立較容易 成本低,但對于傳統店面餐飲收效甚微,無法成為主要的利潤來源。其余兩類有網絡訂餐的實質,但僅作為目前網絡訂餐的輔助手段3,4。3 / 27第第 2 2 章章 相關開發技術相關開發技術2.12.1J2EEJ2EE 設計平臺設計平臺J2EE Java2 平臺企業版(Java 2 Platform,Enterprise Edition)是一套全然不同于傳統應用開發的技術架構,它包含許多組件,主要可以簡化并且規應用系統的開發與部署,進而提高可移植性、安全與再用價值5。 目前,Java 2 平臺它有 3 個版本,它們是適用于小型設備和智能卡的 Jav

18、a 2平臺 Micro 版(Java 2 Platform Micro Edition,J2ME) 、適用于桌面系統的 Java 2 平臺標準版(Java 2 Platform Standard Edition,J2SE) 、適用于創建服務器應用程序和服務的 Java 2 平臺企業版(Java 2 Platform Enterprise Edition,J2EE) 。J2EE 它是一種利用 Java 2 平臺來簡化企業的解決方案的開發、部署和管理等相關的復雜問題的體系結構。J2EE 技術的基礎是核心的 Java 平臺或Java 2 平臺的標準版,J2EE 它不僅鞏固標準版中的許多優點,例如“編

19、寫一次、隨處運行”的特性、方便存取數據庫的 JDBC API、CORBA 技術與能夠在 Internet 應用中保護數據的安全模式等等,同時提供了對 E(Enterprise JavaBeans) 、Java Servlets API、JSP(Java Server Pages)以與 XML 技術的全面支持。其最終目的就是成為一個能夠使企業開發者大幅縮短投放市場時間的體系結構6。2.22.2 MySqlMySql2.2.1MySql2.2.1MySql 簡介簡介MySQL 它是一個小型關系型數據庫管理系統,MySQL 它還是一種關聯數據庫管理的系統,關聯數據庫將數據保存于不同的表中,而不是將所

20、有數據容放在一個大倉庫。這樣就提高了速度和靈活性。MySQL 的是 SQL“結構化查詢語言” 。SQL 它是用于訪問數據庫中的最常用標準化語言。MySQL 軟件采用了 GPL(GNU 通用公共許可證)。由于它體積小、速度快、總體擁有成本低,特別是開放源碼這一特點,許多中小型為了降低總體成本就選擇了 MySQL 作為數據庫7,8。2.2.2MySql2.2.2MySql 優勢優勢(1)它是使用 C 和 C+編寫,并使用了眾多的編譯器進行測試,保證了源代碼的可移植性;(2)支持 AIX、HP-UX、NovellNetware、Linux、Mac OS、OpenBSD、Solaris、Windows

21、、FreeBSD OS/2 Wrap 等多種操作系統;(3)為多種編程語言都提供了 API。這些編程語言包括C、C+、Java、Perl、PHP、Ruby、和 Tcl Eiffel 等;4 / 27(4)既能作一個單獨的應用程序應用在客戶端服務器網絡環境中,還能作為一個庫而嵌入到其他的軟件中提供多種語言支持,常見的編碼如中文的 GBK、BIG5,日文種的 Shift、JIS 以用作數據表名和數據列名;(5)提供了 TCP/IP、ODBC 和 JDBC 等許多種數據庫連接方法;(6)它還提供了用于管理、檢查、優化數據庫的操作的管理工具;(7)可以處理有上千萬條記錄的大型數據庫9。2.32.3 s

22、truts2struts22.3.1struts22.3.1struts2 簡介簡介Struts 2 它是 Struts 的下一代產品,是融合了 struts 1 和 WebWork 的技術,在它們基礎上合并的全新的框架。其全新的 Struts 2 的體系結構與 Struts 1 的體系結構有著巨大差別。Struts 2 它是以 WebWork 為核心,采用了攔截器機制來處理用戶的請求,這樣的設計讓業務邏輯控制器能夠與 Servlet API 完全脫離,因此Struts 2 可以理解成 WebWork 的更新產品。雖然從 Struts 1 到 Struts 2 有著根本性的變化,但是相對于 W

23、ebWork,Struts 2 它的變化還是很小10。2.3.2struts22.3.2struts2 框架結構框架結構當 Web 容器收到 請求( ServletRequest)后,它將請求傳遞給一個標準的過濾鏈包括(ActionContextCleanUp)過濾器,然后經過 Other filters(SiteMesh ,etc),再然后需要調用 FilterDispatcher 這個核心控制器,然后它再調用ActionMapper 確定請求來自哪個 Action,ActionMapper 返回一個收集 Action 詳細信息的 ActionMaping 的對象。接下來 FilterDis

24、patcher 它將控制權派給ActionProxy,ActionProxy 調用配置管理器(ConfigurationManager) 從配置文件中讀取配置信息文件(struts.xml),然后創建 ActionInvocation 對象,ActionInvocation 在調用 Action 之前它會依次的調用所用配置的攔截器(Interceptor N) 一旦執行結果后返回結果字符串 ActionInvocation 負責查找結果字符串對應的結果集(Result)然后執行這個 Result。 Result 會調用一些模版(JSP)來表頁面,隨后攔截器(Interceptor N)會被執行

25、(順序和 Action 執行之前相反)最后響應( ServletResponse)它會被返回在 web.xml 中配置的那些過濾器和核心控制器(FilterDispatcher)中11,12。2.42.4 springspring2.4.1spring2.4.1spring 簡介簡介它是為了解決企業應用程序開發的復雜性而由 Rod Johnson 創建的。框架的主5 / 27要好處之一就是它的分層架構,分層架構可以允許使用者選擇使用哪一個組件,同時并為 J2EE 應用程序開發提供集成的框架。Spring 使用基本的 JavaBean 來完成從前只可能是由 E 來完成的事情。但 Spring 的

26、用途不僅局限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何 Java 的應用都可以從 Spring 中受益頗多13。2.4.2sring2.4.2sring 核心機制核心機制控制反轉模式(依賴性注入)的基本概念是:不為創建對象,但是描述創建它的方式。在代碼中不直接和對象和服務連接,而是在配置文件中來描述哪一個組件它需要哪一項服務。容器 (在 Spring 框架中是 IOC 容器) 它是負責將其聯系在一起。在典型的 IOC 場景中,是容器創建了所有對象,并且設置必要的屬性來將它們連接在一起,決定什么時間去調用方法14。2.52.5 hibernatehibernate2.5.1hi

27、bernate2.5.1hibernate 簡介簡介Hibernate 它是一個開放源代碼的對象關系映射框架,它是對 JDBC 進行了非常輕量級的對象封裝,使 Java 程序員能夠隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate 它可以應用在任何使用 JDBC 的場合,既能夠在 Java 的客戶端程序使用,也能夠在 Servlet/JSP 的 Web 應用中使用,最有意義的是,Hibernate 它能夠在應用 E 的 J2EE 架構中取代 CMP,來完成數據持久化的重任15。2.5.2hibernate2.5.2hibernate 核心接口核心接口Session 接口它是負責執行被

28、持久化對象的 CRUD 操作(CRUD 的任務是完成與數據庫的交流,包含了許多常見的 SQL 語句)。但是,需要注意的是 Session 對象是非線程安全的。并且 Hibernate 中的 session 不同于 JSP 應用中的 Session16。這里當使用 session 這個術語時,其實指的是 Hibernate 中的 session,在以后會將 Session 對象稱為用戶 session。SessionFactory 接口它是負責初始化 Hibernate 的。它既可以充當數據存儲源的代理,還負責創建 Session 對象。在這里還用到工廠模式。但需要注意的是SessionFact

29、ory 它并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory 就夠,但是當需要操作多個數據庫時,可以為每個數據庫都指定一個 SessionFactory。Configuration 類它是負責配置并啟動 Hibernate 的,創建 SessionFactory 對象的。在 Hibernate 的啟動過程中,Configuration 類的實例它先定位映射文檔位6 / 27置、讀取配置,然后創建 SessionFactory 這個對象17。Transaction 接口它是負責事務的相關操作。它是可選的,同時開發人員也可以設計編寫自己的底層事務處理代碼18。第第

30、3 3 章章 需求分析需求分析3.13.1 網上訂餐需求分析網上訂餐需求分析3.1.13.1.1 功能需求分析功能需求分析本系統主要是實現網上瀏覽菜單、訂餐、產生訂單等功能的系統。需要實現菜品信息的提示、購物車管理、客戶信息注冊、登錄管理、訂單處理和信息反饋等容。需要完成的主要任務如下:當客戶進入網上訂餐時,應該在訂餐頁面中顯示相應的菜品信息,來供客戶去選擇所需要的菜品,同時還提供按菜品名稱,快速查詢所需要菜品信息的功能。當客戶選擇預定某個菜品時,應該能夠將對應菜品信息,如:價格、數量記錄到對應的購物車中,此時客戶可以選擇選擇其他菜品或是查看自己的購物車,最后,在購物車中填下相應的送餐信息,提

31、交訂餐的訂單后,自動清除以生成訂單的購物車中的信息。餐廳服務人員根據訂單信息,查看詳細訂單明細并根據實際情況處理訂餐。分析網上訂餐系統,制訂整個系統框架如圖 3-1:圖 3-1 系統整體框架圖目前,用于需求建模的方法有很多,最常見的是包括數據流圖(DFD)、實體關系圖(ERD)和 UML 三種方式。UML(統模語言)是一種建模語言,它的特點是良好的定義、表達能力突出、具有多重功能。軟件工程中的一些方法和技術也都應用在其中。從軟件需求分析開始就有了很多的應用,并且貫穿始終。本系統使用 UML 中的用例圖、活動圖、狀態圖來對需求建模。代碼的編寫是以最終的類圖和對類圖的補充說明文檔為基礎的。7 /

32、27通常都是先畫用例圖和分析用例。然后把用例圖中的 actor 去除,其余的名詞中的大多就是類了,再根據具體情況斟酌就可以畫類圖。類圖并非一下子畫完的,可以在一開始先畫出一些必要的成員變量和成員函數,再分析業務邏輯,并且可以開始畫狀態圖、活動圖和協作圖、順序圖,在畫這些圖的時候對業務邏輯就會有更多的認識。但這時也會發現類圖中的一些漏洞,然后再去補充類圖。3.23.2 系統架構分析系統架構分析本網上訂餐系統采用了 B/S 架構的設計體系,B/S 結構相對于傳統的 C/S 結構,它的這種結構能使得數據只有結果集在瀏覽器中顯示,數據的處理在服務器中進行,然后用戶就不用安裝客戶端了,而且因為通過服務器

33、端統一管理數據,很大程度降低了開發 WEB 應用的難度;易于保證數據的一致性。B/S 模式的三層模型:第一層表示層。用戶接口部分它就是數據的表示層,會把用戶和系統連接起來傳遞信息。它能夠實現對輸入的數據進行檢查和對外輸出的數據的功能,以便顯示出來。當某個 Web 瀏覽器需要獲取資源,對一個服務器要申請服務時,服務器會在驗證了用戶信息以后,把所需的文件資料都傳送給客戶端,其采用的是 協議傳送,文件資料就能夠被用戶接收了并且可以顯示在瀏覽器上。第二層事務邏輯層。事務邏輯層是應用的主體,它也可以被叫做功能層,業務處理程序基本上都是在這一層中。統計、匯總、分析、打印功能等等這些功能都是在功能層。申請的

34、方式是通過 SQL 向數據庫來進行操作,根據具體的需求和用戶的特殊要求,來程序使用數據庫中的數據,處理之后的數據會從數據服務器轉到 web上的服務器,最后客戶端從 web 服務器上得到數據。第三層數據庫層。數據庫層是由兩部分組成,一部分是數據庫管理系統,另一部分是數據庫,各個部分獨自處理它的任務,任務是它對數據庫進行處理,對數據庫的操作,例如增刪改查等,web 服務器能夠獲取最后的結果。負責管理其數據庫的事數據庫管理系統,提供給應用程序各種各樣的服務,數據庫管理系統處在數據庫服務器端18。3.33.3 可行性分析可行性分析隨著中國人民的物質、精神和文化水平的不斷提高,人們已不再僅是停留在吃飽的

35、程度,而是不但要吃飽,更要吃好,并且越來越挑刺。正是基于此目的,網上訂餐業務的出現,迎合了這些人的需求,他們不但省去了自己做飯的麻煩,還能尋找和發現新的菜品,品嘗不同風格與不同種類的菜品。網上訂餐業務在中國有著良好的發展空間和不錯的發展前景。綜上,我們決定利用 JAVA 和 MySQL 來設計網上訂餐系統。JAVA 可以創建與運8 / 27用動態、交互的 WEB 服務器應用程序。MySQL 是一個杰出的數據庫平臺,具有功能強大,安全可靠等特點,可用于大型聯機事務處理、數據倉庫與電子商務等19。第第 4 4 章章 系統設計系統設計4.14.1 系統設計目標系統設計目標4.1.14.1.1 系統安

36、全性系統安全性對于不同的用戶有著不同的權限,系統對于他們有良好的區分。同時保證了數據的安全性??煽繙蚀_的數據、可恢復性的系統都是必須的。4.1.24.1.2 可維護性可維護性在使用系統的過程中,會碰到很多新的要求,有時候還要對新的容進行擴充,因此在設計系統時一定要考慮到,設計出來的系統是否能滿足實際的應用,并能隨時添加新的功能。管理員會不定時對系統進行更新,如新功能的開發和數據的維護等。4.1.34.1.3 用戶操作用戶操作設計的目標中應該有能夠使用戶使用方便,操作簡潔明了,這樣才能更好讓系統發揮其的作用。本系統中對用戶有著很明確的操作指示,我們可以在網頁中瀏覽系統并為用戶提供給的任何服務,例

37、如查看菜品信息,個人信息,密碼修改以與個人發表的信息等。4.1.44.1.4 運行速度運行速度系統響應時間對于系統是至關重要。想到每位用戶都不喜歡傳統訂餐方式等待的長遠時間,后臺會不斷提高系統的運行速度,來爭取在第一時間滿足用戶的訂餐需求。對于管理員,需要注意的是在提高響應時間的時候,務必不能忘記系統的安全性。系統的速度,主要與瀏覽器與服務器之間的網絡通信速度以與服務器在處理事務時的運行速度。對此,應該選擇網絡連接更加快速,子較少的優質線路對服務器線路進行鋪設,其次是在編程過程中減少對數據庫的訪問,加快訪問速度,事務處理邏輯更加合理化,減少不必要的計算冗余。4.1.54.1.5 界面界面人和機

38、器的互動過程(Human Machine Interaction)中,有一個層面,即我們所說的界面(interface)。用戶界面設計是屏幕產品的重要組成部分。界面設計是一個9 / 27復雜的有不同學科參與的工程,認知心理學、設計學、語言學等在此都扮演著重要的角色。用戶界面是用戶與程序溝通的唯一途徑,要能為用戶提供方便有效的服務。用戶界面設計的三大原則是:置界面于用戶的控制之下、減少用戶的記憶負擔、保持界面的一致性。詳細說來有以下幾點。1.簡易性界面的簡潔是要讓用戶便于使用、便于了解、并能減少用戶發生錯誤選擇的可能性。2.用戶語言界面中要使用能反應用戶本身的語言,而不是游戲設計者的語言。3.記

39、憶負擔最小化人腦不是電腦,在設計界面時必須要考慮人類大腦處理信息的限度。人類的短期記憶極不穩定、有限,24 小時存在 25的遺忘率。所以對用戶來說,瀏覽信息要比記憶更容易。4.一致性是每一個優秀界面都具備的特點。界面的結構必須清晰且一致,風格必須與游戲容相一致。5.清楚在視覺效果上便于理解和使用。4.24.2 用戶類別功能設計用戶類別功能設計4.2.14.2.1 訂餐用戶功能訂餐用戶功能圖4-1 訂餐用戶功能圖10 / 274.2.24.2.2 餐館管理員功能餐館管理員功能圖4-2 餐館管理員功能圖4.34.3 總體設計總體設計4.3.14.3.1 用戶登錄用戶登錄圖 4-3 用戶登錄流程圖用

40、戶登錄實現為本注冊用戶提供身份確認的功能,保證合法用戶的應有權益。而且是否登錄也將決定用戶能否訂餐。用戶登錄的前置條件是在登錄前,用戶必須完成“注冊” 。流程如下:進入首頁之后,會看到一個登陸頁面,只有在注冊之后才能使用本系統,注冊之后,后臺會收到相關信息,只有用戶名和密碼正確才能登陸成功。11 / 274.3.24.3.2 訂餐服務訂餐服務圖 4-4 訂餐服務流程圖在訂餐服務用例中,每個用戶都有個購物車,用戶可以將自己選定的菜品與其數量放入到購物車中,并且隨時可以查看自己預定的菜品的數量和總價格。本用例開始前用戶必須登錄到系統中。如果用例成功,顧客可以瀏覽自己購物車中的信息并決定是購買還是刪

41、除。4.3.34.3.3 訂餐處理訂餐處理圖 4-5 訂單處理流程圖當用戶提交已訂的菜單或想取消已訂的菜單時,都會在前臺自動生成;處理訂單的過程是訂餐管理人員參與的,當前臺有新的訂單生成時,會自動在后臺的現有訂單列表中顯示出來,訂餐管理人員可以點擊查看未處理的訂單,根據實際情況進行處理,或者刪除不需要的訂單記錄。具體流程如下:對于用戶,在生成訂單之前,12 / 27可以隨意瀏覽菜單信息,并選擇是否訂購與提交之前是否刪除;對于管理員,可以查看用戶生成的訂單信息,并在確認用戶收到所訂購的菜之后,有權刪除該用戶的訂單。之前已經完成需求分析,現在需要進行概念設計、邏輯設計和物理設計,本章將敘述這三個階

42、段的設計思路和設計過程。4.44.4 數據庫設計數據庫設計4.4.14.4.1 數據庫設計概述數據庫設計概述概要設計的主要任務是把需求分析得到的 DFD 轉換為數據和軟件結構。軟件結構在設計時需要完成的任務是:把按功能的不同模塊劃分、確立層次結構與相互調用、接口與人機間的聯系。數據的結構特性的確定、數據特征的全部描述和數據庫的詳細設計。顯然,經過概要設計之后,就建立了一個系統的邏輯模型,該模型不受具體的計算機影響20。4.4.24.4.2 數據庫表的設計數據庫表的設計數據庫的主要表詳細結構如下:表 4-1 用戶表:user字段名類型說明useridInt(11)用戶 iduemailVarch

43、ar(32)用戶UnameVarchar(32)用戶名UpswdVarhar(32)用戶密碼UphoneInt(11)用戶isConfirmTinyint(4)系統管理員權限表 4-2 餐館表:restaurant字段名類型說明RidInt(11)餐館 idRpswdVarchar(32)餐館登陸密碼RseatVarchar(128)餐館地址RitemVarhar(128)餐館特色RphoneVarchar(32)餐館RstartmoneyFloat(8)起送金額RsendmoneyFloat(8)送餐金額13 / 27Rstatuetinyint(4)餐館狀態RstyleTinyint(4)

44、餐館類型RnameChar(128)餐館名稱表 4-3 菜系表:cookstyle字段名類型說明csidInt(11)菜系 idRidInt(11)關聯餐館DnameVarchar(128)菜系名稱表 4-4 菜品表:dishes字段名類型說明didInt(11)菜品 idRidInt(11)關聯餐館DnameVarchar(128)菜品名稱DmoneyFloat(8)菜品價格CsidInt(11)關聯菜系表表 4-5 評價表:discuss字段名類型說明DisidInt(11)評價 idRidInt(11)關聯餐館UseridInt(11)關聯用戶表DiscontentText評論容Tast

45、enumberTinyint口味得分ServicenumberTinyint服務得分SpicenumberTinyint速度得分DistimeDatetime評論時間表 4-6 回復評論表:redis字段名類型說明RedisidInt(11)回復評論 idDisidInt(11)關聯評論表RediscontentText回復評論容14 / 27表 4-7 公告表:notice字段名類型說明NidInt(11)公告 idTitleChar(128)標題NcontentText公告容NtimeDatetime發布時間表 4-8 送餐時間表:sendtime字段名類型說明SidInt(11)送餐時間

46、 idRidInt(11)關聯餐館SstartTime送餐起始時間SsendTime送餐結束時間表 4-9 訂餐時間表:pretime字段名類型說明pidInt(11)訂餐時間 idRidInt(11)關聯餐館pstartTime訂餐起始時間psendTime訂餐結束時間表 4-10 訂單表:orderform字段名類型說明oridInt(11)訂單 idUseridInt(11)關聯用戶OrtimeTime下單時間OrstatueTinyint訂單狀態FormChar(129)訂過的餐廳表 4-11 訂餐者信息表:tb字段名類型說明TbidInt(11)信息 idTbnameVarchar訂

47、餐者15 / 27TbtelVarchar訂餐者TbaddressVarchar送餐地址MytimeSmallint是否定時送餐DdltimeVarchar送餐時間TbremarkText訂餐者備注OridInt關聯訂單表表 4-12 訂單項表:formitem字段名類型說明FidInt(11)訂單項 idDidInt(11)關聯菜品表OridInt(11)關聯訂單4.4.54.4.5 數據庫模型數據庫模型數據庫各表關聯關系圖 4-6 所示:圖 4-6 數據庫模型圖16 / 27第第 5 5 章章 系統實現系統實現5.15.1 登陸和注冊登陸和注冊首頁為 url 為“/index” ,處理方法

48、為 IndexAction 中 Index(),如圖 5-1 所示:圖 5-1 首頁展示圖非登錄用戶在之瀏覽飯店以與飯店菜品信息,但還無法訂餐網上訂餐服務只有登陸以后才能進行,這樣確保了訂餐服務的有效性,避免預定后,不履行訂單的惡意行為。5.25.2 菜單信息瀏覽菜單信息瀏覽在菜單信息中,可以直接瀏覽到全部的菜單信息,信息包括了:菜名,價格等。在該網頁上也可以查看菜品的詳細信息。如圖 5-2 所示:圖 5-2 訂餐界面圖當用戶點擊訂購 若還沒有登錄,則跳轉到登陸頁面,若已登錄。在右側會有小購物車提示用戶,如圖 5-3 所示:17 / 27圖 5-3 購物籃圖 (此購物車在未登錄狀態時是不顯示的

49、)點擊確認可以進入購物車進行訂單的最后處理 ,點擊清除,可以消除已經訂購的菜品5.35.3 訂餐服務訂餐服務當用戶進行訂餐時,系統為用戶生成了一個虛擬的購物車,在用戶瀏覽詳細的菜單信息時,將此菜品放入購物車中。在訂餐過程中,用戶可以查看自己購物車中選購的菜品和金額,根據自己的需要可以清空購物車中的菜品,還可以選擇繼續訂餐,在查看購物車時填入相關送餐信息,點擊“提交訂單” ,完成了整個訂餐流程。5.45.4 用戶反饋用戶反饋用戶可以給飯店進行評論和評分,如圖 5-4 所示:圖 5-4 用戶信息反饋圖5.55.5 訂單處理訂單處理用戶下單后,可以在我的賬戶中查看訂單,并對未完成的訂單做完成處理,如

50、圖 5-5 所示:圖 5-5 訂單確認圖18 / 275.65.6 餐館信息管理餐館信息管理餐館管理員需要登錄后才能進入餐館后臺管理。餐館登陸成功后會跳轉至餐館管理頁面,如圖 5-6 所示:圖 5-6 餐館信息管理圖這里可以對餐館中的信息進行操作例如對菜品的增加等點擊訂單產看連接可以看到已下單的菜單,這個菜單包含本店需要做的菜品并有送餐地址,點擊確認訂單后,將不再顯示在此訂單表中。5.75.7 程序相關程序相關程序為降低耦合度,采用多層銜接,其中 action 調用 service,service 調用dao.impl,dao.impl 實現 dao,dao 中定義對 model 的操作。如圖 5-7 所示:圖 5-7 程序構架圖Action:包中包含了所有的 action 類Dao:包含事務處理的接口Dao.impl:dao 的實現類Model:包含實體類Service:調用 Dao.impl 降低耦合,能更好得實現系統的延展與維護Util:包含一些用到的工具類,例如中文編碼設置19 / 27結結 論論該課題是利用 J2EE 技術,它

溫馨提示

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

評論

0/150

提交評論