版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
學(xué)士學(xué)位論文基于Web的連大美食網(wǎng)的設(shè)計與實現(xiàn)作者姓名:學(xué)科、專業(yè):學(xué)號:指導(dǎo)教師:完成日期:總計: 畢業(yè)論文頁表格表插圖幅指導(dǎo)教師:評閱人:完成日期:摘要迅猛發(fā)展的互聯(lián)網(wǎng)已經(jīng)影響到我們生活的方方面面,互聯(lián)網(wǎng)也以其獨有的優(yōu)勢快速地滲透到越來越多的傳統(tǒng)領(lǐng)域。餐飲作為一個傳統(tǒng)領(lǐng)域也在經(jīng)受互聯(lián)網(wǎng)所帶來的深刻變革。目前市場上美食網(wǎng)站沒有一個針對各高校的整合的平臺而且無法突出學(xué)校的校園美食特色。利用互聯(lián)網(wǎng)的手段來宣傳校園餐飲并方便師生訂餐,也就顯得十分必要,而且通過互聯(lián)網(wǎng)來介紹大學(xué)的校園飲食文化也具有一定便捷性和趣味性。本系統(tǒng)就是以校園美食為主線,搭建一個方便師生在線訂餐的平臺,提供給師生在線訂餐,宣傳校園餐飲文化,并提供各家餐廳發(fā)布招聘信息的功能。系統(tǒng)采用B/S的設(shè)計模式,方便用戶使用。系統(tǒng)采用MVC三層開發(fā)模式,視圖層采用JSP進(jìn)行設(shè)計,業(yè)務(wù)邏輯層采用Servlet,數(shù)據(jù)訪問層采用JAVA語言進(jìn)行實現(xiàn)。系統(tǒng)采用SqlServer2008數(shù)據(jù)庫以與Tomcat6.0服務(wù)器。系統(tǒng)設(shè)計開發(fā)過程中,注意使其符合實際操作的業(yè)務(wù)流程,并力求系統(tǒng)的實用性與完備性。本論文主要從系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)部署與使用以與系統(tǒng)測試等幾個方面進(jìn)行介紹。關(guān)鍵詞:美食網(wǎng)站;數(shù)據(jù)庫;B/S;MVC;Tomcat服務(wù)器AbstractTherapiddevelopmentoftheInternethasaffectedeveryaspectofourlives,theInternethasitsuniqueadvantagestoquicklypenetrateintothemoretraditionalareas.FoodasatraditionalsectorisalsosubjectedtotheprofoundchangesbroughtaboutbytheInternet.Currentlyonthemarketdonothaveafoodwebsiteintegratedplatformforeachcollegecampusandyoucannothighlighttheculinaryspecialtiesoftheschool.Internetusemeanstopromoteandfacilitatetheteachersandstudentsoncampusdiningreservation,itisverynecessary,andtointroduceuniversitycampusfoodculturethroughtheInternetalsohasacertainconvenienceandfun.Thissystemisthemainlinetothecampusfood,buildaconvenientplatformforteachersandonlineordering,onlineorderingavailabletoteachersandstudents,topromoteitscampusfoodculture,andprovidevariousrestaurantjobinformationfunction.ThesystemusesB/Sdesignpatterns,user-friendly.ThesystemusesthreeMVCdevelopmentmodel,theviewlayerusingJSPdesign,businesslogicusingServlet,thedataaccesslayerusingJAVAlanguageimplementation.ThesystemusesSqlServer2008databaseandTomcat6.0server.Systemdesignanddevelopmentprocess,payattentiontomatchtheactualoperationofthebusinessprocess,andseekpracticalandcompletenessofthesystem.Thispaperintroducesseveralaspectsofthesystemanalysis,systemdesign,systemdeploymentanduse,andsystemtesting.KeyWords:FoodWebsites;databases;B/S;MVC;Tomcatserver目錄摘要 IAbstract II1.緒論 11.1.課題背景與意義 11.2.校園美食網(wǎng)站系統(tǒng)的現(xiàn)狀 11.3.本文研究內(nèi)容 22相關(guān)技術(shù)介紹 32.1.JSP技術(shù) 32.1.1JSP技術(shù)介紹 32.1.2JSP與ASP的比較 42.2Apache服務(wù)器 42.3SQLSERVER數(shù)據(jù)庫 52.4MVC三層框架 52.5B/S開發(fā)模式 72.5.1B/S開發(fā)模式簡介 72.5.2B/S與C/S的比較 72.6Ajax技術(shù) 83.系統(tǒng)需求分析 93.1.需求分析簡述 93.2系統(tǒng)需求分析詳述 93.2.1校園美食網(wǎng)站需求目標(biāo) 93.3系統(tǒng)安全需求分析 123.4系統(tǒng)數(shù)據(jù)庫需求分析 124總體設(shè)計 154.1系統(tǒng)開發(fā)的結(jié)構(gòu)設(shè)計圖 154.2系統(tǒng)功能模塊結(jié)構(gòu)設(shè)計 164.3系統(tǒng)數(shù)據(jù)庫邏輯設(shè)計 164.3.1數(shù)據(jù)表設(shè)計 175詳細(xì)設(shè)計 215.1業(yè)務(wù)邏輯層的詳細(xì)設(shè)計 215.1.1用戶登陸模塊的詳細(xì)設(shè)計 215.1.2用戶訂餐模塊的詳細(xì)設(shè)計 225.1.3個人中心管理模塊的詳細(xì)設(shè)計 235.1.3店鋪管理模塊詳細(xì)設(shè)計 245.1.4文章管理模塊詳細(xì)設(shè)計 255.1.5異步請求處理機制 265.2數(shù)據(jù)訪問層 276系統(tǒng)實現(xiàn) 286.1網(wǎng)站首頁實現(xiàn)圖示 286.2店鋪管理實現(xiàn)效果圖示 296.2.1店鋪主頁 296.2.2新開店鋪 306.2.3店鋪管理 306.2.4店鋪訂單 316.2.5銷售統(tǒng)計 316.3用戶訂餐實現(xiàn)效果圖示 326.3.1菜品詳情 326.3.1購物車管理 336.3.2訂單提交 336.4健康達(dá)人實現(xiàn)效果圖示 336.5個人中心實現(xiàn)效果圖示 347系統(tǒng)軟件測試 357.1單元測試 358總結(jié) 37參考文獻(xiàn) 38致謝 39大連大學(xué)學(xué)位論文版權(quán)使用授權(quán)書 401.緒論1.1.課題背景與意義 隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益進(jìn)入人們工作與學(xué)習(xí)的各個方面。目前,美食網(wǎng)站的應(yīng)用以其獨有的優(yōu)越性,越來越多的影響著我們的生活,并且對傳統(tǒng)的商業(yè)形式造成了很大的沖擊。動態(tài)網(wǎng)站技術(shù)便是這一發(fā)展的重要的技術(shù)依托。國際上比較流行的動態(tài)網(wǎng)站技術(shù)有ASP、JSP、PHP等,而JSP已經(jīng)成為開發(fā)Web動態(tài)網(wǎng)站的重要而快速、有效的工具,它是全新的網(wǎng)絡(luò)服務(wù)器端技術(shù)。 本系統(tǒng)是一個校園美食網(wǎng)站,系統(tǒng)借鑒現(xiàn)在的一些成熟的外賣網(wǎng)站進(jìn)行設(shè)計,充分結(jié)合校園餐飲的特點進(jìn)行設(shè)計開發(fā)。系統(tǒng)在設(shè)計之初就是本著實用貼近生活進(jìn)行著眼的,頁面設(shè)計也本著簡潔明了的設(shè)計思路,盡可能體現(xiàn)其功能性。但系統(tǒng)將會本著功能與界面的最大統(tǒng)一,以與易于維護(hù)性的指導(dǎo)思想,來創(chuàng)建出一個讓師生都滿意的實用的美食網(wǎng)站。1.2.校園美食網(wǎng)站系統(tǒng)的現(xiàn)狀 隨著社會經(jīng)濟(jì)和文化水平的發(fā)展,中國的餐飲行業(yè)市場競爭的形勢也發(fā)生一些新的變化。把握這種變化趨勢,研究制定正確的對策,對餐飲企業(yè)來說是至關(guān)重要的。近年網(wǎng)絡(luò)購物模式火熱興起,在中國乃至世界刮起了一股消費潮流的熱風(fēng)。網(wǎng)上訂餐也逐漸成為餐飲行業(yè)的一個重要的經(jīng)營方式。網(wǎng)上訂餐在中國經(jīng)歷了過去兩年的風(fēng)起云涌之后,已經(jīng)得到了普遍接受和越來越好的應(yīng)用。目前,網(wǎng)上訂餐已經(jīng)形成了一種新的消費方式,同時成為了餐飲行業(yè)等生活服務(wù)行業(yè)的一種革命性的營銷利器,它已經(jīng)將餐飲化信息推向了一個極致[1]。網(wǎng)上對餐飲行業(yè)產(chǎn)生了巨大的影響力,但是作為一種新興的營銷方式,還存在著諸多不足。餓了么,美團(tuán)以與大批美食網(wǎng)站的迅速崛起,讓網(wǎng)上訂餐享用美食變得越來越受到追捧。 目前各大高校都在建立自己的外賣網(wǎng),這也是當(dāng)前O2O電子商務(wù)模式的發(fā)展趨勢,因為現(xiàn)在O2O模式正處于初級階段,而學(xué)校做O2O模式是最好的選擇,因為它面向的只是本學(xué)校的學(xué)生,他們是主要的消費群體,而在一個學(xué)校做宣傳也是比較簡單的,并且他們外賣的派送速度是其他各大快餐網(wǎng)站不能比的。 餐飲業(yè)作為O2O市場比較重要的一塊,一直作為兵家必爭之地。外賣訂餐是餐飲O2O比較重要的一塊,也是最先比較容易想到的一塊,但是仔細(xì)去做的時候,發(fā)現(xiàn)外賣訂餐模式的水也很深,優(yōu)勢劣勢都很明顯。首先入行容易,面對的幾乎都是小商家,容易操作;其次這種累活傳統(tǒng)的互聯(lián)網(wǎng)巨頭想都不會想,避免了前期直接與巨頭競爭;最后外賣是最能鍛煉物流的,因為它對時效性的要求最高,用戶多等了10幾分鐘就受不了。而物流是本地化成功的關(guān)鍵,因為本地化需求大多是突然需求且需要快速解決。所以外賣網(wǎng)站通常要求接觸最苛刻的物流需求,建立一流的物流體系。但校園訂餐網(wǎng)站對于物流體系要求卻沒有那么高,只需餐飲服務(wù)人員校內(nèi)騎車送餐即可,因為校園訂餐的特點是距離短,時效性高,這兩個最為突出的特點就決定了校園美食網(wǎng)站實現(xiàn)起來的更加容易。 之前看到了一個叫黃岡職業(yè)技術(shù)學(xué)院吃客網(wǎng)的網(wǎng)站,它就是基于一種電子商務(wù)O2O模式出發(fā)的高校外賣網(wǎng)。用戶訪問吃客網(wǎng)就是想進(jìn)行網(wǎng)上訂餐,并不希望你把各式各樣我不需要的服務(wù)展示給我。當(dāng)然我如果是老顧客有充裕的時間可能回去看看黃岡職業(yè)技術(shù)學(xué)院吃客網(wǎng),可是畢竟我還是把它作為一種工具,用它的目的只是為了提供一點便利,你硬要為它添加那么多社交屬性,娛樂屬性,只會讓我感到厭煩。所以實用性,便捷性是這種校園美食網(wǎng)站最關(guān)心的。 現(xiàn)在說到做一個網(wǎng)站,誰都知道首先要做到良好的顧客體驗。隨著互聯(lián)網(wǎng)的普與,網(wǎng)民應(yīng)用技術(shù)的提高,以與各類網(wǎng)站百花齊放,導(dǎo)致了網(wǎng)民對服務(wù)類網(wǎng)站越來越挑剔。有一點不滿意,他就轉(zhuǎn)投其他的同類型網(wǎng)站了。那到底什么是良好的顧客體驗,很多網(wǎng)站都沒有一個概念。以為服務(wù)項目多,展現(xiàn)的維度廣,顯示的信息全就能帶來好的顧客體驗?其實網(wǎng)民的見識已經(jīng)夠多了,反而現(xiàn)在他們想要的是簡單,一切都要適可而止,多了反而會引起反感。外賣類型網(wǎng)站尤其如此,給用戶想要的就足夠了。1.3.本文研究內(nèi)容 本文研究內(nèi)容如何將現(xiàn)實的需求通過軟件工程的思想來加以解決。根據(jù)我校餐飲的特點,針對性的設(shè)計一個餐飲美食網(wǎng)站。以此來方便師生就餐,并將所學(xué)知識與技術(shù)運用到實際生活當(dāng)中,提高分析解決問題的能力。本文會依照軟件工程的思想來進(jìn)行系統(tǒng)設(shè)計與實現(xiàn),以求達(dá)到系統(tǒng)的健壯性與可擴(kuò)展性。2相關(guān)技術(shù)介紹2.1.JSP技術(shù)2.1.1JSP技術(shù)介紹 JSP:(JavaServerPages)是一種跨平臺的動態(tài)網(wǎng)頁技術(shù),在靜態(tài)頁面中嵌入Java代碼片段,再由Web服務(wù)器中的JSP引擎來進(jìn)行編譯并執(zhí)行嵌入的Java代碼片段,生成的頁面信息返回給客戶端[2]。JSP技術(shù)開發(fā)Web程序,就是在JSP頁面中寫入Java代碼,當(dāng)服務(wù)器運行JSP頁面時,執(zhí)行Java代碼,動態(tài)獲取數(shù)據(jù),并生成HTML代碼,最終出現(xiàn)在客戶端瀏覽器上,如圖: 圖2.1JSP運行機制圖 JSP技術(shù)優(yōu)點很多,包括將HTML編碼從web頁面的業(yè)務(wù)邏輯中有效地分離出來;訪問可重用的組件,如Servlet,JavaBean和基于JAVA的應(yīng)用程序;支持直接在web頁面中直接嵌入JAVA代碼;系統(tǒng)的多平臺支持,基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展;相比ASP/PHP的局限性是顯而易見的;強大的可伸縮性,從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力;多樣化和功能強大的開發(fā)工具支持,這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。2.1.2JSP與ASP的比較 ASP是微軟推出的一種服務(wù)器腳本編寫環(huán)境,可以用來創(chuàng)建和運行動態(tài)網(wǎng)頁或Web應(yīng)用程序。ASP(ActiveServerPages)技術(shù)主要在微軟(Microsoft)公司的Windows平臺上運行,其中包括Windows2000、WindowsXP和Windows2007/2008,并且搭配其WEB服務(wù)器IIS(InternetInformationServices)。但是,在其他的平臺運行時,不是性能低落,就是根本不支持,因此,當(dāng)在開發(fā)網(wǎng)站系統(tǒng)時,選擇NT+IIS+ASP的體系結(jié)構(gòu)時,未來當(dāng)系統(tǒng)無法負(fù)荷時,也只能繼續(xù)選擇Windows平臺的服務(wù)器,無法改寫在性能表現(xiàn)相當(dāng)優(yōu)異的UNIX平臺上。 JSP(JavaServerPages)技術(shù)主要運行在操作系統(tǒng)上的一個JavaVirtualMachine(JVM)虛擬機器上。因此,它能夠跨所有的平臺,例如:NT、Windows、Solaris、Linux、OS/390、AIX、HP-UX,等等,除了能在各式各樣的操作系統(tǒng)上執(zhí)行,并且能搭配現(xiàn)有的WEB服務(wù)器:Apache、IIS、NetscapeEnterpriseServer等等,將靜態(tài)的HTML網(wǎng)頁交由執(zhí)行速度較快的WebServer處理,而動態(tài)產(chǎn)生網(wǎng)頁的部分,就交由JSPContainer來執(zhí)行。由上述可知,JSP(JavaServerPages)技術(shù)在跨平臺的表現(xiàn)比ASP來得更有彈性。 WEB網(wǎng)頁程序員未來在開發(fā)電子商務(wù)平臺時,就不需要再考慮客戶廠商的操作系統(tǒng)平臺,可更專心于系統(tǒng)功能的開發(fā)。相應(yīng)地,廠商在使用JavaServerPages技術(shù)開發(fā)的系統(tǒng)平臺時,不再需要擔(dān)心未來在擴(kuò)充軟、硬件時,是否產(chǎn)生不兼容的問題。光這一點,就能為企業(yè)省下一大筆的費用,這是JSP相較于ASP的主要優(yōu)點。語法結(jié)構(gòu)ASP語法結(jié)構(gòu)上,是以"<%"和"%>"作為標(biāo)記符號,而JSP也是使用相同標(biāo)記符號作為程序的區(qū)段范圍的。但不同的是,標(biāo)記符號之間所使用的語言:ASP為JavaScript或VBScript;而JSP為Java。Java是有嚴(yán)格規(guī)劃、強大且易擴(kuò)充的語言,遠(yuǎn)優(yōu)于VBScript語言。2.2Apache服務(wù)器 Tomcat服務(wù)器是一個免費的開源的Web應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被開發(fā)人員廣泛使用,是開發(fā)和調(diào)試JSP應(yīng)用程序的首選。它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡單的API擴(kuò)充,將Perl/Python等解釋器編譯到服務(wù)器中。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機器上配置好Apache服務(wù)器,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)頁面的訪問請求。實際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨立運行的,所以當(dāng)你運行tomcat時,它實際上作為一個與Apache獨立的進(jìn)程單獨運行的。之所以選擇Apache作為Web應(yīng)用的服務(wù)器是因為它擁有以下特性[3]:1.擁有簡單而強有力的基于文件的配置過程2.支持基于IP和基于域名的虛擬主機3.支持最新的HTTP/1.1通信協(xié)議4.集成代理服務(wù)器模塊2.3SQLSERVER數(shù)據(jù)庫 系統(tǒng)數(shù)據(jù)庫采用SQLServer2008,SQLServer2008在Microsoft的數(shù)據(jù)平臺上發(fā)布,可以組織管理任何數(shù)據(jù)??梢詫⒔Y(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲到數(shù)據(jù)庫中??梢詫?shù)據(jù)進(jìn)行查詢、搜索、同步、報告和分析之類的操作。數(shù)據(jù)可以存儲在各種設(shè)備上,從數(shù)據(jù)中心最大的服務(wù)器一直到桌面計算機和移動設(shè)備,它都可以控制數(shù)據(jù)而不用管數(shù)據(jù)存儲在哪里。SQLServer2008平臺有以下特點:可信任的——可以以很高的安全性、可靠性和可擴(kuò)展性來運行他們最關(guān)鍵任務(wù)的應(yīng)用程序。高效的——可以降低開發(fā)和管理數(shù)據(jù)基礎(chǔ)設(shè)施的時間和成本。智能的——提供了一個全面的平臺,可以在你的用戶需要的時候給他發(fā)送觀察和信息。2.4MVC三層框架 系統(tǒng)采用MVC三層開發(fā)模式:MVC是一個設(shè)計模式,它強制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。三層之間的關(guān)系如圖所示[4]:圖2.2MVC三層模式關(guān)系圖視圖:
本系統(tǒng)的視圖層由JSP頁面來充當(dāng),視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括MacromediaFlash和象XHTML,XML/XSL,WML等一些標(biāo)識語言和Webservices.。
如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。
模型:
模型層采用JAVA語言編寫的可重用模型程序以與數(shù)據(jù)訪問程序來實現(xiàn),模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusionComponents這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復(fù)性。控制器:
系統(tǒng)的控制層由Servlet程序?qū)崿F(xiàn),Servlet負(fù)責(zé)接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后再確定用哪個視圖來顯示返回的數(shù)據(jù)。2.5B/S開發(fā)模式2.5.1B/S開發(fā)模式簡介 B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。客戶機上只要安裝一個瀏覽器,如NetscapeNavigator或InternetExplorer,服務(wù)器安裝SQLServer、Oracle、MYSQL等數(shù)據(jù)庫。瀏覽器通過WebServer同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互[5]。 由于Client/Server結(jié)構(gòu)存在的種種問題,因此人們又在它原有的基礎(chǔ)上提出了一種具有三層模式(3-Tier)的應(yīng)用系統(tǒng)結(jié)構(gòu)瀏覽器/服務(wù)器(Browser/Server)結(jié)構(gòu)。Browser/Server結(jié)構(gòu)是伴隨著因特網(wǎng)的興起,對Client/Server結(jié)構(gòu)的一種改進(jìn)。從本質(zhì)上說,Browser/Server結(jié)構(gòu)也是一種Client/Server結(jié)構(gòu),它可看作是一種由傳統(tǒng)的二層模式Client/Server結(jié)構(gòu)發(fā)展而來的三層模式Client/Server結(jié)構(gòu)在Web上應(yīng)用的特例。 Browser/Server結(jié)構(gòu)主要是利用了不斷成熟的Web瀏覽器技術(shù):結(jié)合瀏覽器的多種腳本語言和ActiveX技術(shù),用通用瀏覽器實現(xiàn)原來需要復(fù)雜專用軟件才能實現(xiàn)的強大功能,同時節(jié)約了開發(fā)成本。 B/S最大的優(yōu)點就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件,只要有一臺能上網(wǎng)的電腦就能使用,客戶端零安裝、零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。B/S結(jié)構(gòu)的使用越來越多,特別是由需求推動了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進(jìn)行部分處理,從而大大的減輕了服務(wù)器的負(fù)擔(dān);并增加了交互性,能進(jìn)行局部實時刷新。2.5.2B/S與C/S的比較 C/S即大家熟知的客戶端和服務(wù)器結(jié)構(gòu)。客戶端需要安裝專用的客戶端軟件。首先涉與到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進(jìn)行安裝或維護(hù)。 B/S最大的優(yōu)點是客戶端不用維護(hù),適用于用戶群龐大,或客戶需求經(jīng)常發(fā)生變化的情況,可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。B/S架構(gòu)的軟件對一個稍微大一點單位來說,系統(tǒng)管理人員不需要在幾百甚至上千部電腦之間來回奔跑,只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機構(gòu)都不會增加任何維護(hù)升級的工作量,所有的操作只需要針對服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實現(xiàn)遠(yuǎn)程維護(hù)、升級和共享。所以客戶機越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無法作到的.與操作系統(tǒng)平臺關(guān)系最小。B/S架構(gòu)的軟件系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),系統(tǒng)管理員分配一個用戶名和密碼,還可以在線申請等。2.6Ajax技術(shù) Ajax的全稱是:AsynchronousJavaScript+XML。AJAX是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。通過在后臺與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進(jìn)行更新。傳統(tǒng)的網(wǎng)頁(不使用AJAX)如果需要更新內(nèi)容,必須重載整個網(wǎng)頁頁面。Ajax的核心是JavaScript對象XmlHttpRequest。該對象在InternetExplorer5中首次引入,它是一種支持異步請求的技術(shù)。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請求并處理響應(yīng),而不阻塞用戶。3.系統(tǒng)需求分析3.1.需求分析簡述 需求分析是任何一個軟件系統(tǒng)開發(fā)過程當(dāng)中比較重要的一項工作指標(biāo)。美食網(wǎng)站系統(tǒng)軟件需求分析工作中的質(zhì)量的好壞和結(jié)果的認(rèn)定將直接影響深知決定系統(tǒng)開發(fā)工作的成功與否,如果后期系統(tǒng)的開發(fā)工作是建立在一系列錯誤的前期需求基礎(chǔ)上,那么無論這個程序代碼和編寫的質(zhì)量多么完美,系統(tǒng)都將是不會成功的。然而,對于一個比較大型的軟件系統(tǒng)開發(fā)來說,需求分析工作的確是難上加難,以至于許多項目的失敗都源于此。校園美食網(wǎng)站系統(tǒng)實現(xiàn)的是利用計算機系統(tǒng)支持校園美食餐廳的網(wǎng)上宣傳以與訂餐業(yè)務(wù),以達(dá)到方便師生就餐的需求。 校園美食網(wǎng)站的設(shè)計與實現(xiàn)包括以下幾個方面的需求:功能性:提供良好的可靠的交互界面,且具有完善的文檔支持。實用性:實現(xiàn)軟件基本業(yè)務(wù)要求,且具有完善的安全特性。可靠性:提供可靠地系統(tǒng)錯誤處理能力,減少系統(tǒng)異常??芍С中裕禾峁┛煽康叵到y(tǒng)錯誤處理能力,減少系統(tǒng)異常。3.2系統(tǒng)需求分析詳述3.2.1校園美食網(wǎng)站需求目標(biāo) 校園美食網(wǎng)站要求根據(jù)本校校園餐飲的實際特點進(jìn)行設(shè)計,本校校園餐廳分布分散,就餐時間人流量較大,師生就餐時間集中,排隊就餐時間較久,這就給課程時間緊張的師生帶來許多不便。因此,根據(jù)本校餐飲的特點設(shè)計并實現(xiàn)一個網(wǎng)上訂餐系統(tǒng)就顯得十分必要。再設(shè)計系統(tǒng)時本著實用性,對系統(tǒng)的功能設(shè)計應(yīng)當(dāng)盡量考慮周全,我們可以按照用戶級別,不同的用戶擁有不同的操作權(quán)限,實現(xiàn)不同的功能。 具體包括以下功能:1.用戶管理系統(tǒng)分為三種用戶權(quán)限。分別是網(wǎng)站管理員,店鋪店主用戶,普通注冊用戶,不同用戶擁有不同的操作權(quán)。普通用戶可以對個人中心進(jìn)行管理,修改個人信息;店主除具有普通用戶功能之外,還可以對個人所開店鋪進(jìn)行管理;網(wǎng)站管理員擁有最高權(quán)限,進(jìn)行系統(tǒng)數(shù)據(jù)的維護(hù)。數(shù)據(jù)流圖如圖3.1所示:圖3.1用戶管理的數(shù)據(jù)流圖2.用戶訂餐網(wǎng)站注冊用戶可以進(jìn)行菜品查詢,可以對合自己胃口的菜品進(jìn)行網(wǎng)上訂餐。但是不支持網(wǎng)上支付功能,用戶將訂單提交以后,店主會受到一個訂單反饋,店主用戶對訂單進(jìn)行處理,并選擇接受該訂單或者拒絕該訂單。如果店主接受訂單,店主就會與時將菜品送達(dá)。如果該菜品已售罄或者是其他原因店主則可以選擇拒絕該訂單,用戶同樣會有一個訂單被拒絕的反饋。數(shù)據(jù)流圖如圖3.2所示:圖3.2用戶訂餐數(shù)據(jù)流圖3.菜品評論與收藏用戶可以對自己購買的菜品發(fā)表評論以與自己滿意的菜品進(jìn)行收藏,收藏的菜品會顯示在自己的收藏夾中,用戶可以對收藏夾中的菜品進(jìn)行管理。數(shù)據(jù)流圖如圖3.3所示:圖3.3菜品評論與收藏4.店鋪管理注冊為店主權(quán)限的用戶可以增開店鋪,并對店鋪中的信息進(jìn)行管理,增加菜品,刪除菜品信息,修改菜品信息等,以與發(fā)布一些店鋪的公告信息等。數(shù)據(jù)流圖如圖3.4所示:圖3.4店鋪管理數(shù)據(jù)流圖5.銷售信息統(tǒng)計店主用戶可以對本店鋪某個時間區(qū)間內(nèi)的銷售情況進(jìn)行統(tǒng)計。數(shù)據(jù)流圖如圖3.5所示:圖3.5店鋪銷售信息統(tǒng)計3.3系統(tǒng)安全需求分析 由于系統(tǒng)存在很多個人的數(shù)據(jù)以與個人店鋪數(shù)據(jù),需要對其進(jìn)行妥善管理,所以系統(tǒng)對用戶的操作權(quán)限進(jìn)行了劃分和控制。系統(tǒng)根據(jù)業(yè)務(wù)不同,在操作權(quán)限上分了管理員,店主以與普通注冊用戶三種用戶權(quán)限,不同的角色擁有不同的的操作權(quán)限,以確保數(shù)據(jù)的安全和操作的規(guī)范。除此之外,用戶的登陸驗證也是必不可少。在實際操作中數(shù)據(jù)庫的備份,處理斷電等各種情況也是應(yīng)該考慮的,但由于時間的原因,系統(tǒng)在這里并沒有實現(xiàn)這一部分的內(nèi)容。3.4系統(tǒng)數(shù)據(jù)庫需求分析 在需求分析階段應(yīng)該建立起數(shù)據(jù)庫的關(guān)系模型,各個實體之間的關(guān)系應(yīng)該銜接完整,這樣才能保證所建立起來的數(shù)據(jù)庫的健壯性與完備性。圖3.6用戶表E-R圖圖3.7店鋪表E-R圖圖3.8訂單表E-R圖4總體設(shè)計 本系統(tǒng)是基于javaWeb的B/S模式的MVC三層架構(gòu)。采用以數(shù)據(jù)庫作為后臺,以數(shù)據(jù)處理與分析程序作為中間層,以瀏覽器為前端的三層結(jié)構(gòu)開發(fā)模式。由用戶界面層,業(yè)務(wù)邏輯層以與數(shù)據(jù)處理層組成。在JSP和SQLServer2008平臺下進(jìn)行開發(fā)。采用Web技術(shù)開發(fā)前端交互界面,這大大提高了系統(tǒng)的使用的便捷性;由于系統(tǒng)對客戶端機器硬件要求不高,用戶可保留原有的軟硬件投資。在具體實施時,充分利用JSP以與相關(guān)的Web開發(fā)技術(shù),使開發(fā)出的Web應(yīng)用的可靠性,擴(kuò)展性以與功能性上有了很大的提高,使最終的結(jié)構(gòu)不僅僅是簡單的網(wǎng)頁,而是可以在其之上構(gòu)筑完整的應(yīng)用。4.1系統(tǒng)開發(fā)的結(jié)構(gòu)設(shè)計圖 系統(tǒng)開發(fā)首先進(jìn)行需求分析,系統(tǒng)的需求分析就是根據(jù)身邊的師生在學(xué)校就餐時的特點進(jìn)行的。需求分析的成果——需求分析文檔,作為系統(tǒng)總體分析設(shè)計的一個重要的依據(jù)來進(jìn)行系統(tǒng)分析。系統(tǒng)分析的包含較多內(nèi)容,包括總體框架的設(shè)計,系統(tǒng)功能模塊的設(shè)計與劃分以與數(shù)據(jù)庫的設(shè)計等。 根據(jù)MVC三層開發(fā)的設(shè)計模式,系統(tǒng)每個功能對應(yīng)若干瀏覽器前端頁面。根據(jù)其要實現(xiàn)的功能,來確定該功能的業(yè)務(wù)處理流程,并利用數(shù)據(jù)訪問層提供的接口實現(xiàn)對后臺數(shù)據(jù)庫的訪問。前端與后臺的交互則需要Web服務(wù)器這個橋梁來進(jìn)行溝通,對數(shù)據(jù)庫后臺訪問后同樣由Web服務(wù)器端程序?qū)⒎答佇畔l(fā)送到瀏覽器端。 系統(tǒng)開發(fā)結(jié)構(gòu)設(shè)計如下圖所示:圖4.1系統(tǒng)開發(fā)結(jié)構(gòu)設(shè)計圖4.2系統(tǒng)功能模塊結(jié)構(gòu)設(shè)計圖4.2系統(tǒng)功能模塊圖4.3系統(tǒng)數(shù)據(jù)庫邏輯設(shè)計 本系統(tǒng)采用MVC架構(gòu)開發(fā),數(shù)據(jù)訪問層的設(shè)計直接影響系統(tǒng)邏輯層訪問數(shù)據(jù)訪問層的擴(kuò)展性和維護(hù)的難易程度。為了實現(xiàn)對數(shù)據(jù)庫的支持,數(shù)據(jù)庫的訪問采用設(shè)計模式中的抽象工廠模式對數(shù)據(jù)訪問層進(jìn)行封裝。抽象工廠模式可以為業(yè)務(wù)邏輯層提供統(tǒng)一訪問的接口。這樣業(yè)務(wù)邏輯層訪問數(shù)據(jù)訪問層時只需調(diào)用這個接口就可以了,這樣就使得上層代碼更加穩(wěn)定。 因為本系統(tǒng)涉與很多數(shù)據(jù)信息的添加,修改,刪除等操作,所以把對數(shù)據(jù)庫的訪問提升為抽象工廠類。抽象工廠類向外界提供對數(shù)據(jù)訪問層的接口來實現(xiàn)對數(shù)據(jù)庫的統(tǒng)一訪問。4.3.1數(shù)據(jù)表設(shè)計數(shù)據(jù)表的詳細(xì)信息構(gòu)成如以下表所述:序號列名數(shù)據(jù)類型可否為空備注1用戶名Varchar(20)否主鍵2密碼Varchar(20)否3姓名Varchar(20)是4性別Varchar(20)是5權(quán)限Int否外鍵6郵箱Varchar(50)是7電話Varchar(20)是表4.1用戶表序號列名數(shù)據(jù)類型可否為空備注1菜品號Bigint否主鍵2所屬店鋪Varchar(50)否外鍵3菜品名Varchar(50)否4價格Float否5評分Int否6菜品描述Varchar(50)是7風(fēng)味Varchar(50)是8菜品圖片Varchar(500)否表4.2菜品表序號列名數(shù)據(jù)類型可否為空備注1評論編號Int否主鍵2菜品編號Varchar(20)否外鍵3菜品評論Varchar(1000)否4用戶名Varchar(20)否外鍵5日期Datetime否表4.3菜品評論表序號列名數(shù)據(jù)類型可否為空備注1店鋪號Int否主鍵2店鋪名Varchar(50)否3用戶名Varchar(20)否外鍵4評分Int否5位置Varchar(50)否6店鋪描述Varchar(1000)是7店鋪圖片Varchar(50)是表4.4店鋪表序號列名數(shù)據(jù)類型可否為空備注1訂單號Varchar(50)否主鍵2店鋪號Varchar(50)否外鍵3菜品號Varchar(50)否外鍵4菜品數(shù)量Varchar(50)否5總價Float否6收件人Varchar(50)否7用戶名Varchar(50)否8訂餐時間Datetime否9留言Varchar(200)是10送餐地點Varchar(50)否11聯(lián)系電話Varchar(50)否12訂單處理標(biāo)識Int否13流水號Int否14菜品名Varchar(50)是表4.5訂單表序號列名數(shù)據(jù)類型可否為空備注1用戶名Varchar(20)否主鍵2店鋪名Varchar(50)是3菜品名Varchar(50)是4店鋪號Int否外鍵5菜品號Varchar(50)否外鍵6圖片Varchar(50)否表4.6收藏夾表序號列名數(shù)據(jù)類型可否為空備注1文章編號Int否主鍵2用戶名Varchar(20)否外鍵3文章名Varchar(50)否4文章內(nèi)容Varchar(80)否5文章類別Varchar(50)是6發(fā)表時間Date否表4.7文章表序號列名數(shù)據(jù)類型可否為空備注1權(quán)限編號Int否主鍵2權(quán)限名Varchar(20)否表4.8權(quán)限對照表序號列名數(shù)據(jù)類型可否為空備注1食堂編號Int否主鍵2食堂名Varchar(20)否表4.9食堂表5詳細(xì)設(shè)計 5.1業(yè)務(wù)邏輯層的詳細(xì)設(shè)計 類模型,是描述系統(tǒng)內(nèi)部對象的特征,對象之間的相互關(guān)系以與對象所屬的類的屬性和操作,捕獲系統(tǒng)的靜態(tài)特征的一種直觀方式[6]。 本系統(tǒng)是基于三層架構(gòu)開發(fā)的美食網(wǎng)站,因此,每一層可以看作獨立的類,對每一層進(jìn)行抽象可以提取出基類,如邏輯層的Interface接口類,用戶類等等,然后按照需要實現(xiàn)的關(guān)系來組合成有連接的關(guān)聯(lián)類模型。5.1.1用戶登陸模塊的詳細(xì)設(shè)計 用戶登陸實質(zhì)上是對用戶的一種檢索。當(dāng)然這種檢索的條件就是用戶名和密碼。該系統(tǒng)的核心功能,如訂餐,個人中心等功能都是在用戶登陸前提下才能正常運行,所以這個功能在整個系統(tǒng)起著一個基礎(chǔ)性的作用。 系統(tǒng)用戶登陸模塊中,關(guān)系到三層結(jié)構(gòu)的相互合作,整個流程自上而下也讓數(shù)據(jù)從界面到邏輯,從邏輯到數(shù)據(jù),然后數(shù)據(jù)返回,整個模塊的詳細(xì)設(shè)計如圖5.1所示:圖5.1登陸模塊的數(shù)據(jù)流圖5.1.2用戶訂餐模塊的詳細(xì)設(shè)計 本網(wǎng)站開發(fā)的初衷是為了方便用戶就餐,減少師生的再就餐高峰時段的就餐壓力,節(jié)約師生時間。那么用戶訂餐模塊的設(shè)計也就成了本系統(tǒng)的核心模塊。用戶登陸后首先可以瀏覽各種菜品,各個店鋪的菜品,對于自己滿意的菜品,用戶可以選擇訂餐,該菜品的數(shù)據(jù)信息即被發(fā)送到服務(wù)器端。在服務(wù)器端,由業(yè)務(wù)邏輯層對菜品信息進(jìn)行處理,將用戶所選擇的菜品信息添加到,用戶的購物車中。用戶的購物車其實是一個List對象,該對象被保存在session對象中,用戶繼續(xù)選擇購物時,會繼續(xù)向該List對象中添加菜品元素。對于購物車中想要刪除的菜品,用戶可以對其進(jìn)行選擇性刪除,。用戶選購?fù)戤吅?,點擊生成訂單,就可以填寫相應(yīng)的訂單信息,方便店家送餐。訂單信息填寫完畢后,點擊提交,數(shù)據(jù)傳送到服務(wù)器端,由業(yè)務(wù)邏輯層負(fù)責(zé)將訂單信息與數(shù)據(jù)訪問層進(jìn)行交互。用戶訂餐模塊的入局流圖如圖5.2所示:圖5.2用戶訂餐的流程圖5.1.3個人中心管理模塊的詳細(xì)設(shè)計 這里的用戶個人中心管理主要是用戶個人信息的修改以與個人菜品收藏夾的管理。修改密碼用戶輸入舊密碼和新密碼,首先進(jìn)行密碼格式的驗證,如果密碼格式出錯,會有相應(yīng)的格式錯誤提示。然后將密碼信息提交到服務(wù)器,進(jìn)行舊密碼的驗證,若果舊密碼輸入錯誤,則不予進(jìn)行密碼的修改并返回舊密碼輸入錯誤的提示,若舊密碼輸入正確,則將密碼進(jìn)行修改。由業(yè)務(wù)邏輯層將調(diào)用數(shù)據(jù)訪問層將數(shù)據(jù)寫入數(shù)據(jù)庫。收藏夾管理用戶對于自己滿意的菜品可以選擇加入收藏,用戶點擊收藏后,會將相應(yīng)的菜品信息傳送到服務(wù)器,由業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)訪問層將菜品數(shù)據(jù)寫入到收藏表中。同時用戶可以對自己收藏菜品的菜品選擇性的刪除,業(yè)務(wù)處理流程與添加收藏類似。對于普通用戶的個人中心主要是修改密碼以與個人收藏的管理。其流程圖如圖5.3所示:圖5.3個人中心管理流程圖5.1.3店鋪管理模塊詳細(xì)設(shè)計 店鋪管理主要包括增開店鋪,店鋪菜品管理,以與店鋪的訂單的處理等。店主用戶增開店鋪時,將店鋪信息填寫完畢后,將店鋪信息傳道服務(wù)器端。由業(yè)務(wù)邏輯層對信息進(jìn)行獲取并封裝,之后業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)訪問層提供的接口將數(shù)據(jù)寫入數(shù)據(jù)庫中。同樣的店鋪菜品管理的業(yè)務(wù)處理流程與此類似,店主選擇添加新菜品,刪除某個菜品,或者修改某個菜品,都是將相應(yīng)的菜品信息發(fā)送到服務(wù)器。由業(yè)務(wù)邏輯層進(jìn)行數(shù)據(jù)的獲取處理,并調(diào)用數(shù)據(jù)訪問層對數(shù)據(jù)庫中的進(jìn)行相應(yīng)的處理。 對于店鋪訂單的處理,店主用戶可以查看自己的店鋪所接收的訂單情況,并對用戶的下單進(jìn)行確認(rèn)。店主確認(rèn)后,業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)訪問層提供的接口,將數(shù)據(jù)庫中的訂單處理標(biāo)識改為1,表示該訂單已被店主確認(rèn),此時用戶就不能取消該訂單。默認(rèn)的訂單處理標(biāo)識是0,表示用戶雖然已經(jīng)下單,但該訂單尚未被店主確認(rèn),用戶仍可以取消該訂單。 店鋪管理的數(shù)據(jù)流程圖如圖5.4所示:圖5.4店鋪管理流程圖5.1.4文章管理模塊詳細(xì)設(shè)計 文章管理即是系統(tǒng)中的健康達(dá)人,供用戶發(fā)表一些文章。普通用戶可以發(fā)表一些新的文章,有多個文章類別供用戶選擇。用戶完成文章編輯后,點擊發(fā)表,文章內(nèi)容被傳送至服務(wù)器。由業(yè)務(wù)邏輯層負(fù)責(zé)將視圖層傳送過來的文章信息獲取,并進(jìn)行相應(yīng)的處理后,調(diào)用數(shù)據(jù)訪問層提供的接口,實現(xiàn)數(shù)據(jù)的持久化。同時用戶還以瀏覽其他用戶發(fā)表的文章。管理員用戶能夠刪除系統(tǒng)中的文章。 文章管理模塊的數(shù)據(jù)流圖如圖5.5所示:圖5.5文章管理流程圖5.1.5異步請求處理機制 系統(tǒng)在進(jìn)行請求處理時有時并不希望將整個網(wǎng)頁都進(jìn)行刷新。例如,用戶在進(jìn)行菜品點贊或者發(fā)表評論時,我們都希望只有網(wǎng)頁中部分內(nèi)容有一個反饋,而不是整個網(wǎng)頁都刷新。這樣的用戶體驗會更好,這就是我們通常所說的異步請求。Ajax技術(shù)就是處理異步請求的一種技術(shù)。Ajax的核心對象是HTTPRequest對象。它可以提供不重新加載頁面的情況下更新網(wǎng)頁,在頁面加載后在客戶端向服務(wù)器請求數(shù)據(jù),在頁面加載后在服務(wù)器端接受數(shù)據(jù),在后臺向客戶端發(fā)送數(shù)據(jù)。XMLHttpRequest對象提供了對HTTP協(xié)議的完全的訪問,包括做出POST和HEAD請求以與普通的GET請求的能力[7]。XMLHttpRequest可以同步或異步返回Web服務(wù)器的響應(yīng),并且能以文本或者一個DOM文檔形式返回內(nèi)容。盡管名為XMLHttpRequest,它并不限于和XML文檔一起使用:它可以接收任何形式的文本文檔。XMLHttpRequest對象是名為AJAX的Web應(yīng)用程序架構(gòu)的一項關(guān)鍵功能。 本系統(tǒng)在許多地方都采用了Ajax來處理異步請求。1.菜品點贊用戶點贊時,采用Ajax來處理請求,并給瀏覽器反饋信息。2.菜品評論用戶對菜品評論時,采用了Ajax技術(shù)。3.菜品收藏用戶點擊收藏菜品時,采用了Ajax技術(shù)。5.2數(shù)據(jù)訪問層 異構(gòu)數(shù)據(jù)庫系統(tǒng)是由多個異構(gòu)的成員數(shù)據(jù)庫系統(tǒng)組成的數(shù)據(jù)庫系統(tǒng),異構(gòu)性體現(xiàn)為各個成員數(shù)據(jù)庫之間在硬件平臺、操作系統(tǒng)或數(shù)據(jù)庫管理系統(tǒng)等方面的不同。Internet上大量信息通過數(shù)據(jù)庫系統(tǒng)可以得到有效的管理。由于歷史等原因,Internet上的數(shù)據(jù)庫系統(tǒng)不少是異構(gòu)的。為了在Internet環(huán)境下,基于異種系統(tǒng)平臺實現(xiàn)對異構(gòu)數(shù)據(jù)庫的查詢和聯(lián)合使用,必須提供一個獨立于特定的數(shù)據(jù)庫管理系統(tǒng)的統(tǒng)一編程界面。目前許多數(shù)據(jù)庫系統(tǒng)均支持SQL,對于由SQL數(shù)據(jù)庫組成的異構(gòu)數(shù)據(jù)庫系統(tǒng),JDBC和ODBC為訪問其異構(gòu)成員提供了統(tǒng)一的方式,也為各異構(gòu)成員之間的協(xié)作和多個成員之上的操作打下了基礎(chǔ)[8]。本系統(tǒng)采用JDBC技術(shù)來實現(xiàn)數(shù)據(jù)庫的訪問。6系統(tǒng)實現(xiàn)6.1網(wǎng)站首頁實現(xiàn)圖示 網(wǎng)站首頁首先是系統(tǒng)導(dǎo)航條,然后是一些推薦菜品的展示。推薦菜品是從系統(tǒng)中評分較高的菜品展示。采用特定的SQL查詢語句選擇出評分最高的菜品,并展示在系統(tǒng)主界面。系統(tǒng)主界面也提供了搜索欄,用戶可以選擇搜索內(nèi)容,對菜品,店鋪以與文章進(jìn)行搜索查看,方便用戶使用。 網(wǎng)站首頁還包含用戶登陸與注冊的功能。用戶登陸界面采用HTML中的FORM表單元素進(jìn)行輸入,對于用戶的輸入信息,在瀏覽器端首先采用腳本語言Javascript進(jìn)行輸入格式的驗證,對于符合格式的輸入信息返回相應(yīng)的錯誤提示;對于滿足輸入格式的用戶名和密碼提交到服務(wù)器進(jìn)行驗證。同樣的,用戶注冊界面也采用HTML的FORM表單作為輸入框,不同的是表單的數(shù)目與內(nèi)容有所區(qū)別。而且表單驗證正確后將正確的數(shù)據(jù)寫入數(shù)據(jù)庫中。網(wǎng)站首頁實現(xiàn)的效果圖如圖6.1:圖6.1網(wǎng)站首頁6.2店鋪管理實現(xiàn)效果圖示6.2.1店鋪主頁 對于每家店鋪都有一個主界面,方便用戶訪問本店鋪內(nèi)的內(nèi)容。店鋪首頁首先是若干推薦菜品的輪播,圖片輪播采用JS特效實現(xiàn),提升用戶體驗。然后就是本店鋪中所有菜品的展示了。在用戶訪問本店鋪時,向服務(wù)器端發(fā)送請求,服務(wù)器端將本店鋪中的菜品信息從數(shù)據(jù)庫中取出,并反饋給瀏覽器,并在瀏覽器一端,獲取服務(wù)器端的反饋信息。圖6.2店鋪主頁6.2.2新開店鋪 店主用戶只有開設(shè)自己的店鋪后才能在網(wǎng)站上售賣菜品。開設(shè)店鋪的頁面是由若干FORM表單構(gòu)成,用戶將表單填寫完畢提交,服務(wù)器對數(shù)據(jù)進(jìn)行處理并寫入數(shù)據(jù)庫,店主就開設(shè)了自己的店鋪。圖6.3增開店鋪6.2.3店鋪管理 店主用戶新開一家店鋪后,店主用戶可以在店鋪管理頁面對自己所開店鋪進(jìn)行管理,可以選擇操作項,如發(fā)布新菜品,菜品刪除,菜品信息修改,發(fā)布新的店鋪信息等。店主可以選擇不同的選項對店鋪信息進(jìn)行維護(hù)管理。其實現(xiàn)效果圖如圖6-4所示:圖6.4店鋪管理6.2.4店鋪訂單 店主用戶可以對本店鋪中的訂單查看,本店中所有的店鋪訂單以表格的形式展示出來。每次訂單的詳細(xì)信息都將展示出來。圖6.5店鋪訂單處理6.2.5銷售統(tǒng)計 店主用戶可以對店鋪的銷售情況統(tǒng)計。支持按日,按周,按月統(tǒng)計。選擇不同的統(tǒng)計方式,統(tǒng)計出各個時間段的銷售量。圖6.6店鋪銷售統(tǒng)計6.3用戶訂餐實現(xiàn)效果圖示 用戶點擊摸菜品后進(jìn)入訂餐頁面,菜品的詳細(xì)信息以與該菜品的評論信息會從服務(wù)器端反饋到瀏覽器并顯示。用戶點擊訂餐,并選擇訂購數(shù)量,該菜品就會保存到該用戶的購物車中,用戶的購物車保存在session對象中,一次回話結(jié)束后,用戶的購物車會清空,或者用戶提交本次訂單后購物車中信息也會清空。當(dāng)用戶選購?fù)瓿珊?,就可以提交訂單?.3.1菜品詳情圖6.7菜品詳情6.3.1購物車管理圖6.8購物車6.3.2訂單提交圖6.9訂單填寫6.4健康達(dá)人實現(xiàn)效果圖示 健康達(dá)人是為了豐富網(wǎng)站內(nèi)容而添加的模塊,健康達(dá)人是一個文章分享的模塊,注冊用戶可以發(fā)表一些文章。在健康達(dá)人的主頁首先是文章分類,包括健康養(yǎng)生等多種類別的文章為用戶進(jìn)行分類,用戶可以有選擇的進(jìn)行瀏覽。圖6.10健康達(dá)人6.5個人中心實現(xiàn)效果圖示 個人中心是用戶管理個人信息的部分,用戶在個人中心可以對自己收藏的菜品進(jìn)行管理,修改自己的個人信息,如果是店主用戶還可以對增開新的店鋪。圖6.11個人中心7系統(tǒng)軟件測試 軟件質(zhì)量的重要性是毋庸置疑的,而測試則是確保軟件質(zhì)量的重要手段之一。測試就是發(fā)現(xiàn)并指出系統(tǒng)中缺陷的過程,而缺陷在軟件生命周期中的各個階段都有可能會發(fā)生。軟件測試是貫穿于軟件生命周期各個階段:系統(tǒng)構(gòu)思,需求分析,總體設(shè)計,詳細(xì)設(shè)計以與程序?qū)嶋H編碼各個階段,軟件測試的內(nèi)容是各個階段所得到的文檔,包括系統(tǒng)構(gòu)思說明文檔,需求說明文檔,總體設(shè)計說明文檔,詳細(xì)設(shè)計說明文檔,以與源程序。軟件測試的目標(biāo)就是以最少的時間和人力,把系統(tǒng)中的各種錯誤與缺陷從中找出。 在軟件測試中,基本的測試方法包括代碼復(fù)查,靜態(tài)測試,動態(tài)測試,白盒測試以與黑盒測試,而白盒測試和黑盒測試是測試方法中最為常見的測試方法。按照軟件測試階段可以將軟件測試劃分為下幾種:單元測試,集成測試,系統(tǒng)測試,驗收測試[9]。 由于時間和實際操作的原因,本系統(tǒng)主要采用單元測試。 7.1單元測試 單元測試是對程序設(shè)計中的最小單位——程序模塊的正確性進(jìn)行測試工作,是以詳細(xì)設(shè)計描述為指南,對重要的控制路徑進(jìn)行測試,用以發(fā)現(xiàn)錯誤或者缺陷。單元測試的目的是發(fā)現(xiàn)并指出每個程序模塊中可能存在的錯誤或缺陷,以與是否實現(xiàn)了詳細(xì)設(shè)計中的功能要求。 本系統(tǒng)的單元測試采用代碼復(fù)查,靜態(tài)測試和動態(tài)測試這三種測試方法進(jìn)行。下圖7.1為系統(tǒng)單元測試流程圖。圖7.1系統(tǒng)單元測試流程圖8總結(jié) 本系統(tǒng)采用JSP技術(shù),Tomcat服務(wù)器以與SQLServer2008數(shù)據(jù)庫采用B/S模式實現(xiàn)。 在此過程中遇到了很多問題,為此在開發(fā)過程中我查閱了大量的資料,特別是利用互聯(lián)網(wǎng)解決了許多問題,讓我收獲了許多。在開發(fā)過程中也遇到了許多技術(shù)上的問題,在導(dǎo)師和同學(xué)的幫助下也都得到解決。 除此之外,我也學(xué)到了許多在以前沒有涉與到的知識: 首先,我了解了編寫大型應(yīng)用軟件的一般步驟,獲得了許多寶貴的經(jīng)驗。特別是這樣通過理論與實踐相結(jié)合,把書本上的內(nèi)容應(yīng)用到我們做的程序上去。怎樣使各個子模塊實現(xiàn)其詳細(xì)功能,特別是各個子模塊之間的接口,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:教育家精神融入公費師范生培養(yǎng)的實踐模型與長效機制研究
- 課題申報參考:家庭綜合能源系統(tǒng)優(yōu)化運行及其干擾管理研究
- 2025年度個人快件運輸合同范本(快遞服務(wù)版)2篇
- 二零二五版龍門吊設(shè)備維修配件供應(yīng)與庫存管理合同4篇
- 影視作品2025年度海外發(fā)行合同3篇
- 2025年智能交通系統(tǒng)建設(shè)投資合同2篇
- 二手房買賣合同按揭貸款范文(2024版)
- 二零二五年度國際文化交流捐贈協(xié)議3篇
- 二零二五年度城市排水管網(wǎng)疏浚承包合同樣本4篇
- 2025年新能源汽車電池更換服務(wù)合同模板4篇
- 廣東省佛山市2025屆高三高中教學(xué)質(zhì)量檢測 (一)化學(xué)試題(含答案)
- 人教版【初中數(shù)學(xué)】知識點總結(jié)-全面+九年級上冊數(shù)學(xué)全冊教案
- 2024-2025學(xué)年人教版七年級英語上冊各單元重點句子
- 公司結(jié)算資金管理制度
- 2024年小學(xué)語文教師基本功測試卷(有答案)
- 項目可行性研究報告評估咨詢管理服務(wù)方案1
- 5歲幼兒數(shù)學(xué)練習(xí)題
- 2024年全國體育單招英語考卷和答案
- 浙大一院之江院區(qū)就診指南
- 離婚協(xié)議書電子版下載
- 相似三角形判定專項練習(xí)30題(有答案)
評論
0/150
提交評論