版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄[13-14]。由于MySQL是開源代碼的,所以任何人都可以在GeneralPublicLicense的許可下下載它,并根據(jù)個(gè)性化需求修改它。由于MySQL的速度,可靠性和適應(yīng)性,一直受到人們的關(guān)注。多數(shù)人認(rèn)為MySQL是管理內(nèi)容的最佳選擇,而無需進(jìn)行事務(wù)化處理。
第3章系統(tǒng)分析第3章系統(tǒng)分析訂餐系統(tǒng)可行性分析社會(huì)可行性分析民以食為天,任何人都離飲食。在科技日漸發(fā)達(dá)得現(xiàn)在,傳統(tǒng)的堂食,是無法被代替的,但傳統(tǒng)的堂食帶來的可能是長(zhǎng)時(shí)間的等待以及出行的不便等。而在美團(tuán),餓了么等外賣平臺(tái)的壓榨下,商家盈利會(huì)被壓低。在外賣商品成本不變,平臺(tái)成本升高的情況下,勢(shì)必會(huì)影響到商家得利益。供應(yīng)量和需求量在一個(gè)環(huán)境中,是一對(duì)相對(duì)平衡的存在。但是在傳統(tǒng)的外賣平臺(tái)的壓榨下,商家勢(shì)必會(huì)通過提高商品的價(jià)格來保持自身的盈利,或者是使用其他的平臺(tái),疫情中恢復(fù)的社會(huì),訂餐的需求量只會(huì)是增加。此時(shí),商家使用一種不通過傳統(tǒng)的美團(tuán)、餓了么平臺(tái)經(jīng)營(yíng)的方式會(huì)是一個(gè)更好的選擇。為此而設(shè)計(jì)的訂餐系統(tǒng)就符合社會(huì)可行性。技術(shù)可行性分析該系統(tǒng)是使用SSM框架技術(shù)進(jìn)行開發(fā)的。SSM框架技術(shù)在經(jīng)過多年的發(fā)展之后,技術(shù)體系成熟穩(wěn)定。根據(jù)項(xiàng)目的不同功能需求,它都會(huì)提供有相應(yīng)的技術(shù)來實(shí)現(xiàn)。通過使用Spring框架技術(shù)開發(fā),對(duì)Bean對(duì)象的控制反轉(zhuǎn),依賴注入,切面編程,使得開發(fā)更加簡(jiǎn)單容易。SpringMVC通過DisparcharServlet核心處理器讓請(qǐng)求響應(yīng)更加快速、明了。MyBatis框架提供有更為細(xì)致的SQL優(yōu)化,讓我們?cè)跀?shù)據(jù)處理層面上有了更好的處理方式。相比于傳統(tǒng)JavaEE開發(fā),基于SSM的訂餐系統(tǒng)在開發(fā)時(shí),只會(huì)更加清晰,容易,在技術(shù)可行性是行得通的。經(jīng)濟(jì)可行性分析經(jīng)濟(jì)可行性,體現(xiàn)在了開發(fā)成本的控制上,以及資金的需求上。由于項(xiàng)目的規(guī)模和面對(duì)的客戶群體較小,項(xiàng)目在設(shè)計(jì)時(shí)的難度會(huì)比較小,數(shù)據(jù)庫(kù)設(shè)計(jì)可選擇使用開源的MySQL,來存儲(chǔ)項(xiàng)目的數(shù)據(jù)。開源的MySQL數(shù)據(jù)庫(kù)在成本的控制上是一個(gè)很好的選擇。MySQL雖為開源,但是在一些中小型項(xiàng)目上,MySQL數(shù)據(jù)庫(kù)的性能是足以支撐整個(gè)項(xiàng)目業(yè)務(wù)。另一方面的話,本系統(tǒng)在適用的范圍上又是相較于一個(gè)比較固定環(huán)境中的訂餐,沒有過于復(fù)雜的環(huán)境需要應(yīng)對(duì)資金鏈上不需要太大得支持,業(yè)務(wù)處理也相對(duì)于比較穩(wěn)定。開發(fā)維護(hù)的成本也下相對(duì)要求較低。系統(tǒng)需求分析本系統(tǒng)功能實(shí)現(xiàn)包含了用戶訂餐、管理員管理。針對(duì)這兩方面,系統(tǒng)設(shè)計(jì)了兩個(gè)角色訂餐用戶以及系統(tǒng)管理員。訂餐用戶可以通過系統(tǒng)的前臺(tái)頁(yè)面進(jìn)行賬號(hào)的注冊(cè)、登陸、在前臺(tái)頁(yè)面進(jìn)行商品信息的瀏覽,并可以根據(jù)商品關(guān)鍵字進(jìn)行商品查找,商品頁(yè)面需要有商品加購(gòu)、下單功能。在我的購(gòu)物車中,可以對(duì)加入購(gòu)物車的商品數(shù)量修改、結(jié)算、支付的操作。在我的訂單模塊,可以查看訂單詳情,評(píng)價(jià)訂單,取消訂單等。訂餐用戶用例圖,如圖3.1所示。系統(tǒng)管理員需擁有所有的權(quán)限,為管理員擬實(shí)現(xiàn)功能,用戶管理、商品管理、評(píng)價(jià)管理、訂單管理、管理員管理、美食資訊分享管理等功能模塊。用戶管理提供對(duì)注冊(cè)用戶的包括設(shè)置會(huì)員、注銷用戶。商品管理提供對(duì)商品進(jìn)行增刪改,和商品分類功能。訂單管理提供管理員已支付訂單的詳情查看、訂單發(fā)貨和訂單取消。管理員管理模塊,用為權(quán)限管理控制,可以創(chuàng)建不同角色的管理員。系統(tǒng)管理員用例圖,如圖3.2所示。圖3.1訂餐用戶用例圖圖3.2管理員用例圖訂餐系統(tǒng)業(yè)務(wù)分析根據(jù)需求分析,該系統(tǒng)分為兩個(gè)大模塊,包含了系統(tǒng)的前臺(tái)和系統(tǒng)的后臺(tái)。系統(tǒng)前臺(tái)主要提供給訂餐用戶使用,用戶訂餐需要進(jìn)行登錄注冊(cè),用戶可以根據(jù)自身的需求進(jìn)行商品的瀏覽,并且可根據(jù)關(guān)鍵字進(jìn)行關(guān)鍵商品的查找。登錄用戶可通過選擇商品數(shù)量,將商品加入購(gòu)物車。用戶在支付購(gòu)物車中的商品之前,可以對(duì)商品的數(shù)量進(jìn)行修改、信息填寫。提交訂單之后,用戶在我的訂單模塊中進(jìn)行訂單的管理,包含了訂單明細(xì)、訂單評(píng)價(jià)、訂單售后。用戶還可通過美食分享模塊來分享自己的資訊、看法。后臺(tái)管理員模塊,通過后臺(tái)的登錄界面進(jìn)行登陸,對(duì)系統(tǒng)管理員提供有用戶管理、商品管理、評(píng)論管理、訂單管理、公告管理的模塊操作。擁有不同權(quán)限節(jié)點(diǎn)的管理員可以對(duì)以上對(duì)應(yīng)的模塊進(jìn)行操作權(quán)限,其中最為重要的是權(quán)限模塊,區(qū)分于后臺(tái)不同角色與系統(tǒng)管理員,也就是管理員管理模塊只能由系統(tǒng)管理員來維護(hù),在該模塊下提供有三個(gè)子模塊分別是,角色管理(添加不同的權(quán)限角色,并描述角色以及該角色擁有的權(quán)限列表)、權(quán)限管理(通過創(chuàng)建需要維護(hù)的URL路徑供角色管理使用,作為權(quán)限節(jié)點(diǎn))、管理員列表(對(duì)于能登陸后臺(tái)的管理員進(jìn)行CRUD的操作,維護(hù))。而創(chuàng)建的商家等管理員只能通過,系統(tǒng)管理員提供的權(quán)限節(jié)點(diǎn),對(duì)后臺(tái)的部分模塊進(jìn)行維護(hù)。第4章系統(tǒng)設(shè)計(jì)第4章系統(tǒng)設(shè)計(jì)系統(tǒng)功能設(shè)計(jì)該訂餐系統(tǒng)分為了前臺(tái)與后臺(tái)。前臺(tái)包含五個(gè)功能模塊,登錄注冊(cè)、商品瀏覽、我的購(gòu)物車、我的訂單、美食資訊分享。后臺(tái)提供了六個(gè)大的功能模塊,用戶管理、商品管理、評(píng)論管理、訂單管理、管理員管理、美食分享管理。如圖4.1所示圖4.1訂餐系統(tǒng)總體結(jié)構(gòu)主要功能模塊設(shè)計(jì)用戶登陸注冊(cè)前臺(tái)用戶在沒有登陸的情況下,用戶在前臺(tái)的頁(yè)面的操作中,只能對(duì)少數(shù)的功能模塊進(jìn)行操作,而無法進(jìn)行進(jìn)一步的操作,如商品的加購(gòu)物車,我的訂單模塊,美食分享等模塊就需要登陸才能操作,簡(jiǎn)單地將就是對(duì)用戶的登錄狀態(tài)的一個(gè)判斷攔截。在選擇登陸時(shí),如果沒有賬號(hào)則需要進(jìn)行注冊(cè)。商品瀏覽用戶在前臺(tái)進(jìn)行商品的瀏覽時(shí),用戶有多種方式,進(jìn)行商品瀏覽。系統(tǒng)設(shè)計(jì)有三個(gè)小功能模塊提供用戶的商品瀏覽,有商品分類,商品搜索,推薦區(qū),通過這三個(gè)功能模塊進(jìn)行商品瀏覽,以及加購(gòu)等。我的購(gòu)物車用戶在通過前臺(tái)瀏覽商品時(shí),如果用戶是處于登陸狀態(tài)下,可以將商品進(jìn)行加入購(gòu)物車,然后在我的購(gòu)物車模塊中可以對(duì)購(gòu)物車中的商品進(jìn)行數(shù)量的修改,支付操作。支付前進(jìn)行地址填寫,信息填寫,而后進(jìn)行訂單支付操作。我的訂單用戶可以對(duì)自己已支付的訂單進(jìn)行訂單明細(xì)的查看。對(duì)已完成的訂單,用戶可以根據(jù)不同的商品進(jìn)行評(píng)論,評(píng)論包含了對(duì)商品的評(píng)分以及評(píng)價(jià)。用戶對(duì)訂單進(jìn)行售后申請(qǐng),對(duì)于不想要的商品及時(shí)進(jìn)行訂單取消等操作。美食資訊分享登陸的用戶可以通過前臺(tái)分享自己的看法以及發(fā)現(xiàn)美食等等,但是需要后臺(tái)管理員進(jìn)行審核通過才行。用戶管理管理員在登陸之后,如果管理員有用戶管理的權(quán)限就可以進(jìn)行用戶列表查看,刪除用戶,設(shè)置用戶會(huì)員的操作。商品管理如果管理員有商品管理的權(quán)限,該管理員在該模塊可進(jìn)行商品操作和商品分類管理操作。商品管理操作包含了商品的新增、商品上下線、商品信息修改、商品刪除。商品分類管理包含了對(duì)分類添加、修改、刪除的操作。評(píng)論管理管理員對(duì)完成訂單的用戶所做出的評(píng)論進(jìn)行管理,對(duì)于像惡意評(píng)論管理員有權(quán)力對(duì)評(píng)論進(jìn)行刪除的操作。訂單管理管理員對(duì)用戶已經(jīng)支付生成的訂單進(jìn)行及時(shí)的響應(yīng),在該管理功能下,管理員對(duì)進(jìn)行訂單信息預(yù)覽(地址,狀態(tài)等)、訂單詳情的查看、訂單發(fā)貨操作,以及訂單取消操作。管理員管理管理員管理,該模塊主要提供給平臺(tái)的經(jīng)營(yíng)者使用,對(duì)不同角色的管理員進(jìn)行相關(guān)的權(quán)限控制。管理員管理提供有三個(gè)小模塊,角色管理(添加、修改、刪除不同權(quán)限的角色),權(quán)限管理(添加、修改、刪除相關(guān)權(quán)限節(jié)點(diǎn))、管理員列表(對(duì)不同權(quán)限管理員進(jìn)行添加、停用、修改、刪除的操作)。而擁有不同權(quán)限的管理員可以通過自己擁有的權(quán)限節(jié)點(diǎn)對(duì)系統(tǒng)進(jìn)行管理。相關(guān)的權(quán)限控制需要管理員建立不同的角色來完成。美食資訊分享管理管理員對(duì)用戶分享的資訊進(jìn)行審核,需要提供有審核和刪除功能。系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)基于SSM的訂餐系統(tǒng),根據(jù)需求設(shè)計(jì)的數(shù)據(jù)庫(kù)表分為兩大部分內(nèi)容,訂餐業(yè)務(wù)相關(guān)表和管理員權(quán)限控制相關(guān)表。訂餐業(yè)務(wù)相關(guān)表中包含了,用戶表、購(gòu)物車表、訂單表、商品表、商品分類表、評(píng)論表、以及美食分享表。權(quán)限控制相關(guān)表中包含有,管理員信息表、管理員角色表、角色表、權(quán)限路徑節(jié)點(diǎn)表,角色擁有權(quán)限節(jié)點(diǎn)表。通過E-R圖可以清晰地看出各表的關(guān)系以及結(jié)構(gòu)。數(shù)據(jù)庫(kù)的相關(guān)E-R如下。訂餐業(yè)務(wù)表E-R圖,如圖4.2所示。圖4.2訂餐業(yè)務(wù)表E-R圖管理員權(quán)限控制E-R圖,如圖4.3所示。前臺(tái)用戶信息表設(shè)計(jì)該表主要用于存放前臺(tái)用戶的賬號(hào)信息,它包含了賬戶、名稱、登陸密碼、地址信息、電話、賬號(hào)狀態(tài),該表用于記錄前臺(tái)用戶的信息,以及作為登陸校驗(yàn)的憑證。如表4.1所示。圖4.3權(quán)限控制相關(guān)表E-R圖表4.1customer字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idint11否主鍵數(shù)據(jù)唯一表示namevarchar100是用戶名稱passwordvarchar100是用戶密碼addressvarchar100是買家地址phonevarchar100是買家聯(lián)系方式statusint11是狀態(tài):0:普通用戶,1:會(huì)員購(gòu)物車表設(shè)計(jì)前臺(tái)用戶的購(gòu)物車表,包含的字段有,商品id,訂單id,買家id,以及購(gòu)買商品的數(shù)量,該表的作用就是用來記錄登陸用戶在瀏覽商品之后進(jìn)行的加購(gòu)物車的操作。將加入購(gòu)物車的商品,以及買家信息進(jìn)行數(shù)據(jù)的記錄。在購(gòu)物車表中的數(shù)據(jù)未提交前,對(duì)于產(chǎn)生的單條數(shù)據(jù),未設(shè)置oid,后臺(tái)的訂單表的話,通過購(gòu)物車中的oid進(jìn)行數(shù)據(jù)的關(guān)聯(lián)。如表4.2所示。表4.2orderitem字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idint11否主鍵數(shù)據(jù)唯一表示pidint11是商品idoidint11是訂單idcstidint11是買家idnumberint11是數(shù)量訂單表設(shè)計(jì)訂單表供前后臺(tái)使用,前臺(tái)用戶的查看,后臺(tái)管理員進(jìn)行訂單操作。在用戶通過購(gòu)物車中的數(shù)據(jù)選中,進(jìn)行訂單的提交之后,后端就會(huì)將操作的數(shù)據(jù),在購(gòu)物車表中進(jìn)行訂單oid賦值,以及向訂單表中添加相應(yīng)的數(shù)據(jù)。如表4.3所示。表4.3order字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idint11否主鍵數(shù)據(jù)唯一表示codevarchar255是訂單編號(hào),代碼addressvarchar255是買家地址statusint255是支付狀態(tài),0:未支付,1:正在發(fā)貨,2:已發(fā)貨,3:取消發(fā)貨csidint11是買家id商品表設(shè)計(jì)商品表,用來存儲(chǔ)商品的信息的表,前臺(tái)通過遍歷商品表以及分類表兩張表中的信息,將商品數(shù)據(jù)解析顯示到前臺(tái),而后臺(tái)管理員可對(duì)商品表,分類表進(jìn)行數(shù)據(jù)的CRUD操作,商品表,如表4.4所示;分類表如表4.5所示。表4.4product字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idint11否主鍵數(shù)據(jù)唯一表示namevarchar50是商品名稱pricefloat10是訂單商品價(jià)格zanint100是贊numberint100是銷量statusint10是狀態(tài),0:下線,1:上線imageurlvarchar100是商品圖片URLmiaoshuvarchar200是商品描述cidint11是分類idbidbigint11是商家id表4.5category字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idint11否主鍵數(shù)據(jù)唯一表示分類varchar255是分類名稱買家評(píng)論表設(shè)計(jì)評(píng)價(jià)表是用來存儲(chǔ)用戶完成訂單之后的評(píng)價(jià),包含了評(píng)價(jià)時(shí)間、內(nèi)容、星級(jí)、等內(nèi)容,對(duì)用戶已經(jīng)下單完成的訂單進(jìn)行評(píng)價(jià)操作后向表中添加數(shù)據(jù),而后臺(tái)的管理員可以對(duì)評(píng)價(jià)進(jìn)行管理操作,修改以及刪除等。評(píng)論表如4.6所示。
表4.6review字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idint11否主鍵數(shù)據(jù)唯一表示contentvarchar255是評(píng)論內(nèi)容cstidint11是買家idpidint11是商品idcreatetimedatetime0是創(chuàng)建時(shí)間starint11是評(píng)論星級(jí)后臺(tái)權(quán)限控制相關(guān)表設(shè)計(jì)管理員表中包含了管理員的信息,基本的字段信息,像賬號(hào)、密碼、狀態(tài)登陸記錄等,其中字段salt,在生成管理員的時(shí)候,后端為了安全起見對(duì)于管理員的密碼進(jìn)行了加鹽的處理。管理員表的操作都在后臺(tái),后臺(tái)的管理員管理模塊提供了對(duì)該表的操作,管理員表詳細(xì)如表,整個(gè)后臺(tái)功能中除去對(duì)用戶、商家、訂單、評(píng)論模塊的操作的話,最為重要的就是權(quán)限管理了。權(quán)限管理控制的實(shí)現(xiàn)體現(xiàn)在,管理員管理模塊,在數(shù)據(jù)庫(kù)設(shè)計(jì)中主要由五張表構(gòu)成。管理員表(表4.7)、管理員權(quán)限配置表(4.8)、權(quán)限角色表(4.9)、角色權(quán)限路徑表(4.10)、角色權(quán)限路徑表(4.11)。表4.7user字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idint20否主鍵數(shù)據(jù)唯一表示namevarchar255是管理員姓名passwordint100是管理員密碼saltint100是加鹽字段statusdatetime10是狀態(tài),1:?jiǎn)⒂茫?:停用addressint100是商家,管理員地址phonevarchar50是管理員電話lasttimedatetime0是最后登陸時(shí)間表4.8user_role字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idbigint11否主鍵數(shù)據(jù)唯一表示uidbigint255是管理員idridbigint11是權(quán)限角色id表4.9role字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idbigint20否主鍵數(shù)據(jù)唯一表示namevarchar100是權(quán)限角色名稱descvachar100是權(quán)限角色描述表4.10permission字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idbigint11否主鍵數(shù)據(jù)唯一表示namevarchar100是路徑名稱descvarchar100是路徑描述urlvarchar100是路徑表4.11role_permission字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idbigint20否主鍵數(shù)據(jù)唯一表示ridbigint20是角色idpidbigint20是路徑id用戶資訊分享表設(shè)計(jì)存儲(chǔ)前臺(tái)用戶分享的美食資訊信息,而后臺(tái)管理員可以對(duì)資訊進(jìn)行管理審核。如下表4.12所示。
表4.12zixun字段名字段數(shù)據(jù)類型長(zhǎng)度字段是否允許為空鍵字段說明idint11否主鍵數(shù)據(jù)唯一標(biāo)識(shí)contentvarchar1000是咨詢內(nèi)容cstidint11是買家idstatusint255是審核狀態(tài),1:通過,0:未通過fabudatedatetime0是發(fā)布時(shí)間系統(tǒng)詳細(xì)設(shè)計(jì)本節(jié)主要依據(jù)需求分析,結(jié)合項(xiàng)目的業(yè)務(wù)流程圖對(duì)系統(tǒng)的架構(gòu)設(shè)計(jì)進(jìn)行簡(jiǎn)要的分析以及介紹。控制層設(shè)計(jì):項(xiàng)目中的Controller目錄下,對(duì)于用戶的請(qǐng)求進(jìn)行響應(yīng),根據(jù)需求調(diào)用響應(yīng)的service處理請(qǐng)求,并根據(jù)就返回的結(jié)果,對(duì)用戶響應(yīng)相應(yīng)的處理后的視圖模型。業(yè)務(wù)層設(shè)計(jì):項(xiàng)目中的Service目錄下,業(yè)務(wù)層為各個(gè)模塊的業(yè)務(wù)操作進(jìn)行細(xì)化。并根據(jù)不同的需求進(jìn)行不同的業(yè)務(wù)邏輯處理,在控制層調(diào)用業(yè)務(wù)層的方法時(shí),業(yè)務(wù)層會(huì)調(diào)用持久層相對(duì)應(yīng)的方法來完成一個(gè)業(yè)務(wù)功能。持久層設(shè)計(jì):項(xiàng)目中的Dao目錄下持久層主要使用MyBatis技術(shù),而MyBatis底層封裝了JDBC。主要負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)的調(diào)用獲取以及數(shù)據(jù)的封裝與解封裝處理,使得各模塊能更加專注于自己的業(yè)務(wù)。第5章系統(tǒng)實(shí)現(xiàn)第5章系統(tǒng)實(shí)現(xiàn)登陸注冊(cè)實(shí)現(xiàn)前臺(tái)需要對(duì)用戶的登錄狀態(tài)進(jìn)行判斷,對(duì)未登錄用戶進(jìn)行相關(guān)頁(yè)面的攔截,攔截請(qǐng)求之后進(jìn)行登錄界面的重定向。通過自定義LoginInterceptor攔截類去繼承SpringMVC的HandlerInterceptorAdapter攔截器,在類中對(duì)攔截器中的preHandle方法進(jìn)行重寫來實(shí)現(xiàn)。登錄驗(yàn)證流程圖,如圖5.1所示。圖5.1登陸注冊(cè)流程圖注冊(cè)頁(yè)面,如圖5.2.圖5.2注冊(cè)界面圖5.3登錄界面商品瀏覽實(shí)現(xiàn)商品瀏覽模塊:用戶在未登錄的狀態(tài)下可以進(jìn)行商品瀏覽操作,其可通過三個(gè)方式進(jìn)行商品瀏覽查詢:分別美食分類、商品關(guān)鍵字搜索、商品推薦區(qū)。商品瀏覽實(shí)現(xiàn)流程圖,如圖5.4所示。圖5.4商品瀏覽流程圖商品分類瀏覽通過分類用戶可以選擇不同分類進(jìn)行商品瀏覽,商品分類展示,如圖5.5所示。圖5.5商品模塊商品搜索用戶通過使用關(guān)鍵字進(jìn)行商品的查找,商品搜索模塊,如圖5.6所示。圖5.6商品搜索商品關(guān)鍵字搜索接口實(shí)現(xiàn):通過輸入框輸入的關(guān)鍵字,在數(shù)據(jù)庫(kù)進(jìn)行模糊查找。獲取含有關(guān)鍵字的數(shù)據(jù)。關(guān)鍵代碼如圖5.7所示。圖5.7商品搜索接口商品推薦區(qū)推薦的商品,實(shí)現(xiàn)的話是在頁(yè)面進(jìn)行一些固定的商品輪播,推薦比如一些熱門的商品,也可以設(shè)置成隨機(jī)的商品。商品推薦區(qū)模塊,如圖5.8所示。圖5.8推薦區(qū)輪播圖我的購(gòu)物車實(shí)現(xiàn)用戶通過在購(gòu)物車中挑選、操作自己加購(gòu)的商品進(jìn)行支付,再填寫地址信息,以及聯(lián)系信息進(jìn)行訂單的提交。在提交后,后端接口會(huì)跟據(jù)提交的信息生成相應(yīng)的訂單數(shù)據(jù)。我的購(gòu)物車實(shí)現(xiàn)流程圖,如圖5.9所示。圖5.9我的購(gòu)物車流程圖我的購(gòu)物車前臺(tái)頁(yè)面實(shí)現(xiàn),如圖5.10所示。圖5.10我的購(gòu)物車提交訂單前臺(tái)頁(yè)面實(shí)現(xiàn)。如圖5.11所示。圖5.11提交訂單購(gòu)物車中支付前的選中的購(gòu)物車中的商品價(jià)格計(jì)算的實(shí)現(xiàn)。關(guān)鍵代碼如圖5.12和圖5.13所示。圖5.12單價(jià)計(jì)算圖5.13單價(jià)計(jì)算我的訂單模塊的實(shí)現(xiàn)用戶可以通過該模塊對(duì)訂單進(jìn)行評(píng)論售后等操作,后端接口會(huì)對(duì)相應(yīng)的操作做出響應(yīng)。我的訂單功能實(shí)現(xiàn)流程圖,如圖5.14所示。圖5.14我的訂單流程圖前臺(tái)我的訂單頁(yè)面展示。如圖5.15所示圖5.15訂單模塊點(diǎn)擊我的訂單時(shí),在頁(yè)面中會(huì)返回我的訂單的相關(guān)數(shù)據(jù)。訂單數(shù)據(jù)獲取的實(shí)現(xiàn)是通過,先獲取當(dāng)前的頁(yè)面狀態(tài)中的session信息,根據(jù)session信息中的用戶id來從數(shù)據(jù)庫(kù)中獲取該用戶的訂單信息。實(shí)現(xiàn)的關(guān)鍵代碼如圖5.16所示。圖5.16訂單數(shù)據(jù)的獲取訂單模塊評(píng)論功能的關(guān)鍵代碼。如圖5.17所示圖5.17評(píng)論實(shí)現(xiàn)用戶管理模塊的實(shí)現(xiàn)用戶管理模塊提供有設(shè)置會(huì)員以及刪除用戶兩個(gè)管理功能。后臺(tái)用戶管理模塊實(shí)現(xiàn)流程圖。如圖5.18所示圖5.18用戶管理流程圖用戶管理的后臺(tái)頁(yè)面。如圖5.19所示。后臺(tái)設(shè)置會(huì)員關(guān)鍵代碼。如圖5.20所示。圖5.19用戶管理圖5.20設(shè)置會(huì)員商品管理模塊的實(shí)現(xiàn)商品管理模塊,提供有兩個(gè)小的子模塊,分別是,商品列表、商品分類管理,而商品列表的話提供了添加商品、啟用商品、修改商品、刪除商品等功能,商品分類管理提供有添加分類、修改分類、刪除分類的功能。商品管理流程圖如圖5.21所示:圖5.21商品管理流程圖后臺(tái)商品管理模塊,以及商品分類模塊。如圖5.22和圖5.23所示商品新增的功能中,前端傳輸?shù)胶蠖说男畔唐沸畔?,以及通過文件上傳的商品圖片數(shù)據(jù),新增商品關(guān)鍵代碼如圖5.24所示。商品修改關(guān)鍵代碼,如圖5.25所示。圖5.22商品列表圖5.23商品分類圖5.24新增商品圖5.25商品修改評(píng)論管理模塊的實(shí)現(xiàn)后臺(tái)的評(píng)論管理模塊,提供有對(duì)評(píng)論模塊的審核,對(duì)于惡意評(píng)論的用戶進(jìn)行評(píng)論的刪除。審核通過的評(píng)論可以顯示在前臺(tái)商品的評(píng)論區(qū)。評(píng)論管理流程圖,如圖5.26所示。圖5.26評(píng)論管理流程圖后臺(tái)訂單評(píng)論管理模塊。如圖5.27所示圖5.27評(píng)論管理訂單管理模塊的實(shí)現(xiàn)在訂單管理模塊中,系統(tǒng)為管理員提供了訂單的列表,訂單的發(fā)貨,訂單取消,以及訂單查看的功能。訂單管理流程圖,如圖5.28,訂單管理后臺(tái)頁(yè)面如圖5.29所示圖5.28訂單管理流程圖圖5.29訂單管理訂單管理接口中,訂單發(fā)貨和取消訂單,是通過修改訂單中的狀態(tài)碼來實(shí)現(xiàn)訂單的不同狀態(tài),實(shí)現(xiàn)關(guān)鍵代碼。如圖5.30所示。圖5.30訂單管理接口管理員管理實(shí)現(xiàn)后臺(tái)管理員管理模塊該模塊是后臺(tái)管理員權(quán)限管理的核心模塊,后臺(tái)組件展示如圖,管理員管理分為三個(gè)小模塊,分別為角色管理、權(quán)限節(jié)點(diǎn)管理、以及管理員管理。管理員管理流程圖,如圖5.31所示。后臺(tái)管理員列表,如圖5.32所示。角色管理實(shí)現(xiàn),如圖5.33所示。后臺(tái)權(quán)限節(jié)點(diǎn),如圖5.34所示。系統(tǒng)管理員的對(duì)管理員管理業(yè)務(wù)流程,系統(tǒng)管理員通過密碼登錄到后臺(tái),對(duì)管理員管理模塊進(jìn)行操作,先添加權(quán)限節(jié)點(diǎn),再添加角色,而后創(chuàng)建管理員。在最初始的狀態(tài)下,系統(tǒng)管理員需要通過添加需要做權(quán)限控制的路徑,進(jìn)行權(quán)限節(jié)點(diǎn)的添加,在權(quán)限管理中,對(duì)系統(tǒng)管理員提供有權(quán)限節(jié)點(diǎn)的創(chuàng)建、修改、禁用啟用的操作。如圖5.35權(quán)限創(chuàng)建所示。權(quán)限節(jié)點(diǎn)進(jìn)行添加之后,添加的權(quán)限節(jié)點(diǎn),就作為控制的權(quán)限,提供給系統(tǒng)管理員創(chuàng)建管理員的時(shí)候使用。創(chuàng)建完成權(quán)限節(jié)點(diǎn)之后,系統(tǒng)管理員就需要進(jìn)行權(quán)限角色的創(chuàng)建(如圖5.36)。角色管理的小模塊提供有對(duì)管理角色提供修改,停用啟用的功能。管理員在完成權(quán)限節(jié)點(diǎn)和角色創(chuàng)建之后,進(jìn)行管理員的創(chuàng)建(如圖5.37)。系統(tǒng)管理員創(chuàng)建管理員信息,設(shè)置管理員角色,通過不同權(quán)限角色來控制不同管理員的權(quán)限。在創(chuàng)建管理員時(shí)還通過Shrio安全框架,對(duì)創(chuàng)建的密碼進(jìn)行一個(gè)加鹽處理,再存入數(shù)據(jù)庫(kù)。創(chuàng)建管理員的關(guān)鍵代碼,如圖5.38所示。后臺(tái)管理員的權(quán)限控制使用了Shiro框架進(jìn)行權(quán)限節(jié)點(diǎn)的控制。對(duì)不同的管理員角色,會(huì)進(jìn)行一個(gè)權(quán)限驗(yàn)證,根據(jù)管理員角色訪問的權(quán)限節(jié)點(diǎn)以及管理員所擁有的權(quán)限節(jié)點(diǎn)進(jìn)行判斷,判斷管理員是否有權(quán)訪問節(jié)點(diǎn)。權(quán)限攔截判斷的實(shí)現(xiàn),是通過自定義一個(gè)URLPathMatchingFilter類,它繼承了Shiro框架的PathMatchingFilter過濾器。通過這個(gè)類來實(shí)現(xiàn)權(quán)限的控制。實(shí)現(xiàn)的關(guān)鍵代碼邏輯如圖5.39和圖5.40所示。通過該類實(shí)現(xiàn)了系統(tǒng)后臺(tái)權(quán)限控制,如當(dāng)使用創(chuàng)建的游客賬戶(只提供查看權(quán)限)登錄系統(tǒng)時(shí),游客對(duì)用戶管理模塊進(jìn)行操作時(shí)提示權(quán)限不足如圖5.41所示。圖5.31管理員管理流程圖圖5.32管理員管理圖5.33角色管理圖5.34權(quán)限節(jié)點(diǎn)圖5.35權(quán)限節(jié)點(diǎn)創(chuàng)建圖5.36角色創(chuàng)建圖5.37管理員創(chuàng)建圖5.38添加管理員圖5.39攔截控制圖5.40攔截控制圖5.41權(quán)限控制演示美食資訊分享實(shí)現(xiàn)美食分享模塊的實(shí)現(xiàn)相對(duì)比較簡(jiǎn)單,對(duì)于該模塊提供有審核通過,刪除兩個(gè)功能。審核功能的實(shí)現(xiàn),是通過修改美食表中的狀態(tài)status字段的數(shù)據(jù),1表示通過,0表示未通過。美食分享流程圖,如圖5.42所示。圖5.42美食資訊分享流程圖美食管理實(shí)現(xiàn),如圖4.43所示。圖5.43美食分享
第6章系統(tǒng)測(cè)試第6章系統(tǒng)測(cè)試系統(tǒng)測(cè)試內(nèi)容系統(tǒng)測(cè)試是各系統(tǒng)在開發(fā)周期中必不可少的一個(gè)環(huán)節(jié),它確保了系統(tǒng)在上線時(shí)能穩(wěn)定的運(yùn)行,為系統(tǒng)提供質(zhì)量上的保障,是整個(gè)體統(tǒng)開發(fā)結(jié)束前的最后一道關(guān)卡。進(jìn)行項(xiàng)目測(cè)試的主要方式有兩種:黑盒測(cè)試和白盒測(cè)試。對(duì)本系統(tǒng)的測(cè)試,將選擇使用黑盒測(cè)試。對(duì)本系統(tǒng)的核心功能進(jìn)行測(cè)試。核心功能:前臺(tái)商品瀏覽、我的購(gòu)物車、我的訂單、商品管理、訂單管理、管理員管理。系統(tǒng)功能測(cè)試用例商品瀏覽測(cè)試用例,如表6.1所示。表6.1商品瀏覽測(cè)試用例測(cè)試編號(hào)測(cè)試用例名稱測(cè)試流程內(nèi)容測(cè)試預(yù)期結(jié)果測(cè)試結(jié)果完成度Test_Demo1商品分類瀏覽通過分類“午餐套餐”進(jìn)行商品瀏覽顯示商品的結(jié)果與數(shù)據(jù)庫(kù)數(shù)據(jù)一致與預(yù)期結(jié)構(gòu)一致通過Test_Demo2商品分類瀏覽通過分類“奶茶專區(qū)”進(jìn)行商品瀏覽顯示商品的結(jié)果與數(shù)據(jù)庫(kù)數(shù)據(jù)一致與預(yù)期結(jié)構(gòu)一致通過Test_Demo3商品搜索瀏覽輸入“黃燜雞”查詢到商品“黃燜雞米飯”與預(yù)期結(jié)構(gòu)一致通過Test_Demo4商品搜索瀏覽輸入“蘋果”查詢結(jié)果為空與預(yù)期結(jié)構(gòu)一致通過Test_Demo5商品搜索瀏覽輸入“奶茶”查詢到多條奶茶商品數(shù)據(jù)與預(yù)期結(jié)構(gòu)一致通過我的購(gòu)物車測(cè)試用例,如表6.2所示表6.2我的購(gòu)物車測(cè)試用例測(cè)試編號(hào)測(cè)試用例名稱測(cè)試流程內(nèi)容測(cè)試預(yù)期結(jié)果測(cè)試結(jié)果完成度Test_Demo1商品加購(gòu)加購(gòu)商品“紅豆布丁”數(shù)量為2購(gòu)物車顯示數(shù)據(jù)商品“紅豆布丁燒奶”,數(shù)量為2與預(yù)期結(jié)構(gòu)一致通過Test_Demo2商品加購(gòu)加購(gòu)商品“蜜汁牛排飯”數(shù)量為1購(gòu)物車顯示數(shù)據(jù)商品“蜜汁牛排飯”,數(shù)量為1與預(yù)期結(jié)構(gòu)一致通過Test_Demo3商品購(gòu)物車結(jié)算結(jié)算Test_Deme1和Test_Demo2加購(gòu)數(shù)的商品購(gòu)物車結(jié)算數(shù)據(jù)應(yīng)為34.4與預(yù)期結(jié)構(gòu)一致通過我的訂單測(cè)試用例,如表6.3所示表6.3我的購(gòu)物車測(cè)試用例測(cè)試編號(hào)測(cè)試用例名稱測(cè)試流程內(nèi)容測(cè)試預(yù)期結(jié)果測(cè)試結(jié)果完成度Test_Demo1我的訂單瀏覽提交訂單表6.2.2中Test_Demo3數(shù)據(jù)我的訂單中出現(xiàn)已完成訂單蜜汁牛排飯*1、紅豆布丁燒奶*2、價(jià)格34.4與預(yù)期結(jié)構(gòu)一致通過Test_Demo2商品評(píng)價(jià)對(duì)“蜜汁牛排飯”進(jìn)行評(píng)價(jià)在商品中評(píng)價(jià)中出現(xiàn)測(cè)試的評(píng)價(jià),評(píng)論管理中出現(xiàn)對(duì)該訂單商品評(píng)論與預(yù)期結(jié)構(gòu)一致通過Test_Demo3商品申請(qǐng)售后點(diǎn)擊申請(qǐng)售后提示商家電話,后臺(tái),訂單狀態(tài)的修改與預(yù)期結(jié)構(gòu)一致通過商品管理測(cè)試用例,如表6.4所示。表6.4商品管理測(cè)試用例測(cè)試用例編號(hào)測(cè)試用例名稱測(cè)試內(nèi)容測(cè)試預(yù)期結(jié)果測(cè)試結(jié)果完成度Test_Demo1商品創(chuàng)建創(chuàng)建商品“鹵肉配牛丸”,價(jià)格45,商品圖片顯示商品數(shù)據(jù)與數(shù)據(jù)庫(kù)數(shù)據(jù)一致與預(yù)期結(jié)構(gòu)一致通過Test_Demo2商品創(chuàng)建創(chuàng)建商品“雪花雞排飯”,價(jià)格42,商品圖片顯示商品數(shù)據(jù)與數(shù)據(jù)庫(kù)數(shù)據(jù)一致與預(yù)期結(jié)構(gòu)一致通過Test_Demo3商品下線點(diǎn)擊商品下線商品下線成功與預(yù)期結(jié)構(gòu)一致通過Test_Demo4商品修改修改“鹵肉配牛丸”價(jià)格為40價(jià)格修改成功與預(yù)期結(jié)構(gòu)一致通過Test_Demo5商品刪除點(diǎn)擊刪除商品“java”刪出成功與預(yù)期結(jié)構(gòu)一致通過訂單管理測(cè)試用例,如表6.5所示。表6.5訂單管理測(cè)試用例測(cè)試用例編號(hào)測(cè)試用例名稱測(cè)試流程內(nèi)容測(cè)試預(yù)期結(jié)果測(cè)試結(jié)果完成度Test_Demo1訂單詳情點(diǎn)擊訂單詳情顯示訂單數(shù)據(jù)與預(yù)期結(jié)構(gòu)一致通過Test_Demo2訂單發(fā)貨點(diǎn)擊訂單發(fā)貨訂單狀態(tài)發(fā)生改變,為“已發(fā)貨”,用戶界面,訂單狀態(tài)為“已發(fā)貨”與預(yù)期結(jié)構(gòu)一致通過續(xù)表6.5訂單管理測(cè)試用例測(cè)試用例編號(hào)測(cè)試用例名稱測(cè)試流程內(nèi)容測(cè)試預(yù)期結(jié)果測(cè)試結(jié)果完成度Test_Demo3訂單取消點(diǎn)擊訂單取消訂單狀態(tài)發(fā)生改變,為“已取消”,用戶界面,訂單狀態(tài)為“已取消”與預(yù)期結(jié)構(gòu)一致通過管理員管理測(cè)試用例,如表6.6所示。表6.6管理員管理測(cè)試用例測(cè)試用例編號(hào)測(cè)試用例名稱測(cè)試流程內(nèi)容測(cè)試預(yù)期結(jié)果測(cè)試結(jié)果完成度Test_Demo1新增管理員新增角色為游客的管理員“張三”,密碼“root2121”后臺(tái)登陸成功對(duì)于后臺(tái)的功能模塊,張三只能查看,其他操作提示“權(quán)限不足”與預(yù)期結(jié)構(gòu)一致通過Test_Demo2新增管理員新增角色為商家管理員的管理員“李四”,密碼“root1212”后臺(tái)登陸成功對(duì)于后臺(tái)的功能模塊,李四能操作大部分功能,操作管理員管理模塊,提示“權(quán)限不足”與預(yù)期結(jié)構(gòu)一致通過Test_Demo3管理員停用點(diǎn)擊張三的管理員停用按鈕張三管理員被停用與預(yù)期結(jié)構(gòu)一致通過Test_Demo4管理員修改信息修改李四的密碼為12121212密碼修改成功,并且能夠重新登陸后臺(tái)與預(yù)期結(jié)構(gòu)一致通過Test_Demo5管理員刪除點(diǎn)擊刪除“張三”管理員“張三”管理員,刪除成功與預(yù)期結(jié)構(gòu)一致通過結(jié)論結(jié)論本系統(tǒng)是基于SSM框架和MySQL數(shù)據(jù)庫(kù)設(shè)計(jì)完成的。訂餐系統(tǒng)在實(shí)現(xiàn)上,可以滿足用戶訂餐的需求、用戶通過前臺(tái)進(jìn)行商品的加購(gòu)、下單、售后等,來達(dá)到訂餐的目的。商家通過平臺(tái)將自己的商品發(fā)布出去,達(dá)到銷售商品的目的,并且有一個(gè)更好的利潤(rùn)。以及系統(tǒng)的經(jīng)營(yíng)者能夠輕松的經(jīng)營(yíng)和維護(hù)該系統(tǒng)。雖然該訂餐系統(tǒng)實(shí)現(xiàn)的功能能夠滿足使用者的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育學(xué)教育心理學(xué)常考試題及答案l
- 玉林市博白縣輔警考試題《公安基礎(chǔ)知識(shí)》綜合能力試題庫(kù)附答案
- 高頻數(shù)據(jù)的面試題及答案
- 中醫(yī)婦產(chǎn)科試題及答案
- 2025醫(yī)院感染知識(shí)試題題庫(kù)(有參考答案)
- 高頻煤炭地質(zhì)勘探隊(duì)面試題及答案
- 金屬非金屬礦井通風(fēng)作業(yè)考試題庫(kù)試卷附答案
- 二建法規(guī)歷年真題答案及解析
- 《安全生產(chǎn)法》考試試題及答案
- (完整版)安全生產(chǎn)法律法規(guī)安全知識(shí)試題答案
- 臨床提高吸入劑使用正確率品管圈成果匯報(bào)
- 娛樂場(chǎng)所安全管理規(guī)定與措施
- GB/T 45701-2025校園配餐服務(wù)企業(yè)管理指南
- 電影項(xiàng)目可行性分析報(bào)告(模板參考范文)
- 老年協(xié)會(huì)會(huì)員管理制度
- LLJ-4A車輪第四種檢查器
- 大索道竣工結(jié)算決算復(fù)審報(bào)告審核報(bào)告模板
- 2025年南充市中考理科綜合試卷真題(含標(biāo)準(zhǔn)答案)
- JG/T 3049-1998建筑室內(nèi)用膩予
- 人衛(wèi)基礎(chǔ)護(hù)理學(xué)第七版試題及答案
- 煙草物流寄遞管理制度
評(píng)論
0/150
提交評(píng)論