畢業(yè)論文-校園美食網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
畢業(yè)論文-校園美食網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
畢業(yè)論文-校園美食網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
畢業(yè)論文-校園美食網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
畢業(yè)論文-校園美食網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

學(xué)士學(xué)位論文基于Web的連大美食網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)作者姓名:學(xué)科、專(zhuān)業(yè):學(xué)號(hào):指導(dǎo)教師:完成日期:總計(jì): 畢業(yè)論文頁(yè)表格表插圖幅指導(dǎo)教師:評(píng)閱人:完成日期:摘要迅猛發(fā)展的互聯(lián)網(wǎng)已經(jīng)影響到我們生活的方方面面,互聯(lián)網(wǎng)也以其獨(dú)有的優(yōu)勢(shì)快速地滲透到越來(lái)越多的傳統(tǒng)領(lǐng)域。餐飲作為一個(gè)傳統(tǒng)領(lǐng)域也在經(jīng)受互聯(lián)網(wǎng)所帶來(lái)的深刻變革。目前市場(chǎng)上美食網(wǎng)站沒(méi)有一個(gè)針對(duì)各高校的整合的平臺(tái)而且無(wú)法突出學(xué)校的校園美食特色。利用互聯(lián)網(wǎng)的手段來(lái)宣傳校園餐飲并方便師生訂餐,也就顯得十分必要,而且通過(guò)互聯(lián)網(wǎng)來(lái)介紹大學(xué)的校園飲食文化也具有一定便捷性和趣味性。本系統(tǒng)就是以校園美食為主線,搭建一個(gè)方便師生在線訂餐的平臺(tái),提供給師生在線訂餐,宣傳校園餐飲文化,并提供各家餐廳發(fā)布招聘信息的功能。系統(tǒng)采用B/S的設(shè)計(jì)模式,方便用戶使用。系統(tǒng)采用MVC三層開(kāi)發(fā)模式,視圖層采用JSP進(jìn)行設(shè)計(jì),業(yè)務(wù)邏輯層采用Servlet,數(shù)據(jù)訪問(wèn)層采用JAVA語(yǔ)言進(jìn)行實(shí)現(xiàn)。系統(tǒng)采用SqlServer2008數(shù)據(jù)庫(kù)以與Tomcat6.0服務(wù)器。系統(tǒng)設(shè)計(jì)開(kāi)發(fā)過(guò)程中,注意使其符合實(shí)際操作的業(yè)務(wù)流程,并力求系統(tǒng)的實(shí)用性與完備性。本論文主要從系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)部署與使用以與系統(tǒng)測(cè)試等幾個(gè)方面進(jìn)行介紹。關(guān)鍵詞:美食網(wǎng)站;數(shù)據(jù)庫(kù);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.本文研究?jī)?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ù)庫(kù) 52.4MVC三層框架 52.5B/S開(kāi)發(fā)模式 72.5.1B/S開(kāi)發(fā)模式簡(jiǎn)介 72.5.2B/S與C/S的比較 72.6Ajax技術(shù) 83.系統(tǒng)需求分析 93.1.需求分析簡(jiǎn)述 93.2系統(tǒng)需求分析詳述 93.2.1校園美食網(wǎng)站需求目標(biāo) 93.3系統(tǒng)安全需求分析 123.4系統(tǒng)數(shù)據(jù)庫(kù)需求分析 124總體設(shè)計(jì) 154.1系統(tǒng)開(kāi)發(fā)的結(jié)構(gòu)設(shè)計(jì)圖 154.2系統(tǒng)功能模塊結(jié)構(gòu)設(shè)計(jì) 164.3系統(tǒng)數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 164.3.1數(shù)據(jù)表設(shè)計(jì) 175詳細(xì)設(shè)計(jì) 215.1業(yè)務(wù)邏輯層的詳細(xì)設(shè)計(jì) 215.1.1用戶登陸模塊的詳細(xì)設(shè)計(jì) 215.1.2用戶訂餐模塊的詳細(xì)設(shè)計(jì) 225.1.3個(gè)人中心管理模塊的詳細(xì)設(shè)計(jì) 235.1.3店鋪管理模塊詳細(xì)設(shè)計(jì) 245.1.4文章管理模塊詳細(xì)設(shè)計(jì) 255.1.5異步請(qǐng)求處理機(jī)制 265.2數(shù)據(jù)訪問(wèn)層 276系統(tǒng)實(shí)現(xiàn) 286.1網(wǎng)站首頁(yè)實(shí)現(xiàn)圖示 286.2店鋪管理實(shí)現(xiàn)效果圖示 296.2.1店鋪主頁(yè) 296.2.2新開(kāi)店鋪 306.2.3店鋪管理 306.2.4店鋪訂單 316.2.5銷(xiāo)售統(tǒng)計(jì) 316.3用戶訂餐實(shí)現(xiàn)效果圖示 326.3.1菜品詳情 326.3.1購(gòu)物車(chē)管理 336.3.2訂單提交 336.4健康達(dá)人實(shí)現(xiàn)效果圖示 336.5個(gè)人中心實(shí)現(xiàn)效果圖示 347系統(tǒng)軟件測(cè)試 357.1單元測(cè)試 358總結(jié) 37參考文獻(xiàn) 38致謝 39大連大學(xué)學(xué)位論文版權(quán)使用授權(quán)書(shū) 401.緒論1.1.課題背景與意義 隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益進(jìn)入人們工作與學(xué)習(xí)的各個(gè)方面。目前,美食網(wǎng)站的應(yīng)用以其獨(dú)有的優(yōu)越性,越來(lái)越多的影響著我們的生活,并且對(duì)傳統(tǒng)的商業(yè)形式造成了很大的沖擊。動(dòng)態(tài)網(wǎng)站技術(shù)便是這一發(fā)展的重要的技術(shù)依托。國(guó)際上比較流行的動(dòng)態(tài)網(wǎng)站技術(shù)有ASP、JSP、PHP等,而JSP已經(jīng)成為開(kāi)發(fā)Web動(dòng)態(tài)網(wǎng)站的重要而快速、有效的工具,它是全新的網(wǎng)絡(luò)服務(wù)器端技術(shù)。 本系統(tǒng)是一個(gè)校園美食網(wǎng)站,系統(tǒng)借鑒現(xiàn)在的一些成熟的外賣(mài)網(wǎng)站進(jìn)行設(shè)計(jì),充分結(jié)合校園餐飲的特點(diǎn)進(jìn)行設(shè)計(jì)開(kāi)發(fā)。系統(tǒng)在設(shè)計(jì)之初就是本著實(shí)用貼近生活進(jìn)行著眼的,頁(yè)面設(shè)計(jì)也本著簡(jiǎn)潔明了的設(shè)計(jì)思路,盡可能體現(xiàn)其功能性。但系統(tǒng)將會(huì)本著功能與界面的最大統(tǒng)一,以與易于維護(hù)性的指導(dǎo)思想,來(lái)創(chuàng)建出一個(gè)讓師生都滿意的實(shí)用的美食網(wǎng)站。1.2.校園美食網(wǎng)站系統(tǒng)的現(xiàn)狀 隨著社會(huì)經(jīng)濟(jì)和文化水平的發(fā)展,中國(guó)的餐飲行業(yè)市場(chǎng)競(jìng)爭(zhēng)的形勢(shì)也發(fā)生一些新的變化。把握這種變化趨勢(shì),研究制定正確的對(duì)策,對(duì)餐飲企業(yè)來(lái)說(shuō)是至關(guān)重要的。近年網(wǎng)絡(luò)購(gòu)物模式火熱興起,在中國(guó)乃至世界刮起了一股消費(fèi)潮流的熱風(fēng)。網(wǎng)上訂餐也逐漸成為餐飲行業(yè)的一個(gè)重要的經(jīng)營(yíng)方式。網(wǎng)上訂餐在中國(guó)經(jīng)歷了過(guò)去兩年的風(fēng)起云涌之后,已經(jīng)得到了普遍接受和越來(lái)越好的應(yīng)用。目前,網(wǎng)上訂餐已經(jīng)形成了一種新的消費(fèi)方式,同時(shí)成為了餐飲行業(yè)等生活服務(wù)行業(yè)的一種革命性的營(yíng)銷(xiāo)利器,它已經(jīng)將餐飲化信息推向了一個(gè)極致[1]。網(wǎng)上對(duì)餐飲行業(yè)產(chǎn)生了巨大的影響力,但是作為一種新興的營(yíng)銷(xiāo)方式,還存在著諸多不足。餓了么,美團(tuán)以與大批美食網(wǎng)站的迅速崛起,讓網(wǎng)上訂餐享用美食變得越來(lái)越受到追捧。 目前各大高校都在建立自己的外賣(mài)網(wǎng),這也是當(dāng)前O2O電子商務(wù)模式的發(fā)展趨勢(shì),因?yàn)楝F(xiàn)在O2O模式正處于初級(jí)階段,而學(xué)校做O2O模式是最好的選擇,因?yàn)樗嫦虻闹皇潜緦W(xué)校的學(xué)生,他們是主要的消費(fèi)群體,而在一個(gè)學(xué)校做宣傳也是比較簡(jiǎn)單的,并且他們外賣(mài)的派送速度是其他各大快餐網(wǎng)站不能比的。 餐飲業(yè)作為O2O市場(chǎng)比較重要的一塊,一直作為兵家必爭(zhēng)之地。外賣(mài)訂餐是餐飲O2O比較重要的一塊,也是最先比較容易想到的一塊,但是仔細(xì)去做的時(shí)候,發(fā)現(xiàn)外賣(mài)訂餐模式的水也很深,優(yōu)勢(shì)劣勢(shì)都很明顯。首先入行容易,面對(duì)的幾乎都是小商家,容易操作;其次這種累活傳統(tǒng)的互聯(lián)網(wǎng)巨頭想都不會(huì)想,避免了前期直接與巨頭競(jìng)爭(zhēng);最后外賣(mài)是最能鍛煉物流的,因?yàn)樗鼘?duì)時(shí)效性的要求最高,用戶多等了10幾分鐘就受不了。而物流是本地化成功的關(guān)鍵,因?yàn)楸镜鼗枨蟠蠖嗍峭蝗恍枨笄倚枰焖俳鉀Q。所以外賣(mài)網(wǎng)站通常要求接觸最苛刻的物流需求,建立一流的物流體系。但校園訂餐網(wǎng)站對(duì)于物流體系要求卻沒(méi)有那么高,只需餐飲服務(wù)人員校內(nèi)騎車(chē)送餐即可,因?yàn)樾@訂餐的特點(diǎn)是距離短,時(shí)效性高,這兩個(gè)最為突出的特點(diǎn)就決定了校園美食網(wǎng)站實(shí)現(xiàn)起來(lái)的更加容易。 之前看到了一個(gè)叫黃岡職業(yè)技術(shù)學(xué)院吃客網(wǎng)的網(wǎng)站,它就是基于一種電子商務(wù)O2O模式出發(fā)的高校外賣(mài)網(wǎng)。用戶訪問(wèn)吃客網(wǎng)就是想進(jìn)行網(wǎng)上訂餐,并不希望你把各式各樣我不需要的服務(wù)展示給我。當(dāng)然我如果是老顧客有充裕的時(shí)間可能回去看看黃岡職業(yè)技術(shù)學(xué)院吃客網(wǎng),可是畢竟我還是把它作為一種工具,用它的目的只是為了提供一點(diǎn)便利,你硬要為它添加那么多社交屬性,娛樂(lè)屬性,只會(huì)讓我感到厭煩。所以實(shí)用性,便捷性是這種校園美食網(wǎng)站最關(guān)心的。 現(xiàn)在說(shuō)到做一個(gè)網(wǎng)站,誰(shuí)都知道首先要做到良好的顧客體驗(yàn)。隨著互聯(lián)網(wǎng)的普與,網(wǎng)民應(yīng)用技術(shù)的提高,以與各類(lèi)網(wǎng)站百花齊放,導(dǎo)致了網(wǎng)民對(duì)服務(wù)類(lèi)網(wǎng)站越來(lái)越挑剔。有一點(diǎn)不滿意,他就轉(zhuǎn)投其他的同類(lèi)型網(wǎng)站了。那到底什么是良好的顧客體驗(yàn),很多網(wǎng)站都沒(méi)有一個(gè)概念。以為服務(wù)項(xiàng)目多,展現(xiàn)的維度廣,顯示的信息全就能帶來(lái)好的顧客體驗(yàn)?其實(shí)網(wǎng)民的見(jiàn)識(shí)已經(jīng)夠多了,反而現(xiàn)在他們想要的是簡(jiǎn)單,一切都要適可而止,多了反而會(huì)引起反感。外賣(mài)類(lèi)型網(wǎng)站尤其如此,給用戶想要的就足夠了。1.3.本文研究?jī)?nèi)容 本文研究?jī)?nèi)容如何將現(xiàn)實(shí)的需求通過(guò)軟件工程的思想來(lái)加以解決。根據(jù)我校餐飲的特點(diǎn),針對(duì)性的設(shè)計(jì)一個(gè)餐飲美食網(wǎng)站。以此來(lái)方便師生就餐,并將所學(xué)知識(shí)與技術(shù)運(yùn)用到實(shí)際生活當(dāng)中,提高分析解決問(wèn)題的能力。本文會(huì)依照軟件工程的思想來(lái)進(jìn)行系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),以求達(dá)到系統(tǒng)的健壯性與可擴(kuò)展性。2相關(guān)技術(shù)介紹2.1.JSP技術(shù)2.1.1JSP技術(shù)介紹 JSP:(JavaServerPages)是一種跨平臺(tái)的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),在靜態(tài)頁(yè)面中嵌入Java代碼片段,再由Web服務(wù)器中的JSP引擎來(lái)進(jìn)行編譯并執(zhí)行嵌入的Java代碼片段,生成的頁(yè)面信息返回給客戶端[2]。JSP技術(shù)開(kāi)發(fā)Web程序,就是在JSP頁(yè)面中寫(xiě)入Java代碼,當(dāng)服務(wù)器運(yùn)行JSP頁(yè)面時(shí),執(zhí)行Java代碼,動(dòng)態(tài)獲取數(shù)據(jù),并生成HTML代碼,最終出現(xiàn)在客戶端瀏覽器上,如圖: 圖2.1JSP運(yùn)行機(jī)制圖 JSP技術(shù)優(yōu)點(diǎn)很多,包括將HTML編碼從web頁(yè)面的業(yè)務(wù)邏輯中有效地分離出來(lái);訪問(wèn)可重用的組件,如Servlet,JavaBean和基于JAVA的應(yīng)用程序;支持直接在web頁(yè)面中直接嵌入JAVA代碼;系統(tǒng)的多平臺(tái)支持,基本上可以在所有平臺(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展;相比ASP/PHP的局限性是顯而易見(jiàn)的;強(qiáng)大的可伸縮性,從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力;多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持,這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。2.1.2JSP與ASP的比較 ASP是微軟推出的一種服務(wù)器腳本編寫(xiě)環(huán)境,可以用來(lái)創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁(yè)或Web應(yīng)用程序。ASP(ActiveServerPages)技術(shù)主要在微軟(Microsoft)公司的Windows平臺(tái)上運(yùn)行,其中包括Windows2000、WindowsXP和Windows2007/2008,并且搭配其WEB服務(wù)器IIS(InternetInformationServices)。但是,在其他的平臺(tái)運(yùn)行時(shí),不是性能低落,就是根本不支持,因此,當(dāng)在開(kāi)發(fā)網(wǎng)站系統(tǒng)時(shí),選擇NT+IIS+ASP的體系結(jié)構(gòu)時(shí),未來(lái)當(dāng)系統(tǒng)無(wú)法負(fù)荷時(shí),也只能繼續(xù)選擇Windows平臺(tái)的服務(wù)器,無(wú)法改寫(xiě)在性能表現(xiàn)相當(dāng)優(yōu)異的UNIX平臺(tái)上。 JSP(JavaServerPages)技術(shù)主要運(yùn)行在操作系統(tǒng)上的一個(gè)JavaVirtualMachine(JVM)虛擬機(jī)器上。因此,它能夠跨所有的平臺(tái),例如:NT、Windows、Solaris、Linux、OS/390、AIX、HP-UX,等等,除了能在各式各樣的操作系統(tǒng)上執(zhí)行,并且能搭配現(xiàn)有的WEB服務(wù)器:Apache、IIS、NetscapeEnterpriseServer等等,將靜態(tài)的HTML網(wǎng)頁(yè)交由執(zhí)行速度較快的WebServer處理,而動(dòng)態(tài)產(chǎn)生網(wǎng)頁(yè)的部分,就交由JSPContainer來(lái)執(zhí)行。由上述可知,JSP(JavaServerPages)技術(shù)在跨平臺(tái)的表現(xiàn)比ASP來(lái)得更有彈性。 WEB網(wǎng)頁(yè)程序員未來(lái)在開(kāi)發(fā)電子商務(wù)平臺(tái)時(shí),就不需要再考慮客戶廠商的操作系統(tǒng)平臺(tái),可更專(zhuān)心于系統(tǒng)功能的開(kāi)發(fā)。相應(yīng)地,廠商在使用JavaServerPages技術(shù)開(kāi)發(fā)的系統(tǒng)平臺(tái)時(shí),不再需要擔(dān)心未來(lái)在擴(kuò)充軟、硬件時(shí),是否產(chǎn)生不兼容的問(wèn)題。光這一點(diǎn),就能為企業(yè)省下一大筆的費(fèi)用,這是JSP相較于ASP的主要優(yōu)點(diǎn)。語(yǔ)法結(jié)構(gòu)ASP語(yǔ)法結(jié)構(gòu)上,是以"<%"和"%>"作為標(biāo)記符號(hào),而JSP也是使用相同標(biāo)記符號(hào)作為程序的區(qū)段范圍的。但不同的是,標(biāo)記符號(hào)之間所使用的語(yǔ)言:ASP為JavaScript或VBScript;而JSP為Java。Java是有嚴(yán)格規(guī)劃、強(qiáng)大且易擴(kuò)充的語(yǔ)言,遠(yuǎn)優(yōu)于VBScript語(yǔ)言。2.2Apache服務(wù)器 Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)源的Web應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被開(kāi)發(fā)人員廣泛使用,是開(kāi)發(fā)和調(diào)試JSP應(yīng)用程序的首選。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上,由于其跨平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過(guò)簡(jiǎn)單的API擴(kuò)充,將Perl/Python等解釋器編譯到服務(wù)器中。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。之所以選擇Apache作為Web應(yīng)用的服務(wù)器是因?yàn)樗鼡碛幸韵绿匦訹3]:1.擁有簡(jiǎn)單而強(qiáng)有力的基于文件的配置過(guò)程2.支持基于IP和基于域名的虛擬主機(jī)3.支持最新的HTTP/1.1通信協(xié)議4.集成代理服務(wù)器模塊2.3SQLSERVER數(shù)據(jù)庫(kù) 系統(tǒng)數(shù)據(jù)庫(kù)采用SQLServer2008,SQLServer2008在Microsoft的數(shù)據(jù)平臺(tái)上發(fā)布,可以組織管理任何數(shù)據(jù)??梢詫⒔Y(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲(chǔ)到數(shù)據(jù)庫(kù)中??梢詫?duì)數(shù)據(jù)進(jìn)行查詢(xún)、搜索、同步、報(bào)告和分析之類(lèi)的操作。數(shù)據(jù)可以存儲(chǔ)在各種設(shè)備上,從數(shù)據(jù)中心最大的服務(wù)器一直到桌面計(jì)算機(jī)和移動(dòng)設(shè)備,它都可以控制數(shù)據(jù)而不用管數(shù)據(jù)存儲(chǔ)在哪里。SQLServer2008平臺(tái)有以下特點(diǎn):可信任的——可以以很高的安全性、可靠性和可擴(kuò)展性來(lái)運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。高效的——可以降低開(kāi)發(fā)和管理數(shù)據(jù)基礎(chǔ)設(shè)施的時(shí)間和成本。智能的——提供了一個(gè)全面的平臺(tái),可以在你的用戶需要的時(shí)候給他發(fā)送觀察和信息。2.4MVC三層框架 系統(tǒng)采用MVC三層開(kāi)發(fā)模式:MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開(kāi)。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。三層之間的關(guān)系如圖所示[4]:圖2.2MVC三層模式關(guān)系圖視圖:

本系統(tǒng)的視圖層由JSP頁(yè)面來(lái)充當(dāng),視圖是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來(lái)說(shuō),視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括MacromediaFlash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語(yǔ)言和Webservices.。

如何處理應(yīng)用程序的界面變得越來(lái)越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒(méi)有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。

模型:

模型層采用JAVA語(yǔ)言編寫(xiě)的可重用模型程序以與數(shù)據(jù)訪問(wèn)程序來(lái)實(shí)現(xiàn),模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusionComponents這樣的構(gòu)件對(duì)象來(lái)處理數(shù)據(jù)庫(kù)。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫(xiě)一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性??刂破?

系統(tǒng)的控制層由Servlet程序?qū)崿F(xiàn),Servlet負(fù)責(zé)接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁(yè)面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后再確定用哪個(gè)視圖來(lái)顯示返回的數(shù)據(jù)。2.5B/S開(kāi)發(fā)模式2.5.1B/S開(kāi)發(fā)模式簡(jiǎn)介 B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā)、維護(hù)和使用??蛻魴C(jī)上只要安裝一個(gè)瀏覽器,如NetscapeNavigator或InternetExplorer,服務(wù)器安裝SQLServer、Oracle、MYSQL等數(shù)據(jù)庫(kù)。瀏覽器通過(guò)WebServer同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互[5]。 由于Client/Server結(jié)構(gòu)存在的種種問(wèn)題,因此人們又在它原有的基礎(chǔ)上提出了一種具有三層模式(3-Tier)的應(yīng)用系統(tǒng)結(jié)構(gòu)瀏覽器/服務(wù)器(Browser/Server)結(jié)構(gòu)。Browser/Server結(jié)構(gòu)是伴隨著因特網(wǎng)的興起,對(duì)Client/Server結(jié)構(gòu)的一種改進(jìn)。從本質(zhì)上說(shuō),Browser/Server結(jié)構(gòu)也是一種Client/Server結(jié)構(gòu),它可看作是一種由傳統(tǒng)的二層模式Client/Server結(jié)構(gòu)發(fā)展而來(lái)的三層模式Client/Server結(jié)構(gòu)在Web上應(yīng)用的特例。 Browser/Server結(jié)構(gòu)主要是利用了不斷成熟的Web瀏覽器技術(shù):結(jié)合瀏覽器的多種腳本語(yǔ)言和ActiveX技術(shù),用通用瀏覽器實(shí)現(xiàn)原來(lái)需要復(fù)雜專(zhuān)用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,同時(shí)節(jié)約了開(kāi)發(fā)成本。 B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專(zhuān)門(mén)的軟件,只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零安裝、零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。B/S結(jié)構(gòu)的使用越來(lái)越多,特別是由需求推動(dòng)了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進(jìn)行部分處理,從而大大的減輕了服務(wù)器的負(fù)擔(dān);并增加了交互性,能進(jìn)行局部實(shí)時(shí)刷新。2.5.2B/S與C/S的比較 C/S即大家熟知的客戶端和服務(wù)器結(jié)構(gòu)??蛻舳诵枰惭b專(zhuān)用的客戶端軟件。首先涉與到安裝的工作量,其次任何一臺(tái)電腦出問(wèn)題,如病毒、硬件損壞,都需要進(jìn)行安裝或維護(hù)。 B/S最大的優(yōu)點(diǎn)是客戶端不用維護(hù),適用于用戶群龐大,或客戶需求經(jīng)常發(fā)生變化的情況,可以在任何地方進(jìn)行操作而不用安裝任何專(zhuān)門(mén)的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。B/S架構(gòu)的軟件對(duì)一個(gè)稍微大一點(diǎn)單位來(lái)說(shuō),系統(tǒng)管理人員不需要在幾百甚至上千部電腦之間來(lái)回奔跑,只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無(wú)論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專(zhuān)網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶機(jī)越來(lái)越“瘦”,而服務(wù)器越來(lái)越“胖”是將來(lái)信息化發(fā)展的主流方向。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無(wú)法作到的.與操作系統(tǒng)平臺(tái)關(guān)系最小。B/S架構(gòu)的軟件系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),系統(tǒng)管理員分配一個(gè)用戶名和密碼,還可以在線申請(qǐng)等。2.6Ajax技術(shù) Ajax的全稱(chēng)是:AsynchronousJavaScript+XML。AJAX是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù)。通過(guò)在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個(gè)網(wǎng)頁(yè)的情況下,對(duì)網(wǎng)頁(yè)的某部分進(jìn)行更新。傳統(tǒng)的網(wǎng)頁(yè)(不使用AJAX)如果需要更新內(nèi)容,必須重載整個(gè)網(wǎng)頁(yè)頁(yè)面。Ajax的核心是JavaScript對(duì)象XmlHttpRequest。該對(duì)象在InternetExplorer5中首次引入,它是一種支持異步請(qǐng)求的技術(shù)。簡(jiǎn)而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請(qǐng)求并處理響應(yīng),而不阻塞用戶。3.系統(tǒng)需求分析3.1.需求分析簡(jiǎn)述 需求分析是任何一個(gè)軟件系統(tǒng)開(kāi)發(fā)過(guò)程當(dāng)中比較重要的一項(xiàng)工作指標(biāo)。美食網(wǎng)站系統(tǒng)軟件需求分析工作中的質(zhì)量的好壞和結(jié)果的認(rèn)定將直接影響深知決定系統(tǒng)開(kāi)發(fā)工作的成功與否,如果后期系統(tǒng)的開(kāi)發(fā)工作是建立在一系列錯(cuò)誤的前期需求基礎(chǔ)上,那么無(wú)論這個(gè)程序代碼和編寫(xiě)的質(zhì)量多么完美,系統(tǒng)都將是不會(huì)成功的。然而,對(duì)于一個(gè)比較大型的軟件系統(tǒng)開(kāi)發(fā)來(lái)說(shuō),需求分析工作的確是難上加難,以至于許多項(xiàng)目的失敗都源于此。校園美食網(wǎng)站系統(tǒng)實(shí)現(xiàn)的是利用計(jì)算機(jī)系統(tǒng)支持校園美食餐廳的網(wǎng)上宣傳以與訂餐業(yè)務(wù),以達(dá)到方便師生就餐的需求。 校園美食網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)包括以下幾個(gè)方面的需求:功能性:提供良好的可靠的交互界面,且具有完善的文檔支持。實(shí)用性:實(shí)現(xiàn)軟件基本業(yè)務(wù)要求,且具有完善的安全特性??煽啃裕禾峁┛煽康叵到y(tǒng)錯(cuò)誤處理能力,減少系統(tǒng)異常??芍С中裕禾峁┛煽康叵到y(tǒng)錯(cuò)誤處理能力,減少系統(tǒng)異常。3.2系統(tǒng)需求分析詳述3.2.1校園美食網(wǎng)站需求目標(biāo) 校園美食網(wǎng)站要求根據(jù)本校校園餐飲的實(shí)際特點(diǎn)進(jìn)行設(shè)計(jì),本校校園餐廳分布分散,就餐時(shí)間人流量較大,師生就餐時(shí)間集中,排隊(duì)就餐時(shí)間較久,這就給課程時(shí)間緊張的師生帶來(lái)許多不便。因此,根據(jù)本校餐飲的特點(diǎn)設(shè)計(jì)并實(shí)現(xiàn)一個(gè)網(wǎng)上訂餐系統(tǒng)就顯得十分必要。再設(shè)計(jì)系統(tǒng)時(shí)本著實(shí)用性,對(duì)系統(tǒng)的功能設(shè)計(jì)應(yīng)當(dāng)盡量考慮周全,我們可以按照用戶級(jí)別,不同的用戶擁有不同的操作權(quán)限,實(shí)現(xiàn)不同的功能。 具體包括以下功能:1.用戶管理系統(tǒng)分為三種用戶權(quán)限。分別是網(wǎng)站管理員,店鋪店主用戶,普通注冊(cè)用戶,不同用戶擁有不同的操作權(quán)。普通用戶可以對(duì)個(gè)人中心進(jìn)行管理,修改個(gè)人信息;店主除具有普通用戶功能之外,還可以對(duì)個(gè)人所開(kāi)店鋪進(jìn)行管理;網(wǎng)站管理員擁有最高權(quán)限,進(jìn)行系統(tǒng)數(shù)據(jù)的維護(hù)。數(shù)據(jù)流圖如圖3.1所示:圖3.1用戶管理的數(shù)據(jù)流圖2.用戶訂餐網(wǎng)站注冊(cè)用戶可以進(jìn)行菜品查詢(xún),可以對(duì)合自己胃口的菜品進(jìn)行網(wǎng)上訂餐。但是不支持網(wǎng)上支付功能,用戶將訂單提交以后,店主會(huì)受到一個(gè)訂單反饋,店主用戶對(duì)訂單進(jìn)行處理,并選擇接受該訂單或者拒絕該訂單。如果店主接受訂單,店主就會(huì)與時(shí)將菜品送達(dá)。如果該菜品已售罄或者是其他原因店主則可以選擇拒絕該訂單,用戶同樣會(huì)有一個(gè)訂單被拒絕的反饋。數(shù)據(jù)流圖如圖3.2所示:圖3.2用戶訂餐數(shù)據(jù)流圖3.菜品評(píng)論與收藏用戶可以對(duì)自己購(gòu)買(mǎi)的菜品發(fā)表評(píng)論以與自己滿意的菜品進(jìn)行收藏,收藏的菜品會(huì)顯示在自己的收藏夾中,用戶可以對(duì)收藏夾中的菜品進(jìn)行管理。數(shù)據(jù)流圖如圖3.3所示:圖3.3菜品評(píng)論與收藏4.店鋪管理注冊(cè)為店主權(quán)限的用戶可以增開(kāi)店鋪,并對(duì)店鋪中的信息進(jìn)行管理,增加菜品,刪除菜品信息,修改菜品信息等,以與發(fā)布一些店鋪的公告信息等。數(shù)據(jù)流圖如圖3.4所示:圖3.4店鋪管理數(shù)據(jù)流圖5.銷(xiāo)售信息統(tǒng)計(jì)店主用戶可以對(duì)本店鋪某個(gè)時(shí)間區(qū)間內(nèi)的銷(xiāo)售情況進(jìn)行統(tǒng)計(jì)。數(shù)據(jù)流圖如圖3.5所示:圖3.5店鋪銷(xiāo)售信息統(tǒng)計(jì)3.3系統(tǒng)安全需求分析 由于系統(tǒng)存在很多個(gè)人的數(shù)據(jù)以與個(gè)人店鋪數(shù)據(jù),需要對(duì)其進(jìn)行妥善管理,所以系統(tǒng)對(duì)用戶的操作權(quán)限進(jìn)行了劃分和控制。系統(tǒng)根據(jù)業(yè)務(wù)不同,在操作權(quán)限上分了管理員,店主以與普通注冊(cè)用戶三種用戶權(quán)限,不同的角色擁有不同的的操作權(quán)限,以確保數(shù)據(jù)的安全和操作的規(guī)范。除此之外,用戶的登陸驗(yàn)證也是必不可少。在實(shí)際操作中數(shù)據(jù)庫(kù)的備份,處理斷電等各種情況也是應(yīng)該考慮的,但由于時(shí)間的原因,系統(tǒng)在這里并沒(méi)有實(shí)現(xiàn)這一部分的內(nèi)容。3.4系統(tǒng)數(shù)據(jù)庫(kù)需求分析 在需求分析階段應(yīng)該建立起數(shù)據(jù)庫(kù)的關(guān)系模型,各個(gè)實(shí)體之間的關(guān)系應(yīng)該銜接完整,這樣才能保證所建立起來(lái)的數(shù)據(jù)庫(kù)的健壯性與完備性。圖3.6用戶表E-R圖圖3.7店鋪表E-R圖圖3.8訂單表E-R圖4總體設(shè)計(jì) 本系統(tǒng)是基于javaWeb的B/S模式的MVC三層架構(gòu)。采用以數(shù)據(jù)庫(kù)作為后臺(tái),以數(shù)據(jù)處理與分析程序作為中間層,以瀏覽器為前端的三層結(jié)構(gòu)開(kāi)發(fā)模式。由用戶界面層,業(yè)務(wù)邏輯層以與數(shù)據(jù)處理層組成。在JSP和SQLServer2008平臺(tái)下進(jìn)行開(kāi)發(fā)。采用Web技術(shù)開(kāi)發(fā)前端交互界面,這大大提高了系統(tǒng)的使用的便捷性;由于系統(tǒng)對(duì)客戶端機(jī)器硬件要求不高,用戶可保留原有的軟硬件投資。在具體實(shí)施時(shí),充分利用JSP以與相關(guān)的Web開(kāi)發(fā)技術(shù),使開(kāi)發(fā)出的Web應(yīng)用的可靠性,擴(kuò)展性以與功能性上有了很大的提高,使最終的結(jié)構(gòu)不僅僅是簡(jiǎn)單的網(wǎng)頁(yè),而是可以在其之上構(gòu)筑完整的應(yīng)用。4.1系統(tǒng)開(kāi)發(fā)的結(jié)構(gòu)設(shè)計(jì)圖 系統(tǒng)開(kāi)發(fā)首先進(jìn)行需求分析,系統(tǒng)的需求分析就是根據(jù)身邊的師生在學(xué)校就餐時(shí)的特點(diǎn)進(jìn)行的。需求分析的成果——需求分析文檔,作為系統(tǒng)總體分析設(shè)計(jì)的一個(gè)重要的依據(jù)來(lái)進(jìn)行系統(tǒng)分析。系統(tǒng)分析的包含較多內(nèi)容,包括總體框架的設(shè)計(jì),系統(tǒng)功能模塊的設(shè)計(jì)與劃分以與數(shù)據(jù)庫(kù)的設(shè)計(jì)等。 根據(jù)MVC三層開(kāi)發(fā)的設(shè)計(jì)模式,系統(tǒng)每個(gè)功能對(duì)應(yīng)若干瀏覽器前端頁(yè)面。根據(jù)其要實(shí)現(xiàn)的功能,來(lái)確定該功能的業(yè)務(wù)處理流程,并利用數(shù)據(jù)訪問(wèn)層提供的接口實(shí)現(xiàn)對(duì)后臺(tái)數(shù)據(jù)庫(kù)的訪問(wèn)。前端與后臺(tái)的交互則需要Web服務(wù)器這個(gè)橋梁來(lái)進(jìn)行溝通,對(duì)數(shù)據(jù)庫(kù)后臺(tái)訪問(wèn)后同樣由Web服務(wù)器端程序?qū)⒎答佇畔l(fā)送到瀏覽器端。 系統(tǒng)開(kāi)發(fā)結(jié)構(gòu)設(shè)計(jì)如下圖所示:圖4.1系統(tǒng)開(kāi)發(fā)結(jié)構(gòu)設(shè)計(jì)圖4.2系統(tǒng)功能模塊結(jié)構(gòu)設(shè)計(jì)圖4.2系統(tǒng)功能模塊圖4.3系統(tǒng)數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 本系統(tǒng)采用MVC架構(gòu)開(kāi)發(fā),數(shù)據(jù)訪問(wèn)層的設(shè)計(jì)直接影響系統(tǒng)邏輯層訪問(wèn)數(shù)據(jù)訪問(wèn)層的擴(kuò)展性和維護(hù)的難易程度。為了實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的支持,數(shù)據(jù)庫(kù)的訪問(wèn)采用設(shè)計(jì)模式中的抽象工廠模式對(duì)數(shù)據(jù)訪問(wèn)層進(jìn)行封裝。抽象工廠模式可以為業(yè)務(wù)邏輯層提供統(tǒng)一訪問(wèn)的接口。這樣業(yè)務(wù)邏輯層訪問(wèn)數(shù)據(jù)訪問(wèn)層時(shí)只需調(diào)用這個(gè)接口就可以了,這樣就使得上層代碼更加穩(wěn)定。 因?yàn)楸鞠到y(tǒng)涉與很多數(shù)據(jù)信息的添加,修改,刪除等操作,所以把對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)提升為抽象工廠類(lèi)。抽象工廠類(lèi)向外界提供對(duì)數(shù)據(jù)訪問(wèn)層的接口來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一訪問(wèn)。4.3.1數(shù)據(jù)表設(shè)計(jì)數(shù)據(jù)表的詳細(xì)信息構(gòu)成如以下表所述:序號(hào)列名數(shù)據(jù)類(lèi)型可否為空備注1用戶名Varchar(20)否主鍵2密碼Varchar(20)否3姓名Varchar(20)是4性別Varchar(20)是5權(quán)限Int否外鍵6郵箱Varchar(50)是7電話Varchar(20)是表4.1用戶表序號(hào)列名數(shù)據(jù)類(lèi)型可否為空備注1菜品號(hào)Bigint否主鍵2所屬店鋪Varchar(50)否外鍵3菜品名Varchar(50)否4價(jià)格Float否5評(píng)分Int否6菜品描述Varchar(50)是7風(fēng)味Varchar(50)是8菜品圖片Varchar(500)否表4.2菜品表序號(hào)列名數(shù)據(jù)類(lèi)型可否為空備注1評(píng)論編號(hào)Int否主鍵2菜品編號(hào)Varchar(20)否外鍵3菜品評(píng)論Varchar(1000)否4用戶名Varchar(20)否外鍵5日期Datetime否表4.3菜品評(píng)論表序號(hào)列名數(shù)據(jù)類(lèi)型可否為空備注1店鋪號(hào)Int否主鍵2店鋪名Varchar(50)否3用戶名Varchar(20)否外鍵4評(píng)分Int否5位置Varchar(50)否6店鋪描述Varchar(1000)是7店鋪圖片Varchar(50)是表4.4店鋪表序號(hào)列名數(shù)據(jù)類(lèi)型可否為空備注1訂單號(hào)Varchar(50)否主鍵2店鋪號(hào)Varchar(50)否外鍵3菜品號(hào)Varchar(50)否外鍵4菜品數(shù)量Varchar(50)否5總價(jià)Float否6收件人Varchar(50)否7用戶名Varchar(50)否8訂餐時(shí)間Datetime否9留言Varchar(200)是10送餐地點(diǎn)Varchar(50)否11聯(lián)系電話Varchar(50)否12訂單處理標(biāo)識(shí)Int否13流水號(hào)Int否14菜品名Varchar(50)是表4.5訂單表序號(hào)列名數(shù)據(jù)類(lèi)型可否為空備注1用戶名Varchar(20)否主鍵2店鋪名Varchar(50)是3菜品名Varchar(50)是4店鋪號(hào)Int否外鍵5菜品號(hào)Varchar(50)否外鍵6圖片Varchar(50)否表4.6收藏夾表序號(hào)列名數(shù)據(jù)類(lèi)型可否為空備注1文章編號(hào)Int否主鍵2用戶名Varchar(20)否外鍵3文章名Varchar(50)否4文章內(nèi)容Varchar(80)否5文章類(lèi)別Varchar(50)是6發(fā)表時(shí)間Date否表4.7文章表序號(hào)列名數(shù)據(jù)類(lèi)型可否為空備注1權(quán)限編號(hào)Int否主鍵2權(quán)限名Varchar(20)否表4.8權(quán)限對(duì)照表序號(hào)列名數(shù)據(jù)類(lèi)型可否為空備注1食堂編號(hào)Int否主鍵2食堂名Varchar(20)否表4.9食堂表5詳細(xì)設(shè)計(jì) 5.1業(yè)務(wù)邏輯層的詳細(xì)設(shè)計(jì) 類(lèi)模型,是描述系統(tǒng)內(nèi)部對(duì)象的特征,對(duì)象之間的相互關(guān)系以與對(duì)象所屬的類(lèi)的屬性和操作,捕獲系統(tǒng)的靜態(tài)特征的一種直觀方式[6]。 本系統(tǒng)是基于三層架構(gòu)開(kāi)發(fā)的美食網(wǎng)站,因此,每一層可以看作獨(dú)立的類(lèi),對(duì)每一層進(jìn)行抽象可以提取出基類(lèi),如邏輯層的Interface接口類(lèi),用戶類(lèi)等等,然后按照需要實(shí)現(xiàn)的關(guān)系來(lái)組合成有連接的關(guān)聯(lián)類(lèi)模型。5.1.1用戶登陸模塊的詳細(xì)設(shè)計(jì) 用戶登陸實(shí)質(zhì)上是對(duì)用戶的一種檢索。當(dāng)然這種檢索的條件就是用戶名和密碼。該系統(tǒng)的核心功能,如訂餐,個(gè)人中心等功能都是在用戶登陸前提下才能正常運(yùn)行,所以這個(gè)功能在整個(gè)系統(tǒng)起著一個(gè)基礎(chǔ)性的作用。 系統(tǒng)用戶登陸模塊中,關(guān)系到三層結(jié)構(gòu)的相互合作,整個(gè)流程自上而下也讓數(shù)據(jù)從界面到邏輯,從邏輯到數(shù)據(jù),然后數(shù)據(jù)返回,整個(gè)模塊的詳細(xì)設(shè)計(jì)如圖5.1所示:圖5.1登陸模塊的數(shù)據(jù)流圖5.1.2用戶訂餐模塊的詳細(xì)設(shè)計(jì) 本網(wǎng)站開(kāi)發(fā)的初衷是為了方便用戶就餐,減少師生的再就餐高峰時(shí)段的就餐壓力,節(jié)約師生時(shí)間。那么用戶訂餐模塊的設(shè)計(jì)也就成了本系統(tǒng)的核心模塊。用戶登陸后首先可以瀏覽各種菜品,各個(gè)店鋪的菜品,對(duì)于自己滿意的菜品,用戶可以選擇訂餐,該菜品的數(shù)據(jù)信息即被發(fā)送到服務(wù)器端。在服務(wù)器端,由業(yè)務(wù)邏輯層對(duì)菜品信息進(jìn)行處理,將用戶所選擇的菜品信息添加到,用戶的購(gòu)物車(chē)中。用戶的購(gòu)物車(chē)其實(shí)是一個(gè)List對(duì)象,該對(duì)象被保存在session對(duì)象中,用戶繼續(xù)選擇購(gòu)物時(shí),會(huì)繼續(xù)向該List對(duì)象中添加菜品元素。對(duì)于購(gòu)物車(chē)中想要?jiǎng)h除的菜品,用戶可以對(duì)其進(jìn)行選擇性刪除,。用戶選購(gòu)?fù)戤吅?,點(diǎn)擊生成訂單,就可以填寫(xiě)相應(yīng)的訂單信息,方便店家送餐。訂單信息填寫(xiě)完畢后,點(diǎn)擊提交,數(shù)據(jù)傳送到服務(wù)器端,由業(yè)務(wù)邏輯層負(fù)責(zé)將訂單信息與數(shù)據(jù)訪問(wèn)層進(jìn)行交互。用戶訂餐模塊的入局流圖如圖5.2所示:圖5.2用戶訂餐的流程圖5.1.3個(gè)人中心管理模塊的詳細(xì)設(shè)計(jì) 這里的用戶個(gè)人中心管理主要是用戶個(gè)人信息的修改以與個(gè)人菜品收藏夾的管理。修改密碼用戶輸入舊密碼和新密碼,首先進(jìn)行密碼格式的驗(yàn)證,如果密碼格式出錯(cuò),會(huì)有相應(yīng)的格式錯(cuò)誤提示。然后將密碼信息提交到服務(wù)器,進(jìn)行舊密碼的驗(yàn)證,若果舊密碼輸入錯(cuò)誤,則不予進(jìn)行密碼的修改并返回舊密碼輸入錯(cuò)誤的提示,若舊密碼輸入正確,則將密碼進(jìn)行修改。由業(yè)務(wù)邏輯層將調(diào)用數(shù)據(jù)訪問(wèn)層將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)。收藏夾管理用戶對(duì)于自己滿意的菜品可以選擇加入收藏,用戶點(diǎn)擊收藏后,會(huì)將相應(yīng)的菜品信息傳送到服務(wù)器,由業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)訪問(wèn)層將菜品數(shù)據(jù)寫(xiě)入到收藏表中。同時(shí)用戶可以對(duì)自己收藏菜品的菜品選擇性的刪除,業(yè)務(wù)處理流程與添加收藏類(lèi)似。對(duì)于普通用戶的個(gè)人中心主要是修改密碼以與個(gè)人收藏的管理。其流程圖如圖5.3所示:圖5.3個(gè)人中心管理流程圖5.1.3店鋪管理模塊詳細(xì)設(shè)計(jì) 店鋪管理主要包括增開(kāi)店鋪,店鋪菜品管理,以與店鋪的訂單的處理等。店主用戶增開(kāi)店鋪時(shí),將店鋪信息填寫(xiě)完畢后,將店鋪信息傳道服務(wù)器端。由業(yè)務(wù)邏輯層對(duì)信息進(jìn)行獲取并封裝,之后業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)訪問(wèn)層提供的接口將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)中。同樣的店鋪菜品管理的業(yè)務(wù)處理流程與此類(lèi)似,店主選擇添加新菜品,刪除某個(gè)菜品,或者修改某個(gè)菜品,都是將相應(yīng)的菜品信息發(fā)送到服務(wù)器。由業(yè)務(wù)邏輯層進(jìn)行數(shù)據(jù)的獲取處理,并調(diào)用數(shù)據(jù)訪問(wèn)層對(duì)數(shù)據(jù)庫(kù)中的進(jìn)行相應(yīng)的處理。 對(duì)于店鋪訂單的處理,店主用戶可以查看自己的店鋪所接收的訂單情況,并對(duì)用戶的下單進(jìn)行確認(rèn)。店主確認(rèn)后,業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)訪問(wèn)層提供的接口,將數(shù)據(jù)庫(kù)中的訂單處理標(biāo)識(shí)改為1,表示該訂單已被店主確認(rèn),此時(shí)用戶就不能取消該訂單。默認(rèn)的訂單處理標(biāo)識(shí)是0,表示用戶雖然已經(jīng)下單,但該訂單尚未被店主確認(rèn),用戶仍可以取消該訂單。 店鋪管理的數(shù)據(jù)流程圖如圖5.4所示:圖5.4店鋪管理流程圖5.1.4文章管理模塊詳細(xì)設(shè)計(jì) 文章管理即是系統(tǒng)中的健康達(dá)人,供用戶發(fā)表一些文章。普通用戶可以發(fā)表一些新的文章,有多個(gè)文章類(lèi)別供用戶選擇。用戶完成文章編輯后,點(diǎn)擊發(fā)表,文章內(nèi)容被傳送至服務(wù)器。由業(yè)務(wù)邏輯層負(fù)責(zé)將視圖層傳送過(guò)來(lái)的文章信息獲取,并進(jìn)行相應(yīng)的處理后,調(diào)用數(shù)據(jù)訪問(wèn)層提供的接口,實(shí)現(xiàn)數(shù)據(jù)的持久化。同時(shí)用戶還以瀏覽其他用戶發(fā)表的文章。管理員用戶能夠刪除系統(tǒng)中的文章。 文章管理模塊的數(shù)據(jù)流圖如圖5.5所示:圖5.5文章管理流程圖5.1.5異步請(qǐng)求處理機(jī)制 系統(tǒng)在進(jìn)行請(qǐng)求處理時(shí)有時(shí)并不希望將整個(gè)網(wǎng)頁(yè)都進(jìn)行刷新。例如,用戶在進(jìn)行菜品點(diǎn)贊或者發(fā)表評(píng)論時(shí),我們都希望只有網(wǎng)頁(yè)中部分內(nèi)容有一個(gè)反饋,而不是整個(gè)網(wǎng)頁(yè)都刷新。這樣的用戶體驗(yàn)會(huì)更好,這就是我們通常所說(shuō)的異步請(qǐng)求。Ajax技術(shù)就是處理異步請(qǐng)求的一種技術(shù)。Ajax的核心對(duì)象是HTTPRequest對(duì)象。它可以提供不重新加載頁(yè)面的情況下更新網(wǎng)頁(yè),在頁(yè)面加載后在客戶端向服務(wù)器請(qǐng)求數(shù)據(jù),在頁(yè)面加載后在服務(wù)器端接受數(shù)據(jù),在后臺(tái)向客戶端發(fā)送數(shù)據(jù)。XMLHttpRequest對(duì)象提供了對(duì)HTTP協(xié)議的完全的訪問(wèn),包括做出POST和HEAD請(qǐng)求以與普通的GET請(qǐng)求的能力[7]。XMLHttpRequest可以同步或異步返回Web服務(wù)器的響應(yīng),并且能以文本或者一個(gè)DOM文檔形式返回內(nèi)容。盡管名為XMLHttpRequest,它并不限于和XML文檔一起使用:它可以接收任何形式的文本文檔。XMLHttpRequest對(duì)象是名為AJAX的Web應(yīng)用程序架構(gòu)的一項(xiàng)關(guān)鍵功能。 本系統(tǒng)在許多地方都采用了Ajax來(lái)處理異步請(qǐng)求。1.菜品點(diǎn)贊用戶點(diǎn)贊時(shí),采用Ajax來(lái)處理請(qǐng)求,并給瀏覽器反饋信息。2.菜品評(píng)論用戶對(duì)菜品評(píng)論時(shí),采用了Ajax技術(shù)。3.菜品收藏用戶點(diǎn)擊收藏菜品時(shí),采用了Ajax技術(shù)。5.2數(shù)據(jù)訪問(wèn)層 異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)是由多個(gè)異構(gòu)的成員數(shù)據(jù)庫(kù)系統(tǒng)組成的數(shù)據(jù)庫(kù)系統(tǒng),異構(gòu)性體現(xiàn)為各個(gè)成員數(shù)據(jù)庫(kù)之間在硬件平臺(tái)、操作系統(tǒng)或數(shù)據(jù)庫(kù)管理系統(tǒng)等方面的不同。Internet上大量信息通過(guò)數(shù)據(jù)庫(kù)系統(tǒng)可以得到有效的管理。由于歷史等原因,Internet上的數(shù)據(jù)庫(kù)系統(tǒng)不少是異構(gòu)的。為了在Internet環(huán)境下,基于異種系統(tǒng)平臺(tái)實(shí)現(xiàn)對(duì)異構(gòu)數(shù)據(jù)庫(kù)的查詢(xún)和聯(lián)合使用,必須提供一個(gè)獨(dú)立于特定的數(shù)據(jù)庫(kù)管理系統(tǒng)的統(tǒng)一編程界面。目前許多數(shù)據(jù)庫(kù)系統(tǒng)均支持SQL,對(duì)于由SQL數(shù)據(jù)庫(kù)組成的異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng),JDBC和ODBC為訪問(wèn)其異構(gòu)成員提供了統(tǒng)一的方式,也為各異構(gòu)成員之間的協(xié)作和多個(gè)成員之上的操作打下了基礎(chǔ)[8]。本系統(tǒng)采用JDBC技術(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的訪問(wèn)。6系統(tǒng)實(shí)現(xiàn)6.1網(wǎng)站首頁(yè)實(shí)現(xiàn)圖示 網(wǎng)站首頁(yè)首先是系統(tǒng)導(dǎo)航條,然后是一些推薦菜品的展示。推薦菜品是從系統(tǒng)中評(píng)分較高的菜品展示。采用特定的SQL查詢(xún)語(yǔ)句選擇出評(píng)分最高的菜品,并展示在系統(tǒng)主界面。系統(tǒng)主界面也提供了搜索欄,用戶可以選擇搜索內(nèi)容,對(duì)菜品,店鋪以與文章進(jìn)行搜索查看,方便用戶使用。 網(wǎng)站首頁(yè)還包含用戶登陸與注冊(cè)的功能。用戶登陸界面采用HTML中的FORM表單元素進(jìn)行輸入,對(duì)于用戶的輸入信息,在瀏覽器端首先采用腳本語(yǔ)言Javascript進(jìn)行輸入格式的驗(yàn)證,對(duì)于符合格式的輸入信息返回相應(yīng)的錯(cuò)誤提示;對(duì)于滿足輸入格式的用戶名和密碼提交到服務(wù)器進(jìn)行驗(yàn)證。同樣的,用戶注冊(cè)界面也采用HTML的FORM表單作為輸入框,不同的是表單的數(shù)目與內(nèi)容有所區(qū)別。而且表單驗(yàn)證正確后將正確的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)中。網(wǎng)站首頁(yè)實(shí)現(xiàn)的效果圖如圖6.1:圖6.1網(wǎng)站首頁(yè)6.2店鋪管理實(shí)現(xiàn)效果圖示6.2.1店鋪主頁(yè) 對(duì)于每家店鋪都有一個(gè)主界面,方便用戶訪問(wèn)本店鋪內(nèi)的內(nèi)容。店鋪首頁(yè)首先是若干推薦菜品的輪播,圖片輪播采用JS特效實(shí)現(xiàn),提升用戶體驗(yàn)。然后就是本店鋪中所有菜品的展示了。在用戶訪問(wèn)本店鋪時(shí),向服務(wù)器端發(fā)送請(qǐng)求,服務(wù)器端將本店鋪中的菜品信息從數(shù)據(jù)庫(kù)中取出,并反饋給瀏覽器,并在瀏覽器一端,獲取服務(wù)器端的反饋信息。圖6.2店鋪主頁(yè)6.2.2新開(kāi)店鋪 店主用戶只有開(kāi)設(shè)自己的店鋪后才能在網(wǎng)站上售賣(mài)菜品。開(kāi)設(shè)店鋪的頁(yè)面是由若干FORM表單構(gòu)成,用戶將表單填寫(xiě)完畢提交,服務(wù)器對(duì)數(shù)據(jù)進(jìn)行處理并寫(xiě)入數(shù)據(jù)庫(kù),店主就開(kāi)設(shè)了自己的店鋪。圖6.3增開(kāi)店鋪6.2.3店鋪管理 店主用戶新開(kāi)一家店鋪后,店主用戶可以在店鋪管理頁(yè)面對(duì)自己所開(kāi)店鋪進(jìn)行管理,可以選擇操作項(xiàng),如發(fā)布新菜品,菜品刪除,菜品信息修改,發(fā)布新的店鋪信息等。店主可以選擇不同的選項(xiàng)對(duì)店鋪信息進(jìn)行維護(hù)管理。其實(shí)現(xiàn)效果圖如圖6-4所示:圖6.4店鋪管理6.2.4店鋪訂單 店主用戶可以對(duì)本店鋪中的訂單查看,本店中所有的店鋪訂單以表格的形式展示出來(lái)。每次訂單的詳細(xì)信息都將展示出來(lái)。圖6.5店鋪訂單處理6.2.5銷(xiāo)售統(tǒng)計(jì) 店主用戶可以對(duì)店鋪的銷(xiāo)售情況統(tǒng)計(jì)。支持按日,按周,按月統(tǒng)計(jì)。選擇不同的統(tǒng)計(jì)方式,統(tǒng)計(jì)出各個(gè)時(shí)間段的銷(xiāo)售量。圖6.6店鋪銷(xiāo)售統(tǒng)計(jì)6.3用戶訂餐實(shí)現(xiàn)效果圖示 用戶點(diǎn)擊摸菜品后進(jìn)入訂餐頁(yè)面,菜品的詳細(xì)信息以與該菜品的評(píng)論信息會(huì)從服務(wù)器端反饋到瀏覽器并顯示。用戶點(diǎn)擊訂餐,并選擇訂購(gòu)數(shù)量,該菜品就會(huì)保存到該用戶的購(gòu)物車(chē)中,用戶的購(gòu)物車(chē)保存在session對(duì)象中,一次回話結(jié)束后,用戶的購(gòu)物車(chē)會(huì)清空,或者用戶提交本次訂單后購(gòu)物車(chē)中信息也會(huì)清空。當(dāng)用戶選購(gòu)?fù)瓿珊?,就可以提交訂單?.3.1菜品詳情圖6.7菜品詳情6.3.1購(gòu)物車(chē)管理圖6.8購(gòu)物車(chē)6.3.2訂單提交圖6.9訂單填寫(xiě)6.4健康達(dá)人實(shí)現(xiàn)效果圖示 健康達(dá)人是為了豐富網(wǎng)站內(nèi)容而添加的模塊,健康達(dá)人是一個(gè)文章分享的模塊,注冊(cè)用戶可以發(fā)表一些文章。在健康達(dá)人的主頁(yè)首先是文章分類(lèi),包括健康養(yǎng)生等多種類(lèi)別的文章為用戶進(jìn)行分類(lèi),用戶可以有選擇的進(jìn)行瀏覽。圖6.10健康達(dá)人6.5個(gè)人中心實(shí)現(xiàn)效果圖示 個(gè)人中心是用戶管理個(gè)人信息的部分,用戶在個(gè)人中心可以對(duì)自己收藏的菜品進(jìn)行管理,修改自己的個(gè)人信息,如果是店主用戶還可以對(duì)增開(kāi)新的店鋪。圖6.11個(gè)人中心7系統(tǒng)軟件測(cè)試 軟件質(zhì)量的重要性是毋庸置疑的,而測(cè)試則是確保軟件質(zhì)量的重要手段之一。測(cè)試就是發(fā)現(xiàn)并指出系統(tǒng)中缺陷的過(guò)程,而缺陷在軟件生命周期中的各個(gè)階段都有可能會(huì)發(fā)生。軟件測(cè)試是貫穿于軟件生命周期各個(gè)階段:系統(tǒng)構(gòu)思,需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì)以與程序?qū)嶋H編碼各個(gè)階段,軟件測(cè)試的內(nèi)容是各個(gè)階段所得到的文檔,包括系統(tǒng)構(gòu)思說(shuō)明文檔,需求說(shuō)明文檔,總體設(shè)計(jì)說(shuō)明文檔,詳細(xì)設(shè)計(jì)說(shuō)明文檔,以與源程序。軟件測(cè)試的目標(biāo)就是以最少的時(shí)間和人力,把系統(tǒng)中的各種錯(cuò)誤與缺陷從中找出。 在軟件測(cè)試中,基本的測(cè)試方法包括代碼復(fù)查,靜態(tài)測(cè)試,動(dòng)態(tài)測(cè)試,白盒測(cè)試以與黑盒測(cè)試,而白盒測(cè)試和黑盒測(cè)試是測(cè)試方法中最為常見(jiàn)的測(cè)試方法。按照軟件測(cè)試階段可以將軟件測(cè)試劃分為下幾種:單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試[9]。 由于時(shí)間和實(shí)際操作的原因,本系統(tǒng)主要采用單元測(cè)試。 7.1單元測(cè)試 單元測(cè)試是對(duì)程序設(shè)計(jì)中的最小單位——程序模塊的正確性進(jìn)行測(cè)試工作,是以詳細(xì)設(shè)計(jì)描述為指南,對(duì)重要的控制路徑進(jìn)行測(cè)試,用以發(fā)現(xiàn)錯(cuò)誤或者缺陷。單元測(cè)試的目的是發(fā)現(xiàn)并指出每個(gè)程序模塊中可能存在的錯(cuò)誤或缺陷,以與是否實(shí)現(xiàn)了詳細(xì)設(shè)計(jì)中的功能要求。 本系統(tǒng)的單元測(cè)試采用代碼復(fù)查,靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試這三種測(cè)試方法進(jìn)行。下圖7.1為系統(tǒng)單元測(cè)試流程圖。圖7.1系統(tǒng)單元測(cè)試流程圖8總結(jié) 本系統(tǒng)采用JSP技術(shù),Tomcat服務(wù)器以與SQLServer2008數(shù)據(jù)庫(kù)采用B/S模式實(shí)現(xiàn)。 在此過(guò)程中遇到了很多問(wèn)題,為此在開(kāi)發(fā)過(guò)程中我查閱了大量的資料,特別是利用互聯(lián)網(wǎng)解決了許多問(wèn)題,讓我收獲了許多。在開(kāi)發(fā)過(guò)程中也遇到了許多技術(shù)上的問(wèn)題,在導(dǎo)師和同學(xué)的幫助下也都得到解決。 除此之外,我也學(xué)到了許多在以前沒(méi)有涉與到的知識(shí): 首先,我了解了編寫(xiě)大型應(yīng)用軟件的一般步驟,獲得了許多寶貴的經(jīng)驗(yàn)。特別是這樣通過(guò)理論與實(shí)踐相結(jié)合,把書(shū)本上的內(nèi)容應(yīng)用到我們做的程序上去。怎樣使各個(gè)子模塊實(shí)現(xiàn)其詳細(xì)功能,特別是各個(gè)子模塊之間的接口,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論