版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
目錄緒論本章節(jié)主要對網(wǎng)上訂餐類系統(tǒng)的研究背景和研究現(xiàn)狀進(jìn)行了詳細(xì)的分析。介紹了開展本課題的原因與目標(biāo)以及對現(xiàn)有的研究基礎(chǔ)進(jìn)行介紹。1.1研究背景針對網(wǎng)絡(luò)信息化的不斷發(fā)展與進(jìn)步,為了滿足人們就餐快捷性的需求,基于JavaWeb的網(wǎng)上訂餐系統(tǒng)[1]作為新型的訂餐服務(wù)模式,它將傳統(tǒng)的訂餐服務(wù)與互聯(lián)網(wǎng)技術(shù)相結(jié)合,為消費者提供更加便捷、快速、安全的訂餐服務(wù)。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和普及,越來越多的人開始使用網(wǎng)上訂餐服務(wù),這也促使了網(wǎng)上訂餐系統(tǒng)的不斷完善和發(fā)展[2]。在傳統(tǒng)的訂餐服務(wù)中,消費者需要親自前往餐廳點餐,而且會經(jīng)歷等待上菜、結(jié)賬等繁瑣的流程,而網(wǎng)上訂餐系統(tǒng)則可以讓消費者在家或辦公室中輕松地完成訂餐、支付等操作,大大提高了消費者的用餐體驗?;贘avaWeb的網(wǎng)上訂餐系統(tǒng)是一種具有廣泛應(yīng)用前景的新型訂餐服務(wù)模式[3],它可以為消費者提供更加便捷、快速、安全的訂餐服務(wù),同時也可以為餐廳提供更加高效、精準(zhǔn)的訂單管理,是一種值得推廣和應(yīng)用的新型訂餐服務(wù)模式。缺乏網(wǎng)上訂餐系統(tǒng)會讓消費者的生活更加忙碌和疲憊?,F(xiàn)代人的工作壓力大,用餐的時間很短,而網(wǎng)上訂餐的發(fā)展可以為人們節(jié)省時間和精力,讓他們有更多的時間去做自己想做的事情。此外,網(wǎng)上訂餐系統(tǒng)還可以提供更加豐富、多樣的餐飲選擇,滿足人們不同口味的需求。因此,網(wǎng)上訂餐系統(tǒng)的發(fā)展對于改善人們的生活情緒和提高生活質(zhì)量具有重要意義[4]。該系統(tǒng)將針對當(dāng)前網(wǎng)上訂餐系統(tǒng)中存在的問題,如傳統(tǒng)消費模式的影響和消費群體的差異等,進(jìn)行改進(jìn)并提出一些對策。為不同人群提供最合適的服務(wù)。1.2研究現(xiàn)狀中國互聯(lián)網(wǎng)的發(fā)展也已經(jīng)滲透到每個家庭,給人們帶來了很多便利,計算機(jī)普及的時代即將到來。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和完善,從餐飲到金融行業(yè)的在線服務(wù)已經(jīng)逐漸成熟,就像網(wǎng)上訂餐系統(tǒng)[5-7]一樣。專門從事網(wǎng)上訂餐行業(yè)的網(wǎng)站逐漸進(jìn)入人們的網(wǎng)絡(luò)生活,并實現(xiàn)了現(xiàn)實生活和網(wǎng)絡(luò)生活的結(jié)合。使用網(wǎng)上訂餐系統(tǒng)[8]來管理餐飲業(yè)不僅提高了管理水平,還能夠提供及時有效的餐飲信息,讓消費者能夠快速找到需要的美味佳肴。相比傳統(tǒng)的人工作業(yè),這種方式不僅節(jié)省了用戶的時間,還能夠提高餐飲企業(yè)的管理效率和經(jīng)濟(jì)效益。此外,餐館還可以通過網(wǎng)絡(luò)宣傳自己的品牌,并通過消費者的反饋信息來完善自身問題,提供更高質(zhì)量的菜品和更好的服務(wù),從而獲得更大的發(fā)展空間。電子科技大學(xué)的郭睿[9]可以運用貝葉斯網(wǎng)絡(luò)對用戶行為進(jìn)行建模分析。并且其對原有的均值算法進(jìn)行了優(yōu)化,并提出了兩種改進(jìn)算法,用于量化評價:固定權(quán)重算法和復(fù)合權(quán)重算法。固定權(quán)重算法根據(jù)評價的客觀程度不同,給予不同的固定影響權(quán)重。復(fù)合權(quán)重算法在固定權(quán)重算法的基礎(chǔ)上進(jìn)一步優(yōu)化,考慮了用戶評價習(xí)慣和任意評價現(xiàn)象兩方面因素。通過統(tǒng)計用戶在訂餐過程中固定的訂餐時間和地點,來預(yù)測訂餐行為的發(fā)生概率,并給出指導(dǎo)性建議。電子科技大學(xué)的黃麗[10]首先研究了在隨機(jī)需求下,顧客需求如何受剩余座位數(shù)量的影響,以實現(xiàn)最優(yōu)動態(tài)座位預(yù)訂控制。為此,我們假設(shè)顧客訂餐需求服從齊泊松過程,并且到達(dá)顧客的預(yù)訂決策受剩余座位數(shù)量的影響?;谶@些假設(shè),我們構(gòu)建了一個餐廳能力分配的隨機(jī)動態(tài)規(guī)劃模型。在國外的網(wǎng)上訂餐系統(tǒng)的研究上,OpenTable該網(wǎng)站[11]在美國餐飲業(yè)中處于領(lǐng)先地位,無論是在規(guī)模還是技術(shù)應(yīng)用方面。截至目前,OpenTable已經(jīng)擁有超過15000家餐廳的合作伙伴。盡管如此,OpenTable仍然致力于擴(kuò)大消費人群,并增加餐廳的數(shù)量和規(guī)模。該網(wǎng)站的主要服務(wù)是為用戶提供預(yù)訂餐位的服務(wù),一旦用戶提交預(yù)訂訂單,OpenTable將及時回應(yīng),并借助物流配送公司為用戶提供送餐上門服務(wù)。國內(nèi)美團(tuán)系統(tǒng)[12]則是有采用UCD的任務(wù)分析方法,通過用戶訂餐認(rèn)知過程確定用戶體驗問題,并基于用戶滿意度評價對問題進(jìn)行定量分析。在優(yōu)化方案設(shè)計及評估過程中,美團(tuán)應(yīng)用AxureRP軟件對平臺界面進(jìn)行優(yōu)化設(shè)計和基于體驗式營銷的理論給出優(yōu)化建議,以優(yōu)化用戶體驗。最后,針對平臺界面優(yōu)化方案應(yīng)用問卷打分法進(jìn)行評估,結(jié)果顯示用戶在內(nèi)容、技術(shù)、服務(wù)、安全方面體驗滿意度明顯提高。這表明美團(tuán)設(shè)計的優(yōu)化方案改善了美團(tuán)外賣平臺的用戶體驗,有利于其吸引新用戶、增強(qiáng)用戶粘度、提高平臺核心競爭力,同時也為其他O2O外賣平臺用戶體驗優(yōu)化提供借鑒意義?;贘avaWeb[13]的網(wǎng)上訂餐系統(tǒng)是近年來隨著互聯(lián)網(wǎng)的發(fā)展而興起的一種新型訂餐服務(wù)模式。它通過互聯(lián)網(wǎng)技術(shù),將餐廳、顧客和配送員連接起來,實現(xiàn)了線上訂餐、線下就餐和外賣配送等多種服務(wù)方式的無縫銜接。隨著移動互聯(lián)網(wǎng)的普及和人們生活方式的改變,網(wǎng)上訂餐系統(tǒng)[14]的發(fā)展也越來越迅速。從最初的簡單點餐系統(tǒng),到后來的在線支付、評價、推薦等功能的不斷增加,再到現(xiàn)在的智能化、個性化、場景化等多元化發(fā)展,網(wǎng)上訂餐系統(tǒng)已經(jīng)成為了人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?。而JavaWeb中的SpringBoot作為一種快速開發(fā)框架,為網(wǎng)上訂餐系統(tǒng)[15]的開發(fā)提供了很大的便利。它通過簡化配置、提供自動化配置等方式,讓開發(fā)者可以更加專注于業(yè)務(wù)邏輯的實現(xiàn),從而加快了系統(tǒng)的開發(fā)速度和上線時間??傊?,基于JavaWeb的網(wǎng)上訂餐系統(tǒng)為人們提供了更加便捷、高效、優(yōu)質(zhì)的訂餐服務(wù)體驗,也成為了餐飲行業(yè)的數(shù)字化轉(zhuǎn)型和升級的有力支撐。1.3研究目的與內(nèi)容基于JavaWeb的網(wǎng)上訂餐系統(tǒng)主要作用是方便人們網(wǎng)上訂餐,對各類菜品進(jìn)行分類,使用戶更輕松找到想吃的菜系。用戶可以在自己瀏覽網(wǎng)頁時選擇他們喜歡的菜品放入購物車。該系統(tǒng)為網(wǎng)上訂餐系統(tǒng),主要分別為三個模塊:用戶模塊、菜品模塊、管理員模塊。用戶模塊涵蓋用戶登錄注冊功能、購物車功能、我的收藏功能。菜品模塊涵蓋了菜品推薦功能、菜品分類功能、菜品詳情功能。管理員模塊涵蓋了用戶管理功能、訂單管理、分類管理和菜品管理功能。管理員用戶管理模塊能夠?qū)τ脩暨M(jìn)行刪除、修改、查詢以及對用戶訂單的管理,管理員菜品管理模塊能夠?qū)Σ似沸畔⒐芾?、對菜品分類管理以及對訂單管理?.4設(shè)計目標(biāo)及論文結(jié)構(gòu)本課題目的在于設(shè)計并實現(xiàn)一個網(wǎng)上訂餐系統(tǒng),主要幫助用戶找到自己喜歡的菜系,以及方便用戶下單,節(jié)省用戶平常時間,讓用戶吃到令人滿意的菜品。第一章為緒論,本文首先介紹了基于JavaWeb的網(wǎng)上訂餐系統(tǒng)的研究背景、研究現(xiàn)狀、研究目的與研究內(nèi)容,并指出了本文的研究目的,給出了論文結(jié)構(gòu)。第二章為系統(tǒng)分析,從業(yè)務(wù)、需求和可行性三個方面進(jìn)行了系統(tǒng)的分析。第三章為系統(tǒng)總體設(shè)計,介紹了基于JavaWeb的網(wǎng)上訂餐系統(tǒng)的總體設(shè)計,包括架構(gòu)設(shè)計、功能模塊設(shè)計、數(shù)據(jù)庫設(shè)計和接口設(shè)計。第四章是對基于JavaWeb的網(wǎng)上訂餐系統(tǒng)的詳細(xì)設(shè)計,包含項目設(shè)計、交互設(shè)計以及功能模塊設(shè)計。第五章是在前兩章的基礎(chǔ)上詳細(xì)闡述了網(wǎng)上訂餐系統(tǒng)的各個功能,并給出了相應(yīng)的系統(tǒng)配置。第六章是系統(tǒng)測試將對實現(xiàn)的網(wǎng)上訂餐系統(tǒng)進(jìn)行測試,并給出了具體的測試方案和具體的測試過程。第七章為對本系統(tǒng)工作的總結(jié)和展望。 2系統(tǒng)分析2系統(tǒng)分析在此部分中,本文主要以用例圖對基于JavaWeb的網(wǎng)上訂餐系統(tǒng)進(jìn)行業(yè)務(wù)分析,其次,從功能、非功能等方面進(jìn)行了需求分析,最后,對系統(tǒng)的可行性進(jìn)行了分析。2.1業(yè)務(wù)分析本系統(tǒng)包含兩個參與者:用戶,能夠執(zhí)行登錄注冊、購物車、我的收藏、我的訂單功能;管理員能夠?qū)τ脩?、菜品和分類進(jìn)行管理,能夠執(zhí)行登錄、用戶管理、菜品信息管理、菜品分類管理以及訂單管理的功能。2.1.1用戶用例圖用戶能夠執(zhí)行登錄注冊、查看菜品詳情、購物車、我的收藏、我的訂單。用戶用例圖如圖2.1所示。圖2.1用戶用例圖2.1.2管理員用例圖管理員能夠?qū)τ脩?、菜品和分類進(jìn)行管理,能夠執(zhí)行登錄、用戶管理、菜品信息管理、菜品分類管理以及訂單管理的功能。管理員用例圖如圖2.2所示。圖2.2管理員用例圖2.2需求分析2.2.1功能需求分析本系統(tǒng)分為用戶模塊、菜品模塊和管理員模塊三個模塊,其中管理員可以對用戶和菜品進(jìn)行管理,本系統(tǒng)具體功能如下:(1)登陸注冊:訂餐系統(tǒng)的登陸注冊,用戶通過登錄功能可以安全的訪問本系統(tǒng),可以使用會話跟蹤技術(shù)達(dá)成“記住我”的操作,使用Cookie將數(shù)據(jù)存儲在服務(wù)器端,便于用戶下次自動登錄;注冊功能,完成驗證碼的表單驗證,防止惡意注冊。(2)菜品信息管理模塊:管理員對菜品信息進(jìn)行增刪改查。菜品瀏覽,用戶可以點擊查看詳情,瀏覽整體菜品信息,并對菜品進(jìn)行對應(yīng)操作,添加購物車或者訂單支付功能。管理員在后臺對菜品信息進(jìn)行增刪改查的管理。(3)用戶信息管理模塊:對用戶信息進(jìn)行增刪改查。管理員可以在后臺管理頁面中查詢用戶信息以及修改用戶信息內(nèi)容。(4)訂餐模塊:選擇相應(yīng)菜品進(jìn)行訂餐以及購買支付功能。作為網(wǎng)上訂餐系統(tǒng)重中之重的當(dāng)然是訂單流程,在前端的訂單流程中主要包括了結(jié)算、收貨、評價等操作。(5)購物車模塊:本系統(tǒng)中購物車的功能與常用軟件的購物車功能基本一致,主要包含添加到購物車、編輯購物車、刪除所選的菜品、以及下單的功能。(6)菜品分類:用戶可以根據(jù)類型標(biāo)簽對菜品進(jìn)行篩選,以便于更快尋找到需要查看的菜品。2.2.2非功能需求分析該系統(tǒng)的用戶量較小,滿足以下需求:效率:該網(wǎng)上訂餐系統(tǒng)數(shù)據(jù)庫訪問速度最大延遲為1秒,用戶訪問網(wǎng)站時無影響,正常打開系統(tǒng)速度很快,無卡頓??煽啃裕簽榱吮WC網(wǎng)上訂餐系統(tǒng)的正常工作,本系統(tǒng)有較好的抗干擾能力,網(wǎng)速不好的情況下,出現(xiàn)故障時不會發(fā)生崩潰,重啟或重新刷新頁面后恢復(fù)正常。安全性:該網(wǎng)上訂餐系統(tǒng)保證信息的可用性、完整性、機(jī)密性,用戶不用擔(dān)心賬戶安全問題和菜品信息問題。可用性:界面友好、方便用戶使用,系統(tǒng)功能完善,操作簡單,使用方便。適應(yīng)性:系統(tǒng)能能夠適應(yīng)外部環(huán)境及需求的變化,用戶可以在不同瀏覽器上進(jìn)行訪問。2.2.3安全性需求在本系統(tǒng)會維護(hù)用戶個人信息的安全,用戶登錄時,為了保證用戶數(shù)據(jù)安全,密碼采用MD5加密方式傳輸,數(shù)據(jù)庫存儲密碼后,以密文的形式展示,確保用戶信息的安全性,同時傳輸?shù)胶笈_與數(shù)據(jù)庫中密碼比較,確保了數(shù)據(jù)傳輸?shù)陌踩?.3可行性分析2.3.1技術(shù)可行性本系統(tǒng)使用Java語言開發(fā),會選擇使用SpringBoot整合SSM框架來完成網(wǎng)上訂餐系統(tǒng),在大學(xué)實訓(xùn)期間,本人熟悉JavaWeb開發(fā)技術(shù),在實訓(xùn)項目完成過相應(yīng)需求,了解多種前后端開發(fā)框架,同時,以前也做過類似的項目,可以借鑒以前的經(jīng)驗。所以在系統(tǒng)的開發(fā)上是可行的,學(xué)校重視SpringBoot以及Vue框架技術(shù),開展過對應(yīng)的課程以及實訓(xùn),在實訓(xùn)中有了項目開發(fā)的相關(guān)經(jīng)驗,能夠明確需求分析,完善功能。Vue框架技術(shù)使用Axios來完成異步請求。Vue中ElementUI可以提供前端的多種按鈕實現(xiàn),為開發(fā)者前端頁面的創(chuàng)造節(jié)省時間。JavaWeb中所運用的便捷及高效的SpringBoot框架以及前端所運用的Vue框架為本軟件的敏捷開發(fā)提供了良好的條件。2.3.2經(jīng)濟(jì)可行性系統(tǒng)在開發(fā)過程中使用的IntelliJIDEA、Navicat等軟件都是免費的,系統(tǒng)采用Java語言開發(fā),系統(tǒng)開發(fā)過程中采用Springboot免費框架,支付功能暫未涉及付費接口,不牽扯到其他支付軟件使用費用,在保證系統(tǒng)正常運行基礎(chǔ)上,該系統(tǒng)具備經(jīng)濟(jì)可行性。2.4本章小結(jié)這一章以用例圖表的方式來展示各個功能,并對它們進(jìn)行了詳細(xì)的說明。接著分析用戶到系統(tǒng),系統(tǒng)到用戶的反饋,最后,為了滿足用戶的需要,對系統(tǒng)進(jìn)行非功能的需求分析和可行性分析。 3系統(tǒng)總體設(shè)計3系統(tǒng)總體設(shè)計項目分析結(jié)束之后,本章節(jié)將對網(wǎng)上訂餐系統(tǒng)進(jìn)行總體設(shè)計,并通過圖片文字加以闡述,本節(jié)將從架構(gòu)設(shè)計、功能模塊設(shè)計方面進(jìn)行分析。3.1架構(gòu)設(shè)計如圖3.1所示,網(wǎng)上訂餐系統(tǒng)采用前后端分離開發(fā),采用Springboot框架,MySQL作為物理存儲[13],前端采用Vue框架開發(fā)。系統(tǒng)采用Springboot+MyBatis框架[14]作為系統(tǒng)的整體架構(gòu),系統(tǒng)后臺數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫。本系統(tǒng)是一個B/S結(jié)構(gòu)的系統(tǒng),為了使數(shù)據(jù)庫、需求業(yè)務(wù)處理以及用戶界面之間能夠關(guān)聯(lián)而不產(chǎn)生依賴性,決定采用Springboot框架模式[15]。這樣的結(jié)構(gòu)有利于對本系統(tǒng)的維護(hù),避免了相互依賴。本系統(tǒng)共有三種角色模塊,分別為管理員模塊、用戶模塊、菜品模塊。共有登錄注冊、購物車、我的收藏、菜品推薦、菜品分類、菜品管理等業(yè)務(wù)[14]。圖3.1系統(tǒng)架構(gòu)圖3.2功能模塊設(shè)計本系統(tǒng)為網(wǎng)上訂餐系統(tǒng),系統(tǒng)主要分為用戶模塊、管理員模塊,兩個模塊下包含一些子模塊,用戶模塊包括商城展示、菜品瀏覽、購物車、訂單流程。管理員模塊包括用戶管理、菜品管理、分類管理、訂單管理。如圖3.2所示:圖3.2功能模塊圖3.2.1子模塊功能設(shè)計(1)網(wǎng)上訂餐系統(tǒng)前臺商城功能模塊設(shè)計用戶主要的五個功能模塊,分別是:登錄注冊、購物車、商城展示、商品信息、我的訂單。如圖3.3所示。具體功能如下。圖3.3用戶子模塊圖首頁展示:一個系統(tǒng)必不可少的自然是菜品展示、分類展示以及熱門菜品了,為了用戶能夠更好地體驗系統(tǒng),合理的分類以及準(zhǔn)確的推薦是十分重要的,首頁主要是一張大輪播圖,其次有各種菜品的分類,便于用戶根據(jù)分類快速找到自己想要的菜品。該模塊的功能設(shè)計如圖3.4所示。圖3.4首頁展示模塊圖菜品信息:菜品信息可以查看每個菜品的詳細(xì)信息,購物車是為了給用戶在使用中碰到一件或多件有意向但并未決定購買的菜品時,難以抉擇是否購買的工具。用戶可以將任意件菜品添加或是移出。當(dāng)決定購買時,可以選擇想要購買的菜品一起下單。子模塊圖如圖3.5所示。圖3.5菜品信息模塊圖購物車:購物車主要包含添加到購物車、編輯購物車、刪除所選的菜品、以及下單的功能。購物車主要功能如圖3.6所示。圖3.6購物車模塊圖登錄注冊:整個系統(tǒng)中最核心的功能便是登錄注冊功能,用戶成功登錄才能夠完整體驗系統(tǒng)操作和使用,而管理員登錄可以管理菜品信息以及菜品分類信息。登錄注冊主要功能如圖3.7所示。圖3.7登錄注冊模塊圖我的訂單:用戶需要下單后商家才能發(fā)貨。訂單主要功能如圖3.8所示。圖3.8訂單模塊圖(2)網(wǎng)上訂餐系統(tǒng)后臺功能模塊設(shè)計管理員為系統(tǒng)的管理者,同時在本系統(tǒng)中也扮演著商家的角色,管理著菜品的上下架以及訂單的相關(guān)操作。如圖3.9所示。具體功能如下所述。圖3.9后臺功能模塊設(shè)計菜品管理:作為管理員,管理好菜品是重要的一環(huán)。主要包括添加菜品,對已有菜品的信息進(jìn)行編輯修改,刪除菜品。具體功能如下圖3.10所示。圖3.10菜品管理模塊圖訂單管理:管理員可以查看到用戶下的所有訂單以及執(zhí)行發(fā)貨流程。在訂單較多的情況下,可根據(jù)訂單號搜索具體訂單。如下圖3.11所示。圖3.11訂單管理模塊圖分類管理:管理員可以添加、修改、刪除菜品分類以及搜索具體分類。如圖3.12所示。圖3.12分類管理模塊圖用戶管理:身為系統(tǒng)管理員,可以查看、編輯、刪除當(dāng)前所有使用本系統(tǒng)的用戶。如下圖3.13所示。圖3.13用戶管理模塊圖3.3數(shù)據(jù)庫設(shè)計3.3.1數(shù)據(jù)庫實體設(shè)計圖3.14為用戶實體屬性圖。主要屬性有用戶ID、用戶名、密碼、手機(jī)號。圖3.14用戶實體屬性圖圖3.15為菜品實體屬性圖。主要屬性有菜品ID、菜品圖片、菜品名、菜品價格、菜品分類、菜品庫存。圖3.15菜品實體屬性圖圖3.16為管理員實體屬性圖。主要屬性有管理員id,管理員名稱、手機(jī)號、密碼。圖3.16管理員實體屬性圖圖3.17為訂單實體屬性圖。主要屬性有訂單id、用戶id、菜品id、訂單創(chuàng)建時間、菜品數(shù)量、菜品價格。圖3.17訂單實體屬性圖圖3.18為購物車實體屬性圖。主要屬性有購物車id、訂單id、用戶id、購物車數(shù)量。圖3.18購物車實體屬性圖菜品系統(tǒng)實體主要為用戶實體、管理員實體、菜品實體、購物車實體、訂單實體。在這個系統(tǒng)中,用戶與商家是多對多的,同一用戶能看到不同的菜品,不同的用戶也能看到同樣的菜品。管理員菜品的多對多關(guān)系是指同一種物品可能有幾個管理員管理,同一位管理員也可能負(fù)責(zé)管理多種菜品。圖3.19展示了這些主要的實體和相關(guān)聯(lián)系。圖3.19總E-R圖3.3.2數(shù)據(jù)庫表設(shè)計本系統(tǒng)具有良好的數(shù)據(jù)庫,根據(jù)該菜品購物系統(tǒng)的需求分析,同時又根據(jù)相關(guān)部分?jǐn)?shù)據(jù)流程,本系統(tǒng)共創(chuàng)建了4張表,以下為數(shù)據(jù)庫中的表:(1)用戶表字段包括用戶編號、用戶名、用戶密碼、用戶手機(jī)號等。用戶編號(user_id)為本表的主鍵,采用varchar數(shù)據(jù)類型自增,長度為32進(jìn)行保存。用戶名(user_name)采用varchar數(shù)據(jù)類型,長度為100進(jìn)行保存。用戶密碼(user_password)采用varchar數(shù)據(jù)類型,長度為32進(jìn)行保存。用戶手機(jī)號(user_phone_number)采用varchar數(shù)據(jù)類型,長度為11進(jìn)行保存,可空。具體用戶表格如3.1所示。表3.1用戶表字段類型可空主鍵標(biāo)記備注User_idint(11)No√用戶ID,自增usernamevarchar(20)No用戶名,唯一passwordvarchar(32)No密碼,使用MD5加密User_phone_numbervarchar(11)Yes用戶電話(2)菜品表字段包括菜品編號、菜品名稱、菜品價格、菜品售價、菜品標(biāo)題等。菜品編號(product_id)為本表的主鍵,采用int數(shù)據(jù)類型自增,長度為11進(jìn)行保存。菜品名稱(product_name)采用varchar數(shù)據(jù)類型,長度為100進(jìn)行保存。菜品所屬分類(category_id)采用int數(shù)據(jù)類型進(jìn)行保存,菜品標(biāo)題(product_title)采用varchar數(shù)據(jù)類型,長度為30進(jìn)行保存。菜品信息(product_intro)采用text數(shù)據(jù)類型保存,菜品圖片(product_picture)采用varchar數(shù)據(jù)類型,長度為255進(jìn)行保存,菜品價格(product_price)采用double數(shù)據(jù)類型進(jìn)行保存,菜品售價(product_selling_price)采用double數(shù)據(jù)類型保存,菜品數(shù)量(product_num)采用int數(shù)據(jù)類型,長度為11進(jìn)行保存,菜品銷售量(product_sales)采用int數(shù)據(jù)類型,長度為11進(jìn)行保存。具體地址表格如3.2所示。表3.2菜品表字段類型可空主鍵標(biāo)記備注product_idint(11)No√菜品ID,自增product_namevarchar(100)No菜品名稱category_idInt(11)No菜品所屬分類idproduct_titlevarchar(30)No菜品標(biāo)題product_introtextYes菜品信息product_picturevarchar(255)No菜品圖片product_pricedoubleNo菜品價格product_selling_pricedoubleYes菜品售賣價格product_numInt(11)No菜品數(shù)量product_salesInt(11)No菜品銷售量(3)購物車表字段包括購物車編號,用戶編號,菜品編號,購物車數(shù)量等。購物車編號(id)為本表的主鍵,采用int數(shù)據(jù)類型自增,長度為11進(jìn)行保存,不可空。用戶編號(user_id)采用int數(shù)據(jù)類型,長度為11進(jìn)行保存。菜品編號(product_id)采用int數(shù)據(jù)類型,長度為11進(jìn)行保存。購物車數(shù)量(num)采用int數(shù)據(jù)類型,長度為11進(jìn)行保存。具體菜品表格如3.3所示。表3.3購物車表字段類型可空主鍵標(biāo)記備注idint(11)No√購物車ID,自增user_idint(11)No用戶id,唯一product_idint(11)No菜品idnumint(11)No購物車數(shù)量(4)訂單表字段包括訂單編號、訂單用戶名、訂單日期、訂單價格等。訂單編號(order_id)采用varchar數(shù)據(jù)類型,長度為20進(jìn)行保存。訂單用戶(user_id)采用int數(shù)據(jù)類型,長度為11進(jìn)行保存。訂單日期(order_time)采用bigint數(shù)據(jù)類型,長度為20進(jìn)行保存。訂單價格(product_price)采用double數(shù)據(jù)類型進(jìn)行保存。菜品數(shù)量(product_num)采用int數(shù)據(jù)類型,長度為11進(jìn)行保存,菜品編號(product_id)采用int數(shù)據(jù)類型,長度為11進(jìn)行保存。具體訂單表格如3.4所示。 表3.4訂單表字段類型可空主鍵標(biāo)記備注idint(11)No√ID,自增order_idvarchar(20)No訂單id,唯一user_idint(11)No用戶idproduct_idint(11)No菜品idproduct_numint(11)No菜品數(shù)量product_pricedoubleNo菜品價格order_timebigint(20)No訂單創(chuàng)建時間3.4接口設(shè)計本系統(tǒng)包括以下接口,如下所示:(1)/product/getById根據(jù)id獲取菜品種類(2)/product/list管理員查看菜品列表(3)/product管理員搜索菜品(4)/product/add管理員添加菜品(5)/product/delete管理員刪除菜品(6)/product/update管理員更新菜品(7)/catgory/list管理員查看菜品分類(8)/goods/getAll獲取所有菜品信息(9)/goods/getAllBySelect通過分類獲取所需菜品(10)/goods/getByName通過菜品名稱獲取菜品(11)/goods/detail獲取菜品的詳情3.5本章小結(jié)本章采用E-R曲線圖對項目總體設(shè)計進(jìn)行介紹,對各主體間的相互關(guān)系進(jìn)行了分析,并通過功能模塊圖對各主體的功能進(jìn)行了分析。然后通過分析數(shù)據(jù)庫表的設(shè)計,對各個數(shù)據(jù)庫的字段,類型以及說明進(jìn)行詳細(xì)的介紹。 4系統(tǒng)詳細(xì)設(shè)計4系統(tǒng)詳細(xì)設(shè)計本章在項目設(shè)計中,通過類圖的方式,描述了系統(tǒng)的主要類以及類與類之間的關(guān)系,然后通過交互設(shè)計,描述了用戶、管理員的時序圖,進(jìn)而明確了各個功能的響應(yīng)操作,最后,通過流程圖的方式,明確了各個功能從用戶到系統(tǒng)再到用戶的流程。4.1對象設(shè)計類圖顯示了模型中存在的類、類中的內(nèi)容以及類與類之間的關(guān)系。本系統(tǒng)共設(shè)計了6個類,分別是用戶類(User)、購物車類(ShoppingCart)、訂單類(Order)、菜品分類類(Category)、菜品類(Product)如圖4.1所示。圖4.1類圖4.2交互設(shè)計4.2.1用戶時序圖用戶通過登錄進(jìn)入到菜品系統(tǒng)首頁,在主頁會看到熱門菜品的輪播圖。在主頁下方的熱門推薦中點擊菜品即可進(jìn)入到詳情界面,選擇喜歡的菜品加入購物車,在我的購物車中進(jìn)行訂單結(jié)算,生成訂單。用戶時序圖如圖4.2所示。圖4.2用戶時序圖4.2.2管理員時序圖管理員輸入了正確的帳號和密碼之后,就可以進(jìn)入到后臺的管理界面,然后可以對菜品進(jìn)行管理,并對菜品進(jìn)行增加、刪除、修改、查找等操作;管理用戶,增加、刪除、修改、查找等操作。管理員時序圖如圖4.3所示。圖4.3管理員時序圖4.3功能模塊設(shè)計4.3.1用戶模塊(1)用戶登錄注冊模塊本系統(tǒng)的登陸注冊詳細(xì)設(shè)計,系統(tǒng)的執(zhí)行流程:由“登錄界面”和“登錄驗證”組成,先是由前端登錄頁面提供填寫帳號及驗證碼的窗口,獲取到用戶填寫的帳號密碼等數(shù)據(jù)并且判斷輸入的值是否符合規(guī)則,之后傳輸給后臺查詢該帳號是否可以正常登錄,判斷條件包括帳號是否存在、帳號密碼是否匹配。根據(jù)結(jié)果系統(tǒng)將會判定系統(tǒng)是否能進(jìn)入,如果登錄成功通過,系統(tǒng)則會跳轉(zhuǎn)到商城主頁面,如果登錄失敗則提示用戶錯誤信息。具體流程如圖4.4所示。圖4.4登錄注冊模塊流程圖(2)菜品管理功能模塊菜品管理功能,對菜品信息的增刪改查的基本操作。點擊添加按鈕,進(jìn)入菜品添加表單,填寫對應(yīng)信息,判斷填寫內(nèi)容是否規(guī)范,最后點擊提交,與后端進(jìn)行交互,將信息存入數(shù)據(jù)庫,再通過查詢?nèi)坎僮鞣祷厍岸隧撁嬲故?。點擊修改按鈕,進(jìn)入菜品修改表單,修改對應(yīng)信息,判斷填寫內(nèi)容是否規(guī)范,最后點擊提交,與后端進(jìn)行交互,將信息存入數(shù)據(jù)庫,再通過查詢?nèi)坎僮鞣祷厍岸隧撁嬲故?。如圖4.5所示。圖4.5菜品管理模塊流程圖4.3.2購物車模塊購物車,對訂單信息的增刪改查的基本操作。點擊添加按鈕或者拖拽菜品,后臺獲取訂單id并將id存入session中,信息存入數(shù)據(jù)庫,返回前端頁面展示。點擊修改按鈕,進(jìn)入購物車的訂單修改表單,通過session獲取對應(yīng)訂單的id,修改對應(yīng)信息,判斷填寫內(nèi)容是否規(guī)范,最后點擊提交,與后端進(jìn)行交互,將信息存入數(shù)據(jù)庫,再通過查詢?nèi)坎僮鞣祷厍岸隧撁嬲故?。如圖4.6所示。圖4.6購物車管理模塊流程圖用戶在瀏覽菜品的時候,可選擇菜品是否加入購物車,在加入購物車時會判斷用戶是否登錄,若未登錄則需要先登錄,才能加入購物車,然后下單。若直接下單也需要判斷用戶是否登錄,未登錄需先登錄才能下單。在下單時正確填寫所需信息,確認(rèn)支付即可下單成功,本系統(tǒng)的支付是用支付寶的沙盒支付來實現(xiàn)的。如下圖4.7所示圖4.7下單流程圖4.3.3菜品推薦模塊本系統(tǒng)有熱門菜品推薦,用戶在系統(tǒng)首頁下方的熱門菜品中查看系統(tǒng)推薦的菜品,用戶點擊推薦菜品,則可進(jìn)入該菜品的詳情界面,菜品詳情界面為用戶推薦菜品內(nèi)容。菜品推薦的實現(xiàn)過程:菜品推薦采集的數(shù)據(jù)無法定位到具體每個用戶,統(tǒng)計出的數(shù)據(jù)都是規(guī)模數(shù)據(jù),根據(jù)當(dāng)前用戶的收藏情況以及菜品銷售量,進(jìn)行菜品的隨機(jī)推薦,這是系統(tǒng)基于菜品的協(xié)同推薦,菜品推薦功能流程如圖4.8所示。圖4.8菜品推薦模塊流程圖4.4本章小結(jié)在這一章中,本文先用類圖來理解這個系統(tǒng)中的一些相關(guān)的類和它們之間的關(guān)系,再用時序圖來闡述每個模塊的功能是響應(yīng)方式,最后用流程圖來表示模塊的具體流程。
5系統(tǒng)實現(xiàn)5系統(tǒng)實現(xiàn)前幾章對系統(tǒng)項目整體的設(shè)計分析,軟件已基本完成。本章主要是通過系統(tǒng)運行截圖和邏輯代碼,以直觀的形式體現(xiàn)成果。5.1用戶功能實現(xiàn)5.1.1用戶登錄注冊模塊用戶需要進(jìn)行登錄驗證才能體驗完整服務(wù),進(jìn)行相應(yīng)的購物車、我的收藏等功能。用戶管理設(shè)計,管理員對User表進(jìn)行相關(guān)的新增,修改,查詢等操作,管理員登錄成功后,進(jìn)入后臺管理頁面,在用戶管理列表中,進(jìn)行新增用戶操作,在前端填寫相關(guān)數(shù)據(jù)后,返回給后端先判斷用戶名是否存在,再進(jìn)行新增操作。如果用戶名存在,則拋出用戶已存在的異常。如果不存在,則進(jìn)行添加操作。修改用戶信息,在前端修改相關(guān)信息,返回給后端,和新增操作相似。刪除操作,獲取用戶id后,根據(jù)id進(jìn)行刪除用戶信息。登錄功能,獲取用戶在前端所填寫的密碼,并返回給后端,進(jìn)行md5加密比對,調(diào)用selectOne方法獲取用戶名是否存在。如果用戶名以及密碼正確,則登錄成功,并以ResultMessage形式返回給前端,如果code值相同,則輸出message登錄成功信息。如果用戶名或密碼錯誤,則拋出相關(guān)異常。登錄界面如圖5.1所示,部分代碼如下:publicUserlogin(Useruser){user.setPassword(MD5Util.MD5Encode(user.getPassword()+"","UTF-8"));Userone=userMapper.selectOne(user);if(one==null){thrownewXmException(ExceptionEnum.GET_USER_NOT_FOUND);}returnone;}圖5.1登錄界面圖5.2為登錄判斷樣例圖。用戶輸入錯誤的賬號或密碼,就會跳出此提示。圖5.2登錄判斷頁面圖5.3為登錄失敗樣例圖,會在頁面右側(cè)提示。圖5.3登錄失敗頁面圖5.4為登錄成功樣例圖,會在頁面右側(cè)提示,并在頂層顯示用戶名。圖5.4登陸成功樣例圖注冊功能,在后端idea中,使用mybatis以及springboot完成。建立好user用戶的實體類,以及UserMapper接口繼承Mapper<T>,在UserService中調(diào)用selectone方法查出用戶名是否存在,如果用戶名不存在,則可以進(jìn)行注冊功能,并對所填寫密碼進(jìn)行md5加密。如果用戶名存在,則拋出用戶名已存在的異常。注冊界面如圖5.5所示:圖5.5用戶注冊頁面圖5.6為注冊成功樣例圖,會在頁面右側(cè)提示。圖5.6注冊成功頁面5.1.2我的收藏功能用戶可以在菜品詳情界面將菜品添加到我的收藏中,在首頁里的我的收藏查看菜品信息。用戶可以對菜品進(jìn)行收藏,并可以在用戶中心的收藏列表中查看。在collect.vue中,調(diào)用/api/collect/user接口,調(diào)用系統(tǒng)中的collect接口中的add()方法時將用戶的收藏的菜品id傳輸?shù)綌?shù)據(jù)庫中,在我的收藏的詳細(xì)信息欄中,可以看到用戶的收藏菜品信息。用戶收藏菜品成功,跳出成功提示,如圖5.7所示,部分代碼如下:publicvoidaddCollect(StringuserId,StringproductId){Collectcollect=newCollect();collect.setUserId(Integer.parseInt(userId));collect.setProductId(Integer.parseInt(productId));Collectone=collectMapper.selectOne(collect);if(one!=null){thrownewXmException(ExceptionEnum.SAVE_COLLECT_REUSE);}}圖5.7菜品收藏成功頁面收藏成功后,可以在我的收藏頁面中查看菜品,如圖5.8所示:圖5.8我的收藏頁面用戶不能對已收藏的菜品重復(fù)收藏,否則提示收藏失敗,收藏失敗界面如圖5.9所示:圖5.9菜品重復(fù)收藏失敗頁面5.1.3購物車模塊在該模塊中,新用戶需要注冊才能在網(wǎng)站上下單,未注冊的用戶或注冊失敗的用戶只能瀏覽,不能將菜品添加到購物車。在購物車?yán)?,使用者可以輸入要買的物品的數(shù)目,或?qū)⑽锲窂馁徫镘嚴(yán)镆瞥?。如圖5.10所示,用戶在菜品詳情頁面選擇菜品添加進(jìn)購物車。購物車的實現(xiàn)過程:用戶可以在購物車中查看到所有添加到購物車的信息。在shoppingcart.vue中,頁面展示所有購物車內(nèi)菜品的信息,調(diào)用系統(tǒng)中的/goods/details接口獲取用戶添加購物車中的菜品信息,部分代碼如下:publicList<CartVo>getCartByUserId(StringuserId){ShoppingCartcart=newShoppingCart();cart.setUserId(Integer.parseInt(userId));List<ShoppingCart>list=null;List<CartVo>cartVoList=newArrayList<>();try{list=cartMapper.select(cart);for(ShoppingCartc:list){cartVoList.add(getCartVo(c));}}catch(Exceptione){e.printStackTrace();thrownewXmException(ExceptionEnum.GET_CART_ERROR);}returncartVoList;}圖5.10菜品詳情頁面如圖5.11,菜品添加到購物車成功頁面。圖5.11購物車添加成功頁面如圖5.12,用戶可以在購物車中查看到所有添加到購物車的信息。在shoppingcart.vue中,頁面展示所有購物車內(nèi)菜品的信息。圖5.12購物車管理頁面5.2菜品功能實現(xiàn)5.2.1菜品分類模塊菜品分類的實現(xiàn)過程:根據(jù)當(dāng)前用戶需求進(jìn)行菜品的分類,進(jìn)行同類別菜品的歸納整理,在Goods.vue中調(diào)用/api/category接口,調(diào)用其中的getAll(),查看菜品分類,進(jìn)行商城主頁的菜品分類,如圖5.13所示,部分代碼如下:publicvoidupdateCategory(Categorycategory){Categoryone=newCategory();one.setCategoryName(category.getCategoryName());if(categoryMapper.selectCount(one)==1){thrownewXmException(ExceptionEnum.SAVE_CATEGORY_REUSE);}try{categoryMapper.updateById(category);}catch(Exceptione){e.printStackTrace();thrownewXmException(ExceptionEnum.SAVE_CATEGORY_ERROR);}}圖5.13菜品分類界面5.2.2菜品推薦算法模塊用戶在系統(tǒng)首頁下方的熱門菜品中查看系統(tǒng)推薦的菜品,用戶點擊推薦菜品,則可進(jìn)入該菜品的詳情界面,菜品詳情界面為用戶推薦菜品內(nèi)容,如圖5.14所示。菜品推薦的實現(xiàn)過程:菜品推薦采集的數(shù)據(jù)無法定位到具體每個用戶,統(tǒng)計出的數(shù)據(jù)都是規(guī)模數(shù)據(jù),根據(jù)當(dāng)前用戶購物情況,進(jìn)行菜品的隨機(jī)推薦,這是系統(tǒng)基于菜品的協(xié)同推薦。TreeSet<Product>preList=newTreeSet<Product>(newComparator<Product>(){
//重寫compare方法按相似度Wij排序;當(dāng)相似度Wij相同時,按銷售量排序
@Override
publicintcompare(Producto1,Producto2){
if(o1.getProductId()!=o2.getProductId()){
return(int)((o1.getProductId()-o2.getProductId())*100);//返回值為0,表示同一元素
}
else{
//當(dāng)相似度相同時,比較銷售量
returno1.getProductSales()-o2.getProductSales();
}
}
});//預(yù)處理的列表還有一種就是手動推薦,系統(tǒng)可以根據(jù)菜品銷售量進(jìn)行推薦,使用productService.getHotProduct獲取高銷售量進(jìn)行推薦,詳細(xì)代碼見附錄E。圖5.14熱門菜品推薦頁面5.3管理員功能實現(xiàn)5.3.1用戶管理模塊管理員在主頁中進(jìn)行管理員登錄頁面,如圖5.15所示。圖5.15管理員登陸頁面如圖5.16,管理員登錄成功進(jìn)入后臺管理頁面并提示登錄成功。圖5.16管理員登錄成功頁面管理員進(jìn)入系統(tǒng)后臺的用戶管理,對用戶進(jìn)行增加、刪除、修改和查找等操作,如圖5.17所示。用戶管理的實現(xiàn)過程:管理員可以在用戶管理中對用戶的信息進(jìn)行管理。在member.vue中展示所有用戶信息,調(diào)用系統(tǒng)中的/api/user/list?pagenum接口中的getList()方法獲取所有用戶信息,進(jìn)行分頁展示,系統(tǒng)將獲取到的用戶信息展示在后臺管理用戶管理頁面處,部分代碼如下:publicvoidupdateUser(Useruser){Userone=newUser();one.setUsername(user.getUsername());one.setUserPhoneNumber(user.getUserPhoneNumber());if(userMapper.selectCount(one)==1){thrownewXmException(ExceptionEnum.SAVE_USER_REUSE);}user.setPassword(MD5Util.MD5Encode(user.getPassword()+"","UTF-8"));try{userMapper.updateById(user);}catch(Exceptione){e.printStackTrace();thrownewXmException(ExceptionEnum.SAVE_USER_ERROR);}}圖5.17用戶管理頁面5.3.2分類管理模塊管理員進(jìn)入系統(tǒng)后臺的輪播圖管理,對前臺分類進(jìn)行增加、刪除、修改和查找等操作,如圖5.18所示。菜品分類管理的實現(xiàn)過程:管理員可以在分類管理中對菜品分類的信息進(jìn)行管理。在category.vue中展示所有菜品分類的信息,調(diào)用系統(tǒng)中的/api/category/list?pagenum接口中的getList()方法獲取所有分類信息,進(jìn)行分頁展示,系統(tǒng)將獲取到的菜品分類信息展示在后臺管理菜品分類管理頁面處,部分代碼如下:if(userMapper.selectCount(one)==1){thrownewXmException(ExceptionEnum.SAVE_USER_REUSE);}user.setPassword(MD5Util.MD5Encode(user.getPassword()+"","UTF-8"));try{userMapper.updateById(user);}catch(Exceptione){e.printStackTrace();thrownewXmException(ExceptionEnum.SAVE_USER_ERROR);}圖5.18分類管理頁面5.3.3菜品管理模塊管理員管理菜品模塊主要是對菜品信息,訂單管理操作。管理員對菜品信息、以及訂單進(jìn)行添加、刪除、修改和查看操作,如圖5.19、圖5.20所示。菜品管理實現(xiàn)過程:管理員可以在菜品管理中對菜品信息、菜品分類進(jìn)行改查,在訂單管理中對訂單進(jìn)行增刪改查。在product.vue中展示所有菜品信息和分類,調(diào)用系統(tǒng)中的/api/product/list?pagenum接口中的getList()方法獲取菜品信息進(jìn)行分頁展示,將獲取到的信息展示在后臺管理菜品管理以及訂單管理處。圖5.19菜品管理頁面圖5.20查看訂單頁面5.4本章小結(jié)本章主要介紹了本系統(tǒng)的程序代碼,并以圖文并茂的形式介紹了本系統(tǒng)的程序流程,并在附錄中附上了具體的程序代碼。 6系統(tǒng)測試
6系統(tǒng)測試通過前幾章對項目的分析和設(shè)計,軟件已初步完成。隨著軟件技術(shù)的不斷發(fā)展,軟件本身的復(fù)雜性逐漸提高。本章節(jié)將展現(xiàn)軟件的部分測試過程。6.1測試方法和目標(biāo)軟件測試的方法包括白盒測試、黑盒測試、集成測試和單元測試。其中,白盒測試是按照程序內(nèi)部的結(jié)構(gòu)測試程序,黑盒測試則是在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測試。集成測試是為了在集成時測試模塊/組件,以驗證它們是否按預(yù)期工作,而單元測試則是對軟件產(chǎn)品的局部且特定的功能進(jìn)行測試。本次測試的目標(biāo)是發(fā)現(xiàn)并排除主要功能的故障,提升關(guān)鍵功能的運行效率。6.2測試過程和結(jié)果6.2.1功能測試對軟件的部分功能進(jìn)行測試,驗證這些功能是否符合預(yù)期要求。登錄功能測試。測試內(nèi)容主要以用戶信息錯誤是否提示,不輸入信息是否能登錄成功,輸入賬號密碼正確后能否登錄成功。如表6.1所示。表6.1登錄測試表測試項目名稱:網(wǎng)上訂餐系統(tǒng)設(shè)計測試用例編號:Test_1測試項目標(biāo)題:登錄功能的實現(xiàn)測試內(nèi)容驗證登錄功能的實現(xiàn)測試環(huán)境與系統(tǒng)配置軟件環(huán)境:Windows10;硬件環(huán)境:CPU:2.50GHZ內(nèi)存:8GB硬盤:30GB測試輸入數(shù)據(jù)測試次數(shù)8次預(yù)期結(jié)果1信息錯誤,登錄失??;2信息正確,登錄成功。測試過程a不輸入信息,登錄失敗1用戶注冊完畢后,進(jìn)入登錄界面2不輸入信息,點擊“登錄”按鈕3提示登錄失敗b不輸入用戶名/密碼,登錄失敗1不輸入用戶名/密碼,點擊“登錄”按鈕2提示登錄失敗c輸入正確信息,登錄成功1輸入正確用戶名、密碼2提示登錄成功測試結(jié)果輸入正確用戶名和密碼,點擊“登錄”按鈕,則能登錄成功;否則,登錄失敗。測試結(jié)論功能項全部實現(xiàn)備注無注冊功能測試。測試內(nèi)容主要以用戶信息錯誤是否提示,兩次密碼不一致是否能注冊成功,輸入合法的賬號密碼后能否注冊成功。如表6.2所示。表6.2注冊測試表測試項目名稱:網(wǎng)上訂餐系統(tǒng)設(shè)計測試用例編號:Test_2測試項目標(biāo)題:注冊功能的實現(xiàn)測試內(nèi)容驗證注冊功能的實現(xiàn)測試環(huán)境與系統(tǒng)配置軟件環(huán)境:Windows10;硬件環(huán)境:CPU:2.50GHZ內(nèi)存:8GB硬盤:30GB測試輸入數(shù)據(jù)測試次數(shù)7次預(yù)期結(jié)果1信息錯誤,注冊失?。?信息正確,注冊成功。測試過程a信息正確,注冊成功1用戶進(jìn)入首頁,點擊“立即注冊”按鈕2輸入用戶名、密碼、確認(rèn)密碼,點擊“注冊”按鈕3提示注冊成功b信息錯誤,注冊失敗1輸入密碼與確認(rèn)密碼不一致2提示密碼不一致。測試結(jié)果輸入正確用戶名和密碼,點擊“登錄”按鈕,則能登錄成功;否則,登錄失敗。測試結(jié)論功能項全部實現(xiàn)備注無菜品詳情功能測試。測試內(nèi)容主要以菜品詳情頁面出現(xiàn)未知錯誤是否會跳轉(zhuǎn)到錯誤頁面,菜品詳情頁面能否展示,菜品詳情能否找到對應(yīng)菜品信息。如表6.3所示。表6.3菜品詳情測試表測試項目名稱:網(wǎng)上訂餐系統(tǒng)設(shè)計測試用例編號:Test_3測試項目標(biāo)題:菜品詳情功能的實現(xiàn)測試內(nèi)容驗證菜品詳情功能的實現(xiàn)測試環(huán)境與系統(tǒng)配置軟件環(huán)境:Windows10;硬件環(huán)境:CPU:2.50GHZ內(nèi)存:8GB硬盤:30GB測試輸入數(shù)據(jù)測試次數(shù)9次預(yù)期結(jié)果1菜品詳情出現(xiàn)未知錯誤,跳轉(zhuǎn)到錯誤頁面;2菜品詳情頁面正常展示。3菜品詳情未能找到對應(yīng)菜品信息測試過程a菜品詳情頁面正常展示1用戶進(jìn)入首頁,點擊對應(yīng)菜品2成功跳轉(zhuǎn)到該菜品頁面b菜品詳情未能找到對應(yīng)菜品信息1未能找到該菜品的id,不存在菜品詳情頁面2無法跳轉(zhuǎn)到對應(yīng)頁面,提示獲取菜品詳情失敗c菜品詳情出現(xiàn)未知錯誤,跳轉(zhuǎn)到錯誤頁面1在獲取菜品詳情時出現(xiàn)未知錯誤,無法展示2跳轉(zhuǎn)到錯誤頁面測試結(jié)果用戶在首頁點擊對應(yīng)菜品,進(jìn)入到相關(guān)菜品詳情頁面測試結(jié)論功能項全部實現(xiàn)備注無熱門菜品功能測試測試內(nèi)容主要以熱門菜品為空,菜品銷售量都為0,是否提示未能發(fā)現(xiàn)相關(guān)熱門菜品,熱門菜品根據(jù)銷售量展示在熱門菜品欄下,是否可以進(jìn)行輪換和瀏覽,熱門菜品出現(xiàn)未知錯誤,是否會提示菜品信息錯誤。如表6.4所示。表6.4熱門菜品測試表測試項目名稱:網(wǎng)上訂餐系統(tǒng)設(shè)計測試用例編號:Test_4測試項目標(biāo)題:熱門菜品功能的實現(xiàn)測試內(nèi)容驗證熱門菜品功能的實現(xiàn)測試環(huán)境與系統(tǒng)配置軟件環(huán)境:Windows10;硬件環(huán)境:CPU:2.50GHZ內(nèi)存:8GB硬盤:30GB測試輸入數(shù)據(jù)測試次數(shù)6次預(yù)期結(jié)果1熱門菜品為空,菜品銷售量都為0,提示未能發(fā)現(xiàn)相關(guān)熱門菜品;2熱門菜品根據(jù)銷售量展示在熱門菜品欄下,輪換。3熱門菜品出現(xiàn)未知錯誤,提示菜品信息錯誤測試過程a熱門菜品根據(jù)銷售量展示在熱門菜品欄下,輪換1用戶進(jìn)入首頁,查看熱門菜品欄2熱門菜品能夠正常輪換展示b熱門菜品為空,菜品銷售量都為0,提示未能發(fā)現(xiàn)相關(guān)熱門菜品1熱門菜品為空,無法查看2提示熱門菜品未能找到c熱門菜品出現(xiàn)未知錯誤,提示菜品信息錯誤1在獲取熱門菜品時出現(xiàn)未知錯誤,無法展示2跳轉(zhuǎn)到錯誤頁面測試結(jié)果用戶在首頁查看熱門菜品,熱門菜品能夠正常輪換展示測試結(jié)論功能項全部實現(xiàn)備注無我的收藏功能測試測試內(nèi)容主要以進(jìn)入菜品詳情頁面,將菜品加入我的收藏,是否能在我的收藏中查看以及使用。我的收藏是否能重復(fù)添加,重復(fù)添加是否提示收藏錯誤信息。是否可以刪除我的收藏。如表6.5所示。表6.5我的收藏測試表測試項目名稱:網(wǎng)上訂餐系統(tǒng)設(shè)計測試用例編號:Test_5測試項目標(biāo)題:我的收藏功能的實現(xiàn)測試內(nèi)容驗證我的收藏功能的實現(xiàn)測試環(huán)境與系統(tǒng)配置軟件環(huán)境:Windows10;硬件環(huán)境:CPU:2.50GHZ內(nèi)存:8GB硬盤:30GB測試輸入數(shù)據(jù)測試次數(shù)8次預(yù)期結(jié)果1進(jìn)入菜品詳情頁面,將菜品加入我的收藏,并能在我的收藏中查看以及使用;2我的收藏不能重復(fù)添加,重復(fù)添加則提示收藏錯誤信息。3刪除我的收藏,正常刪除測試過程a進(jìn)入菜品詳情頁面,將菜品加入我的收藏,并能在我的收藏中查看以及使用1用戶進(jìn)入首頁,進(jìn)入相關(guān)菜品詳情頁面2點擊收藏,將菜品存入我的收藏3查看我的收藏是否收錄b我的收藏不能重復(fù)添加,重復(fù)添加則提示收藏錯誤信息1將同一個菜品重復(fù)收藏2提示菜品收藏出現(xiàn)錯誤c刪除我的收藏,正常刪除1進(jìn)入我的收藏,點擊對應(yīng)菜品的刪除2成功刪除菜品測試結(jié)果用戶在菜品詳情頁面能夠正常收藏,并且在我的收藏中可以刪除以及提示是否重復(fù)添加。測試結(jié)論功能項全部實現(xiàn)備注無購物車功能測試測試內(nèi)容主要以進(jìn)入菜品詳情頁面,是否能將菜品加入購物車,是否能在購物車中查看以及使用。菜品是否可以重復(fù)添加,數(shù)量進(jìn)行加1操作,以及價格求和。是否可以刪除購物車中的菜品。如表6.6所示。表6.6購物車測試表測試項目名稱:網(wǎng)上訂餐系統(tǒng)設(shè)計測試用例編號:Test_6測試項目標(biāo)題:購物車功能的實現(xiàn)測試內(nèi)容驗證購物車功能的實現(xiàn)測試環(huán)境與系統(tǒng)配置軟件環(huán)境:Windows10;硬件環(huán)境:CPU:2.50GHZ內(nèi)存:8GB硬盤:30GB測試輸入數(shù)據(jù)測試次數(shù)9次預(yù)期結(jié)果1進(jìn)入菜品詳情頁面,將菜品加入購物車,并能在購物車中查看以及使用;2菜品可以重復(fù)添加,數(shù)量進(jìn)行加1操作,以及價格求和。3刪除購物車中的菜品,正常刪除測試過程a進(jìn)入菜品詳情頁面,將菜品加入購物車,并能在購物車中查看以及使用1用戶進(jìn)入首頁,進(jìn)入相關(guān)菜品詳情頁面2點擊加入購物車,將菜品存入購物車3查看購物車中菜品信息b菜品可以重復(fù)添加,數(shù)量進(jìn)行加1操作,以及價格求和1將同一個菜品重復(fù)收藏,或者在購物車中進(jìn)行加1減1操作2購物車中菜品數(shù)量以及總價發(fā)生對應(yīng)改變c刪除購物車中的菜品,正常刪除1進(jìn)入購物車,點擊對應(yīng)菜品的刪除2成功刪除菜品測試結(jié)果用戶在菜品詳情頁面能夠正常將菜品加入購物車,以及購物車菜品數(shù)量和總價的更新,菜品的正常刪除測試結(jié)論功能項全部實現(xiàn)備注無訂單結(jié)算功能測試測試內(nèi)容主要以進(jìn)入菜品詳情頁面,將菜品加入購物車,是否能在購物車中查看以及支付。在購物車中進(jìn)行支付功能,是否能跳轉(zhuǎn)到確認(rèn)地址頁面,并進(jìn)行訂單結(jié)算。完成支付后,是否能夠生成訂單,并清除購物車的菜品信息以及菜品的庫存數(shù)量。如表6.7所示。表6.7訂單結(jié)算測試表測試項目名稱:網(wǎng)上訂餐系統(tǒng)設(shè)計測試用例編號:Test_7測試項目標(biāo)題:訂單結(jié)算功能的實現(xiàn)測試內(nèi)容驗證訂單結(jié)算功能的實現(xiàn)測試環(huán)境與系統(tǒng)配置軟件環(huán)境:Windows10;硬件環(huán)境:CPU:2.50GHZ內(nèi)存:8GB硬盤:30GB測試輸入數(shù)據(jù)測試次數(shù)9次預(yù)期結(jié)果1進(jìn)入菜品詳情頁面,將菜品加入購物車,并能在購物車中查看以及支付;2在購物車中進(jìn)行支付功能,跳轉(zhuǎn)到確認(rèn)地址頁面,并進(jìn)行訂單結(jié)算。3完成支付后,生成訂單,并清除購物車的菜品信息以及菜品的庫存數(shù)量測試過程a進(jìn)入菜品詳情頁面,將菜品加入購物車,并能在購物車中查看以及支付1用戶進(jìn)入首頁,進(jìn)入相關(guān)菜品詳情頁面2點擊加入購物車,將菜品存入購物車3查看購物車中菜品信息b在購物車中進(jìn)行支付功能,跳轉(zhuǎn)到確認(rèn)地址頁面,并進(jìn)行訂單結(jié)算1在購物車中點擊支付,跳轉(zhuǎn)到確認(rèn)地址頁面2支付總價,提示支付成功c完成支付后,生成訂單1支付完成后,會提示訂單產(chǎn)生2清除購物車?yán)锏牟似沸畔⒁约翱鄢龑?yīng)的菜品庫存數(shù)量測試結(jié)果用戶在菜品詳情頁面能夠正常將菜品加入購物車,以及購物車菜品數(shù)量和總價的更新,并進(jìn)行菜品的支付功能,生成相關(guān)訂單。菜品庫存數(shù)量也能更新,銷售量增加。測試結(jié)論功能項全部實現(xiàn)備注無6.3本章小結(jié)本章節(jié)僅展示了對軟件中部分常用功能和性能的測試。是根據(jù)功能需求來描述,為實施網(wǎng)站的系統(tǒng)測試,講述如何進(jìn)行測試活動,以及對系統(tǒng)的一些模塊,或是某個具體的控件進(jìn)行測試等等,主要采取黑盒測試為主,白盒測試為輔的方式。在測試內(nèi)容時,也會出現(xiàn)預(yù)期結(jié)果之外的結(jié)果,如果缺少了測試環(huán)節(jié),項目代碼的bug會存在更多,以及面向用戶使用,會出現(xiàn)更多問題。測試環(huán)節(jié)則是為了更好地完善自己的項目代碼,雖然代碼仍然存在很多問題,但是基于用戶需求,會逐漸完善系統(tǒng)功能,保證良好的體驗。 7總結(jié)與展望7總結(jié)與展望本網(wǎng)站為了方便用戶在線購買自己喜歡的菜品,能夠節(jié)省更多時間來完成個人事務(wù),方便用戶購買到實惠的菜品。本項目雖然仍然存在很多問題,但是卻是我對完整項目的一個認(rèn)識。我能夠更加理解項目整體開發(fā)流程,以及未來要做的相關(guān)工作。開發(fā)是很困難,但是不斷地學(xué)習(xí),遇到并解決各種問題,讓我感受到自己的進(jìn)步,從懵懂變得了解。本文主要完成了以下工作:(1)首先通過研究背景、研究現(xiàn)狀、關(guān)鍵技術(shù)對該系統(tǒng)所用的技術(shù)進(jìn)行分析學(xué)習(xí),做好前期的準(zhǔn)備工作。(2)其次對該系統(tǒng)進(jìn)行業(yè)務(wù)、需求、可行性分析,通過對該系統(tǒng)的用例圖、數(shù)據(jù)流圖分析了解該系統(tǒng)的大致定位。(3)然后通過架構(gòu)設(shè)計、功能模塊設(shè)計、數(shù)據(jù)庫設(shè)計、接口設(shè)計對該系統(tǒng)進(jìn)行了一個總體的設(shè)計,了解了該系統(tǒng)的主要功能、數(shù)據(jù)庫和接口,該系統(tǒng)的主要功能是管理員能夠?qū)τ脩艉筒似愤M(jìn)行管理,管理員管理用戶模塊包括對用戶信息進(jìn)行刪除、修改、查詢的操作,管理員管理菜品模塊包括對菜品信息和菜品分類進(jìn)行添加、刪除的操作。管理員對訂單進(jìn)行管理,包括刪除,修改,查看產(chǎn)生的訂單,以及確定接收。(4)接著對該系統(tǒng)進(jìn)行項目、交互、功能模塊性的設(shè)計,通過詳細(xì)的設(shè)計了解到該系統(tǒng)的類圖、時序圖和流程圖,了解到該系統(tǒng)的相關(guān)類和運行邏輯。(5)后來,通過三個模塊的界面設(shè)計,了解到該系統(tǒng)的前后端主要實現(xiàn)原理。(6)最后,對本系統(tǒng)進(jìn)行了功能與非功能的測試,以保證本系統(tǒng)的可靠性。雖然該系統(tǒng)已取得了較好的效果,但仍有不少缺陷,如版面設(shè)計不夠完善,顏色對比度不夠,以及一些細(xì)節(jié)方面的功能有待改進(jìn)。在后期,對用戶,管理員,菜品等相關(guān)的功能進(jìn)行了進(jìn)一步的完善。 參考文獻(xiàn) 參考文獻(xiàn)參考文獻(xiàn)[1]王金朔,孫延輝.基于SSM和Java的網(wǎng)上訂餐系統(tǒng)設(shè)計[J].信息通信,2018,No.190(10):99-100.[2]劉娟.基于ASP.NET的網(wǎng)上訂餐系統(tǒng)的分析與設(shè)計[J].數(shù)字技術(shù)與應(yīng)用,2018,36(09):156-157.DOI:10.19695/12-1369.2018.09.76.[3]文明瑤.基于服務(wù)的網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)[J].佳木斯職業(yè)學(xué)院學(xué)報,2017,No.176(07):427-428..[4]張蕾.校園網(wǎng)上訂餐管理系統(tǒng)的設(shè)計與實現(xiàn)[D].華北理工大學(xué),2017.[5]范博杰.基于JavaWeb的網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)[D].東北大學(xué),2016.[6]鄧雄.基于SSH的網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2017.[7]OnlineFoodOrderingSystem[J].InternationalJournalofRecentTechnologyandEngineering,2019,8(2S3).[8]徐帆.網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)[D].南昌大學(xué),2018.[9]郭睿.基于地點訪問信息的手機(jī)訂餐評價系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2015..[10]黃麗.基于顧客選擇行為的網(wǎng)絡(luò)訂餐預(yù)訂控制研究[D].電子科技大學(xué),2012[11]崔鈺.訂餐系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2014.[12]祝京京.基于UCD的美團(tuán)外賣平臺用戶體驗優(yōu)化研究[D].北京交通大學(xué),2021.DOI:10.26944/ki.gbfju.2021.003261.[13]肖睿,喻曉路,朱微,張超,戴立坤.JavaWeb應(yīng)用設(shè)計及實戰(zhàn)[M].人民郵電出版社:大數(shù)據(jù)開發(fā)實戰(zhàn)系列,201801.238.[14]ShuoJinFang,KeJiMao,JianShen.TheDesignandImplementationofOnlineMealOrderingSystem[J].AdvancedMaterialsResearch,2012,1917(562-564)[15]CBEST:TheOnlyBestRestaurantOnlineOrderingSysteminCanada[J].M2Presswire,2022... 致謝附錄附錄A:登錄注冊核心代碼publicUserlogin(Useruser){user.setPassword(MD5Util.MD5Encode(user.getPassword()+"","UTF-8"));Userone=userMapper.selectOne(user);if(one==null){thrownewXmException(ExceptionEnum.GET_USER_NOT_FOUND);}returnone;}publicUserloginAdmin(Useruser){Userone=userMapper.selectOne(user);if(one==null){thrownewXmException(ExceptionEnum.GET_USER_NOT_FOUND);}returnone;}publicvoidregister(Useruser){Userone=newUser();one.setUsername(user.getUsername());//先去看看用戶名是否重復(fù)if(userMapper.selectCount(one)==1){//用戶名已存在thrownewXmException(ExceptionEnum.SAVE_USER_REUSE);}//使用md5對密碼進(jìn)行加密user.setPassword(MD5Util.MD5Encode(user.getPassword()+"","UTF-8"));//存入數(shù)據(jù)庫try{userMapper.insert(user);}catch(Exceptione){e.printStackTrace();thrownewXmException(ExceptionEnum.SAVE_USER_ERROR);}}publicvoidisUserName(Stringusername){Userone=newUser();one.setUsername(username);//先去看看用戶名是否重復(fù)if(userMapper.selectCount(one)==1){//用戶名已存在thrownewXmException(ExceptionEnum.SAVE_USER_REUSE);}}附錄B:我的收藏核心代碼publicvoidaddCollect(StringuserId,StringproductId){Collectcollect=newCollect();collect.setUserId(Integer.parseInt(userId));collect.setProductId(Integer.parseInt(productId));//先看看是否數(shù)據(jù)庫中已存在Collectone=collectMapper.selectOne(collect);if(one!=null){thrownewXmException(ExceptionEnum.SAVE_COLLECT_REUSE);}//不存在,添加收藏collect.setCollectTime(newDate().getTime());intcount=collectMapper.insert(collect);if(count!=1){thrownewXmException(ExceptionEnum.SAVE_COLLECT_ERROR);}}publicList<Product>getCollect(StringuserId){List<Product>list=null;try{list=collectMapper.getCollect(userId);if(ArrayUtils.isEmpty(list.toArray())){thrownewXmException(ExceptionEnum.GET_COLLECT_NOT_FOUND);}}catch(XmExceptione){e.printStackTrace();thrownewXmException(ExceptionEnum.GET_COLLECT_ERROR);}returnlist;}publicvoiddeleteCollect(StringuserId,StringproductId){Collectcollect=newCollect();collect.setUserId(Integer.parseInt(userId));collect.setProductId(Integer.parseInt(productId));try{intcount=collectMapper.delete(collect);if(count!=1){thrownewXmException(ExceptionEnum.DELETE_COLLECT_ERROR);}}catch(XmExceptione){e.printStackTrace();thrownewXmException(ExceptionEnum.DELETE_COLLECT_ERROR);}}附錄C:購物車核心代碼publicList<CartVo>getCartByUserId(StringuserId){ShoppingCartcart=newShoppingCart();cart.setUserId(Integer.parseInt(userId));List<ShoppingCart>list=null;List<CartVo>cartVoList=newArrayList<>();try{list=cartMapper.select(cart);for(ShoppingCartc:list){cartVoList.add(getCartVo(c));}}catch(Exceptione){e.printStackTrace();thrownewXmException(ExceptionEnum.GET_CART_ERROR);}returncartVoList;}@TransactionalpublicCartVoaddCart(StringproductId,StringuserId){ShoppingCartcart=newShoppingCart();cart.setUserId(Integer.parseInt(userId));cart.setProductId(Integer.parseInt(productId));//查看數(shù)據(jù)庫是否已存在,存在數(shù)量直接加1ShoppingCartone=cartMapper.selectOne(cart);if(one!=null){//還要判斷是否達(dá)到該菜品規(guī)定上限if(one.getNum()>=5){//TODO這里默認(rèn)設(shè)為5后期再動態(tài)修改thrownewXmException(ExceptionEnum.ADD_CART_NUM_UPPER);}one.setNum(one.getNum()+1);cartMapper.updateByPrimaryKey(one);returnnull;}else{//不存在cart.setNum(1);cartMapper.insert(cart);returngetCartVo(cart);}}/***封裝類*@paramcart*@return*/privateCartVogetCartVo(ShoppingCartcart){//獲取菜品,用于封裝下面的類Productproduct=productMapper.selectByPrimaryKey(cart.getProductId());//返回購物車詳情CartVocartVo=newCartVo();cartVo.setId(cart.getId());cartVo.setProductId(cart.getProductId());cartVo.setProductName(product.getProductName());cartVo.setProductImg(product.getProductPicture());cartVo.setPrice(product.getProductSellingPrice());cartVo.setNum(cart.getNum());cartVo.setMaxNum(5);//TODO這里默認(rèn)設(shè)為5后期再動態(tài)修改cartVo.setCheck(false);returncartVo;}publicvoidupdateCartNum(StringcartId,StringuserId,Stringnum){ShoppingCartcart=newShoppingCart();cart.setId(Integer.parseInt(cartId));cart.setUserId(Integer.parseInt(userId));cart.setNum(Integer.parseInt(num));try{intcount=cartMapper.updateByPrimaryKeySelective(cart);if(count!=1){thrownewXmException(ExceptionEnum.UPDATE_CART_ERROR);}}catch(Exceptione){e.printStackTrace();thrownewXmException(ExceptionEnum.UPDATE_CART_ERROR);}}publicvoiddeleteCart(StringcartId,StringuserId){S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職植物保護(hù)(農(nóng)藥殘留檢測)試題及答案
- 2025年中職(大數(shù)據(jù)與會計)財務(wù)管理基礎(chǔ)試題及答案
- 2025年中職(畜牧獸醫(yī))動物防疫階段測試題及答案
- 2025年高職測繪與地理信息技術(shù)(測繪地理信息)試題及答案
- 2024指揮中心建設(shè)白皮書
- 2026廣東廣州市白云區(qū)人民政府棠景街道辦事處第一次招聘政府雇員9人備考題庫及答案詳解一套
- 2026中國科學(xué)院高能物理研究所黨委辦公室主任崗位招聘1人備考題庫及1套參考答案詳解
- 2025年鐵嶺市事業(yè)單位公開招聘動物檢疫崗位工作人員77人備考題庫及參考答案詳解1套
- 2026中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所動態(tài)成像室學(xué)術(shù)秘書招聘1人備考題庫(吉林)及答案詳解1套
- 2026河南鄭州軌道工程職業(yè)學(xué)院寒假教師與輔導(dǎo)員招聘76人備考題庫有完整答案詳解
- 河道治理、拓寬工程 投標(biāo)方案(技術(shù)方案)
- 政治審查表(模板)
- 《最奇妙的蛋》完整版
- 三年級科學(xué)上冊蘇教版教學(xué)工作總結(jié)共3篇(蘇教版三年級科學(xué)上冊知識點整理)
- 種子室內(nèi)檢驗技術(shù)-種子純度鑒定(種子質(zhì)量檢測技術(shù)課件)
- SEMI S1-1107原版完整文檔
- 心電監(jiān)測技術(shù)操作考核評分標(biāo)準(zhǔn)
- 2023年中級財務(wù)會計各章作業(yè)練習(xí)題
- 金屬罐三片罐成型方法與罐型
- 大疆植保無人機(jī)考試試題及答案
- 《LED顯示屏基礎(chǔ)知識培訓(xùn)》
評論
0/150
提交評論