




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、企業(yè)級(jí)Java應(yīng)用開發(fā)實(shí)踐報(bào)告課程代碼:課程名稱:企業(yè)級(jí)Java應(yīng)用開發(fā)課程類別:專業(yè)主干課開課學(xué)期:2014春季學(xué)期編寫單位:中國(guó)地質(zhì)大學(xué)(北京)信息工程學(xué)院項(xiàng)目負(fù)責(zé)人:王萌編 寫 人:王萌指導(dǎo)教師:薛濤提交班級(jí):提交時(shí)間:2014年6月6日目 錄1 項(xiàng)目目的和任務(wù)11.1 項(xiàng)目背景11.2 項(xiàng)目目標(biāo)與任務(wù)21.3 任務(wù)分工32 項(xiàng)目進(jìn)度安排33 系統(tǒng)需求分析43.1 定義44 系統(tǒng)設(shè)計(jì)94.1 系統(tǒng)架構(gòu)設(shè)計(jì)94.2 系統(tǒng)功能設(shè)計(jì)104.3 數(shù)據(jù)庫(kù)設(shè)計(jì)165 系統(tǒng)實(shí)現(xiàn)185.1 系統(tǒng)登陸頁面185.2 展示所有菜品頁面195.3 菜品詳情頁面205.4 查看購(gòu)物車頁面216 項(xiàng)目總結(jié)221
2、項(xiàng)目目的和任務(wù)本課程實(shí)踐的目的和意義在于通過設(shè)計(jì)與完成一個(gè)網(wǎng)上訂餐系統(tǒng),使學(xué)生比較全面地、系統(tǒng)地掌握J(rèn)2EE的基本概念和基本知識(shí),可以使用Java語言實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作,為將來從事Java及數(shù)據(jù)庫(kù)方面的研究、開發(fā)和應(yīng)用奠定堅(jiān)實(shí)的基礎(chǔ)。本項(xiàng)目來源于中國(guó)地質(zhì)大學(xué)(北京)信息工程學(xué)院企業(yè)級(jí)Java應(yīng)用開發(fā)課程實(shí)踐,開發(fā)周期為30天。本項(xiàng)目由中國(guó)地質(zhì)大學(xué)(北京)信息工程學(xué)院的王萌研發(fā),系統(tǒng)主要實(shí)現(xiàn)以下功能:驗(yàn)證用戶登錄、展示全部菜品、展示菜品詳情、將菜品加入購(gòu)物車、查看購(gòu)物車。1.1 項(xiàng)目背景 下面將從國(guó)外、國(guó)內(nèi)、發(fā)展趨勢(shì)三方面對(duì)本項(xiàng)目的項(xiàng)目背景進(jìn)行闡述。1.1.1 國(guó)外情況國(guó)外的許多知名品
3、牌,如肯德基、麥當(dāng)勞,在多年前就開始了網(wǎng)上訂餐服務(wù),并且受到了國(guó)外的許多家庭的歡迎;這些品牌的網(wǎng)上訂餐服務(wù)這幾年也在中國(guó)逐漸普及。1.1.2 國(guó)內(nèi)情況跟隨國(guó)外網(wǎng)上訂餐的熱潮,現(xiàn)在在國(guó)內(nèi)出現(xiàn)了好多網(wǎng)上訂餐系統(tǒng),比較出名而且我們?cè)谏钪薪?jīng)常用到的就要屬“餓了么”。“餓了么”這個(gè)網(wǎng)站很好地迎合了消費(fèi)者的需求:可以便捷地搜索自己身邊的美食店進(jìn)行查看,喜歡就可接直接訂餐,省去了到實(shí)體店排隊(duì)等候的時(shí)間,尤其適合很宅的大學(xué)生和工作狂人。與人方便的同時(shí),這個(gè)網(wǎng)站也有一些我感覺需要改進(jìn)的地方,比如:這個(gè)網(wǎng)站是把所有店鋪信息以表格的形式,一下子、全部顯示在用戶面前,這樣難免有些眼花繚亂,如圖1所示;而且,沒有把信
4、息相應(yīng)地進(jìn)行分頁顯示,總是要滑動(dòng)鼠標(biāo)滑輪來上下翻動(dòng),用戶體驗(yàn)感不好。綜上而述,信息量固然重要,但用戶感官體驗(yàn)也是必不可少的。圖1 “餓了么”網(wǎng)頁1.1.3 發(fā)展趨勢(shì)當(dāng)今社會(huì)的生活節(jié)奏越來越快,人們對(duì)餐飲的要求也越來越高,不僅要求色香味俱全,而且對(duì)于就餐的時(shí)間和方式也有了更高的要求,許多顧客由于工作繁忙無法抽出時(shí)間來享受美味,這樣就產(chǎn)生了快捷訂餐的要求,最快的方式莫過于利用計(jì)算機(jī)網(wǎng)絡(luò),將餐飲業(yè)和計(jì)算機(jī)網(wǎng)絡(luò)結(jié)合起來,就形成了網(wǎng)上訂餐系統(tǒng),用能力的餐飲企業(yè)對(duì)對(duì)餐品提供商提供網(wǎng)上訂餐服務(wù),不僅提高餐飲企業(yè)的服務(wù)質(zhì)量,擴(kuò)大知名度,也是為最終用戶提供方便快捷的食品服務(wù)。社會(huì)對(duì)餐飲的快捷性要求形成了對(duì)網(wǎng)上訂
5、餐的要求,該項(xiàng)目將使用JavaWeb技術(shù)的Servlet + JSP + JavaBean 實(shí)現(xiàn)快捷的開發(fā)與部署,并且可以最大限度的保證系統(tǒng)的穩(wěn)定性。1.2 項(xiàng)目目標(biāo)與任務(wù) 本系統(tǒng)的目標(biāo)是使用最簡(jiǎn)單的界面風(fēng)格,滿足人們對(duì)網(wǎng)上訂餐快捷性的要求,沒有冗余的信息,打開頁面,直接登錄,瀏覽菜品,加入購(gòu)物車,進(jìn)行結(jié)算。用最簡(jiǎn)單的步驟、最少的時(shí)間來滿足用戶對(duì)訂餐的要求,提高服務(wù)效率及顧客滿意度。針對(duì)本系統(tǒng),主要需要完成三部分:(1) 建立數(shù)據(jù)資源:在數(shù)據(jù)庫(kù)中構(gòu)建需要的數(shù)據(jù)表,建立表間聯(lián)系;(2) 對(duì)數(shù)據(jù)資源進(jìn)行訪問:利用編程語言連接數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)庫(kù)中數(shù)據(jù)的增刪改查操作;(3) 對(duì)業(yè)務(wù)邏輯進(jìn)行處理:實(shí)現(xiàn)系統(tǒng)
6、功能的后臺(tái)處理部分,包括界面間跳轉(zhuǎn)及數(shù)據(jù)信息的傳輸;(4) 具體界面實(shí)現(xiàn):編碼實(shí)現(xiàn)各頁面,包括登錄頁面、展示所有菜品頁面、菜品詳情頁面、添加菜品成功頁面、查看購(gòu)物車頁面。1.3 任務(wù)分工系統(tǒng)設(shè)計(jì)階段的任務(wù)分工如表1所示。表1 系統(tǒng)設(shè)計(jì)階段任務(wù)分工組員組內(nèi)分工王萌完成全部2 項(xiàng)目進(jìn)度安排本系統(tǒng)開發(fā)流程如表2所示。表 2 系統(tǒng)開發(fā)流程表時(shí)間工作安排具體內(nèi)容5月7日-5月10日設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)概念模型、邏輯模型、物理模型,導(dǎo)出數(shù)據(jù)庫(kù)腳本5月11日?qǐng)?zhí)行數(shù)據(jù)庫(kù)腳本在Oracle數(shù)據(jù)庫(kù)中執(zhí)行腳本5月12日-5月19日完成各部分功能實(shí)現(xiàn)增刪改查功能在MyEclipse中,配置文件,連接數(shù)據(jù)庫(kù),編寫userBe
7、an類(用戶User類和菜品Dish類),完成對(duì)用戶及菜品的增刪改查5月20日-5月23日實(shí)現(xiàn)界面跳轉(zhuǎn)功能完成用戶驗(yàn)證登錄,顯示全部菜品,顯示購(gòu)物車5月24日-5月27日實(shí)現(xiàn)分頁功能將顯示全部菜品頁面進(jìn)化為分頁顯示5月28日-5月30日實(shí)現(xiàn)購(gòu)物車功能實(shí)現(xiàn)將菜品添加進(jìn)購(gòu)物車,并計(jì)算總價(jià)的功能5月31日整體調(diào)試運(yùn)行在瀏覽器中運(yùn)行,也是整體最終測(cè)試6月1日-6月5日完成實(shí)驗(yàn)報(bào)告按照要求完成報(bào)告3 系統(tǒng)需求分析3.1 定義3.1.1 業(yè)務(wù)流程 本系統(tǒng)的業(yè)務(wù)流程大致是這樣的:用戶打開登錄頁面,填寫用戶名和密碼,系統(tǒng)進(jìn)行驗(yàn)證,驗(yàn)證不合法(即用戶信息與數(shù)據(jù)庫(kù)中信息不匹配),則系統(tǒng)要求用戶重新輸入;驗(yàn)證合法,
8、則進(jìn)入分頁顯示菜品的頁面。在分頁顯示菜品的頁面,可以進(jìn)行翻頁對(duì)菜品大致瀏覽,也可以點(diǎn)擊某一菜品進(jìn)入其詳情頁面。在菜品詳情頁面,可以瀏覽該菜品的全部信息,并可以訂購(gòu)該菜品。在分頁顯示菜品的頁面和菜品詳情頁面都可以點(diǎn)擊查看購(gòu)物車,對(duì)已訂購(gòu)菜品進(jìn)行查看。本系統(tǒng)的業(yè)務(wù)流程圖如圖2所示。圖2 業(yè)務(wù)流程圖3.1.2 系統(tǒng)用例 用例是對(duì)一個(gè)活動(dòng)者使用系統(tǒng)的一項(xiàng)功能時(shí)所進(jìn)行的交互過程的一個(gè)文字描述序列。而用例圖是顯示一組用例、參與者以及它們之間關(guān)系的圖。下面以用例圖和用例描述來對(duì)本系統(tǒng)的用例進(jìn)行描述。本系統(tǒng)的用例圖如圖3所示。圖3 系統(tǒng)用例圖以下表3至表6是對(duì)圖1系統(tǒng)用例圖中用例的詳細(xì)描述,即用例描述。表3
9、LoginSystem用例描述用例名稱LoginSystem標(biāo)識(shí)符wm_1用例描述用戶登錄網(wǎng)上訂餐系統(tǒng),輸入用戶名、密碼,系統(tǒng)對(duì)其進(jìn)行驗(yàn)證參與者用戶、網(wǎng)上訂餐系統(tǒng)優(yōu)先級(jí)1前置條件無后置條件系統(tǒng)驗(yàn)證基本操作流程1.用戶進(jìn)入登錄頁面,輸入用戶名、密碼,點(diǎn)擊“確定”2.系統(tǒng)對(duì)用戶信息進(jìn)行驗(yàn)證可選操作流程退出系統(tǒng)被泛化的用例無被包含的用例無被擴(kuò)展的用例無表4 ViewDishes用例描述用例名稱ViewDishes標(biāo)識(shí)符wm_2用例描述對(duì)系統(tǒng)中的所有菜品進(jìn)行分頁展示參與者用戶、網(wǎng)上訂餐系統(tǒng)優(yōu)先級(jí)2前置條件用戶經(jīng)驗(yàn)證為合法用戶后置條件無基本操作流程用戶瀏覽菜品信息可選操作流程A.點(diǎn)擊按鈕“上一頁”、“下
10、一頁”、“首頁”、“最后一頁”,對(duì)每一頁的菜品進(jìn)行查看B.點(diǎn)擊菜品圖片,或者按鈕“詳情”進(jìn)入菜品詳情頁面C.查看購(gòu)物車被泛化的用例無被包含的用例無被擴(kuò)展的用例無表5 ViewDishDetails用例描述用例名稱ViewDishDetails標(biāo)識(shí)符wm_3用例描述展示用戶點(diǎn)擊菜品的詳細(xì)信息參與者用戶、網(wǎng)上訂餐系統(tǒng)優(yōu)先級(jí)2前置條件用戶經(jīng)驗(yàn)證為合法用戶,且用戶在瀏覽全部菜品時(shí)點(diǎn)擊了其中一個(gè)圖片或“詳情”按鈕后置條件無基本操作流程用戶瀏覽菜品的詳細(xì)信息可選操作流程A. 將該菜品加入購(gòu)物車B. 查看購(gòu)物車被泛化的用例無被包含的用例無被擴(kuò)展的用例AddToCart表6 ViewCart用例描述用例名稱V
11、iewCart標(biāo)識(shí)符wm_4用例描述查看該用戶購(gòu)物車中的信息參與者用戶、網(wǎng)上訂餐系統(tǒng)優(yōu)先級(jí)2前置條件用戶經(jīng)驗(yàn)證為合法用戶,且用戶在展示所有菜品頁面或者菜品詳情頁面點(diǎn)擊“查看購(gòu)物車”按鈕后置條件無基本操作流程用戶瀏覽購(gòu)物車內(nèi)的信息可選操作流程A. 生成訂單B. 清空購(gòu)物車被泛化的用例無被包含的用例無被擴(kuò)展的用例無3.1.3 系統(tǒng)總體功能 網(wǎng)上訂餐系統(tǒng)的功能圖如圖4所示。圖4 網(wǎng)上訂餐系統(tǒng)功能圖 根據(jù)圖4網(wǎng)上訂餐系統(tǒng)功能圖,下面對(duì)各部分功能進(jìn)行詳細(xì)介紹。(1) 登錄頁面:用戶輸入用戶名、密碼,系統(tǒng)對(duì)其進(jìn)行驗(yàn)證,驗(yàn)證通過則進(jìn)入展示所有菜品頁面。(2) 展示所有菜品頁面:本頁面對(duì)全部菜品進(jìn)行分頁顯示。
12、用戶可以點(diǎn)擊按鈕“上一頁”、“下一頁”、“首頁”、“最后一頁”,對(duì)每一頁的菜品進(jìn)行查看;也可以點(diǎn)擊菜品圖片,或者按鈕“詳情”進(jìn)入菜品詳情頁面。(3) 菜品詳情頁面:顯示某個(gè)菜品的全部詳細(xì)信息,包括菜品編號(hào)、菜品名稱、菜品描述、菜品圖片、菜品價(jià)格、菜品折扣。點(diǎn)擊按鈕“訂購(gòu)”,可以將該菜品添加進(jìn)購(gòu)物車。(4) 添加菜品成功頁面:訂購(gòu)成功,彈出窗口提示“訂購(gòu)成功”,點(diǎn)擊“確定”,回到菜品詳情頁面。(5) 查看購(gòu)物車頁面:在展示所有菜品頁面或菜品詳情頁面,點(diǎn)擊按鈕“查看購(gòu)物車”,可以進(jìn)入此頁面,對(duì)自己曾經(jīng)添加過的菜品、數(shù)量、總價(jià)等進(jìn)行瀏覽。3.1.4 系統(tǒng)數(shù)據(jù)字典數(shù)據(jù)字典的作用是在軟件分析和設(shè)計(jì)的過程
13、中給人提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,它通常包括以下主要部分:(1) 數(shù)據(jù)項(xiàng):本系統(tǒng)數(shù)據(jù)項(xiàng)已列出,如表7所示:表7 各數(shù)據(jù)項(xiàng)的具體描述表名稱別名數(shù)據(jù)類型長(zhǎng)度與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系數(shù)據(jù)項(xiàng)之間的聯(lián)系用戶編號(hào)u_idnumber38無無用戶姓名unamevarchar220無無用戶密碼upasswordvarchar220無無用戶電話utelvarchar215無無用戶地址uaddressvarchar2100無無菜品編號(hào)didnumber38無無菜品名稱dnamevarchar215無無菜品描述ddescvarchar2200無
14、無菜品圖片dimgvarchar2150無無菜品價(jià)格dpricenumber(12,3)12無無菜品折扣ddiscountnumber(12,3)12無無訂單編號(hào)oidnumber38無無訂購(gòu)時(shí)間o_timevarchar2150無無訂購(gòu)數(shù)目dnumbernumber38無無(2) 數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)反應(yīng)了數(shù)據(jù)之間的組合關(guān)系。本系統(tǒng)數(shù)據(jù)項(xiàng)已列出,如表8所示:表8 數(shù)據(jù)結(jié)構(gòu)具體描述表數(shù)據(jù)結(jié)構(gòu)名含義說明組成用戶用戶的詳細(xì)信息用戶編號(hào)、姓名、密碼、電話、地址菜品菜品的詳細(xì)信息菜品編號(hào)、名稱、描述、圖片、價(jià)格、折扣訂單訂單的詳細(xì)信息訂單編號(hào)、訂購(gòu)時(shí)間、用戶編號(hào)、菜品編號(hào)、菜品數(shù)目、菜品價(jià)格(3) 數(shù)據(jù)
15、流: 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健1鞠到y(tǒng)共有3個(gè)數(shù)據(jù)流,分別描述如下:a.數(shù)據(jù)流名稱:用戶信息 說明:主要包括用戶的用戶名、密碼 數(shù)據(jù)流來源:用戶在登錄網(wǎng)上訂餐系統(tǒng)首頁時(shí),輸入的用戶名以及密碼 數(shù)據(jù)流去向:數(shù)據(jù)庫(kù) 數(shù)據(jù)流組成:用戶姓名+用戶密碼b.數(shù)據(jù)流名稱:菜品信息 說明:某個(gè)菜品的所有詳細(xì)信息 數(shù)據(jù)流來源:數(shù)據(jù)庫(kù) 數(shù)據(jù)流去向:用戶 數(shù)據(jù)流組成:菜品編號(hào)+菜品名稱+菜品描述+菜品圖片+菜品價(jià)格+菜品折扣c.數(shù)據(jù)流名稱:訂購(gòu)信息 說明:用戶添加進(jìn)購(gòu)物車的菜品的信息 數(shù)據(jù)流來源:用戶曾點(diǎn)擊訂購(gòu)的菜品 數(shù)據(jù)流去向:購(gòu)物車 數(shù)據(jù)流組成:菜品編號(hào)+菜品名稱+菜品數(shù)目+菜品價(jià)格+總計(jì)3.1.5
16、系統(tǒng)數(shù)據(jù)流圖數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理的關(guān)系。圖書管理系統(tǒng)的數(shù)據(jù)流圖如圖5所示:圖5 網(wǎng)上訂餐系統(tǒng)數(shù)據(jù)流圖4 系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)架構(gòu)設(shè)計(jì) 網(wǎng)上訂餐系統(tǒng)架構(gòu)圖如圖6所示。圖6 系統(tǒng)架構(gòu)圖4.1.1 系統(tǒng)開發(fā)采用的技術(shù)手段 J2EE技術(shù) PowerDesigner Rational Rose WPS4.1.2 系統(tǒng)開發(fā)環(huán)境 Window 7 操作系統(tǒng) Oracle 數(shù)據(jù)庫(kù) MyEclipse 104.1.3 系統(tǒng)部署實(shí)施環(huán)境(1)系統(tǒng)部署主要采用數(shù)據(jù)庫(kù)服務(wù)器: Oracle 11g 或以上版本(2)系統(tǒng)部署主要采用客戶機(jī): Windows 7 或以上版本 Oracle 11g 或以上版本 Chro
17、me瀏覽器4.2 系統(tǒng)功能設(shè)計(jì) 本系統(tǒng)主要完成用戶登錄、菜品展示、管理購(gòu)物車、生成訂單等功能。下面以用戶和菜品為模塊進(jìn)行描述。4.2.1 用戶模塊本模塊主要實(shí)現(xiàn)在用戶登錄過程中對(duì)用戶信息進(jìn)行驗(yàn)證的功能。這個(gè)模塊共有2個(gè)接口和5個(gè)類,它們之間的關(guān)系如圖7所示,各自內(nèi)部函數(shù)如表9所示。圖7 用戶模塊類圖(注:實(shí)線箭頭為繼承,虛線箭頭為實(shí)現(xiàn),直線為關(guān)聯(lián))表9 用戶模塊各接口和類內(nèi)部函數(shù)列表接口 / 類名稱函數(shù)名稱及參數(shù)返回類型完成功能接口IUserDAOfindUser(String sql1,String username)ArrayList實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中表wm_user的增刪改查操作insert
18、User(User user)intdeleteUser(int userid)intupdateUser(User user)int接口IUserServicevalidateUser(String username,String pwd)boolean驗(yàn)證用戶是否合法類UtilsgetDriver()String讀取配置文件中有關(guān)連接數(shù)據(jù)庫(kù)的信息,為連接數(shù)據(jù)庫(kù)提供服務(wù)setDriver(String driver)voidgetUrl()StringsetUrl(String url)voidgetUser()StringsetUser(String user)voidgetPasswor
19、d()StringsetPassword(String password)voidgetConnection()Connection連接數(shù)據(jù)庫(kù)free(Statement st,ResultSet rs,Connection conn)void釋放資源類UsergetUid()intUser類是一個(gè)JavaBean,它所包含的這些getX()和setX()函數(shù),都是利于其他類調(diào)用相應(yīng)屬性而設(shè)計(jì)的setUid(int uid)voidgetUname()StringsetUname(String uname)voidgetUpassword()StringsetUpassword(String
20、upassword)voidgetUaddress()StringsetUaddress(String uaddress)voidgetUtel()StringsetUtel(String utel)void類BaseDAOMappingObj(ResultSet rs,Class clazz)Object處理Oracle數(shù)據(jù)庫(kù)與MyEclipse之間數(shù)據(jù)類型的轉(zhuǎn)換find(String sql,Object params,Class clazz)ArrayList從數(shù)據(jù)庫(kù)中查找滿足條件的所有條目并返回idu(String sql,Object params)int實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中wm_dish
21、表數(shù)據(jù)的增刪改操作getTotalRecords(String sql)int返回滿足條件的條目的總數(shù)目類UserDAO同接口IUserDAO實(shí)現(xiàn)接口IUserDAO中的各函數(shù)類UserService同接口IUserService實(shí)現(xiàn)接口IUserService中的各函數(shù) 用戶模塊的時(shí)序圖如圖8所示。用戶在登錄頁面輸入用戶名和密碼,經(jīng)后臺(tái)從數(shù)據(jù)庫(kù)中取出相關(guān)信息驗(yàn)證后,驗(yàn)證成功進(jìn)入顯示所有菜品的頁面;驗(yàn)證不成功,則停留在登錄頁面,要求用戶重新輸入用戶名和密碼。圖8 用戶模塊時(shí)序圖4.2.2 菜品模塊本模塊主要實(shí)現(xiàn)經(jīng)系統(tǒng)驗(yàn)證成功的用戶對(duì)全部菜品進(jìn)行分頁查看、對(duì)某個(gè)菜品查看詳情的功能。這部分共有2個(gè)
22、接口和6個(gè)類,它們之間的關(guān)系如圖9所示,各自內(nèi)部函數(shù)如表10所示。圖9 菜品模塊類圖(注:實(shí)線箭頭為繼承,虛線箭頭為實(shí)現(xiàn),直線為關(guān)聯(lián))表10 菜品模塊各接口和類內(nèi)部函數(shù)列表接口 / 類名稱函數(shù)名稱及參數(shù)返回類型完成功能接口IDishDAOfindDish(String sql1,Object params)ArrayList實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中表wm_dish的增刪改查操作insertDish(Dish dish)intdeleteDish(int dishid)intupdateDish(Dish dish)intgetTotalDishes(String sql)int返回滿足篩選條件的菜品總數(shù)
23、接口IDishServicefindDish4PageList(int pageNO, int pageSize)PageModel返回從第M到第N,共(N-M+1)條菜品信息,用于分頁顯示getTotalDishs()int返回所有菜品的數(shù)目findDishByID(int dishid)Dish返回固定id號(hào)的菜品信息類Utils同用戶模塊的類Utils類DishgetDid()BigDecimalDish類是一個(gè)JavaBean,它所包含的這些getX()和setX()函數(shù),都是利于其他類調(diào)用相應(yīng)屬性而設(shè)計(jì)的setDid(BigDecimal did)voidgetDname()Stri
24、ngsetDname(String dname)voidgetDdesc()StringsetDdesc(String ddesc)voidgetDimg()StringsetDimg(String dimg)voidgetDprice()BigDecimalsetDprice(BigDecimal dprice)voidgetDdiscount()BigDecimalsetDdiscount(BigDecimal ddiscount)void類PageModelgetTotalrecords()int這些函數(shù)也是一個(gè)JavaBean,方便其他類對(duì)相關(guān)屬性進(jìn)行調(diào)用setTotalrecords
25、(int totalrecords)voidgetPageSize()intsetPageSize(int pageSize)voidgetPageNO()intsetPageNO(int pageNO)voidgetList()ListsetList(List list)voidPageModel(int totalrecords, int pageSize, int pageNo, List list)無初始化函數(shù)getTotalPages()int返回總頁數(shù)getTopPageNO()int跳轉(zhuǎn)至第一頁getPrevPageNO()int跳轉(zhuǎn)至上一頁getNextPageNO()int跳
26、轉(zhuǎn)至下一頁getBottomPageNO()int跳轉(zhuǎn)至最后一頁類DishService同接口IDishService實(shí)現(xiàn)接口IDishService中的各函數(shù)類BaseDAO同用戶模塊的類BaseDAO類DishDAO同IDishDAO實(shí)現(xiàn)接口IDishDAO中的各函數(shù)菜品模塊的時(shí)序圖如圖10所示。經(jīng)成功驗(yàn)證的用戶進(jìn)入分頁顯示全部菜品的頁面后,后臺(tái)會(huì)從數(shù)據(jù)庫(kù)中取出部分?jǐn)?shù)據(jù)供給用戶瀏覽,這時(shí)可以對(duì)菜品進(jìn)行切換頁數(shù)的瀏覽,也可以點(diǎn)擊某一菜品進(jìn)入詳情頁面瀏覽,在詳情頁面,可以將菜品加入購(gòu)物車。圖10 菜品模塊時(shí)序圖4.3 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)即根據(jù)對(duì)系統(tǒng)的分析,依次設(shè)計(jì)概念結(jié)構(gòu)圖、邏輯結(jié)構(gòu)圖、物
27、理結(jié)構(gòu)圖,最后根據(jù)物理結(jié)構(gòu)圖導(dǎo)出數(shù)據(jù)庫(kù)腳本,以便在數(shù)據(jù)庫(kù)中執(zhí)行。4.3.1 概念結(jié)構(gòu)設(shè)計(jì)由需求分析可以得出本系統(tǒng)的概念結(jié)構(gòu)設(shè)計(jì)圖(E-R圖),如圖11所示。這里主要有4個(gè)實(shí)體:wm_user:用戶實(shí)體,包括用戶編號(hào)、姓名、密碼、聯(lián)系電話、送餐地址;wm_dish:菜品實(shí)體,包括菜品編號(hào)、菜名、菜品描述、菜品圖片路徑、菜品價(jià)格、菜品折扣;wm_order:訂單實(shí)體,包括訂單編號(hào)、用戶編號(hào)、菜品編號(hào);wm_details:這是對(duì)訂單的一個(gè)補(bǔ)充,包括訂單編號(hào)、菜品編號(hào)及其對(duì)應(yīng)訂購(gòu)數(shù)量。圖11 系統(tǒng)E-R圖4.3.2 邏輯結(jié)構(gòu)設(shè)計(jì)將網(wǎng)上訂餐管理系統(tǒng)的E-R圖轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)模型,如圖12所示,其
28、關(guān)系模式包括:用戶(用戶編號(hào)、用戶名、密碼)菜品(菜品編號(hào)、菜品名稱、菜品描述、菜品圖片、菜品價(jià)格、菜品折扣)訂單(訂單編號(hào)、用戶編號(hào)、菜品編號(hào))訂單補(bǔ)充(訂單編號(hào)、菜品編號(hào)、訂購(gòu)數(shù)量)圖12 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)圖4.3.3 物理結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取方法稱為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),本系統(tǒng)的物理結(jié)構(gòu)設(shè)計(jì)如圖13所示。圖13 網(wǎng)上訂餐系統(tǒng)-物理結(jié)構(gòu)設(shè)計(jì)圖5 系統(tǒng)實(shí)現(xiàn)5.1 系統(tǒng)登陸頁面圖14 網(wǎng)上訂餐系統(tǒng)-登錄頁面在登錄頁面,用戶需要輸入用戶名、密碼,點(diǎn)擊“登錄”按鈕,系統(tǒng)將此信息與數(shù)據(jù)庫(kù)中的信息進(jìn)行審核,審核通過則允許用戶繼續(xù)操作,即進(jìn)入展示全部菜品的頁面。5.2 展示所有菜品頁面 圖15
29、網(wǎng)上訂餐系統(tǒng)-展示所有菜品頁面-第一頁用戶登錄成功后,會(huì)自動(dòng)跳轉(zhuǎn)到圖15所示的頁面,它的功能是分頁展示全部菜品。為了操作簡(jiǎn)單,方便瀏覽,每頁只顯示2個(gè)菜品。在這個(gè)頁面主要有3個(gè)功能:點(diǎn)擊“上一頁”、“下一頁”、“首頁”、“最后一頁”會(huì)跳轉(zhuǎn)至相應(yīng)的頁數(shù),顯示不同的菜品,如圖16就是第三頁的菜品展示;點(diǎn)擊菜品圖片或者“詳情”按鈕,會(huì)跳轉(zhuǎn)到菜品詳情頁面,如圖18所示;點(diǎn)擊“查看購(gòu)物車”按鈕,會(huì)跳轉(zhuǎn)到購(gòu)物車顯示頁面,如圖20所示。在這個(gè)頁面有一特色,鼠標(biāo)移動(dòng)到想要查看菜品的圖片上方時(shí),圖片會(huì)變大,如圖17;鼠標(biāo)移出圖片區(qū)域,圖片會(huì)恢復(fù)原來大小。圖16 網(wǎng)上訂餐系統(tǒng)-展示所有菜品頁面-第三頁圖17 網(wǎng)上訂餐系統(tǒng)-菜品圖片變大5.3 菜品詳情頁面圖18 網(wǎng)上訂餐系統(tǒng)-菜品詳
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 村民家庭農(nóng)場(chǎng)經(jīng)營(yíng)合作協(xié)議
- 數(shù)字社區(qū)居民物業(yè)服務(wù)合同
- 2025至2030建筑防腐行業(yè)市場(chǎng)深度研究與戰(zhàn)略咨詢分析報(bào)告
- 農(nóng)業(yè)廢棄物轉(zhuǎn)化為生物熱能技術(shù)鑒定報(bào)告(2025年)
- 2025搬家與倉(cāng)儲(chǔ)一體化服務(wù)合同
- 二零二五年度倉(cāng)儲(chǔ)信息化管理服務(wù)合同范本
- 二零二五年SPA館加盟管理合同范本
- 二零二五年度餐飲服務(wù)員專業(yè)培訓(xùn)勞動(dòng)合同范本
- 二零二五年度新能源汽車零部件銷售合同范本
- 2025版城市綜合體場(chǎng)地租賃管理合同
- 揚(yáng)塵污染防治應(yīng)急預(yù)案
- 平方根-算術(shù)平方根說課 課件2024-2025學(xué)年人教版七年級(jí)數(shù)學(xué)下冊(cè)
- 皮亞杰認(rèn)知發(fā)展與教育
- 2025-2030中國(guó)匹克球市場(chǎng)前景預(yù)判與未來發(fā)展形勢(shì)分析研究報(bào)告
- 2025年貴州貴旅國(guó)際旅行服務(wù)有限公司招聘筆試參考題庫(kù)含答案解析
- 自動(dòng)化儀表維修與保養(yǎng)2025培訓(xùn)
- (一模)2025屆安徽省“江南十?!备呷?lián)考英語試卷(含官方答案)
- 2025年中國(guó)移動(dòng)通信集團(tuán)浙江限公司春季校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 輔導(dǎo)員評(píng)職稱述職報(bào)告范本
- 《有限空間安全管理制度》
- 共同借款人合同借條3篇
評(píng)論
0/150
提交評(píng)論