農(nóng)產(chǎn)品銷售系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
農(nóng)產(chǎn)品銷售系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
農(nóng)產(chǎn)品銷售系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
農(nóng)產(chǎn)品銷售系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
農(nóng)產(chǎn)品銷售系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

第2章相關(guān)工具及技術(shù)介紹本章主要闡述農(nóng)產(chǎn)品銷售系統(tǒng)設(shè)計與實現(xiàn)的過程中所采用的關(guān)鍵工具和相關(guān)技術(shù)。前端利用Vue框架提供更多的互動體驗。后端使用IntelliJIDEA工具和Java語言進(jìn)行開發(fā),借助工具的強(qiáng)大功能提高實現(xiàn)本系統(tǒng)的可能性。MySQL的設(shè)計和管理運(yùn)用Navicat工具進(jìn)行編寫和維護(hù)。后端開發(fā)框架選擇了SSM,提供了一種結(jié)構(gòu)清晰、分層明確的開發(fā)方式,使得開發(fā)人員能夠更專注于業(yè)務(wù)邏輯的實現(xiàn)。2.1開發(fā)工具介紹2.1.1IDEA開發(fā)工具IntelliJIDEA是由JetBrains公司開發(fā)的Java語言集成開發(fā)環(huán)境。它是一款功能強(qiáng)大、智能化的IDE,專注于提高開發(fā)者的生產(chǎn)力和代碼質(zhì)量。功能特點有智能代碼編輯器:支持代碼補(bǔ)全、語法高亮、代碼導(dǎo)航等功能以次可以大大提高編寫代碼的效率。;強(qiáng)大的重構(gòu)工具:能夠幫助開發(fā)者進(jìn)行代碼重構(gòu),提高代碼的可維護(hù)性;內(nèi)置調(diào)試器:提供強(qiáng)大的調(diào)試功能,幫助開發(fā)者診斷和修復(fù)代碼中存在的問題;插件系統(tǒng)IntelliJIDEA支持豐富的插件生態(tài)系統(tǒng),允許開發(fā)者根據(jù)自己的需求擴(kuò)展和定制IDE的功能。2.1.2NavicatPremiumNavicatPremium是一款強(qiáng)大的數(shù)據(jù)庫管理工具,由PremiumSoft公司開發(fā)。它支持多種主流數(shù)據(jù)庫系統(tǒng),包括MySQL、MariaDB、SQLite、MicrosoftSQLServer、Oracle、PostgreSQL等。NavicatPremium支持多種數(shù)據(jù)庫系統(tǒng),使用戶能夠在同一界面下管理不同類型的數(shù)據(jù)庫;提供直觀、友好的圖形界面,使數(shù)據(jù)庫管理變得簡單和高效;支持方便的數(shù)據(jù)導(dǎo)入和導(dǎo)出功能,用戶可以輕松地將數(shù)據(jù)從一個數(shù)據(jù)庫遷移到另一個數(shù)據(jù)庫;提供數(shù)據(jù)庫之間的數(shù)據(jù)同步功能,確保數(shù)據(jù)的一致性和準(zhǔn)確性;內(nèi)置SQL編輯器,支持語法高亮、代碼自動完成等功能,方便用戶編寫和執(zhí)行SQL查詢;允許用戶直觀地管理數(shù)據(jù)庫中的表和視圖,包括創(chuàng)建、修改和刪除操作。2.2相關(guān)技術(shù)介紹2.2.1SSM框架SSM框架由Spring技術(shù)、SpringMVC技術(shù)和MyBatis技術(shù)框架的結(jié)合,是常見的MVC模式,常見的SSM框架有四層。SSM框架提供了靈活的配置方式,可以根據(jù)項目需求進(jìn)行定制;每個組件都是相對輕量級的,不會給項目帶來過多的負(fù)擔(dān);分層的架構(gòu)使得項目更易于維護(hù)和擴(kuò)展。SSM框架適用于中小型的JavaWeb項目,提供了一種結(jié)構(gòu)清晰、分層明確的開發(fā)方式,使得開發(fā)人員能夠更專注于業(yè)務(wù)邏輯的實現(xiàn)。在實際項目中,可以通過Maven或Gradle等構(gòu)建工具來管理項目的依賴和構(gòu)建過程。2.2.2MySQL數(shù)據(jù)庫MySQL是一個流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。MySQL提供了高性能、可靠性和易用性,廣泛應(yīng)用于各種規(guī)模的應(yīng)用程序,從小型網(wǎng)站到大型企業(yè)級系統(tǒng)。MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),采用了表格的形式來存儲項目數(shù)據(jù),并支持SQL數(shù)據(jù)庫語句進(jìn)行查詢和管理數(shù)據(jù);能夠處理大規(guī)模的數(shù)據(jù)和高并發(fā)訪問,它采用了多線程和緩存等技術(shù)來提升性能;提供了數(shù)據(jù)復(fù)制和高可用性的功能,支持主從復(fù)制、集群和其他復(fù)制方案,以確保數(shù)據(jù)的可靠性和可用性;支持豐富的數(shù)據(jù)類型,包括整數(shù)、浮點數(shù)、字符串、日期等,同時也支持存儲過程、觸發(fā)器和視圖等數(shù)據(jù)庫對象。2.2.3Vue框架Vue.js(通常簡稱為Vue)是一款受歡迎的前端JavaScript框架,用于描繪用戶界面,它主要實現(xiàn)數(shù)據(jù)驅(qū)動的、可組合的視圖組件。Vue是一款輕量級的框架,易于學(xué)習(xí)和集成到項目中。這使得它成為構(gòu)建交互式用戶界面的理想選擇;Vue框架將應(yīng)用程序拆分為小型、可復(fù)用的組件;每個組件都包含了自己的狀態(tài)、視圖和行為,有助于保持代碼的清晰性和可維護(hù)性。同時,Vue的核心和它的生態(tài)系統(tǒng)也可以在前端實現(xiàn)更多的商業(yè)邏輯。2.2.4Tomcat框架Tomcat是一個可靠、高性能、輕量級的Servlet容器,為開發(fā)者提供了一個簡單、靈活的Web容器??梢赃\(yùn)行基于JavaServlet規(guī)范的Web應(yīng)用程序并且它負(fù)責(zé)管理和執(zhí)行Servlet生命周期,處理HTTP請求和響應(yīng)等;也是一個JSP容器,支持JavaServerPages技術(shù),JSP是一種在HTML中嵌入Java代碼的動態(tài)Web頁面技術(shù),Tomcat能夠解釋和執(zhí)行JSP頁面。2.2.5Java語言Java是一種高性能、跨平臺、面向?qū)ο蟮木幊陶Z言,支持封裝、繼承和多態(tài)等面向?qū)ο蟮母拍睿惶峁┐罅康臉?biāo)準(zhǔn)類庫,涵蓋各種應(yīng)用開發(fā)所需的功能,包括輸入輸出、網(wǎng)絡(luò)、圖形用戶界面、數(shù)據(jù)結(jié)構(gòu)等。Java擁有龐大而活躍的開發(fā)者社區(qū),這個社區(qū)為開發(fā)者提供了大量的文檔、教程、工具和第三方庫。2.3本章小結(jié)本章說明了農(nóng)產(chǎn)品銷售系統(tǒng)所采用的設(shè)計工具以及計算機(jī)技術(shù)。Navicat是一款數(shù)據(jù)庫管理工具,為系統(tǒng)的數(shù)據(jù)庫設(shè)計和維護(hù)提供了簡潔明了且高效的管理工具,采用輕量化SSM框架作為本系統(tǒng)的開發(fā)框架,通過結(jié)構(gòu)清晰、分層明確的開發(fā)方式使得系統(tǒng)的更加直觀明了。利用Vue框架搭建前端,使得系統(tǒng)UI界面更加簡潔友好。MySQL作為數(shù)據(jù)庫后端提供了穩(wěn)定性、可靠性和可操作性確保系統(tǒng)相關(guān)數(shù)據(jù)的查找和存儲。這些工具和技術(shù)的選擇為農(nóng)產(chǎn)品銷售系統(tǒng)的開發(fā)提供了支持。第3章系統(tǒng)分析本章主要敘述系統(tǒng)分析,包括系統(tǒng)可行性分析技術(shù)、需求分析技術(shù)、系統(tǒng)角色用例分析技術(shù)以及非功能性分析技術(shù)。在可行性分析技術(shù)中,系統(tǒng)通過對必要環(huán)境、相關(guān)技術(shù)和操作可行性進(jìn)行評測,為項目的開發(fā)和實施提供指導(dǎo)和決策依據(jù)。在需求分析中,收集用戶(農(nóng)產(chǎn)品生產(chǎn)商、經(jīng)銷商、零售商、消費(fèi)者等)的需求和期望;確定系統(tǒng)需要具備的功能模塊;設(shè)計用戶友好的界面。在角色用例分析中,通過圖展示管理員和用戶在系統(tǒng)的基本操作和功能。在非功能性分析中,系統(tǒng)充分考慮農(nóng)產(chǎn)品銷售系統(tǒng)的性能、安全性、可用性等非功能性需求。3.1可行性分析3.1.1環(huán)境可行性分析系統(tǒng)評估經(jīng)濟(jì)環(huán)境對農(nóng)產(chǎn)品銷售系統(tǒng)的影響??紤]消費(fèi)者對在線購買農(nóng)產(chǎn)品的接收程度、農(nóng)產(chǎn)品銷售的市場需求等。對于農(nóng)產(chǎn)品商家可以通過線上上傳農(nóng)產(chǎn)品信息,進(jìn)行線上銷售以及介紹當(dāng)?shù)氐霓r(nóng)產(chǎn)品文化,拓寬偏遠(yuǎn)地區(qū)的農(nóng)產(chǎn)品銷售渠道,增加農(nóng)產(chǎn)品的收益。對于普通用戶,可以在線上進(jìn)行下單各類農(nóng)產(chǎn)品,通過直接和商家進(jìn)行交流溝通,可以買到更加新鮮的農(nóng)產(chǎn)品,為消費(fèi)者減少線下浪費(fèi)的時間;同時減少了工作人員對銷售過程帶來的信息量,為銷售管理工作減少人力、財力、物力的投入。3.1.2技術(shù)可行性分析在系統(tǒng)的技術(shù)上,通過網(wǎng)上了解技術(shù)要求和能力,清楚農(nóng)產(chǎn)品銷售系統(tǒng)設(shè)計與實現(xiàn)的計算機(jī)技術(shù)要求,并簡單評測自己是否擁有實現(xiàn)這些必要要求的技術(shù)能力,這有助于確定所需的技術(shù)能力和資源,并為系統(tǒng)的設(shè)計和實施提供指導(dǎo)和決策依據(jù)。本系統(tǒng)主要采用了Java、SSM框架、MySQL、Vue框架等技術(shù),確保農(nóng)產(chǎn)品銷售系統(tǒng)在技術(shù)上的可行性和可操作性,技術(shù)可行性分析也有助于識別和解決潛在的技術(shù)風(fēng)險和挑戰(zhàn)。3.1.3操作可行性分析在進(jìn)行系統(tǒng)分析時,考慮本系統(tǒng)的目標(biāo)和目的以及它所需要解決的問題。然后確定該系統(tǒng)的功能和需求包括用戶需求和系統(tǒng)需求。隨著經(jīng)濟(jì)和科技的快速發(fā)展,人工智能在全球也得到一定程度的普及,這為農(nóng)產(chǎn)品銷售系統(tǒng)的用戶在硬件方面解決了相關(guān)擔(dān)心,本系統(tǒng)使用計算機(jī)語言Java開發(fā)、SSM技術(shù)以及Vue框架,讓系統(tǒng)UI更為清晰,布局恰當(dāng),層次明了,使用者操作起來更為便捷。操作可行性分析確保在實際使用中具有可行性和操作性。3.2需求分析農(nóng)產(chǎn)品銷售系統(tǒng)通過對用戶(農(nóng)產(chǎn)品生產(chǎn)商、經(jīng)銷商、零售商、消費(fèi)者等)進(jìn)行收集、整理、分析和確認(rèn),確定軟件系統(tǒng)需要具備的功能和性能特性。了解系統(tǒng)的整體結(jié)構(gòu)和組成包括前端界面、后端數(shù)據(jù)庫等部分,需求分析主要包括消費(fèi)者和銷售管理員兩個方面。對于消費(fèi)者,系統(tǒng)提供用戶注冊、用戶登錄、農(nóng)產(chǎn)品展示頁面、購物車管理、查看資訊等功能,來滿足消費(fèi)者的需求;對于銷售管理員,系統(tǒng)提供首頁輪播圖的設(shè)置、公告發(fā)布、用戶管理、訂單管理、農(nóng)產(chǎn)品的上下架、發(fā)布資訊等功能,以此使得銷售管理員來高效運(yùn)轉(zhuǎn)本系統(tǒng),在需求分析中,提出了創(chuàng)新之處通過系統(tǒng)發(fā)布農(nóng)產(chǎn)品相關(guān)的文化和知識讓用戶更加了解農(nóng)產(chǎn)品,突出本系統(tǒng)的獨(dú)特??傊?,需求分析是系統(tǒng)開發(fā)過程中非常重要的一步,可以幫助開發(fā)者深入了解系統(tǒng)的需求和特點,而且對于項目的成功實施和用戶滿意度具有重要的影響。3.3角色用例分析3.3.1管理員用例分析系統(tǒng)后臺管理員主要對系統(tǒng)的日常維護(hù),系統(tǒng)后臺管理員通過注冊完成登錄進(jìn)行網(wǎng)頁站點管理、用戶管理、農(nóng)產(chǎn)品上下架、商城管理等。登錄登錄管理:系統(tǒng)后臺管理員通過登錄UI進(jìn)入系統(tǒng),驗證輸入框的賬號和密碼,驗證正確進(jìn)入管理頁面,保障系統(tǒng)的安全性。注冊管理:系統(tǒng)后臺管理員通過在后端數(shù)據(jù)MySQL中添加相關(guān)賬號和密碼并在相關(guān)邏輯中實現(xiàn),進(jìn)行添加管理員賬號。站點管理輪播圖管理:系統(tǒng)后臺管理員對輪播圖的添加、刪除以及查詢,包括更新輪播圖片和文字標(biāo)題,刪除圖片。公告欄管理:系統(tǒng)后臺管理員對公告欄增刪改,包括修改公告文字標(biāo)題和添加農(nóng)產(chǎn)品相關(guān)公告信息。用戶管理系統(tǒng)后臺管理員可以對已注冊用戶進(jìn)行增刪改查相關(guān)信息,給予更加便捷的管理方式。系統(tǒng)后臺管理員可以管理相關(guān)系統(tǒng)管理員的賬號,可以對系統(tǒng)管理員進(jìn)行增刪改查相關(guān)信息。內(nèi)容管理在線留言管理:系統(tǒng)后臺管理員可以對在線留言查看,能夠進(jìn)一步了解消費(fèi)者對相關(guān)農(nóng)產(chǎn)品的評價;刪除某些惡意的留言以及添加農(nóng)產(chǎn)品生產(chǎn)者的稀缺產(chǎn)品發(fā)布有利于有相關(guān)需求的消費(fèi)者進(jìn)行留言添加聯(lián)系方式。留言分類管理:系統(tǒng)后臺管理員可以創(chuàng)建分類頻道名稱以及添加必要的描述,有利于用戶在線留言時選擇相應(yīng)的留言主題,方便商家進(jìn)一步的改進(jìn)和鞭策;管理員也可以刪除某一分類名稱。網(wǎng)站資訊管理:系統(tǒng)后臺管理員可以添加有關(guān)農(nóng)產(chǎn)品的資訊包括農(nóng)產(chǎn)品知識、由來、科普等,可以看相關(guān)用戶的評論以及刪除資訊。資訊類別管理:系統(tǒng)后臺管理員可以創(chuàng)建資訊類別名稱,有利于系統(tǒng)后臺管理員對農(nóng)產(chǎn)品相關(guān)資訊發(fā)布的管理。商城管理商城中心管理:系統(tǒng)后臺管理員對農(nóng)產(chǎn)品的發(fā)布包括添加名稱、產(chǎn)品分類、商品庫存、實物圖片、產(chǎn)地等以及下架操作,還可以進(jìn)行查詢和查看相關(guān)評論。分類列表管理:系統(tǒng)后臺管理員可以創(chuàng)建農(nóng)產(chǎn)品的類別名稱,有助于后期管理農(nóng)產(chǎn)品的上架和下架,更加快速準(zhǔn)確查詢產(chǎn)品。訂單列表管理:系統(tǒng)后臺管理員可以通過訂單號、聯(lián)系人、商品名稱進(jìn)行查詢相關(guān)的訂單,并可以修改相關(guān)訂單以保證在交易過程中提供系統(tǒng)后臺管理員修改用戶一些信息的錯誤填寫,也可以對過期的訂單進(jìn)行刪除。圖3-1管理員用例圖3.3.2用戶用例分析已注冊的用戶通過輸入賬號和密碼進(jìn)行登錄,驗證成功便可以在首頁查看農(nóng)產(chǎn)品銷售系統(tǒng)平臺的相關(guān)信息以及相關(guān)操作權(quán)限,包括公告信息、在線留言、網(wǎng)站資訊、下單購買、購物車管理以及對個人信息的管理。登錄注冊登錄管理:已注冊用戶通過登錄頁面進(jìn)入系統(tǒng),驗證所輸入的賬號和密碼,保障系統(tǒng)的安全性。注冊管理:用戶可以點擊注冊按鈕進(jìn)入注冊頁面,在賬戶、密碼、相關(guān)信息輸入框中輸入必要的字段進(jìn)行注冊用戶賬號。個人信息我的賬戶:本人可以對自己的資料進(jìn)行修改例如頭像和名字;對舊密碼修改,在輸入框中輸入舊密碼并設(shè)置新密碼和確認(rèn)密碼。我的收藏:用戶可以看自己已收藏的內(nèi)容包括農(nóng)產(chǎn)品、網(wǎng)站的相關(guān)資訊、在線留言,并且可以通過分類進(jìn)行篩選。我的地址:用戶可以填寫收件人、名稱電話以及詳細(xì)地址來創(chuàng)建新的地址,并且刪除不需要的地址。我的訂單:可以對訂單進(jìn)行查看和刪除,包括訂單的商品、個數(shù)以及是否已支付,并可以刪除久遠(yuǎn)的訂單。在線留言發(fā)布留言:用戶可以在留言板塊進(jìn)行在線留言,分享一些農(nóng)產(chǎn)品好物以及自己的一些見解,有助于互動。查看留言:用戶可以看他人發(fā)布的在線留言,可以對留言進(jìn)行評論、點贊和收藏并且可以通過關(guān)鍵字進(jìn)行搜索。公告信息查看公告:已登錄用戶可以在公告欄處進(jìn)行看農(nóng)產(chǎn)品銷售系統(tǒng)發(fā)布的通知信息,及時得知農(nóng)產(chǎn)品的資訊信息。網(wǎng)站資訊用戶可以進(jìn)入到網(wǎng)站資訊模塊里面查看有關(guān)農(nóng)產(chǎn)品的文章,例如水果的知識、農(nóng)產(chǎn)品的好處等,并且可以通過篩選顯示相關(guān)資訊,也可以通過搜索欄輸入關(guān)鍵字查找相關(guān)資訊。下單購買用戶可以查看農(nóng)產(chǎn)品的商品信息,看農(nóng)產(chǎn)品的詳情敘述、評價、收藏、加入購物車并進(jìn)行支付。購物車用戶可以管理自己的購物車,在購物車看已添加的商品信息,并且可以修改農(nóng)產(chǎn)品數(shù)量、刪除商品以及點擊購買支付。圖3-2用戶用例圖3.4非功能需求分析非功能性需求也是整個系統(tǒng)項目重要的部分,在一般的項目開發(fā)中,需求分析往往是必要的步驟。當(dāng)分析農(nóng)產(chǎn)品銷售系統(tǒng)的非功能需求時,我們需要考慮系統(tǒng)的性能、可靠性、安全性和可用性等方面。性能:該系統(tǒng)應(yīng)該具備較好的性能,能夠同時響應(yīng)大量的數(shù)據(jù)和用戶請求,保障用戶能夠快速瀏覽和購買相關(guān)農(nóng)產(chǎn)品??煽啃裕合到y(tǒng)應(yīng)該具有較高可靠性,能夠確保持續(xù)穩(wěn)定地運(yùn)行。安全性:系統(tǒng)應(yīng)該擁有一定級別的安全,保護(hù)個人信息不泄露和訂單數(shù)據(jù),使用加密技術(shù)來保護(hù)數(shù)據(jù)傳輸??捎眯裕合到y(tǒng)應(yīng)該具有良好的可用性,以便用戶可以輕松的瀏覽和購買相關(guān)農(nóng)產(chǎn)品,界面簡潔直觀功能易于使用和理解。可擴(kuò)展性:系統(tǒng)應(yīng)該擁有較好延展性,能夠適應(yīng)不同需求變化,能夠滿足不同用戶對以后持續(xù)發(fā)展和改變的農(nóng)業(yè)。3.5本章小結(jié)本章主要說明了系統(tǒng)的分析,包括了可行性分析技術(shù)、需求分析技術(shù)、系統(tǒng)角色用例分析技術(shù)以及非功能性分析技術(shù)。在可行性分析中,對系統(tǒng)的環(huán)境、技術(shù)、操作進(jìn)行分析,確保農(nóng)產(chǎn)品銷售系統(tǒng)的可行性。在需求分析中,對系統(tǒng)的用戶進(jìn)行了調(diào)研,了解用戶的需求和期望,通過面對面訪談和問卷調(diào)查獲取關(guān)于系統(tǒng)功能、性能、安全性等方面的信息。在角色功能分析中,對系統(tǒng)管理員和用戶進(jìn)行用例圖分析,展現(xiàn)了管理員和用戶在系統(tǒng)中可操作的相關(guān)功能。在非功能性分析中,對系統(tǒng)的穩(wěn)定性、可用性等進(jìn)行測評,確保用戶在未來對系統(tǒng)需求以及后續(xù)對系統(tǒng)的維護(hù),通過需求分析來進(jìn)一步設(shè)計與實現(xiàn)該系統(tǒng)。第4章系統(tǒng)總體設(shè)計本章主要闡述農(nóng)產(chǎn)品銷售系統(tǒng)的大體設(shè)計,包括對系統(tǒng)架構(gòu)的選擇、系統(tǒng)開發(fā)的必要環(huán)境、系統(tǒng)的功能模塊、系統(tǒng)數(shù)據(jù)庫等分析;在系統(tǒng)架構(gòu)的選擇中,選擇合適的B/S模式系統(tǒng);在系統(tǒng)開發(fā)環(huán)境中,使用IDEA開發(fā)工具、Java編程語言、MySQL等共同打造農(nóng)產(chǎn)品銷售系統(tǒng);在系統(tǒng)功能模塊結(jié)構(gòu)中,通過功能圖來展現(xiàn)系統(tǒng)相關(guān)功能;在系統(tǒng)數(shù)據(jù)庫設(shè)計中,通過E-R圖和數(shù)據(jù)庫表來展現(xiàn)系統(tǒng)所包含的相關(guān)數(shù)據(jù)以及物理結(jié)構(gòu)基礎(chǔ)。通過本章的系統(tǒng)總體設(shè)計的介紹更進(jìn)一步的了解農(nóng)產(chǎn)品銷售系統(tǒng)。4.1系統(tǒng)框架選擇在研究和確定了本系統(tǒng)的開發(fā)必要性之后,要充分考慮它的功能需求、技術(shù)需求以及開發(fā)人員技能因素。開發(fā)采用的是B/S模式的農(nóng)產(chǎn)品銷售系統(tǒng)。該系統(tǒng)的相關(guān)用戶通過電腦網(wǎng)頁(客戶端)上的瀏覽器登錄本系統(tǒng),通過瀏覽器發(fā)送請求,服務(wù)器接收并處理請求,然后將結(jié)果返回給相關(guān)用戶的瀏覽器顯示。這種框架可以實現(xiàn)跨平臺、跨瀏覽器的開發(fā)有利于實現(xiàn)系統(tǒng)的可擴(kuò)展性,并且可以實現(xiàn)前后端分離,提高系統(tǒng)的可維護(hù)性。圖4-1B/S結(jié)構(gòu)圖4.2系統(tǒng)開發(fā)環(huán)境在設(shè)計農(nóng)產(chǎn)品銷售系統(tǒng)前確定相關(guān)的開發(fā)環(huán)境,選擇適合開發(fā)需求的Java語言;選擇功能強(qiáng)大的開發(fā)工具IntelliJIDEA;利用MySQL和Navicat對數(shù)據(jù)進(jìn)行整合、存儲和管理;前端通過Vue、CSS、JavaScript進(jìn)行前端開發(fā);后端通過計算機(jī)編程語言Java、spring框架處理信息和業(yè)務(wù)邏輯來實現(xiàn)系統(tǒng)開發(fā);選擇適當(dāng)?shù)臏y試工具來編寫單元測試、集成測試和系統(tǒng)測試。4.3系統(tǒng)功能模塊結(jié)構(gòu)圖農(nóng)產(chǎn)品銷售系統(tǒng)設(shè)計目的是為了滿足不同用戶(農(nóng)產(chǎn)品生產(chǎn)商、經(jīng)銷商、零售商、消費(fèi)者等)管理員和注冊用戶通過賬號密碼登錄進(jìn)入系統(tǒng)的首頁,不同的用戶會有不同的功能。管理員在注冊登錄的頁面進(jìn)行賬號和密碼的輸入;對站點的內(nèi)容進(jìn)行管理刪除和添加;對用戶的賬號進(jìn)行管理;對系統(tǒng)的頁面信息進(jìn)行管理;對商城中心的管理;以及對用戶信息的管理。用戶在注冊登錄界面進(jìn)行賬號和密碼的輸入;對首頁的查看;查看系統(tǒng)的公告信息;查看網(wǎng)站的相關(guān)資訊;可以進(jìn)行下單購買;管理購物車;以及查看修改個人信息。通過功能結(jié)構(gòu)圖展現(xiàn)出該系統(tǒng)大致的相關(guān)功能,滿足相關(guān)用戶的功能需求和基本功能實現(xiàn),同時為農(nóng)產(chǎn)品的銷售提供更加高效方式。并且設(shè)計的功能目的是提升用戶的使用感和便捷性。圖4-2系統(tǒng)功能結(jié)構(gòu)圖4.4系統(tǒng)數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是一個關(guān)鍵的步驟,決定著系統(tǒng)的數(shù)據(jù)組織方式和信息之間的聯(lián)系。在設(shè)計的過程中,需要考慮數(shù)據(jù)的統(tǒng)一性、正確命名表和列、數(shù)據(jù)類型等,避免冗余和重復(fù)數(shù)據(jù)。通過前期的需求分析,明確存儲哪些數(shù)據(jù)并明確數(shù)據(jù)之間的聯(lián)系;通過實體-關(guān)系圖來表示實體、屬性和它們兩者的聯(lián)系,并將概念模型轉(zhuǎn)化為邏輯。根據(jù)邏輯模型制作數(shù)據(jù)庫表格,確定每個表的列以及其數(shù)據(jù)類型、約束和關(guān)系。4.4.1E-R圖設(shè)計E-R圖是它通過圖像抽象的方式描述系統(tǒng)的數(shù)據(jù)組織和關(guān)系,而不涉及具體的數(shù)據(jù)庫實現(xiàn),為了后續(xù)的邏輯設(shè)計和物理設(shè)計提供了基礎(chǔ)。在繪圖之前要確定實體、屬性、關(guān)系、主鍵以及外鍵。其中實體的命名要具有概括性,并且避免歧義;屬性應(yīng)該與實體的特性相聯(lián)系,并且具有合適的數(shù)據(jù)類型;主鍵應(yīng)該是唯一的;外鍵應(yīng)該正確地連接到相應(yīng)實體的主鍵。利用E-R圖更好地理解系統(tǒng)的數(shù)據(jù)組織和關(guān)系,為后續(xù)的數(shù)據(jù)庫設(shè)計和開發(fā)提供指導(dǎo)。系統(tǒng)管理員實體,包括系統(tǒng)后臺管理員ID、姓名、頭像、用戶名、用戶組、郵箱、狀態(tài),其中ID為主鍵。如圖4-3所示:圖4-3管理員實體圖用戶實體,包括用戶ID、用戶名、名稱、姓名、年齡,其中用戶ID作為主鍵。如圖4-4所示:圖4-4用戶實體圖公告欄實體,包括公告序號、標(biāo)題、內(nèi)容,其中公告序號作為主鍵。如圖4-5所示。圖4-5公告欄實體圖網(wǎng)站資訊實體,包括資訊ID、標(biāo)題、封面圖、文章分類以及標(biāo)題,其中資訊ID作為主鍵。如圖4-6所示。圖4-6網(wǎng)站資訊圖訂單實體,包括訂單ID、農(nóng)產(chǎn)品名稱、訂單號、農(nóng)產(chǎn)品圖片、農(nóng)產(chǎn)品價格、原價、購買、數(shù)量、總價、聯(lián)系名稱、聯(lián)系人地址、訂單狀態(tài)以及買家,其中訂單ID作為主鍵。如圖4-7所示。圖4-7訂單實體圖商品實體,包括商品ID、名稱、商品圖片、賣家、原價、商品庫存、產(chǎn)品分類、描述、產(chǎn)地,其中商品ID是主鍵。如圖4-8所示。圖4-8商品實體圖在線留言實體,包括留言ID、標(biāo)題、圖片、標(biāo)簽、分類、名稱以及留言內(nèi)容,其中留言ID作為主鍵。如圖4-8所示。圖4-9在線留言圖主要實體關(guān)系圖。如圖4-9所示。圖4-10主要實體圖4.4.2數(shù)據(jù)表設(shè)計數(shù)據(jù)表是數(shù)據(jù)庫中的一種結(jié)構(gòu),用于聯(lián)系和保存數(shù)據(jù),通過數(shù)據(jù)表來顯示系統(tǒng)數(shù)據(jù)的信息;數(shù)據(jù)表使得數(shù)據(jù)能夠被輕松的查詢、更新、修改;通過使用數(shù)據(jù)表,可以將數(shù)據(jù)按照特定的類別、屬性或關(guān)系進(jìn)行組織,并保障數(shù)據(jù)的統(tǒng)一性和整體性;在關(guān)系數(shù)據(jù)庫中,通過定義表的結(jié)構(gòu)和各個字段的數(shù)據(jù)類型,可以定義數(shù)據(jù)的存儲方式和約束條件。數(shù)據(jù)表之間可以建立關(guān)聯(lián)關(guān)系,通過主鍵來連接和查詢數(shù)據(jù);數(shù)據(jù)表根據(jù)具體的系統(tǒng)需求和業(yè)務(wù)流程進(jìn)行分析和設(shè)計,為后續(xù)的工作奠定了基礎(chǔ)。地址信息表address地址信息表存儲了用戶地址的個人信息包括姓名、電話、地址等,其中address_id作為主鍵,如表4-1所示。表4-1地址信息表字段類型是否可為空是否主鍵描述是否標(biāo)識address_idint(11)否是收貨地址是Namevarchar(32)是否姓名否phonevarchar(13)是否手機(jī)否postcodevarchar(8)是否郵編否addressvarchar(255)是否地址否user_idmediumint(8)是否用戶ID否create_timetimestamp否否創(chuàng)建時間否update_timetimestamp否否更新時間否defaulttinyint(1)是否默認(rèn)狀態(tài)否資訊信息表article資訊信息表存儲了農(nóng)產(chǎn)品銷售系統(tǒng)中資訊板塊的資訊相關(guān)信息,包括資訊文章序號、標(biāo)題、文章分類等,其中article_id作為主鍵,如表4-2所示。表4-2資訊信息表字段類型是否可為空是否主鍵描述是否標(biāo)識article_idmediumint(8)否是文章序號是titlevarchar(125)否否標(biāo)題否typevarchar(64)否否文章分類否hitsint(10)否否點擊數(shù)否praise_lenint(11)否否點贊數(shù)否create_timetimestamp是否創(chuàng)建時間否update_timetimestamp是否更新時間否sourcevarchar(255)是否來源否tagvarchar(255)是否標(biāo)簽否contentlongtext是否正文否imgtext是否封面圖否descriptionvarchar(255)是否文章描述否用戶信息表user用戶信息表存儲了已注冊用戶的本人信息,包括用戶ID、用戶名、密碼、賬號狀態(tài)、手機(jī)號碼等,其中user_id作為主鍵,如表4-3所示。表4-3用戶信息表字段類型是否可為空是否主鍵描述是否標(biāo)識user_idmediumint(8)否主用戶ID是statesmallint(1)否否賬戶狀態(tài)否user_grouptimestamp是否所在用戶組否login_timevarchar(255)是否上次登錄時間否phonevarchar(11)是否手機(jī)號碼否phone_statesmallint(1)否否手機(jī)認(rèn)證否usernamevarchar(16)否否用戶名否nicknamevarchar(16)是否昵稱否passwordvarchar(64)否否密碼否emailvarchar(64)是否郵箱否email_statesmallint(1)否否郵箱認(rèn)證否avatarvarchar(255)否否頭像地址否create_timetimestamp否否創(chuàng)建時間否農(nóng)產(chǎn)品信息表goods農(nóng)產(chǎn)品信息表存儲了農(nóng)產(chǎn)品的相關(guān)信息,包括農(nóng)產(chǎn)品ID、標(biāo)題、圖片、價格等,其中g(shù)oods_id作為主鍵,如表4-4所示。表4-4商品信息表字段類型是否可為空是否主鍵描述是否標(biāo)識goods_idMediumint(8)否是產(chǎn)品ID是titleVarchar(255)是否標(biāo)題否imgtext是否封面圖片否descriptionVarchar(255)是否描述否price_agoDouble(8)否否原價否priceDouble(8)否否賣價否salesint(10)是否銷量否inventoryint(10)否否商品庫存否typeVarchar(255)否否商品分類否hitsint(10)否否點擊量否contentlongtext否否正文否createtimedatetime否否創(chuàng)建時間否updatetimeimg_1sourcetablesourced_iduser_iddatetimetextVarchar(255)int(10)int(10)否否否否否否否否否否更新時間主圖來源表來源ID添加人否否否否否購物車信息表cart購物車信息表存儲了購物車的相關(guān)數(shù)據(jù)信息,包括購物車ID、圖片、用戶ID、價格等,其中cart_id作為主鍵,如表4-5購物車信息表。表4-5購物車信息表字段類型是否可為空是否主鍵描述是否標(biāo)識cart_idtitleimguser_idcreat_timeupdate_timestatepriceprice_agoprice_countnumgoods_idtypedescriptionint(11)varchar(64)varchar(255)int(10)timestamptimestampint(10)double(8)double(8)double(10)texttextvarchar(64)varchar(64)否是否否是是是否否否否否否否是否否否否否否否否否否否否否購物車ID標(biāo)題圖片用戶ID創(chuàng)建時間更新時間狀態(tài)價格原價總價數(shù)量商品ID類型描述是否否否否否否否否否否否否否輪播圖信息表sliders輪播圖信息表存儲了輪播圖的相關(guān)信息,包括輪播圖ID、標(biāo)題、內(nèi)容、點擊量等,其中slides_id作為主鍵,如表4-6所示。表4-6輪播圖信息表字段類型是否可為空是否主鍵描述是否標(biāo)識slides_idtitlecontenturlimghitstimeint(10)varchar(64)varchar(255)varchar(255)textint(10)datatime否是是是否否是是否否否否否否輪播圖ID標(biāo)題內(nèi)容鏈接輪播圖點擊量時間是否否否否否否訂單信息表order訂單信息表存儲了訂單的相關(guān)信息,包括訂單序號、訂單號、商品ID、商品圖片、價格、收件人信息等,order_id作為主鍵,如表4-7訂單信息表。表4-7訂單信息表字段類型是否可為空是否主鍵描述是否標(biāo)識order_idorder_numbergood_idtitleimgpriceprice_agonumprice_counttypecontent_namecontent_emailcontent_phoneaddresspostal_codeuser_idcreat_timeupdata_timesatateint(10)varchar(64)int(10)varchar(32)varchar(255)double(10)double(10)int(10)double(10)varchar(64)varchar(64)varchar(64)varchar(64)varchar(255)varchar(9)int(10)datatimedatatimevarchar(16)否是否是是否否否否是是是是是是是是是否是否否否否否否否否否否否否否否否否否否訂單ID訂單號商品ID商品標(biāo)題商品圖片價格原價數(shù)量總價商品分類名稱郵箱手機(jī)號收貨地址郵政編碼買家ID創(chuàng)建時間更新時間狀態(tài)是否否否否否否否否否否否否否否否否否否商品分類信息表type商品分類信息表存儲了商品分類信息的相關(guān)信息,包括商品分類ID、描述、圖標(biāo)、商品名稱等,其中type_id作為主鍵,如表4-8商品分類信息表。表4-8商品信息分類表字段類型是否可為空是否主鍵描述是否標(biāo)識type_idint(11)否是商品分類ID是father_idsmallint(5)否否上級分類ID否namevarchar(255)否否商品名稱否descvarchar(255)否否描述否iconvarchar(255)否否圖標(biāo)否source_tablevarchar(255)否否來源表否source_fieldvarchar(255)否否來源字段否create_timetimestamp否否創(chuàng)建時間否update_timetimestamp否否更新時間否4.5本章小結(jié)本章主要敘述了總體設(shè)計,包括了框架選擇、開發(fā)環(huán)境、功能模塊圖、數(shù)據(jù)庫設(shè)計(E-R圖和數(shù)據(jù)表),選擇B/S模式來搭建該系統(tǒng)的框架,通過B/S結(jié)構(gòu)圖展現(xiàn)基本的框架;在選擇系統(tǒng)開發(fā)環(huán)境時,選用自己較熟練的工具IntelliJIDEA、編程語言Java以及MySQL數(shù)據(jù)庫;在功能模塊圖中,展現(xiàn)了系統(tǒng)中管理員和用戶的所能夠操作的相關(guān)功能;在數(shù)據(jù)庫設(shè)計中,通過圖形來識別數(shù)據(jù)庫中的冗余數(shù)據(jù),通過分析E-R圖中的實體和關(guān)系,可以艱辛規(guī)范化和優(yōu)化,以提高數(shù)據(jù)庫的性能和效率,并且提供了一種直觀和可視化的方式來表示實體、屬性和關(guān)系更好的理解和描述數(shù)據(jù)模型;通過數(shù)據(jù)表來組織和存儲數(shù)據(jù),通過表來顯示相關(guān)數(shù)據(jù),可以從表格中檢索特定的數(shù)據(jù),表格之間可以建立關(guān)聯(lián)關(guān)系,通過主鍵進(jìn)行連接和查詢數(shù)據(jù)。這種關(guān)聯(lián)關(guān)系開題用來表示實體之間的關(guān)聯(lián),如用戶和訂單之間的關(guān)系,數(shù)據(jù)表可以有效的管理數(shù)據(jù)和利用數(shù)據(jù)資源,支持業(yè)務(wù)需求和數(shù)據(jù)分析。本章的敘述為后續(xù)系統(tǒng)設(shè)計的工作提供了相關(guān)數(shù)據(jù)存儲的基礎(chǔ)。第5章系統(tǒng)的設(shè)計與實現(xiàn)本章主要闡述了系統(tǒng)的設(shè)計與完成,其中有管理員和用戶的功能模塊,包括個人信息、農(nóng)產(chǎn)品信息、訂單信息等相關(guān)商城的元素功能;實現(xiàn)前后端的分離有利于系統(tǒng)的可維護(hù)性和未來的可擴(kuò)張性;管理員用戶包括了站點管理、用戶管理、內(nèi)容管理等功能;已注冊用戶包括了個人信息管理、在線留言、購物車關(guān)系等功能,通過本章來展現(xiàn)本系統(tǒng)的相關(guān)功能的實現(xiàn)。5.1管理員功能模塊管理員在管理界面輸入賬號密碼進(jìn)行登錄,并提供管理員對站點的維護(hù),用戶監(jiān)管、管理內(nèi)容、商城裝修;包括圖片添加刪除、公告欄的發(fā)布刪除、注冊用戶的管理、在線留言的刪除與發(fā)布、網(wǎng)站資訊的上傳與下架、農(nóng)產(chǎn)品的上下架以及訂單的相關(guān)管理。5.1.1注冊登錄為了提高系統(tǒng)管理的信息安全性,管理員在對該系統(tǒng)的相關(guān)信息進(jìn)行管理時需要在數(shù)據(jù)庫添加相關(guān)賬號和密碼,并在登錄界面輸入正確的賬號和密碼進(jìn)行登錄進(jìn)入到相關(guān)界面。使用El-form組件的兩個表單項(El-form-item)分別是用戶名和密碼輸入框,然后通過點擊Onsubmit事件提交給user/login,管理員用戶在接口進(jìn)行驗證通過才能進(jìn)行登錄,在通過本地緩存、$store將登錄信息存儲在本地。如下圖所示。圖5-1管理員登錄界面核心代碼如下://查詢用戶

this.$post('~/api/user/login?',form,(res)=>{

if(res.result&&res.result.obj){

//保存登錄回來的用戶信息

$.db.set('user_group',JSON.stringify(res.result.obj));5.1.2站點管理管理員對站點的圖片以及公告的通知信息進(jìn)行維護(hù),包括對圖片和公告欄的數(shù)據(jù)添加和編寫功能。輪播圖管理員可以對農(nóng)產(chǎn)品銷售系統(tǒng)首頁的輪播圖進(jìn)行管理,包括添加輪播圖通過<El-button>按鈕組件和<El-upload>組件用于提交輪播圖和取消刪除輪播圖,編輯通過接口Findlist將該條數(shù)據(jù)的id傳給后臺,將相關(guān)信息展示在輸入框中系統(tǒng)管理員可以進(jìn)行編輯以及刪除的功能,如下圖所示。圖5-2輪播圖信息查看頁面圖5-3輪播圖添加頁面核心代碼如下:<el-form-itemlabel="輪播圖"prop="img">

<el-uploadclass="avatar-uploader"dragaccept="image/gif,image/jpeg,image/png,image/jpg"action=""

:http-request="uploadimg":show-file-list="false">

<imgv-if="form.img":src="$fullUrl(form.img)"class="avatar">

<iv-elseclass="el-icon-plusavatar-uploader-icon"></i>

</el-upload><!--el-upload圖片上傳功能組件-->

</el-form-item>公告欄在站點管理的公告欄中,顯示管理員已添加的公告標(biāo)題、創(chuàng)建時間和更新時間,通過系統(tǒng)管理員發(fā)布的通知反饋給用戶,也可以對公告進(jìn)行編輯、添加、刪除和查詢,如圖所示。圖5-4公告欄信息查看頁面圖5-5公告添加頁面核心代碼如下://更新數(shù)據(jù)庫的相關(guān)數(shù)據(jù)publicintupdateBaseSql(Stringsql){

returnbaseMapper.updateBaseSql(sql);

}

//插入新的公告信息

publicvoidinsert(Map<String,Object>body){

Eentity=JSON.parseObject(JSON.toJSONString(body),eClass);

baseMapper.insert(entity);

("[{}]-插入操作:{}",entity);

}5.1.3用戶管理在用戶管理頁面中,包括兩類分別是管理員信息和用戶信息。管理員在管理員信息列表界面中,包括了相關(guān)管理員的昵稱、頭像、用戶名、用戶組、手機(jī)號碼、郵箱、創(chuàng)建時間以及上次登錄時間等;管理員可以通過操作進(jìn)行編輯修改、添加、刪除等;管理員列表信息通過El-table組件來展示數(shù)據(jù),通過:data=list其中l(wèi)ist是數(shù)據(jù)源來填充表格的內(nèi)容,如圖所示。圖5-6管理員信息列表圖5-7添加管理員頁面核心代碼如下:publicListselectBaseList(Stringselect){ //用于存儲使用baseMapper.selectBaseList方法查詢數(shù)據(jù)庫結(jié)果

List<Map<String,Object>>mapList=baseMapper.selectBaseList(select);

List<E>list=newArrayList<>();//循環(huán)遍歷將每個映射轉(zhuǎn)化為JSON字符串

for(Map<String,Object>map:mapList){

list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

}

//解析后的對象返回添加到list中returnlist;

}普通注冊用戶在普通注冊用戶信息列表中,包括了用戶的昵稱、用戶名、性別、年齡、創(chuàng)建時間以及更新時間,管理員可以查詢相關(guān)用戶,對用戶進(jìn)行添加和刪除;頁面顯示用戶信息,通過相關(guān)組件對數(shù)據(jù)進(jìn)行查詢顯示,利用get方式來獲取注冊表信息的操作,如下圖所示。圖5-8普通注冊用戶列表圖5-9添加用戶頁面核心代碼如下:/**

*獲取注冊表信息

*@param{Object}form

*@param{Object}table

*/

get_register(form){

varform_sub=this.form_sub;//使用$get方法發(fā)送GET請求

this.$get("~/api/user/get_obj?",form,(res)=>{//打印日志

console.log("注冊表信息res",res);//檢查請求結(jié)果是否存在

if(res.result&&res.result.obj){

form_sub.user_id=res.result.obj.user_id;

this.submit_sub(form_sub);

}elseif(res.error){

console.error(res.error);//顯示錯誤提示

this.$toast(res.error.message,"error");

}

})5.1.4內(nèi)容管理在內(nèi)容管理頁面中,分別包括了在線留言管理板塊和網(wǎng)站資訊管理板塊。在線留言在在線留言頁面中,包括了標(biāo)題、封面圖、分類、標(biāo)簽、創(chuàng)建以及更新的時間,管理員可以進(jìn)行輸入關(guān)鍵字進(jìn)行查詢;對相關(guān)留言進(jìn)行添加修改和查看;也可以查看相關(guān)用戶的相關(guān)評論,如圖所示。圖5-10在線留言管理頁面圖5-11在線留言頁面核心代碼如下:/**

*查詢論壇:列表

*

*@paramforum論壇:

*@return論壇:集合

*/

List<Forum>selectForumList(Forumforum);

/**

*新增論壇:

*

*@paramforum論壇:

*@return結(jié)果

*/

intinsertForum(Forumforum);網(wǎng)站資訊在網(wǎng)站資訊頁面中,包括了標(biāo)題、封面圖、文章分類、標(biāo)簽、創(chuàng)建和更新時間,管理員可以輸入相關(guān)標(biāo)題關(guān)鍵字進(jìn)行查詢;可以對網(wǎng)站資訊的相關(guān)文章進(jìn)行查看、添加、刪除;也可以查看用戶評論相關(guān)網(wǎng)站資訊文章,如圖所示。圖5-12網(wǎng)站資訊管理頁面圖5-13添加資訊文章核心代碼如下:/**

*獲取文章分類

*///異步方法,用于獲取文章分類信息

asyncget_artcle_type(){//$get方法發(fā)送GET請求將結(jié)果賦值給json變量

varjson=awaitthis.$get("~/api/article_type/get_list?");

if(json.result){

this.list_artcle_type=json.result.list;

}elseif(json.error){//打印錯誤

console.error(json.error);

}5.1.5商城管理在商城管理頁面中,包括了商城中心模塊、訂單列表模塊。商城中心在商城中心管理頁面中,管理員可以在輸入框輸入標(biāo)題的相關(guān)關(guān)鍵字進(jìn)行查詢,添加農(nóng)產(chǎn)品的信息,修改已有的農(nóng)產(chǎn)品的價格、庫存量、敘述以及圖片,也可以刪除相關(guān)農(nóng)產(chǎn)品,如圖所示。圖5-14商城中心管理頁面圖5-15農(nóng)產(chǎn)品添加頁面核心代碼如下:data(){

return{

//獲取數(shù)據(jù)地址

url_get_list:"~/api/goods/get_list?like=0",

url_del:"~/api/goods/del?",

//字段ID

field:"goods_id",

//查詢

query:{

size:10,

page:1,

title:"",

keywords:"",

type:"",

},

//數(shù)據(jù)

list:[],

//商品分類

list_goods_type:[]

}訂單列表在訂單列表管理頁面中,管理員可以在輸入框輸入相關(guān)訂單號查詢訂單,查看商品名稱、訂單號、商品圖片、價格、聯(lián)系人名稱、聯(lián)系人地址、訂單狀態(tài)以及創(chuàng)建時間,也可以刪除相關(guān)訂單的操作,如圖所示。圖5-16訂單管理頁面核心代碼如下://請求get_business_order_list數(shù)據(jù)@RequestMapping("/get_business_order_list")

publicMap<String,Object>getBusinessOrderList(HttpServletRequestrequest){///從請求中讀取數(shù)據(jù)

Map<String,String>query=service.readQuery(request);//構(gòu)建SQL查詢語句

Stringsql="SELECT\n"+

"\tt1.*\n"+

"FROM\n"+

"\t`order`t1\n"+

"\tLEFTJOINgoodst2ONt1.goods_id=t2.goods_id\n"+

"WHERE\n"+

"\tt2.user_id="+query.get("user_id");5.2用戶功能模塊普通用戶通過注冊賬號進(jìn)行登錄,進(jìn)入農(nóng)產(chǎn)品銷售系統(tǒng)的首頁,可以查看輪播圖、可以查看在線留言并進(jìn)行評論、可以查看網(wǎng)站資訊文章也可以發(fā)表自己的看法、管理自己的個人信息進(jìn)行修改和查看、管理自己的購物車添加和刪除相關(guān)農(nóng)產(chǎn)品以及瀏覽農(nóng)產(chǎn)品銷售系統(tǒng)。5.2.1用戶注冊登錄普通用戶進(jìn)入農(nóng)產(chǎn)品銷售系統(tǒng)前要進(jìn)行注冊然后輸入正確的賬號和密碼進(jìn)入系統(tǒng)首頁,在注冊頁面輸入賬號、密碼、確認(rèn)密碼、昵稱、郵箱、手機(jī)號等進(jìn)行注冊,注冊完成便可通過登錄頁面進(jìn)行登錄,如圖所示。圖5-17用戶登錄頁面圖5-18用戶注冊頁面核心代碼如下:/**

*注冊用戶對象

*/

@Autowired

publicRegisteredUserController(RegisteredUserServiceservice){

setService(service);

}

@Override//處理HTTPPOST請求

@PostMapping("/add")

@Transactional//從請求中讀取數(shù)據(jù)

publicMap<String,Object>add(HttpServletRequestrequest)throwsIOException{//讀取數(shù)據(jù),將其轉(zhuǎn)化為Map對象,包括了祖冊用戶的信息

Map<String,Object>paramMap=service.readBody(request.getReader());

this.addMap(paramMap);

returnsuccess(1);

}5.2.2個人信息管理已注冊的用戶可以管理自己的個人信息,修改頭像、昵稱、密碼修改、添加新的收貨地址、刪除收貨地址、查看收藏、管理購物車,如圖所示。圖5-18個人信息管理頁面核心代碼如下:/**

*重寫add

*@return

*/

@Override

@PostMapping("/add")

@Transactional

publicMap<String,Object>add(HttpServletRequestrequest)throwsIOException{//從請求體中讀取參數(shù),包含用戶注冊的信息

Map<String,Object>map=service.readBody(request.getReader());

//對用戶的密碼進(jìn)行加密處理,確保安全性map.put("password",service.encryption(String.valueOf(map.get("password"))));//將加密后的用戶信息存入到數(shù)據(jù)庫中

service.insert(map);

returnsuccess(1);

}5.2.3系統(tǒng)首頁已注冊的用戶可以通過輸入賬號和密碼進(jìn)行登錄進(jìn)入首頁,可以使用相關(guān)功能,查看系統(tǒng)的首頁例如輪播圖、公告信息、農(nóng)產(chǎn)品、網(wǎng)站資訊,如圖所示。圖5-19系統(tǒng)首頁圖核心代碼如下://獲取輪播圖

get_slides(){//調(diào)用API,通過GET請求獲取輪播圖數(shù)據(jù)

this.$get("~/api/slides/get_list?",{},(json)=>{//檢查API響應(yīng)是否成功

if(json.result){//將獲取的輪播圖數(shù)據(jù)存儲在組件的list_slide屬性中

this.list_slide=json.result.list;

}

});

},

//獲取導(dǎo)航欄

get_menu(){//獲取用戶組信息

varuser_group=this.user_group;///調(diào)用API,通過GET請求獲取導(dǎo)航欄數(shù)據(jù)

this.$get(

"~/api/auth/get_list?",

{

page:"",

user_group,

get:1,

position:"top"

},

(json)=>{

if(json.result){//將獲取的導(dǎo)航欄數(shù)據(jù)存儲在組件的list_menu屬性中

this.list_menu=json.result.list;

}

}

);

},5.2.4在線留言用戶可以點擊導(dǎo)航欄上的在線留言,進(jìn)入在線留言板塊可以看到相關(guān)用戶或者管理員發(fā)布的留言話題,并且可以點擊進(jìn)入查看也可以進(jìn)行發(fā)表評論組件的看法,用戶可以發(fā)布在線留言的內(nèi)容,促進(jìn)用戶相互之間的互動,如圖所示。圖5-20在線留言圖核心代碼如下:/**

*查詢論壇:列表

*

*@paramforum論壇:

*@return論壇:集合

*/

List<Forum>selectForumList(Forumforum);publicListselectBaseList(Stringselect){//調(diào)用基礎(chǔ)映射(baseMapper)的selectBaseList方法執(zhí)行自定義SQL查詢

List<Map<String,Object>>mapList=baseMapper.selectBaseList(select);創(chuàng)建一個用于存儲Forum對象列表

List<E>list=newArrayList<>();//遍歷查詢結(jié)果的每個Map

for(Map<String,Object>map:mapList){//將每個Map轉(zhuǎn)化為Forum對象

list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

}

returnlist;

}5.2.5公告欄用戶可以點擊導(dǎo)航欄上的在線留言,進(jìn)入公告信息板塊查看管理員發(fā)布的相關(guān)公告信息通知,如圖所示。圖5-21公告信息圖核心代碼如下://導(dǎo)出該組件exportdefault{

mixins:[mixin],//組件數(shù)據(jù)

data(){

return{//API請求的地址

url_get_obj:"~/api/notice/get_obj?",//字段名,用于唯一標(biāo)識對象的唯一字段

field:"notice_id",//查詢條件,默認(rèn)使用notice_id為0

query:{

notice_id:0,

},//存放獲取到的對象數(shù)據(jù)

obj:{},

};

},

methods:{

/**

*獲取留言后

*@param{Object}json響應(yīng)對象

*/

get_obj_after(json){//打印獲取到的響應(yīng)對象

console.log(JSON.stringify(json));

},

},

};5.2.6網(wǎng)站資訊用戶可以點擊導(dǎo)航欄上的網(wǎng)站資訊,進(jìn)入網(wǎng)站資訊板塊進(jìn)行查看系統(tǒng)管理員發(fā)布的相關(guān)資訊文章,點擊文章進(jìn)入詳細(xì)頁面可以進(jìn)行收藏、點贊以及發(fā)表相關(guān)言論,也可以查看別的用戶評論,如圖所示。圖5-22網(wǎng)站資訊頁面圖5-23網(wǎng)站資訊文章詳細(xì)頁面核心代碼如下:data(){

return{//API/請求地址,用于獲取單個文章對象

url_get_obj:"~/api/article/get_obj?",//字段名,用于標(biāo)識文章對象的唯一字段

field:"article_id",//存儲獲取到的文章對象數(shù)據(jù)

obj:{},//查詢條件

query:{

article_id:0,

},

list_hot:[],

list_comment:[],//提交評論的表單數(shù)據(jù),包括評論所屬的源表、源字段、源ID

form_comment:{

source_table:"article",

source_field:"article_id",

source_id:0,

reply_to_id:0,

},

count_pages:1,//頁面數(shù)

seted_count_pages:true,//是否設(shè)置過

};

},5.2.7購物車管理已注冊的普通用戶點擊購物車,進(jìn)入購物車管理頁面可以查看已添加的農(nóng)產(chǎn)品、修改數(shù)量、刪除農(nóng)產(chǎn)品產(chǎn)品以及選擇商品進(jìn)行購買,如圖所示。圖5-24購物車頁面核心代碼如下:/**

*刪除購物車

*@param{Object}obj商品對象

*@param{Number}i規(guī)定刪除項目的位置

*///’o’表示購物車中的商品對象,包含了購物車的相關(guān)信息,‘i’規(guī)定刪除的位置

del_cart(o,i){//發(fā)起HTTPGET請求

this.$get(`~/api/cart/del?cart_id=${o.cart_id}`,{},(res)=>{//使用splice方法從數(shù)組list中刪除索引‘i’

this.list.splice(i,1);

});

},5.3本章小結(jié)在本章系統(tǒng)的設(shè)計與實現(xiàn)中,深入探討了系統(tǒng)的設(shè)計與實現(xiàn)階段,完成了農(nóng)產(chǎn)品銷售系統(tǒng)中管理員功能模塊和普通用戶模塊的相關(guān)功能;包括了管理員中對站點的管理、用戶管理、內(nèi)容管理、商城管理和在用戶中查看系統(tǒng)首頁界面、查看在線留言、評論留言、查看網(wǎng)站資訊文章、評論文章、管理個人信息、管理購物車、收藏點贊等功能,在本章展示系統(tǒng)功能所設(shè)計的頁面圖以及相關(guān)核心代碼的展示;在設(shè)計階段中明確了系統(tǒng)的設(shè)計目標(biāo),選擇了合適的架構(gòu)模式和編程語言,實現(xiàn)階段也遇到一些挑戰(zhàn),采取了有效的解決方案確保系統(tǒng)按照規(guī)劃能夠順利實現(xiàn);本章的設(shè)計與實現(xiàn)為系統(tǒng)的后續(xù)發(fā)展奠定了堅實的基礎(chǔ)。第6章系統(tǒng)的調(diào)式與測試本章系統(tǒng)的調(diào)式與測試是確保農(nóng)產(chǎn)品質(zhì)量和可靠性的關(guān)鍵階段,本章介紹不同層次和類型的測試以及解決在調(diào)式過程中發(fā)現(xiàn)的問題,包括了單元測試,針對代碼中的單個功能或模塊進(jìn)行測試;集成測試,針對測試不同模塊之間的集成驗證協(xié)調(diào)工作的能力;功能測試,針對系統(tǒng)的相關(guān)功能進(jìn)行測試,確保按照規(guī)格要求正確運(yùn)行等。6.1測試目的測試是系統(tǒng)開發(fā)中必不可少的一部分,目的是確保系統(tǒng)在滿足規(guī)格說明和用戶需求的情況下能夠正常運(yùn)行,通過測試、識別和記錄系統(tǒng)中的缺陷,有助于在早期發(fā)現(xiàn)問題,減少后期修復(fù)的成本;確保系統(tǒng)按照規(guī)格說明的要求實現(xiàn)包括登錄、在線留言、查看網(wǎng)站資訊、評價等功能以及管理員對用戶信息的維護(hù)、內(nèi)容編輯、商城中心修飾等,通過測試來驗證這些功能的實現(xiàn)情況;結(jié)合實現(xiàn)情況給予后續(xù)安排和修正,為后續(xù)的項目進(jìn)一步的完善優(yōu)化。6.2測試概要6.2.1測試環(huán)境表6-1測試環(huán)境表操作系統(tǒng)Window1064位操作系統(tǒng)CPUIntel(R)Core(TM)i7-10510UCPU@2.30GHz數(shù)據(jù)庫MySQL5.7內(nèi)存16.0GB(15.8GB可用)硬盤硬盤wdSSD970pro512GBWeb服務(wù)器TomcatWeb服務(wù)軟件瀏覽器火狐、谷歌、百度等瀏覽器開發(fā)工具IntelliJIDEA6.2.2測試工具表6-2測試工具表測試階段方法工具測試人員代碼掃描(工具)自動化測試Spotbug、Checkstyle、AlibabaJavaCodingGuidelines鄧紹華單元測試白盒測試手動鄧紹華功能測試黑盒測試手動鄧紹華系統(tǒng)測試手動BrokenLinkChecker、LinkChecker鄧紹華安全測試手動手動鄧紹華兼容測試自動化測試+手動IETest、瀏覽器插件鄧紹華其他測試手動鄧紹華6.3系統(tǒng)測試6.3.1用戶登錄測試在測試登錄時,包括對能夠登錄進(jìn)入的測試:對輸入正確數(shù)值驗證用戶能否登錄進(jìn)入;對輸入錯誤密碼數(shù)值測試;對輸入一個正確數(shù)值和一個錯誤數(shù)值,驗證系統(tǒng)的登錄界面是否會拒絕登錄,并彈出數(shù)值錯誤信息;對輸入錯誤用戶名數(shù)值測試;對不輸入數(shù)值測試,直接點擊登錄;如下表所示。表6-3用戶登錄測試用例表用例名稱登錄功能測試時間2024-1-22對應(yīng)需求進(jìn)入系統(tǒng)登錄界面測試人員本人功能描述用戶進(jìn)入對應(yīng)的系統(tǒng)界面測試目的測試用戶是否能成功進(jìn)入系統(tǒng)測試步驟輸入用戶名、密碼、點擊登錄序號輸入數(shù)據(jù)/動作預(yù)期結(jié)果實際結(jié)果1輸入正確的賬號密碼登錄成功跳轉(zhuǎn)首頁成功2不輸入賬號顯示賬號不能為空成功3輸入錯誤賬號,登錄顯示賬號錯誤成功4輸入錯誤密碼,登錄顯示密碼錯誤成功5不輸入密碼顯示密碼不能為空成功6.3.2注冊模塊測試在測試注冊模塊時,包括對正常注冊的測試:輸入必要的賬號、密碼、昵稱等必要字段,驗證是否能夠成功創(chuàng)建用戶賬戶并檢查數(shù)據(jù)庫中是否包含新注冊的用戶信息;對用戶賬號的測試:注冊時使用已注冊過的賬號,驗證是否拒絕注冊并提示適當(dāng)?shù)腻e誤信息;對輸入密碼規(guī)則的測試,驗證系統(tǒng)是否會提示密碼規(guī)則錯誤;對重復(fù)密碼的測試:驗證系統(tǒng)是否正確處理匹配和不匹配的情況;對必填字段的測試:驗證系統(tǒng)不輸入必填字段(如用戶名、密碼等)是否會拒絕注冊并提示適當(dāng)?shù)腻e誤信息;如下表所示。表6-4注冊測試用例表用例名稱注冊功能測試時間2024-1-22對應(yīng)需求進(jìn)入系統(tǒng)注冊界面測試人員本人功能描述用戶進(jìn)入對應(yīng)的注冊界面測試目的測試用戶是否能成功注冊測試步驟輸入賬號、密碼、確認(rèn)密碼、昵稱、手機(jī)號、郵箱,選擇身份、姓名以及性別,點擊提交序號輸入數(shù)據(jù)/動作預(yù)期結(jié)果實際結(jié)果1輸入必要字段的數(shù)據(jù)提示注冊成功成功2不輸入賬號提示賬號不能為空成功3輸入重復(fù)賬號提示該賬號已存在成功4不輸入密碼提示密碼不能為空成功5輸入密碼123提示密碼長度不符合成功6兩次密碼輸入不一致提示確認(rèn)密碼錯誤成功7輸入剛注冊成功的賬號成功登錄首頁成功6.3.3內(nèi)容管理模塊測試在測試管理員對內(nèi)容管理模塊時,包括對在線留言查詢的測試:點擊查詢按鈕,驗證是否顯示所有的在線留言和輸入關(guān)鍵字點擊查看是否會顯示相關(guān)關(guān)鍵字的留言;對在線留言的添加測試:點擊添加按鈕,驗證是否會跳轉(zhuǎn)添加頁面并添加在線留言;對在線留言的刪除測試:驗證選中某個在線留言店家刪除按鈕是否會刪除;對網(wǎng)站資訊的查看測試,驗證點擊網(wǎng)站資訊是否正確顯示網(wǎng)站資訊管理頁面;對網(wǎng)站資訊的查詢測試,驗證輸入資訊關(guān)鍵點擊查看是否會顯示相關(guān)的資訊文章;如下表所示。表6-5內(nèi)容管理測試用例表用例名稱內(nèi)容管理功能測試時間2024-1-22對應(yīng)需求修改內(nèi)容信息測試人員本人功能描述管理員進(jìn)入內(nèi)容管理頁面測試目的測試管理員是否可以添加刪除查詢內(nèi)容信息測試步驟點擊查詢、添加等功能按鈕序號輸入數(shù)據(jù)/動作預(yù)期結(jié)果實際結(jié)果1點擊查詢按鈕彈出在線留言所有信息成功2點擊添加按鈕跳轉(zhuǎn)添加留言的頁面成功3點擊修改按鈕跳轉(zhuǎn)修改留言的頁面成功4點擊刪除按鈕彈出確定刪除的提示框成功5輸入關(guān)鍵字點擊查詢按鈕顯示相關(guān)的資訊成功6點擊添加按鈕跳轉(zhuǎn)添加資訊的頁面成功7點擊刪除按鈕彈出確定刪除的提示框成功8點擊查看評論按鈕跳轉(zhuǎn)管理評論頁面成功9點擊刪除內(nèi)容評論彈出確定刪除的提示框成功6.3.4商城管理模塊測試在測試管理員對商城中心管理模塊時,包括對農(nóng)產(chǎn)品的查詢:輸入農(nóng)產(chǎn)品的相關(guān)數(shù)值,驗證是否會顯示相關(guān)農(nóng)產(chǎn)品的信息;對新的農(nóng)產(chǎn)品添加:點擊添加按鈕,看是否會跳轉(zhuǎn)添加農(nóng)產(chǎn)品的頁面;對農(nóng)產(chǎn)品的刪除:選中相關(guān)農(nóng)產(chǎn)品點擊刪除,看是否刪除成功;對已存在的農(nóng)產(chǎn)品信息修改,看點擊詳細(xì)是否跳轉(zhuǎn)相關(guān)農(nóng)產(chǎn)品的信息頁面并進(jìn)行修改;對訂單查詢:看輸入相關(guān)訂單號是否會顯示項訂單的信息;對訂單的刪除,看選中某個訂單點擊刪除按鈕是否刪除成功;對點擊訂單詳細(xì)按鈕,看是否會跳轉(zhuǎn)訂單信息的詳細(xì)頁面,如下表所示。表6-6商城中心模塊測試用例表用例名稱商城中心管理功能測試時間2024-1-22對應(yīng)需求修改商品和訂單信息測試人員本人功能描述管理員進(jìn)入商城中心管理頁面測試目的測試管理員是否可以管理商品和訂單信息測試步驟點擊查詢、添加等功能按鈕序號輸入數(shù)據(jù)/動作預(yù)期結(jié)果實際結(jié)果1輸入關(guān)鍵字點擊查詢按鈕顯示相關(guān)商品的信息成功2點擊添加按鈕跳轉(zhuǎn)添加商品的頁面成功3點擊修改按鈕跳轉(zhuǎn)編輯商品的頁面成功4選中某個商品點擊刪除按鈕彈出確定刪除的提示框成功5輸入關(guān)鍵字點擊查詢按鈕顯示相關(guān)訂單的信息成功6選中某個訂單點擊刪除按鈕彈出確定刪除的提示框成功7點擊某訂單的詳細(xì)按鈕跳轉(zhuǎn)訂單詳細(xì)信息頁面成功6.4代碼掃描結(jié)果利用IDEA中的插件Spotbugs和AlibabaJavaCodingGuidelines代碼規(guī)約檢測對文件進(jìn)行檢查測試發(fā)現(xiàn)一些代碼不規(guī)范、命名不規(guī)范以及相關(guān)規(guī)則未遵守的情況,可以清楚的發(fā)現(xiàn)哪個地方出現(xiàn)問題,如圖所示。圖6-1掃描結(jié)果圖6.5連接測試結(jié)果利用edge瀏覽器的插件BrokenLinkChecker進(jìn)行連接測試,如圖所示。圖6-2連接測試圖6.6測試結(jié)果通過一系列的測試,該系統(tǒng)的相關(guān)功能、性能、可靠性等都能達(dá)到預(yù)期的結(jié)果,設(shè)置的目標(biāo)也基本都達(dá)成,列出的測試范圍也基本涵蓋;通過黑盒可以得出系統(tǒng)運(yùn)行正常,達(dá)到用戶需求和項目設(shè)計的要求;基本滿足農(nóng)產(chǎn)品銷售系統(tǒng)的要求;驗證了功能是否能夠正確響應(yīng)并作出下一步的動作,有利于檢測系統(tǒng)功能的完整性;在測試的過程中也發(fā)現(xiàn)了一些錯誤并及時進(jìn)行修改,保證該系統(tǒng)的正常運(yùn)行;為后續(xù)對系統(tǒng)的維護(hù)提供基礎(chǔ)。6.7本章小結(jié)本章主要敘述了系統(tǒng)的相關(guān)測試,總結(jié)測試開始時制訂的測試目標(biāo),評估這些目標(biāo)是否達(dá)成,檢測測試用戶的執(zhí)行情況完善系統(tǒng)的設(shè)計與開發(fā),記錄測試執(zhí)行中遇到的問題防止下次出現(xiàn)類似的錯誤;總結(jié)測試期間發(fā)現(xiàn)的問題和缺陷評估問題的嚴(yán)重性和緊急性并制訂解決方案,通過測試總結(jié)過程中出現(xiàn)的bug、知識和經(jīng)驗,為下一步的行動計劃提供改進(jìn)建議;為用戶提供一個具有安全性、穩(wěn)定性、可靠性的系統(tǒng)。第7章總結(jié)與展望本章主要敘述論文的總結(jié)與展望,主要是對整篇論文的工作進(jìn)行回顧總結(jié),并展望以后研究方向和改進(jìn)方案的可能性;這也意味著論文即將進(jìn)入尾聲,通過本章來回顧所做的論文工作,并且對未來的展望。7.1論文總結(jié)本章主要論述了農(nóng)產(chǎn)品銷售系統(tǒng)的設(shè)計與實現(xiàn),總結(jié)研究的目的;首先介紹了系統(tǒng)研究的目的、現(xiàn)實需求、研究背景以及國內(nèi)外近年來對于互聯(lián)網(wǎng)與農(nóng)業(yè)結(jié)合發(fā)展進(jìn)行了分析,在如今互聯(lián)網(wǎng)時代應(yīng)該將農(nóng)產(chǎn)品與互聯(lián)網(wǎng)結(jié)合起來發(fā)揮互聯(lián)網(wǎng)作用來助農(nóng),采用線上商城模式

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論