Spring Boot的在線商城系統設計分析

前言:尋找寫作靈感?中文期刊網用心挑選的Spring Boot的在線商城系統設計分析,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

Spring Boot的在線商城系統設計分析

摘要:針對日益增長的在線購物需求,設計一款基于springboot在線商城系統,利用信息技術為商家及顧客的商品交易提供廣闊的網絡交易平臺。系統基于SpringBoot技術進行開發,設計用戶信息管理、商品信息管理、購物車管理、訂單信息管理、地址信息管理和評論信息管理等功能。商家可以使用系統進行商品的銷售,顧客可以使用系統進行商品的選購,系統管理員可以使用系統進行用戶信息的維護。能夠有效提高商品交易的便捷度,減少商品流通的中間環節,并節約交易成本。同時,通過SpringSecurity進行安全訪問控制,防止越權操作,確保系統的安全性。

關鍵詞:SpringBoot;SpringSecurity;在線商城

網上商城的興起和發展為人們提供了方便快捷的商品選購服務,與傳統的線下交易方式相比,在線交易具有諸多優勢。一方面是交易活動不受時間和空間的限制[1],客戶可以通過查看商品詳情及評價,快速了解商品的各種信息,享受隨時隨地線上下單,線下收貨服務。另一方面為商家和客戶提供了廣闊的市場交易平臺[2-3],提高了商品流通的效率,降低了商品交易的成本[4-6]。在線商城系統是網上交易平臺能夠正常運轉的基礎和支撐,通過靈活方便的交易方式、簡單明了的操作界面、完善安全的后臺管理來滿足消費者多樣化的購物需求,提升商品交易管理效率[7]。因此研究并設計一款架構合理、功能完善的在線商城系統具有較大的社會價值和意義。本文設計了一個基于SpringBoot的在線商城系統,商家可以使用系統進行商品信息以及訂單信息的管理,顧客可以使用系統方便快捷地進行商品的選購,并使用購物車收藏自己喜歡的商品。系統管理員可以使用系統對商家及顧客等用戶信息進行維護。

1需求分析

1.1可行性分析

1.1.1社會可行性

隨著互聯網技術的發展,特別是移動互聯網技術的發展,在線購物已經日益成為人們主流的購物方式。經過將近三十年的發展,我國在線交易份額已經占據較大規模,在線購物行業已進入穩定、健康、可持續的發展行列。而生活節奏的加快使得人們迫切地希望及時通過碎片化的時間也能購買到自己所稱心如意的商品,因此相比于傳統的購物方式,在線購物方式更受人們(特別是年輕顧客)的青睞。相比于傳統購物方式的耗時耗力,在線購物方式十分方便快捷,用戶只需要打開手機或電腦,即可在線了解商品的相關特性,并通過評論信息獲取其他用戶的購買體驗。在線購物不受時間地點的限制,用戶可以隨時隨地享受在線下單、線下收貨的服務。其次,在線購物方式為用戶商家提供了廣闊的交易平臺,顧客可以瀏覽來自全國甚至全世界琳瑯滿目的商品,大大增加了購物的可選擇范圍;商家也可以通過網絡增加規模龐大的客源。最后,在線購物打破了商家和顧客之間的壁壘,減少了商品流通過程的中間環節,節約了交易成本,實現了顧客和商家的雙贏。在線商品交易具有廣闊的前景,因此研究并設計一款架構合理、功能完善的在線商城系統具有較大的社會價值和意義。

1.1.2技術可行性

本系統采用B/S架構,用戶在使用本系統時無須安裝客戶端軟件,只需要通過瀏覽器即可進行訪問。系統運用MVC開發模式,實現前后端分離。其中后端以Java作為開發語言,由于Java具有高度的可移植性,因此系統可以部署在任意操作系統的服務器上。以SpringBoot+MyBatis作為開發框架,采用MySQL數據庫技術來進行數據的存儲,并使用Maven來進行系統資源的管理和項目的構建,采用GIT進行代碼版本控制;前端采用Bootstrap+jQuery作為開發框架,并使用AJAX技術來和后端進行數據的交互。以上技術都是當前成熟且主流的技術,因此采用上述技術進行設計開發在線商城系統是可行的。

1.2功能需求分析

系統總體包含6個部分的功能,分別為用戶信息管理、商品信息管理、購物車管理、訂單信息管理、地址信息管理和評論信息管理。其中管理員具有用戶信息管理的功能,包含了對顧客及商家的管理;商家具有商品信息管理、訂單信息管理、評論信息管理等功能;顧客具有商品信息管理、購物車管理、訂單信息管理、地址信息管理、評論信息管理等功能。

1.3性能需求

1.3.1安全需求

為了保障系統安全性,特定的操作必須登錄之后才能進行。顧客、商家和管理員在登錄之前只能瀏覽商品信息和查看評論信息,不能進行其他操作。不同角色的用戶登錄系統后,會進入到不同的頁面,執行不同的操作。為了保證系統運行的安全性,防止越權訪問和惡意操作,需要建立基于角色的訪問控制(RBAC)策略。根據上文1.2所示的功能需求為管理員、商家和顧客三個不同的角色賦予不同的權限。當用戶登錄系統后,針對其發起的每一個操作,系統首先會判斷當前用戶所對應的角色是否具有指定的操作權限,若該用戶具有對應的操作權限,則允許當前操作執行;否則禁止當前用戶執行該操作,并強制當前用戶退出系統。

1.3.2實時性

要求系統保證一定的響應速度,不至于讓用戶在操作時等待過長時間,以便讓用戶具有良好的購物體驗。如在進行商品信息搜索、查看商品詳情及評論信息、在購物車中添加商品、編輯地址信息以及創建訂單的響應時間不能超過3s,支付的響應時間不可以超過7s。

1.3.3可擴展性

隨著時間的推移,系統往往會伴隨著業務需求的變動。而如果對系統進行重新設計開發則容易造成人力物力資源的浪費,因此往往會在原系統的基礎上進行升級。為了保證能夠順利完成更新升級,系統必須要具有良好的可擴展性。首先系統在設計時需要采用MVC模式,實現系統的業務邏輯層、數據層和表現層相分離,使得當某一層級發生改變時,其他層級不發生變動或者變動較小;其次遵循“高內聚、低耦合”的思路,對系統功能進行模塊化設計,保持各個模塊之間的相對獨立性,當一個模塊發生異常時,其他模塊仍然可以正常使用,并且在維護時還可以快速定位到異常發生的位置。最后在開發時必須嚴格按照標準化要求進行文檔和代碼的編寫,充分考慮將來系統擴展的需求,預留好相應的接口和方法。

2系統功能設計與實現

2.1系統功能設計

2.1.1用戶信息管理模塊設計

系統的用戶一共包含三種類型,分別是管理員、商家和顧客,通過給用戶設置不同的角色編碼來進行角色的區分。管理員賬戶由系統擁有者在數據庫中直接創建,并賦予其角色編碼ADMIN,使其具有管理員角色,管理員賬戶可以有多個;顧客需要通過注冊才能成為系統用戶,注冊完成后,系統為其賦予角色編碼CUSTOMER;商家由管理員添加后成為系統用戶,添加成功后,系統為其賦予角色編碼MERCHENT。管理員登錄系統后可進行顧客和商家信息的維護。顧客信息維護包括查詢顧客信息和凍結/解凍顧客信息等功能。商家信息維護則包括添加商家信息、修改商家信息、查詢商家信息、刪除商家信息、凍結/解凍商家信息等功能。為了更好地保障系統用戶權益,對于存在違規操作的商家或顧客,管理員可以對其賬戶進行凍結。用戶被凍結后,將無法使用系統,直至解凍后方可繼續使用系統。

2.1.2商品信息管理模塊設計

商家登錄系統后,可以對商品信息進行維護,包括添加商品信息、查詢商品信息、修改商品信息、刪除商品信息、商品上架、商品下架等功能。顧客具有查看商品信息的功能,包括搜索商品信息、查看商品詳情。商家可以添加多種商品信息以便進行發售,商家編輯好商品信息后,可以將商品上架。上架后,該商品即可被顧客搜索并購買。對于已經不再售賣的商品,商家可以選擇將其下架,下架后的商品將不會被顧客搜索到,且不能被顧客購買。

2.1.3購物車管理模塊設計

為了方便顧客選購商品,系統允許顧客將心儀的商品收藏到購物車中進行暫存,購物車中包含了商品及其收藏數量信息,收藏的數量不能超過該商品的庫存量。顧客只有在登錄成功的情況下,才可以對購物車進行管理,包括添加商品到購物車、修改購物車中的商品數量、查詢購物車中的商品信息、將商品從購物車中刪除等操作。如果顧客首次將某商品添加到購物車,則直接在購物車中添加該商品,并設置數量默認為1。如果顧客再次添加該商品,則直接在購物車中,將該商品數量加1。顧客還可以選中購物中的若干商品直接下單。

2.1.4訂單信息管理模塊設計

顧客和商家都具有訂單管理的相關功能。顧客登錄系統后,具有創建訂單、查詢訂單信息、刪除訂單信息等功能。訂單的創建有兩種方式,第一種是顧客通過選擇購物車中的商品信息來創建訂單,另一種方式是顧客通過直接在商品列表中選擇某個商品創建訂單。此外,顧客在創建訂單時,還需要選擇收貨地址,訂單創建后,訂單中會保存收貨地址的副本,確保即使后續用戶地址發生修改時,也不會對已提交的訂單造成影響。每一個訂單可以包含多個訂單項,每一個訂單項對應一個商品及其數量,訂單項中還會保存商品的詳細信息作為快照,快照將作為商家和顧客發生糾紛時的重要評判依據,即使后續商家對商品進行修改,也不會對已提交的訂單造成影響。商家登錄系統后,具有查詢訂單信息及發貨的功能。顧客提交完訂單后,商家即可在系統中看到對應的訂單信息,待客戶支付完成后,商家即可進行發貨。

2.1.5地址信息管理模塊設計

地址信息為顧客訂單的收貨地址,為了讓訂單順利地派送到指定位置,顧客還需進行地址信息的維護,顧客登錄系統后可以進行新增地址信息、修改地址信息、查詢地址信息、刪除地址信息等操作。地址信息中包含了收件人的詳細地址、收件人姓名以及電話等信息。

2.1.6評論信息管理

評論信息可以讓顧客更方便快捷地了解其他用戶購買該商品后的用戶體驗,以便給其他顧客提供參考,使人們對商品的了解更加全方位、立體。顧客和商家都可以查看商品的所有評論信息。此外,顧客還具有創建評論的功能,顧客購買商品之后,可以對商品進行評論。

2.2安全性能設計

2.2.1用戶登錄控制

用戶在未登錄的情況下只能瀏覽商品和評論信息,無權執行任何其他操作。當用戶要完成其他操作時,系統將強制跳轉到登錄頁面,提示用戶輸入賬戶密碼進行登錄。同時為了防止密碼泄露,系統還采用SHA-256哈希算法對數據庫中的密碼進行加密。

2.2.2用戶操作權限控制

為了提高系統運行的安全性,需要對用戶的操作進行權限控制。系統采用RBAC訪問控制策略,并使用SpringSecurity進行安全訪問控制,防止越權操作。如前2.1所述,本系統中,數據庫中用戶表結構中每個用戶都有一個角色編碼,用于標識用戶的角色信息。同時數據庫中還存在一個角色權限關聯表,包含了角色與操作權限的對應關系,當用戶登錄成功后,系統將根據用戶角色,從數據庫的角色權限關聯表中讀取用戶的所有操作權限信息。當用戶發出執行某項操作的請求時,系統將首先根據用戶的操作內容,獲取執行該操作所需要的權限,并判斷用戶已有的權限集合中是否包含該操作權限,若包含對應的操作權限,則允許用戶進行當前操作,反之則禁止用戶執行當前操作,并強制當前用戶退出系統。

2.3數據庫設計

本系統采用開源的MySQL數據庫系統進行數據存儲,包含的數據表有收貨地址信息表、省市區信息表、評論信息表、商品信息表、訂單信息表、訂單詳情信息表、購物車信息表、用戶信息表、權限信息表等。各個數據表結構設計為:收貨地址信息表(地址id、所在省份id、所在市id、所在區/縣id、詳細地址、郵編、收件人姓名、收件電話、所屬用戶id、刪除標志位、創建人id、創建時間、修改人id、修改時間);省市區信息表(區域id、區域編碼、區域名稱、父區域id、刪除標志位、創建人id、創建時間、修改人id、修改時間);評論信息表(評論id、評論人id、商品id、所屬訂單id、評論類型、詳細評論信息、刪除標志位、創建人id、創建時間、修改人id、修改時間);商品信息表(商品id、商品名稱、商品類型、商品價格、商品庫存、圖片存儲路徑、商品描述信息、商品狀態、刪除標志位、創建人id、創建時間、修改人id、修改時間);訂單信息表(訂單id、訂單編號、客戶id、收貨地址詳情、訂單總金額、刪除標志位、創建人id、創建時間、修改人id、修改時間);訂單詳情信息表(訂單詳情id、訂單id、商品id、購買數量、商品名稱、商品類型、商品價格、商品圖片、商品描述、訂單詳情狀態、刪除標志位、創建人id、創建時間、修改人id、修改時間);購物車信息表(購物車id、用戶id、商品型號id、商品id、商品數量、刪除標志位、創建人id、創建時間、修改人id、修改時間);用戶信息表(用戶id、用戶名、密碼、昵稱、性別、聯系電話、郵箱、角色編碼、用戶狀態、刪除標志位、創建人id、創建時間、修改人id、修改時間);權限信息表(角色編碼、權限編碼)。

3結束語

本文設計了一款在線商城系統,能夠有效實現商家及顧客進行在線商品交易的需要,并能有效提高商品交易的便捷度,減少商品流通環節,并節約交易成本。同時通過SpringSecurity進行安全訪問控制,防止越權操作,確保系統的安全性。

作者:楊晟 羅奇 單位:湖南信息職業技術學院

亚洲精品一二三区-久久