基于Springboot的小型超市商品展销系统 计算机毕设源码01635
摘?要
科技進步的飛速發(fā)展引起人們?nèi)粘I畹木薮笞兓?#xff0c;電子信息技術的飛速發(fā)展使得電子信息技術的各個領域的應用水平得到普及和應用。信息時代的到來已成為不可阻擋的時尚潮流,人類發(fā)展的歷史正進入一個新時代。在現(xiàn)實運用中,應用軟件的工作規(guī)則和開發(fā)步驟,采用Springboot框架建設小型超市商品展銷系統(tǒng)。
本設計主要實現(xiàn)集人性化、高效率、便捷等優(yōu)點于一身的小型超市商品展銷系統(tǒng),完成用戶管理、商城中心管理、商品信息、商品購買管理、用戶留言等功能模塊。系統(tǒng)通過瀏覽器與服務器進行通信,實現(xiàn)數(shù)據(jù)的交互與變更。本系統(tǒng)通過科學的管理方式、便捷的服務提高了工作效率,減少了數(shù)據(jù)存儲上的錯誤和遺漏。小型超市商品展銷系統(tǒng)采用Spring boot框架、JSP技術、Ajax技術進行業(yè)務系統(tǒng)的編碼及其開發(fā),實現(xiàn)了本系統(tǒng)的全部功能。本次報告,首先分析了研究的背景、作用、意義,為研究工作的合理性打下了基礎。
關鍵詞:超市商品展銷;關系型數(shù)據(jù)庫;數(shù)據(jù)存儲
? ? ? ? ? ? ? ? ? ? ? ? ?Small Supermarket Commodity Exhibition System Based on Springboot
Abstract
The rapid development of science and technology has caused great changes in people's daily life. The rapid development of electronic information technology has made the application level of electronic information technology in all fields popular and applied. The arrival of the information age has become an irresistible fashion trend, and the history of human development is entering a new era. In practical application, the working rules and development steps of the application software are used to build a small supermarket commodity exhibition system using the Springboot framework.
This design mainly realizes the small supermarket commodity exhibition and sales system integrating the advantages of humanization, efficiency and convenience, and completes the user management, mall center management, commodity information, commodity purchase management, user message and other functional modules. The system communicates with the server through the browser to realize data interaction and change. The system improves work efficiency and reduces errors and omissions in data storage through scientific management and convenient services. The small supermarket commodity exhibition system uses Spring boot framework, JSP technology and Ajax technology to code and develop the business system, and realizes all the functions of the system. This report first analyzes the background, role and significance of the research, laying a foundation for the rationality of the research work.
Key words:Supermarket merchandise exhibition; Relational database; data storage
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?目 ?錄
第1章 緒論
1.1?研究意義
1.2?研究現(xiàn)狀
1.3?本文的組織結構
第2章 相關技術介紹
2.1?J2EE技術
2.2 MVVM模式
2.3 B/S結構
2.4 Springboot框架
2.5?Mysql數(shù)據(jù)庫
2.6?B/S體系工作原理
第3章 系統(tǒng)分析
3.1?可行性分析
3.1.1?技術可行性分析
3.1.2?經(jīng)濟可行性分析
3.1.3?操作可行性分析
3.2?功能需求分析
3.3?非功能需求分析
3.4?數(shù)據(jù)流程分析
第4章 系統(tǒng)設計
4.1?系統(tǒng)架構設計
4.2?系統(tǒng)功能結構
4.3?功能模塊設計
4.4?表單字段校驗處理設計
4.5?系統(tǒng)維護設計
4.6?數(shù)據(jù)庫設計
4.6.1?概念模型
4.6.2?數(shù)據(jù)表
第5章 系統(tǒng)實現(xiàn) 18
5.1?登錄模塊的實現(xiàn) 18
5.2?用戶子系統(tǒng)模塊的實現(xiàn) 19
5.3?管理員子系統(tǒng)模塊的實現(xiàn) 23
5.4?分頁模塊的實現(xiàn) 31
第6章 系統(tǒng)測試 32
6.1?測試目的 33
6.2?測試過程 34
6.3?測試結果 34
第7章 總結與展望 45
參考文獻 36
致謝 37
在我國超市形成在20世紀90年代,現(xiàn)在已經(jīng)成為我國零售業(yè)的一種重要形態(tài),為國民經(jīng)濟的發(fā)展發(fā)揮了重要作用。而小型超市由于商品的數(shù)量眾多,進銷存管理方面工作繁雜、資料多,這就迫切需要利用計算機的數(shù)據(jù)庫技術和網(wǎng)絡技術實現(xiàn)小型超市管理工作的自動化,以提高工作效率。
本小型超市商品展銷系統(tǒng)繼承了傳統(tǒng)超市管理系統(tǒng)的長處,彌補了傳統(tǒng)超市管理系統(tǒng)在網(wǎng)絡化服務方面的缺失,實現(xiàn)超市現(xiàn)代化、快捷、方便的管理。
隨著我國綜合國力的不斷提升,我國的計算機和信息技術已經(jīng)逐漸和世界水品接軌。但是,還有一部分國內(nèi)市場小型超市,它們在信息化過程中的步伐要落后于大中型超市,但它們對于自身的資源管理,信息儲存以及數(shù)據(jù)處理也是迫切需要的,要適應市場翻爭環(huán)境就要有高效的管理方法,因此超市的信息化進程是必不可少的方法。
國外超市零售業(yè)管理信息化相對國內(nèi)要高很多,在經(jīng)濟發(fā)達國家,計算機管理信息技術已經(jīng)滲入到各行各業(yè),包括超市行業(yè)。美國沃爾瑪早在上世紀70年代就為總部和分部引入了計算機管理,80年代為各個連鎖店實施了各種信息管理系統(tǒng),使其進貨、倉儲、配送、供應等實現(xiàn)了快速可靠、及時準確的信息化管理,讓它在40年時間里從一家小小的單體折扣店發(fā)展成為世界性的零售業(yè)巨無霸,沃爾瑪?shù)陌l(fā)展模式有很多地方是值得我國中小超市值得借鑒的地方的。
國內(nèi)零售市場的開放進程驟然加快,超市的競爭也會越來越激烈,與外資企業(yè)相比較,國內(nèi)超市從總體上還處于明顯的弱勢地位。現(xiàn)在國內(nèi)各地的超市數(shù)量越來越多,一方面向規(guī)模大,品種全發(fā)展,另一方面,中小型社區(qū)超市的發(fā)展也呈上升勢頭。我過目前的中小型超市目前屬于發(fā)展的初級階段,商品的品牌和質(zhì)量,企業(yè)的管理水平和經(jīng)營模式與發(fā)達國家相比仍然很落后。我國70%的中小型招市都采用了電子收款機,但還沒建立起宗整的商品管理系統(tǒng)。在進行企業(yè)管理時,很多企業(yè)還停留在筆紙管理時代的方式,有些超市雖然配備了電腦,但還沒形成系統(tǒng)性的管理,這是制約我國中小型超市的管理水平的原因之一。
第一章是緒論,本文章的開頭部分,對本題目的研究背景和研究意義等一些做文字性的描述。
第二章研究了小型超市商品展銷系統(tǒng)的所采用的開發(fā)技術和開發(fā)工具。
第三章是系統(tǒng)分析部分,包括系統(tǒng)總體需求描述、功能性角度分析系統(tǒng)需求、非功能性等各個方面分析系統(tǒng)是否可以實現(xiàn)。
第四章是系統(tǒng)設計部分,本文章的重要部分,提供了系統(tǒng)架構的詳細設計和一些主要功能模塊的設計說明。
第五章是系統(tǒng)的具體實現(xiàn),介紹系統(tǒng)的各個模塊的具體實現(xiàn)。
第六章在前幾章的基礎上對系統(tǒng)進行測試和運行。
最后對系統(tǒng)進行了認真的總結,以此對未來有一個新的展望。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 相關技術介紹
人可以掌握多門外語,而一個計算機科學家精通的大多是編程語言,它不是人類的自然語言,比如C語言、Java、Perl等等。由于不同的公司開發(fā)出的“中間件”不夠規(guī)范,所以Sun公司推出J2EE,用這個標準來解決弊病。它提供了良好的機制,讓每個層次允許與之相對的服務器、組件運行,使得系統(tǒng)的搭建穩(wěn)定可用、開發(fā)高效、維護方便。
MVVM模式是常用的開發(fā)模式,主要是在代碼實現(xiàn)上將其分為M層、V層和C層。
視圖(View)代表用戶交互界面,一個 Web 應用就可能有很多的界面,在 MVVM?模式中,視圖僅僅處理的只有數(shù)據(jù)采集、處理,還有用戶的請求, 并不包括業(yè)務流程的處理,業(yè)務流程由模型(Model)來處理。
模型(Model)就是業(yè)務流程/狀態(tài)的處理及業(yè)務規(guī)則的制定。模型處理業(yè)務流程的過程其它層是無法看見了的,它就像黑箱子,在接受視圖請求的數(shù)據(jù)之后,然后返回最終的處理結果。MVVM?最主要的核心就是業(yè)務模型的設計,一個典型的應用例子就是目前流行的 EJB 模型,它從應用技術實現(xiàn)的角度對模型做了進一步的劃分,以便充分利用現(xiàn)有的組件,但是它不能作為應用設計模型的框架。
控制器(Controller)可以理解為接收用戶的請求,然后視圖和模型匹配在一起,一起再完成用戶請求。它有非常明顯的作用在劃分控制層上,可以很清晰地告訴你,它就是一個分發(fā)器,選擇什么樣的模型、視圖,可以完成用戶的什么樣的請求。控制層不做所有的數(shù)據(jù)處理,比如說:用戶點擊一個連接,控制層接受到請求之后,并不處理業(yè)務信息,它只是向模型傳遞用戶的信息,同時告訴模型做什么,然后選擇符合需求的視圖返回給用戶。
B/S(Browser/Server)比前身架構更為省事的架構。它借助Web server完成數(shù)據(jù)的傳遞交流。只需要下載瀏覽器作為客戶端,那么工作就達到“瘦身”效果, 不需要考慮不停裝軟件的問題。
Spring框架是Java平臺上的一種開源應用框架,提供具有控制反轉特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補充,甚至是替補。Spring框架為開發(fā)提供了一系列的解決方案,比如利用控制反轉的核心特性,并通過依賴注入實現(xiàn)控制反轉來實現(xiàn)管理對象生命周期容器化,利用面向切面編程進行聲明式的事務管理,整合多種持久化技術管理數(shù)據(jù)訪問,提供大量優(yōu)秀的Web框架方便開發(fā)等等。Spring框架具有控制反轉(IOC)特性,IOC旨在方便項目維護和測試,它提供了一種通過Java的反射機制對Java對象進行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發(fā)者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時運行時可配置;AOP框架主要針對模塊之間的交叉關注點進行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務管理、遠程訪問等功能均可以通過使用SpringAOP技術實現(xiàn)。Spring的事務管理框架為Java平臺帶來了一種抽象機制,使本地和全局事務以及嵌套事務能夠與保存點一起工作,并且?guī)缀蹩梢栽贘ava平臺的任何環(huán)境中工作。Spring集成多種事務模板,系統(tǒng)可以通過事務模板、XML或Java注解進行事務配置,并且事務框架集成了消息傳遞和緩存等功能。Spring的數(shù)據(jù)訪問框架解決了開發(fā)人員在應用程序中使用數(shù)據(jù)庫時遇到的常見困難。它不僅對Java:JDBC、iBATS/MyBATIs、Hibernate、Java數(shù)據(jù)對象(JDO)、ApacheOJB和ApacheCayne等所有流行的數(shù)據(jù)訪問框架中提供支持,同時還可以與Spring的事務管理一起使用,為數(shù)據(jù)訪問提供了靈活的抽象。Spring框架最初是沒有打算構建一個自己的WebMVC框架,其開發(fā)人員在開發(fā)過程中認為現(xiàn)有的StrutsWeb框架的呈現(xiàn)層和請求處理層之間以及請求處理層和模型之間的分離不夠,于是創(chuàng)建了SpringMVC。
Mysql 經(jīng)過多次的更新,功能層面已經(jīng)非常的豐富和完善了,從Mysql4版本到5版本進行了比較大的更新,在商業(yè)的實際使用中取得了很好的實際應用效果。最新版本的Mysql支持對信息的壓縮,同時還能進行加密能更好的滿足對信息安全性的需求。同時經(jīng)過系統(tǒng)的多次更新,數(shù)據(jù)庫自身的鏡像功能也得到了很大的增強,運行的流暢度和易用性方面有了不小的進步,驅動的使用和創(chuàng)建也更加的高效快捷。最大的變動還是進行了空間信息的顯示優(yōu)化,能更加方便的在應用地圖上進行坐標的標注和運算。強大的備份功能也保證了用戶使用的過程會更加安心,同時支持的Office特性還支持用戶的自行安裝和使用。在信息的顯示形式上也進行了不小的更新,增加了兩個非常使用的顯示區(qū),一個是信息區(qū),對表格和文字進行了分類處理,界面的顯示更加清爽和具體。第二是儀表的信息控件,能在儀表信息區(qū)進行信息的顯示,同時還能進行多個信息的比對,為用戶的實際使用帶來了很大的便捷。
針對本文中設計的小型超市商品展銷系統(tǒng)在實際的實現(xiàn)過程中,最終選擇Mysql數(shù)據(jù)庫的主要原因在于在企業(yè)的應用系統(tǒng)應用及開發(fā)的過程中會存在大量的數(shù)據(jù)庫比較頻繁的操作,而且數(shù)據(jù)的安全性要求也是非常的高。綜合這些因素,最終選擇安全性系數(shù)比較高的Mysql來對小型超市商品展銷系統(tǒng)后臺數(shù)據(jù)進行存儲操作。
2.6 B/S體系工作原理:
B/S架構采取瀏覽器請求,服務器響應的工作模式。
用戶可以通過瀏覽器去訪問Internet上由Web服務器產(chǎn)生的文本、數(shù)據(jù)、圖片、動畫、視頻點播和聲音等信息;
而每一個Web服務器又可以通過各種方式與數(shù)據(jù)庫服務器連接,大量的數(shù)據(jù)實際存放在數(shù)據(jù)庫服務器中;
從Web服務器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數(shù)據(jù)庫有關的指令,由Web服務器交給數(shù)據(jù)庫服務器來解釋執(zhí)行,并返回給Web服務器,Web服務器又返回給用戶。在這種結構中,將許許多多的網(wǎng)連接到一塊,形成一個巨大的網(wǎng),即全球網(wǎng)。而各個企業(yè)可以在此結構的基礎上建立自己的Internet。
在 B/S 模式中,用戶是通過瀏覽器針對許多分布于網(wǎng)絡上的服務器進行請求訪問的,瀏覽器的請求通過服務器進行處理,并將處理結果以及相應的信息返回給瀏覽器,其他的數(shù)據(jù)加工、請求全部都是由Web Server完成的。通過該框架結構以及植入于操作系統(tǒng)內(nèi)部的瀏覽器,該結構已經(jīng)成為了當今軟件應用的主流結構模式。
開發(fā)任何一個系統(tǒng),都要對其可行性進行分析,對其時間和資源上的限制進行考慮,這樣可以減少系統(tǒng)開發(fā)的風險。同時,分析之后不僅能夠合理的運用人力,還能在各方面資源的消耗上得到節(jié)省。下面就對技術、經(jīng)濟和社會三個方面來介紹。
實用性方面,本次設計的主要任務是在小型超市商品展銷系統(tǒng)實現(xiàn)用戶管理、商城中心管理、商品信息、商品購買管理、用戶留言功能等,符合當前潮流的發(fā)展。從用戶角度出發(fā),同時也考慮系統(tǒng)運營成本和人力資源,采用網(wǎng)絡上的便捷方式,實現(xiàn)線上業(yè)務,使得業(yè)務流程更系統(tǒng),也更方便用戶的體驗,比較實用。
經(jīng)濟性方面,由于本課題中設計的超市管理的主要目的是為了能夠更加方便及快捷的進行超市商品信息管理及檢索服務,也就是能夠可以直接投入使用的信息化軟件。系統(tǒng)的主要成本主要是集中在對使用數(shù)據(jù)后期繼續(xù)維護及其管理更新這個操作上。但是一旦系統(tǒng)投入到實際的運行及使用之后就能夠很好的提高信息查詢檢索的效率,同時也需要有效的保證查詢者的信息方面的安全性,同時這個超市管理與系統(tǒng)所帶來的實際應用方面的價值是遠遠的超過了實際系統(tǒng)進行開發(fā)與維護方面的成本,因此,從經(jīng)濟上來說開發(fā)這個軟件是可行的。
所謂的技術可行性就是在限定時間,前期擬定的功能能否被滿足。在開發(fā)設計上是否會遇上解決不了的問題。做完的項目能否被很好地應用,如果存在缺點在后期的維護上是否存在很大的難度。在對這個系統(tǒng)評估后,認定已存在的技術能達成目標。用JSP技術來實現(xiàn)動態(tài)的頁面,嵌入低依賴性的設計模式,靈活的數(shù)據(jù)庫,配合穩(wěn)定的服務器,整個系統(tǒng)的運行效率大大提升。由此可見,在技術層面達成目標不是非非之想。
在項目上使用的工具大部分都是是當下流行開源免費的,所以在開發(fā)前期,開發(fā)時用于項目的經(jīng)費將會大大降低,不會讓開發(fā)該軟件在項目啟動期受到經(jīng)費的影響,所以經(jīng)濟上還是可行的。盡量用最少的花費去滿足用戶的需求。省下經(jīng)費用于人工費,以及設備費用。將在無紙化,高效率的道路上越走越遠。
本系統(tǒng)實現(xiàn)功能的操作很簡單,普通電腦的常見配置就可以運行本軟件,并且只要粗通電腦使用的基本常識就可以流暢的使用本軟件。電腦具備連接互聯(lián)網(wǎng)的能力,并且可以正常訪問系統(tǒng),并不需要操作者有什么高超的能力,只需了解業(yè)務流程,并且按照專業(yè)知識進行正確操作即可,所以小型超市商品展銷系統(tǒng)具備操作可行性。
在系統(tǒng)開發(fā)設計前,應該對功能做初步設想,清楚這個管理系統(tǒng)有什么板塊,每個板塊有什么功能,整體的設計是否滿足使用者的需求,接著對所開發(fā)的系統(tǒng)功能進行的詳細分析總結,從而設計出完整的系統(tǒng)并將其實現(xiàn)。用戶和開發(fā)人員的交流分析,使其達到最佳理解程度,使系統(tǒng)功能達到最佳。
管理員用例圖如下所示。
圖3-1?管理員用例圖
用戶用例圖如下所示。
圖3-2?用戶用例圖
用例描述是對用例圖的各功能模塊最好的理解和需求的描述的一種文字性說明,用例描述如下:
表3-1 登錄描述
| 描述項 | 說明 |
| 用例名稱 | 登錄 |
| 用例描述 | 在使用者輸入正確輸入用戶名和密碼的條件下,才能登入系統(tǒng)繼續(xù)后面的操作 |
| 參與者 | 使用者 |
| 前置條件 | 用戶正確輸入URL |
| 后置條件 | 用戶登錄,成功跳轉至主界面 |
| 主事件流 | 使用者輸入相應的用戶名和密碼 如果用戶名不存在,則需要去注冊 如果密碼或者用戶名錯誤,登錄失敗 如果輸入的用戶名和密碼正確,則進入平臺主界面 |
| 異常事件流 | e1.網(wǎng)絡異常 e2.數(shù)據(jù)庫連接異常 |
表3-2 商城中心管理描述
| 描述項 | 說明 |
| 用例名稱 | 商城中心操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,對商城中心進行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員登錄成功并跳轉到后臺主界面 |
| 后置條件 | 操作成功 |
| 主事件流 | 管理員跳轉商城中心管理頁面,查詢商城中心詳情的信息 管理員可以刪除商城中心信息 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
表3-3 商品管理描述
| 描述項 | 說明 |
| 用例名稱 | 商品操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,對商品模塊進行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員成功登錄 |
| 后置條件 | 操作成功 |
| 主事件流 | (1)管理員進入商品管理頁面,查詢商品的信息 (2)管理員可以對商品進行增刪除和編輯商品操作 (3)管理員新增商品,添加成功跳轉到查詢頁面 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
表3-4 訂單列表管理描述
| 描述項 | 說明 |
| 用例名稱 | 訂單列表操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,訂單列表模塊進行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員成功登錄 |
| 后置條件 | 操作成功 |
| 主事件流 | (1)管理員進入訂單列表管理頁面,查詢訂單列表內(nèi)容的信息 (2)管理員可以對訂單列表進行刪除操作 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
表3-5 用戶留言管理描述
| 描述項 | 說明 |
| 用例名稱 | 倉庫操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,對用戶留言模塊進行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員成功登錄 |
| 后置條件 | 操作成功 |
| 主事件流 | (1)管理員進入用戶留言管理頁面,查詢留言信息 (2)管理員可以對用戶留言進行增刪除以及回復操作 (3)管理員查看用戶留言,添加成功跳轉到查詢頁面 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
表3-6 用戶管理描述
| 描述項 | 說明 |
| 用例名稱 | 用戶操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,用戶模塊進行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員成功登錄 |
| 后置條件 | 操作成功 |
| 主事件流 | (1)管理員進入用戶管理頁面,查詢用戶內(nèi)容的信息 (2)管理員可以對用戶進行刪除操作 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
小型超市商品展銷系統(tǒng)在對需求做解析后,整個系統(tǒng)主要分為兩個部分:管理員和用戶,每個模塊下的分支功能不一樣。對功能做出如下說明:
員工模塊:
賬號登錄認證。
管理個人資料信息,修改可修改的信息項。
公告瀏覽,員工可以瀏覽到超市管理層發(fā)出的通知公告,知道重要的通知。
商城中心管理,同時查看商城中心。
用戶模塊:
賬號登錄認證。
管理個人資料信息,修改可修改的信息項。
商品訂單,同時查看歷史已訂購商品的記錄。
商城中心,同時查看商城中心的商品信息。
管理員模塊:
維護員工信息,審核員工的賬號,可以凍結員工的登錄權限,或者刪除員工賬號。
發(fā)布商品,并可以銷毀某個商品,更新商品數(shù)據(jù),模糊搜索商品數(shù)據(jù)等。
發(fā)布用戶,并可以銷毀某個用戶,更新用戶數(shù)據(jù),模糊搜索用戶數(shù)據(jù)等。
商品訂單管理數(shù)據(jù)。
系統(tǒng)維護管理數(shù)據(jù)。
系統(tǒng)非功能需求有非常多,比如性能需求、可承載最大用戶數(shù)、穩(wěn)定性、易用性需求等。本系統(tǒng)分析時考慮到易用性需求,因為系統(tǒng)是給人使用的,所以必須充分從用戶的角度出發(fā),考慮用戶體驗,使系統(tǒng)易理解易上手易操作。
一層數(shù)據(jù)流程圖包括了登錄、用戶功能和檢索維護等模塊,在登錄模塊使用到的數(shù)據(jù)存儲有用戶賬戶文檔,用戶功能模塊需要的存儲是用戶各功能模塊數(shù)據(jù)文檔,檢索維護是使用以上這些數(shù)據(jù)文檔通過關鍵詞進行檢索。
系統(tǒng)的一層數(shù)據(jù)流圖如下圖所示。
圖3-2系統(tǒng)數(shù)據(jù)流圖(一層)
二層數(shù)據(jù)流程是對一層數(shù)據(jù)流層圖中填寫登錄信息、用戶功能的細化。即:填寫登錄信息細化為填制信息、后臺審核,用戶功能細化為商品查詢、商品購買、公告查詢、用戶留言等操作。
目前B/S體系的系統(tǒng)主要的數(shù)據(jù)訪問方式是:通過瀏覽器頁面用戶可以進入系統(tǒng),系統(tǒng)可以自動對用戶向服務器發(fā)送的請求進行處理,處理請求是在系統(tǒng)后臺中進行的,用戶在瀏覽器頁面上進行相應操作,就能夠看到服務端傳遞的處理結果。小型超市商品展銷系統(tǒng)主要分為視圖-模型-控制三層架構設計。在視圖層中,主要是操作在服務器端向用戶端反饋并顯示的數(shù)據(jù),在模型層中,主要處理相關的業(yè)務邏輯、數(shù)據(jù)整合等,最后的控制層它介于視圖和模型之間,主要是調(diào)整兩層之間的關系,最終落實數(shù)據(jù)的傳遞。
系統(tǒng)架構圖如下圖所示。
圖4-1系統(tǒng)架構圖
系統(tǒng)設計的目的是分析系統(tǒng)包括的所有功能結構,為開發(fā)人員設計開發(fā)和實現(xiàn)系統(tǒng)做好準備工作。經(jīng)過前期的需求調(diào)查、分析和整理之后,確定的總體需求主要包括多個模塊。
系統(tǒng)功能結構圖如下圖所示。
圖4-2系統(tǒng)功能結構圖
用戶管理模塊
該模塊是為所有用戶登錄設計的,如員工登錄后只能進行自己的普通功能操作(如個人信息修改),管理員和超級管理員登錄后有不同的權限,管理員不能超越權限。超級管理員能對整個系統(tǒng)的數(shù)據(jù)進行管理,主要是用戶的登錄權限以及用戶登錄后在系統(tǒng)里的操作權限。
商品訂單模塊
員工和商品存在預定關系,關系為一對多,根據(jù)商品編號來將商品數(shù)據(jù)傳入到訂單數(shù)據(jù)中,操作人為員工,然后生成訂單列表,員工查看個人歷史訂單列表,可以進行數(shù)據(jù)銷毀。
商品維護模塊
操作人來錄入商品數(shù)據(jù),點擊商品錄入按鈕,依次填寫要錄入的商品數(shù)據(jù),點擊提交按鈕,將數(shù)據(jù)提交至數(shù)據(jù)庫,然后刷新商品數(shù)據(jù)頁面,每條數(shù)據(jù)右邊有刪除和編輯按鈕,來完成相應的刪除和更新功能。
用戶維護模塊
操作人來錄入用戶數(shù)據(jù),點擊用戶錄入按鈕,依次填寫要錄入的用戶數(shù)據(jù),點擊提交按鈕,將數(shù)據(jù)提交至數(shù)據(jù)庫,然后刷新用戶數(shù)據(jù)頁面,每條數(shù)據(jù)右邊有刪除和編輯按鈕,來完成相應的刪除和更新功能。
公告維護模塊
管理員點擊公告管理菜單,點擊公告添加子菜單,添加公告數(shù)據(jù),填寫標題、內(nèi)容、類別、圖片,提交成功后,公告數(shù)據(jù)頁面刷新,新數(shù)據(jù)成功載入頁面。
1.出錯信息類型
出錯信息類型包括:
A 未輸入必填項;
B 應輸入合法字符或數(shù)字卻輸入非法字符或數(shù)字;
C 對空數(shù)據(jù)表進行更改或刪除操作;
D 向要求唯一值的關鍵字段添加重復值。
2.出錯處理對策
對于錯誤A,系統(tǒng)要求用戶輸入非空值。
對于錯誤B,系統(tǒng)要求用戶輸入合法字符。
對于錯誤C,系統(tǒng)提示數(shù)據(jù)表無記錄可更改或刪除。
對于錯誤D,系統(tǒng)要求用戶輸入非重復值。
小型超市商品展銷系統(tǒng)是個現(xiàn)代化的高度集成的綜合信息系統(tǒng),系統(tǒng)主要服務對象為用戶,最大化在頁面中提供多的信息,因此在系統(tǒng)維護上,數(shù)據(jù)量較大,整體的維護設計如下:
(1)代碼的維護:部署在云服務器上或本地服務器,通過SVN或FTP保持版本更新迭代。
(2)功能增加:功能升級在必要的前提下。
(3)數(shù)據(jù)維護:根據(jù)安全性等需求,定期對數(shù)據(jù)庫進行人工備份。
對于一個要開發(fā)的系統(tǒng)來說,E-R圖可以讓別人能更快更輕松的了解此系統(tǒng)的事務及它們之間的關系。根據(jù)系統(tǒng)分析階段所得出的結論確定了在小型超市商品展銷系統(tǒng)中存在著多個實體分別是用用戶、管理員、商品、訂單、用戶留言。
系統(tǒng)總體ER圖如下圖所示。
圖4-4系統(tǒng)總體ER圖
數(shù)據(jù)庫邏輯結構就是將E-R圖在數(shù)據(jù)庫中用具體的字段進行描述。用字段和數(shù)據(jù)類型描述來使對象特征實體化,最后形成具有一定邏輯關系的數(shù)據(jù)庫表結構。小型超市商品展銷系統(tǒng)所需要的部分數(shù)據(jù)結構表如下表所示。
表cart (購物車)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | cart_id | int | 10 | 0 | N | Y | 購物車ID: | |
| 2 | title | varchar | 64 | 0 | Y | N | 標題: | |
| 3 | img | varchar | 255 | 0 | N | N | 0 | 圖片: |
| 4 | user_id | int | 10 | 0 | N | N | 0 | 用戶ID: |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
| 7 | state | int | 10 | 0 | N | N | 0 | 狀態(tài):使用中,已失效 |
| 8 | price | double | 9 | 2 | N | N | 0.00 | 單價: |
| 9 | price_ago | double | 9 | 2 | N | N | 0.00 | 原價: |
| 10 | price_count | double | 11 | 2 | N | N | 0.00 | 總價: |
| 11 | num | int | 10 | 0 | N | N | 1 | 數(shù)量: |
| 12 | goods_id | mediumint | 8 | 0 | N | N | 商品id:[0,8388607] | |
| 13 | type | varchar | 64 | 0 | N | N | 未分類 | 商品分類: |
| 14 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于產(chǎn)品規(guī)格描述 |
表collect (收藏)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
| 3 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
| 4 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
| 5 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
| 6 | title | varchar | 255 | 0 | Y | N | 標題: | |
| 7 | img | varchar | 255 | 0 | Y | N | 封面: | |
| 8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間: |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
表comment (評論)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | comment_id | int | 10 | 0 | N | Y | 評論ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 評論人ID: |
| 3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回復評論ID:空為0 |
| 4 | content | longtext | 2147483647 | 0 | Y | N | 內(nèi)容: | |
| 5 | nickname | varchar | 255 | 0 | Y | N | 昵稱: | |
| 6 | avatar | varchar | 255 | 0 | Y | N | 頭像地址:[0,255] | |
| 7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間: |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
| 9 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
| 10 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
| 11 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
表goods (商品信息)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | goods_id | mediumint | 8 | 0 | N | Y | 產(chǎn)品id:[0,8388607] | |
| 2 | title | varchar | 125 | 0 | Y | N | 標題:[0,125]用于產(chǎn)品和html的<title>標簽中 | |
| 3 | img | text | 65535 | 0 | Y | N | 封面圖:用于顯示于產(chǎn)品列表頁 | |
| 4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于產(chǎn)品規(guī)格描述 | |
| 5 | price_ago | double | 8 | 2 | N | N | 0.00 | 原價:[1] |
| 6 | price | double | 8 | 2 | N | N | 0.00 | 賣價:[1] |
| 7 | sales | int | 10 | 0 | N | N | 0 | 銷量:[0,1000000000] |
| 8 | inventory | int | 10 | 0 | N | N | 0 | 商品庫存 |
| 9 | type | varchar | 64 | 0 | N | N | 商品分類: | |
| 10 | hits | int | 10 | 0 | N | N | 0 | 點擊量:[0,1000000000]訪問這篇產(chǎn)品的人次 |
| 11 | content | longtext | 2147483647 | 0 | Y | N | 正文:產(chǎn)品的主體內(nèi)容 | |
| 12 | img_1 | text | 65535 | 0 | Y | N | 主圖1: | |
| 13 | img_2 | text | 65535 | 0 | Y | N | 主圖2: | |
| 14 | img_3 | text | 65535 | 0 | Y | N | 主圖3: | |
| 15 | img_4 | text | 65535 | 0 | Y | N | 主圖4: | |
| 16 | img_5 | text | 65535 | 0 | Y | N | 主圖5: | |
| 17 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間: |
| 18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
| 19 | customize_field | text | 65535 | 0 | Y | N | 自定義字段 | |
| 20 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
| 21 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
| 22 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
| 23 | user_id | int | 10 | 0 | Y | N | 0 | 添加人 |
表goods_type (商品類型)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | type_id | int | 10 | 0 | N | Y | 商品分類ID: | |
| 2 | father_id | smallint | 5 | 0 | N | N | 0 | 上級分類ID:[0,32767] |
| 3 | name | varchar | 255 | 0 | Y | N | 商品名稱: | |
| 4 | desc | varchar | 255 | 0 | Y | N | 描述: | |
| 5 | icon | varchar | 255 | 0 | Y | N | 圖標: | |
| 6 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
| 7 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
| 8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間: |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
表guest_book (用戶留言)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | guest_book_id | int | 10 | 0 | N | Y | 用戶留言ID | |
| 2 | message_user | int | 10 | 0 | Y | N | 0 | 留言用戶 |
| 3 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
| 4 | user_gender | varchar | 64 | 0 | Y | N | 用戶性別 | |
| 5 | message_date | date | 10 | 0 | Y | N | 留言日期 | |
| 6 | message_content | text | 65535 | 0 | Y | N | 留言內(nèi)容 | |
| 7 | recommend | int | 10 | 0 | N | N | 0 | 智能推薦 |
| 8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間 |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
表hits (用戶點擊)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | hits_id | int | 10 | 0 | N | Y | 點贊ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 點贊人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
| 5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
表mall_center (商城中心)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | mall_center_id | int | 10 | 0 | N | Y | 商城中心ID | |
| 2 | remarks | varchar | 64 | 0 | Y | N | 備注 | |
| 3 | recommend | int | 10 | 0 | N | N | 0 | 智能推薦 |
| 4 | cart_title | varchar | 125 | 0 | Y | N | 標題:[0,125]用于產(chǎn)品html的標簽中 | |
| 5 | cart_img | text | 65535 | 0 | Y | N | 封面圖:用于顯示于產(chǎn)品列表頁 | |
| 6 | cart_description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于產(chǎn)品規(guī)格描述 | |
| 7 | cart_price_ago | double | 8 | 2 | N | N | 0.00 | 原價:[1] |
| 8 | cart_price | double | 8 | 2 | N | N | 0.00 | 賣價:[1] |
| 9 | cart_inventory | int | 10 | 0 | N | N | 0 | 商品庫存 |
| 10 | cart_type | varchar | 64 | 0 | N | N | 未分類 | 商品分類: |
| 11 | cart_content | longtext | 2147483647 | 0 | Y | N | 正文:產(chǎn)品的主體內(nèi)容 | |
| 12 | cart_img_1 | text | 65535 | 0 | Y | N | 主圖1: | |
| 13 | cart_img_2 | text | 65535 | 0 | Y | N | 主圖2: | |
| 14 | cart_img_3 | text | 65535 | 0 | Y | N | 主圖3: | |
| 15 | cart_img_4 | text | 65535 | 0 | Y | N | 主圖4: | |
| 16 | cart_img_5 | text | 65535 | 0 | Y | N | 主圖5: | |
| 17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間 |
| 18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
表notice (公告)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
| 2 | title | varchar | 125 | 0 | N | N | 標題: | |
| 3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
| 4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間: |
| 5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
表order (訂單)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | order_id | int | 10 | 0 | N | Y | 訂單ID: | |
| 2 | order_number | varchar | 64 | 0 | Y | N | 訂單號: | |
| 3 | goods_id | mediumint | 8 | 0 | N | N | 商品id:[0,8388607] | |
| 4 | title | varchar | 32 | 0 | Y | N | 商品標題: | |
| 5 | img | varchar | 255 | 0 | Y | N | 商品圖片: | |
| 6 | price | double | 10 | 2 | N | N | 0.00 | 價格: |
| 7 | price_ago | double | 10 | 2 | N | N | 0.00 | 原價: |
| 8 | num | int | 10 | 0 | N | N | 1 | 數(shù)量: |
| 9 | price_count | double | 8 | 2 | N | N | 0.00 | 總價: |
| 10 | norms | varchar | 255 | 0 | Y | N | 規(guī)格: | |
| 11 | type | varchar | 64 | 0 | N | N | 未分類 | 商品分類: |
| 12 | contact_name | varchar | 32 | 0 | Y | N | 聯(lián)系人姓名: | |
| 13 | contact_email | varchar | 125 | 0 | Y | N | 聯(lián)系人郵箱: | |
| 14 | contact_phone | varchar | 11 | 0 | Y | N | 聯(lián)系人手機: | |
| 15 | contact_address | varchar | 255 | 0 | Y | N | 收件地址: | |
| 16 | postal_code | varchar | 9 | 0 | Y | N | 郵政編碼: | |
| 17 | user_id | int | 10 | 0 | N | N | 0 | 買家ID: |
| 18 | merchant_id | mediumint | 8 | 0 | N | N | 0 | 商家ID: |
| 19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間: |
| 20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
| 21 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]用于產(chǎn)品規(guī)格描述 | |
| 22 | state | varchar | 16 | 0 | N | N | 待付款 | 訂單狀態(tài):待付款,待發(fā)貨,待簽收,已簽收,待退款,已退款,已拒絕,已完成 |
表ordinary_users (普通用戶)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認值 | 說明 |
| 1 | ordinary_users_id | int | 10 | 0 | N | Y | 普通用戶ID | |
| 2 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
| 3 | user_gender | varchar | 64 | 0 | Y | N | 用戶性別 | |
| 4 | examine_state | varchar | 16 | 0 | N | N | 已通過 | 審核狀態(tài) |
| 5 | recommend | int | 10 | 0 | N | N | 0 | 智能推薦 |
| 6 | user_id | int | 10 | 0 | N | N | 0 | 用戶ID |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創(chuàng)建時間 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
系統(tǒng)的登錄窗口是用戶的入口,用戶只有在登錄成功后才可以進入訪問。通過在登錄提交表單,后臺處理判斷是否為合法用戶,進行頁面跳轉,進入系統(tǒng)中去。
登錄合法性判斷過程:用戶輸入賬號和密碼后,系統(tǒng)首先確定輸入輸入數(shù)據(jù)合法性,然后在login.jsp頁面發(fā)送登錄請求,調(diào)用src下的mainctrl類的dopost方法來驗證。
用戶登錄模塊的IPO如下所示:
輸入:用戶名和密碼。
處理:
1)檢測用戶輸入的賬號、密碼是否正確及在數(shù)據(jù)庫已對應存在。
2)從數(shù)據(jù)庫中提取記錄,并儲存在本地的session中(timeout默認=30min)。
3)根據(jù)用戶名,將其顯示在系統(tǒng)首頁上。
輸出:是否成功的信息。
登錄流程圖如下所示。
圖5-1登錄流程圖
系統(tǒng)登錄界面如下所示。
圖5-2系統(tǒng)登錄界面
系統(tǒng)呈現(xiàn)出一種簡潔大方的首頁:界面簡約、鱗次櫛比,用戶能輕車熟路的使用。出于對系統(tǒng)使用群體廣泛的顧慮,應有良好性能的后臺。
如下圖所示為系統(tǒng)的首頁界面。
圖5-3系統(tǒng)首頁界面
商品預訂過程中,首先使用getmap(id,"xinxi"),通過商品ID得到商品數(shù)據(jù),將商品數(shù)據(jù)賦值給商品預訂,調(diào)用CommDAO的insert方法將領取數(shù)據(jù)插入訂單表中,最后查看個人歷史商品訂單記錄,可以銷毀歷史領取數(shù)據(jù)。
商品訂單流程圖如下所示。
圖5-4商品訂單流程圖
商品訂單界面如圖所示。
圖5-5商品訂單界面
商品信息流程圖如下所示。
??????????????????????????
圖5-6商品信息流程圖
商品信息界面如圖所示。
圖5-7商品信息界面
商城在yhzhgl查看商城信息,先使用sql語句查詢出所有商品表的數(shù)據(jù),然后調(diào)用PageManager.getPages(url,4,sql, request ),返回一個ArrayList的對象,在for循環(huán)里,使用jsp得到每個ArrayList對象的數(shù)據(jù),在jsp頁面中解析ArrayList對象,得到其各個鍵值對的值。
商城管理界面如下圖所示。
圖5-8商城管理界面
用戶點擊登錄填寫賬號信息登錄后,會切換內(nèi)容為“某某用戶歡迎您”和歷史訂單,并給出注銷鏈接。當用戶登錄成功后會將個人信息保存在session作用域中,點擊自己的用戶名時,會跳轉到個人詳細信息頁面,由后臺通過Freemarker取出session作用域中的用戶信息進行動態(tài)渲染,例如,郵箱、電話號碼、用戶名等等。同時頁面上會顯示修改個人信息和修改密碼的按鈕,這時用戶可以修改自己的登錄密碼以保障賬號的安全性,防止被人竊取賬號,通過UserController.java的updatePassword()實現(xiàn),同時也可以根據(jù)自己的個人信息是否變動做出相應的修改,通過updateUserInfo()實現(xiàn)。
密碼修改流程圖如下所示。
圖5-9密碼修改流程圖
添加商品信息時,輸入必填字段后,表現(xiàn)層的ShangpinController接受傳過來的商品信息參數(shù),再調(diào)用ShangpinController類的addShangpin方法,經(jīng)過ShangpinService業(yè)務層到ShangpinMapper持久層的處理,完成對整個添加商品信息的操作。addShangpin方法也和用戶管理中的addUser方法類似,同時做添加和修改工作。
修改商品信息時,選擇需要修改的商品進行修改,調(diào)用ShangpinController控制器的editShangpin方法,拿到該商品原本的信息并顯示到頁面,管理員再對需要修改的商品信息字段進行修改,完成后調(diào)用addShangpin方法,調(diào)用業(yè)務層的updateByKey方法,更新數(shù)據(jù)庫的商品信息表的數(shù)據(jù)。
商品管理流程圖如下所示。
圖5-10商品管理流程圖
商品管理界面如下圖所示。
圖5-11商品管理界面
查找用戶時,輸入需要查找的用戶名,調(diào)用getData方法獲取所有數(shù)據(jù)并且進行分頁,把獲取到的所有數(shù)據(jù)顯示到視圖上,這時候只需要用腳本方法便能快速查找,不涉及對數(shù)據(jù)庫操作。
用戶管理流程圖如下所示。
圖5-12用戶管理流程圖
用戶管理界面如下圖所示。
圖5-13用戶管理界面
訂單列表管理流程圖如下所示。
圖5-14訂單列表流程圖
圖5-15訂單列表界面
本系統(tǒng)單獨編寫一個Pager類用于分頁技術的實現(xiàn),在該類中確定每一個頁面顯示記錄的總數(shù)pageSize,同時定義總記錄數(shù)totalSize、當前頁currentPage和總頁數(shù)totalPage這幾個屬性,聲明一個帶兩個參數(shù)的構造函數(shù),獲取數(shù)據(jù)庫記錄的時候傳入記錄總數(shù)給pageSize,通過記錄總數(shù)和pageSize這兩個變量計算出總頁數(shù),在查詢數(shù)據(jù)的時候需要通過Pager類的pageSize設置每次取出數(shù)據(jù)的最大記錄數(shù)和設置起始取出記錄的位置。該類中還定義了幾個boolean類型的變量,用于判斷是否有上一頁、下一頁、最后一頁等等,在jsp頁面顯示數(shù)據(jù)的時候通過標簽顯示記錄是否有上一頁或者下一頁。
在對該系統(tǒng)進行完詳細設計和編碼之后,就要對小型超市商品展銷系統(tǒng)的程序進行測試,檢測程序是否運行無誤,反復進行測試和修改,使之最后成為完整的軟件,滿足用戶的需求,實現(xiàn)預期的功能。
在軟件的測試過程中,通常測試人員需要針對不同的功能模塊設計多種測試用例。通過測試用例能夠及時發(fā)現(xiàn)代碼業(yè)務邏輯上是否與真實的業(yè)務邏輯相對應,及時發(fā)現(xiàn)代碼上或邏輯上的缺陷,以此來來完善系統(tǒng),提高軟件產(chǎn)品的質(zhì)量,使軟件具有良好的用戶體驗。
登錄測試用例表如下所示。
表6-1登錄測試用例
| 測試性能 | 用戶或操作員登錄系統(tǒng) | ||
| 用例目的 | 測試用戶或操作員登錄系統(tǒng)時功能是否正常 | ||
| 前提條件 | 進入用戶登錄頁面或操作員登錄頁面 | ||
| 輸入條件 | 預期輸出 | 實際情況 | |
| 各項信息不予填寫,直接點擊登陸按鈕 | 不允許登錄,提示填寫賬號相關信息 | 一致 | |
| 填寫錯誤的登錄名或密碼后點擊登錄系統(tǒng) | 提示用戶名或密碼錯誤,要求重新填寫進行登錄 | 一致 | |
| 填寫與驗證碼信息不一致的信息 | 系統(tǒng)顯示出提示信息,表明驗證碼錯誤,要求重新填寫 | 一致 | |
商品訂單測試用例表如下所示。
表6-2商品訂單測試用例
| 測試性能 | 用戶進行商品訂單的操作 | ||
| 用例目的 | 測試用戶進行商品訂單操作時,該功能是否正常 | ||
| 前提條件 | 用戶進入商品詳情頁,該商品能夠被購買 | ||
| 輸入條件 | 預期輸出 | 實際情況 | |
| 對著某商品點擊“購買”按鈕 | 界面跳轉至領取界面 | 一致 | |
| 在領取界面,輸入必填項,點擊“提交”按鈕 | 提示“購買成功”,并返回上一級界面 | 一致 | |
| 在購買界面,填寫訂單信息的時候未輸入完整,點擊“提交”按鈕 | 提示“購買失敗” | 一致 | |
商品管理測試用例表如下所示。
表6-3商品管理測試用例
| 測試性能 | 商品相關信息管理功能 | ||
| 用例目的 | 測試系統(tǒng)操作者對商品相關信息進行管理的功能是否正常 | ||
| 前提條件 | 登錄系統(tǒng)進入相關管理頁面 | ||
| 輸入條件 | 預期輸出 | 實際情況 | |
| 進入商品管理界面,點擊“錄入”按鈕,填寫所有必填項,點擊提交 | 提示“錄入成功”,并返回查詢界面 | 一致 | |
| 進入商品管理界面,點擊“錄入”按鈕,未填寫一個或者多個必填項,點擊提交 | 提示“錄入失敗”,請?zhí)顚懕靥铐?/p> | 一致 | |
| 進入商品管理界面,選擇要修改的一條數(shù)據(jù),點擊該條數(shù)據(jù)后面的“修改”按鈕? | 節(jié)目跳轉至修改界面 | 一致 | |
| 在修改界面,修改可修改項后,點擊“提交”按鈕 | 提示“修改成功”,并返回查詢界面 | 一致 | |
| 進入商品管理界面,點擊某條數(shù)據(jù)后面的刪除按鈕 | 提示“是否要刪除該數(shù)據(jù)”,如果用戶點擊“確定”按鈕,則成功刪除該條數(shù)據(jù),并提示“刪除成功”,之后返回查詢界面 | 一致 | |
經(jīng)過對此系統(tǒng)的測試,得出該系統(tǒng)足以滿足用戶日常需求,在功能項目和操作等方面也能滿足操作員對于其他用戶的管理。但是,還有很多功能有待添加,這個系統(tǒng)僅能滿足大部分的需求,還需要對此系統(tǒng)功能進一步的完善,這樣使用起來才能更加的完美。
通過小型超市商品展銷系統(tǒng)的開發(fā),本人鞏固了之前學過的知識,如今將平時所學到的知識融合在設計中,在設計過程中,做了很多的準備,首先,在數(shù)據(jù)庫系統(tǒng)的設計過程中,尤其是在數(shù)據(jù)庫的工作原理、工作特點,對其深刻的討論,與此同時,對于小型站點來說,最好服務器的選擇,其次,利用所學的知識點分析所做的系統(tǒng),并在此基礎上設計。
目前本系統(tǒng)已經(jīng)上線,正在試運行階段,用戶反饋良好,基本完成用戶所需,試運行過程中沒有出現(xiàn)阻斷性問題,有一些不足和小問題也及時予以修正,系統(tǒng)上線后,為了保證數(shù)據(jù)的安全性,對系統(tǒng)進行了備份操作,系統(tǒng)備份是每兩個月備份一次,數(shù)據(jù)庫備份為每周備份一次,系統(tǒng)部署在租賃的云平臺服務器中。
本次系統(tǒng)上線成功后,得到了用戶的高度認可,但是在功能上和性能上還需做進一步的研究處理,使其有更高的性能和更好的用戶體驗。
系統(tǒng)在以后的升級過程中,需要解決一系列用戶所提出的問題,例如打印過程中如何避免瀏覽器的兼容性問題,大量用戶訪問時,如何保持較高的響應速度,在系統(tǒng)今后的升級過程中將著重解決這些安全性問題。
參考文獻
[1]朱賀軍,于鵬達,崔培升. 一種Java應用程序的安全加固方法及系統(tǒng)[P]. 北京市:CN115129361A,2022-09-30.
[2]張斌. 一種JAVA性能測試方法、系統(tǒng)及介質(zhì)[P]. 山東省:CN113032229B,2022-09-20.
[3]莊帥.基于B/S架構設計實現(xiàn)超市管理系統(tǒng)[J].信息系統(tǒng)工程,2022(01):105-108.
[4]岳紋.企業(yè)小型超市管理系統(tǒng)的研究與開發(fā)[J].電腦編程技巧與維護,2021(05):89-91.
[5]肖蘇.地區(qū)性小型連鎖超市物流管理系統(tǒng)問題及對策研究——以德瑪特超市為例[J].內(nèi)蒙古科技與經(jīng)濟,2021(08):41-42+105.
[6]李振. 一種無人超市管理系統(tǒng)[P]. 安徽省:CN111768253A,2020-10-13.
[7]Melchizedek I. Alipio,Kathlyn Mae T. Pe?alosa,Julioh Roscoe C. Unida. In-store customer traffic and path monitoring in small-scale supermarket using UWB-based localization and SSD-based detection[J]. Journal of Ambient Intelligence and Humanized Computing,2020(prepublish).
[8]劉歡. 眉山發(fā)展超市管理系統(tǒng)的設計與實現(xiàn)[D].電子科技大學,2018.
[9]不公告發(fā)明人. 一種基于Bootstrap框架設計的商城系統(tǒng)[P]. 湖南:CN108230069A,2018-06-29.
[10]王項奎.基于物聯(lián)網(wǎng)技術的校園智能超市管理系統(tǒng)設計[J].經(jīng)貿(mào)實踐,2018(12):280-281.
[11]郭嬌玲. 小型超市及零售行業(yè)信息管理系統(tǒng)的設計與實現(xiàn)[D].電子科技大學,2018.
[12]Chung,Hwang,Kim. Price competition between big and small supermarkets: evidence from Seoul[J]. Applied Economics Letters,2018,25(6).
[13]Ibrahim M. Saleh,Andrey Postnikov,Corneliu Arsene,Argyrios C. Zolotas,Chris Bingham,Ronald Bickerton,Simon Pearson. Impact of Demand Side Response on a Commercial Retail Refrigeration System[J]. Energies,2018,11(2).
[14]王彩霞.供港生鮮小型超市在京亮相[J].中國連鎖,2016(07):59-61.
[15]鄭哲堅.學校小型超市管理系統(tǒng)設計[J].信息與電腦(理論版),2016(09):99-100.
[16]王灝. 小型超市管理系統(tǒng)的設計與實現(xiàn)[D].北京工業(yè)大學,2016..
致謝
伴隨著設計的完成,大學生涯也隨之即將結束。大學期間是我最珍惜的時光,大學時光中學會了很多,也成長了很多,這段時光中每一段回憶都刻在腦海中。感謝一起學習,一起成長同學們,和成長過程悉心教導的老師們,非常感激有你們的陪伴。
首先感謝我的指導老師,設計的完成離不開老師的一系列指導。在畢業(yè)設計的完成過程中,老師給出了很多中肯的建議,正是由于老師一絲不茍的工作態(tài)度,我的設計才能順利的完成。
最后,感謝在大學生涯中每一位教導我的老師,是你們教給了我豐富的知識,更教會了我遇到問題時,如何去應對并解決。謝謝你們的幫助與支持。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??免費領取源碼,請點贊關注私信博主
總結
以上是生活随笔為你收集整理的基于Springboot的小型超市商品展销系统 计算机毕设源码01635的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hubot mysql_WiFeng的博
- 下一篇: 全免费建站攻略!freewebhosti