牛奶之家管理系統的設計與實現-畢業設計論文_第1頁
牛奶之家管理系統的設計與實現-畢業設計論文_第2頁
牛奶之家管理系統的設計與實現-畢業設計論文_第3頁
牛奶之家管理系統的設計與實現-畢業設計論文_第4頁
牛奶之家管理系統的設計與實現-畢業設計論文_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本科畢業論文(設計)系統分析2.1可行性分析2.1.1經濟可行性分析“牛奶之家”的管理系統是利用了諸如IDEA編程工具、Tomcat服務器和MySQL數據庫等開放式且免費的資源構建而成。所有這些環境都是在學校里經過深入學習并掌握的,可以獨自執行各種任務而無需額外的支出。所有的開發工具都能在網上獲取。綜上所述,“牛奶之家”管理系統在經濟上是可行的。2.1.2技術可行性分析“牛奶之家”管理系統采用了MySQL的數據庫和IDEA、Tomcat等開發工具,這為開發任務提供了極大的方便。該系統采用SSM架構進行構建,使得其具有更好的拓展能力和維護能力,同時降低了Java配置代碼量,優化了程序代碼結構,如今SSM架構已經成為眾多用戶的選擇。綜上所述,從技術層面來看開發“牛奶之家”管理系統是可行的。2.1.3操作可行性分析在這個系統的設計過程中,借鑒了大量相似系統的成功實例,對操作界面和功能進行了全面的剖析。通過將多個實例融合在一起,強調以人為本,簡化了操作流程。因此,只要有基礎的電腦知識,就可以輕松操作這個系統。所以,這個系統的實施是沒有問題的。綜上所述,“牛奶之家”管理系統在操作上是可行的。2.2需求分析2.2.1關鍵技術本系統是基于SSM框架來構建的,并且借助Spring框架來執行依賴注入以及事務的管理。也運用SpringMVC框架來處理各種請求以及響應,并且借助MyBatis框架來完成與數據庫的對接。系統的開發環境為Windows11系統,數據庫MySQL8.0,編程語言為Java、JavaScript等技術。1、SpringSpring作為一個微型的IOC(控制反轉)與AOP(面向切面編程)容器,具備豐富的功能組件,例如依賴注入、事務處理和安全保障等。Spring可以幫助開發者解耦業務邏輯,提高代碼的可測試與可維護性REF_Ref1815\w\h[12]。2、SpringMVC作為一種Web框架,SpringMVC遵循了MVC(Model-View-Controller)的設計理念,主要負責對網絡請求與響應的管理。通過使用DispacherServlet這個核心部件,可以依據請求信息(URL)去挑選相應的網頁管理器以完成相應操作REF_Ref1714\w\h[13];同時,該框架還具備靈活的URL映射、請求參數、視圖解析及數據校驗等特性,使得開發人員能迅速搭建出高質量的Web應用環境。3、MyBatisMyBatis是一個持久層框架,主要用于與數據庫之間進行交互。通過XML或注解配置SQL語句,并提供了強大的對象關系映射(ORM)功能,簡化了數據庫操作的編寫和管理REF_Ref1636\w\h[14]。4、SSM框架作為一種廣泛應用的JavaWeb構建工具,SSM框架能夠將整個系統的結構劃分為四個部分:Web表現層、業務邏輯層(Service層)、數據訪問層(DAO層)和持久化對象層。每個組成部分都負責執行各自的功能REF_Ref1580\w\h[15]。在Spring、SpringMVC、MyBatis的協同作用下,提供了高效、靈活和可維護的應用程序開發環境。SSM框架可以適用于各種規模的項目,并且具有良好的可擴展性與可測試性。2.2.2業務流程分析進入網站后,用戶需要進行注冊登錄,在網站選擇合適的商品下單后支付產生訂單信息,再由管理員進行訂單的配送員分配,配送員進入網站登錄后查看自己分配的訂單進行配送,配送完成后用戶填寫簽收信息。用戶業務流程圖如圖2.1所示。圖2.1用戶業務流程圖管理員業務流程圖如圖2.2所示。圖2.2管理員業務流程圖配送員工業務流程圖如圖2.3所示。圖2.3配送員工業務流程圖2.2.3功能需求分析本研究基于SSM框架開發了一套“牛奶之家”管理系統,旨在提供高效、可靠的功能模塊。該系統主要面向消費者、管理員和配送員工,涵蓋了牛奶推薦、訂單管理、配送跟蹤等核心功能。消費者可以瀏覽各類牛奶產品,并進行下單購買,同時能夠實時追蹤訂單的配送狀態。管理員可以管理用戶、配送員工信息、進行處理訂單等操作。配送員工可以查看配送任務并管理配送信息。具體功能分析如下。1、普通用戶模塊(1)通知公告:查看系統發布的通知和公告信息,包括促銷活動、配送調整等重要通知。(2)牛奶信息:瀏覽系統推薦的牛奶產品,包括牛奶品牌、類型、生產日期、保質日期、牛奶價格、配送站點等信息,用戶可以進行下單、點贊、收藏、評論等操作。(3)個人中心:編輯用戶個人信息,包括用戶名、聯系方式等,對個人信息管理功能。(4)訂單信息:查看已下單的牛奶訂單信息,包括用戶賬號、名稱、牛奶品牌、類型、牛奶價格、購買數量、金額、配送地址等信息,查看訂單狀態、支付情況等。(5)配送信息:查看訂單的的配送詳情和進行簽收操作。(6)簽收信息:確認收貨并提交簽收信息,為配送員提供反饋和評價。(7)收藏:用戶可以將喜歡的牛奶產品進行收藏,在個人中心收藏中查看進行下單操作。通過以上用戶功能的分析,得出了本“牛奶之家”管理系統的用戶角色用例如圖2.4所示。圖2.4普通用戶角色用例圖2、管理員模塊(1)后臺首頁:查看系統整體運營情況和關鍵數據,如收入信息、支出信息等的統計信息。(2)系統用戶管理:對系統用戶信息(管理員、普通用戶、配送員)進行增加、更改、刪除、權限控制以及賬號管理等功能。(3)牛奶推薦管理:管理系統推薦的牛奶產品,包括添加、編輯和刪除推薦信息,根據銷售數據和用戶反饋進行推薦調整。(4)訂單信息管理:查看和處理用戶的訂單信息,包括確認付款、配送等,提供訂單狀態更新和管理功能。(5)配送信息管理:跟蹤和管理訂單的配送狀態和進度,協調配送員的工作安排和配送路線。(6)簽收信息管理:管理用戶的簽收信息,包括查看和確認等。(7)收支信息管理:記錄和管理系統的收入與支出情況,包括刪除、查詢、添加、重置等操作。(8)配送站點管理:管理配送站點的信息,包括添加、編輯和刪除配送站點,維護配送網絡和資源分配。(9)牛奶類型管理:管理牛奶產品的類型信息,包括添加、編輯和刪除牛奶類型,為用戶提供更好的分類瀏覽和篩選功能。(10)輪播圖管理:管理首頁輪播圖的展示內容,包括添加、編輯和刪除圖片及鏈接,提供宣傳和促銷的管理功能。(11)通知公告管理:對在客戶端發布的通知公告信息進行管理,包含了增加、編輯和刪除操作,以便于用戶能夠及時獲取重要消息。“牛奶之家”管理系統的全部數據信息是由Web后臺管理的管理員負責維護的。管理員角色用例如圖2.5所示。圖2.5管理員角色用例圖3、配送員工管理模塊配送信息管理:跟蹤和管理分配給自己的訂單的配送狀態和進度,更新訂單的配送情況和實際配送時間。配送員工角色用例如圖2.6所示。圖2.6配送員工角色用例圖2.2.4性能需求分析確保數據庫的性能滿足業務需求,包括快速的數據檢索、更新和插入操作。對數據庫的讀寫頻率,進行優化來提高系統整體的性能表現。數據庫讀寫操作的性能應該在合理的范圍內,保證數據的一致性與可靠性。系統必須具備優秀的穩定性和可靠性,能持續穩定運行,避免出現系統崩潰等不正常狀況。2.2.5數據需求分析用戶注冊:賬號、密碼、確認密碼、昵稱、郵箱、身份。生成的牛奶信息:牛奶品牌、牛奶類型、生產日期、保質日期、牛奶價格、配送站點。生成的訂單信息:普通用戶、用戶名稱、牛奶品牌、牛奶類型、牛奶價格、購買數量、購買金額、配送站點、配送地址。生成的配送信息:配送員工、員工姓名、普通用戶、用戶名稱、牛奶品牌、牛奶類型、配送地址、配送時間、配送站點。生成的簽收信息:普通用戶、用戶名稱、牛奶品牌、牛奶類型、簽收時間。2.2.6接口需求分析1、用戶接口登錄過程中,通過登錄方法的處理,瀏覽器傳來的數據存儲在一個Map類型的參數中。經過非空校驗后,通過調用Service層的Select方法,生成格式化的Sql查詢語句,并傳入Service層的另一方法操作數據庫。登錄過程中使用了MD5加密,登錄成功后會生成一個登錄令牌,登錄令牌為實體類,映射到數據庫中的AccessToken表,其中包含令牌ID和用戶信息,并通過Service的Save方法將令牌信息存入數據庫。最后將數據以Json格式返回給瀏覽器,瀏覽器根據特定格式處理返回的數據REF_Ref604\w\h[16]。2、牛奶信息接口通過WebAPI接口訪問數據。可以返回用戶所填寫的牛奶信息:如牛奶品牌、牛奶類型、配送站點等。3、訂單接口通過WebAPI接口訪問數據。可以返回用戶所填寫的訂單信息:如購買數量、購買金額、配送站點、配送地址等。4、配送信息接口通過WebAPI接口訪問數據。可以返回用戶所填寫的配送信息:如配送員工、員工姓名、配送地址、配送時間、配送站點等。5、簽收信息接口通過WebAPI接口訪問數據。可以返回用戶所填寫的簽收信息:如用戶名稱、牛奶品牌、牛奶類型、簽收時間等。2.2.7將來可能提出的需求分析1、“牛奶之家”的管理系統的市場地位取決于其性能,因此最佳的性能才是最理想的選擇。2、頁面的美化。3、災難恢復,備份和災難恢復計劃對于系統可用性至關重要。4、業務發展可能需要新增功能,例如推薦引擎、多語言支持等。3系統設計3.1架構設計采用MVC架構構建了這個系統,也就是SSM框架中的MVC模式。M是業務模型(Model):對用戶發送的請求進行處理和數據的存儲,包含的主體主要分為兩種,一種是存儲和管理數據的數據承載Bean,另一類是專門用于處理這些信息的處理Bean,如Service或Dao對象;V是用戶的使用界面(View):用戶可以進行操作和瀏覽的界面;C是控制器(Controller):接收來自用戶的請求,然后將其轉接到適當的Model上進行處理,接著從Model獲取處理后的結果返回給用戶。MVC架構程序的工作流程:用戶在View界面中發生了一些請求操作時,View會將這些請求向服務端發送。服務端的Controller收到請求后,會選擇對應的Model對這些請求進行處理。一旦Model完成處理,它就會把結果反饋到Controller那里。此時,Controller會尋找一個合適的View頁面來顯示處理過的結果,該頁面經渲染(數據填充)后會發回給客戶端REF_Ref12998\r\h[17]。系統架構圖如圖3.1所示。圖3.1系統架構圖3.2系統功能模塊設計在前一部分的討論里,重點研究了系統的功能性和非功能性的需求,并且分析了“牛奶之家”管理系統中的各個用例。整體功能模塊分成了管理員、普通用戶、配送員工等三個模塊,每個模塊登錄進去對應相應的功能,其總體設計模塊圖如圖3.2所示。圖3.2系統功能模塊圖3.3數據庫設計3.3.1概念模型設計本系統采用MySQL8.0進行數據庫設計,MySQL8.0具有性能高效、可移植性好、穩定可靠等優點,對牛奶信息、訂單信息、用戶信息等進行了設計,配合Navicat使用使表的設計更加方便,表與表之間的關系更加直觀,如圖3.3所示。圖3.3系統數據關系圖(Navicat)3.3.2數據庫表設計通過前面系統關系圖可以看到項目需要創建很多個數據表。以下是系統中主要的數據庫表:1、用戶賬戶表user:存放系統中用戶(管理員,普通用戶和配送員工)的登錄詳情,記錄了用戶的ID、賬戶狀態、創建時間、郵箱等信息,如表3.1所示。表3.1用戶賬戶表user序號列名數據類型長度主鍵外鍵允許空默認值說明1user_idmediumint8是否用戶ID:[0,8388607]2statesmallint5否1賬戶狀態:[0,10](1可用|2異常|3已凍結|4已注銷)3user_groupvarchar32是所在用戶組:[0,32767]4login_timetimestamp19否CURRENT_TIMESTAMP上一次登錄時刻5phonevarchar11是手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時6phone_statesmallint5否0手機認證:[0,1](0未認證|1審核中|2已認證)7usernamevarchar16否用戶名:[0,16]用戶登錄時所用的賬戶名稱8nicknamevarchar16是昵稱:[0,16]9passwordvarchar64否密碼:[0,32]用戶登錄所需的密碼,由6.16位數字或英文組成10emailvarchar64是郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時11email_statesmallint5否0郵箱認證:[0,1](0未認證|1審核中|2已認證)12avatarvarchar255是頭像地址:[0,255]

續表3.1用戶賬戶表user序號列名數據類型長度主鍵外鍵允許空默認值說明13open_idvarchar255是針對獲取用戶信息字段14create_timetimestamp19否CURRENT_TIMESTAMP創建時刻牛奶信息表milk_information:用來存放在系統中實體牛奶的基本信息,包含了牛奶品牌、牛奶類型、牛奶圖片、生產日期、保質日期、牛奶價格等,如表3.2所示。表3.2牛奶信息表milk_information序號列名數據類型長度主鍵外鍵允許空默認值說明1milk_information_idint10是否牛奶信息ID2milk_brandvarchar64是牛奶品牌3milk_typevarchar64是牛奶類型4milk_imagevarchar255是牛奶圖片5production_datedate10是生產日期6guarantee_datedate10是保質日期7milk_priceint10是0牛奶價格8introduction_to_milktext65535是牛奶介紹9delivery_sitevarchar64是配送站點10hitsint10否0點擊數11create_timedatetime19否CURRENT_TIMESTAMP創建時刻12update_timetimestamp19否CURRENT_TIMESTAMP更新時刻13praise_lenint10否0點贊數14order_idint10是否15user_idint是是16admin_idint是是牛奶類型表milk_type:用來存放在系統中實體牛奶的類型基本信息,包含了牛奶類型ID、牛奶類型、創建時間、更新時間,如表3.3所示。表3.3牛奶類型表milk_type序號列名數據類型長度主鍵外鍵允許空默認值說明1milk_type_idint10是否牛奶類型ID2milk_typevarchar64是牛奶類型3create_timedatetime19否CURRENT_TIMESTAMP創建時刻4update_timetimestamp19否CURRENT_TIMESTAMP更新時刻5admin_idint是是6milk_idint10是否7order_idint10是否8delivery_idint是是4、訂單信息表order_information:在系統中存儲實體訂單基礎信息的表,包含了用戶名稱、牛奶品牌、牛奶類型、牛奶價格以及購買數量等基礎信息,如表3.4所示。表3.4訂單信息表order_information編號列名數據類型長度主鍵外鍵允許空默認值說明1order_information_idint10是否訂單信息ID2regular_usersint10是0普通用戶3user_namevarchar64是用戶名稱4milk_brandvarchar64是牛奶品牌5milk_typevarchar64是牛奶類型6milk_priceint10是0牛奶價格7purchase_quantityint10是0購買數目

續表3.4訂單信息表order_information編號列名數據類型長度主鍵外鍵允許空默認值說明8purchase_amountvarchar64是購買金額9delivery_sitevarchar64是配送站點10delivery_addressvarchar64是配送地點11pay_statevarchar16否未支付支付狀態12pay_typevarchar16是支付類型:微信、支付寶、網銀13create_timedatetime19否CURRENT_TIMESTAMP創建時刻14update_timetimestamp19否CURRENT_TIMESTAMP更新時刻15admin_idint是是16milk_idint10是否5、配送信息表delivery_information:在系統中存儲實體配送基礎信息的表,包含了配送員工、用戶名稱、配送地點等基礎信息,如表3.5所示。表3.5配送信息表delivery_information序號列名數據類型長度主鍵外鍵允許空默認值說明1delivery_information_idint10是否配送信息ID2delivery_staffint10是0配送員工3employee_namevarchar64是員工姓名4regular_usersint10是0普通用戶5user_namevarchar64是用戶名稱6milk_brandvarchar64是牛奶品牌7milk_typevarchar64是牛奶類型8delivery_addressvarchar64是配送地點9delivery_timedatetime19是配送時間

續表3.5配送信息表delivery_information序號列名數據類型長度主鍵外鍵允許空默認值說明10delivery_sitevarchar64是配送站點11create_timedatetime19否CURRENT_TIMESTAMP創建時刻12update_timetimestamp19否CURRENT_TIMESTAMP更新時刻13admin_idint是是14staff_id是是6、配送站點表delivery_site:用來存放在系統中實體配送站點基本信息,包含了配送站點ID、配送站點、創建時刻、更新時刻,如表3.6所示。表3.6配送站點表delivery_site序號列名數據類型長度主鍵外鍵允許空默認值說明1delivery_site_idint10是否配送站點ID2delivery_sitevarchar64否配送站點3create_timedatetime19否CURRENT_TIMESTAMP創建時刻4update_timetimestamp19否CURRENT_TIMESTAMP更新時刻5admin_idint是是6milk_idint10是否7order_idint10是否8delivery_idint是是簽收信息表signing_information:用來存放在系統中實體簽收的基本信息,包含了用戶名稱、牛奶品牌、簽收時間、牛奶類型等,如表3.7所示。表3.7簽收信息signing_information序號列名數據類型長度主鍵外鍵允許空默認值說明1signing_information_idint10是否簽收信息ID2regular_usersint10是0普通用戶3user_namevarchar64是用戶名稱4milk_brandvarchar64是牛奶品牌5milk_typevarchar64是牛奶類型6create_timedatetime19否CURRENT_TIMESTAMP創建時刻7signing_timedatetime19是簽收時刻8update_timetimestamp19否CURRENT_TIMESTAMP更新時刻8、收支信息表income_and_expenditure_information:在系統中存儲收支基礎信息的表,包含了收支日期、收入金額、支出金額等基礎信息,如表3.8所示。表3.8收支信息表income_and_expenditure_information序號列名數據類型長度主鍵外鍵允許空默認值說明1income_and_expenditure_information_idint10是否收支信息ID2income_and_expenditure_datedate10是收支日期3income_amountint10是0收入金額4revenue_detailsvarchar64是收入明細5expenditure_amountint10是0支出金額

續表3.8收支信息表income_and_expenditure_information序號列名數據類型長度主鍵外鍵允許空默認值說明6expense_detailsvarchar64是支出明細7create_timedatetime19否CURRENT_TIMESTAMP創建時刻8update_timetimestamp19否CURRENT_TIMESTAMP更新時刻9admin_idint是是9、公告表notice:公告表是用來存儲系統中實體公告基本信息的表,基本信息包括正文、創建時間、更新時間等,如表3.9所示。表3.9公告表notice序號列名數據類型長度主鍵外鍵允許空默認值說明1notice_idmediumint8是否公告id2titlevarchar125否標題3contentlongtext2147483647是正文4create_timetimestamp19否CURRENT_TIMESTAMP創建時刻5update_timetimestamp19否CURRENT_TIMESTAMP更新時刻6admin_idint是是7user_idint是是10、輪播圖表slides:輪播圖表是用來存儲系統中輪播圖基本信息的表,基本信息包括標題、鏈接、內容等,如表3.10所示。表3.10輪播圖表slides序號列名數據類型長度主鍵外鍵允許空默認值說明1slides_idint10是否輪播圖ID2titlevarchar64是標題

續表3.10輪播圖表slides序號列名數據類型長度主鍵外鍵允許空默認值說明3contentvarchar255是內容4urlvarchar255是鏈接5imgvarchar255是輪播圖6hitsint10否0點擊量7create_timetimestamp19否CURRENT_TIMESTAMP創建時刻8update_timetimestamp19否CURRENT_TIMESTAMP更新時刻9admin_idint是是4系統實現4.1開發環境本系統采用了SSM結構體系,基于Java開發,選用MySQL8.0數據庫等進行“牛奶之家”管理系統詳細設計與實現,其具體系統開發環境如表4.1所示。表4.1系統開發環境硬件環境軟件環境CPU:Intel(R)Core(TM)i7-9750HCPU@2.60GHz操作系統:Windows11內存:8GB+8GB數據庫:MySQL8.0;JDK版本:1.8硬盤:512GB+1TBWeb服務器:Tomcat7.0.88瀏覽器:GoogleChrome121開發環境:IntelliJIDEA2020.3.1x64、NavicatPremium15、Maven34.2功能模塊實現4.2.1注冊模塊用戶想要進行資料相關信息的查詢管理的時候,就必須進行登錄,若無賬戶,在登錄界面,點擊注冊按鈕入創建新帳戶頁面并填入所需信息,一旦成功錄入這些信息后,系統會自動將其存儲于數據庫內,再輸入填寫好的賬號和密碼進行登錄。從請求體中獲取參數,包括用戶名等信息。檢查數據庫中用戶名是否存在,如果存在則返回相應的錯誤信息。獲取用戶輸入的密碼,使用對密碼進行加密的service.encryption方法,將包含用戶名和加密后的密碼信息插入到數據庫中。根據注冊結果返回成功或錯誤信息。實現注冊模塊代碼如圖4.1所示。實現注冊模塊效果圖如圖4.2所示。圖4.1注冊模塊部分代碼圖4.2注冊模塊實現圖4.2.2登錄模塊在登錄界面輸入賬號+密碼,點擊登錄按鈕,會從使用者數據庫表格里對用者的帳號做比照。如果其與所輸的號碼及密碼相符則可順利地訪問各個用戶的主管理界面,反之若不符合條件將會被告知相應的信息然后返回至登錄界面。通過HttpServletRequest獲取請求對象,查詢數據庫中的用戶信息,若賬號或密碼為空,返回錯誤信息。獲取用戶所屬的用戶組信息。有審核狀態的用戶組,則查詢審核狀態,確保用戶已通過審核。根據用戶輸入的密碼進行驗證。若驗證成功,生成一個AccessToken并存儲到Redis中,設置過期時間為7200秒。根據不同條件返回成功或錯誤信息,攜帶用戶信息及可能的Token。實現登錄模塊代碼如圖4.3所示。實現登錄模塊效果圖如圖4.4所示。圖4.3登錄模塊部分代碼圖4.4登錄模塊實現圖4.2.3系統用戶管理模塊對于管理員、普通用戶以及配送人員進行操作,涵蓋了添加、修改和刪除用戶信息的功能,并提供權限控制與賬號管理的服務。用戶的權限,存儲在實體類Entity下的UserGroup.java中,數據庫表中,該表格存儲的是用戶的相應權限,每一個User用戶表下的每一條數據,代表一個用戶,里面都有一個UserGroup字段,再根據UserGroupController.java文件中的方法來判斷當前所具有的身份和權限,并在瀏覽器中顯示對應的操作界面。實現系統用戶管理模塊代碼圖如圖4.5所示。實現系統用戶管理模塊部分效果圖如圖4.6所示。圖4.5系統用戶管理模塊部分代碼圖4.6系統用戶管理模塊實現圖4.2.4牛奶信息模塊用戶可以瀏覽系統推薦的牛奶產品,包括牛奶品牌、類型、生產日期、保質日期、牛奶價格、配送站點等信息,消費者可以進行下單、點贊、收藏、評論等操作。頁面分為不同的區域,包括一個大的容器(<div

class=diy_list

page_milk_information

id=milk_information_list>)。區域內有搜索欄、下拉搜索、列表和分頁器等功能塊。提供了關鍵字搜索欄,用戶可以輸入關鍵字搜索牛奶品牌、類型和配送站點。使用了BootstrapVue(b-form-input和b-button)實現搜索功能。

提供了下拉菜單,允許用戶選擇牛奶類型、配送站點以及排序方式,使用了BootstrapVue的b-dropdown和b-dropdown-item組件實現。使用了自定義組件list_milk_information展示牛奶信息列表。使用了BootstrapVue的b-pagination組件,允許用戶瀏覽不同頁面的牛奶信息。通過Vue.js的事件綁定(@click和@change)實現用戶在頁面上的交互,如搜索、下拉選擇、排序和分頁等。總體而言構建了一個交互式的牛奶信息列表頁面,用戶可以通過搜索、篩選和分頁功能查看和管理牛奶信息。實現牛奶信息模塊代碼圖如圖4.7所示。實現牛奶信息模塊效果圖如圖4.8所示。圖4.7牛奶信息模塊部分代碼圖4.8牛奶信息模塊實現圖4.2.5牛奶信息管理模塊管理系統推薦的牛奶產品,包括添加、編輯和刪除推薦信息,根據銷售數據和用戶反饋進行推薦調整。在構造函數中調用setService(service)方法,用于設置基類控制器的服務。通過@RequestMapping(/milk_information)將該類映射到處理/milk_information路徑下的請求。通過@PostMapping(/add)將該方法映射為處理HTTP

POST請求的方法,對應的端點是/milk_information/add。使用@Transactional注解表示該方法涉及到一個事務。從請求體中讀取參數,并調用addMap方法進行處理。返回一個表示成功的響應,通常是一個包含成功狀態的Map對象。MilkInformationController類實現了處理牛奶信息相關請求的邏輯,包括基類繼承、構造函數注入服務、請求映射以及添加牛奶信息的方法。實現牛奶信息管理模塊代碼圖如圖4.9所示。實現牛奶信息管理模塊效果圖如圖4.10所示。圖4.9牛奶信息管理模塊部分代碼圖4.10牛奶信息管理模塊實現圖4.2.6牛奶類型管理模塊對牛奶類型的管理包括增加、刪除、修改以及查詢等操作。定義了一個基于Spring框架的MilkTypeController類,用于處理與牛奶類型(MilkType)相關的HTTP請求。MilkTypeController繼承自BaseController<MilkType,

MilkTypeService>,通過@Autowired注解注入了MilkTypeService,并在構造函數中將其設置為服務對象。該控制器還定義了一個處理POST請求的add方法,使用@PostMapping(/add)注解將其映射到/add路徑。該方法使用@Transactional注解開啟事務,并通過HttpServletRequest獲取請求體內容,然后調用service.readBody解析請求體,并執行addMap方法,最后返回一個包含成功信息的Map。該控制器實現了牛奶類型功能的HTTP請求處理,包括添加新牛奶類型的功能。實現牛奶類型管理模塊代碼圖如圖4.11所示。實現牛奶類型管理模塊效果圖如圖4.12所示。圖4.11牛奶類型管理部分代碼圖4.12牛奶類型管理模塊實現圖4.2.7訂單信息模塊查看已下單的牛奶訂單信息,包括用戶賬號、名稱、牛奶品牌、類型、牛奶價格、購買數量、金額、配送地址等信息,查看訂單狀態、支付情況等。使用Element

UI組件創建了一個訂單信息表單。包括用戶名稱、牛奶品牌、牛奶類型的輸入字段以及支付狀態的下拉選擇。搜索、重置、添加和刪除等按鈕的顯示取決于用戶角色和權限。使用Element

UI的el-table組件展示訂單信息表格。定義了各個字段的列,如用戶名稱、牛奶品牌、牛奶類型、購買詳情、配送信息、支付狀態、支付類型和時間戳等。表格支持排序,并對時間戳進行了自定義格式化。在訂單信息表格中添加了一個用于操作的額外列(如詳情、配送、支付)。列和按鈕的顯示受用戶角色和權限的控制。按鈕包括詳情鏈接、配送按鈕和支付按鈕,每個按鈕的顯示受用戶權限的條件限制。實現訂單信息模塊代碼圖如圖4.13所示。實現訂單信息模塊效果圖如圖4.14所示。圖4.13訂單信息模塊部分代碼圖4.14訂單信息模塊實現圖4.2.8訂單信息管理模塊訂單信息管理:對生成的訂單進行管理,包含查詢、篩選、刪除、修改、重置等操作。定義了一個基于Spring框架的OrderInformationController類,用于處理與訂單信息(OrderInformation)相關的HTTP請求。OrderInformationController繼承了BaseController<OrderInformation,OrderInformationService>的方法,利用@Autowired注解實現了對OrderInformationService的自動注入,在構造函數中將其設定為了服務實例。使用@Transactional注解開啟事務,并通過HttpServletRequest獲取請求體內容,然后調用service.readBody解析請求體,并執行addMap方法,最后返回一個包含成功信息的Map。該控制器實現了訂單信息功能的HTTP請求處理。實現訂單信息管理模塊代碼圖如圖4.15所示。實現訂單信息管理模塊效果圖如圖4.16所示。圖4.15訂單信息管理模塊部分代碼圖4.16訂單信息管理模塊實現圖4.2.9配送信息管理模塊跟蹤和管理訂單的配送狀態和進度,協調配送員的工作安排和配送路線。基于Spring框架的Java后端控制器(DeliveryInformationController),該控制器繼承了BaseController<DeliveryInformation,

DeliveryInformationService>,基類提供了通用的基本操作,如增、刪、改、查。構造函數通過依賴注入(@Autowired)注入DeliveryInformationService服務,并通過setService方法將服務設置到基類中。通過@PostMapping(/add)映射HTTP

POST請求路徑為/delivery_information/add。通過HttpServletRequest獲取請求對象,從中讀取請求體內容(request.getReader()),并通過service.readBody解析為Map對象。調用this.addMap方法,將Map參數添加到配送信息中。返回一個包含成功狀態的Map對象,如success(1)。這個控制器實現了配送信息的添加功能,通過HTTPPOST請求將請求體解析為Map,然后通過服務層進行具體的添加操作,最終返回一個包含操作結果的Map。實現配送信息管理模塊代碼圖如圖4.17所示。實現配送信息管理模塊效果圖如圖4.18所示。圖4.17配送信息管理模塊部分代碼圖4.18配送信息管理模塊實現圖4.2.10配送站點管理模塊對配送站點進行管理,包含增加、刪除、查詢、添加操作。定義了一個基于Spring框架的DeliverySiteController類,用于處理與配送站點(DeliverySite)相關的HTTP請求。DeliverySiteController繼承自BaseController<DeliverySite,

DeliverySiteService>,其中通過@Autowired注解注入了DeliverySiteService,在構造函數中將其設定為了服務實例。該方法使用@Transactional注解開啟事務,并通過HttpServletRequest獲取請求體內容,然后調用service.readBody解析請求體,并執行addMap方法,最后返回一個包含成功信息的Map。該控制器實現了配送站點功能的HTTP請求處理,包括添加新配送站點的功能。實現配送站點管理模塊代碼圖如圖4.19所示。實現配送站點管理模塊效果圖如圖4.20所示。圖4.19配送站點管理模塊部分代碼圖4.20配送站點管理模塊實現圖4.2.11簽收信息管理模塊管理用戶的簽收信息,包括查看和確認等。后端控制器(SigningInformationController)繼承了BaseController<SigningInformation,SigningInformationService>,基類提供了通用的基本操作,如增、刪、改、查。構造函數通過依賴注入(@Autowired)注入SigningInformationService服務,并通過setService方法將服務設置到基類中。通過@PostMapping(/add)映射HTTP

POST請求路徑為/signing_information/add。通過HttpServletRequest獲取請求對象,從中讀取請求體內容(request.getReader()),并通過service.readBody解析為Map對象。調用this.addMap方法,將Map參數添加到簽收信息中。返回一個包含成功狀態的Map對象,如success(1)。這個控制器實現了簽收信息的添加功能,通過HTTP

POST請求將請求體解析為Map,然后通過服務層進行具體的添加操作,最終返回一個包含操作結果的Map。實現簽收信息管理模塊代碼圖如圖4.21所示。實現簽收信息管理模塊效果圖如圖4.22所示。圖4.21簽收信息管理模塊部分代碼圖4.22簽收信息管理模塊實現圖4.2.12收支信息管理模塊記錄和管理系統的收入和支出情況,包括收入信息、支出信息等功能。后端控制器(IncomeAndExpenditureInformationController)繼承BaseController<IncomeAndExpenditureInformation,IncomeAndExpenditureInformationService>,基類提供了通用的基本操作,如增、刪、改、查。構造函數通過依賴注入(@Autowired)注入IncomeAndExpenditureInformationService服務,并通過setService方法將服務設置到基類中。通過@PostMapping(/add)映射HTTP

POST請求路徑為/income_and_expenditure_information/add。通過HttpServletRequest獲取請求對象,從中讀取請求體內容(request.getReader()),并通過service.readBody解析為Map對象。利用this.addMap()方法,再收支信息中加入Map參數,并返還一個成功狀態的success(1)。這個控制器實現了收支信息的添加功能,通過HTTP

POST請求將請求體解析為Map,然后通過服務層進行具體的添加操作,最終返回一個包含操作結果的Map。實現收支信息管理模塊代碼圖如圖4.23所示。實現收支信息管理模塊部分效果圖如圖4.24所示。圖4.23收支信息管理模塊部分代碼圖4.24收支信息管理模塊實現圖4.2.13輪播圖管理模塊管理客戶端首頁中的輪播圖,進行增加、刪除、修改、查詢等操作。定義了一個基于Spring框架的SlidesController類,用于處理輪播圖相關的HTTP請求。SlidesController繼承自BaseController<Slides,

SlidesService>,其中通過@Autowired注解注入了SlidesService,并在構造函數中將其設置為服務對象。該控制器實現了輪播圖功能的HTTP請求處理,并通過注解配置了相應的服務。實現輪播圖管理模塊代碼圖如圖4.25所示。實現輪播圖管理模塊效果圖如圖4.26所示。圖4.25輪播圖管理模塊部分代碼圖4.26輪播圖管理模塊實現圖4.2.14通知公告管理模塊管理系統的通知公告信息,包含了查看、添加、修改、刪除和查詢等操作。控制器(@RestController)繼承了

BaseController<Notice,

NoticeService>,用于處理通知相關的業務邏輯。在構造函數中通過

setService(service)

方法將注入的

NoticeService

設置為控制器的服務對象,確保控制器可以調用服務層的方法來處理業務邏輯。控制器通過繼承通用基類,實現了處理通知相關請求的功能。實現通知公告管理模塊代碼圖如圖4.27所示。實現通知公告管理模塊效果圖如圖4.28所示。圖4.27通知公告管理模塊部分代碼圖4.28通知公告管理模塊實現圖5系統測試5.1測試計劃5.1.1測試范圍與主要內容登錄模塊:測試用戶登錄成功的情況。牛奶信息管理模塊:測試牛奶信息添加成功的情況和添加失敗的情況。通知公告管理模塊:測試查詢通知公告成功的情況。收支信息功能模塊:測試收支信息添加成功的情況和收支信息添加失敗的情況。訂單信息模塊:測試訂單信息支付成功的情況。5.1.2測試方法1、邊界條件測試對系統的在邊界條件下進行測試,如輸入最大值、最小值或者特定值。2、手工測試手動對待測試對象進行校驗,可以靈活地調整測試步驟和環境。3、功能測試對系統的功能進行測試,檢查系統的核心功能能否具有可用性。5.1.3測試環境使用了兩臺不同的電腦進行測試,一個配置較高,兩臺電腦的系統環境不一致以及軟件的版本不同,在不同的瀏覽器進行了測試,其具體的環境如表5.1所示。表5.1測試環境客戶端軟、硬件配置備注硬件軟件ACPU:lntel(R)Core(TM)i5-9500CPU@3.00GHzOS:Windows10內存:8GIntelliJIDEA2019.3.3x64、Navicat12硬盤:512GB瀏覽器:GoogleChromeBCPU:Intel(R)Core(TM)i7-9750HCPU@2.60GHzOS:Windows11內存:8G+8GIntelliJIDEA2020.3.1x64、Navicat15硬盤:512GB+1TB瀏覽器:Edge5.2功能測試登錄功能測試如表5.2所示。表5.2登錄功能測試用例表所屬模塊登錄模塊用例作者小祝BUG編號BUG-001測試人員小祝測試日期2024.2.20測試類型非業務功能測試測試工具無用例IDTest-001用例描述用戶在登錄界面,進行登錄測試,檢測登錄情況。前驅條件用戶已經注冊好賬號、密碼并進入到登錄界面。操作步驟點擊前登錄界面輸入賬號和密碼。分別輸入admin和asd123。點擊登錄按鈕。期望結果登錄成功。調整到用戶界面。實際結果登錄成功。調整到用戶界面。測試結果在登錄界面輸入注冊好的賬號密碼,成功登錄到操作界面,測試通過。牛奶添加功能測試如表5.3所示。表5.3牛奶添加功能測試用例表所屬模塊牛奶信息管理模塊用例作者小祝BUG編號BUG-002測試人員小祝測試日期2024.2.20測試類型業務功能測試測試工具無用例IDTest-002

續表5.3牛奶添加功能測試用例表用例描述管理員在牛奶添加頁面進行添加。前驅條件管理員進入牛奶添加頁面。操作步驟在牛奶的頁面中將點擊添加,輸入牛奶相關信息,輸入正確的信息后然后點擊提交按鈕。在牛奶頁面中不填寫的牛奶名稱,其他信息正常輸入提交按鈕。期望結果提示添加成功。提示添加失敗,信息不能為空。實際結果提示添加成功。提示添加失敗,信息不能為空。測試結果系統會根據底層代碼邏輯進行用戶輸入數據的判斷,并顯示對應成功、失敗的提示,測試通過。查詢通知公告功能模塊測試如表5.4所示。表5.4查詢通知公告功能測試用例表所屬模塊通知公告管理模塊用例作者小祝BUG編號BUG-003測試人員小祝測試日期2024.2.21測試類型業務功能測試測試工具無用例IDTest-003用例描述管理員在通知公告頁面進行查詢。前驅條件管理員進入通知公告頁面。操作步驟在通知公告頁面。輸入通知公告名稱。進行查詢。期望結果查詢成功。顯示對應通知公告內容。實際結果查詢成功。顯示對應通知公告內容。測試結果系統能夠根據界面搜索框的信息顯示對應的通知公告,測試通過。收支信息添加功能測試如表5.5所示。

表5.5收支信息添加功能測試用例表所屬模塊收支信息管理模塊用例作者小祝BUG編號BUG-004測試人員小祝測試日期2024.2.21測試類型業務功能測試測試工具無用例IDTest-004用例描述管理員在收支信息添加管理頁面進行添加。前驅條件管理員進入收支信息添加管理頁面。操作步驟在收支信息添加管理的頁面中,輸入收支明細,輸入正確的信息后然后點擊提交按鈕。在收支信息頁面中不填寫的收支日期,其他信息正常輸入提交按鈕。期望結果提示添加成功。提示添加失敗,信息不能為空。實際結果提示添加成功。提示添加失敗,信息不能為空。測試結果系統會根據底層代碼邏輯進行用戶輸入數據的判斷,并顯示對應成功、失敗的提示,測試通過。訂單信息支付功能功能測試如表5.6所示。表5.6訂單信息支付功能測試用例表所屬模塊訂單信息模塊用例作者小祝BUG編號BUG-004測試人員小祝測試日期2024.2.22測試類型業務功能測試測試工具無用例IDTest-005用例描述進入在訂單信息頁面后,用戶對訂單進行支付操作。前驅條件用戶下單后進入訂單信息頁面。

續表5.6訂單信息支付功能測試用例表操作步驟用戶下單。在訂單信息頁面點擊支付。選擇支付方式。確定支付。期望結果提示支付成功。在訂單信息界面不出現支付按鈕。實際結果提示支付成功。在訂單信息界面不出現支付按鈕。測試結果訂單支付后提示支付成功并顯示成功后的訂單狀態,測試通過。5.3兼容性測試如表5.7所示為系統的各項兼容性測試。表5.7兼容性測試用例表測試項測試內容測試環境預期結果實際結果是否通過瀏覽器兼容性測試系統在不同瀏覽器中各項功能和界面的兼容性ChromeEdge在各個瀏覽器中,系統應該能夠正常運行,各項功能和界面都應該能夠正確顯示和響應用戶操作正常運行通過數據庫兼容性測試數據庫升級后,現有數據是否正確遷移并保持一直;測試在不同數據庫環境下性能表現MySQLSQLServer數據庫升級后,現有數據成功遷移并保持一直;在不同數據庫環境下性能因使用場景和具體配置有所不同正常運行通過操作系統兼容性測試系統在不同操作系統上的部署和運行情況WindowsLinux在Windows、Linux操作系統中系統部署、運行成功正常運行通過Java版本兼容性測試系統在不同的Java版本上運行情況Java8Java11在Java8、Java11版本中系統都能成功運行正常運行通過Web容器兼容性測試系統在不同Web容器上的部署和運行情況TomcatJetty在Tomcat、JettyWeb容器上部署成功、啟動關閉正常、運行正常正常運行通過5.4測試結論“牛奶之家”管理系統的測試案例已完成,涵蓋了用戶的登錄模塊、牛奶信息管理模塊、通知公告管理模塊、收支信息管理模塊、訂單信息模塊的功能測試。在此過程里,發現了很多潛在的問題并對之加以修正。經由多輪次的重復試驗,該系統能夠順利運作且無任何問題。當然隨著時間的推移,將持續優化其性能。6總結與展望6.1總結隨著人們對健康生活方式的追求和生活水平的提高,牛奶銷售行業面臨著新的機遇和挑戰。為了滿足消費者需求并提升銷售效率,牛奶銷售管理系統應運而生。“牛奶之家”管理系統的開發以Java編程語言為基礎,采取了SSM框架,系統的整體架構為B/S,數據庫為MySQL8.0.,Java版本為1.8,服務器為Tomcat7等。在本文中詳細分析了“牛奶之家”管理系統的選題背景、需求分析、系統設計等內容。該系統已實現牛奶銷售管理系統所需要的基本功能,通過多次反復測試優化完善,提高了系統的整體的實用性、易用性,各項功能都能成功運行,“牛奶之家”管理系統的設計與實現均已完成。6.2展望雖然本系統實現了牛奶銷售管理系統所需要的基本功能,但是并沒有做到十分成功。在未來的研究中,更加關注用戶的體驗,可以加入手機版的訪問界面和優化前端界面交互,。在數據方面,學習并整合大數據技術,可以實時數據分析以及只能決策,優化業務的流程。強化系統的安全性,整合更安全的身份認證等,以及對系統的優化,如模塊化開發、更加靈活的部署和管理等。整體而言,“牛奶之家”管理系統將在技術創新、功能創新、系統優化、用戶體驗等方面迎接更多的挑戰,讓“牛奶之家”管理系統不再那么普通。參考文獻伊偉.倉儲與配送管理課程思政教學實踐與應用研究[J].化纖與紡織技術,2024,53(01):228-230.趙彩霞,張栽培,楊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論