




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
./分院名稱:學生學號:師學院本科畢業論文〔設計〔理工類題目:網上訂餐系統設計與實現專業:計算機科學與技術作者姓名:指導教師:指導教師職稱:年月.師學院本科畢業論文〔設計作者承諾保證書本人重承諾:本篇畢業論文〔設計的容真實、可靠。如果存在弄虛作假、抄襲的情況,本人愿承擔全部責任。論文作者簽名:日期:年月日師學院本科畢業論文〔設計指導教師承諾保證書本人重承諾:我已按有關規定對本篇畢業論文〔設計的選題與容進行指導和審核,堅持一人一題制,確認由作者獨立完成。如果存在學風問題,本人愿意承擔指導教師的相關責任。指導教師簽名:日期:年月日摘要二十一世紀是信息化、知識化的世紀,隨著社會的進步、計算機應用的快速發展和網絡應用的不斷擴大,并使傳統的訂餐形式得到了極大的擴充,使人們訂餐更加的方便。基于Web的網上訂餐系統,它是一種基于計算機網絡的網上訂餐形式,它的出現,大擴充了現行的訂餐方式,使餐飲擺脫了空間上和時間上的束縛,不管誰,只要會上網,都可以坐在電腦前面,方便地進行網上訂餐,可以看成是對餐飲業的一次革命。通過網上訂餐系統,可以在家中或辦公室為自己訂一份既營養又實惠的美食。本文就是基于此目的實現一個網上購餐系統。本系統是用戶實現網絡交易的一種方式。設計和實現了一個B/S結構的網上訂餐系統,重點論述了系統的功能與實現、數據流程及存儲。包括會員管理、餐品信息介紹、網上訂餐、用戶留言、系統用戶管理以及后臺數據庫管理等。本文先是對系統的需求分析做了詳細的介紹,然后對系統的概要設計進行了闡述并重點介紹了網上訂餐系統各功能模塊的具體設計和實現。本系統是在MySQL數據庫、Java語言和MyEclipse平臺技術實現的。既擁有良好便捷的前臺操作界面,也有穩定的后臺支持。系統旨在提供一個可供操作、功能完全、特色突出的網上訂餐系統。關鍵詞:網上訂餐系統JAVAMySQLSSH2.AbstractTwenty-firstcenturyisainformationalknowledgeablecentury.Withtherapiddevelopmentofsociety,theuseofthecomputerapplicationandthenetworkapplication,thetraditionalorderformofmealshasbeengreatlyexpanded,makinglifemoreconvenient.OnlinemealorderingsystembasedonWebissuchacomputernetworkbasedontheonlinemealorderingformwhichhasgreatlyexpandedtheexistingorderway.Nomatterwho,aslongaswiththeInternet,cansitinfrontofthecomputer,orderingamealconvenientlyonline.Itisakindofrevolutionofdailylife.Onlinemealorderingsystemcanbeusedinthehomeorofficetobuyanutritionandaffordablefoodforsomeone.Basedonthis,thisarticleimplementsanonlinemealsystem.Thesystemistheuserawayfornetworktransactions.theon-linemealorderingsystemoftheB/Sstructureisdesignedandimplemented,itemphaticallyelaboratesthefunctionandimplementationofsystem,dataflowandstoragesuchasthemembermanagement,informationintroductionoforder,theon-linemealordering,userinformation,systemusermanagementaswellastheadministrationofbackstagedatabase.Thisarticleanalyzesthesystemrequirements,andmakesadetailedintroduction,andthenhighlightedthedesignandimplementationoftheonlinemeal-ordersystem.ThesystemisimpliedbyMySQLdatabase,JavalanguageandMyEclipse.Itnotonlyhasgoodprospectsoffriendlyinterface,andalsoastablebackgroundsupport.Thesystemisdesignedtoprovideanoperable,fullyfunctional,featureprominentsystemforonlinemealordering.KeyWords:OnlineorderingsystemJAVAMySQLSSH2.目錄24224承諾保證書I29415摘要II20104AbstractIII18998第一章緒論1255161.1本課題的來源及研究意義123631.1.1本課題的來源1154631.1.2課題的研究意義 226361.2訂餐系統概述 2126931.2.1訂餐系統的發展歷史 229505第二章相關開發技術321322.1J2EE設計平臺3309182.2MySql378382.2.1MySql簡介3299502.2.2MySql優勢3209442.3struts24134312.3.1struts2簡介457282.3.2struts2框架結構4131802.4spring4128792.4.1spring簡介459672.4.2sring核心機制5225532.5hibernate5188912.5.1hibernate簡介536332.5.2hibernate核心接口54991第三章需求分析6284873.1網上訂餐需求分析6121023.1.1功能需求分析6291713.2系統架構分析7276143.3可行性分析76774第四章系統設計8212714.1系統設計目標8203914.1.1系統安全性8193394.1.2可維護性852064.1.3用戶操作843504.1.4運行速度8124494.1.5界面82124.2用戶類別功能設計9294564.2.1訂餐用戶功能9254224.2.2餐館管理員功能9121484.3總體設計10244074.3.1用戶登錄1045704.3.2訂餐服務11302644.3.3訂餐處理11199974.4數據庫設計1234314.4.1數據庫設計概述12145384.4.5數據庫模型1575第五章系統實現16318695.1登陸和注冊16165625.2菜單信息瀏覽16304395.3訂餐服務1710845.4用戶反饋17253575.5訂單處理17118085.6餐館信息管理18252225.7程序相關1824547結論1917869參考文獻 2012542致21.緒論網上訂餐就是互聯網的深入應用。用戶通過互聯網,能足不出戶,輕松閑逸地實現自己訂購餐飲和食品〔包括飯、菜、盒飯、便當等的一種網絡訂餐形式。隨著食天下網上訂餐平臺的興起,網上訂餐已經逐漸成為了白領階層中的一種潮流了。網上訂餐一般都會集中在一個時段,這會給餐飲企業制造出訂餐的高峰時段,訂餐者的需求在很多時候會得不到滿足,這種不如意,誕生的總是網上訂餐"無保障","線上看,線下訂"正好能幫助改變這種會衍生惡性循環的效應;通過線下聯系和溝通,訂餐者會對送餐時間能適當把控,這樣也就心里有數,在這樣的情況下,餐飲企業和用餐者在口頭協商的前提下,能達成一種雙方都能接受的協議,網上訂餐用戶一般都不會產生不滿情緒,這能抵消消費者的不滿情緒。想實現網上訂購,這些網上訂餐的形式應該很難,其中原因主要就是餐飲行業普遍存在的信息化意識薄弱,這讓網上訂餐成為實在的瓶頸,短時期這是很難突破的,這也是為什么現在真正能實現網上訂餐、并能被廣泛接納的網上訂餐行為,依然離不開直接訂購的主要原因。網上訂餐,想正真實現"網上訂,網上付"的正規化,還需要很長的一段時日。1.1本課題的來源及研究意義1.1.1本課題的來源隨著網絡技術的發展和普及,Internet已成為人們獲取有關信息和相互交流的重要途徑之一,越來越多的機構和組織開始利用網絡資源傳遞、發布、收集和管理信息。這對各種類型的網絡提供一次很大的機遇與挑戰,特別是通過網絡進行信息交互的這種活動,更使網絡的經營方式充滿了活力和機動性[1]。基于B/S模式的JAVA網上訂餐系統是應用于網絡交流領域的系統,它的主要特點有:<1>通用性:網上訂餐系統具有良好的界面,適合推廣給所有用戶,能夠給用戶提供良好的服務。<2>便捷性:本系統最大的特點就是方便快捷,用戶使用本系統可以足不出戶就享受到優質服務,在現代人們的生活中很適用。人們對于訂餐的要能夠減少排隊等待的時間,此系統的設計正是為了迎合大家的這種需求,可以讓用戶節約許多的時間,提高了生活效率[2]。1.1.2課題的研究意義網上訂餐系統為人們的生活提供了方便快捷的消費方式:1.顧客去餐廳消費不用需要排隊點餐,可以方便的打開我們的,選擇自己喜歡的餐廳,瀏覽餐廳的菜單,進行網上點餐,省去了很多的時間。2.對于餐廳,可以擴大自己的銷售領域,通過我們的可以很好的做廣告。每個餐廳有它自己的主頁,管理自己的主頁;餐廳不僅僅在某個商業小區經營,餐廳還可以給顧客提供送外賣服務,這樣就大方便了那些宅男宅女們,不用再買那些快餐似的垃圾食品,還能很好地享受到可口的飯菜。通過這種方式,餐廳的營業圍將大提高,營業額必然會上升。本系統針對所有用戶群體,建立了客戶端及服務器端。主要解決的問題包括:<1>對于使用界面,需要人性化,能夠給用戶一種溫馨與簡易的感覺;<2>系統應能夠及時響應用戶的請求,并及時提供幫助。本系統開發的意義在提供給用戶方便快速的訂餐服務,滿足用戶的需要,解決傳統訂餐方式的不足。1.2訂餐系統概述1.2.1訂餐系統的發展歷史隨著互聯網用戶的增多,工作節奏的加快,網絡訂餐成為眾多年輕網民及白領人士生活中的一部分。大眾點評網、豆丁網等的成立,為眾多辦公樓、工作繁忙的白領解決了吃飯問題。網絡訂餐的手段和方式分類,目前餐飲業主要通過以下三種方法開展:1.通過餐飲訂餐。這種訂餐方式主要通過專門的實現訂餐,用戶通過網絡實現對餐館的查詢及餐館的菜譜查詢和預定服務,相應企業給予通過訂餐的顧客相應的優惠。2.通過及時的通訊工具〔QQ,MSN等的網絡訂餐。這種餐飲企業往往不具備建立訂餐系統的資金與技術實力,主要通過及時的通訊工具〔QQ,MSN等的實現訂餐。這種餐飲企業往往是區域性的,主要分布在居民小區及學校周邊,規模一般較小。3.通過電子的網絡訂餐。這種訂餐方式主要是在相應餐飲企業舉辦大型酒席時,顧客提供給餐飲企業餐單時使用。因為使用訂餐有時間差,而且要收發略顯麻煩,所以目前較少使用。綜上,第一類訂餐方式使用最為廣泛,建立較容易成本低,但對于傳統店面餐飲收效甚微,無法成為主要的利潤來源。其余兩類有網絡訂餐的實質,但僅作為目前網絡訂餐的輔助手段[3,4]。.相關開發技術2.1J2EE設計平臺J2EEJava2平臺企業版〔Java2Platform,EnterpriseEdition是一套全然不同于傳統應用開發的技術架構,它包含許多組件,主要可以簡化并且規應用系統的開發及部署,進而提高可移植性、安全與再用價值[5]。目前,Java2平臺它有3個版本,它們是適用于小型設備和智能卡的Java2平臺Micro版〔Java2PlatformMicroEdition,J2ME、適用于桌面系統的Java2平臺標準版〔Java2PlatformStandardEdition,J2SE、適用于創建服務器應用程序和服務的Java2平臺企業版〔Java2PlatformEnterpriseEdition,J2EE。J2EE它是一種利用Java2平臺來簡化企業的解決方案的開發、部署和管理等相關的復雜問題的體系結構。J2EE技術的基礎是核心的Java平臺或Java2平臺的標準版,J2EE它不僅鞏固標準版中的許多優點,例如"編寫一次、隨處運行"的特性、方便存取數據庫的JDBCAPI、CORBA技術及能夠在Internet應用中保護數據的安全模式等等,同時提供了對EJB〔EnterpriseJavaBeans、JavaServletsAPI、JSP〔JavaServerPages以及XML技術的全面支持。其最終目的就是成為一個能夠使企業開發者大幅縮短投放市場時間的體系結構[6]。2.2MySql2.2.1MySql簡介MySQL它是一個小型關系型數據庫管理系統,MySQL它還是一種關聯數據庫管理的系統,關聯數據庫將數據保存于不同的表中,而不是將所有數據容放在一個大倉庫。這樣就提高了速度和靈活性。MySQL的是SQL"結構化查詢語言"。SQL它是用于訪問數據庫中的最常用標準化語言。MySQL軟件采用了GPL〔GNU通用公共許可證。由于它體積小、速度快、總體擁有成本低,特別是開放源碼這一特點,許多中小型為了降低總體成本就選擇了MySQL作為數據庫[7,8]。2.2.2MySql優勢〔1它是使用C和C++編寫,并使用了眾多的編譯器進行測試,保證了源代碼的可移植性;〔2支持AIX、HP-UX、NovellNetware、Linux、MacOS、OpenBSD、Solaris、Windows、FreeBSDOS/2Wrap等多種操作系統;〔3為多種編程語言都提供了API。這些編程語言包括C、C++、Java、Perl、PHP、Ruby、和TclEiffel等;〔4既能作一個單獨的應用程序應用在客戶端服務器網絡環境中,還能作為一個庫而嵌入到其他的軟件中提供多種語言支持,常見的編碼如中文的GBK、BIG5,日文種的Shift、JIS以用作數據表名和數據列名;〔5提供了TCP/IP、ODBC和JDBC等許多種數據庫連接方法;〔6它還提供了用于管理、檢查、優化數據庫的操作的管理工具;〔7可以處理有上千萬條記錄的大型數據庫[9]。2.3struts22.3.1struts2簡介Struts2它是Struts的下一代產品,是融合了struts1和WebWork的技術,在它們基礎上合并的全新的框架。其全新的Struts2的體系結構與Struts1的體系結構有著巨大差別。Struts2它是以WebWork為核心,采用了攔截器機制來處理用戶的請求,這樣的設計讓業務邏輯控制器能夠與ServletAPI完全脫離,因此Struts2可以理解成WebWork的更新產品。雖然從Struts1到Struts2有著根本性的變化,但是相對于WebWork,Struts2它的變化還是很小[10]。2.3.2struts2框架結構當Web容器收到請求〔HttpServletRequest后,它將請求傳遞給一個標準的過濾鏈包括〔ActionContextCleanUp過濾器,然后經過Otherfilters<SiteMesh,etc>,再然后需要調用FilterDispatcher這個核心控制器,然后它再調用ActionMapper確定請求來自哪個Action,ActionMapper返回一個收集Action詳細信息的ActionMaping的對象。接下來FilterDispatcher它將控制權派給ActionProxy,ActionProxy調用配置管理器<ConfigurationManager>從配置文件中讀取配置信息文件<struts.xml>,然后創建ActionInvocation對象,ActionInvocation在調用Action之前它會依次的調用所用配置的攔截器〔InterceptorN一旦執行結果后返回結果字符串ActionInvocation負責查找結果字符串對應的結果集<Result然后執行這個Result。Result會調用一些模版〔JSP來表頁面,隨后攔截器<InterceptorN>會被執行<順序和Action執行之前相反>最后響應<HttpServletResponse>它會被返回在web.xml中配置的那些過濾器和核心控制器〔FilterDispatcher中[11,12]。2.4spring2.4.1spring簡介它是為了解決企業應用程序開發的復雜性而由RodJohnson創建的。框架的主要好處之一就是它的分層架構,分層架構可以允許使用者選擇使用哪一個組件,同時并為J2EE應用程序開發提供集成的框架。Spring使用基本的JavaBean來完成從前只可能是由EJB來完成的事情。但Spring的用途不僅局限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java的應用都可以從Spring中受益頗多[13]。2.4.2sring核心機制控制反轉模式〔依賴性注入的基本概念是:不為創建對象,但是描述創建它的方式。在代碼中不直接和對象和服務連接,而是在配置文件中來描述哪一個組件它需要哪一項服務。容器〔在Spring框架中是IOC容器它是負責將其聯系在一起。在典型的IOC場景中,是容器創建了所有對象,并且設置必要的屬性來將它們連接在一起,決定什么時間去調用方法[14]。2.5hibernate2.5.1hibernate簡介Hibernate它是一個開放源代碼的對象關系映射框架,它是對JDBC進行了非常輕量級的對象封裝,使Java程序員能夠隨心所欲的使用對象編程思維來操縱數據庫。Hibernate它可以應用在任何使用JDBC的場合,既能夠在Java的客戶端程序使用,也能夠在Servlet/JSP的Web應用中使用,最有意義的是,Hibernate它能夠在應用EJB的J2EE架構中取代CMP,來完成數據持久化的重任[15]。2.5.2hibernate核心接口Session接口它是負責執行被持久化對象的CRUD操作<CRUD的任務是完成與數據庫的交流,包含了許多常見的SQL語句>。但是,需要注意的是Session對象是非線程安全的。并且Hibernate中的session不同于JSP應用中的HttpSession[16]。這里當使用session這個術語時,其實指的是Hibernate中的session,在以后會將HttpSession對象稱為用戶session。SessionFactory接口它是負責初始化Hibernate的。它既可以充當數據存儲源的代理,還負責創建Session對象。在這里還用到工廠模式。但需要注意的是SessionFactory它并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,但是當需要操作多個數據庫時,可以為每個數據庫都指定一個SessionFactory。Configuration類它是負責配置并啟動Hibernate的,創建SessionFactory對象的。在Hibernate的啟動過程中,Configuration類的實例它先定位映射文檔位置、讀取配置,然后創建SessionFactory這個對象[17]。Transaction接口它是負責事務的相關操作。它是可選的,同時開發人員也可以設計編寫自己的底層事務處理代碼[18]。需求分析3.1網上訂餐需求分析3.1.1功能需求分析本系統主要是實現網上瀏覽菜單、訂餐、產生訂單等功能的系統。需要實現菜品信息的提示、購物車管理、客戶信息注冊、登錄管理、訂單處理和信息反饋等容。需要完成的主要任務如下:當客戶進入網上訂餐時,應該在訂餐頁面中顯示相應的菜品信息,來供客戶去選擇所需要的菜品,同時還提供按菜品名稱,快速查詢所需要菜品信息的功能。當客戶選擇預定某個菜品時,應該能夠將對應菜品信息,如:價格、數量記錄到對應的購物車中,此時客戶可以選擇選擇其他菜品或是查看自己的購物車,最后,在購物車中填下相應的送餐信息,提交訂餐的訂單后,自動清除以生成訂單的購物車中的信息。餐廳服務人員根據訂單信息,查看詳細訂單明細并根據實際情況處理訂餐。分析網上訂餐系統,制訂整個系統框架如圖3-1:圖3-1系統整體框架圖目前,用于需求建模的方法有很多,最常見的是包括數據流圖<DFD>、實體關系圖<ERD>和UML三種方式。UML〔統模語言是一種建模語言,它的特點是良好的定義、表達能力突出、具有多重功能。軟件工程中的一些方法和技術也都應用在其中。從軟件需求分析開始就有了很多的應用,并且貫穿始終。本系統使用UML中的用例圖、活動圖、狀態圖來對需求建模。代碼的編寫是以最終的類圖和對類圖的補充說明文檔為基礎的。通常都是先畫用例圖和分析用例。然后把用例圖中的actor去除,其余的名詞中的大多就是類了,再根據具體情況斟酌就可以畫類圖。類圖并非一下子畫完的,可以在一開始先畫出一些必要的成員變量和成員函數,再分析業務邏輯,并且可以開始畫狀態圖、活動圖和協作圖、順序圖,在畫這些圖的時候對業務邏輯就會有更多的認識。但這時也會發現類圖中的一些漏洞,然后再去補充類圖。3.2系統架構分析本網上訂餐系統采用了B/S架構的設計體系,B/S結構相對于傳統的C/S結構,它的這種結構能使得數據只有結果集在瀏覽器中顯示,數據的處理在服務器中進行,然后用戶就不用安裝客戶端了,而且因為通過服務器端統一管理數據,很大程度降低了開發WEB應用的難度;易于保證數據的一致性。B/S模式的三層模型:第一層表示層。用戶接口部分它就是數據的表示層,會把用戶和系統連接起來傳遞信息。它能夠實現對輸入的數據進行檢查和對外輸出的數據的功能,以便顯示出來。當某個Web瀏覽器需要獲取資源,對一個服務器要申請服務時,服務器會在驗證了用戶信息以后,把所需的文件資料都傳送給客戶端,其采用的是HTTP協議傳送,文件資料就能夠被用戶接收了并且可以顯示在瀏覽器上。第二層事務邏輯層。事務邏輯層是應用的主體,它也可以被叫做功能層,業務處理程序基本上都是在這一層中。統計、匯總、分析、打印功能等等這些功能都是在功能層。申請的方式是通過SQL向數據庫來進行操作,根據具體的需求和用戶的特殊要求,來程序使用數據庫中的數據,處理之后的數據會從數據服務器轉到web上的服務器,最后客戶端從web服務器上得到數據。第三層數據庫層。數據庫層是由兩部分組成,一部分是數據庫管理系統,另一部分是數據庫,各個部分獨自處理它的任務,任務是它對數據庫進行處理,對數據庫的操作,例如增刪改查等,web服務器能夠獲取最后的結果。負責管理其數據庫的事數據庫管理系統,提供給應用程序各種各樣的服務,數據庫管理系統處在數據庫服務器端[18]。3.3可行性分析隨著中國人民的物質、精神和文化水平的不斷提高,人們已不再僅是停留在吃飽的程度,而是不但要吃飽,更要吃好,并且越來越挑刺。正是基于此目的,網上訂餐業務的出現,迎合了這些人的需求,他們不但省去了自己做飯的麻煩,還能尋找和發現新的菜品,品嘗不同風格及不同種類的菜品。網上訂餐業務在中國有著良好的發展空間和不錯的發展前景。綜上,我們決定利用JAVA和MySQL來設計網上訂餐系統。JAVA可以創建與運用動態、交互的WEB服務器應用程序。MySQL是一個杰出的數據庫平臺,具有功能強大,安全可靠等特點,可用于大型聯機事務處理、數據倉庫及電子商務等[19]。系統設計4.1系統設計目標4.1.1系統安全性對于不同的用戶有著不同的權限,系統對于他們有良好的區分。同時保證了數據的安全性。可靠準確的數據、可恢復性的系統都是必須的。4.1.2可維護性在使用系統的過程中,會碰到很多新的要求,有時候還要對新的容進行擴充,因此在設計系統時一定要考慮到,設計出來的系統是否能滿足實際的應用,并能隨時添加新的功能。管理員會不定時對系統進行更新,如新功能的開發和數據的維護等。4.1.3用戶操作設計的目標中應該有能夠使用戶使用方便,操作簡潔明了,這樣才能更好讓系統發揮其的作用。本系統中對用戶有著很明確的操作指示,我們可以在網頁中瀏覽系統并為用戶提供給的任何服務,例如查看菜品信息,個人信息,密碼修改以及個人發表的信息等。4.1.4運行速度系統響應時間對于系統是至關重要。想到每位用戶都不喜歡傳統訂餐方式等待的長遠時間,后臺會不斷提高系統的運行速度,來爭取在第一時間滿足用戶的訂餐需求。對于管理員,需要注意的是在提高響應時間的時候,務必不能忘記系統的安全性。系統的速度,主要與瀏覽器與服務器之間的網絡通信速度以及服務器在處理事務時的運行速度。對此,應該選擇網絡連接更加快速,子較少的優質線路對服務器線路進行鋪設,其次是在編程過程中減少對數據庫的訪問,加快訪問速度,事務處理邏輯更加合理化,減少不必要的計算冗余。4.1.5界面人和機器的互動過程<HumanMachineInteraction>中,有一個層面,即我們所說的界面<interface>。用戶界面設計是屏幕產品的重要組成部分。界面設計是一個復雜的有不同學科參與的工程,認知心理學、設計學、語言學等在此都扮演著重要的角色。用戶界面是用戶與程序溝通的唯一途徑,要能為用戶提供方便有效的服務。
用戶界面設計的三大原則是:置界面于用戶的控制之下、減少用戶的記憶負擔、保持界面的一致性。詳細說來有以下幾點。1.簡易性界面的簡潔是要讓用戶便于使用、便于了解、并能減少用戶發生錯誤選擇的可能性。2.用戶語言界面中要使用能反應用戶本身的語言,而不是游戲設計者的語言。3.記憶負擔最小化人腦不是電腦,在設計界面時必須要考慮人類大腦處理信息的限度。人類的短期記憶極不穩定、有限,24小時存在25%的遺忘率。所以對用戶來說,瀏覽信息要比記憶更容易。4.一致性是每一個優秀界面都具備的特點。界面的結構必須清晰且一致,風格必須與游戲容相一致。5.清楚在視覺效果上便于理解和使用。4.2用戶類別功能設計4.2.1訂餐用戶功能圖4-1訂餐用戶功能圖4.2.2餐館管理員功能圖4-2餐館管理員功能圖4.3總體設計4.3.1用戶登錄圖4-3用戶登錄流程圖用戶登錄實現為本注冊用戶提供身份確認的功能,保證合法用戶的應有權益。而且是否登錄也將決定用戶能否訂餐。用戶登錄的前置條件是在登錄前,用戶必須完成"注冊"。流程如下:進入首頁之后,會看到一個登陸頁面,只有在注冊之后才能使用本系統,注冊之后,后臺會收到相關信息,只有用戶名和密碼正確才能登陸成功。4.3.2訂餐服務圖4-4訂餐服務流程圖在訂餐服務用例中,每個用戶都有個購物車,用戶可以將自己選定的菜品及其數量放入到購物車中,并且隨時可以查看自己預定的菜品的數量和總價格。本用例開始前用戶必須登錄到系統中。如果用例成功,顧客可以瀏覽自己購物車中的信息并決定是購買還是刪除。4.3.3訂餐處理圖4-5訂單處理流程圖當用戶提交已訂的菜單或想取消已訂的菜單時,都會在前臺自動生成;處理訂單的過程是訂餐管理人員參與的,當前臺有新的訂單生成時,會自動在后臺的現有訂單列表中顯示出來,訂餐管理人員可以點擊查看未處理的訂單,根據實際情況進行處理,或者刪除不需要的訂單記錄。具體流程如下:對于用戶,在生成訂單之前,可以隨意瀏覽菜單信息,并選擇是否訂購及提交之前是否刪除;對于管理員,可以查看用戶生成的訂單信息,并在確認用戶收到所訂購的菜之后,有權刪除該用戶的訂單。之前已經完成需求分析,現在需要進行概念設計、邏輯設計和物理設計,本章將敘述這三個階段的設計思路和設計過程。4.4數據庫設計4.4.1數據庫設計概述概要設計的主要任務是把需求分析得到的DFD轉換為數據和軟件結構。軟件結構在設計時需要完成的任務是:把按功能的不同模塊劃分、確立層次結構及相互調用、接口與人機間的聯系。數據的結構特性的確定、數據特征的全部描述和數據庫的詳細設計。顯然,經過概要設計之后,就建立了一個系統的邏輯模型,該模型不受具體的計算機影響[20]。4.4.2數據庫表的設計數據庫的主要表詳細結構如下:表4-1用戶表:user字段名類型說明useridInt<11>用戶iduemailVarchar<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送餐金額Rstatuetinyint<4>餐館狀態RstyleTinyint〔4餐館類型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評論容TastenumberTinyint口味得分ServicenumberTinyint服務得分SpicenumberTinyint速度得分DistimeDatetime評論時間表4-6回復評論表:redis字段名類型說明RedisidInt<11>回復評論idDisidInt<11>關聯評論表RediscontentText回復評論容表4-7公告表:notice字段名類型說明NidInt<11>公告idTitleChar〔128標題NcontentText公告容NtimeDatetime發布時間表4-8送餐時間表:sendtime字段名類型說明SidInt<11>送餐時間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訂餐者TbtelVarchar訂餐者TbaddressVarchar送餐地址MytimeSmallint是否定時送餐DdltimeVarchar送餐時間TbremarkText訂餐者備注OridInt關聯訂單表表4-12訂單項表:formitem字段名類型說明FidInt<11>訂單項idDidInt<11>關聯菜品表OridInt〔11關聯訂單4.4.5數據庫模型數據庫各表關聯關系圖4-6所示:圖4-6數據庫模型圖系統實現5.1登陸和注冊首頁為url為"/index",處理方法為IndexAction中Index<>,如圖5-1所示:圖5-1首頁展示圖非登錄用戶在之瀏覽飯店以及飯店菜品信息,但還無法訂餐網上訂餐服務只有登陸以后才能進行,這樣確保了訂餐服務的有效性,避免預定后,不履行訂單的惡意行為。5.2菜單信息瀏覽在菜單信息中,可以直接瀏覽到全部的菜單信息,信息包括了:菜名,價格等。在該網頁上也可以查看菜品的詳細信息。如圖5-2所示:圖5-2訂餐界面圖當用戶點擊訂購若還沒有登錄,則跳轉到登陸頁面,若已登錄。在右側會有小購物車提示用戶,如圖5-3所示:圖5-3購物籃圖〔此購物車在未登錄狀態時是不顯示的點擊確認可以進入購物車進行訂單的最后處理,點擊清除,可以消除已經訂購的菜品5.3訂餐服務當用戶進行訂餐時,系統為用戶生成了一個虛擬的購物車,在用戶瀏覽詳細的菜單信息時,將此菜品放入購物車中。在訂餐過程中,用戶可以查看自己購物車中選購的菜品和金額,根據自己的需要可以清空購物車中的菜品,還可以選擇繼續訂餐,在查看購物車時填入相關送餐信息,點擊"提交訂單",完成了整個訂餐流程。5.4用戶反饋用戶可以給飯店進行評論和評分,如圖5-4所示:圖5-4用戶信息反饋圖5.5訂單處理用戶下單后,可以在我的賬戶中查看訂單,并對未完成的訂單做完成處理,如圖5-5所示:圖5-5訂單確認圖5.6餐館信息管理餐館管理員需要登錄后才能進入餐館后臺管理。餐館登陸成功后會跳轉至餐館管理頁面,如圖5-6所示:圖5-6餐館信息管理圖這里可以對餐館中的信息進行操作例如對菜品的增加等點擊訂單產看連接可以看到已下單的菜單,這個菜單包含本店需要做的菜品并有送餐地址,點擊確認訂單后,將不再顯示在此訂單表中。5.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:包含一些用到的工具類,例如中文編碼設置.結論該課題是利用J2EE技術,它是基于B/S模式開發實現的網上訂餐系統,在分析、研究網上訂餐課題的基礎上,對系統的組織結構、數據流程、用戶需求等容都進行了詳細的調查分析。在設計的過程中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省邢臺市質檢聯盟2024-2025學年高一下學期4月期中聯考數學試題(解析)
- 2025年飛機貨物自動裝卸系統合作協議書
- 醫學畢業生面試核心要點與策略
- 醫學生暑期社會實踐答辯
- 農田保護承包運營合作協議
- 虛擬貨幣安全托管與兌換服務協議
- 培訓機構兼職講師全面合作協議書
- 光伏建筑一體化系統維護與優化升級協議
- 特種功能建筑復合材料采購及系統集成服務協議
- 緊急處理國際商務法律文件翻譯協議
- 病歷質量培訓課件
- 《性別平等探討》課件
- 中國卒中學會急性缺血性卒中再灌注治療指南+2024解讀
- 裝飾報價單完整版本
- (一模)2024-2025學年佛山市普通高中教學質量檢測(一)生物試卷(含答案)
- 燈謎文化知到智慧樹章節測試課后答案2024年秋西安交通大學
- NB/T 11543-2024煤礦井下鉆孔瞬變電磁探測技術規程
- DBJ41-T 145-2015 三軸水泥土攪拌樁帷幕技術規程
- 電子商務平臺店鋪入駐協議
- 抖音拍攝及剪輯培訓課件
- 能源管理系統投標技術文件
評論
0/150
提交評論