基于Spring Boot的商品管理后臺ERP系統(tǒng)_第1頁
基于Spring Boot的商品管理后臺ERP系統(tǒng)_第2頁
基于Spring Boot的商品管理后臺ERP系統(tǒng)_第3頁
基于Spring Boot的商品管理后臺ERP系統(tǒng)_第4頁
基于Spring Boot的商品管理后臺ERP系統(tǒng)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于SpringBoot的商品管理后臺ERP系統(tǒng)——商品管理模塊摘要:隨著我國互聯(lián)網(wǎng)的普及率不斷提高,以及物流貨運(yùn)行業(yè)的逐漸興起,人們對電子交易模式進(jìn)行交易活動和相關(guān)服務(wù)活動這些業(yè)務(wù)需求也在不斷增長,衍生了大量的第三方交易平臺,使得許多電子商務(wù)企業(yè)得到了突飛猛進(jìn)式的發(fā)展。與此同時(shí),成千上萬的商品信息被存儲進(jìn)了這些企業(yè)的數(shù)據(jù)庫里面,如何去圍繞商品的各種信息來促進(jìn)訂單的合理管理,成為電商企業(yè)需要考慮的問題之一。如果企業(yè)能夠?qū)?nèi)部員工的權(quán)限和商品信息進(jìn)行有效的管理,就會有利于節(jié)省企業(yè)的內(nèi)部資源,優(yōu)化管理的模式,改善企業(yè)的業(yè)務(wù)流程,為企業(yè)獲得更多的收益的同時(shí),提高企業(yè)在信息化時(shí)代的生存能力。手動制作表格的方式對大量商品信息進(jìn)行記錄和管理,早已跟不上網(wǎng)絡(luò)時(shí)代對管理技術(shù)創(chuàng)新的步伐,設(shè)計(jì)一個(gè)集信息技術(shù)與先進(jìn)管理思想于一體的輕量級管理系統(tǒng)就顯得尤為重要了。電商企業(yè)的商品管理ERP系統(tǒng)就是針對數(shù)據(jù)庫中的商品數(shù)據(jù),包括庫存、價(jià)格、標(biāo)簽、屬性等信息,讓有權(quán)限的工作人員進(jìn)行相關(guān)的合理操作,從而保障商品信息的正確性和有效性。本次的畢業(yè)設(shè)計(jì)參考企業(yè)的實(shí)際應(yīng)用場景,開發(fā)出一款基于SpringBoot框架、Node.JS前端JavaScript腳本運(yùn)行環(huán)境、React解析腳本以及采用阿里云OSS存儲圖片的商品管理后臺ERP系統(tǒng)。本篇論文首先會概述商品管理后臺ERP系統(tǒng)的開發(fā)背景及開發(fā)意義;然后,介紹設(shè)計(jì)的框架選型以及使用的技術(shù),開發(fā)的工具和開發(fā)平臺,緊接著是進(jìn)行這個(gè)系統(tǒng)的需求分析和詳細(xì)設(shè)計(jì);其次是講述從本次設(shè)計(jì)的框架選型到編碼實(shí)現(xiàn)的每個(gè)實(shí)施步驟,如何采用比較流行的計(jì)算機(jī)編程語言、阿里云網(wǎng)絡(luò)存儲技術(shù)開發(fā)出一個(gè)信息化的ERP系統(tǒng)商品管理體系。最后為了對整個(gè)系統(tǒng)做出完善以及驗(yàn)證系統(tǒng)的開發(fā)成果,對相應(yīng)功能進(jìn)行了系統(tǒng)測試。經(jīng)過數(shù)個(gè)月的時(shí)間,在自己不斷地努力編寫調(diào)試下,成功制作出了一款獨(dú)特的商品管理ERP系統(tǒng),實(shí)現(xiàn)了對用戶的權(quán)限管理、對第三方平臺或應(yīng)用的管理、對商品的種類、標(biāo)簽、價(jià)格的管理、處理訂單的管理、配置物流管理這些功能。關(guān)鍵詞:商品管理ERP系統(tǒng),Java,SpringBootERPSystemofCommodityManagementBackgroundBasedonSpringBootAbstract:WiththeincreasingpopularityoftheInternetinChinaandthegradualriseofthelogisticsandfreightindustry,people'sdemandforelectronictransactionmodetradingactivitiesandrelatedserviceactivitiesisalsogrowing,andalargenumberofthird-partytradingplatformsarederived,whichmakesmanye-commerceenterprisesgetrapiddevelopment.Atthesametime,thousandsofcommodityinformationisstoredinthedatabaseoftheseenterprises.Howtomanagevariouscommodityinformationandreasonablygenerateordershasbecomeoneoftheproblemsthate-commerceenterprisesneedtoconsider.Cantheenterpriseeffectivelymanagetherightsandinformationoftheemployees,itisconducivetosavinginternalresources,optimizingmanagementmodeandimprovingbusinessprocess,gainingmoreprofitsforenterprisesandimprovingtheviabilityofenterprisesintheinformationage.Undersuchcircumstances,itisparticularlyimportanttoreplacethetraditionalmeansofcommoditymanagementbyusingalightweightmanagementsystemthatintegratesinformationtechnologyandadvancedmanagementideas.TheERPsystemofcommoditymanagementine-commerceenterprisesaimsatthecommoditydatainthedatabase,includinginventory,price,label,attributeandotherinformation,sothattheauthorizedstaffcancarryouttherelevantreasonableoperation,soastoensurethecorrectnessandeffectivenessofcommodityinformation.Thisgraduationdesignreferstotheactualapplicationscenariooftheenterprise,anddevelopsacommoditymanagementback-endERPsystembasedonthespringbootframework,node.jsrunningfront-endJavaScriptenvironment,reactparsingscriptandusingAlibabacloudOSStostorageimages.ThisthesisfirstlysummarizesthebackgroundandsignificanceofthedevelopmentofERPsystemunderthebackgroundofcommoditymanagement;Afterwards,itintroducestheselectionofthedesignframework,thetechnologyused,thedevelopmenttoolsandthedevelopmentplatform,andthencarriesonthedemandanalysisanddetaileddesignofthesystem;Secondly,itdescribeseachimplementationstepfromtheframeworkselectiontocodingimplementationofthisdesign,andhowtodevelopacommodityinformationERPmanagementsystembyusingpopularcomputerprogramminglanguageandAlibabacloudnetworkstoragetechnology.Finally,inordertoimprovethewholesystemandverifythedevelopmentresultsofthesystem,dothecorrespondingfunctionandsystemtest.Afterseveralmonthsofhardwork,wehavesuccessfullydevelopedauniqueERPsystemforcommoditymanagement,itrealizesthefunctionsofuserrightsmanagement,third-partyplatformorapplicationmanagement,commoditytype,label,pricemanagement,orderprocessingmanagementandconfigurationlogisticsmanagement.Keywords:ERPSystemforCommoditymanagement,Java,SpringBoot

目錄第1章緒論 第1章緒論系統(tǒng)開發(fā)的背景及意義1.1.1開發(fā)背景隨著電商業(yè)務(wù)發(fā)展的不斷擴(kuò)大,不斷增長的數(shù)據(jù)使得企業(yè)的系統(tǒng)需要對數(shù)據(jù)庫進(jìn)行調(diào)整。通常情況下,存儲于電商企業(yè)系統(tǒng)中的后臺數(shù)據(jù)量是很龐大的,而且數(shù)據(jù)庫之間的數(shù)據(jù)也容易混淆,針對這種情況,很多電商企業(yè)的系統(tǒng)會對不同的數(shù)據(jù)模塊進(jìn)行分離,確保每一個(gè)數(shù)據(jù)模塊都是獨(dú)立的,尤其是商品的數(shù)據(jù)這個(gè)模塊,我們將統(tǒng)一管理商品信息的地方叫做“商品信息中心”,是整個(gè)電商系統(tǒng)的數(shù)據(jù)基礎(chǔ),用于記錄與商品有關(guān)的數(shù)據(jù),商品管理系統(tǒng)的邏輯不復(fù)雜,但是對商品數(shù)據(jù)的操作比較多,商品的展示、訂單的信息和分配物流等環(huán)節(jié),都需要從商品管理系統(tǒng)中獲取數(shù)據(jù)。商品管理系統(tǒng)的合理設(shè)計(jì),不僅能夠滿足前端商品的多樣化展示,如SKU標(biāo)簽,還能夠支撐在復(fù)雜環(huán)境下,如多應(yīng)用或多平臺上共享商品的數(shù)據(jù),商品信息在訂單中的系統(tǒng)流轉(zhuǎn),可以說是電商的核心之一。于是我從這個(gè)出發(fā)點(diǎn)上,為電商企業(yè)的系統(tǒng)單獨(dú)設(shè)計(jì)了一個(gè)商品管理的后臺ERP系統(tǒng),方便企業(yè)對商品的數(shù)量、屬性和價(jià)格等方面進(jìn)行單獨(dú)處理,同時(shí)對管理商品的工作人員進(jìn)行權(quán)限設(shè)置,對各種管理的操作進(jìn)行日志記錄,實(shí)現(xiàn)對商品信息和人員信息的有效管理,讓電商企業(yè)的系統(tǒng)在日常使用中更加快捷、輕松。1.1.2開發(fā)意義本課題主要研究電商企業(yè)的工作人員在處理內(nèi)部系統(tǒng)上的一些重要數(shù)據(jù)的過程中應(yīng)該如何針對商品的數(shù)據(jù)和人員的使用權(quán)限進(jìn)行有效的管理,以及在實(shí)際調(diào)用商品數(shù)據(jù)的場景中的應(yīng)用。在互聯(lián)網(wǎng)的高速發(fā)展的時(shí)代環(huán)境下,越來越多的有價(jià)值的數(shù)據(jù)信息被創(chuàng)造出來,也就是被人們經(jīng)常提到的大數(shù)據(jù)時(shí)代。這意味著我們要對它們進(jìn)行合理的存儲和處理,它不僅是人類的生活產(chǎn)物,也決定著電商企業(yè)在未來的發(fā)展,但是有很多中小型的電商企業(yè),還沒有意識到數(shù)據(jù)的爆炸性增長對內(nèi)部系統(tǒng)帶來的問題隱患。網(wǎng)絡(luò)購物平臺其實(shí)就是在電商企業(yè)的系統(tǒng)中,用戶對商品的信息進(jìn)行瀏覽,這些信息的數(shù)據(jù)類型是不同的,是存儲在企業(yè)數(shù)據(jù)庫中的。一些大型企業(yè)會選擇將不同的數(shù)據(jù)分別放到不同的子系統(tǒng)或子模塊中,方便管理用戶的賬號數(shù)據(jù)和企業(yè)內(nèi)部數(shù)據(jù),就好像購物系統(tǒng)和內(nèi)部的商品管理系統(tǒng),如果商品的庫存是空的,那么購物系統(tǒng)是無法選購商品的?!渡唐饭芾砗笈_ERP系統(tǒng)》是為一些使用網(wǎng)站和數(shù)據(jù)庫平臺作為系統(tǒng)基礎(chǔ)的電商企業(yè)而開發(fā)設(shè)計(jì)的,一個(gè)專門對商品數(shù)據(jù)進(jìn)行信息化管理的系統(tǒng)。改變商品信息直接在購物網(wǎng)站頁面上顯示的方式,通過對數(shù)據(jù)庫的訪問獲取鍵值中的商品數(shù)據(jù),然后再調(diào)用方法把數(shù)據(jù)展示出來,這樣的設(shè)計(jì),確實(shí)提高了系統(tǒng)代碼和網(wǎng)站頁面的可重用性,減少了開發(fā)人員的工作量和用戶在使用方面的難度。這個(gè)系統(tǒng)的設(shè)計(jì)開發(fā)具有下面幾個(gè)意義:1)快速開發(fā)、內(nèi)置Tomcat容器、簡化項(xiàng)目配置的特點(diǎn)讓基于SpringBoot框架的商品管理系統(tǒng)在可用性方面得到有效的提高。2)這個(gè)系統(tǒng)的成功地設(shè)計(jì)開發(fā)將會促進(jìn)電商企業(yè)在商品管理中的信息化。3)學(xué)生能為學(xué)校的畢業(yè)設(shè)計(jì)課程上提供一個(gè)有用的課題,提高學(xué)生的創(chuàng)造能力。1.2商品管理后臺ERP系統(tǒng)的國內(nèi)外研究現(xiàn)狀1.2.1國內(nèi)研究現(xiàn)狀說到ERP(EnterpriseResourcePlanning)系統(tǒng),就要提一下項(xiàng)目管理,根據(jù)清華大學(xué)出版社的《系統(tǒng)集成項(xiàng)目管理工程師教程》中可得知,ERP概念由美國GartnerGroup公司于20世紀(jì)90年代提出,它是由MRP(MaterialRequirementPlanning)結(jié)合了信息化技術(shù),逐漸演變過來的。我們可以看出,早在二十世紀(jì)初,西方國家對項(xiàng)目的管理就已經(jīng)非常成熟、有經(jīng)驗(yàn)了,并且有統(tǒng)一的業(yè)內(nèi)標(biāo)準(zhǔn),而我國當(dāng)時(shí)還沒有建立起統(tǒng)一的標(biāo)準(zhǔn)規(guī)范體系,不同企業(yè)對項(xiàng)目管理的成功標(biāo)準(zhǔn)也是完全不相同的,合作上會存在較大的分歧。國內(nèi)的企業(yè)實(shí)施企業(yè)資源計(jì)劃的成功概率非常低,一方面是由于國內(nèi)互聯(lián)網(wǎng)普及的速度比較低,很多企業(yè)對商品信息的管理方式比較落后,大部分是用文本編輯或表格工具對商品的信息進(jìn)行處理,這樣的處理方式不僅效率低,而且面對大量的數(shù)據(jù),保存和查詢上也有一定的困難,不易于管理。使用ERP軟件管理的外在因素也很多,其中一個(gè)主要的原因是國外ERP產(chǎn)品的價(jià)格和后續(xù)的服務(wù)費(fèi)用過于昂貴,以及國內(nèi)ERP軟件廠商相互之間的惡性價(jià)格競爭。直到2003年,由中國生產(chǎn)力促進(jìn)中心協(xié)會組織制定,國家信息產(chǎn)業(yè)部批準(zhǔn),20家國內(nèi)ERP廠商參與的《企業(yè)資源規(guī)劃系統(tǒng)規(guī)范》正式成為行業(yè)標(biāo)準(zhǔn),于10月1日開始實(shí)施。據(jù)我所知,《ERP系統(tǒng)規(guī)范》分為7個(gè)部分,包括ERP、CRM、PDM、CPC、SCM、企業(yè)信息化監(jiān)理和OA。標(biāo)準(zhǔn)不規(guī)范的不良現(xiàn)象得到改善。目前國內(nèi)ERP開發(fā)行業(yè)正在逐漸崛起,不管是從用戶的數(shù)量還是發(fā)展的速度來看,國內(nèi)ERP行業(yè)在市場中的份額,已經(jīng)趕上國外ERP產(chǎn)品的市場份額了。1.2.2國外研究現(xiàn)狀相比之下,西方的國家對ERP實(shí)施的研究開始得比較早,研究成果也比我國豐富得多,ERP系統(tǒng)已經(jīng)成為國外企業(yè)進(jìn)行商業(yè)管理的重要手段之一,這就使得他們在管理方面的效率特別高,高效率的產(chǎn)業(yè)往往帶來高收益的回報(bào)。眾多國外企業(yè)成功實(shí)施ERP的案例表明,ERP作為一種先進(jìn)的管理概念,已經(jīng)通過ERP系統(tǒng)得以實(shí)現(xiàn),并且在實(shí)踐的過程中與企業(yè)信息化發(fā)展的整體戰(zhàn)略緊密結(jié)合,成為企業(yè)信息化發(fā)展的全面解決方案。如今,國外關(guān)于ERP的研究已經(jīng)發(fā)展到對ERP概念的不斷拓展和完善的階段。國外學(xué)者普遍的看法是,ERP系統(tǒng)涉及復(fù)雜的軟件功能,不但投資巨大,而且實(shí)施周期長。企業(yè)在實(shí)施ERP過程中,在項(xiàng)目管理、業(yè)務(wù)流程重組、文化整合、變更管理、組織學(xué)習(xí)等方面都面臨著巨大的挑戰(zhàn),將深刻地影響到企業(yè)的生存和發(fā)展。2001年美國著名的現(xiàn)代管理理論專家彼得·德魯克通過對美國8個(gè)企業(yè)實(shí)施ERP的情況進(jìn)行案例研究,以及組織專家會議,針對管理層面進(jìn)行討論,提出了一些建議,又從ERP實(shí)施顧問和企業(yè)參與者兩個(gè)不同的角度對實(shí)施ERP的關(guān)鍵成功因素進(jìn)行了實(shí)驗(yàn)對照,大部分的專家認(rèn)為,實(shí)施ERP系統(tǒng)最大的挑戰(zhàn)不是技術(shù)的問題,而是企業(yè)組織和管理的問題。這為進(jìn)一步的理論研究提供了新的研究方向和研究角度。1.3論文研究的方法和內(nèi)容1.3.1研究的方法本論文在撰寫過程的期間,參考了電商企業(yè)在日常中對商品信息的管理經(jīng)驗(yàn),并結(jié)合自身,對ERP系統(tǒng)需要做什么的理解,進(jìn)行詳細(xì)的分析,使用了下面幾種研究方法:1、文獻(xiàn)資料的收集:在設(shè)計(jì)開展的初期,通過瀏覽、閱讀國內(nèi)和國外的文獻(xiàn),學(xué)習(xí)了解相關(guān)系統(tǒng)的設(shè)計(jì)思路,收集實(shí)踐資料和案例,進(jìn)行對比后,提取有助于系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的方法。2、功能模塊的分析:通過對系統(tǒng)的需求分析,分析各模塊之間的聯(lián)系,對系統(tǒng)的功能進(jìn)行分塊式的劃分,按照內(nèi)聚耦合的模塊化工程導(dǎo)論思想,把它們劃分成獨(dú)立而又相互依賴的模塊,在開發(fā)階段中,控制設(shè)計(jì)的范圍,防止范圍的蔓延,有助于確定系統(tǒng)的邊界,提高自己對這個(gè)系統(tǒng)的整體認(rèn)識。3、實(shí)踐經(jīng)驗(yàn)的總結(jié):通過對系統(tǒng)測試,發(fā)現(xiàn)容易發(fā)生錯(cuò)誤的地方,進(jìn)行全面的綜合歸納比較,改善不足之處,減少初期階段對設(shè)計(jì)的盲目性,有助于往后的開發(fā)設(shè)計(jì)。1.3.2研究的內(nèi)容本篇論文主要介紹了如何使用Idea開發(fā)工具上使用SpringBoot框架和Node.JS腳本運(yùn)行環(huán)境,開發(fā)出一款適合電商企業(yè)內(nèi)部工作人員使用的商品管理系統(tǒng)。開源的輕量級開發(fā)框架,簡化了新Spring應(yīng)用的搭建及開發(fā),但大大減少了企業(yè)的成本,加上由于自身對框架認(rèn)知度有限,這個(gè)系統(tǒng)比較適合中小型電商企業(yè)的使用范疇。集成了開發(fā)環(huán)境和運(yùn)行環(huán)境的Node.JS,它有一個(gè)叫NMP的包管理器,可以管理很多用JavaScript實(shí)現(xiàn)的功能插件包,能夠?yàn)橛脩籼峁┯押?、美觀的操作界面。系統(tǒng)主要實(shí)現(xiàn)了對相關(guān)工作人員的權(quán)限管理,以及對錄入商品的各種信息的管理,同時(shí)還增加了對系統(tǒng)中一些操作的記錄,也就是日志管理,系統(tǒng)實(shí)現(xiàn)的功能模塊有權(quán)限管理模塊、應(yīng)用管理模塊、商品管理模塊、訂單管理模塊、系統(tǒng)配置物流模塊。論文設(shè)計(jì)的主要研究結(jié)果有以下幾點(diǎn):1、此次設(shè)計(jì)的系統(tǒng)所使用的整體框架和實(shí)現(xiàn)技術(shù),其中有能夠快速應(yīng)用開發(fā)的Spring框架,MySQL關(guān)系型數(shù)據(jù)庫等。2、使用Idea開發(fā)平臺以及附帶的開發(fā)工具、B/S的架構(gòu)和OSS阿里云存儲,實(shí)現(xiàn)一個(gè)基于Java語言的商品管理ERP系統(tǒng)。3、通過閱覽眾多文獻(xiàn)和對流行技術(shù)的研究,對系統(tǒng)的功能范圍進(jìn)行規(guī)劃分析,幫助確定系統(tǒng)的邊界,逐步選用適合完成開發(fā)的各種技術(shù),特別是系統(tǒng)的整體結(jié)構(gòu)和搭建的框架,根據(jù)對開發(fā)環(huán)境的兼容度,采用比較合適的數(shù)據(jù)存儲軟件和數(shù)據(jù)庫可視化工具。4、在商品管理系統(tǒng)的編碼過程中,遇到技術(shù)難點(diǎn)要即時(shí)查閱相關(guān)技術(shù)的資料,明確技術(shù)使用的特點(diǎn),實(shí)踐出系統(tǒng)的應(yīng)用場景,提供一定的實(shí)用價(jià)值。5、當(dāng)商品管理系統(tǒng)開發(fā)完成后,將對各個(gè)功能的模塊和側(cè)重點(diǎn)進(jìn)行測試,找出其中存在的不足,并對不足之處進(jìn)行合理改進(jìn),還要對測試的范圍進(jìn)行大致的介紹與分析。6、測試完以后要進(jìn)行經(jīng)驗(yàn)總結(jié),反省寫論文和做設(shè)計(jì)的時(shí)候,有哪些還需要多加鍛煉的地方,銘記師長的教誨,對未來的發(fā)展方向有所期盼。1.4研究擬解決的主要問題和總體安排1.4.1擬解決的主要問題首先對本課題的主要研究題目——“基于SpringBoot的商品管理后臺ERP系統(tǒng)”詮釋如下:《商品管理后臺ERP系統(tǒng)》是為一些使用網(wǎng)站和數(shù)據(jù)庫平臺作為系統(tǒng)基礎(chǔ)的電商企業(yè)或公司而開發(fā)設(shè)計(jì)的,專門對商品數(shù)據(jù)進(jìn)行統(tǒng)一信息化管理的一個(gè)系統(tǒng),以提高工作人員對眾多商品信息的管理效率,方便瀏覽商品,使其能夠及時(shí)快捷地對商品進(jìn)行各種操作并記錄對商品操作的相關(guān)信息。需要解決的主要問題是:這個(gè)項(xiàng)目能否完成對不同角色人員的權(quán)限分配,對商品信息的合理管理,比如種類、標(biāo)簽、價(jià)格、多SKU的規(guī)格和規(guī)格配置項(xiàng),能否讓購物頁面調(diào)用到這個(gè)后臺系統(tǒng)中的商品數(shù)據(jù),完成訂單等這幾個(gè)問題。1.4.2研究的總體安排按照本次畢業(yè)設(shè)計(jì)的課題背景和意義,根據(jù)電商企業(yè)對商品管理方面的一些特點(diǎn),逐步實(shí)現(xiàn)商品管理后臺ERP系統(tǒng)中各模塊的功能。系統(tǒng)將會對商品的數(shù)據(jù)進(jìn)行統(tǒng)一的信息化管理,其目的是在今后的日常辦公中,用來提高工作人員對眾多商品信息的管理效率,方便他們?yōu)g覽整個(gè)商品的列表,并使其能夠及時(shí)快捷地對商品進(jìn)行各種操作并記錄對商品操作的相關(guān)信息。開發(fā)的具體任務(wù)包括:依據(jù)《商品管理后臺ERP系統(tǒng)》的設(shè)計(jì)想法,搭建系統(tǒng)的總體框架,也就是項(xiàng)目的框架,完成MySQL數(shù)據(jù)庫中數(shù)據(jù)表的設(shè)計(jì)和制作,進(jìn)行編碼、實(shí)現(xiàn)系統(tǒng)的功能并進(jìn)行測試。

第2章商品管理ERP系統(tǒng)需求分析信息化處理事務(wù)的趨勢已經(jīng)開始體現(xiàn)在人們的日常生活中,人們開始享受到科學(xué)技術(shù)發(fā)展所帶來的各種便利,除此之外,在企業(yè)的管理中,面對以往一些繁瑣而又復(fù)雜的問題,既然能通過更有效的管理手段來實(shí)現(xiàn),那么對這種技術(shù)成果的需求也會愈加強(qiáng)烈。開發(fā)者們在了解他們需求的同時(shí),也會進(jìn)一步理解用戶的具體要求,通過對系統(tǒng)的成熟度、功能、性能等各方面進(jìn)行合理的分析,初期形成需求分析報(bào)告,由雙方領(lǐng)導(dǎo)審批通過后制訂需求規(guī)格說明書,以及對系統(tǒng)建設(shè)可行性的分析報(bào)告,較為常見的有技術(shù)可行性、經(jīng)濟(jì)可行性和社會可行性分析。經(jīng)過一系列嚴(yán)謹(jǐn)?shù)难邪l(fā)過程,來為企業(yè)提供一個(gè)可用的解決方案,共同促進(jìn)社會的發(fā)展。隨著錄入商品的種類、標(biāo)簽、價(jià)格、多SKU的規(guī)格和規(guī)格配置項(xiàng)這些多元化信息的不斷增加,僅用制作表格的賬本形式已經(jīng)無法實(shí)現(xiàn)合理的管理,為了方便人們購物的同時(shí),過于單調(diào)的商品信息也讓購買商品的人無法精確查找到自己需要的商品,或者沒有及時(shí)更新商品庫存數(shù)量的信息,導(dǎo)致購物者無法在這個(gè)平臺上購物,那么購物者就會放棄在這里的購物活動,對企業(yè)而言就是沒有抓住市場機(jī)會,造成了損失。而針對一些已經(jīng)下單的商品訂單,沒有及時(shí)進(jìn)行處理,那么也會降低購物者對平臺的信任。為了保障企業(yè)的收益和消費(fèi)者的權(quán)益,商品管理ERP系統(tǒng)就是負(fù)責(zé)處理這些事務(wù)的,體現(xiàn)出它應(yīng)有的價(jià)值。2.1系統(tǒng)功能需求分析按照電商企業(yè)在實(shí)際應(yīng)用的場景,供內(nèi)部使用的商品管理系統(tǒng)需求定義如下:1、權(quán)限管理模塊:被賦予了相關(guān)權(quán)限的系統(tǒng)使用者將會在這里顯示,進(jìn)行統(tǒng)一的管理,能夠添加、修改不同的角色。還可以對管理員進(jìn)行狀態(tài)的啟用和停用,避免刪除后無法去追溯以前該用戶對系統(tǒng)的操作記錄。提供系統(tǒng)日志,記錄對系統(tǒng)的所有操作,且可以查看日志中的詳細(xì)情況。2、應(yīng)用管理模塊:可以對那些調(diào)用了商品信息接口的第三方平臺或應(yīng)用進(jìn)行添加、修改、禁用的操作。為了防止未經(jīng)授權(quán)的第三方使用商品信息,還設(shè)置了密鑰和密文通信,只有被授予了密鑰和密文的應(yīng)用,才能在購物頁面使用商品的信息,然后進(jìn)行商品的下單等其他操作。3、商品管理模塊:這里有商品分類、商品標(biāo)簽、商品列表、商品回收站四個(gè)子功能,其中商品分類和標(biāo)簽都是為了更詳細(xì)地對商品進(jìn)行個(gè)性化管理而設(shè)置的,可以對分類進(jìn)行添加、修改、禁用的操作,并且有層級的分類和顯示。商品標(biāo)簽在分類具有的功能上還可以使用多種顏色標(biāo)簽。除了對商品添加、修改、刪除,擁有權(quán)限的工作人員就可以在商品列表中對商品進(jìn)行進(jìn)一步的管理,審核商品、上架或下架商品、對商品庫存的出庫或入庫操作。如果是多SKU的商品,還可以在添加商品的過程中,編輯商品的規(guī)格和配置規(guī)格項(xiàng)。被刪除的商品可以在回收站中查看、還原或徹底刪除。4、訂單管理模塊:通過已授權(quán)的第三方平臺或應(yīng)用對商品進(jìn)行下單操作后,生成的訂單將會顯示在這里,可以對訂單進(jìn)行關(guān)閉、配置貨運(yùn)進(jìn)行發(fā)貨等操作,發(fā)貨后快遞單號將會鎖定,有發(fā)貨日志可供查看。5、系統(tǒng)配置模塊:工作人員可以對負(fù)責(zé)貨物運(yùn)輸?shù)目爝f公司進(jìn)行添加、修改或刪除的操作。商品管理ERP系統(tǒng)的功能模塊圖如圖2.1所示:圖2.1系統(tǒng)功能模塊圖下面是經(jīng)過需求分析后對劃分出的功能做進(jìn)一步的分析。(1)權(quán)限管理角色:不同的部門職位具有不同的角色職能,他們都有相應(yīng)的權(quán)限,所以會在這里對角色進(jìn)行管理,一般由超級管理員負(fù)責(zé)角色的添加或修改。管理員用戶:管理所有管理員以及其他角色用戶的地方,當(dāng)系統(tǒng)用戶登陸進(jìn)來以后,可以對自己的密碼進(jìn)行修改操作,密碼采用MD5的方法加密。超級管理員可以對其他用戶的賬號狀態(tài)進(jìn)行啟用或禁用,被禁用的賬號無法登陸系統(tǒng)。以上兩點(diǎn)就是針對用戶管理做出的功能。系統(tǒng)日志:查看所有用戶對系統(tǒng)的操作記錄,可以進(jìn)行復(fù)雜查詢??紤]到每個(gè)操作對系統(tǒng)都有一定的影響,所以系統(tǒng)操作記錄一般不可以刪除。(2)應(yīng)用管理應(yīng)用添加:當(dāng)企業(yè)和新的第三方平臺或應(yīng)用成為合作伙伴、需要提供商品信息的時(shí)候,就需要進(jìn)行添加操作并把狀態(tài)設(shè)置成啟用,添加后會生成密鑰和密文,平臺或應(yīng)用方調(diào)用商品信息的時(shí)候就需要在代碼中引入,有效保障了傳輸過程中參數(shù)信息的安全。應(yīng)用修改:當(dāng)?shù)谌狡脚_或應(yīng)用更新了他們的圖標(biāo)或LOGO,就可以在這里進(jìn)行修改操作。應(yīng)用禁用:合作終止或不使用本系統(tǒng)的商品信息的情況下,將狀態(tài)更新成禁用即可,考慮到合作歷史需要溯源,應(yīng)用不刪除。(3)商品管理商品添加:添加新的商品信息,其中分類和標(biāo)簽經(jīng)過添加后可以自定義這兩個(gè)信息,商品編號可自動生成也可手動生成,對商品的銷售價(jià)格和市場價(jià)格進(jìn)行設(shè)置。實(shí)現(xiàn)了將商品設(shè)置成多SKU,設(shè)置了多SKU的商品可以進(jìn)一步詳細(xì)配置它的規(guī)格名稱和規(guī)格項(xiàng)??梢蕴砑佣鄰埳唐返膱D片,圖片保存在阿里云的OSS服務(wù)器當(dāng)中。商品修改:修改商品信息。商品刪除:將商品信息放到商品回收站,防止因操作不當(dāng)引起的誤刪。商品審核:被添加的商品需要經(jīng)過審核才可以進(jìn)行上架或入庫操作。商品出入庫:增加單件商品的庫存數(shù)量,數(shù)量為0的時(shí)候無法下單購買。商品上下架:上架的商品且有庫存才能購買,當(dāng)某商品有問題時(shí)需要停止購買,可以進(jìn)行下架操作,被下架的商品有庫存也無法購買。(4)訂單管理訂單查看:查看所有狀態(tài)的訂單概要信息和訂單來源,需要對訂單信息做進(jìn)一步的了解時(shí),可查看更詳細(xì)的支付、收貨等詳細(xì)信息。訂單發(fā)貨:確認(rèn)訂單后需要將商品發(fā)貨、選擇進(jìn)行貨運(yùn)的快遞公司并填寫快遞單號,確認(rèn)發(fā)貨后鎖定單號信息,不可修改。訂單關(guān)閉:購物者放棄或需要重新購買的情況下,對訂單進(jìn)行關(guān)閉操作。訂單備注:備注訂單的一些信息。(5)系統(tǒng)配置物流公司添加:電商企業(yè)一般會和快遞貨運(yùn)公司進(jìn)行合作,也需要在訂單中選擇合適的、購物者需要的快遞公司進(jìn)行商品的運(yùn)輸。為了保證快遞公司的真實(shí)性,可添加其公司的上市代碼。物流公司修改:修改已添加快遞公司的信息。物流公司刪除:終止合作后,由于快遞單號主要由快遞公司負(fù)責(zé)管理,所以不屬于電商企業(yè)在商品方面的管理范疇,可刪除。2.2系統(tǒng)的建模系統(tǒng)根據(jù)用戶的角色職能,劃分為不同的權(quán)限群體,然后進(jìn)行建模。建模提供了系統(tǒng)的藍(lán)圖,對現(xiàn)實(shí)存在的實(shí)體進(jìn)行抽象和簡化[1]。系統(tǒng)中存在管理員、普通用戶這2個(gè)基礎(chǔ)角色。不同角色擁有不同的權(quán)限,而且管理員可以對普通用戶的個(gè)人信息進(jìn)行編輯修改。(1)超級管理員用例圖:作為系統(tǒng)權(quán)限的最高控制者,會擁有對系統(tǒng)所有功能的使用權(quán)。通過全方位的控制,對整個(gè)系統(tǒng)進(jìn)行管理工作和普通用戶一般無權(quán)限去設(shè)置的復(fù)雜操作。創(chuàng)建系統(tǒng)的時(shí)候開發(fā)人員都會預(yù)留出一個(gè)超級管理員的角色用戶,一方面是為了在初步構(gòu)建系統(tǒng)時(shí)進(jìn)行測試登陸訪問,另一方面是測試系統(tǒng)各個(gè)功能模塊的可用性,這里包括對系統(tǒng)的權(quán)限管理、應(yīng)用管理、商品管理、訂單管理、系統(tǒng)配置管理。超級管理員一般會由企業(yè)的高層領(lǐng)導(dǎo)使用,有特殊情況需要處理時(shí)才可供他人使用。圖2.2超級管理員用例圖(2)普通用戶用例圖:普通用戶所屬的角色有很多種,比如倉庫管理員和訂單業(yè)務(wù)員,但他們都無法對權(quán)限管理模塊做任何操作,下面就以訂單業(yè)務(wù)員的角色職位畫出用例圖。圖2.3訂單業(yè)務(wù)員用例圖2.3系統(tǒng)的可行性研究2.3.1商品管理ERP系統(tǒng)的開發(fā)周期面向現(xiàn)實(shí)世界人類生產(chǎn)、生活中的具體應(yīng)用的,為了提高人類活動的質(zhì)量、效率而存在的軟件可以統(tǒng)稱為信息系統(tǒng)[2]。軟件在信息系統(tǒng)中屬于較復(fù)雜的部件,可以借用軟件的生命周期來表示信息系統(tǒng)的生命周期,軟件的生命周期通常包括,可行性分析與項(xiàng)目開發(fā)計(jì)劃、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試、驗(yàn)收、維護(hù)、廢棄等階段,大致周期如下:(1)需求分析:是為了準(zhǔn)確理解需求提出者和系統(tǒng)的功能、性能、可靠性等具體要求的階段,從而確定系統(tǒng)必須做什么的一個(gè)重要步驟。(2)概要設(shè)計(jì):又稱系統(tǒng)設(shè)計(jì),這一步需要確定系統(tǒng)的架構(gòu)和使用的數(shù)據(jù)庫軟件,對功能模塊進(jìn)行劃分。(3)編碼、測試:在概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)完成后,開始實(shí)現(xiàn)系統(tǒng)的各個(gè)功能并測試功能可以實(shí)現(xiàn)的關(guān)鍵步驟。(4)系統(tǒng)的維護(hù):保證系統(tǒng)能夠在使用過程中的正常運(yùn)行,以及系統(tǒng)發(fā)生未知的情況時(shí)需要做出的處理。2.3.2技術(shù)可行性和經(jīng)濟(jì)可行性商品管理ERP系統(tǒng)采用Java語言進(jìn)行編碼開發(fā),具有分布式、平臺獨(dú)立和可移植性等特點(diǎn)。SpringBoot框架屬于開源的免費(fèi)框架,減少了大量的開發(fā)時(shí)間并降低了開發(fā)成本,快速配置的特點(diǎn)也簡化了項(xiàng)目搭建的過程[3]。采用Node.JS作為JavaScript代碼的運(yùn)行環(huán)境,一定程度上緩解了服務(wù)器的壓力。作為系統(tǒng)數(shù)據(jù)核心的數(shù)據(jù)庫,選用了免費(fèi)的關(guān)系型數(shù)據(jù)庫軟件MySQL。開發(fā)平臺Idea擁有強(qiáng)大的整合能力,對Maven、Spring等的完美支持,這些都比Eclipse更具有優(yōu)勢。除去開發(fā)時(shí)間上的成本,本系統(tǒng)在技術(shù)和經(jīng)濟(jì)上完全可行。2.3.3社會可行性和系統(tǒng)可行性本系統(tǒng)面向的使用對象主要是中小型電商企業(yè),僅供企業(yè)內(nèi)部工作人員使用,系統(tǒng)一次研發(fā),除了以后的更新維護(hù)以及淘汰問題需要考慮,可長期使用,在法律上不存在任何侵權(quán)等行為,在社會可行性方面符合要求。這個(gè)輕量級的開發(fā)系統(tǒng)對服務(wù)器要求方面不高,企業(yè)購置不低于1臺的服務(wù)器就可以滿足系統(tǒng)運(yùn)行的要求。而且本系統(tǒng)的用戶,主要是對商品進(jìn)行管理的角色,使用的工作人員不多,因此在系統(tǒng)可行性方面也符合使用要求。綜上所述,可以進(jìn)行商品管理ERP系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。

第3章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1系統(tǒng)的設(shè)計(jì)3.1.1總體設(shè)計(jì)系統(tǒng)的總體設(shè)計(jì)也稱為系統(tǒng)的物理模型設(shè)計(jì)。20世紀(jì)40年代末由美國蘭德公司提出了系統(tǒng)分析這個(gè)概念,開發(fā)人員在系統(tǒng)分析的基礎(chǔ)上,將系統(tǒng)分析階段能夠反映用戶需求的邏輯模型轉(zhuǎn)換為可以具體實(shí)施的信息系統(tǒng)的物理模型,解決信息系統(tǒng)“怎么做”的問題。根據(jù)技術(shù)、經(jīng)濟(jì)和運(yùn)行環(huán)境等方面的條件,確定出系統(tǒng)的結(jié)構(gòu)和范圍,為系統(tǒng)的實(shí)施提供必要的技術(shù)方案,是開發(fā)中的重要環(huán)節(jié)之一。軟件系統(tǒng)的總體設(shè)計(jì)包括:系統(tǒng)布局方案的設(shè)計(jì)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計(jì)、數(shù)據(jù)存儲方案的設(shè)計(jì)、計(jì)算機(jī)配置設(shè)計(jì)。3.1.2詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)是系統(tǒng)開發(fā)中緊接著總體設(shè)計(jì)的一個(gè)步驟,就是對總體設(shè)計(jì)的一個(gè)細(xì)化。結(jié)合對用戶的需求分析,設(shè)計(jì)每個(gè)模塊中的內(nèi)容,各部分的詳細(xì)設(shè)計(jì)有代碼的設(shè)計(jì)、選用技術(shù)的設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等內(nèi)容。3.2系統(tǒng)的架構(gòu)設(shè)計(jì)和技術(shù)模型—視圖—控制器模式又簡稱為MVC模式,是20世紀(jì)80年代誕生的一種軟件設(shè)計(jì)模式,它簡化了分組開發(fā),開發(fā)人員能夠各自處理自己的任務(wù),現(xiàn)在已被JavaEE開發(fā)平臺所廣泛使用。(1)模型層:模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則的部分,在三者當(dāng)中擁有最多的處理任務(wù),模型反饋的數(shù)據(jù)是中立的、與數(shù)據(jù)格式無關(guān)的,并且它能夠?yàn)槎鄠€(gè)視圖提供數(shù)據(jù)。(2)視圖層:簡單來說就是與用戶交互的界面,將模型的信息展示給用戶,用戶可通過視圖向模型層發(fā)出請求命令,獲取需要展示的數(shù)據(jù)信息,來對模型做出更進(jìn)一步的操作。(3)控制器:控制器會接收用戶的輸入命令并調(diào)用模型和視圖去完成請求過程,它僅是接收請求并決定調(diào)用哪個(gè)模型部件去處理,然后再確定哪個(gè)視圖來顯示返回的數(shù)據(jù),本身不會輸出任何東西,也不會做處理。圖3.2系統(tǒng)結(jié)構(gòu)圖以下是系統(tǒng)主要使用的開發(fā)框架和使用到的技術(shù):SpringBoot是2013年由Pivotal團(tuán)隊(duì)提供的基于Spring4.0設(shè)計(jì)、開源的輕量級框架,它不僅繼承了Spring框架原有的優(yōu)秀特性,而且還通過簡化配置來進(jìn)一步簡化了Spring應(yīng)用的整個(gè)項(xiàng)目的搭建和開發(fā)過程[4]。另外SpringBoot通過集成大量的框架使得各種依賴包的版本沖突得到妥善解決。SpringBoot所具備的特征有:(1)可以創(chuàng)建獨(dú)立的Spring應(yīng)用程序,并且基于其Maven或Gradle插件,可以創(chuàng)建可執(zhí)行的JARs和WARs。(2)內(nèi)嵌ApacheTomcat或Jetty等Servlet容器。(3)提供自動配置的“starter”項(xiàng)目對象模型(POMS)以簡化Maven配置。(4)盡可能的自動配置Spring容器。Node.JS作為一個(gè)全新的開發(fā)軟件,它所具備的特點(diǎn)有:(1)Node.JS是一個(gè)讓JavaScript運(yùn)行在服務(wù)端的運(yùn)行環(huán)境,它讓JavaScript成為與PHP、Python等語言平起平坐的服務(wù)端腳本語言。用于方便地搭建響應(yīng)速度快、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。(2)Node.JS使用事件驅(qū)動,I/O模型,從而得以輕量和高效地工作,非常適合在分布式設(shè)備上運(yùn)行數(shù)據(jù)密集型的實(shí)時(shí)應(yīng)用[5]。React性能出眾,代碼邏輯卻非常簡單。所以,開發(fā)者們開始關(guān)注和使用,它可能是將來Web開發(fā)的主流工具。它主要用于構(gòu)建UI。你可以在React里傳遞多種類型的參數(shù),如聲明代碼。它的特點(diǎn)有:(1)React采用了范式聲明,可以輕松地描述應(yīng)用。(2)React通過對HTML元素的模擬,最大限度地減少與元素交互。(3)React可以與已知的庫或框架很好地配合,非常靈活、高效率。3.3數(shù)據(jù)庫設(shè)計(jì)由于微軟出品的SQLSERVER數(shù)據(jù)庫不是免費(fèi)開放的軟件,所以采用了Oracle公司旗下的MySQL數(shù)據(jù)庫軟件,它具有體積小、成本低、開源等特點(diǎn),非常適合用來作為中小型電商企業(yè)的網(wǎng)站數(shù)據(jù)庫。根據(jù)用戶的需求,在數(shù)據(jù)庫中設(shè)計(jì)數(shù)據(jù)庫的結(jié)構(gòu)和建立相應(yīng)的數(shù)據(jù)庫,對數(shù)據(jù)表之間的關(guān)聯(lián)進(jìn)行邏輯分析,除了構(gòu)建實(shí)體的數(shù)據(jù)表以外,還需要在設(shè)計(jì)過程中引入中間表來幫助關(guān)聯(lián),解決因?yàn)閿?shù)據(jù)量過多或者查詢比較復(fù)雜造成系統(tǒng)反饋速度過慢的問題,數(shù)據(jù)庫最好不要存儲任何資源文件,比如照片、視頻等,可以盡量使用外部鏈接來代替,這里我就使用了阿里云的OSS云存儲平臺來存放圖片。按照設(shè)計(jì),本系統(tǒng)一共搭建了22張數(shù)據(jù)表,現(xiàn)將部分的數(shù)據(jù)表展示如下:①.管理員/用戶信息表:角色id、真實(shí)姓名、賬號、密碼、狀態(tài)、創(chuàng)建時(shí)間。②.應(yīng)用信息表:應(yīng)用id、應(yīng)用名稱、密鑰、密文、應(yīng)用描述、縮略圖、狀態(tài)、創(chuàng)建時(shí)間。③.商品信息表:商品id、創(chuàng)建時(shí)間、種類id、商品說明、市場價(jià)格、銷售價(jià)格、商品名稱、商品總庫存、審核狀態(tài)、縮略圖、商品編號等。④.訂單信息表:訂單id、創(chuàng)建時(shí)間、收貨地址、收貨人姓名、支付方式、手機(jī)號碼、應(yīng)用id、郵政編碼、訂單編碼等。⑤.商品標(biāo)簽信息表:標(biāo)簽id、創(chuàng)建時(shí)間、顏色代碼、標(biāo)簽名稱、更新時(shí)間。⑥.商品種類信息表:id、創(chuàng)建時(shí)間、欄目級別、種類名稱、父分類ID、狀態(tài)、更新時(shí)間。(1)管理員/用戶信息表Status為使用狀態(tài)信息,0為啟用,1為禁用。表3.1admin_user表列名數(shù)據(jù)類型可否為空備注idInt(11)NOTNULL角色idcreate_timeTimestampNOTNULL創(chuàng)建時(shí)間passwordVarchar(32)NOTNULL密碼realnameVarchar(32)NOTNULL真實(shí)姓名statusTinyint(11)NOTNULL使用狀態(tài)usernameVarchar(64)NOTNULL賬號(2)應(yīng)用信息表Status為使用狀態(tài)信息,0為啟用,1為禁用。表3.2app表列名數(shù)據(jù)類型可否為空備注idInt(11)NOTNULL應(yīng)用idcreate_timeTimestampNOTNULL創(chuàng)建時(shí)間descVarchar(255)NOTNULL應(yīng)用描述keyVarchar(32)NOTNULL密鑰nameVarchar(32)NOTNULL應(yīng)用名稱secretVarchar(32)NOTNULL密文statusTinyint(11)NOTNULL狀態(tài)thumbVarchar(255)NOTNULL縮略圖(3)商品信息表Status為狀態(tài)信息,0為上架,1為下架。表3.3goods表列名數(shù)據(jù)類型可否為空備注idInt(11)NOTNULL商品idcreate_timeTimestampNOTNULL創(chuàng)建時(shí)間category_idInt(11)NOTNULL商品分類detailTextNULL商品詳情examine_statusTinyint(2)NOTNULL審核狀態(tài)goods_noVarchar(32)NOTNULL商品編號has_multi_skuTinyint(1)NOTNULL是否含有多SKUis_deletedTinyint(2)NOTNULL是否刪除,0否1是market_priceInt(11)NOTNULL市場價(jià)格nameVarchar(255)NOTNULL商品名稱selling_priceInt(11)NOTNULL銷售價(jià)格statusTinyint(2)NOTNULL狀態(tài),0上1下stockInt(11)NOTNULL總庫存thumbVarchar(255)NOTNULL縮略圖update_timeTimestampNOTNULL修改后的更新時(shí)間(4)訂單信息表Status為狀態(tài)信息,4為待審核,5為待發(fā)貨,6為已發(fā)貨,99為已關(guān)閉。表3.4goods_order表列名數(shù)據(jù)類型可否為空備注idInt(11)NOTNULL訂單idcreate_timeTimestampNOTNULL創(chuàng)建時(shí)間addressVarchar(255)NOTNULL收貨地址addresseeVarchar(32)NOTNULL收件人admin_remarkVarchar(255)NULL管理員備注app_idInt(11)NOTNULL應(yīng)用IDarea_codeInt(11)NOTNULL地區(qū)郵政編碼order_snVarchar(32)NOTNULL訂單編號close_timeDatetimeNULL關(guān)閉時(shí)間pay_cash_typeVarchar(32)NOTNULL支付方式phoneVarchar(32)NOTNULL手機(jī)號碼statusTinyint(2)NOTNULL訂單狀態(tài)is_paidTinyint(2)NOTNULL是否已支付out_trade_noVarchar(32)NOTNULL應(yīng)用訂單號(5)商品標(biāo)簽信息表表3.5goods_tag表列名數(shù)據(jù)類型可否為空備注idInt(11)NOTNULL標(biāo)簽idcreate_timeTimestampNOTNULL創(chuàng)建時(shí)間colorVarchar(32)NOTNULL顏色代碼titleVarchar(32)NOTNULL標(biāo)簽名稱update_timeTimestampNOTNULL標(biāo)簽更新時(shí)間(6)商品種類信息表Status為使用狀態(tài)信息,0為啟用,1為禁用。表3.6goods_category表列名數(shù)據(jù)類型可否為空備注idInt(11)NOTNULL種類idcreate_timeTimestampNOTNULL創(chuàng)建時(shí)間levelTinyint(2)NOTNULL欄目級別nameVarchar(32)NOTNULL分類名稱pidInt(11)NOTNULL父分類IDstatusTinyint(2)NOTNULL狀態(tài)update_timeTimestampNOTNULL分類更新時(shí)間3.4系統(tǒng)的實(shí)現(xiàn)過程及界面展示按照系統(tǒng)的范圍定義以及開發(fā)的整體效果,將會對系統(tǒng)中的幾個(gè)功能模塊頁面進(jìn)行展示,并對實(shí)現(xiàn)過程中的技術(shù)難點(diǎn)進(jìn)行分析和講解。其中模塊分別有:1、權(quán)限管理模塊;2、應(yīng)用管理模塊;3、商品管理模塊;4、訂單管理模塊;5、系統(tǒng)配置快遞模塊。3.4.1登錄系統(tǒng)界面的實(shí)現(xiàn)下圖所示是系統(tǒng)登錄的界面,當(dāng)用戶輸入端口網(wǎng)址后,就會先來到這個(gè)頁面,頁面有兩個(gè)輸入框,檢測用戶名和密碼是否正確,否則無法進(jìn)入系統(tǒng),步驟如下:用戶操作:用戶分別輸入用戶名和密碼,如果用戶名或密碼不正確,頁面上方會彈出一個(gè)提示信息,告訴用戶輸入錯(cuò)誤,如果忘記密碼,及時(shí)聯(lián)系管理員;如果用戶名對應(yīng)的密碼一致,系統(tǒng)后臺會判斷用戶屬于什么角色,并賦予相應(yīng)的權(quán)限,然后進(jìn)入系統(tǒng)頁面。圖3.3提示信息圖圖3.4登錄頁面圖技術(shù)介紹:登錄方面上采用了SpringBoot底層安全模塊默認(rèn)的安全框架SpringSecurity技術(shù),它可以實(shí)現(xiàn)強(qiáng)大的Web安全控制。我們僅需在POM.xml文件中引入spring-boot-starter-security的依賴包,并進(jìn)行接口的配置即可,只要加入了依賴,項(xiàng)目的所有接口都會被自動保護(hù)起來。圖3.5SpringSecurity流程原理圖這里面有個(gè)關(guān)鍵類Authentication,它是一個(gè)接口,是用來表示用戶認(rèn)證信息的,在用戶登錄認(rèn)證之前相關(guān)信息會封裝為一個(gè)Authentication具體實(shí)現(xiàn)類的對象,在登錄認(rèn)證成功之后又會生成一個(gè)信息更全面,包含用戶權(quán)限等信息的Authentication對象,然后把它保存在SecurityContextHolder所持有的SecurityContext接口中,供后續(xù)的程序進(jìn)行調(diào)用,如訪問權(quán)限的鑒定等,將上述產(chǎn)生的Authentication對象傳遞給相關(guān)的實(shí)現(xiàn)類,進(jìn)行認(rèn)證。圖3.6Authentication接口它支持Form表單和HttpBasic兩種不同的認(rèn)證方式。以及對登錄的用戶名和密碼進(jìn)行配置,這里通過Java代碼配置在內(nèi)存中,首先需要我們創(chuàng)建一個(gè)SpringSecurity的配置類,集成自WebSecurityConfigurerAdapter類,如下所示:圖3.7SpringSecurity實(shí)現(xiàn)圖為了安全起見,這里使用了MD5的加密方式對用戶密碼進(jìn)行加密。對于登錄接口、登錄成功后的響應(yīng)或登錄失敗后的響應(yīng),我們都可以在WebSecurityConfig實(shí)現(xiàn)類中進(jìn)行配置。例如下圖:圖3.8登錄配置接口圖3.4.2應(yīng)用管理功能的實(shí)現(xiàn)當(dāng)用戶進(jìn)入系統(tǒng)后,會看到左側(cè)有對應(yīng)功能模塊的導(dǎo)航欄,點(diǎn)擊應(yīng)用管理按鈕時(shí),系統(tǒng)頁面會進(jìn)入應(yīng)用管理模塊,這時(shí)系統(tǒng)會對應(yīng)用平臺列表執(zhí)行一次查詢,并顯示所有已添加的應(yīng)用平臺以及它們的狀態(tài),點(diǎn)擊相應(yīng)的按鈕,就可以對應(yīng)用的管理做進(jìn)一步的操作。應(yīng)用管理模塊包括應(yīng)用平臺信息的查看、應(yīng)用平臺的添加、應(yīng)用平臺的修改,修改中還可以對應(yīng)用的狀態(tài)進(jìn)行調(diào)整,比如啟用或禁用,是企業(yè)對已合作平臺或應(yīng)用的管理,考慮到以后合作的續(xù)約,應(yīng)用不刪除。圖3.9應(yīng)用管理界面圖用戶點(diǎn)擊應(yīng)用管理后會看到一個(gè)應(yīng)用列表按鈕,點(diǎn)擊后對已有的應(yīng)用進(jìn)行一次查詢,列表左側(cè)的勾選后可對應(yīng)用進(jìn)行修改信息或狀態(tài),通過SpringBoot攔截器跳轉(zhuǎn)至AppController控制器里面,傳入應(yīng)用的id作為應(yīng)用的唯一標(biāo)識。然后調(diào)用AppRepository的接口,進(jìn)去它的實(shí)現(xiàn)類,通過傳入的id執(zhí)行相關(guān)對數(shù)據(jù)庫的操作語句,最后以JSON數(shù)據(jù)的形式返回給控制器,將數(shù)據(jù)顯示到列表中。圖3.10Key和Secret的生成圖3.11應(yīng)用管理操作圖3.4.3角色管理功能的實(shí)現(xiàn)管理員進(jìn)入系統(tǒng)后點(diǎn)擊權(quán)限管理,會下拉出三個(gè)功能按鈕,分別是角色、管理員用戶、系統(tǒng)日志。點(diǎn)擊角色按鈕,就可以對角色進(jìn)行添加并分配權(quán)限,或者修改已存在角色的權(quán)限;點(diǎn)擊管理員用戶按鈕,管理員就可以添加或修改用戶的賬號、密碼、真實(shí)姓名等信息;點(diǎn)擊系統(tǒng)日志按鈕,管理員就可以查看所有對系統(tǒng)操作的記錄。部分代碼如下所示:@Secured("ROLE_ADMIN_USER_INSERT")@PostMapping("/adminUser/insert")publicJSONResultaddUser(AdminUseradminUser,@RequestParam(value="roleId",required=false)List<Long>roleId){AdminUseradminUser1=adminUserRepository.findAdminUserByUsername(StringUtils.trim(adminUser.getUsername()));if(adminUser1!=null){returnnewJSONResult(ErrorCode.DUPLICATE_KEY,"該用戶名已存在");}adminUser.setPassword(DigestUtils.md5Hex(adminUser.getTmpPwd()));adminUserRepository.save(adminUser);if(roleId!=null){assigningRoles(adminUser.getId(),roleId);}adminUser.setTmpPwd("******");returnnewJSONResult().put("model",adminUser);}圖3.12人員信息錄入圖@Transactional@Secured("ROLE_ADMIN_USER_UPDATE")@PostMapping("/adminUser/update")publicJSONResultupdateUser(AdminUseradminUser,@RequestParam(value="roleId",required=false)List<Long>roleId){AdminUseruser=adminUserRepository.findById(adminUser.getId()).orElse(null);if(user==null){returnnewJSONResult(ErrorCode.NO_DATA,"該用戶不存在");}AdminUseruser1=adminUserRepository.findAdminUserByUsername(StringUtils.trim(adminUser.getUsername()));if(user1!=null&&user1.getId()!=adminUser.getId()){returnnewJSONResult(ErrorCode.DUPLICATE_KEY,"該用戶名已存在");}BeanUtils.copyProperties(adminUser,user);if(!adminUser.getTmpPwd().equals("******")){user.setPassword(DigestUtils.md5Hex(adminUser.getTmpPwd()));}adminUserRepository.save(user);adminRoleRepository.deleteByAdminUserId(adminUser.getId());if(roleId!=null){assigningRoles(adminUser.getId(),roleId);}user.setTmpPwd("******");returnnewJSONResult().put("count",1).put("model",user);}圖3.13人員信息錄入成功圖管理員點(diǎn)擊新增按鈕,就會彈出一個(gè)新增員工信息的窗口表單,每個(gè)輸入框都是必填的,否則會出現(xiàn)提示,點(diǎn)擊OK后。表單會把填好的信息放進(jìn)entities的AdminUser類中,通過AdminUserRepository接口,對數(shù)據(jù)進(jìn)行存取和獲得。后臺跳轉(zhuǎn)至相應(yīng)的控制層,進(jìn)行獲取用戶信息數(shù)據(jù)的操作,進(jìn)去相應(yīng)的實(shí)現(xiàn)類,若返回大量的用戶數(shù)據(jù),則進(jìn)行翻頁操作,頁面顯示數(shù)據(jù)量可調(diào)整。Controller完成操作后,傳輸數(shù)據(jù)到前端頁面,前端頁面獲得數(shù)據(jù)后,判斷是否保存成功并給出對應(yīng)的提示。3.4.4前端Node.JS運(yùn)行環(huán)境的搭建簡單來說Node.JS就是運(yùn)行JavaScript腳本的運(yùn)行環(huán)境,可通過NPM包管理器來一鍵配置需要的JS包代碼,無需再從項(xiàng)目中寫頁面代碼。下面就說明一些配置過程,首先需要下載并安裝Node.JS。圖3.14Node.JS的安裝新版的Node.JS已自帶NPM包管理器,安裝Node.JS時(shí)會一起安裝,它的作用就是對Node.JS依賴的包進(jìn)行管理,也可以理解為用來安裝或卸載Node.JS需要裝的東西,安裝好以后運(yùn)行項(xiàng)目中的JS包就可以使用了。測試安裝是否成功的方法:按Win鍵+R鍵打開命令提示符,輸入下列指令:node-versionnpm–vnpmhelp可以查看幫助命令,提供使用幫助。需要安裝相關(guān)環(huán)境,輸入下面的指令即可:npminstallmysql–gnpminstalljade–gnpminstallmongodbnpminstallexpress–g進(jìn)入CMD后,打開項(xiàng)目所在的路徑,進(jìn)入react-admin目錄下,輸入cnpmrundev啟動前端的開發(fā)運(yùn)行環(huán)境,啟動成功之后如下圖所示:圖3.15Node.JS啟動成功圖3.5本章小結(jié)本章中對商品管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)做了簡單的介紹,首先介紹系統(tǒng)的整體結(jié)構(gòu)和技術(shù),將系統(tǒng)分成5個(gè)大模塊進(jìn)行開發(fā),并介紹了其中部分模塊的操作流程。同時(shí)還介紹了系統(tǒng)登陸中認(rèn)證過程所使用到技術(shù)、角色權(quán)限的分配、管理員對人員信息的管理、應(yīng)用平臺信息的管理、Node.JS的安裝與使用,分別講述了這些內(nèi)容的實(shí)現(xiàn)過程。還展示了系統(tǒng)在數(shù)據(jù)庫中所使用的部分?jǐn)?shù)據(jù)表。最后給出了開發(fā)后的一些顯示的界面。

第4章系統(tǒng)的測試系統(tǒng)測試是軟件生命周期中,一個(gè)必不可少的過程。因?yàn)樗潜WC系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟,是系統(tǒng)發(fā)布、提交給用戶之前的最終環(huán)節(jié),驗(yàn)證整個(gè)系統(tǒng)是否滿足用戶規(guī)定的需求。同時(shí)也有助于開發(fā)者對后續(xù)的維護(hù)和相似的系統(tǒng)開發(fā),提供寶貴的經(jīng)驗(yàn)。4.1系統(tǒng)測試的目的和意義系統(tǒng)測試的主要目的是為了檢驗(yàn)系統(tǒng)是否能正常地運(yùn)行工作,以及在交付給用戶使用之前盡可能多的發(fā)現(xiàn)已編程序中存在的缺陷,保證產(chǎn)品與用戶的需求相吻合,是用戶需要的系統(tǒng)。測試要根據(jù)項(xiàng)目開發(fā)初期的需求規(guī)格說明書對系統(tǒng)中的功能模塊進(jìn)行逐一比對,檢驗(yàn)系統(tǒng)的完善程度或者有沒有超出系統(tǒng)范圍定義的地方,一款能夠被用戶認(rèn)可的軟件系統(tǒng)肯定是穩(wěn)定的、可靠的。然而,剛開發(fā)的版本必然存在著許多不確定的未知風(fēng)險(xiǎn),測試的意義就是面對風(fēng)險(xiǎn),將問題進(jìn)行暴露,提供一個(gè)更好的產(chǎn)品給用戶。4.2軟件測試中常用的方法測試是為了評價(jià)和改進(jìn)系統(tǒng)或軟件的質(zhì)量、識別系統(tǒng)的缺陷而進(jìn)行的活動[6]。軟件測試是針對一個(gè)程序的行為,在有限的測試用例上,動態(tài)驗(yàn)證軟件是否達(dá)到預(yù)期的行為。測試不只是一種僅在編碼階段完成后才開始的活動,而應(yīng)該包括在整個(gè)開發(fā)和維護(hù)過程中的活動,它本身也是軟件產(chǎn)品構(gòu)造的一部分。軟件測試通??梢栽诟拍钌蟿澐譃槿齻€(gè)階段:單元測試、集成測試、系統(tǒng)測試。軟件測試通過后還有一個(gè)驗(yàn)收測試,是在軟件交付使用前,開發(fā)和使用雙方共同測試的環(huán)節(jié)。1.單元測試單元測試是顆粒度最小的測試,一般由開發(fā)小組成員采用結(jié)構(gòu)測試來測試,主要是為了測試單元是否符合設(shè)計(jì),對最小可測試單元進(jìn)行檢測和驗(yàn)證。2.集成測試集成測試介于單元測試和系統(tǒng)測試之間,采用功能測試和結(jié)構(gòu)測試相結(jié)合的方法進(jìn)行測試,既驗(yàn)證設(shè)計(jì)也驗(yàn)證需求。主要用來測試單元與單元之間的接口,同時(shí)還測試一些功能模塊是否正常運(yùn)行,并將測試結(jié)果記錄下來。3.系統(tǒng)測試系統(tǒng)測試是顆粒度最大的測試,一般由獨(dú)立的測試小組成員采用黑盒測試、安全測試、壓力測試等方法來進(jìn)行,目的是為了測試系統(tǒng)是否符合軟件的《需求規(guī)格說明書》。在通過上述三種測試階段后,再把整個(gè)系統(tǒng)模擬到真實(shí)的使用環(huán)境中進(jìn)行驗(yàn)收測試。4.驗(yàn)收測試驗(yàn)收測試是最后的測試環(huán)節(jié),依照雙方合同約定的系統(tǒng)的使用環(huán)境,編寫測試用例、建立測試環(huán)境、執(zhí)行驗(yàn)收測試,確保系統(tǒng)的功能和技術(shù)設(shè)計(jì)滿足用戶的功能需求和非功能需求,并能正常運(yùn)行,最后出具驗(yàn)收測試報(bào)告。4.3測試用例及測試結(jié)果本次測試將會著重關(guān)注“商品管理后臺ERP系統(tǒng)”項(xiàng)目中各個(gè)功能模塊的測試情況,目的是對系統(tǒng)是否存在缺陷進(jìn)行的檢查。4.3.1功能測試用例因系統(tǒng)中含有的功能較多,本章小節(jié)只給出部分測試用例及測試結(jié)果。登錄功能功能描述1、用戶在網(wǎng)頁地址欄輸入端口訪問地址,跳轉(zhuǎn)至登錄界面。2、輸入用戶名和密碼,后臺校驗(yàn)后給出相應(yīng)的信息。3、如果用戶名或密碼為空,前端校驗(yàn)是否會給出相應(yīng)的提示信息。用例目的檢查該功能是否符合用戶預(yù)期的要求前提條件無輸入或操作期望的輸出結(jié)果實(shí)際情況端口訪問地址輸入頁面顯示正常,顯示內(nèi)容與設(shè)計(jì)要求一致頁面顯示正常,顯示內(nèi)容與設(shè)計(jì)要求一致未輸入用戶名,未輸入密碼,點(diǎn)擊登錄按鈕輸入框變成紅色,提示信息內(nèi)容:這是必填字段輸入框變成紅色,提示信息內(nèi)容:這是必填字段輸入用戶名,未輸入密碼,點(diǎn)擊登錄按鈕提示信息內(nèi)容:這是必填字段提示信息內(nèi)容:這是必填字段未輸入用戶名,輸入密碼,點(diǎn)擊登錄按鈕提示信息內(nèi)容:這是必填字段提示信息內(nèi)容:這是必填字段輸入正確的用戶名和正確的密碼,點(diǎn)擊登錄按鈕跳轉(zhuǎn)到主頁面,進(jìn)入系統(tǒng)首頁跳轉(zhuǎn)到主頁面,進(jìn)入系統(tǒng)首頁輸入錯(cuò)誤的用戶名,正確的密碼,點(diǎn)擊登錄按鈕提示信息內(nèi)容:登錄失敗,賬號或密碼錯(cuò)誤,請聯(lián)系管理員提示信息內(nèi)容:登錄失敗,賬號或密碼錯(cuò)誤,請聯(lián)系管理員輸入正確的用戶名,錯(cuò)誤的密碼,點(diǎn)擊登錄按鈕提示信息內(nèi)容:登錄失敗,賬號或密碼錯(cuò)誤,請聯(lián)系管理員提示信息內(nèi)容:登錄失敗,賬號或密碼錯(cuò)誤,請聯(lián)系管理員用戶名輸入’or1=1#,密碼任意輸入,點(diǎn)擊登錄按鈕提示信息內(nèi)容:登錄失敗,賬號或密碼錯(cuò)誤,請聯(lián)系管理員提示信息內(nèi)容:登錄失敗,賬號或密碼錯(cuò)誤,請聯(lián)系管理員用戶名輸入空格,密碼輸入非空且非空格字符串,點(diǎn)擊登錄按鈕提示信息內(nèi)容:登錄失敗,賬號或密碼錯(cuò)誤,請聯(lián)系管理員提示信息內(nèi)容:登錄失敗,賬號或密碼錯(cuò)誤,請聯(lián)系管理員輸入正確的用戶名密碼,點(diǎn)擊登錄按鈕,測試響應(yīng)時(shí)間相應(yīng)時(shí)間不超過5秒相應(yīng)時(shí)間不超過4秒查詢功能功能描述查詢系統(tǒng)日志、商品信息等系統(tǒng)已存在的數(shù)據(jù)信息。用例目的檢查該功能是否符合用戶預(yù)期的要求前提條件用戶成功登錄,進(jìn)入系統(tǒng)首頁輸入或操作期望的輸出結(jié)果實(shí)際情況選擇輸入單個(gè)查詢字段,點(diǎn)擊查詢按鈕數(shù)據(jù)存在,查詢出符合條件的記錄;數(shù)據(jù)不存在,則顯示為空數(shù)據(jù)存在,查詢出符合條件的記錄;數(shù)據(jù)不存在,則顯示為空選擇輸入多個(gè)查詢字段,進(jìn)行復(fù)雜查詢數(shù)據(jù)存在,查詢出符合條件的記錄;數(shù)據(jù)不存在,則顯示為空數(shù)據(jù)存在,查詢出符合條件的記錄;數(shù)據(jù)不存在,則顯示為空輸入不完整的查詢字段,進(jìn)行模糊查詢既能顯示查詢的數(shù)據(jù)結(jié)果,也能顯示與查詢數(shù)據(jù)相關(guān)的結(jié)果既能顯示查詢的數(shù)據(jù)結(jié)果,也能顯示與查詢數(shù)據(jù)相關(guān)的結(jié)果,但排序上會優(yōu)先顯示有查詢字段的結(jié)果查詢字段全部為空,直接點(diǎn)擊查詢按鈕查詢并顯示所有結(jié)果查詢并顯示所有結(jié)果商品信息管理功能功能描述1、添加或更新商品信息,并分頁的顯示商品列表。2、管理商品的上下架狀態(tài)。3、商品庫存數(shù)量的管理。用例目的檢查該功能是否符合用戶預(yù)期的要求前提條件用戶成功登錄,進(jìn)入系統(tǒng)首頁,擁有商品信息管理的權(quán)限輸入或操作期望的輸出結(jié)果實(shí)際情況點(diǎn)擊商品管理模塊導(dǎo)航模塊導(dǎo)航下拉,顯示對商品管理的功能按鈕模塊導(dǎo)航下拉,顯示對商品管理的功能按鈕點(diǎn)擊商品列表按鈕進(jìn)入商品信息頁面,查詢所有商品信息,若有數(shù)據(jù),顯示商品信息進(jìn)入商品信息頁面,查詢所有商品信息,若有數(shù)據(jù),顯示商品信息點(diǎn)擊“>”翻頁按鈕成功進(jìn)入下一頁,并且頁數(shù)上顯示為下一頁的頁數(shù)成功進(jìn)入下一頁,并且頁數(shù)顯示為下一頁的頁數(shù)。而且可以調(diào)整每頁顯示的數(shù)目,若顯示的數(shù)目小于規(guī)定顯示的數(shù)目,則全部都在第一頁顯示點(diǎn)擊單個(gè)商品的“上架”按鈕已通過審核的商品,成功將商品上架,未通過的無法上架已通過審核的商品,成功將商品上架,未通過的無法上架點(diǎn)擊“新增”按鈕彈出新增的頁面框,填入商品信息后,點(diǎn)擊OK按鈕進(jìn)行保存,更新商品列表后,顯示新添加的商品彈出新增的頁面框,填入商品信息后,點(diǎn)擊OK按鈕進(jìn)行保存,更新商品列表后,顯示新添加的商品點(diǎn)擊“入庫”按鈕,輸入入庫的數(shù)值彈出進(jìn)行入庫的頁面框,輸入商品需要入庫的數(shù)值,點(diǎn)擊OK按鈕進(jìn)行保存,成功后刷新頁面,更新顯示的庫存數(shù)量彈出進(jìn)行入庫的頁面框,輸入商品需要入庫的數(shù)值,點(diǎn)擊OK按鈕進(jìn)行保存,成功后刷新頁面,更新顯示的庫存數(shù)量選中單個(gè)商品,點(diǎn)擊“刪除”按鈕商品被刪除,商品列表刷新,不再顯示該商品的所有信息商品被刪除,商品列表刷新,不再顯示該商品的所有信息,可以在商品回收站列表中執(zhí)行恢復(fù)商品和徹底刪除的操作系統(tǒng)日志功能功能描述記錄所有用戶對系統(tǒng)的每一個(gè)操作、模塊的路徑。用例目的檢查該功能是否符合用戶預(yù)期的要求前提條件用戶成功登錄,進(jìn)入系統(tǒng)首頁,擁有查看系統(tǒng)日志的權(quán)限輸入或操作期望的輸出結(jié)果實(shí)際情況點(diǎn)擊權(quán)限管理的導(dǎo)航欄,點(diǎn)擊系統(tǒng)日志按鈕查詢的響應(yīng)時(shí)間小于4S響應(yīng)時(shí)間在2S到3S之間點(diǎn)擊“>”翻頁按鈕成功進(jìn)入下一頁,并且頁數(shù)上顯示為下一頁的頁數(shù)成功進(jìn)入下一頁,并且頁數(shù)顯示為下一頁的頁數(shù)。而且可以調(diào)整每頁顯示的數(shù)目,若顯示的數(shù)目小于規(guī)定顯示的數(shù)目,則全部都在第一頁顯示點(diǎn)擊“查看詳情”按鈕彈出日志詳情的顯示框,可以查看操作的路徑、參數(shù)值彈出日志詳情的顯示框,可以查看操作的路徑、參數(shù)值點(diǎn)擊日志日期,選擇查詢的時(shí)間范圍數(shù)據(jù)存在,查詢出符合日期的記錄;數(shù)據(jù)不存在,則顯示為空數(shù)據(jù)存在,查詢出符合日期的記錄;數(shù)據(jù)不存在,則顯示為空4.4本章小結(jié)在本章節(jié)中,為大家介紹了軟件開發(fā)和維護(hù)中的測試階段和常用的測試方法,對本次設(shè)計(jì)制作的系統(tǒng)進(jìn)行了部分用例的測試,并將測試的結(jié)果進(jìn)行展示。軟件測試的意義在于能夠促進(jìn)被鑒定軟件的完整性、正確性和安全性,衡量軟件系統(tǒng)的質(zhì)量,并對其是否能滿足設(shè)計(jì)要求進(jìn)行評估的一個(gè)過程。在本次測試中,系統(tǒng)的各項(xiàng)功能都能順利的完成用戶需要實(shí)現(xiàn)的功能,系統(tǒng)可以正常運(yùn)行,在測試期間也通過了每個(gè)測試步驟。商品管理后臺ERP系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)可以完成在用戶需求分析中提到的要求。

第5章結(jié)束語5.1全文總結(jié)本論文介紹了商品管理后臺ERP系統(tǒng)的設(shè)計(jì)與開發(fā)過程,以中小型電商企業(yè)為視角,對內(nèi)部工作人員的角色職位進(jìn)行了需求分析,從而得知一些需要使用這個(gè)系統(tǒng)的有系統(tǒng)的超級管理員、人事管理員、商品審核員、商品貨管員、訂單業(yè)務(wù)員等基本角色,根據(jù)這些角色也對系統(tǒng)的功能模塊進(jìn)行了劃分,分別為權(quán)限管理模塊、應(yīng)用管理模塊、商品管理模塊、訂單管理模塊、系統(tǒng)物流配置模塊。系統(tǒng)使用Java開發(fā)語言在Idea開發(fā)平臺上進(jìn)行編寫和SpringBoot框架的搭建,Node.JS作為JS腳本語言的運(yùn)行環(huán)境使得開發(fā)過程中相對友好一些,強(qiáng)大的包管理器讓前端的設(shè)計(jì)更好處理。系統(tǒng)加入對角色的權(quán)限管理,使管理員更加輕松地為每個(gè)用戶分配相應(yīng)的權(quán)限,每當(dāng)使用系統(tǒng)的職位增加了,管理員創(chuàng)建角色的時(shí)候在權(quán)限表中的方框打勾就可以了,減少了管理員的使用難度。商品管理是本系統(tǒng)的核心,在管理各種商品信息的同時(shí),還加入了對商品層級的分類和商品標(biāo)簽的管理,使上架的商品可以以多SKU的形式展現(xiàn)在各種應(yīng)用或平臺上,供購物者進(jìn)行多樣化的選擇。數(shù)據(jù)庫則采用了MySQL軟件,比其他類型的數(shù)據(jù)庫更容易使用。最終這個(gè)系統(tǒng)設(shè)計(jì)在本文的需求分析上達(dá)到要求。5.2課題展望本系統(tǒng)雖然是對商品和訂單進(jìn)行管理的系統(tǒng),但由于開發(fā)軟件上的限制和資源經(jīng)費(fèi)的缺乏,面向的主要還是規(guī)模比較小的電商企業(yè)公司,若需要廣泛使用,可能要對數(shù)據(jù)庫的選用做出調(diào)整。存在的不足之處有:(1)系統(tǒng)的界面顯示過于單調(diào),版式不夠新穎。(2)個(gè)人信息的填寫比較正式,沒有個(gè)性化的設(shè)置,互動性不強(qiáng)。(3)管理員的權(quán)限比較大,其他角色能使用的功能模塊較少。

參考文獻(xiàn):[1]王小玲,安劍奇.數(shù)據(jù)庫技術(shù)與應(yīng)用(SQLServer2008版)[M].中國水利水電出版社,2014。[2]楊弘平.UML2基礎(chǔ)、建模與設(shè)計(jì)教程[M].清華大學(xué)出版社,2015。[3]劉增杰.MySQL5.7從入門到精通[M].清華大學(xué)出版社,2016。[4]李妍.商品在線管理系統(tǒng)的設(shè)計(jì)[D],2018。[5]張海藩,牟永敏.軟件工程導(dǎo)論[M].清華大學(xué)出版社,2013。[6]王福.SpringBoot揭秘[M].機(jī)械工業(yè)出版社,2016。[7]方騰飛.Java并發(fā)編程的藝術(shù)[M].機(jī)械工業(yè)出版社,2015。[8]鐘強(qiáng).Node.JS平臺下Web前端架構(gòu)的研究[J].無線互聯(lián)科技,2013。[9]楊家煒.基于SpringBoot的web設(shè)計(jì)與實(shí)現(xiàn)[J].輕工科技,2016。[10]馮潞溪.淺談ERP系統(tǒng)在我國企業(yè)管理中的應(yīng)用[J].環(huán)渤海經(jīng)濟(jì)瞭望,2019。[11]朱成.基于配置化的ERP開發(fā)平臺的設(shè)計(jì)與實(shí)現(xiàn)[D],2009。[12]王愛平.軟件測試(第2版).清華大學(xué)出版社,2017。[13]BruceEckel.JAVA編程思想(第4版).機(jī)械工業(yè)出版社,2007。[14]FabianAulkemeier,Maria-EugeniaIacob,JosvanHillegersberg.Platform-basedcollaborationindigitalecosystems[J].ElectronicMarkets:TheInternationalJournalonNetworkedBusiness,2019,29(1)。[15]WalterCazzola,EdoardoVacchi.@Java:BringingaricherannotationmodeltoJava[J].ComputerLanguages,Systems&Structures,2014,40(1)。

致謝面對即將結(jié)束的大學(xué)生活,我的心中不禁有些感慨。回憶起那些校園時(shí)光,就好像發(fā)生在昨天,而我,卻永遠(yuǎn)活在今天手中的六便士,盼望著明天的月亮。此情此景,正如高考結(jié)束時(shí)那般似曾相識。如今,我又即將離開學(xué)校,踏上新的社會環(huán)境。懷念大學(xué)的圖書館,陪我度過了沒有課的每個(gè)早晨;感謝每一位在大學(xué)教過我的老師,我不僅學(xué)到了知識,還看到了不一樣的精彩人生。在指導(dǎo)老師的幫助下,我完成了自己本科階段的畢業(yè)論文,感謝唐盛平老師,在我編寫畢業(yè)設(shè)計(jì)中遇到困難的時(shí)候,及時(shí)糾偏并給予了許多有益的修改建議;感謝我身邊的同事和同學(xué),和我分享他們的經(jīng)驗(yàn)教訓(xùn),共同成長;感謝我的父母,在勞碌的工作中為我的學(xué)業(yè)提供保障,讓我專心學(xué)習(xí)。通過畢業(yè)設(shè)計(jì),我重新認(rèn)清了自己所掌握的技術(shù)水平,只有到項(xiàng)目中去實(shí)踐,才可以補(bǔ)充理論上的不足,從選題、收集資料、需求分析,再到設(shè)計(jì)、編碼和測試,每一步都是不可或缺的,這既是認(rèn)真的研發(fā)態(tài)度,也是今后的職業(yè)素養(yǎng)。最后,感謝審閱我論文的領(lǐng)導(dǎo)和老師們,感謝你們在百忙之中抽出寶貴的時(shí)間參加我的答辯,對我的論文和設(shè)計(jì)中存在的不足提出寶貴意見。

捷鍵與一些電腦小技巧HYPERLINKwinkey+d:

這是高手最常用的第一快捷組合鍵。這個(gè)快捷鍵組合可以將桌面上的所有窗口瞬間最小化,無論是聊天的窗口還是游戲的窗口……只要再次按下這個(gè)組合鍵,剛才的所有窗口都回來了,而且激活的也正是你最小化之前在使用的窗口!

--這個(gè)就是winkeywinkey+f:

不用再去移動鼠標(biāo)點(diǎn)“開始→搜索→文件和文件夾”了,在任何狀態(tài)下,只要一按winkey+f就會彈出搜索窗口。

winkey+r:

在我們的文章中,你經(jīng)常會看到這樣的操作提示:“點(diǎn)擊‘開始→運(yùn)行’,打開‘運(yùn)行’對話框……”。其實(shí),還有一個(gè)更簡單的辦法,就是按winkey+r!

alt+tab:

如果打開的窗口太多,這個(gè)組合鍵就非常有用了,它可以在一個(gè)窗口中顯示當(dāng)前打開的所有窗口的名稱和圖標(biāo)●,選中自己希望要打開的窗口,松開這個(gè)組合鍵就可以了。而alt+tab+shift鍵則可以反向顯示當(dāng)前打開的窗口。

winkey+e:

當(dāng)你需要打開資源管理器找文件的時(shí)候,這個(gè)快捷鍵會讓你感覺非?!八?!再也不用騰出一只手去摸鼠標(biāo)了!

小提示:

winkey指的是鍵盤上刻有windows徽標(biāo)的鍵●。winkey主要出現(xiàn)在104鍵和107鍵的鍵盤中。104鍵盤又稱win95鍵盤,這種鍵盤在原來101鍵盤的左右兩邊、ctrl和alt鍵之間增加了兩個(gè)windwos鍵和一個(gè)屬性關(guān)聯(lián)鍵。107鍵盤又稱為win98鍵盤,比104鍵多了睡眠、喚醒、開機(jī)等電源管理鍵,這3個(gè)鍵大部分位于鍵盤的右上方。

再補(bǔ)充點(diǎn)

F1顯示當(dāng)前程序或者windows的幫助內(nèi)容。

F2當(dāng)你選中一個(gè)文件的話,這意味著“重命名”

F3當(dāng)你在桌面上的時(shí)候是打開“查找:所有文件”對話框

F10或ALT激活當(dāng)前程序的菜單欄

windows鍵或CTRL+ESC打開開始菜單

CTRL+ALT+DELETE在win9x中打開關(guān)閉程序?qū)υ捒?/p>

DELETE刪除被選擇的選擇項(xiàng)目,如果是文件,將被放入回收站

SHIFT+DELETE刪除被選擇的選擇項(xiàng)目,如果是文件,將被直接刪除而不是

放入回收站

CTRL+N新建一個(gè)新的文件

CTRL+O打開“打開文件”對話框

CTRL+P打

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論