基于Springboot的小型超市商品展销系统 计算机毕设源码01635
摘?要
科技進(jìn)步的飛速發(fā)展引起人們?nèi)粘I畹木薮笞兓?#xff0c;電子信息技術(shù)的飛速發(fā)展使得電子信息技術(shù)的各個領(lǐng)域的應(yīng)用水平得到普及和應(yīng)用。信息時代的到來已成為不可阻擋的時尚潮流,人類發(fā)展的歷史正進(jìn)入一個新時代。在現(xiàn)實(shí)運(yùn)用中,應(yīng)用軟件的工作規(guī)則和開發(fā)步驟,采用Springboot框架建設(shè)小型超市商品展銷系統(tǒng)。
本設(shè)計主要實(shí)現(xiàn)集人性化、高效率、便捷等優(yōu)點(diǎn)于一身的小型超市商品展銷系統(tǒng),完成用戶管理、商城中心管理、商品信息、商品購買管理、用戶留言等功能模塊。系統(tǒng)通過瀏覽器與服務(wù)器進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的交互與變更。本系統(tǒng)通過科學(xué)的管理方式、便捷的服務(wù)提高了工作效率,減少了數(shù)據(jù)存儲上的錯誤和遺漏。小型超市商品展銷系統(tǒng)采用Spring boot框架、JSP技術(shù)、Ajax技術(shù)進(jìn)行業(yè)務(wù)系統(tǒng)的編碼及其開發(fā),實(shí)現(xiàn)了本系統(tǒng)的全部功能。本次報告,首先分析了研究的背景、作用、意義,為研究工作的合理性打下了基礎(chǔ)。
關(guān)鍵詞:超市商品展銷;關(guān)系型數(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?本文的組織結(jié)構(gòu)
第2章 相關(guān)技術(shù)介紹
2.1?J2EE技術(shù)
2.2 MVVM模式
2.3 B/S結(jié)構(gòu)
2.4 Springboot框架
2.5?Mysql數(shù)據(jù)庫
2.6?B/S體系工作原理
第3章 系統(tǒng)分析
3.1?可行性分析
3.1.1?技術(shù)可行性分析
3.1.2?經(jīng)濟(jì)可行性分析
3.1.3?操作可行性分析
3.2?功能需求分析
3.3?非功能需求分析
3.4?數(shù)據(jù)流程分析
第4章 系統(tǒng)設(shè)計
4.1?系統(tǒng)架構(gòu)設(shè)計
4.2?系統(tǒng)功能結(jié)構(gòu)
4.3?功能模塊設(shè)計
4.4?表單字段校驗處理設(shè)計
4.5?系統(tǒng)維護(hù)設(shè)計
4.6?數(shù)據(jù)庫設(shè)計
4.6.1?概念模型
4.6.2?數(shù)據(jù)表
第5章 系統(tǒng)實(shí)現(xiàn) 18
5.1?登錄模塊的實(shí)現(xiàn) 18
5.2?用戶子系統(tǒng)模塊的實(shí)現(xiàn) 19
5.3?管理員子系統(tǒng)模塊的實(shí)現(xiàn) 23
5.4?分頁模塊的實(shí)現(xiàn) 31
第6章 系統(tǒng)測試 32
6.1?測試目的 33
6.2?測試過程 34
6.3?測試結(jié)果 34
第7章 總結(jié)與展望 45
參考文獻(xiàn) 36
致謝 37
在我國超市形成在20世紀(jì)90年代,現(xiàn)在已經(jīng)成為我國零售業(yè)的一種重要形態(tài),為國民經(jīng)濟(jì)的發(fā)展發(fā)揮了重要作用。而小型超市由于商品的數(shù)量眾多,進(jìn)銷存管理方面工作繁雜、資料多,這就迫切需要利用計算機(jī)的數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)小型超市管理工作的自動化,以提高工作效率。
本小型超市商品展銷系統(tǒng)繼承了傳統(tǒng)超市管理系統(tǒng)的長處,彌補(bǔ)了傳統(tǒng)超市管理系統(tǒng)在網(wǎng)絡(luò)化服務(wù)方面的缺失,實(shí)現(xiàn)超市現(xiàn)代化、快捷、方便的管理。
隨著我國綜合國力的不斷提升,我國的計算機(jī)和信息技術(shù)已經(jīng)逐漸和世界水品接軌。但是,還有一部分國內(nèi)市場小型超市,它們在信息化過程中的步伐要落后于大中型超市,但它們對于自身的資源管理,信息儲存以及數(shù)據(jù)處理也是迫切需要的,要適應(yīng)市場翻爭環(huán)境就要有高效的管理方法,因此超市的信息化進(jìn)程是必不可少的方法。
國外超市零售業(yè)管理信息化相對國內(nèi)要高很多,在經(jīng)濟(jì)發(fā)達(dá)國家,計算機(jī)管理信息技術(shù)已經(jīng)滲入到各行各業(yè),包括超市行業(yè)。美國沃爾瑪早在上世紀(jì)70年代就為總部和分部引入了計算機(jī)管理,80年代為各個連鎖店實(shí)施了各種信息管理系統(tǒng),使其進(jìn)貨、倉儲、配送、供應(yīng)等實(shí)現(xiàn)了快速可靠、及時準(zhǔn)確的信息化管理,讓它在40年時間里從一家小小的單體折扣店發(fā)展成為世界性的零售業(yè)巨無霸,沃爾瑪?shù)陌l(fā)展模式有很多地方是值得我國中小超市值得借鑒的地方的。
國內(nèi)零售市場的開放進(jìn)程驟然加快,超市的競爭也會越來越激烈,與外資企業(yè)相比較,國內(nèi)超市從總體上還處于明顯的弱勢地位。現(xiàn)在國內(nèi)各地的超市數(shù)量越來越多,一方面向規(guī)模大,品種全發(fā)展,另一方面,中小型社區(qū)超市的發(fā)展也呈上升勢頭。我過目前的中小型超市目前屬于發(fā)展的初級階段,商品的品牌和質(zhì)量,企業(yè)的管理水平和經(jīng)營模式與發(fā)達(dá)國家相比仍然很落后。我國70%的中小型招市都采用了電子收款機(jī),但還沒建立起宗整的商品管理系統(tǒng)。在進(jìn)行企業(yè)管理時,很多企業(yè)還停留在筆紙管理時代的方式,有些超市雖然配備了電腦,但還沒形成系統(tǒng)性的管理,這是制約我國中小型超市的管理水平的原因之一。
第一章是緒論,本文章的開頭部分,對本題目的研究背景和研究意義等一些做文字性的描述。
第二章研究了小型超市商品展銷系統(tǒng)的所采用的開發(fā)技術(shù)和開發(fā)工具。
第三章是系統(tǒng)分析部分,包括系統(tǒng)總體需求描述、功能性角度分析系統(tǒng)需求、非功能性等各個方面分析系統(tǒng)是否可以實(shí)現(xiàn)。
第四章是系統(tǒng)設(shè)計部分,本文章的重要部分,提供了系統(tǒng)架構(gòu)的詳細(xì)設(shè)計和一些主要功能模塊的設(shè)計說明。
第五章是系統(tǒng)的具體實(shí)現(xiàn),介紹系統(tǒng)的各個模塊的具體實(shí)現(xiàn)。
第六章在前幾章的基礎(chǔ)上對系統(tǒng)進(jìn)行測試和運(yùn)行。
最后對系統(tǒng)進(jìn)行了認(rèn)真的總結(jié),以此對未來有一個新的展望。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 相關(guān)技術(shù)介紹
人可以掌握多門外語,而一個計算機(jī)科學(xué)家精通的大多是編程語言,它不是人類的自然語言,比如C語言、Java、Perl等等。由于不同的公司開發(fā)出的“中間件”不夠規(guī)范,所以Sun公司推出J2EE,用這個標(biāo)準(zhǔn)來解決弊病。它提供了良好的機(jī)制,讓每個層次允許與之相對的服務(wù)器、組件運(yùn)行,使得系統(tǒng)的搭建穩(wěn)定可用、開發(fā)高效、維護(hù)方便。
MVVM模式是常用的開發(fā)模式,主要是在代碼實(shí)現(xiàn)上將其分為M層、V層和C層。
視圖(View)代表用戶交互界面,一個 Web 應(yīng)用就可能有很多的界面,在 MVVM?模式中,視圖僅僅處理的只有數(shù)據(jù)采集、處理,還有用戶的請求, 并不包括業(yè)務(wù)流程的處理,業(yè)務(wù)流程由模型(Model)來處理。
模型(Model)就是業(yè)務(wù)流程/狀態(tài)的處理及業(yè)務(wù)規(guī)則的制定。模型處理業(yè)務(wù)流程的過程其它層是無法看見了的,它就像黑箱子,在接受視圖請求的數(shù)據(jù)之后,然后返回最終的處理結(jié)果。MVVM?最主要的核心就是業(yè)務(wù)模型的設(shè)計,一個典型的應(yīng)用例子就是目前流行的 EJB 模型,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但是它不能作為應(yīng)用設(shè)計模型的框架。
控制器(Controller)可以理解為接收用戶的請求,然后視圖和模型匹配在一起,一起再完成用戶請求。它有非常明顯的作用在劃分控制層上,可以很清晰地告訴你,它就是一個分發(fā)器,選擇什么樣的模型、視圖,可以完成用戶的什么樣的請求。控制層不做所有的數(shù)據(jù)處理,比如說:用戶點(diǎn)擊一個連接,控制層接受到請求之后,并不處理業(yè)務(wù)信息,它只是向模型傳遞用戶的信息,同時告訴模型做什么,然后選擇符合需求的視圖返回給用戶。
B/S(Browser/Server)比前身架構(gòu)更為省事的架構(gòu)。它借助Web server完成數(shù)據(jù)的傳遞交流。只需要下載瀏覽器作為客戶端,那么工作就達(dá)到“瘦身”效果, 不需要考慮不停裝軟件的問題。
Spring框架是Java平臺上的一種開源應(yīng)用框架,提供具有控制反轉(zhuǎn)特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應(yīng)用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補(bǔ)充,甚至是替補(bǔ)。Spring框架為開發(fā)提供了一系列的解決方案,比如利用控制反轉(zhuǎn)的核心特性,并通過依賴注入實(shí)現(xiàn)控制反轉(zhuǎn)來實(shí)現(xiàn)管理對象生命周期容器化,利用面向切面編程進(jìn)行聲明式的事務(wù)管理,整合多種持久化技術(shù)管理數(shù)據(jù)訪問,提供大量優(yōu)秀的Web框架方便開發(fā)等等。Spring框架具有控制反轉(zhuǎn)(IOC)特性,IOC旨在方便項目維護(hù)和測試,它提供了一種通過Java的反射機(jī)制對Java對象進(jìn)行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發(fā)者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時運(yùn)行時可配置;AOP框架主要針對模塊之間的交叉關(guān)注點(diǎn)進(jìn)行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務(wù)管理、遠(yuǎn)程訪問等功能均可以通過使用SpringAOP技術(shù)實(shí)現(xiàn)。Spring的事務(wù)管理框架為Java平臺帶來了一種抽象機(jī)制,使本地和全局事務(wù)以及嵌套事務(wù)能夠與保存點(diǎn)一起工作,并且?guī)缀蹩梢栽贘ava平臺的任何環(huán)境中工作。Spring集成多種事務(wù)模板,系統(tǒng)可以通過事務(wù)模板、XML或Java注解進(jìn)行事務(wù)配置,并且事務(wù)框架集成了消息傳遞和緩存等功能。Spring的數(shù)據(jù)訪問框架解決了開發(fā)人員在應(yīng)用程序中使用數(shù)據(jù)庫時遇到的常見困難。它不僅對Java:JDBC、iBATS/MyBATIs、Hibernate、Java數(shù)據(jù)對象(JDO)、ApacheOJB和ApacheCayne等所有流行的數(shù)據(jù)訪問框架中提供支持,同時還可以與Spring的事務(wù)管理一起使用,為數(shù)據(jù)訪問提供了靈活的抽象。Spring框架最初是沒有打算構(gòu)建一個自己的WebMVC框架,其開發(fā)人員在開發(fā)過程中認(rèn)為現(xiàn)有的StrutsWeb框架的呈現(xiàn)層和請求處理層之間以及請求處理層和模型之間的分離不夠,于是創(chuàng)建了SpringMVC。
Mysql 經(jīng)過多次的更新,功能層面已經(jīng)非常的豐富和完善了,從Mysql4版本到5版本進(jìn)行了比較大的更新,在商業(yè)的實(shí)際使用中取得了很好的實(shí)際應(yīng)用效果。最新版本的Mysql支持對信息的壓縮,同時還能進(jìn)行加密能更好的滿足對信息安全性的需求。同時經(jīng)過系統(tǒng)的多次更新,數(shù)據(jù)庫自身的鏡像功能也得到了很大的增強(qiáng),運(yùn)行的流暢度和易用性方面有了不小的進(jìn)步,驅(qū)動的使用和創(chuàng)建也更加的高效快捷。最大的變動還是進(jìn)行了空間信息的顯示優(yōu)化,能更加方便的在應(yīng)用地圖上進(jìn)行坐標(biāo)的標(biāo)注和運(yùn)算。強(qiáng)大的備份功能也保證了用戶使用的過程會更加安心,同時支持的Office特性還支持用戶的自行安裝和使用。在信息的顯示形式上也進(jìn)行了不小的更新,增加了兩個非常使用的顯示區(qū),一個是信息區(qū),對表格和文字進(jìn)行了分類處理,界面的顯示更加清爽和具體。第二是儀表的信息控件,能在儀表信息區(qū)進(jìn)行信息的顯示,同時還能進(jìn)行多個信息的比對,為用戶的實(shí)際使用帶來了很大的便捷。
針對本文中設(shè)計的小型超市商品展銷系統(tǒng)在實(shí)際的實(shí)現(xiàn)過程中,最終選擇Mysql數(shù)據(jù)庫的主要原因在于在企業(yè)的應(yīng)用系統(tǒng)應(yīng)用及開發(fā)的過程中會存在大量的數(shù)據(jù)庫比較頻繁的操作,而且數(shù)據(jù)的安全性要求也是非常的高。綜合這些因素,最終選擇安全性系數(shù)比較高的Mysql來對小型超市商品展銷系統(tǒng)后臺數(shù)據(jù)進(jìn)行存儲操作。
2.6 B/S體系工作原理:
B/S架構(gòu)采取瀏覽器請求,服務(wù)器響應(yīng)的工作模式。
用戶可以通過瀏覽器去訪問Internet上由Web服務(wù)器產(chǎn)生的文本、數(shù)據(jù)、圖片、動畫、視頻點(diǎn)播和聲音等信息;
而每一個Web服務(wù)器又可以通過各種方式與數(shù)據(jù)庫服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫服務(wù)器中;
從Web服務(wù)器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數(shù)據(jù)庫有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫服務(wù)器來解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個巨大的網(wǎng),即全球網(wǎng)。而各個企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Internet。
在 B/S 模式中,用戶是通過瀏覽器針對許多分布于網(wǎng)絡(luò)上的服務(wù)器進(jìn)行請求訪問的,瀏覽器的請求通過服務(wù)器進(jìn)行處理,并將處理結(jié)果以及相應(yīng)的信息返回給瀏覽器,其他的數(shù)據(jù)加工、請求全部都是由Web Server完成的。通過該框架結(jié)構(gòu)以及植入于操作系統(tǒng)內(nèi)部的瀏覽器,該結(jié)構(gòu)已經(jīng)成為了當(dāng)今軟件應(yīng)用的主流結(jié)構(gòu)模式。
開發(fā)任何一個系統(tǒng),都要對其可行性進(jìn)行分析,對其時間和資源上的限制進(jìn)行考慮,這樣可以減少系統(tǒng)開發(fā)的風(fēng)險。同時,分析之后不僅能夠合理的運(yùn)用人力,還能在各方面資源的消耗上得到節(jié)省。下面就對技術(shù)、經(jīng)濟(jì)和社會三個方面來介紹。
實(shí)用性方面,本次設(shè)計的主要任務(wù)是在小型超市商品展銷系統(tǒng)實(shí)現(xiàn)用戶管理、商城中心管理、商品信息、商品購買管理、用戶留言功能等,符合當(dāng)前潮流的發(fā)展。從用戶角度出發(fā),同時也考慮系統(tǒng)運(yùn)營成本和人力資源,采用網(wǎng)絡(luò)上的便捷方式,實(shí)現(xiàn)線上業(yè)務(wù),使得業(yè)務(wù)流程更系統(tǒng),也更方便用戶的體驗,比較實(shí)用。
經(jīng)濟(jì)性方面,由于本課題中設(shè)計的超市管理的主要目的是為了能夠更加方便及快捷的進(jìn)行超市商品信息管理及檢索服務(wù),也就是能夠可以直接投入使用的信息化軟件。系統(tǒng)的主要成本主要是集中在對使用數(shù)據(jù)后期繼續(xù)維護(hù)及其管理更新這個操作上。但是一旦系統(tǒng)投入到實(shí)際的運(yùn)行及使用之后就能夠很好的提高信息查詢檢索的效率,同時也需要有效的保證查詢者的信息方面的安全性,同時這個超市管理與系統(tǒng)所帶來的實(shí)際應(yīng)用方面的價值是遠(yuǎn)遠(yuǎn)的超過了實(shí)際系統(tǒng)進(jìn)行開發(fā)與維護(hù)方面的成本,因此,從經(jīng)濟(jì)上來說開發(fā)這個軟件是可行的。
所謂的技術(shù)可行性就是在限定時間,前期擬定的功能能否被滿足。在開發(fā)設(shè)計上是否會遇上解決不了的問題。做完的項目能否被很好地應(yīng)用,如果存在缺點(diǎn)在后期的維護(hù)上是否存在很大的難度。在對這個系統(tǒng)評估后,認(rèn)定已存在的技術(shù)能達(dá)成目標(biāo)。用JSP技術(shù)來實(shí)現(xiàn)動態(tài)的頁面,嵌入低依賴性的設(shè)計模式,靈活的數(shù)據(jù)庫,配合穩(wěn)定的服務(wù)器,整個系統(tǒng)的運(yùn)行效率大大提升。由此可見,在技術(shù)層面達(dá)成目標(biāo)不是非非之想。
在項目上使用的工具大部分都是是當(dāng)下流行開源免費(fèi)的,所以在開發(fā)前期,開發(fā)時用于項目的經(jīng)費(fèi)將會大大降低,不會讓開發(fā)該軟件在項目啟動期受到經(jīng)費(fèi)的影響,所以經(jīng)濟(jì)上還是可行的。盡量用最少的花費(fèi)去滿足用戶的需求。省下經(jīng)費(fèi)用于人工費(fèi),以及設(shè)備費(fèi)用。將在無紙化,高效率的道路上越走越遠(yuǎn)。
本系統(tǒng)實(shí)現(xiàn)功能的操作很簡單,普通電腦的常見配置就可以運(yùn)行本軟件,并且只要粗通電腦使用的基本常識就可以流暢的使用本軟件。電腦具備連接互聯(lián)網(wǎng)的能力,并且可以正常訪問系統(tǒng),并不需要操作者有什么高超的能力,只需了解業(yè)務(wù)流程,并且按照專業(yè)知識進(jìn)行正確操作即可,所以小型超市商品展銷系統(tǒng)具備操作可行性。
在系統(tǒng)開發(fā)設(shè)計前,應(yīng)該對功能做初步設(shè)想,清楚這個管理系統(tǒng)有什么板塊,每個板塊有什么功能,整體的設(shè)計是否滿足使用者的需求,接著對所開發(fā)的系統(tǒng)功能進(jìn)行的詳細(xì)分析總結(jié),從而設(shè)計出完整的系統(tǒng)并將其實(shí)現(xiàn)。用戶和開發(fā)人員的交流分析,使其達(dá)到最佳理解程度,使系統(tǒng)功能達(dá)到最佳。
管理員用例圖如下所示。
圖3-1?管理員用例圖
用戶用例圖如下所示。
圖3-2?用戶用例圖
用例描述是對用例圖的各功能模塊最好的理解和需求的描述的一種文字性說明,用例描述如下:
表3-1 登錄描述
| 描述項 | 說明 |
| 用例名稱 | 登錄 |
| 用例描述 | 在使用者輸入正確輸入用戶名和密碼的條件下,才能登入系統(tǒng)繼續(xù)后面的操作 |
| 參與者 | 使用者 |
| 前置條件 | 用戶正確輸入URL |
| 后置條件 | 用戶登錄,成功跳轉(zhuǎn)至主界面 |
| 主事件流 | 使用者輸入相應(yīng)的用戶名和密碼 如果用戶名不存在,則需要去注冊 如果密碼或者用戶名錯誤,登錄失敗 如果輸入的用戶名和密碼正確,則進(jìn)入平臺主界面 |
| 異常事件流 | e1.網(wǎng)絡(luò)異常 e2.數(shù)據(jù)庫連接異常 |
表3-2 商城中心管理描述
| 描述項 | 說明 |
| 用例名稱 | 商城中心操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,對商城中心進(jìn)行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員登錄成功并跳轉(zhuǎn)到后臺主界面 |
| 后置條件 | 操作成功 |
| 主事件流 | 管理員跳轉(zhuǎn)商城中心管理頁面,查詢商城中心詳情的信息 管理員可以刪除商城中心信息 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
表3-3 商品管理描述
| 描述項 | 說明 |
| 用例名稱 | 商品操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,對商品模塊進(jìn)行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員成功登錄 |
| 后置條件 | 操作成功 |
| 主事件流 | (1)管理員進(jìn)入商品管理頁面,查詢商品的信息 (2)管理員可以對商品進(jìn)行增刪除和編輯商品操作 (3)管理員新增商品,添加成功跳轉(zhuǎn)到查詢頁面 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
表3-4 訂單列表管理描述
| 描述項 | 說明 |
| 用例名稱 | 訂單列表操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,訂單列表模塊進(jìn)行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員成功登錄 |
| 后置條件 | 操作成功 |
| 主事件流 | (1)管理員進(jìn)入訂單列表管理頁面,查詢訂單列表內(nèi)容的信息 (2)管理員可以對訂單列表進(jìn)行刪除操作 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
表3-5 用戶留言管理描述
| 描述項 | 說明 |
| 用例名稱 | 倉庫操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,對用戶留言模塊進(jìn)行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員成功登錄 |
| 后置條件 | 操作成功 |
| 主事件流 | (1)管理員進(jìn)入用戶留言管理頁面,查詢留言信息 (2)管理員可以對用戶留言進(jìn)行增刪除以及回復(fù)操作 (3)管理員查看用戶留言,添加成功跳轉(zhuǎn)到查詢頁面 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
表3-6 用戶管理描述
| 描述項 | 說明 |
| 用例名稱 | 用戶操作 |
| 用例描述 | 管理員正確登錄后臺管理的條件下,用戶模塊進(jìn)行管理 |
| 參與者 | 管理員 |
| 前置條件 | 管理員成功登錄 |
| 后置條件 | 操作成功 |
| 主事件流 | (1)管理員進(jìn)入用戶管理頁面,查詢用戶內(nèi)容的信息 (2)管理員可以對用戶進(jìn)行刪除操作 |
| 異常事件流 | e1.報500錯誤 e2.數(shù)據(jù)庫連接異常 |
小型超市商品展銷系統(tǒng)在對需求做解析后,整個系統(tǒng)主要分為兩個部分:管理員和用戶,每個模塊下的分支功能不一樣。對功能做出如下說明:
員工模塊:
賬號登錄認(rèn)證。
管理個人資料信息,修改可修改的信息項。
公告瀏覽,員工可以瀏覽到超市管理層發(fā)出的通知公告,知道重要的通知。
商城中心管理,同時查看商城中心。
用戶模塊:
賬號登錄認(rèn)證。
管理個人資料信息,修改可修改的信息項。
商品訂單,同時查看歷史已訂購商品的記錄。
商城中心,同時查看商城中心的商品信息。
管理員模塊:
維護(hù)員工信息,審核員工的賬號,可以凍結(jié)員工的登錄權(quán)限,或者刪除員工賬號。
發(fā)布商品,并可以銷毀某個商品,更新商品數(shù)據(jù),模糊搜索商品數(shù)據(jù)等。
發(fā)布用戶,并可以銷毀某個用戶,更新用戶數(shù)據(jù),模糊搜索用戶數(shù)據(jù)等。
商品訂單管理數(shù)據(jù)。
系統(tǒng)維護(hù)管理數(shù)據(jù)。
系統(tǒng)非功能需求有非常多,比如性能需求、可承載最大用戶數(shù)、穩(wěn)定性、易用性需求等。本系統(tǒng)分析時考慮到易用性需求,因為系統(tǒng)是給人使用的,所以必須充分從用戶的角度出發(fā),考慮用戶體驗,使系統(tǒng)易理解易上手易操作。
一層數(shù)據(jù)流程圖包括了登錄、用戶功能和檢索維護(hù)等模塊,在登錄模塊使用到的數(shù)據(jù)存儲有用戶賬戶文檔,用戶功能模塊需要的存儲是用戶各功能模塊數(shù)據(jù)文檔,檢索維護(hù)是使用以上這些數(shù)據(jù)文檔通過關(guān)鍵詞進(jìn)行檢索。
系統(tǒng)的一層數(shù)據(jù)流圖如下圖所示。
圖3-2系統(tǒng)數(shù)據(jù)流圖(一層)
二層數(shù)據(jù)流程是對一層數(shù)據(jù)流層圖中填寫登錄信息、用戶功能的細(xì)化。即:填寫登錄信息細(xì)化為填制信息、后臺審核,用戶功能細(xì)化為商品查詢、商品購買、公告查詢、用戶留言等操作。
目前B/S體系的系統(tǒng)主要的數(shù)據(jù)訪問方式是:通過瀏覽器頁面用戶可以進(jìn)入系統(tǒng),系統(tǒng)可以自動對用戶向服務(wù)器發(fā)送的請求進(jìn)行處理,處理請求是在系統(tǒng)后臺中進(jìn)行的,用戶在瀏覽器頁面上進(jìn)行相應(yīng)操作,就能夠看到服務(wù)端傳遞的處理結(jié)果。小型超市商品展銷系統(tǒng)主要分為視圖-模型-控制三層架構(gòu)設(shè)計。在視圖層中,主要是操作在服務(wù)器端向用戶端反饋并顯示的數(shù)據(jù),在模型層中,主要處理相關(guān)的業(yè)務(wù)邏輯、數(shù)據(jù)整合等,最后的控制層它介于視圖和模型之間,主要是調(diào)整兩層之間的關(guān)系,最終落實(shí)數(shù)據(jù)的傳遞。
系統(tǒng)架構(gòu)圖如下圖所示。
圖4-1系統(tǒng)架構(gòu)圖
系統(tǒng)設(shè)計的目的是分析系統(tǒng)包括的所有功能結(jié)構(gòu),為開發(fā)人員設(shè)計開發(fā)和實(shí)現(xiàn)系統(tǒng)做好準(zhǔn)備工作。經(jīng)過前期的需求調(diào)查、分析和整理之后,確定的總體需求主要包括多個模塊。
系統(tǒng)功能結(jié)構(gòu)圖如下圖所示。
圖4-2系統(tǒng)功能結(jié)構(gòu)圖
用戶管理模塊
該模塊是為所有用戶登錄設(shè)計的,如員工登錄后只能進(jìn)行自己的普通功能操作(如個人信息修改),管理員和超級管理員登錄后有不同的權(quán)限,管理員不能超越權(quán)限。超級管理員能對整個系統(tǒng)的數(shù)據(jù)進(jìn)行管理,主要是用戶的登錄權(quán)限以及用戶登錄后在系統(tǒng)里的操作權(quán)限。
商品訂單模塊
員工和商品存在預(yù)定關(guān)系,關(guān)系為一對多,根據(jù)商品編號來將商品數(shù)據(jù)傳入到訂單數(shù)據(jù)中,操作人為員工,然后生成訂單列表,員工查看個人歷史訂單列表,可以進(jìn)行數(shù)據(jù)銷毀。
商品維護(hù)模塊
操作人來錄入商品數(shù)據(jù),點(diǎn)擊商品錄入按鈕,依次填寫要錄入的商品數(shù)據(jù),點(diǎn)擊提交按鈕,將數(shù)據(jù)提交至數(shù)據(jù)庫,然后刷新商品數(shù)據(jù)頁面,每條數(shù)據(jù)右邊有刪除和編輯按鈕,來完成相應(yīng)的刪除和更新功能。
用戶維護(hù)模塊
操作人來錄入用戶數(shù)據(jù),點(diǎn)擊用戶錄入按鈕,依次填寫要錄入的用戶數(shù)據(jù),點(diǎn)擊提交按鈕,將數(shù)據(jù)提交至數(shù)據(jù)庫,然后刷新用戶數(shù)據(jù)頁面,每條數(shù)據(jù)右邊有刪除和編輯按鈕,來完成相應(yīng)的刪除和更新功能。
公告維護(hù)模塊
管理員點(diǎn)擊公告管理菜單,點(diǎn)擊公告添加子菜單,添加公告數(shù)據(jù),填寫標(biāo)題、內(nèi)容、類別、圖片,提交成功后,公告數(shù)據(jù)頁面刷新,新數(shù)據(jù)成功載入頁面。
1.出錯信息類型
出錯信息類型包括:
A 未輸入必填項;
B 應(yīng)輸入合法字符或數(shù)字卻輸入非法字符或數(shù)字;
C 對空數(shù)據(jù)表進(jìn)行更改或刪除操作;
D 向要求唯一值的關(guān)鍵字段添加重復(fù)值。
2.出錯處理對策
對于錯誤A,系統(tǒng)要求用戶輸入非空值。
對于錯誤B,系統(tǒng)要求用戶輸入合法字符。
對于錯誤C,系統(tǒng)提示數(shù)據(jù)表無記錄可更改或刪除。
對于錯誤D,系統(tǒng)要求用戶輸入非重復(fù)值。
小型超市商品展銷系統(tǒng)是個現(xiàn)代化的高度集成的綜合信息系統(tǒng),系統(tǒng)主要服務(wù)對象為用戶,最大化在頁面中提供多的信息,因此在系統(tǒng)維護(hù)上,數(shù)據(jù)量較大,整體的維護(hù)設(shè)計如下:
(1)代碼的維護(hù):部署在云服務(wù)器上或本地服務(wù)器,通過SVN或FTP保持版本更新迭代。
(2)功能增加:功能升級在必要的前提下。
(3)數(shù)據(jù)維護(hù):根據(jù)安全性等需求,定期對數(shù)據(jù)庫進(jìn)行人工備份。
對于一個要開發(fā)的系統(tǒng)來說,E-R圖可以讓別人能更快更輕松的了解此系統(tǒng)的事務(wù)及它們之間的關(guān)系。根據(jù)系統(tǒng)分析階段所得出的結(jié)論確定了在小型超市商品展銷系統(tǒng)中存在著多個實(shí)體分別是用用戶、管理員、商品、訂單、用戶留言。
系統(tǒng)總體ER圖如下圖所示。
圖4-4系統(tǒng)總體ER圖
數(shù)據(jù)庫邏輯結(jié)構(gòu)就是將E-R圖在數(shù)據(jù)庫中用具體的字段進(jìn)行描述。用字段和數(shù)據(jù)類型描述來使對象特征實(shí)體化,最后形成具有一定邏輯關(guān)系的數(shù)據(jù)庫表結(jié)構(gòu)。小型超市商品展銷系統(tǒng)所需要的部分?jǐn)?shù)據(jù)結(jié)構(gòu)表如下表所示。
表cart (購物車)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 1 | cart_id | int | 10 | 0 | N | Y | 購物車ID: | |
| 2 | title | varchar | 64 | 0 | Y | N | 標(biāo)題: | |
| 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ù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 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 | 標(biāo)題: | |
| 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ù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 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 | 回復(fù)評論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ù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 1 | goods_id | mediumint | 8 | 0 | N | Y | 產(chǎn)品id:[0,8388607] | |
| 2 | title | varchar | 125 | 0 | Y | N | 標(biāo)題:[0,125]用于產(chǎn)品和html的<title>標(biāo)簽中 | |
| 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 | 點(diǎn)擊量:[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ù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 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 | 圖標(biāo): | |
| 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ù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 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 (用戶點(diǎn)擊)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 1 | hits_id | int | 10 | 0 | N | Y | 點(diǎn)贊ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 點(diǎn)贊人: |
| 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ù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 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 | 標(biāo)題:[0,125]用于產(chǎn)品html的標(biāo)簽中 | |
| 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ù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
| 2 | title | varchar | 125 | 0 | N | N | 標(biāo)題: | |
| 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ù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 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 | 商品標(biāo)題: | |
| 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)系人手機(jī): | |
| 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ù)位 | 允許空值 | 主鍵 | 默認(rèn)值 | 說明 |
| 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)的登錄窗口是用戶的入口,用戶只有在登錄成功后才可以進(jìn)入訪問。通過在登錄提交表單,后臺處理判斷是否為合法用戶,進(jìn)行頁面跳轉(zhuǎn),進(jìn)入系統(tǒng)中去。
登錄合法性判斷過程:用戶輸入賬號和密碼后,系統(tǒng)首先確定輸入輸入數(shù)據(jù)合法性,然后在login.jsp頁面發(fā)送登錄請求,調(diào)用src下的mainctrl類的dopost方法來驗證。
用戶登錄模塊的IPO如下所示:
輸入:用戶名和密碼。
處理:
1)檢測用戶輸入的賬號、密碼是否正確及在數(shù)據(jù)庫已對應(yīng)存在。
2)從數(shù)據(jù)庫中提取記錄,并儲存在本地的session中(timeout默認(rèn)=30min)。
3)根據(jù)用戶名,將其顯示在系統(tǒng)首頁上。
輸出:是否成功的信息。
登錄流程圖如下所示。
圖5-1登錄流程圖
系統(tǒng)登錄界面如下所示。
圖5-2系統(tǒng)登錄界面
系統(tǒng)呈現(xiàn)出一種簡潔大方的首頁:界面簡約、鱗次櫛比,用戶能輕車熟路的使用。出于對系統(tǒng)使用群體廣泛的顧慮,應(yīng)有良好性能的后臺。
如下圖所示為系統(tǒng)的首頁界面。
圖5-3系統(tǒng)首頁界面
商品預(yù)訂過程中,首先使用getmap(id,"xinxi"),通過商品ID得到商品數(shù)據(jù),將商品數(shù)據(jù)賦值給商品預(yù)訂,調(diào)用CommDAO的insert方法將領(lǐng)取數(shù)據(jù)插入訂單表中,最后查看個人歷史商品訂單記錄,可以銷毀歷史領(lǐng)取數(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商城管理界面
用戶點(diǎn)擊登錄填寫賬號信息登錄后,會切換內(nèi)容為“某某用戶歡迎您”和歷史訂單,并給出注銷鏈接。當(dāng)用戶登錄成功后會將個人信息保存在session作用域中,點(diǎn)擊自己的用戶名時,會跳轉(zhuǎn)到個人詳細(xì)信息頁面,由后臺通過Freemarker取出session作用域中的用戶信息進(jìn)行動態(tài)渲染,例如,郵箱、電話號碼、用戶名等等。同時頁面上會顯示修改個人信息和修改密碼的按鈕,這時用戶可以修改自己的登錄密碼以保障賬號的安全性,防止被人竊取賬號,通過UserController.java的updatePassword()實(shí)現(xiàn),同時也可以根據(jù)自己的個人信息是否變動做出相應(yīng)的修改,通過updateUserInfo()實(shí)現(xiàn)。
密碼修改流程圖如下所示。
圖5-9密碼修改流程圖
添加商品信息時,輸入必填字段后,表現(xiàn)層的ShangpinController接受傳過來的商品信息參數(shù),再調(diào)用ShangpinController類的addShangpin方法,經(jīng)過ShangpinService業(yè)務(wù)層到ShangpinMapper持久層的處理,完成對整個添加商品信息的操作。addShangpin方法也和用戶管理中的addUser方法類似,同時做添加和修改工作。
修改商品信息時,選擇需要修改的商品進(jìn)行修改,調(diào)用ShangpinController控制器的editShangpin方法,拿到該商品原本的信息并顯示到頁面,管理員再對需要修改的商品信息字段進(jìn)行修改,完成后調(diào)用addShangpin方法,調(diào)用業(yè)務(wù)層的updateByKey方法,更新數(shù)據(jù)庫的商品信息表的數(shù)據(jù)。
商品管理流程圖如下所示。
圖5-10商品管理流程圖
商品管理界面如下圖所示。
圖5-11商品管理界面
查找用戶時,輸入需要查找的用戶名,調(diào)用getData方法獲取所有數(shù)據(jù)并且進(jìn)行分頁,把獲取到的所有數(shù)據(jù)顯示到視圖上,這時候只需要用腳本方法便能快速查找,不涉及對數(shù)據(jù)庫操作。
用戶管理流程圖如下所示。
圖5-12用戶管理流程圖
用戶管理界面如下圖所示。
圖5-13用戶管理界面
訂單列表管理流程圖如下所示。
圖5-14訂單列表流程圖
圖5-15訂單列表界面
本系統(tǒng)單獨(dú)編寫一個Pager類用于分頁技術(shù)的實(shí)現(xiàn),在該類中確定每一個頁面顯示記錄的總數(shù)pageSize,同時定義總記錄數(shù)totalSize、當(dāng)前頁currentPage和總頁數(shù)totalPage這幾個屬性,聲明一個帶兩個參數(shù)的構(gòu)造函數(shù),獲取數(shù)據(jù)庫記錄的時候傳入記錄總數(shù)給pageSize,通過記錄總數(shù)和pageSize這兩個變量計算出總頁數(shù),在查詢數(shù)據(jù)的時候需要通過Pager類的pageSize設(shè)置每次取出數(shù)據(jù)的最大記錄數(shù)和設(shè)置起始取出記錄的位置。該類中還定義了幾個boolean類型的變量,用于判斷是否有上一頁、下一頁、最后一頁等等,在jsp頁面顯示數(shù)據(jù)的時候通過標(biāo)簽顯示記錄是否有上一頁或者下一頁。
在對該系統(tǒng)進(jìn)行完詳細(xì)設(shè)計和編碼之后,就要對小型超市商品展銷系統(tǒng)的程序進(jìn)行測試,檢測程序是否運(yùn)行無誤,反復(fù)進(jìn)行測試和修改,使之最后成為完整的軟件,滿足用戶的需求,實(shí)現(xiàn)預(yù)期的功能。
在軟件的測試過程中,通常測試人員需要針對不同的功能模塊設(shè)計多種測試用例。通過測試用例能夠及時發(fā)現(xiàn)代碼業(yè)務(wù)邏輯上是否與真實(shí)的業(yè)務(wù)邏輯相對應(yīng),及時發(fā)現(xiàn)代碼上或邏輯上的缺陷,以此來來完善系統(tǒng),提高軟件產(chǎn)品的質(zhì)量,使軟件具有良好的用戶體驗。
登錄測試用例表如下所示。
表6-1登錄測試用例
| 測試性能 | 用戶或操作員登錄系統(tǒng) | ||
| 用例目的 | 測試用戶或操作員登錄系統(tǒng)時功能是否正常 | ||
| 前提條件 | 進(jìn)入用戶登錄頁面或操作員登錄頁面 | ||
| 輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
| 各項信息不予填寫,直接點(diǎn)擊登陸按鈕 | 不允許登錄,提示填寫賬號相關(guān)信息 | 一致 | |
| 填寫錯誤的登錄名或密碼后點(diǎn)擊登錄系統(tǒng) | 提示用戶名或密碼錯誤,要求重新填寫進(jìn)行登錄 | 一致 | |
| 填寫與驗證碼信息不一致的信息 | 系統(tǒng)顯示出提示信息,表明驗證碼錯誤,要求重新填寫 | 一致 | |
商品訂單測試用例表如下所示。
表6-2商品訂單測試用例
| 測試性能 | 用戶進(jìn)行商品訂單的操作 | ||
| 用例目的 | 測試用戶進(jìn)行商品訂單操作時,該功能是否正常 | ||
| 前提條件 | 用戶進(jìn)入商品詳情頁,該商品能夠被購買 | ||
| 輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
| 對著某商品點(diǎn)擊“購買”按鈕 | 界面跳轉(zhuǎn)至領(lǐng)取界面 | 一致 | |
| 在領(lǐng)取界面,輸入必填項,點(diǎn)擊“提交”按鈕 | 提示“購買成功”,并返回上一級界面 | 一致 | |
| 在購買界面,填寫訂單信息的時候未輸入完整,點(diǎn)擊“提交”按鈕 | 提示“購買失敗” | 一致 | |
商品管理測試用例表如下所示。
表6-3商品管理測試用例
| 測試性能 | 商品相關(guān)信息管理功能 | ||
| 用例目的 | 測試系統(tǒng)操作者對商品相關(guān)信息進(jìn)行管理的功能是否正常 | ||
| 前提條件 | 登錄系統(tǒng)進(jìn)入相關(guān)管理頁面 | ||
| 輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
| 進(jìn)入商品管理界面,點(diǎn)擊“錄入”按鈕,填寫所有必填項,點(diǎn)擊提交 | 提示“錄入成功”,并返回查詢界面 | 一致 | |
| 進(jìn)入商品管理界面,點(diǎn)擊“錄入”按鈕,未填寫一個或者多個必填項,點(diǎn)擊提交 | 提示“錄入失敗”,請?zhí)顚懕靥铐?/p> | 一致 | |
| 進(jìn)入商品管理界面,選擇要修改的一條數(shù)據(jù),點(diǎn)擊該條數(shù)據(jù)后面的“修改”按鈕? | 節(jié)目跳轉(zhuǎn)至修改界面 | 一致 | |
| 在修改界面,修改可修改項后,點(diǎn)擊“提交”按鈕 | 提示“修改成功”,并返回查詢界面 | 一致 | |
| 進(jìn)入商品管理界面,點(diǎn)擊某條數(shù)據(jù)后面的刪除按鈕 | 提示“是否要刪除該數(shù)據(jù)”,如果用戶點(diǎn)擊“確定”按鈕,則成功刪除該條數(shù)據(jù),并提示“刪除成功”,之后返回查詢界面 | 一致 | |
經(jīng)過對此系統(tǒng)的測試,得出該系統(tǒng)足以滿足用戶日常需求,在功能項目和操作等方面也能滿足操作員對于其他用戶的管理。但是,還有很多功能有待添加,這個系統(tǒng)僅能滿足大部分的需求,還需要對此系統(tǒng)功能進(jìn)一步的完善,這樣使用起來才能更加的完美。
通過小型超市商品展銷系統(tǒng)的開發(fā),本人鞏固了之前學(xué)過的知識,如今將平時所學(xué)到的知識融合在設(shè)計中,在設(shè)計過程中,做了很多的準(zhǔn)備,首先,在數(shù)據(jù)庫系統(tǒng)的設(shè)計過程中,尤其是在數(shù)據(jù)庫的工作原理、工作特點(diǎn),對其深刻的討論,與此同時,對于小型站點(diǎn)來說,最好服務(wù)器的選擇,其次,利用所學(xué)的知識點(diǎn)分析所做的系統(tǒng),并在此基礎(chǔ)上設(shè)計。
目前本系統(tǒng)已經(jīng)上線,正在試運(yùn)行階段,用戶反饋良好,基本完成用戶所需,試運(yùn)行過程中沒有出現(xiàn)阻斷性問題,有一些不足和小問題也及時予以修正,系統(tǒng)上線后,為了保證數(shù)據(jù)的安全性,對系統(tǒng)進(jìn)行了備份操作,系統(tǒng)備份是每兩個月備份一次,數(shù)據(jù)庫備份為每周備份一次,系統(tǒng)部署在租賃的云平臺服務(wù)器中。
本次系統(tǒng)上線成功后,得到了用戶的高度認(rèn)可,但是在功能上和性能上還需做進(jìn)一步的研究處理,使其有更高的性能和更好的用戶體驗。
系統(tǒng)在以后的升級過程中,需要解決一系列用戶所提出的問題,例如打印過程中如何避免瀏覽器的兼容性問題,大量用戶訪問時,如何保持較高的響應(yīng)速度,在系統(tǒng)今后的升級過程中將著重解決這些安全性問題。
參考文獻(xiàn)
[1]朱賀軍,于鵬達(dá),崔培升. 一種Java應(yīng)用程序的安全加固方法及系統(tǒng)[P]. 北京市:CN115129361A,2022-09-30.
[2]張斌. 一種JAVA性能測試方法、系統(tǒng)及介質(zhì)[P]. 山東省:CN113032229B,2022-09-20.
[3]莊帥.基于B/S架構(gòu)設(shè)計實(shí)現(xiàn)超市管理系統(tǒng)[J].信息系統(tǒng)工程,2022(01):105-108.
[4]岳紋.企業(yè)小型超市管理系統(tǒng)的研究與開發(fā)[J].電腦編程技巧與維護(hù),2021(05):89-91.
[5]肖蘇.地區(qū)性小型連鎖超市物流管理系統(tǒng)問題及對策研究——以德瑪特超市為例[J].內(nèi)蒙古科技與經(jīng)濟(jì),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)的設(shè)計與實(shí)現(xiàn)[D].電子科技大學(xué),2018.
[9]不公告發(fā)明人. 一種基于Bootstrap框架設(shè)計的商城系統(tǒng)[P]. 湖南:CN108230069A,2018-06-29.
[10]王項奎.基于物聯(lián)網(wǎng)技術(shù)的校園智能超市管理系統(tǒng)設(shè)計[J].經(jīng)貿(mào)實(shí)踐,2018(12):280-281.
[11]郭嬌玲. 小型超市及零售行業(yè)信息管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].電子科技大學(xué),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]鄭哲堅.學(xué)校小型超市管理系統(tǒng)設(shè)計[J].信息與電腦(理論版),2016(09):99-100.
[16]王灝. 小型超市管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].北京工業(yè)大學(xué),2016..
致謝
伴隨著設(shè)計的完成,大學(xué)生涯也隨之即將結(jié)束。大學(xué)期間是我最珍惜的時光,大學(xué)時光中學(xué)會了很多,也成長了很多,這段時光中每一段回憶都刻在腦海中。感謝一起學(xué)習(xí),一起成長同學(xué)們,和成長過程悉心教導(dǎo)的老師們,非常感激有你們的陪伴。
首先感謝我的指導(dǎo)老師,設(shè)計的完成離不開老師的一系列指導(dǎo)。在畢業(yè)設(shè)計的完成過程中,老師給出了很多中肯的建議,正是由于老師一絲不茍的工作態(tài)度,我的設(shè)計才能順利的完成。
最后,感謝在大學(xué)生涯中每一位教導(dǎo)我的老師,是你們教給了我豐富的知識,更教會了我遇到問題時,如何去應(yīng)對并解決。謝謝你們的幫助與支持。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??免費(fèi)領(lǐng)取源碼,請點(diǎn)贊關(guān)注私信博主
總結(jié)
以上是生活随笔為你收集整理的基于Springboot的小型超市商品展销系统 计算机毕设源码01635的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hubot mysql_WiFeng的博
- 下一篇: window部署redis集群