麥德好在線(xiàn)訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
麥德好在線(xiàn)訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
麥德好在線(xiàn)訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
麥德好在線(xiàn)訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
麥德好在線(xiàn)訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目錄

1引言1

1.1項(xiàng)目開(kāi)發(fā)背景1

1.2開(kāi)發(fā)技術(shù)簡(jiǎn)介1

1.2.1SSM框架簡(jiǎn)介2

1.2.2項(xiàng)目的運(yùn)行原理2

1.2.3前端頁(yè)面的組成2

1.3開(kāi)發(fā)工具簡(jiǎn)介3

1.4項(xiàng)目開(kāi)發(fā)技術(shù)路線(xiàn)3

2需求分析4

2.1功能需求描述4

2.2非功能需求描述4

2.3需求用例建模5

2.3.1登錄模塊的用例5

2.3.2購(gòu)物車(chē)管理模塊的用例7

2.3.3訂單管理功能模塊的用例9

2.3.4美食管理模塊的用例11

2.3.5美食分類(lèi)模塊的用例13

2.3.6用戶(hù)信息管理模塊的用例14

3系統(tǒng)概要設(shè)計(jì)16

3.1系統(tǒng)設(shè)計(jì)原則16

3.2系統(tǒng)框架設(shè)計(jì)16

3.3系統(tǒng)功能設(shè)計(jì)17

3.3.1登錄模塊功能設(shè)計(jì)17

3.3.2購(gòu)物車(chē)管理模塊功能設(shè)計(jì)18

3.3.3訂單管理模塊功能設(shè)計(jì)18

3.3.4美食管理模塊功能設(shè)計(jì)19

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

3.3.5美食分類(lèi)模塊功能設(shè)計(jì)19

3.3.6用戶(hù)信息管理模塊功能設(shè)計(jì)19

3.4數(shù)據(jù)庫(kù)設(shè)計(jì)19

3.4.1設(shè)計(jì)原則19

3.4.2概念設(shè)計(jì)20

3.4.3邏輯設(shè)計(jì)20

3.4.4數(shù)據(jù)字典21

4系統(tǒng)詳細(xì)設(shè)計(jì)23

4.1登錄功能模塊設(shè)計(jì)23

4.1.1登錄功能模塊說(shuō)明23

4.1.2登錄功能模塊詳細(xì)設(shè)計(jì)23

4.2購(gòu)物車(chē)管理功能模塊設(shè)計(jì)25

4.2.1購(gòu)物車(chē)管理功能模塊說(shuō)明25

4.2.2購(gòu)物車(chē)管理功能模塊詳細(xì)設(shè)計(jì)25

4.3訂單管理功能模塊設(shè)計(jì)27

4.3.1訂單管理功能模塊說(shuō)明27

4.3.2訂單管理功能模塊詳細(xì)設(shè)計(jì)27

4.4美食管理功能模塊設(shè)計(jì)30

4.4.1美食管理功能模塊說(shuō)明30

4.4.2美食管理功能模塊詳細(xì)設(shè)計(jì)30

4.5美食分類(lèi)功能模塊設(shè)計(jì)31

4.5.1美食分類(lèi)功能模塊說(shuō)明31

4.5.2美食分類(lèi)功能模塊詳細(xì)設(shè)計(jì)31

4.6用戶(hù)信息管理功能模塊設(shè)計(jì)33

4.6.1用戶(hù)信息管理功能模塊說(shuō)明33

4.6.2用戶(hù)信息管理功能模塊詳細(xì)設(shè)計(jì)34

5系統(tǒng)實(shí)現(xiàn)35

5.1登錄模塊實(shí)現(xiàn)35

III

5.1.1登錄模塊界面設(shè)計(jì)35

5.1.2登錄模塊核心代碼實(shí)現(xiàn)37

5.2購(gòu)物車(chē)管理模塊實(shí)現(xiàn)39

5.2.1購(gòu)物車(chē)管理模塊界面設(shè)計(jì)39

5.2.2購(gòu)物車(chē)管理模塊核心代碼實(shí)現(xiàn)39

5.3訂單管理模塊實(shí)現(xiàn)41

5.3.1訂單管理模塊界面設(shè)計(jì)41

5.3.2訂單管理模塊核心代碼實(shí)現(xiàn)42

5.4美食管理模塊實(shí)現(xiàn)44

5.4.1美食管理模塊界面設(shè)計(jì)44

5.4.2美食管理模塊核心代碼實(shí)現(xiàn)45

5.5美食分類(lèi)模塊實(shí)現(xiàn)47

5.5.1美食分類(lèi)模塊界面設(shè)計(jì)47

5.5.2美食分類(lèi)模塊核心代碼實(shí)現(xiàn)47

5.6用戶(hù)信息管理模塊實(shí)現(xiàn)49

5.6.1用戶(hù)信息管理模塊界面設(shè)計(jì)49

5.6.2用戶(hù)信息管理模塊核心代碼實(shí)現(xiàn)49

6系統(tǒng)測(cè)試50

6.1登錄模塊功能測(cè)試50

6.2購(gòu)物車(chē)管理功能測(cè)試51

6.3訂單管理功能測(cè)試52

6.4美食管理功能測(cè)試53

6.5美食分類(lèi)功能測(cè)試54

6.6用戶(hù)信息管理功能測(cè)試55

7設(shè)計(jì)小結(jié)55

參考資料57

IV

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

麥德好在線(xiàn)訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

1引言

隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,人們更深刻的感受到了計(jì)算機(jī)在工作和生活

中的重要性,網(wǎng)絡(luò)早已經(jīng)成為現(xiàn)代人日常生活中不可或缺的部分,掌握計(jì)算機(jī)

技術(shù)是時(shí)代發(fā)展的需要,是社會(huì)的需要。而計(jì)算機(jī)技術(shù)作為一種新時(shí)代的新動(dòng)

力,正在全方位進(jìn)入人們的生活,進(jìn)一步發(fā)揮它的力量推動(dòng)人類(lèi)社會(huì)的進(jìn)一步

發(fā)展,計(jì)算機(jī)技術(shù)還全面滲透到各個(gè)領(lǐng)域中。如今人們生活節(jié)奏的加快,飲食

習(xí)慣也在發(fā)生改變。上班族的用餐時(shí)間越來(lái)越短,點(diǎn)外賣(mài)成為了一些上班族的

習(xí)慣。在信息技術(shù)、數(shù)據(jù)庫(kù)技術(shù)的不斷發(fā)展與完善的今天,催生了大量的電商

平臺(tái),消費(fèi)方式變得快速便捷,消費(fèi)者越來(lái)越傾向于選擇網(wǎng)上購(gòu)物這一種新型

消費(fèi)方式來(lái)滿(mǎn)足自己的購(gòu)物需求。

1.1項(xiàng)目開(kāi)發(fā)背景

在線(xiàn)訂餐的研發(fā)與應(yīng)用由于其獨(dú)有的便捷性和直觀性,輕而易舉地被現(xiàn)代

人認(rèn)同和接受,人們可以通過(guò)在線(xiàn)訂餐系統(tǒng),不必親臨現(xiàn)場(chǎng),在家中或辦公室

里,只要是注冊(cè)用戶(hù)可以在網(wǎng)上搜索購(gòu)買(mǎi)到自己任何想吃的食物,它為客戶(hù)提

供網(wǎng)上瀏覽美食、訂餐、管理訂單、管理購(gòu)物車(chē)等服務(wù)。通過(guò)在線(xiàn)訂餐系統(tǒng)進(jìn)

行訂餐,能即時(shí)查看通信信息,了解商家的促銷(xiāo)活動(dòng),方便的在線(xiàn)支付方式,

具有線(xiàn)上線(xiàn)下相結(jié)合等特點(diǎn),為人們的生活帶來(lái)了很大的便利,吸引了眾多用

戶(hù),并深得人們喜愛(ài)。商家也因餐館訂單增加而獲利。

在線(xiàn)訂餐系統(tǒng)能更好的滿(mǎn)足人們的需求,提高餐飲行業(yè)管理水平和經(jīng)營(yíng)思

想,使用戶(hù)和商家可以各取所需,互利共贏。各大網(wǎng)上餐飲平臺(tái)就是在這樣一

個(gè)背景下產(chǎn)生發(fā)展起來(lái)的。我的畢業(yè)設(shè)計(jì)正是一個(gè)在線(xiàn)訂餐系統(tǒng)的開(kāi)發(fā)——麥

德好在線(xiàn)訂餐系統(tǒng)。

1.2開(kāi)發(fā)技術(shù)簡(jiǎn)介

麥德好在線(xiàn)訂餐系統(tǒng)的前端技術(shù)主要采用layui、css、js、html;后端技

術(shù)采用了SSM框架、springboot。

1

1.2.1SSM框架簡(jiǎn)介

SSM框架分為springMVC、spring和mybatis框架,是它們的整合。標(biāo)SSM

框架有四層,分別是dao層(mapper),service層,controller層和pojo層。

使用spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理。其中springboot是spring系列中的一個(gè)全新

框架,用來(lái)簡(jiǎn)化spring程序的創(chuàng)建和開(kāi)發(fā)過(guò)程。在以往我們通過(guò)SpringMVC+Spr

ing+Mybatis框架進(jìn)行開(kāi)發(fā)的時(shí)候,我們需要配置各種東西,然后整合在一起,

而springboot在spring的基礎(chǔ)上減掉了繁瑣的xml配置過(guò)程,采用默認(rèn)的配

置來(lái)簡(jiǎn)化我們使用spring開(kāi)發(fā)的過(guò)程。SpringBoot化繁為簡(jiǎn),使開(kāi)發(fā)變得更加

的簡(jiǎn)單迅速。麥德好在線(xiàn)訂餐系統(tǒng)主要采用了springboot技術(shù)進(jìn)行開(kāi)發(fā)。

1.2.2項(xiàng)目的運(yùn)行原理

SSM框架的運(yùn)行原理就是通過(guò)這四個(gè)層次實(shí)現(xiàn)的。

(1)dao層(mapper)就是持久層。作用主要是做數(shù)據(jù)持久層的工作,主

要與數(shù)據(jù)庫(kù)進(jìn)行交互。Dao層首先設(shè)計(jì)的是接口,然后再Spring的配置文件中

定義接口的實(shí)現(xiàn)類(lèi)。然后會(huì)調(diào)用pojo層,dao中會(huì)定義實(shí)際使用到的方法,比

如增刪改查(訪(fǎng)問(wèn)數(shù)據(jù)庫(kù))。

(2)Service層就是業(yè)務(wù)層。主要對(duì)業(yè)務(wù)進(jìn)行邏輯應(yīng)用設(shè)計(jì)業(yè)務(wù)層,控制

業(yè)務(wù),Service層叫服務(wù)層,被稱(chēng)為服務(wù),粗略的理解就是對(duì)一個(gè)或多個(gè)DAO進(jìn)

行的再次封裝,封裝成一個(gè)服務(wù)。service層調(diào)用dao層接口,接收dao層返回

的數(shù)據(jù),完成項(xiàng)目的基本功能設(shè)計(jì)

(3)Controller層就是表現(xiàn)層。controller層負(fù)責(zé)前后端交互,接受前

端請(qǐng)求,調(diào)用service層方法,接收service層返回的數(shù)據(jù),最后返回具體的

頁(yè)面和數(shù)據(jù)到客戶(hù)端。

(4)pojo層就是實(shí)體層。數(shù)據(jù)庫(kù)的數(shù)據(jù)在項(xiàng)目中體現(xiàn),存放實(shí)體的類(lèi),類(lèi)

中定義了多個(gè)類(lèi)屬性,并與數(shù)據(jù)庫(kù)表的字段保持一致。主要用于定義與數(shù)據(jù)庫(kù)

對(duì)象對(duì)應(yīng)的屬性。提供get、set、tostring方法、有參無(wú)參構(gòu)造函數(shù)等。

1.2.3前端頁(yè)面的組成

前端頁(yè)面主要由三部分組成:結(jié)構(gòu)、表現(xiàn)和行為。

(1)HTML是結(jié)構(gòu)層,叫做超文本標(biāo)記語(yǔ)言,包括一系列標(biāo)簽,決定網(wǎng)頁(yè)的

內(nèi)容與結(jié)構(gòu)。類(lèi)似于人的骨骼,是網(wǎng)頁(yè)制作的基礎(chǔ)。超文本就是指網(wǎng)頁(yè)內(nèi)可以

包含鏈接、圖片、程序、音樂(lè)等非文字元素;前端開(kāi)發(fā)利用HTML標(biāo)簽來(lái)標(biāo)記網(wǎng)

頁(yè)中的文字;

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

(2)CSS設(shè)計(jì)頁(yè)面樣式。主要用來(lái)給設(shè)計(jì)網(wǎng)頁(yè)的格式、美化網(wǎng)頁(yè),使得不

同的網(wǎng)頁(yè)擁有不同的風(fēng)格,類(lèi)似于給人穿衣服、打扮;

(3)JavaScript是行為層,負(fù)責(zé)描述頁(yè)面的動(dòng)態(tài)效果的腳本語(yǔ)言,主要使

網(wǎng)頁(yè)具有交互性,類(lèi)似于讓人動(dòng)起來(lái)(跑步、跳舞等)。

1.3開(kāi)發(fā)工具簡(jiǎn)介

工具的使用:采用IntelliJIDEA+mysql

IntelliJIDEA集成的插件足夠多,基本可以實(shí)現(xiàn)麥德好在線(xiàn)訂餐系統(tǒng)所有

需要實(shí)現(xiàn)的功能;

mysql其優(yōu)點(diǎn)有:綜合統(tǒng)一,高度非過(guò)程化,面向集合的操作方式,以一種

語(yǔ)法結(jié)構(gòu)提供多種使用方式,語(yǔ)言簡(jiǎn)潔,易學(xué)易用。

1.4項(xiàng)目開(kāi)發(fā)技術(shù)路線(xiàn)

(1)Spring的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):方便解耦,簡(jiǎn)化開(kāi)發(fā)(高內(nèi)聚低耦合):Spring就是一個(gè)大工廠(chǎng)

(容器),用于創(chuàng)建對(duì)象(bean)和維護(hù)對(duì)象間的依賴(lài)關(guān)系。AOP編程的支持,無(wú)

需手動(dòng)編程。方便程序的測(cè)試;方便集成各種優(yōu)秀框架。

缺點(diǎn):spring技術(shù)會(huì)使代碼變得不太完整,會(huì)中斷應(yīng)用的代碼邏輯,將代碼

邏輯配置化,增加了出錯(cuò)的幾率以及代碼的負(fù)擔(dān)。調(diào)試階段不直觀,后期的bug

對(duì)應(yīng)階段,不容易判斷問(wèn)題所在。

(2)SpringBoot的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):開(kāi)箱即用,嵌入的Tomcat,無(wú)需部署WAR文件,簡(jiǎn)化Maven配置,

自動(dòng)配置Spring,提供生產(chǎn)就緒型功能,如指標(biāo),健康檢查和外部配置,絕對(duì)

沒(méi)有代碼生成并且對(duì)XML也沒(méi)有配置要求。

缺點(diǎn):開(kāi)箱即用的簡(jiǎn)單背后隱藏了巨大的學(xué)習(xí)曲線(xiàn),入門(mén)簡(jiǎn)單,但是如果

沒(méi)有完整學(xué)習(xí)spring體系,沒(méi)有一定校驗(yàn),根本不知道springboot自動(dòng)做了

什么。

(3)SpringMVC的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):封裝代碼,維護(hù)成本低,耦合性低;有利于開(kāi)發(fā)中的分工,提高開(kāi)

發(fā)效率;組件重用,有利于代碼復(fù)用,重用性高。

缺點(diǎn):沒(méi)有明確的定義,不適合小型,中等規(guī)模的應(yīng)用程序;增加系統(tǒng)結(jié)

構(gòu)和實(shí)現(xiàn)的復(fù)雜性;視圖與控制器間的過(guò)于緊密的連接,視圖對(duì)模型數(shù)據(jù)的低

效率訪(fǎng)問(wèn)。

3

(4)Mybatis的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):與JDBC相比,減少了50%以上的代碼量,最簡(jiǎn)單的持久化框架、小

巧簡(jiǎn)單易學(xué),SQL代碼從程序代碼中徹底分離出來(lái),可重用;開(kāi)發(fā)人員不需要考

慮數(shù)據(jù)庫(kù)的差異性。提供對(duì)象關(guān)系映射標(biāo)簽,支持對(duì)象關(guān)系組建維護(hù)。

缺點(diǎn):SQL語(yǔ)句編寫(xiě)工作量大,熟練度要高;數(shù)據(jù)庫(kù)移植性差,比如mysql

移植到Orecle,SQL語(yǔ)句會(huì)有差異從而引起錯(cuò)誤。

2需求分析

2.1功能需求描述

通過(guò)與廣大在線(xiàn)訂餐用戶(hù)和線(xiàn)上的餐廳進(jìn)行溝通,了解并完善了在線(xiàn)訂餐

系統(tǒng)的功能需求。

(1)登錄模塊:管理員實(shí)現(xiàn)后臺(tái)登錄與退出,用戶(hù)主要實(shí)現(xiàn)注冊(cè)、登錄與

退出。登錄成功后可點(diǎn)擊退出,頁(yè)面跳轉(zhuǎn)到登錄界面;用戶(hù)登錄時(shí)如果沒(méi)注冊(cè)

會(huì)提示用戶(hù)不存在;用戶(hù)注冊(cè)時(shí)要輸入用戶(hù)名,QQ郵箱,密碼等信息;管理員

可選擇后臺(tái)登錄,規(guī)定賬號(hào)為admin,密碼為123456。

(2)購(gòu)物車(chē)管理模塊:操作前提是用戶(hù)已登錄。用戶(hù)可點(diǎn)擊菜品進(jìn)入詳情

頁(yè),再點(diǎn)擊加入購(gòu)物車(chē),頁(yè)面提示加入成功;用戶(hù)點(diǎn)擊購(gòu)物車(chē),可進(jìn)入購(gòu)物車(chē)

管理頁(yè)面。用戶(hù)可選中想要?jiǎng)h除的菜品,再點(diǎn)擊選中刪除按鈕,頁(yè)面提示刪除

成功。用戶(hù)還可選中想要購(gòu)買(mǎi)的菜品,再點(diǎn)擊立即購(gòu)買(mǎi)按鈕,填入收貨人姓名、

地址、號(hào)碼3個(gè)信息,再點(diǎn)擊提交訂單按鈕,就顯示提交成功。

(3)訂單管理模塊:為用戶(hù)提供提交訂單,查看訂單詳情,刪除訂單功能;

為管理員提供查詢(xún)訂單、刪除訂單、修改訂單功能。

(4)美食管理模塊:為管理員提供查詢(xún)、修改美食信息和刪除、上架美食

的功能。

(5)美食分類(lèi)模塊:管理員添加、刪除、修改美食分類(lèi),輸入分類(lèi)代碼和

分類(lèi)名稱(chēng)點(diǎn)擊添加按鈕,在上架美食時(shí)美食分類(lèi)選項(xiàng)就會(huì)體現(xiàn)出來(lái)。

(6)用戶(hù)信息管理模塊:管理員可對(duì)注冊(cè)用戶(hù)進(jìn)行查詢(xún)、修改、刪除注冊(cè)

用戶(hù)信息的功能。

2.2非功能需求描述

麥德好在線(xiàn)訂餐系統(tǒng)的非功能性需求如下:

(1)易用性:本系統(tǒng)在應(yīng)用方面符合用戶(hù)習(xí)慣以及對(duì)其使用的期望,方便

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

易用,界面設(shè)計(jì)簡(jiǎn)單明了。

(2)安全性:本系統(tǒng)的安全性很大提高包括對(duì)風(fēng)險(xiǎn)的承受能力、對(duì)用戶(hù)的

個(gè)人信息的保密性和系統(tǒng)數(shù)據(jù)不被授權(quán)用戶(hù)以外的任何人訪(fǎng)問(wèn)。

(3)可擴(kuò)展性:可擴(kuò)展性高,系統(tǒng)架構(gòu)完整、靈活,當(dāng)技術(shù)變化和業(yè)務(wù)變

化時(shí),可以以盡量少的代價(jià)適應(yīng)這種變化。

2.3需求用例建模

通過(guò)對(duì)功能需求的分析,創(chuàng)建以下總體用例模型,如圖2-1所示。

圖2-1麥德好在線(xiàn)訂餐系統(tǒng)的總體用例模型

2.3.1登錄模塊的用例

登錄模塊,分別具有注冊(cè)、登錄、退出功能,下面是完整用例圖,如圖2-2

所示。

圖2-2登錄模塊用例圖

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。登錄模塊活

動(dòng)圖如圖2-3所示。

5

圖2-3登錄模塊活動(dòng)圖

對(duì)圖2-2用例圖,及圖2-3活動(dòng)圖的分析,得到每個(gè)用例的描述表。登錄

模塊用例描述如表2-1所示,可以進(jìn)行登錄等操作。

表2-1登錄模塊用例描述

項(xiàng)目描述

用例名稱(chēng)用戶(hù)登錄,注冊(cè),退出

用例標(biāo)識(shí)號(hào)01

參與者用戶(hù)和管理員

輸入賬號(hào)、密碼,系統(tǒng)進(jìn)行驗(yàn)證后,合法者登錄系統(tǒng),否

簡(jiǎn)要說(shuō)明

則提供拒絕登錄系統(tǒng)。

前置條件參與者已經(jīng)打開(kāi)系統(tǒng)的登錄頁(yè)面。

1.用戶(hù)第一次登錄時(shí)需注冊(cè),注冊(cè)時(shí)輸入賬號(hào)、密碼、QQ

郵箱。

基本事件流2.系統(tǒng)驗(yàn)證輸入格式,正確則注冊(cè)成功。

3.再輸出正確的用戶(hù)名、密碼。

4.登錄成功。

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.管理員則點(diǎn)擊后臺(tái)登錄(管理員不能注冊(cè))。

6.輸入正確的賬號(hào)密碼,登錄成功。

7.登錄成功后可以選擇退出。

8.登錄后的用戶(hù)管理員都可點(diǎn)擊退出。

9.退出登錄。

10.用例終止

其他事件流點(diǎn)擊登錄之前,參與者需要先注冊(cè)。

異常事件流如果出現(xiàn)錯(cuò)誤,提示錯(cuò)誤信息,用戶(hù)確認(rèn)

后置事件無(wú)

2.3.2購(gòu)物車(chē)管理模塊的用例

購(gòu)物車(chē)管理的用例描述如圖2-4所示。主要功能是添加、刪除、修改、購(gòu)

買(mǎi)購(gòu)物車(chē)中美食的操作。

圖2-4購(gòu)物車(chē)管理模塊用例圖

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。購(gòu)物車(chē)管理

模塊活動(dòng)圖如圖2-5所示。

7

圖2-5購(gòu)物車(chē)管理功能模塊活動(dòng)圖

對(duì)圖2-4用例圖,及圖2-5活動(dòng)圖的分析,得到每個(gè)用例的描述表。購(gòu)物

車(chē)管理模塊用例描述如表2-2所示,可以對(duì)購(gòu)物車(chē)進(jìn)行增刪改、在購(gòu)物車(chē)提交

訂單操作。

表2-2購(gòu)物車(chē)管理模塊用例描述

項(xiàng)目描述

用例名稱(chēng)購(gòu)物車(chē)增刪改,在購(gòu)物車(chē)提交訂單用例

用例標(biāo)識(shí)號(hào)02

參與者用戶(hù)

簡(jiǎn)要說(shuō)明用戶(hù)對(duì)購(gòu)物車(chē)進(jìn)行管理

前置條件參與者已經(jīng)打開(kāi)系統(tǒng)主頁(yè)面。

1.參與者在主頁(yè)瀏覽餐品,點(diǎn)擊商品。

2.進(jìn)入詳情頁(yè)

基本事件流3.用戶(hù)點(diǎn)擊加入購(gòu)物車(chē),系統(tǒng)提示加入成功。

4.用戶(hù)進(jìn)入購(gòu)物車(chē)管理界面。

5.可選中想要?jiǎng)h除的餐品

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

6.點(diǎn)擊確認(rèn),刪除成功。

7.用戶(hù)可選中想要購(gòu)買(mǎi)的餐品,也可點(diǎn)擊加號(hào)修改購(gòu)買(mǎi)數(shù)量。

8.再點(diǎn)擊立即購(gòu)買(mǎi),輸入信息

9.購(gòu)買(mǎi)成功

10.用例終止

其他事件流管理購(gòu)物車(chē)之前,用戶(hù)需要先登錄。

異常事件流添加餐品數(shù)量超過(guò)庫(kù)存數(shù)量。

后置條件無(wú)

2.3.3訂單管理功能模塊的用例

訂單管理模塊的用例描述如圖2-6所示。主要功能是用戶(hù)可以進(jìn)行提交訂

單,查看歷史訂單,刪除訂單操作,管理員可以進(jìn)行查詢(xún)用戶(hù)訂單、刪除訂單、

修改訂單信息操作。

圖2-6訂單管理功能模塊用例圖

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。訂單管理模

塊活動(dòng)圖如圖2-7所示。

9

圖2-7訂單管理功能模塊活動(dòng)圖

對(duì)圖2-6用例圖,及圖2-7活動(dòng)圖的分析,得到每個(gè)用例的描述表。提交

訂單用例描述如表2-3所示。

表2-3提交訂單用例描述

項(xiàng)目描述

用例名稱(chēng)提交訂單、查看訂單詳情、刪除訂單用例

用例標(biāo)識(shí)號(hào)03

參與者用戶(hù)

簡(jiǎn)要說(shuō)明用戶(hù)可對(duì)訂單進(jìn)行提交、查看訂單詳情、刪除操作

前置條件用戶(hù)已經(jīng)打開(kāi)系統(tǒng)主頁(yè)面并登錄。

1.用戶(hù)點(diǎn)擊立即購(gòu)買(mǎi)

基本事件流2.輸入姓名、地址、電話(huà)

3.格式輸入正確且都不為空。

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

4.訂單提交成功。

5.用戶(hù)點(diǎn)擊我的訂單,查看訂單。

6.用戶(hù)進(jìn)入我的訂單頁(yè)面。

7.點(diǎn)擊刪除,可刪除訂單。

8.用戶(hù)點(diǎn)擊查看。

9.查看訂單詳情。

10.用例終止。

其他事件流用戶(hù)可對(duì)歷史訂單進(jìn)行管理。

異常事件流購(gòu)買(mǎi)餐品數(shù)量超過(guò)庫(kù)存數(shù)量。

管理員訂單管理用例,主要進(jìn)行查詢(xún)訂單、修改訂單信息、刪除訂單描述

如表2-4所示。

表2-4管理員訂單管理用例描述

項(xiàng)目描述

用例名稱(chēng)管理員訂單管理用例,包括查詢(xún)、修改、刪除訂單

用例標(biāo)識(shí)號(hào)04

參與者管理員

簡(jiǎn)要說(shuō)明管理員管理用戶(hù)訂單

前置條件管理員進(jìn)入后臺(tái)系統(tǒng)。

1.管理員輸入訂單信息,查詢(xún)訂單。

2.管理員點(diǎn)擊刪除,可刪除訂單。

基本事件流3.管理員點(diǎn)擊查看,查看訂單詳情。

4.管理員點(diǎn)擊編輯,可修改訂單信息。

5.用例終止

其他事件流無(wú)

異常事件流未登錄

2.3.4美食管理模塊的用例

美食管理模塊的用例描述如圖2-8所示。主要功能是查詢(xún)、修改美食信息

和刪除、上架美食的操作。

11

圖2-8美食管理模塊用例圖

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。美食管理模

塊活動(dòng)圖如圖2-9所示。

圖2-9美食管理功能模塊活動(dòng)圖

對(duì)圖2-8用例圖,及圖2-9活動(dòng)圖的分析,得到每個(gè)用例的描述表。美食

管理模塊用例描述如表2-5所示,可以對(duì)美食進(jìn)行增刪改查操作。

表2-5美食管理模塊用例描述

項(xiàng)目描述

用例名稱(chēng)美食增刪改查用例

用例標(biāo)識(shí)號(hào)05

參與者管理員

簡(jiǎn)要說(shuō)明管理員對(duì)美食進(jìn)行增刪改查操作

前置條件管理已登錄并進(jìn)入系統(tǒng)。

1.管理員點(diǎn)擊上架美食。

基本事件流

2.選擇分類(lèi)、輸入美食名、美食描述、價(jià)格、庫(kù)存并上傳

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖片(都不能為空),再點(diǎn)擊立即提交。

3.提交成功。

4.管理員輸入美食信息,進(jìn)行查詢(xún)。

5.管理點(diǎn)擊刪除,刪除美食。

6.管理員點(diǎn)擊編輯,修改美食信息。

7.用例終止。

其他事件流無(wú)

異常事件流提示錯(cuò)誤信息,操作人員確認(rèn)。

2.3.5美食分類(lèi)模塊的用例

美食分類(lèi)模塊的用例描述如圖2-10所示。主要功能是管理員對(duì)美食分類(lèi)進(jìn)

行添加、刪除、修改。

圖2-10美食分類(lèi)模塊用例圖

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。美食分類(lèi)模

塊活動(dòng)圖如圖2-11所示。

13

圖2-11美食分類(lèi)模塊活動(dòng)圖

對(duì)圖2-10用例圖,及圖2-11活動(dòng)圖的分析,得到每個(gè)用例的描述表。美

食分類(lèi)用例描述如表2-6所示。

表2-6美食分類(lèi)用例描述

項(xiàng)目描述

用例名稱(chēng)添加、刪除、修改美食分類(lèi)用例

用例標(biāo)識(shí)號(hào)06

參與者管理員

簡(jiǎn)要說(shuō)明管理員添加、刪除、修改美食分類(lèi)

前置條件管理員已登錄。

1.管理員點(diǎn)擊分類(lèi)管理功能。

2.輸入分類(lèi)代碼和分類(lèi)名稱(chēng)。

3.點(diǎn)擊添加。

4.添加成功。

5.管理員點(diǎn)擊刪除。

基本事件流6.再點(diǎn)擊確認(rèn)。

7.刪除成功。

8.管理員點(diǎn)擊編輯。

9.修改分類(lèi)名稱(chēng)

10.點(diǎn)擊更新,更新成功。

11.用例終止。

其他事件流無(wú)

異常事件流提示錯(cuò)誤信息,操作人員確認(rèn)。

2.3.6用戶(hù)信息管理模塊的用例

用戶(hù)信息管理模塊的用例描述如圖2-12所示。主要功能是管理員對(duì)注冊(cè)用

戶(hù)信息進(jìn)行查詢(xún)、修改、刪除的操作

圖2-12用戶(hù)信息管理模塊用例圖

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

通過(guò)對(duì)用例的細(xì)化,使用活動(dòng)圖針對(duì)系統(tǒng)動(dòng)態(tài)行為進(jìn)行建模。用戶(hù)信息管

理模塊活動(dòng)圖如圖2-13所示。

圖2-13用戶(hù)信息管理模塊活動(dòng)圖

對(duì)圖2-12用例圖,及圖2-13活動(dòng)圖的分析,得到每個(gè)用例的描述表。用

戶(hù)信息管理用例描述如表2-7所示。

表2-7用戶(hù)信息管理用例描述

項(xiàng)目描述

用例名稱(chēng)用戶(hù)信息管理

用例標(biāo)識(shí)號(hào)07

參與者管理員

簡(jiǎn)要說(shuō)明管理員對(duì)注冊(cè)用戶(hù)的信息進(jìn)行查詢(xún)、刪除、修改。

前置條件管理員已登錄

1.管理員點(diǎn)擊用戶(hù)管理。

2.管理員輸入用戶(hù)名或郵箱可查詢(xún)注冊(cè)用戶(hù)。

3.管理員點(diǎn)擊刪除。

基本事件流4.注冊(cè)用戶(hù)被刪除。

5.管理員點(diǎn)擊編輯,輸入要修改的用戶(hù)信息。

6.點(diǎn)擊確認(rèn),用戶(hù)信息修改成功。

7.用例終止。

其他事件流需先登錄。

異常事件流提示錯(cuò)誤信息,操作人員確認(rèn)。

15

3系統(tǒng)概要設(shè)計(jì)

3.1系統(tǒng)設(shè)計(jì)原則

主要描述軟件模塊的外觀和處理邏輯,并根據(jù)用戶(hù)交互過(guò)程和用戶(hù)需求形

成了交互框架和視覺(jué)框架。

首先,要遵循分層的規(guī)則。每一層都是一個(gè)相對(duì)獨(dú)立的部分,可以作為一

個(gè)整體,而不必對(duì)其他層了解太多;最小化層與層之間的依賴(lài)關(guān)系,即減少耦合;

在一定程度上替換一層而不影響其他層的能力;不能劃分太多的層,因?yàn)閷犹?/p>

會(huì)對(duì)性能產(chǎn)生影響。

最后,選擇合適的設(shè)計(jì)模式來(lái)應(yīng)用。設(shè)計(jì)模式就是人們對(duì)于過(guò)去解決某一

類(lèi)問(wèn)題的經(jīng)驗(yàn)總結(jié)。

3.2系統(tǒng)框架設(shè)計(jì)

根據(jù)系統(tǒng)的需求分析、用例建模分析結(jié)合開(kāi)發(fā)平臺(tái)的特點(diǎn)設(shè)計(jì)麥德好在線(xiàn)

訂餐系統(tǒng)的系統(tǒng)架構(gòu)模型。

分為基礎(chǔ)設(shè)施層、數(shù)據(jù)庫(kù)層、業(yè)務(wù)應(yīng)用層和用戶(hù)層?;A(chǔ)架構(gòu)層包括服務(wù)

器、存儲(chǔ)設(shè)備等,是系統(tǒng)運(yùn)行的基本保障。業(yè)務(wù)應(yīng)用層是指業(yè)務(wù)應(yīng)用系統(tǒng)的具

體功能模塊。數(shù)據(jù)庫(kù)層用于存儲(chǔ)系統(tǒng)數(shù)據(jù),包括系統(tǒng)配置數(shù)據(jù)、用戶(hù)管理數(shù)據(jù)

等。最后,用戶(hù)層為用戶(hù)提供系統(tǒng)入口,包括用戶(hù)管理系統(tǒng)、登錄注冊(cè)系統(tǒng)、

系統(tǒng)等。如圖3-1所示。

圖3-1麥德好在線(xiàn)訂餐系統(tǒng)整體架構(gòu)圖

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

3.3系統(tǒng)功能設(shè)計(jì)

系統(tǒng)模塊化結(jié)構(gòu)設(shè)計(jì)工作是在系統(tǒng)分析階段對(duì)子系統(tǒng)劃分的基礎(chǔ)上,在進(jìn)

一步地劃分,將它逐層的分解成多個(gè)大小相同、功能單一、具有一定獨(dú)立性的

模塊,能夠加強(qiáng)各個(gè)模塊的聯(lián)系,以及數(shù)據(jù)庫(kù)中數(shù)據(jù)之間的交互,可以更加直

觀的理解系統(tǒng)的功能。根據(jù)上文的需求分析和用例建模分析,本文確定了麥德

好在線(xiàn)訂餐系統(tǒng)的主要功能模塊,包括用戶(hù)登錄、購(gòu)物車(chē)管理、訂單管理、美

食管理、美食分類(lèi)和用戶(hù)信息管理。麥德好在線(xiàn)訂餐系統(tǒng)的功能結(jié)構(gòu)圖如圖3-2

所示,共有六大主要功能模塊。

圖3-2麥德好在線(xiàn)訂餐系統(tǒng)功能結(jié)構(gòu)圖

3.3.1登錄模塊功能設(shè)計(jì)

針對(duì)系統(tǒng)功能結(jié)構(gòu)圖進(jìn)行進(jìn)一步細(xì)化分析,得到各子模塊相關(guān)功能描述,

登錄模塊功能描述使用功能流程圖描述,如下圖3-3。

17

圖3-3登錄模塊流程圖

3.3.2購(gòu)物車(chē)管理模塊功能設(shè)計(jì)

購(gòu)物車(chē)管理模塊相關(guān)功能文字描述:

(1)操作前提是用戶(hù)已登錄。用戶(hù)可點(diǎn)擊菜品進(jìn)入詳情頁(yè),再點(diǎn)擊加入購(gòu)

物車(chē),頁(yè)面提示加入成功;

(2)用戶(hù)點(diǎn)擊購(gòu)物車(chē),可進(jìn)入購(gòu)物車(chē)管理頁(yè)面。用戶(hù)可選中想要?jiǎng)h除的菜

品,再點(diǎn)擊選中刪除按鈕,頁(yè)面提示刪除成功。用戶(hù)還可選中想要購(gòu)買(mǎi)的菜品,

再點(diǎn)擊立即購(gòu)買(mǎi)按鈕,填入收貨人姓名、地址、號(hào)碼3個(gè)信息(都不能為空且

電話(huà)號(hào)碼有一定格式),再點(diǎn)擊提交訂單按鈕,就顯示提交成功。

3.3.3訂單管理模塊功能設(shè)計(jì)

訂單管理模塊相關(guān)功能文字描述:

(1)本功能模塊操作用戶(hù)有管理員和用戶(hù)。

(2)用戶(hù)主要操作是進(jìn)入商品詳情頁(yè),進(jìn)行提交訂單操作;還可進(jìn)入我的

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

訂單頁(yè)查看訂單詳情,刪除歷史訂單。

(3)管理員主要操作是進(jìn)入后臺(tái)系統(tǒng)對(duì)用戶(hù)訂單進(jìn)行查詢(xún)、修改、刪除。

3.3.4美食管理模塊功能設(shè)計(jì)

美食管理模塊相關(guān)功能文字描述:

(1)本功能模塊操作用戶(hù)是管理員。

(2)管理員進(jìn)入后臺(tái)系統(tǒng)可上架美食,這時(shí)需要選擇分類(lèi),輸入美食名,

美食描述,價(jià)格,庫(kù)存量和上傳圖片,點(diǎn)擊立即提交,就上架美食成功,也可

點(diǎn)擊重置,重新輸入上架信息。

(3)管理員還可進(jìn)入美食列表,輸入美食ID或美食名查詢(xún)美食。還可刪

除美食、點(diǎn)擊編輯修改美食信息。

3.3.5美食分類(lèi)模塊功能設(shè)計(jì)

美食分類(lèi)模塊相關(guān)功能文字描述:

(1)本功能模塊操作用戶(hù)是管理員。

(2)管理員進(jìn)入后臺(tái)系統(tǒng)輸入分類(lèi)代碼和分類(lèi)名稱(chēng)添加美食類(lèi)別。

3.3.6用戶(hù)信息管理模塊功能設(shè)計(jì)

用戶(hù)信息管理模塊相關(guān)功能文字描述:

(1)本功能模塊操作用戶(hù)是管理員。

(2)管理員進(jìn)入后臺(tái)系統(tǒng)輸入用戶(hù)名或郵箱查詢(xún)注冊(cè)用戶(hù)。

(3)點(diǎn)擊編輯修改注冊(cè)用戶(hù)信息和點(diǎn)擊刪除,刪除用戶(hù)信息。

3.4數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)是對(duì)于一個(gè)給定的系統(tǒng),構(gòu)造優(yōu)化的數(shù)據(jù)庫(kù)邏輯模式和物

理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)。具體步驟是選定物理結(jié)構(gòu),并對(duì)其

進(jìn)行評(píng)價(jià)。能夠有效存儲(chǔ)和管理數(shù)據(jù),滿(mǎn)足各種用戶(hù)應(yīng)用需求,包括信息管理

要求和數(shù)據(jù)操作要求。

3.4.1設(shè)計(jì)原則

為取得較好的設(shè)計(jì)效果,進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)需要遵從以下原則:

(1)范式原則

數(shù)據(jù)庫(kù)設(shè)計(jì)要滿(mǎn)足規(guī)范化理論,根據(jù)應(yīng)用需求減少數(shù)據(jù)冗余,但不能完全

沒(méi)有冗余數(shù)據(jù),因?yàn)閿?shù)據(jù)庫(kù)恢復(fù)的基本原理就是冗余,利用冗余數(shù)據(jù)進(jìn)行數(shù)據(jù)

19

庫(kù)恢復(fù)。但是一個(gè)好的數(shù)據(jù)庫(kù)不能發(fā)生插入異常、刪除異常、修改異常。

(2)順序原則

數(shù)據(jù)庫(kù)設(shè)計(jì)共有六個(gè)步驟,需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物

理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)這幾個(gè)步驟,必須要按照順序一

步一步來(lái),可以提高數(shù)據(jù)庫(kù)設(shè)計(jì)的效率。

3.4.2概念設(shè)計(jì)

概念結(jié)構(gòu)設(shè)計(jì)主要是將需求分析階段所得到的應(yīng)用需求,抽象為信息世界

的結(jié)構(gòu)主要是E-R圖。然后才能更好、更準(zhǔn)確地用某一數(shù)據(jù)管理系統(tǒng)實(shí)現(xiàn)這些

需求。其E-R圖如下圖3-4所示。

圖3-4麥德好在線(xiàn)訂餐系統(tǒng)E-R圖

3.4.3邏輯設(shè)計(jì)

邏輯結(jié)構(gòu)設(shè)計(jì)主要是將概念結(jié)構(gòu)設(shè)計(jì)階段所得到的概念模型抽象為與選用

數(shù)據(jù)庫(kù)管理系統(tǒng)產(chǎn)品所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化,是用戶(hù)世界到信息

世界的第二層抽象。關(guān)系模式如下:

購(gòu)物車(chē)表shopping_cart(cart_id,user_id,food_id,price,quantity)

用戶(hù)信息表user_info(user_id,user_name,password,email,avatar,join

_time,address)

總訂單表orders(order_id,user_id,consignee_name,address,phone_num

ber,status,create_time)

20

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

訂單明細(xì)表order_item(order_item_id,order_id,food_id,price,quanti

ty)

美食表food(food_id,category_code,food_name,image,description,pri

ce,stock,create_time)

美食分類(lèi)表category(id,category_code,category_name)

3.4.4數(shù)據(jù)字典

shopping_cart表(購(gòu)物車(chē)表)的表結(jié)構(gòu)如表3-1所示,該表主要用于記錄購(gòu)

物車(chē)信息,主要字段為cart_id(購(gòu)物車(chē)ID),user_id(用戶(hù)ID),food_id(美

食ID),price(美食價(jià)格),quantity(購(gòu)買(mǎi)數(shù)量)。

表3-1shopping_cart表表結(jié)構(gòu)

字段名稱(chēng)數(shù)據(jù)類(lèi)型字段內(nèi)容主鍵設(shè)置非空

cart_idint(10)主鍵notnull

user_idint(10)notnull

food_idint(10)notnull

pricedecimal(10)notnull

quantityint(10)notnull

user_info表(用戶(hù)信息表)的表結(jié)構(gòu)如表3-2所示,該表主要用于記錄用

戶(hù)信息,主要字段為user_id(用戶(hù)ID),user_name(用戶(hù)名),password(用

戶(hù)密碼),email(用戶(hù)郵箱),avatar(用戶(hù)頭像),join_time(注冊(cè)時(shí)

間),address(用戶(hù)地址)。

表3-2user_info表表結(jié)構(gòu)

字段名稱(chēng)數(shù)據(jù)類(lèi)型字段內(nèi)容主鍵設(shè)置非空

user_idint(10)主鍵notnull

user_namevarchar(50)notnull

passwordvarchar(80)notnull

emailvarchar(80)notnull

avatarvarchar(255)notnull

join_timedatetime(0)notnull

addressvarchar(255)Null

orders表(總訂單表)的表結(jié)構(gòu)如表3-3所示,該表主要用于記錄總訂單

信息,主要字段為order_id(訂單ID),user_id(用戶(hù)ID),consignee_name

(收貨人姓名),address(收貨地址),phone_number(聯(lián)系方式),status(審

21

核狀態(tài)),create_time(創(chuàng)建時(shí)間)。

表3-3orders表表結(jié)構(gòu)

字段名稱(chēng)數(shù)據(jù)類(lèi)型字段內(nèi)容主鍵設(shè)置非空

order_idint(10)主鍵notnull

user_idint(10)notnull

consignee_namevarchar(10)notnull

addressvarchar(255)notnull

phone_numbervarchar(50)notnull

statusbit(1)notnull

create_timedatetime(0)notnull

order_item表(訂單明細(xì)表)的表結(jié)構(gòu)如表3-4所示,該表主要用于記錄

訂單明細(xì)信息,主要字段為order_item_id(訂單子項(xiàng)編號(hào)),order_id(訂單ID),

food_id(美食ID),price(價(jià)格),quantity(購(gòu)買(mǎi)數(shù)量)。

表3-4order_item表表結(jié)構(gòu)

字段名稱(chēng)數(shù)據(jù)類(lèi)型字段內(nèi)容主鍵設(shè)置非空

order_item_idint(10)主鍵notnull

order_idint(10)notnull

food_idint(10)notnull

pricedecimal(10)notnull

quantityint(10)notnull

food表(美食表)的表結(jié)構(gòu)如表3-5所示,該表主要用于記錄美食信息,

主要字段為food_id(美食ID),category_code(美食分類(lèi)代碼),food_name(美

食名稱(chēng)),image(美食圖片),description(美食描述),price(美食單價(jià)),

stock(美食庫(kù)存),create_time(上架時(shí)間)。

表3-5food表表結(jié)構(gòu)

字段名稱(chēng)數(shù)據(jù)類(lèi)型字段內(nèi)容主鍵設(shè)置非空

food_idint(10)主鍵notnull

category_codevarchar(20)null

food_namevarchar(50)notnull

imagevarchar(255)notnull

descriptionvarchar(500)notnull

pricedecimal(10)notnull

stockint(10)notnull

22

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

create_timedatetime(0)notnull

category(美食分類(lèi)表)的表結(jié)構(gòu)如表3-6所示,該表主要用于美食分類(lèi)

的信息,主要字段為id,category_code(分類(lèi)代碼),category_name(分類(lèi)名

稱(chēng))。

表3-6category表表結(jié)構(gòu)

字段名稱(chēng)數(shù)據(jù)類(lèi)型字段內(nèi)容主鍵設(shè)置非空

idint(11)主鍵notnull

category_codevarchar(20)主鍵notnull

category_namevarchar(20)notnull

數(shù)據(jù)庫(kù)設(shè)計(jì)總結(jié):數(shù)據(jù)庫(kù)共有六個(gè)表,每個(gè)表相互關(guān)聯(lián),滿(mǎn)足實(shí)體完整性、

參照完整性、用戶(hù)自定義完整性。體現(xiàn)了麥德好在線(xiàn)訂餐系統(tǒng)主要數(shù)據(jù)表。

4系統(tǒng)詳細(xì)設(shè)計(jì)

系統(tǒng)詳細(xì)設(shè)計(jì)主要是邏輯代碼的實(shí)現(xiàn),完成系統(tǒng)各個(gè)功能模塊的進(jìn)一步實(shí)現(xiàn)。

4.1登錄功能模塊設(shè)計(jì)

4.1.1登錄功能模塊說(shuō)明

登錄功能模塊主要實(shí)現(xiàn)普通用戶(hù)注冊(cè)登錄、管理員登錄、用戶(hù)退出操作,首

先用戶(hù)輸入相關(guān)信息后點(diǎn)擊注冊(cè)或登錄,這時(shí)LoginRegisterController類(lèi)接受用戶(hù)

請(qǐng)求,并調(diào)用LoginRegisterService接口,接口的實(shí)現(xiàn)類(lèi)也被調(diào)用,實(shí)現(xiàn)類(lèi)里的參數(shù)通過(guò)

pojo包下的User、Admin類(lèi)傳入。

4.1.2登錄功能模塊詳細(xì)設(shè)計(jì)

通過(guò)對(duì)登錄模塊需求分析,得到了登錄功能模塊的序列圖。如圖4-1所示。

圖4-1登錄功能模塊序列圖

通過(guò)對(duì)登錄模塊需求的分析,得到與登錄功能模塊靜態(tài)結(jié)構(gòu)類(lèi)圖,如圖4-2

所示。

23

圖4-2登錄功能模塊的類(lèi)圖

針對(duì)類(lèi)圖進(jìn)行進(jìn)一步細(xì)化分析,得到登錄功能模塊相關(guān)類(lèi)及方法描述表,

如下表4-1所示。

表4-1登錄功能模塊相關(guān)類(lèi)及方法描述表

類(lèi)名LoginRegisterController

接收用戶(hù)的登錄請(qǐng)求,調(diào)用service層,接收service層返回的

描述

數(shù)據(jù),最后返回具體的頁(yè)面和數(shù)據(jù)到客戶(hù)端。

屬性L(fǎng)oginRegisterService

userLoginHandler(),userRegisterHandler(),

方法adminLoginHandler(),userLogout(),adminLogout(),checkUse

rIsLoggedIn()

類(lèi)名LoginRegisterService

描述Service層的接口

屬性

方法userLogin(),userRegister(),adminLogin()

類(lèi)名LoginRegisterServiceImpl

描述LoginRegisterService接口的實(shí)現(xiàn)類(lèi),實(shí)現(xiàn)接口中的方法

屬性UserMapper

方法userLogin(),userRegister(),adminLogin()

24

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

類(lèi)名User

描述傳遞參數(shù)給service層

屬性u(píng)serId,userName,password,email,avatar,joinTime,address

setAddress(),getAddress(),getUserId(),setUserId(),getUs

方法erName(),setUserName(),getPassword(),setPassword(),getE

mail(),setEmail()

類(lèi)名Admin

描述傳遞參數(shù)給service層

屬性adminName,password

方法getPassword(),setPassword(),getAdminName()

4.2購(gòu)物車(chē)管理功能模塊設(shè)計(jì)

4.2.1購(gòu)物車(chē)管理功能模塊說(shuō)明

購(gòu)物車(chē)管理功能模塊主要是用戶(hù)對(duì)購(gòu)物車(chē)進(jìn)行增刪改操作,可以批量購(gòu)買(mǎi),

批量刪除,相關(guān)屬性和方法在下方體現(xiàn)。

4.2.2購(gòu)物車(chē)管理功能模塊詳細(xì)設(shè)計(jì)

通過(guò)對(duì)購(gòu)物車(chē)管理功能模塊需求分析,得到了購(gòu)物車(chē)管理功能模塊的序列

圖。如圖4-3所示。

圖4-3購(gòu)物車(chē)管理功能模塊序列圖

通過(guò)對(duì)購(gòu)物車(chē)管理功能模塊需求的分析,得到與購(gòu)物車(chē)管理功能模塊靜態(tài)

結(jié)構(gòu)類(lèi)圖,如圖4-4所示。

25

圖4-4購(gòu)物車(chē)管理功能模塊的類(lèi)圖

針對(duì)類(lèi)圖進(jìn)行進(jìn)一步細(xì)化分析,得到該購(gòu)物車(chē)管理功能模塊相關(guān)類(lèi)及方法

描述表,如下表4-2所示。

表4-2購(gòu)物車(chē)管理功能模塊相關(guān)類(lèi)及方法描述表

類(lèi)名ShoppingCartController

接收用戶(hù)的管理購(gòu)物車(chē)的請(qǐng)求(增刪改),調(diào)用service層,接收

描述

service層返回的數(shù)據(jù),最后返回具體的頁(yè)面和數(shù)據(jù)到客戶(hù)端。

屬性ShoppingCartService

getCartByUserId(),updateCartItem(),addToShoppingCart(),de

方法

leteCartItem()

類(lèi)名ShoppingCartService

描述Service層的接口

屬性

addToShoppingCart(),deleteShoppingCarts(),deleteShoppingC

方法artByCartId(),updateShoppingCart(),getShoppingCartsByUser

Id()

類(lèi)名ShoppingCartServiceImpl

描述ShoppingCartService接口的實(shí)現(xiàn)類(lèi),實(shí)現(xiàn)接口中的方法

屬性ShoppingCartMapper

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論