版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章相關(guān)技術(shù)簡(jiǎn)介2.1Java語(yǔ)言選用Java編程語(yǔ)言,是因?yàn)檫@項(xiàng)技術(shù)有很強(qiáng)的可讀性和可移植性。而Java在繼承C++面向?qū)ο蠛诵乃枷氲耐瑫r(shí),也去掉了C++易出錯(cuò)、不太好懂的技巧。Java中還聰明的采用垃圾桶自動(dòng)回收功能,減少了在編程過(guò)程中工作量,也可以更好地利用系統(tǒng)資源和提高系統(tǒng)運(yùn)行性能。Java語(yǔ)言基礎(chǔ)運(yùn)行環(huán)境中含有很多對(duì)編程有幫助的基本類庫(kù)函數(shù)可直接調(diào)用利用而無(wú)再進(jìn)行開(kāi)發(fā),這些都給程序開(kāi)發(fā)工作帶來(lái)了不容忽視的方便,同時(shí)也能加大程序的開(kāi)發(fā)速度。尤其Java企業(yè)應(yīng)用程序接口給Java企業(yè)級(jí)應(yīng)用程序開(kāi)發(fā)帶來(lái)了很多可直接利用的類庫(kù),所以用Java語(yǔ)言開(kāi)發(fā)軟件對(duì)后期的維護(hù)非常方便,這是本人用Java語(yǔ)言進(jìn)行編程的主要原因,總之用Java語(yǔ)言進(jìn)行程序開(kāi)發(fā)也不失為一種不錯(cuò)的解決方法。2.2MySQLMySQL是在學(xué)習(xí)過(guò)程中最常用的數(shù)據(jù)庫(kù)之一。他可以說(shuō)是一個(gè)非常經(jīng)典的數(shù)據(jù)庫(kù),并且在這個(gè)領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用。它是個(gè)性能出色、效率極高的數(shù)據(jù)庫(kù)。它具有豐富的查詢功能,同時(shí)還具備許多獨(dú)特的特性,比如數(shù)據(jù)訪問(wèn)方式多樣化、數(shù)據(jù)表操作簡(jiǎn)單等特點(diǎn)。它有很多方面的優(yōu)點(diǎn):提供了多種數(shù)據(jù)庫(kù)存儲(chǔ)引擎、支持至少20種以上的開(kāi)發(fā)平臺(tái)、運(yùn)行速度快、支持面向?qū)ο?、安全性高、成本低、支持各種開(kāi)發(fā)語(yǔ)言、支持強(qiáng)大的內(nèi)置函數(shù)。這些優(yōu)點(diǎn)使其成為現(xiàn)在眾多數(shù)據(jù)庫(kù)系統(tǒng)中最流行、最有代表性的數(shù)據(jù)庫(kù)之一。這么多優(yōu)點(diǎn)也使其的信息存儲(chǔ)非常方便快捷,靈活安全的權(quán)限及密碼系統(tǒng)使其在應(yīng)用程序中具有較高的安全性。這些優(yōu)勢(shì)使其成為目前眾多大型商業(yè)企業(yè)中最受歡迎的數(shù)據(jù)庫(kù)之一。非常重要的一點(diǎn)就是MySQL數(shù)據(jù)庫(kù)免費(fèi),并且支持海量拓展庫(kù),這更方便了系統(tǒng)的開(kāi)發(fā)。2.3Spring框架Spring框架為Java平臺(tái)一種開(kāi)源應(yīng)用輕量級(jí)框架,RodJohnson創(chuàng)建最初提供的目的就是解決企業(yè)級(jí)應(yīng)用開(kāi)發(fā)業(yè)務(wù)邏輯層與其他層之間的耦合。Spring共有約20個(gè)單元,包含了超過(guò)1300份各種文檔。其中包括數(shù)據(jù)庫(kù)、數(shù)據(jù)持久化模型、消息隊(duì)列、內(nèi)存管理機(jī)制等。Spring框架擁有控制反轉(zhuǎn)(IOC)特性以便于項(xiàng)目維護(hù)與測(cè)試為目標(biāo),為Java對(duì)象通過(guò)Java中反射機(jī)制實(shí)現(xiàn)統(tǒng)一配置與管理提供途徑。在此過(guò)程中可以實(shí)現(xiàn)組件間的交互以及系統(tǒng)內(nèi)部各節(jié)點(diǎn)功能的集成,使其能夠更好地滿足企業(yè)用戶對(duì)于復(fù)雜應(yīng)用場(chǎng)景的需求。Spring框架有一個(gè)面向切面編程的(AOP)的框架,SpringAOP框架是建立在代理模式的基礎(chǔ)上的,并且在運(yùn)行過(guò)程中可以進(jìn)行配置。該技術(shù)還支持在組件上直接部署應(yīng)用程序,并為開(kāi)發(fā)環(huán)境帶來(lái)極大簡(jiǎn)化,降低系統(tǒng)復(fù)雜度。2.4Vue框架Vue為一組漸進(jìn)式框架用來(lái)構(gòu)造用戶界面。在該框架中,用戶可以根據(jù)需求來(lái)創(chuàng)建各種界面模型,并將其嵌入到一個(gè)可執(zhí)行代碼中去。它不同于其他大型框架,將Vue設(shè)計(jì)成可從底層逐層施加。在此過(guò)程中,用戶無(wú)需考慮其底層數(shù)據(jù)的具體實(shí)現(xiàn)方法和細(xì)節(jié),而是直接從一個(gè)簡(jiǎn)單易用的界面開(kāi)始。Vue中核心庫(kù)僅集中在視圖層,既容易上手又容易和第三方庫(kù)或者現(xiàn)有項(xiàng)目集成。另一方面,Vue在與現(xiàn)代化工具鏈和各類支持類庫(kù)相結(jié)合的情況下,完全可以驅(qū)動(dòng)復(fù)雜單頁(yè)應(yīng)用。第3章系統(tǒng)分析3.1可行性分析3.1.1技術(shù)可行性從技術(shù)可行性出發(fā),本系統(tǒng)是基于Java語(yǔ)言的校園跑腿系統(tǒng)。開(kāi)發(fā)時(shí)將采用SpringBoot框架以便彈性管理代碼,用當(dāng)今優(yōu)秀的多語(yǔ)言集成開(kāi)發(fā)工具之一IDEA進(jìn)行開(kāi)發(fā),使用MySQL數(shù)據(jù)庫(kù)對(duì)系統(tǒng)內(nèi)繁多的數(shù)據(jù)的進(jìn)行存儲(chǔ),使用Vue對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)。這些工具都是成熟而穩(wěn)定的,而與此相關(guān)的大部分開(kāi)發(fā)工具均為免費(fèi)開(kāi)發(fā)工具。綜合以上考慮,開(kāi)發(fā)基于Java校園跑腿系統(tǒng)從技術(shù)上來(lái)講是可行的。3.1.2經(jīng)濟(jì)可行性通過(guò)參考相關(guān)的文獻(xiàn),可以預(yù)估出系統(tǒng)在開(kāi)發(fā)時(shí)所用的軟件和硬件是很好獲取的而且大部分軟件是免費(fèi)的,開(kāi)發(fā)成本很低。開(kāi)發(fā)的預(yù)算也在接受范圍之內(nèi)。綜合以上考慮,開(kāi)發(fā)基于Java校園跑腿系統(tǒng)從經(jīng)濟(jì)上來(lái)講是可行的。3.1.3操作可行性在將系統(tǒng)移交給使用人員時(shí),應(yīng)確保系統(tǒng)使用方便、易于操作,多數(shù)功能應(yīng)由設(shè)計(jì)良好的圖形界面完成,同時(shí)數(shù)據(jù)輸入應(yīng)設(shè)計(jì)靈活、齊全、無(wú)歧義、便于管理員及用戶對(duì)系統(tǒng)相關(guān)信息進(jìn)行查看。另外,還需要對(duì)系統(tǒng)進(jìn)行定期的維護(hù),確保系統(tǒng)能夠正常運(yùn)行。整個(gè)系統(tǒng)一定要簡(jiǎn)潔、高效,在使用中對(duì)不同級(jí)別的用戶要有很好的權(quán)限。另外還要有良好的用戶界面和安全性等方面的保證,才能更好地發(fā)揮出校園跑腿系統(tǒng)的作用。通過(guò)對(duì)上述這幾部分的思考,確定此次開(kāi)發(fā)在操作上是的可行的。3.2需求分析系統(tǒng)的功能需求分析能夠進(jìn)一步了解接下來(lái)在軟件功能需求的實(shí)現(xiàn)過(guò)程中,所需要實(shí)現(xiàn)的功能和不需要實(shí)現(xiàn)的功能。好的需求分析可以幫助減少甚至避免頻繁的出現(xiàn)錯(cuò)誤以提高軟件生產(chǎn)率、減少開(kāi)發(fā)成本和提高軟件質(zhì)量。3.2.1功能需求分析在跑腿系統(tǒng)中當(dāng)中,將為學(xué)生、管理員和跑腿員三種角色提供服務(wù):1、學(xué)生、管理員和跑腿員可以進(jìn)行注冊(cè)、登錄,在登錄后可以在個(gè)人中心修改用戶密碼等信息。2、學(xué)生在系統(tǒng)主頁(yè)對(duì)商品或者菜品進(jìn)行瀏覽,在快遞站內(nèi)查看快遞站信息。可以根據(jù)需要,對(duì)想要的商品、菜品進(jìn)行下單點(diǎn)贊,或者在快遞站內(nèi)下單找跑腿員代取快遞,在跑腿員將商品送達(dá)時(shí)審核訂單是否可以通過(guò)進(jìn)行支付以及對(duì)訂單進(jìn)行評(píng)價(jià)。管理員對(duì)各種商品、菜品、學(xué)生和跑腿員的信息進(jìn)行管理。3、跑腿員可以查看商品、菜品信息、學(xué)生的評(píng)價(jià)和訂單信息、接單。4、管理員對(duì)商品、菜品信息進(jìn)行整理、分類最后將將其添加到對(duì)應(yīng)的區(qū)域,還要對(duì)學(xué)生的訂單和評(píng)價(jià)進(jìn)行管理。5、管理員可以發(fā)布公告,對(duì)系統(tǒng)插圖進(jìn)行更換。注冊(cè)登錄商品信息查看訂單下發(fā)訂單評(píng)價(jià)菜品信息查看訂單支付快遞站查看注冊(cè)登錄商品信息查看訂單下發(fā)訂單評(píng)價(jià)菜品信息查看訂單支付快遞站查看圖3.1學(xué)生用例圖注冊(cè)登錄商品信息查看注冊(cè)登錄商品信息查看跑腿接單需求訂單查看圖3.2跑腿員用例圖用戶信息管理商品信息管理訂單管理快遞站管理菜品信息管理評(píng)價(jià)管理用戶信息管理商品信息管理訂單管理快遞站管理菜品信息管理評(píng)價(jià)管理系統(tǒng)管理圖3.3管理員用例圖3.2.2非功能需求分析本文將設(shè)計(jì)基于Java的校園跑腿系統(tǒng),因其將儲(chǔ)存大量信息和用戶相關(guān)的基本情況,為保證系統(tǒng)數(shù)據(jù)安全,在設(shè)計(jì)和開(kāi)發(fā)本系統(tǒng)時(shí)要特別配置用戶實(shí)名制注冊(cè)登錄模塊,通過(guò)實(shí)名制來(lái)認(rèn)證接入本系統(tǒng)的使用者。同時(shí)在服務(wù)器端也設(shè)置有身份驗(yàn)證模塊和用戶授權(quán)管理模塊。整個(gè)校園平臺(tái)的用戶身份都經(jīng)過(guò)實(shí)名制認(rèn)證,系統(tǒng)會(huì)依據(jù)用戶的身份給用戶分配相應(yīng)權(quán)限,并且保證用戶只能夠執(zhí)行權(quán)限內(nèi)的操作并且只能夠獲取權(quán)限內(nèi)的信息。同時(shí)為了防止非法使用和惡意攻擊,系統(tǒng)還將設(shè)置有用戶權(quán)限限制規(guī)則和安全審計(jì)策略,以實(shí)現(xiàn)系統(tǒng)安全保護(hù)。用戶權(quán)限控制機(jī)制,有效地保證系統(tǒng)數(shù)據(jù)的安全,當(dāng)用戶發(fā)生異常運(yùn)行時(shí),系統(tǒng)將立即終止對(duì)該用戶的接入。3.3系統(tǒng)流程分析3.3.1登錄流程否是登錄檢測(cè)賬號(hào)、密碼是否正確查詢角色權(quán)限跳轉(zhuǎn)對(duì)應(yīng)的頁(yè)面否是登錄檢測(cè)賬號(hào)、密碼是否正確查詢角色權(quán)限跳轉(zhuǎn)對(duì)應(yīng)的頁(yè)面輸入賬號(hào)、密碼、角色選擇開(kāi)始結(jié)束圖3.4登錄流程圖3.3.2購(gòu)買流程查看商品是判斷是否下訂單跑腿員跑單訂單送達(dá)開(kāi)始結(jié)束訂單評(píng)價(jià)否訂單支付對(duì)于購(gòu)買流程來(lái)說(shuō),主要的是學(xué)生查看商品再下訂單最后進(jìn)行支付和跑腿員接單跑單,其具體操作如圖3.查看商品是判斷是否下訂單跑腿員跑單訂單送達(dá)開(kāi)始結(jié)束訂單評(píng)價(jià)否訂單支付圖3.5購(gòu)買流程圖3.3.3注冊(cè)流程用戶在注冊(cè)時(shí)要填寫相應(yīng)的信息進(jìn)行注冊(cè)。兩次輸入的密碼必須是一致的,點(diǎn)擊注冊(cè)時(shí)還要判斷該賬號(hào)是否已經(jīng)存在。本系統(tǒng)的具體系統(tǒng)注冊(cè)流程如圖3.6所示:是否輸入賬號(hào)輸入密碼是否輸入賬號(hào)輸入密碼再次輸入密碼輸入姓名、性別、年齡、郵箱、手機(jī)號(hào)、身份證號(hào)點(diǎn)擊注冊(cè)否否是開(kāi)始判斷是否已賬號(hào)注冊(cè)判斷兩次密碼是否一致注冊(cè)成功結(jié)束3.3.4用戶信息管理流程是否開(kāi)始登錄是否開(kāi)始登錄判斷是否是管理員查詢、刪除、添加、修改用戶信息修改密碼、個(gè)人信息數(shù)據(jù)庫(kù)更新結(jié)束圖3.7用戶信息管理流程圖第4章系統(tǒng)設(shè)計(jì)4.1功能模塊設(shè)計(jì)據(jù)需求分析的結(jié)果,遵循高內(nèi)聚低耦合的原則,將校園跑腿系統(tǒng)分為食堂菜品信息管理、超市商品信息管理、快遞站管理、銷售量統(tǒng)計(jì)、用戶管理、訂單管理、訂單支付、跑腿接單管理、跑腿訂單評(píng)價(jià)等模塊?;贘ava的基于Java的校園跑腿系統(tǒng)食堂菜品信息管理超市商品信息管理快遞站管理訂單管理跑腿訂單評(píng)價(jià)跑腿接單管理訂單支付銷售量統(tǒng)計(jì)用戶管理圖4.1系統(tǒng)功能結(jié)構(gòu)圖4.2數(shù)據(jù)庫(kù)設(shè)計(jì)4.2.1概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)是將用戶需求抽象為概念模型的設(shè)計(jì),其通過(guò)需求分析而得到用戶的需求,并抽象為信息結(jié)構(gòu)的一個(gè)過(guò)程,然后再?gòu)姆治龅慕嵌热フ显O(shè)計(jì)視角,最后完成整個(gè)E-R圖的設(shè)計(jì)。本系統(tǒng)規(guī)劃出的主要實(shí)體有管理員、學(xué)生、跑腿員、商品、訂單。這些實(shí)體的實(shí)體屬性圖和實(shí)體間關(guān)系圖描述如下:1、管理員實(shí)體屬性圖如圖4.2所示賬號(hào)用戶名密碼賬號(hào)用戶名密碼管理員年齡手機(jī)號(hào)年齡手機(jī)號(hào)學(xué)號(hào)(賬號(hào))年齡姓名頭像學(xué)生賬號(hào)密碼圖4.3學(xué)生實(shí)體屬性圖年齡性別頭像聯(lián)系電話年齡性別頭像聯(lián)系電話跑腿員姓名跑腿員跑腿賬號(hào)賬號(hào)密碼圖4.4跑腿員實(shí)體屬性圖4、商品實(shí)體屬性圖如圖4.5所示:數(shù)量數(shù)量超市名稱商品封面商品分類價(jià)格上架日期商品名稱商品介紹圖4.5商品實(shí)體屬性圖5、訂單實(shí)體屬性圖如圖4.6所示需求時(shí)間商品名稱訂單編號(hào)學(xué)生賬號(hào)需求時(shí)間商品名稱訂單編號(hào)學(xué)生賬號(hào)送達(dá)地址訂單跑腿賬號(hào)菜品名稱數(shù)量食堂名稱菜品封面菜品分類數(shù)量食堂名稱菜品封面菜品分類價(jià)格上架日期菜品名稱菜品介紹圖4.7菜品實(shí)體屬性圖MMN訂單跑腿員MMN訂單跑腿員學(xué)生商品生成菜品下單接單1MNN生成評(píng)價(jià)11下單111圖4.8系統(tǒng)E-R圖4.2.2邏輯結(jié)構(gòu)設(shè)計(jì)校園跑腿系統(tǒng)的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)首先需要考慮到將實(shí)體和屬性清楚的定義清楚。其次就要考慮到具體的細(xì)節(jié)如數(shù)據(jù)類型的長(zhǎng)度和確定條件,一些信息的格式,表的主鍵以及主鍵的索引。(1)xueshengpingjia用來(lái)儲(chǔ)存學(xué)生評(píng)價(jià)信息,其表結(jié)構(gòu)如圖4.1所示:表4.1xueshengpingjia學(xué)生評(píng)價(jià)表字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPpingjiabianhaovarchar10評(píng)價(jià)編號(hào)fuwupingjiavarchar20服務(wù)評(píng)價(jià)manyichengduvarchar10滿意程度pingyulongtext評(píng)語(yǔ)pingjiashijiandatetime評(píng)價(jià)時(shí)間xuehaovarchar9學(xué)號(hào)xingmingvarchar9姓名shoujivarchar11手機(jī)paotuizhanghaovarchar9跑腿賬號(hào)paotuixingmingvarchar9跑腿姓名lianxidianhuavarchar11聯(lián)系電話(2)dingdanxinxi表儲(chǔ)存訂單信息,其表結(jié)構(gòu)如表4.2所示:表4.2dingdanxinxi訂單信息表字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPdingdanbianhaovarchar10訂單編號(hào)mingchengvarchar10名稱jiagefloat價(jià)格shuliangint數(shù)量zongjiafloat總價(jià)choulaofloat酬勞dizhivarchar10地址dingdanshuominglongtext訂單說(shuō)明dingdanzhuangtaivarchar10訂單狀態(tài)songdadizhivarchar10送達(dá)地址xuehaovarchar9學(xué)號(hào)xingmingvarchar9姓名shoujivarchar11手機(jī)paotuizhanghaovarchar10跑腿賬號(hào)paotuixingmingvarchar9跑腿姓名lianxidianhuavarchar11聯(lián)系電話(3)xuesheng表儲(chǔ)存學(xué)生信息,其表結(jié)構(gòu)表4.3所示:表4.3xuesheng學(xué)生表字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵xuehaovarchar9學(xué)號(hào)mimavarchar9密碼xingmingvarchar9姓名nianlingint年齡xingbievarchar2性別shoujivarchar11手機(jī)touxianglongtext頭像(4)chaoshishangpin表儲(chǔ)存超市商品信息,其結(jié)構(gòu)如表4.4所示:表4.4chaoshishangpin超市商品表字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPmingchengvarchar10名稱chaoshimingchengvarchar10超市名稱shangpinfenleivarchar10商品分類guigevarchar100規(guī)格jiagefloat價(jià)格shuliangint數(shù)量fengmianlongtext封面shangjiariqidate上架日期shangpinjieshaolongtext商品介紹(5)storeup表儲(chǔ)存收藏信息,其結(jié)構(gòu)如表4.5所示:表4.5storeup收藏表字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPuseridbigint用戶idrefidbigint商品idtablenamevarchar5表名namevarchar5名稱picturelongtext圖片inteltypevarchar10推薦類型remarkvarchar10備注(7)caipinfenlei表儲(chǔ)存菜品分類信息,其結(jié)構(gòu)如表4.7所示:表4.7caipinfenlei菜品分類表字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPcaipinfenleivarchar10菜品分類(8)shitangcaipin表儲(chǔ)存食堂菜品信息,其結(jié)構(gòu)如表4.8所示:表4.8shitangcaipin食堂菜品表字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPmingchengvarchar10名稱caipinfenleivarchar10菜品分類shitangmingchengvarchar10食堂名稱dizhivarchar10地址kouweivarchar5口味tupianlongtext圖片jiagefloat價(jià)格shuliangint數(shù)量shangjiashijiandate上架時(shí)間(9)shangpinfenlei儲(chǔ)存商品分類信息,其結(jié)構(gòu)如表4.9所示:表4.9shangpinfenlei商品分類字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPshangpinfenleivarchar10商品分類(10)paotuiyuan表儲(chǔ)存跑腿員信息,其結(jié)構(gòu)如表4.10所示:表4.10paotuiyuan跑腿員表字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵paotuizhanghaovarchar10跑腿賬號(hào)mimavarchar10密碼paotuixingmingvarchar10跑腿姓名nianlingint年齡xingbievarchar10性別touxianglongtext頭像lianxidianhuavarchar11聯(lián)系電話(11)paotuijiedan表儲(chǔ)存跑腿接單信息,其結(jié)構(gòu)如表4.11所示:表4.11paotuijiedan跑腿接單表字段名稱類型長(zhǎng)度字段說(shuō)明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時(shí)間CURRENT_TIMESTAMPdingdanbianhaovarchar10訂單編號(hào)mingchengvarchar10名稱jiagefloat價(jià)格shuliangint數(shù)量zongjiafloat總價(jià)choulaofloat酬勞dizhivarchar10地址xiangxishuominglongtext詳細(xì)說(shuō)明jiedanshijiandatetime接單時(shí)間songdadizhivarchar10送達(dá)地址xuehaovarchar10學(xué)號(hào)xingmingvarchar10姓名shoujivarchar11手機(jī)paotuizhanghaovarchar10跑腿賬號(hào)paotuixingmingvarchar10跑腿姓名lianxidianhuavarchar10聯(lián)系電話第5章系統(tǒng)實(shí)現(xiàn)5.1食堂菜品信息管理管理員登錄到后臺(tái),點(diǎn)擊“菜品分類”即可進(jìn)入菜品分類管理界面。輸入想要查詢的菜品分類點(diǎn)擊“查詢”按鈕之后對(duì)菜品分類進(jìn)行查詢。還可以修改或刪除菜品分類。如圖5.1所示。圖5.1菜品分類管理界面管理員點(diǎn)擊“食堂菜品”進(jìn)入食堂菜品信息管理界面,可以對(duì)菜品進(jìn)行修改或者刪除。頁(yè)面左上角有查詢功能,方便管理員根據(jù)具體的信息對(duì)菜品進(jìn)行刪除或修改如圖5.2。點(diǎn)擊“新增”按鈕對(duì)菜品進(jìn)行添加,如圖5.3所示。圖5.2食堂菜品管理界面圖5.3菜品添加界面學(xué)生登錄到系統(tǒng)主頁(yè)點(diǎn)擊“食堂菜品”按鈕可以查看菜品信息,輸入一個(gè)或多個(gè)對(duì)應(yīng)的信息就可以對(duì)菜品進(jìn)行查詢。如圖5.4所示:圖5.4菜品查看界面實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,ShitangxinxiEntityshitangxinxi,HttpServletRequestrequest){EntityWrapper<ShitangxinxiEntity>ew=newEntityWrapper<ShitangxinxiEntity>();PageUtilspage=shitangxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,shitangxinxi),params),params));returnR.ok().put("data",page);}@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,ShitangxinxiEntityshitangxinxi,HttpServletRequestrequest){EntityWrapper<ShitangxinxiEntity>ew=newEntityWrapper<ShitangxinxiEntity>();PageUtilspage=shitangxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,shitangxinxi),params),params));returnR.ok().put("data",page);}@RequestMapping("/query")publicRquery(ShitangxinxiEntityshitangxinxi){EntityWrapper<ShitangxinxiEntity>ew=newEntityWrapper<ShitangxinxiEntity>();ew.allEq(MPUtil.allEQMapPre(shitangxinxi,"shitangxinxi"));ShitangxinxiViewshitangxinxiView=shitangxinxiService.selectView(ew);returnR.ok("checkTrue").put("data",shitangxinxiView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyShitangxinxiEntityshitangxinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(shitangxinxi);shitangxinxiService.updateById(shitangxinxi);/eturnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){shitangxinxiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.2超市商品信息管理管理員登錄后臺(tái)后點(diǎn)擊“商品分類”即可進(jìn)商品分類管理界面。輸入想要查詢的商品分類點(diǎn)擊“查詢”之后就可以對(duì)商品分類進(jìn)行查詢,方便管理員對(duì)具體的商品分類進(jìn)行修改或刪除。如圖5.5所示:圖5.5商品分類管理界面管理員點(diǎn)擊“超市商品”進(jìn)入到超市商品信息管理界面。頁(yè)面左上角有查詢和添加功能。點(diǎn)擊“新增”進(jìn)入到添加商品界面如圖5.6所示。輸入一個(gè)或多個(gè)信息點(diǎn)擊“查詢”即可查詢相應(yīng)的超市商品,方便管理員對(duì)商品進(jìn)行刪除或修改。如圖5.7所示。圖5.6商品添加界面圖5.7商品管理界面學(xué)生和跑腿員登錄到系統(tǒng)主頁(yè)點(diǎn)擊“超市商品”可以查看商品信息,輸入一個(gè)或多個(gè)信息進(jìn)行查詢。如圖5.8所示圖5.8商品查看界面實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/query")publicRquery(ChaoshixinxiEntitychaoshixinxi){EntityWrapper<ChaoshixinxiEntity>new=newEntityWrapper<ChaoshixinxiEntity>();ew.allEq(MPUtil.allEQMapPre(chaoshixinxi,"chaoshixinxi"));ChaoshixinxiViewchaoshixinxiView=chaoshixinxiService.selectView(ew);returnR.ok("ckeckTrue").put("data",chaoshixinxiView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyChaoshixinxiEntitychaoshixinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(chaoshixinxi);chaoshixinxiService.updateById(chaoshixinxi);returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){chaoshixinxiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}@IgnoreAuth@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){ChaoshixinxiEntitychaoshixinxi=chaoshixinxiService.selectById(id);chaoshixinxi.setClicknum(chaoshixinxi.getClicknum()+1);chaoshixinxi.setClicktime(newDate());chaoshixinxiService.updateById(chaoshixinxi);returnR.ok().put("data",chaoshixinxi);}@RequestMapping("/lists")publicRlist(ChaoshixinxiEntitychaoshixinxi){EntityWrapper<ChaoshixinxiEntity>ew=newEntityWrapper<ChaoshixinxiEntity>();ew.allEq(MPUtil.allEQMapPre(chaoshixinxi,"chaoshixinxi"));returnR.ok().put("data",chaoshixinxiService.selectListView(ew));}@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,ChaoshixinxiEntitychaoshixinxi,HttpServletRequestrequest){EntityWrapper<ChaoshixinxiEntity>ew=newEntityWrapper<ChaoshixinxiEntity>();PageUtilspage=chaoshixinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,chaoshixinxi),params),params));returnR.ok().put("data",page);}5.3快遞站管理管理員在后臺(tái)點(diǎn)擊“快遞站”進(jìn)入到快遞站管理頁(yè)面,在其中可以對(duì)快遞站的信息進(jìn)行查詢、修改、刪除,如圖5.9所示。學(xué)生在系統(tǒng)主頁(yè)的“快遞站”內(nèi)查看快遞站點(diǎn),如圖5.10所示。圖5.9快遞站管理界面圖5.10學(xué)生查看快遞站界面學(xué)生點(diǎn)擊快遞站對(duì)應(yīng)的圖片即可看的到快遞站的具體信息如圖5.11所示:圖5.11快遞站詳細(xì)信息界面實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/query")publicRquery(KuaidizhanEntitykuaidizhan){EntityWrapper<KuaidizhanEntity>ew=newEntityWrapper<KuaidizhanEntity>();ew.allEq(MPUtil.allEQMapPre(kuaidizhan,"kuaidizhan"));KuaidizhanViewkuaidizhanView=kuaidizhanService.selectView(ew);returnR.ok("checkkuaidizhanTrue").put("data",kuaidizhanView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyKuaidizhanEntitykuaidizhan,HttpServletRequestrequest){//ValidatorUtils.validateEntity(kuaidizhan);kuaidizhanService.updateById(kuaidizhan);returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){kuaidizhanService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,KuaidizhanEntitykuaidizhan,HttpServletRequestrequest){EntityWrapper<KuaidizhanEntity>ew=newEntityWrapper<KuaidizhanEntity>();PageUtilspage=kuaidizhanService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,kuaidizhan),params),params));returnR.ok().put("data",page);}5.4銷售量統(tǒng)計(jì)管理員可以在后臺(tái)查看菜品、商品的銷售量統(tǒng)計(jì),橫坐標(biāo)為賣出的菜品、商品的名稱。縱坐標(biāo)為菜品、商品的銷量。如圖5.12和5.13所示:圖5.12商品銷量統(tǒng)計(jì)界面圖5.13菜品銷量統(tǒng)計(jì)界面實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/value/{xColumnName}/{yColumnName}")publicRvalue(@PathVariable("yColumnName")StringyColumnName,@PathVariable("xColumnName")StringxColumnName,HttpServletRequestrequest){Map<String,Object>params=newHashMap<String,Object>();params.put("xColumn",xColumnName);params.put("yColumn",yColumnName);EntityWrapper<CaipindingdanEntity>ew=newEntityWrapper<CaipindingdanEntity>();StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("xuesheng")){ew.eq("xuehao",(String)request.getSession().getAttribute("username"));}List<Map<String,Object>>result=caipindingdanService.selectValue(params,ew);SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");for(Map<String,Object>m:result){for(Stringk:m.keySet()){if(m.get(k)instanceofDate){m.put(k,sdf.format((Date)m.get(k)));}}}returnR.ok().put("data",result);@RequestMapping("/value/{xColumnName}/{yColumnName}")publicRvalue(@PathVariable("yColumnName")StringyColumnName,@PathVariable("xColumnName")StringxColumnName,HttpServletRequestrequest){Map<String,Object>params=newHashMap<String,Object>();params.put("xColumn",xColumnName);params.put("yColumn",yColumnName);EntityWrapper<ShangpindingdanEntity>ew=newEntityWrapper<ShangpindingdanEntity>();StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("xuesheng")){ew.eq("xuehao",(String)request.getSession().getAttribute("username"));}List<Map<String,Object>>result=shangpindingdanService.selectValue(params,ew);SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");for(Map<String,Object>m:result){for(Stringk:m.keySet()){if(m.get(k)instanceofDate){m.put(k,sdf.format((Date)m.get(k)));}}}returnR.ok().put("data",result);}5.5用戶管理學(xué)生和跑腿員第一次使用系統(tǒng)的時(shí)候需要進(jìn)行賬號(hào)注冊(cè),否則無(wú)法進(jìn)入系統(tǒng)。學(xué)生注冊(cè)界面如圖5.14所示。注冊(cè)成功后的用戶可以進(jìn)行登錄,需要輸入賬號(hào)和密碼,系統(tǒng)會(huì)對(duì)所輸入的信息進(jìn)行判斷,如果正確進(jìn)入系統(tǒng)主頁(yè),如果錯(cuò)誤系統(tǒng)會(huì)給出提示,如圖5.15所示:圖5.14學(xué)生注冊(cè)界面圖5.15學(xué)生登錄界面管理員在后臺(tái)點(diǎn)擊“學(xué)生管理”進(jìn)入學(xué)生管理模塊,可以對(duì)學(xué)生信息進(jìn)行查詢、修改或刪除。如圖5.16所示:圖5.16學(xué)生管理界面實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:@PostMapping(value="/login")publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username));if(user==null||!user.getPassword().equals(password)){eturnR.error("賬號(hào)或密碼不正確");}Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole());returnR.ok().put("token",token);}publicRregister(@RequestBodyUsersEntityuser){ValidatorUtils.validateEntity(user);if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){returnR.error("userisTrue");}userService.insert(user);returnR.ok();}@RequestMapping("/query")publicRquery(XueshengEntityxuesheng){EntityWrapper<XueshengEntity>ew=newEntityWrapper<XueshengEntity>();ew.allEq(MPUtil.allEQMapPre(xuesheng,"xuesheng"));XueshengViewxueshengView=xueshengService.selectView(ew);returnR.ok("queryTrue").put("data",xueshengView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyXueshengEntityxuesheng,HttpServletRequestrequest){//ValidatorUtils.validateEntity(xuesheng);xueshengService.updateById(xuesheng);returnR.ok();@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){userService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.6訂單管理管理員在后臺(tái)點(diǎn)擊“訂單管理”可以查看訂單信息,在輸入一個(gè)或多個(gè)信息點(diǎn)擊“查詢”按鈕即可查詢對(duì)應(yīng)的訂單,并且可以對(duì)訂單進(jìn)行刪除。如圖5.17所示:圖5.17訂單管理界面實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/query")publicRquery(DingdanxinxiEntitydingdanxinxi){EntityWrapper<DingdanxinxiEntity>ew=newEntityWrapper<DingdanxinxiEntity>();ew.allEq(MPUtil.allEQMapPre(dingdanxinxi,"dingdanxinxi"));DingdanxinxiViewdingdanxinxiView=dingdanxinxiService.selectView(ew);returnR.ok("checkdingdanTrue").put("data",dingdanxinxiView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyDingdanxinxiEntitydingdanxinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(dingdanxinxi);dingdanxinxiService.updateById(dingdanxinxi);returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){dingdanxinxiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.7訂單支付學(xué)生可以在跑腿員送到訂單的時(shí)候進(jìn)入訂單信息界面,點(diǎn)擊綠色的“支付”進(jìn)行支付。如圖5.18和圖5.19所示:圖5.18訂單查看界面圖5.19訂單支付界面實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:publicinterfaceDingdanxinxiServiceextendsIService<DingdanxinxiEntity>{PageUtilsqueryPage(Map<String,Object>params);List<DingdanxinxiVO>selectListVO(Wrapper<DingdanxinxiEntity>wrapper);DingdanxinxiVOselectVO(@Param("ew")Wrapper<DingdanxinxiEntity>wrapper);List<DingdanxinxiView>selectListView(Wrapper<DingdanxinxiEntity>wrapper);DingdanxinxiViewselectView(@Param("ew")Wrapper<DingdanxinxiEntity>wrapper);PageUtilsqueryPage(Map<String,Object>params,Wrapper<DingdanxinxiEntity>wrapper);}@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,DingdanxinxiEntitydingdanxinxi,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("xuesheng")){dingdanxinxi.setXuehao((String)request.getSession().getAttribute("username"));}if(tableName.equals("paotuiyuan")){dingdanxinxi.setPaotuizhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<DingdanxinxiEntity>ew=newEntityWrapper<DingdanxinxiEntity>();PageUtilspage=dingdanxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,dingdanxinxi),params),params));returnR.ok().put("data",page);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyDingdanxinxiEntitydingdanxinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(dingdanxinxi);dingdanxinxiService.updateById(dingdanxinxi);returnR.ok();}5.8跑腿接單管理跑腿員在后臺(tái)點(diǎn)擊“跑腿接單”進(jìn)行接單,如圖5.20所示。管理員在后臺(tái)點(diǎn)擊“跑腿接單”按鈕對(duì)跑腿員所接的訂單進(jìn)行管理,可以進(jìn)行刪除但是不能修改。如圖5.21所示:圖5.20跑腿接單界面圖5.21訂單管理界面實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/query")publicRquery(PaotuijiedanEntitypaotuijiedan){EntityWrapper<PaotuijiedanEntity>ew=newEntityWrapper<PaotuijiedanEntity>();ew.allEq(MPUtil.allEQMapPre(paotuijiedan,"paotuijiedan"));PaotuijiedanViewpaotuijiedanView=paotuijiedanService.selectView(ew);returnR.ok("checkpaotuijiedanTrue").put("data",paotuijiedanView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyPaotuijiedanEntitypaotuijiedan,HttpServletRequestrequest){//ValidatorUtils.validateEntity(paotuijiedan);paotuijiedanService.updateById(paotuijiedan);returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){paotuijiedanService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.9跑腿訂單評(píng)價(jià)學(xué)生在支付完成后點(diǎn)擊“訂單評(píng)價(jià)”按鈕可以對(duì)訂單進(jìn)行評(píng)價(jià),可以對(duì)跑腿員的這次跑單進(jìn)行打星,并寫上評(píng)語(yǔ)如圖5.22所示:圖5.22訂單評(píng)價(jià)界面跑腿員登錄到自己的賬號(hào),點(diǎn)擊“學(xué)生評(píng)價(jià)”按鈕就能查看到學(xué)生的評(píng)價(jià)。如圖5.23所示:圖5.23查看訂單評(píng)價(jià)界面實(shí)現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/query")publicRquery(XueshengpingjiaEntityxueshengpingjia){EntityWrapper<XueshengpingjiaEntity>ew=newEntityWrapper<XueshengpingjiaEntity>();ew.allEq(MPUtil.allEQMapPre(xueshengpingjia,"xueshengpingjia"));XueshengpingjiaViewueshengpingjiaView=xueshengpingjiaService.selectView(ew);returnR.ok("checkpingjiaTrue").put("data",xueshengpingjiaView);}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){xueshengpingjiaService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}@IgnoreAuth@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){XueshengpingjiaEntityxueshengpingjia=xueshengpingjiaService.selectById(id);returnR.ok().put("data",xueshengpingjia);}@RequestMapping("/save")publicRsave(@RequestBodyXueshengpingjiaEntityxueshengpingjia,HttpServletRequestrequest){xueshengpingjia.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xueshengpingjia);xueshengpingjiaService.insert(xueshengpingjia);returnR.ok();}@IgnoreAuth@RequestMapping("/add")publicRadd(@RequestBodyXueshengpingjiaEntityxueshengpingjia,HttpServletRequestrequest){xueshengpingjia.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());ValidatorUtils.validateEntity(xueshengpingjia);xueshengpingjiaService.insert(xueshengpingjia);returnR.ok();}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyXueshengpingjiaEntityxueshengpingjia,HttpServletRequestrequest){//ValidatorUtils.validateEntity(xueshengpingjia);xueshengpingjiaService.updateById(xueshengpingjia);returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){xueshengpingjiaService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}第6章系統(tǒng)測(cè)試6.1測(cè)試方法黑盒測(cè)試是對(duì)系統(tǒng)整體功能性的一種測(cè)試手段,測(cè)試人員在進(jìn)行黑盒測(cè)試時(shí),主要從用戶角度考慮,通過(guò)利用相應(yīng)的功能測(cè)試用例,將系統(tǒng)的實(shí)際測(cè)試情況和預(yù)期情況相互比較。因此本系統(tǒng)采用黑盒測(cè)試,可以保證系統(tǒng)的正常運(yùn)行的同時(shí)也能及時(shí)發(fā)現(xiàn)系統(tǒng)問(wèn)題。6.2功能測(cè)試6.2.1跑腿接單和訂單支付一個(gè)完成的跑腿流程需要學(xué)生先下定單,然后跑腿員進(jìn)行搶單,接單成功后再進(jìn)行跑腿,等到學(xué)生拿到商品之后學(xué)生先進(jìn)行審核然后再付錢給跑腿員最后進(jìn)行評(píng)價(jià)。學(xué)生進(jìn)入系統(tǒng)主頁(yè),界面如圖6.1系統(tǒng)主界面所示,可以對(duì)想要的商品、菜品或者快遞站進(jìn)行查看。以商品舉例,點(diǎn)擊“超市商品”按鈕進(jìn)入超市商品界面,如圖6.2所示;圖6.1系統(tǒng)主頁(yè)界面圖6.2超市商品界面學(xué)生通過(guò)瀏覽或者搜索尋找的想要的商品,點(diǎn)擊商品對(duì)應(yīng)的圖片進(jìn)入商品詳細(xì)信息界面查看,如圖6.3所示:圖6.3商品詳細(xì)信息查看界面點(diǎn)擊“購(gòu)買商品”后進(jìn)入到訂單提交界面,其部分截圖如圖6.4所示。提交訂單的時(shí)候必須要添加地址,如果不填寫時(shí)系統(tǒng)會(huì)給出提示。如圖6.5所示:圖6.4訂單提交界面圖6.5錯(cuò)誤填寫提示跑腿員點(diǎn)擊“跑腿接單”進(jìn)行接單,其部分界面如圖6.6所示。如果訂單已經(jīng)被跑腿員接下那么此訂單將不能被再次接單,訂單被接下后跑腿員需要開(kāi)始跑腿,如圖6.7所示;圖6.6跑腿接單界面圖6.7跑腿員錯(cuò)誤接單界面學(xué)生在跑腿員送達(dá)之后對(duì)訂單進(jìn)行查看其界面如圖6.8所示,點(diǎn)擊“支付”后對(duì)商品進(jìn)行支付如圖6.9所示。圖6.8訂單查看圖6.9支付界面點(diǎn)擊支付后系統(tǒng)會(huì)提示“確定支付”,確定支付之后可以看到訂單信息界面顯示已支付。如圖6.10和圖6.11所示:圖6.10系統(tǒng)提示是否支付圖6.11訂單支付成功6.2.2食堂菜品信息管理管理員在增加食堂菜品分類時(shí),例如增加“炒飯類”提交系統(tǒng)會(huì)提示操作成功界面如圖6.12所示。在菜品分類界面就可以看到對(duì)應(yīng)的菜品分類,如圖6.13所示:圖6.12增加菜品分類界面圖6.13查看被添加的商品界面管理員在刪除菜品分類時(shí)系統(tǒng)會(huì)提示“確定進(jìn)行[刪除]操作”,點(diǎn)擊確定提交系統(tǒng)會(huì)提示操作成功。被刪除的菜品分類會(huì)查詢不到。如刪除炒飯類界面如圖6.14圖6.15示:圖6.14菜品刪除界面圖6.15查詢刪除的菜品分類界面管理員點(diǎn)擊食堂菜品時(shí)進(jìn)入界面,在左上角有菜品查詢功能。管理員在輸入對(duì)應(yīng)的信息即可查詢對(duì)應(yīng)的菜品如查找蓋飯類。界面如圖6.16示:圖6.16菜品查詢界面管理員點(diǎn)擊修改菜品,如將“椒麻雞”的價(jià)格和數(shù)量都調(diào)整為25在修改成功前后界面如圖6.17圖6.18示:圖6.17修改菜品信息前界面圖6.18修改菜品信息后界面管理員在刪除菜品時(shí)系統(tǒng)會(huì)提示“確定進(jìn)行[刪除]操作”,點(diǎn)擊確定提交系統(tǒng)會(huì)提示操作成功。被刪除的菜品會(huì)查詢不到。刪除“椒麻雞”界面如圖6.19圖6.20:圖6.19菜品刪除界面圖6.20查詢刪除的菜品界面6.2.3超市商品信息管理管理員在刪除對(duì)應(yīng)的商品時(shí)系統(tǒng)會(huì)出現(xiàn)提示界面,刪除成功時(shí)會(huì)出現(xiàn)“操作成功”,并且系統(tǒng)中將查詢不到此商品。如要?jiǎng)h除“水壺”并且刪除成功如圖6.21和圖6.22所示:圖6.21商品刪除界面圖6.22查詢刪除的商品界面管理員點(diǎn)擊超市商品時(shí)進(jìn)入界面,在左上角有商品查詢功能。管理員在輸入對(duì)應(yīng)的信息即可查詢對(duì)應(yīng)的商品。如要查詢“書籍類”界面如圖6.23所示:圖6.23商品查詢界面管理員在修改商品成功時(shí)會(huì)在系統(tǒng)中得到“操作成功”的提示,如將“水壺”的數(shù)量和價(jià)格商品都修改成20。修改前后的界面如圖6.24和6.25所示:圖6.24商品修改前界面圖6.25商品修改后界面管理員添加商品需要輸入一些信息如圖6.26所示,提價(jià)后系統(tǒng)會(huì)出現(xiàn)提示“操作成功”。成功添加的商品在超市商品欄里可以被找到其界面如6.27所示:圖6.26商品添加界面圖6.27商品添加成功界面6.2.4快遞站管理學(xué)生可以在系統(tǒng)主頁(yè)內(nèi)的快遞站內(nèi)查找自己快遞對(duì)應(yīng)快遞站進(jìn)行下單,下單時(shí)必須要輸入自己的手機(jī)尾號(hào)和取件碼,以便提供給跑腿員用來(lái)幫忙取件。如圖6.28和圖6.29所示:圖6.28查看快遞站信息界面圖6.29下單界面在系統(tǒng)后臺(tái),管理員可以輸入對(duì)應(yīng)的快遞站名稱來(lái)對(duì)快遞站進(jìn)行查詢?nèi)鐖D6.30所示:圖6.30快遞站查詢界面管理員可以對(duì)快遞站進(jìn)行刪除,系統(tǒng)會(huì)提示“是否進(jìn)行刪除操作”成功刪除后系統(tǒng)會(huì)提示操作成功。如將慢慢快遞站刪除如圖6.31所示,查詢被刪除的快遞站還會(huì)查詢不到如圖6.32所示:圖6.31快遞站刪除界面圖6.32查詢被刪除的快遞站界面管理員可以對(duì)快遞站信息進(jìn)行修改。如將“德邦快遞”站的地址改在第一食堂的后面將如圖6.33和圖6.34所示:圖6.33快遞站信息修改前界面圖6.34快遞站信息修改后界面6.2.5銷售量統(tǒng)計(jì)學(xué)生下訂單后管理員就可以在商品訂單頁(yè)面內(nèi)點(diǎn)擊商品銷量以查看銷量,其橫坐標(biāo)為下單的物品,縱坐標(biāo)為賣出的物品數(shù)量,如圖6.35所示:圖6.35商品統(tǒng)計(jì)界面管理員刪除一些訂單后統(tǒng)計(jì)圖就會(huì)發(fā)生改變?nèi)鐖D6.36所示:圖6.36訂單減少后的商品統(tǒng)計(jì)界面6.2.6用戶管理跑腿員、學(xué)生在使用系統(tǒng)時(shí)會(huì)進(jìn)行注冊(cè)和登錄。注冊(cè)時(shí)需要輸入對(duì)應(yīng)的信息否則系統(tǒng)將提示您輸入的相關(guān)信息的格式有誤。如果是登錄的話會(huì)提示輸入的相關(guān)信息不正確界面如圖6.37所示:圖6.37錯(cuò)誤登錄提示界面學(xué)生林蕭、學(xué)號(hào)404201925通過(guò)輸入自己的輸入正確的用戶名和密碼,會(huì)進(jìn)入本系統(tǒng),管理員可以在后臺(tái)查看該學(xué)生。界面如圖6.38所示:圖6.38查看學(xué)生信息太久沒(méi)登錄在進(jìn)入系統(tǒng)時(shí)系統(tǒng)會(huì)提示“請(qǐng)先登錄”:如圖6.39所示:圖6.39登錄提示界面管理員輸入正確的用戶名和密碼,會(huì)進(jìn)入本系統(tǒng),界面如圖6.40所示:圖6.40管理員登錄成功界面管理員刪除學(xué)生時(shí)系統(tǒng)會(huì)提示是否刪除。如刪除林蕭后系統(tǒng)內(nèi)將查找不到該學(xué)生,界面如圖6.41所示:圖6.41刪除學(xué)生成功6.2.7訂單管理管理員在需求訂單內(nèi)查看學(xué)生發(fā)布的訂單狀態(tài)和信息,可將訂單刪除但是不能對(duì)訂單信息進(jìn)行修改如圖6.42所示:圖6.42訂單查看界面管理員在需求訂單內(nèi)輸入相應(yīng)的信息來(lái)搜索對(duì)應(yīng)的訂單,如搜索“香辣火鍋”,界面如圖6.43所示:圖6.43訂單查詢界面管理員刪除學(xué)生訂單時(shí)系統(tǒng)會(huì)顯示“確定進(jìn)行[刪除]操作”,如刪除菜品名稱為“辣毛肚”的訂單,如圖6.44所示。系統(tǒng)將查詢不到對(duì)應(yīng)的訂單,如圖6.45所示:圖6.44訂單刪除前界面6.45
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版電力設(shè)備供應(yīng)商設(shè)備采購(gòu)及安裝合同3篇
- 二零二五年度新型外墻涂料施工勞務(wù)分包質(zhì)量保證合同3篇
- 二零二五版VOC環(huán)保設(shè)施全生命周期運(yùn)維合同2篇
- 二零二五年股權(quán)投資退出與回購(gòu)條款合同范本3篇
- 二零二五版起重設(shè)備吊裝安全管理合同3篇
- 二零二五年杭州房產(chǎn)中介房屋租賃合同規(guī)范文本9篇
- 二零二五版?zhèn)}儲(chǔ)物流倉(cāng)儲(chǔ)場(chǎng)地租賃合同20篇
- 二零二五版智能電網(wǎng)500KVA箱變?cè)O(shè)備維護(hù)保養(yǎng)服務(wù)合同3篇
- 二零二五年接送機(jī)服務(wù)及行李寄存合同3篇
- 二零二五年度高端商務(wù)座椅定制與物流配送合同3篇
- 中央2025年國(guó)務(wù)院發(fā)展研究中心有關(guān)直屬事業(yè)單位招聘19人筆試歷年參考題庫(kù)附帶答案詳解
- 外呼合作協(xié)議
- 小學(xué)二年級(jí)100以內(nèi)進(jìn)退位加減法800道題
- 2025年1月普通高等學(xué)校招生全國(guó)統(tǒng)一考試適應(yīng)性測(cè)試(八省聯(lián)考)語(yǔ)文試題
- 《立式輥磨機(jī)用陶瓷金屬?gòu)?fù)合磨輥輥套及磨盤襯板》編制說(shuō)明
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- 育肥牛購(gòu)銷合同范例
- 暨南大學(xué)珠海校區(qū)財(cái)務(wù)辦招考財(cái)務(wù)工作人員管理單位遴選500模擬題附帶答案詳解
- DB51-T 2944-2022 四川省社會(huì)組織建設(shè)治理規(guī)范
- 2024北京初三(上)期末英語(yǔ)匯編:材料作文
- 2023年輔導(dǎo)員職業(yè)技能大賽試題及答案
評(píng)論
0/150
提交評(píng)論