??作者簡(jiǎn)介:多年一線開發(fā)工作經(jīng)驗(yàn),分享技術(shù)代碼幫助學(xué)生學(xué)習(xí),獨(dú)立完成自己的項(xiàng)目或者畢業(yè)設(shè)計(jì)。
- 代碼可以私聊博主獲取。??
- 贈(zèng)送計(jì)算機(jī)畢業(yè)設(shè)計(jì)600個(gè)選題excel文件,幫助大學(xué)選題。
- 贈(zèng)送開題報(bào)告模板,幫助書寫開題報(bào)告。
作者完整代碼目錄供你選擇:
- 《Springboot網(wǎng)站項(xiàng)目》400套
- 《ssm網(wǎng)站項(xiàng)目》800套
- 《小程序項(xiàng)目》300套
- 《App項(xiàng)目》500套
- 《python網(wǎng)站項(xiàng)目》600套
?感興趣大家可以點(diǎn)點(diǎn)關(guān)注收藏,后續(xù)更新更多項(xiàng)目資料。?
項(xiàng)目演示(需要演示視頻可以私信我)
??????????
摘 ?要
網(wǎng)絡(luò)技術(shù)和計(jì)算機(jī)技術(shù)發(fā)展至今,已經(jīng)擁有了深厚的理論基礎(chǔ),并在現(xiàn)實(shí)中進(jìn)行了充分運(yùn)用,尤其是基于計(jì)算機(jī)運(yùn)行的軟件更是受到各界的關(guān)注。加上現(xiàn)在人們已經(jīng)步入信息時(shí)代,所以對(duì)于信息的宣傳和管理就很關(guān)鍵。因此商城購(gòu)物信息的管理計(jì)算機(jī)化,系統(tǒng)化是必要的。設(shè)計(jì)開發(fā)基于Vue的電子商城不僅會(huì)節(jié)約人力和管理成本,還會(huì)安全保存龐大的數(shù)據(jù)量,對(duì)于商城購(gòu)物信息的維護(hù)和檢索也不需要花費(fèi)很多時(shí)間,非常的便利。
基于Vue的電子商城是在MySQL中建立數(shù)據(jù)表保存信息,運(yùn)用Vue框架和Java語(yǔ)言編寫。并按照軟件設(shè)計(jì)開發(fā)流程進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。系統(tǒng)具備友好性且功能完善。管理員登錄進(jìn)入本人后臺(tái)之后,管理商品和用戶,對(duì)商品進(jìn)行出入庫(kù)操作,管理不同狀態(tài)的訂單。用戶查看商品資訊,收藏商品,評(píng)論商品,購(gòu)買商品,查看不同狀態(tài)的訂單。
基于Vue的電子商城在讓商城購(gòu)物信息規(guī)范化的同時(shí),也能及時(shí)通過數(shù)據(jù)輸入的有效性規(guī)則檢測(cè)出錯(cuò)誤數(shù)據(jù),讓數(shù)據(jù)的錄入達(dá)到準(zhǔn)確性的目的,進(jìn)而提升基于Vue的電子商城提供的數(shù)據(jù)的可靠性,讓系統(tǒng)數(shù)據(jù)的錯(cuò)誤率降至最低。
關(guān)鍵詞:基于Vue的電子商城;MySQL;Vue框架
1 緒論
1.1?課題背景
2020年是“雙11”的第12個(gè)年頭,受前期疫情影響消費(fèi)習(xí)慣發(fā)生大幅改變以及直播電商的快速發(fā)展,今年雙十一人們消費(fèi)熱情空前高漲。數(shù)據(jù)顯示,截至今日下午1時(shí),2020年“雙十一”全網(wǎng)銷售額已經(jīng)達(dá)到2673.65億元。其中,參與雙十一大促的品牌有81923個(gè),參與雙十一大促的SKU有31463842個(gè),在雙11大促期間發(fā)布的新品占比為6.41%。網(wǎng)購(gòu)現(xiàn)狀已經(jīng)變成了當(dāng)前社會(huì)的主要購(gòu)物方式之一,讓人們工作忙沒時(shí)間去商場(chǎng)購(gòu)物變成網(wǎng)上購(gòu)物?,F(xiàn)在網(wǎng)購(gòu)技術(shù)一般前后端分離,前端技術(shù)用到了VUE框架,后端用到了SSM框架進(jìn)行開發(fā)。
1.2 課題研究的目的和意義
基于Vue的電子商城在實(shí)際運(yùn)用中,對(duì)管理員的綜合素質(zhì)的提升也有幫助。因?yàn)榛赩ue的電子商城在減輕了商城購(gòu)物信息管理人員的工作量的同時(shí),還可以讓他們把節(jié)省出來(lái)的時(shí)間用來(lái)充實(shí)自己,提升個(gè)人能力,這樣才可以充分發(fā)揮基于Vue的電子商城提供的服務(wù),讓基于Vue的電子商城顯示數(shù)據(jù)信息的同時(shí),也可以快速完成數(shù)據(jù)處理,提升服務(wù)水平。而且基于Vue的電子商城開發(fā)需要投入的成本較低,但是后期運(yùn)用中,會(huì)產(chǎn)生大量效益,尤其是基于Vue的電子商城在進(jìn)行高負(fù)荷運(yùn)轉(zhuǎn)時(shí),還可以保證數(shù)據(jù)處理的質(zhì)量與數(shù)據(jù)安全,通過對(duì)處理工作的流程的優(yōu)化,可以節(jié)省傳統(tǒng)模式需要投入的人力和資金,從而降低信息管理的成本。另外,基于Vue的電子商城在讓商城購(gòu)物信息規(guī)范化的同時(shí),也能及時(shí)通過數(shù)據(jù)輸入的有效性規(guī)則檢測(cè)出錯(cuò)誤數(shù)據(jù),讓數(shù)據(jù)的錄入達(dá)到準(zhǔn)確性的目的,進(jìn)而提升基于Vue的電子商城提供的數(shù)據(jù)的可靠性,讓系統(tǒng)數(shù)據(jù)的錯(cuò)誤率降至最低。
1.3 國(guó)內(nèi)外概況
目前國(guó)內(nèi)外的購(gòu)物網(wǎng)站數(shù)不勝數(shù),模式主要有:B2C、C2C這兩種模式,國(guó)外的購(gòu)物網(wǎng)站例如eBay,亞馬遜等等都是相當(dāng)出色的購(gòu)物網(wǎng)站,為人們的購(gòu)物提供了方便;近幾年隨著國(guó)內(nèi)大量的互聯(lián)網(wǎng)公司的強(qiáng)勢(shì)崛起,在很多方面已經(jīng)處于全球領(lǐng)先的地位,國(guó)內(nèi)的購(gòu)物網(wǎng)站有淘寶,京東等知名購(gòu)物網(wǎng)站,這為電子商城后續(xù)的開發(fā)提供了很好的參考。
1.4 論文的組織結(jié)構(gòu)?
按照設(shè)計(jì)開發(fā)一個(gè)系統(tǒng)的常用流程來(lái)描述系統(tǒng),可以把系統(tǒng)分成分析階段,設(shè)計(jì)階段,實(shí)現(xiàn)階段,測(cè)試階段。所以在編寫系統(tǒng)的說(shuō)明文檔時(shí),根據(jù)系統(tǒng)所處的階段來(lái)描述系統(tǒng)的內(nèi)容。
緒論:這是對(duì)課題的背景,意義等內(nèi)容做出介紹。
系統(tǒng)開發(fā)技術(shù):這是對(duì)系統(tǒng)即將使用的技術(shù),包括使用的工具,編程的語(yǔ)言等做出介紹。
系統(tǒng)分析:這是對(duì)系統(tǒng)做出分析,包括投資前期必備的可行性分析,包括對(duì)用戶調(diào)研獲取的需求,包括系統(tǒng)運(yùn)行具備的性能等內(nèi)容做出介紹。
系統(tǒng)設(shè)計(jì):這是對(duì)系統(tǒng)進(jìn)行設(shè)計(jì),包括運(yùn)用繪圖工具設(shè)計(jì)的系統(tǒng)功能結(jié)構(gòu),包括設(shè)計(jì)的在數(shù)據(jù)庫(kù)中要?jiǎng)?chuàng)建的數(shù)據(jù)表的存儲(chǔ)結(jié)構(gòu)等內(nèi)容做出介紹。
系統(tǒng)實(shí)現(xiàn):這是對(duì)系統(tǒng)進(jìn)行編碼實(shí)現(xiàn)。包括實(shí)現(xiàn)的系統(tǒng)各個(gè)模塊的運(yùn)行效果等內(nèi)容做出介紹。
系統(tǒng)測(cè)試:這是對(duì)編制的系統(tǒng)進(jìn)行測(cè)試。包括功能的測(cè)試等內(nèi)容做出介紹。
2?系統(tǒng)開發(fā)技術(shù)
這部分內(nèi)容主要介紹本系統(tǒng)使用的技術(shù),包括使用的工具,編程的語(yǔ)言等內(nèi)容。
2.1 Java語(yǔ)言
Java語(yǔ)言自公元1995年至今,已經(jīng)超過25年了,依然在軟件開發(fā)上面有很大的市場(chǎng)占有率。當(dāng)年Sun公司發(fā)明Java就是為了發(fā)展一門跨平臺(tái)的高級(jí)編程語(yǔ)言,讓程序開發(fā)人員專注于程序開發(fā)過程,不需要關(guān)注服務(wù)器是屬于哪個(gè)平臺(tái),因?yàn)榭缙脚_(tái)的特性讓語(yǔ)言發(fā)展的很迅速。Java的發(fā)展,吸收了C++這些語(yǔ)言的優(yōu)點(diǎn),因?yàn)樾律挛镆话憔褪墙鉀Q老舊事物一些痛點(diǎn)的,雖然Java也有很多缺點(diǎn),但是起碼也算是一種發(fā)展方向。學(xué)習(xí)Java不需要太多的指針這些理念,也不用學(xué)習(xí)太過復(fù)雜的數(shù)據(jù)結(jié)構(gòu)理論,比如什么堆棧這些概念,除非某些特殊行業(yè)對(duì)這些要求相當(dāng)嚴(yán)謹(jǐn)之外,一般用Java開發(fā)程序是不用考慮各種各樣的數(shù)據(jù)結(jié)構(gòu)的。因?yàn)镴ava屬于一種強(qiáng)類型語(yǔ)言,已經(jīng)對(duì)各種數(shù)據(jù)定義了各種相應(yīng)的類型。Java對(duì)數(shù)據(jù)類型定義分為兩大種,一種是基本類型,含有8個(gè)基本屬性,另一個(gè)是包裝類?;绢惡桶b類從根本的定義上,都有很明顯的區(qū)分,計(jì)算機(jī)運(yùn)行也會(huì)有很明顯的差別,如果用錯(cuò)了會(huì)編譯錯(cuò)誤還會(huì)影響運(yùn)行效果的,Java的各種優(yōu)點(diǎn)只需要按部就班的學(xué)習(xí)使用即可。
2.2 SSM框架
本課題開發(fā)的應(yīng)用程序主要采用的框架技術(shù)是SSM,是Java語(yǔ)言的一種框架集合的簡(jiǎn)稱,目前在Java語(yǔ)言方面,主要有兩大分支,一個(gè)是主攻Java語(yǔ)言,學(xué)習(xí)了Java基礎(chǔ)之后,會(huì)有很多Java進(jìn)階框架進(jìn)行學(xué)習(xí),主要是針對(duì)應(yīng)用程序后臺(tái)進(jìn)行開發(fā)設(shè)計(jì),另一方面是轉(zhuǎn)行去學(xué)習(xí)安卓語(yǔ)言,主要是做安卓的前端設(shè)計(jì)方面,雖然也是Java語(yǔ)言,但是主要去學(xué)習(xí)安卓平臺(tái)的各種架構(gòu)和框架了。但是不管前端應(yīng)用如何,SSM框架主要是針對(duì)服務(wù)端方面進(jìn)行開發(fā)的一個(gè)主流框架集合。針對(duì)于傳統(tǒng)的SSH框架的臃腫,配置繁瑣,不管是開發(fā)還是二次開發(fā)都會(huì)造成時(shí)間上大量的浪費(fèi),并且學(xué)習(xí)上面也不能有效銜接,需要去適應(yīng)框架的各種設(shè)計(jì),而框架設(shè)計(jì)比較死板,容易出錯(cuò)。SSM框架是當(dāng)前最流行的,告別了繁瑣的配置,讓配置更加靈活,讓數(shù)據(jù)操作更加方便,選擇SSM框架進(jìn)行開發(fā)感覺是很合適的。
2.3 MYSQL數(shù)據(jù)庫(kù)
關(guān)系型數(shù)據(jù)庫(kù)設(shè)計(jì),對(duì)于數(shù)據(jù)庫(kù)字段類型的設(shè)計(jì)以及字段長(zhǎng)度的設(shè)計(jì),都無(wú)時(shí)無(wú)刻的影響著后續(xù)程序開發(fā)后大量數(shù)據(jù)操作的運(yùn)行效率。關(guān)系型數(shù)據(jù)庫(kù)對(duì)不同的字段類型都有解釋,本著課題所需的應(yīng)用程序開發(fā),尋找最適合的關(guān)系型數(shù)據(jù)庫(kù),基本上都有考慮。關(guān)系型數(shù)據(jù)庫(kù)發(fā)展至今也有幾十年了,優(yōu)勝劣汰導(dǎo)致到現(xiàn)在還依然存在的關(guān)系型數(shù)據(jù)庫(kù)其實(shí)并不多,基本上也都能滿足應(yīng)用程序的功能所需,所以要從其他方面來(lái)進(jìn)行考慮數(shù)據(jù)庫(kù)的選擇。從安裝維護(hù)上面考慮,SQL Server數(shù)據(jù)庫(kù)有好幾個(gè)G的安裝包,并且安裝過程中會(huì)安裝很多不需要的功能,非常占用資源。Oracle數(shù)據(jù)庫(kù)不比SQL Server安裝包小,并且安裝也會(huì)出現(xiàn)很多問題,對(duì)于課題所需來(lái)講,沒必要這么麻煩,并且安裝還需要各種激活,只有MySQL數(shù)據(jù)庫(kù)完全適合,幾十兆大小的安裝包,運(yùn)行起來(lái)壓力不大,畢竟開發(fā)電腦上還有很多其他有用的東西,而且完全免費(fèi),所以選擇了MySQL數(shù)據(jù)庫(kù)作為首選數(shù)據(jù)庫(kù)。
2.4 Vue框架
Vue就是Vue.js框架,是用來(lái)構(gòu)建用戶在瀏覽器訪問界面的一種漸進(jìn)式框架。在學(xué)習(xí)Vue框架之前需要先學(xué)習(xí)網(wǎng)頁(yè)構(gòu)建的基本知識(shí),那就是HTML以及CSS和JavaScript這些語(yǔ)言的規(guī)則。Vue就是在這個(gè)基礎(chǔ)之上,只關(guān)注視圖層次,采用從底層到上層的增量開發(fā)設(shè)計(jì)。Vue的目標(biāo)就是讓相應(yīng)的數(shù)據(jù)綁定與視圖組件結(jié)合在一起,盡情的通過API來(lái)實(shí)現(xiàn),而不需要內(nèi)容與動(dòng)態(tài)顯示內(nèi)容寫到一起,使用Vue使程序開發(fā)人員徹底的從網(wǎng)頁(yè)設(shè)計(jì)和后臺(tái)開發(fā)進(jìn)行了徹底分離,使得程序開發(fā)人員更加專注于自己專業(yè)領(lǐng)域的開發(fā),不管是從可讀性還是寫作性上面,都會(huì)讓開發(fā)效率獲得提升。使用Vue需要注意的是不支持IE8瀏覽器以及IE8以下的所有版本的瀏覽器,只支持IE8以上比較新的瀏覽器版本。
3 系統(tǒng)分析
這部分內(nèi)容雖然在開發(fā)流程中處于最開始的環(huán)節(jié),但是它對(duì)接下來(lái)的設(shè)計(jì)和實(shí)現(xiàn)起著重要的作用,因?yàn)橄到y(tǒng)分析結(jié)果的好壞,將直接影響后面環(huán)節(jié)的開展。
3.1可行性研究
影響系統(tǒng)開發(fā)的因素有很多,比如開發(fā)成本高就不適合開展,或者是開發(fā)時(shí)間超過了預(yù)期,也不適合開展等等。所以,在正式作出開發(fā)決策前,研究系統(tǒng)可行性問題,從經(jīng)濟(jì),時(shí)間,操作等角度論證系統(tǒng)是否可以開展。
3.1.1經(jīng)濟(jì)可行性
基于Vue的電子商城可以簡(jiǎn)化工作流程,提供信息處理功能,并可以長(zhǎng)期保存數(shù)據(jù),在后期的數(shù)據(jù)查詢與編輯中耗時(shí)少,提升信息管理效率,其帶來(lái)的收益比較可觀。對(duì)于本系統(tǒng)開發(fā),無(wú)論是開發(fā)需要使用的計(jì)算機(jī),還是開發(fā)工具等投入的成本很低,計(jì)算機(jī)是機(jī)房的電腦,開發(fā)工具是從網(wǎng)上下載安裝的,并沒有收取費(fèi)用。
3.1.2時(shí)間可行性
基于Vue的電子商城是作為本人畢設(shè)項(xiàng)目的一個(gè)作品,學(xué)院也充分預(yù)留了制作時(shí)間,并且在每個(gè)時(shí)間段,都安排了相應(yīng)的任務(wù),所以根據(jù)這個(gè)時(shí)間安排開展工作,是可以對(duì)本系統(tǒng)進(jìn)行設(shè)計(jì)完成的。
3.1.3操作可行性
隨著電腦的普及,已經(jīng)有很多人可以獨(dú)立操作電腦了。而本系統(tǒng)就是在配置了運(yùn)行環(huán)境的電腦上運(yùn)行,其功能簡(jiǎn)單,省去了很多繁瑣的操作邏輯,使用者通過頁(yè)面導(dǎo)航可以直接進(jìn)入功能操作區(qū),所以稍微懂點(diǎn)電腦的人,都可以輕松完成系統(tǒng)的使用。
綜上所述,本系統(tǒng)可以開展接下來(lái)的工作了。
3.2系統(tǒng)性能分析
為了降低本系統(tǒng)在實(shí)際使用中的出錯(cuò)率,就需要分析系統(tǒng)具備的性能。常見的可以評(píng)估系統(tǒng)的性能的指標(biāo)有安全性,易用性,健壯性等。
3.2.1系統(tǒng)易用性
系統(tǒng)提供的信息和服務(wù)都有特定的用戶群,所以,一個(gè)容易操作的系統(tǒng)相比一個(gè)不方便使用的系統(tǒng)來(lái)講,用戶還是更加青睞于使用方便的系統(tǒng)。所以系統(tǒng)具備易用性就顯得非常重要。
3.2.2系統(tǒng)健壯性
系統(tǒng)在與用戶進(jìn)行交互過程中,面對(duì)用戶的誤操作行為,系統(tǒng)應(yīng)該有相應(yīng)的處理這種問題的反饋機(jī)制,而不是進(jìn)入系統(tǒng)崩潰狀態(tài)。系統(tǒng)中設(shè)置了很多的功能,在應(yīng)對(duì)系統(tǒng)中某個(gè)功能出現(xiàn)異常情況時(shí),系統(tǒng)的其它功能還是可以讓用戶使用。這就是系統(tǒng)健壯性的體現(xiàn)。
3.2.3系統(tǒng)安全性
保存在系統(tǒng)里面的數(shù)據(jù),都是比較重要的系統(tǒng)資源,一旦這些資源泄露,不僅會(huì)有財(cái)產(chǎn)損失,還會(huì)喪失很多客戶。所以,系統(tǒng)里面的數(shù)據(jù)要隨時(shí)都處于安全的環(huán)境中,因此就需要采取措施保證數(shù)據(jù)安全,比如設(shè)置登錄功能,使用安全驗(yàn)證技術(shù)引導(dǎo)條件用戶進(jìn)入指定頁(yè)面,而讓非條件用戶停留在登錄頁(yè)面,不能訪問系統(tǒng)。
3.3?系統(tǒng)流程分析
軟件開發(fā)設(shè)計(jì)的思想始終貫穿本系統(tǒng),其開發(fā)流程見下圖。前期需要進(jìn)行功能分析,功能設(shè)計(jì),還有對(duì)系統(tǒng)后臺(tái)支持?jǐn)?shù)據(jù)庫(kù)的設(shè)計(jì),利用編碼技術(shù)對(duì)設(shè)計(jì)的系統(tǒng)進(jìn)行實(shí)現(xiàn),然后檢測(cè)和完善。
圖3.1系統(tǒng)開發(fā)流程圖
訪問者之所以可以訪問基于Vue的電子商城,主要是其數(shù)據(jù)庫(kù)有該訪問者的記錄信息,這個(gè)記錄是通過注冊(cè)進(jìn)行寫入的數(shù)據(jù)。注冊(cè)流程見下圖。每當(dāng)訪問者進(jìn)行基于Vue的電子商城注冊(cè)時(shí),其登記的每條記錄都會(huì)在系統(tǒng)后臺(tái)進(jìn)行逐個(gè)判斷。這個(gè)判斷規(guī)則是提前設(shè)置的。一旦該訪問者的登記信息在數(shù)據(jù)庫(kù)中保存,即代表該訪問者成為基于Vue的電子商城中的一份子。
圖3.2 注冊(cè)流程圖
訪問者操作系統(tǒng),前提是需要驗(yàn)證身份,而登錄功能的設(shè)置就是把本系統(tǒng)的用戶引導(dǎo)進(jìn)入后臺(tái)操作區(qū),把不是本系統(tǒng)的用戶拒之門外。其流程見下圖。
圖3.3?登錄流程圖
3.4系統(tǒng)功能分析
在明確系統(tǒng)的用途,以及系統(tǒng)的目標(biāo)用戶群后,可以對(duì)本系統(tǒng)的功能進(jìn)行設(shè)置,可以獲取調(diào)研用戶對(duì)功能的要求,也可以對(duì)市場(chǎng)上同類系統(tǒng)進(jìn)行分析和總結(jié),得出本系統(tǒng)的功能。
基于Vue的電子商城設(shè)置了管理員權(quán)限,其用例圖見下圖。管理員登錄進(jìn)入本人后臺(tái)之后,管理商品和用戶,對(duì)商品進(jìn)行出入庫(kù)操作,管理不同狀態(tài)的訂單。
圖3.4 管理員用例圖
基于Vue的電子商城設(shè)置了用戶權(quán)限,其用例圖見下圖。用戶查看商品資訊,收藏商品,評(píng)論商品,購(gòu)買商品,查看不同狀態(tài)的訂單。
圖3.5 用戶用例圖
4 系統(tǒng)設(shè)計(jì)
當(dāng)前,系統(tǒng)的類型有很多,從系統(tǒng)呈現(xiàn)的內(nèi)容來(lái)看,系統(tǒng)的類型有社交類,有商業(yè)類,有政府類,有新聞?lì)惖取D敲?,在眾多系統(tǒng)類型中,先明確將要設(shè)計(jì)的系統(tǒng)的類型才是系統(tǒng)設(shè)計(jì)的首要工作,然后在此基礎(chǔ)上明確系統(tǒng)的用戶群,功能等,針對(duì)這些信息設(shè)計(jì)出具有獨(dú)特體驗(yàn)和視覺的系統(tǒng)。如此才能讓系統(tǒng)比較具有特色,也能夠在眾多相似系統(tǒng)中給用戶留下深刻印象。
4.1系統(tǒng)目標(biāo)
本系統(tǒng)在功能制定上,嚴(yán)格參照用戶的要求,但是在設(shè)計(jì)本系統(tǒng)時(shí),也要滿足易操作,使用便利的設(shè)計(jì)要求。由此,設(shè)計(jì)出一個(gè)規(guī)范化并且符合用戶需求的系統(tǒng),一定要達(dá)到下述系統(tǒng)目標(biāo)。
第一個(gè)系統(tǒng)目標(biāo):用戶與系統(tǒng)之間的操作方式是基于人機(jī)對(duì)話,可視化界面的設(shè)計(jì)除了美觀性之外,也具備友好性。可視化界面提供的各類信息符合準(zhǔn)確性,可靠性的要求,并能夠方便用戶靈活查看。
第二個(gè)系統(tǒng)目標(biāo):用戶與系統(tǒng)交互產(chǎn)生的數(shù)據(jù),要嚴(yán)格規(guī)范的保存在數(shù)據(jù)庫(kù)里,無(wú)論是后期管理人員查找與管理,都要確保數(shù)據(jù)安全。
第三個(gè)系統(tǒng)目標(biāo):實(shí)現(xiàn)用戶需求的功能。根據(jù)對(duì)用戶的調(diào)查得出的功能需求,完成基于Vue的電子商城的設(shè)計(jì)與實(shí)現(xiàn)。
第四個(gè)系統(tǒng)目標(biāo):在必要環(huán)節(jié),對(duì)用戶登記的數(shù)據(jù)進(jìn)行檢查,包括數(shù)據(jù)長(zhǎng)度,以及數(shù)據(jù)輸入類型等的檢查,發(fā)現(xiàn)錯(cuò)誤及時(shí)反饋,引導(dǎo)用戶規(guī)范登記數(shù)據(jù)。常見的有密碼修改,注冊(cè)登錄,用戶資料填寫等環(huán)節(jié)的數(shù)據(jù)核驗(yàn)。
第五個(gè)系統(tǒng)目標(biāo):設(shè)計(jì)開發(fā)本系統(tǒng),需要盡最大努力,在系統(tǒng)具備易操作的特點(diǎn)外,也要求系統(tǒng)于后期使用中,維護(hù)方便,讓系統(tǒng)具備易維護(hù)的特點(diǎn)。
第六個(gè)系統(tǒng)目標(biāo):本系統(tǒng)在交付用戶使用時(shí),可以達(dá)到運(yùn)行穩(wěn)定的目標(biāo),另外,系統(tǒng)具備安全性,也符合可靠性的條件,用戶可以放心使用。
4.2功能結(jié)構(gòu)設(shè)計(jì)
前面所做的功能分析,只是本系統(tǒng)的一個(gè)大概功能,這部分需要在此基礎(chǔ)上進(jìn)行各個(gè)模塊的詳細(xì)設(shè)計(jì)。
設(shè)計(jì)的管理員的詳細(xì)功能見下圖,管理員登錄進(jìn)入本人后臺(tái)之后,管理商品和用戶,對(duì)商品進(jìn)行出入庫(kù)操作,管理不同狀態(tài)的訂單。
圖4.1 管理員功能結(jié)構(gòu)圖
設(shè)計(jì)的用戶的詳細(xì)功能見下圖,用戶查看商品資訊,收藏商品,評(píng)論商品,購(gòu)買商品,查看不同狀態(tài)的訂單。
圖4.2 用戶功能結(jié)構(gòu)圖
4.3數(shù)據(jù)庫(kù)設(shè)計(jì)
相比非關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),目前市場(chǎng)上使用率比較高,并且易于維護(hù)的數(shù)據(jù)庫(kù),當(dāng)數(shù)關(guān)系型數(shù)據(jù)庫(kù)了。這個(gè)數(shù)據(jù)庫(kù)主要是基于關(guān)系模型的方式來(lái)對(duì)數(shù)據(jù)信息進(jìn)行組織。也就是常見的二維表模型??梢哉f(shuō)二維表和二維表之間的相互聯(lián)系就構(gòu)成了關(guān)系型數(shù)據(jù)庫(kù)。
4.3.1數(shù)據(jù)庫(kù)E-R圖
為了更好地保存基于Vue的電子商城產(chǎn)生的數(shù)據(jù),就需要在數(shù)據(jù)庫(kù)的設(shè)計(jì)階段對(duì)E-R模型進(jìn)行建立,以及完成數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)的創(chuàng)建。之所以要單獨(dú)完成數(shù)據(jù)庫(kù)的設(shè)計(jì),主要有以下幾點(diǎn)原因:
第一點(diǎn):防止代碼冗余;
第二點(diǎn):防止占用過多內(nèi)存;
第三點(diǎn):提升數(shù)據(jù)庫(kù)的整體性能,方便程序開發(fā)以及數(shù)據(jù)更新;
第四點(diǎn):保證數(shù)據(jù)的完整性;
本部分內(nèi)容主要在于建立本系統(tǒng)的E-R模型,需要先收集數(shù)據(jù),然后根據(jù)數(shù)據(jù)庫(kù)實(shí)現(xiàn)的思路,對(duì)用戶的需求進(jìn)行分析,這期間需要對(duì)實(shí)體,屬性,還有關(guān)系進(jìn)行標(biāo)識(shí),為繪制E-R模型做好充足準(zhǔn)備。同時(shí),在作圖中,也要注意作圖規(guī)范,注意每個(gè)符號(hào)的正確使用。
圖4.8 實(shí)體間關(guān)系E-R圖
4.3.2 數(shù)據(jù)庫(kù)表結(jié)構(gòu)
為了設(shè)計(jì)出結(jié)構(gòu)合理,性能優(yōu)良的數(shù)據(jù)庫(kù),在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),需要遵循三大范式:
第一范式:確保數(shù)據(jù)表當(dāng)中的每列所代表的字段值都不能再進(jìn)行分解了;
第二范式:在滿足第一范式基礎(chǔ)上,讓數(shù)據(jù)表中每列與主鍵相關(guān);
第三范式:在滿足第二范式基礎(chǔ)上,確保每列數(shù)據(jù)直接與主鍵相關(guān),不是間接相關(guān)。
從上面的表述中可以看出,這三大范式,在等級(jí)上還是有區(qū)分的,最低等級(jí)的就數(shù)第一范式,最高等級(jí)的就是第三范式,趨于兩者中間的是第二范式??傊?,數(shù)據(jù)庫(kù)設(shè)計(jì)按照這三大范式進(jìn)行,可以簡(jiǎn)化設(shè)計(jì)過程,并且還會(huì)減少數(shù)據(jù)冗余,對(duì)于數(shù)據(jù)檢索效率的提升也很有幫助。
表4.1 地址信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
userid |
bigint(20) |
否 |
用戶id |
|
address |
varchar(200) |
否 |
地址 |
|
name |
varchar(200) |
否 |
收貨人 |
|
phone |
varchar(200) |
否 |
電話 |
|
isdefault |
varchar(200) |
否 |
是否默認(rèn)地址[是/否] |
表4.2 購(gòu)物車信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
tablename |
varchar(200) |
是 |
shangpinxinxi |
商品表名 |
userid |
bigint(20) |
否 |
用戶id |
|
goodid |
bigint(20) |
否 |
商品id |
|
goodname |
varchar(200) |
是 |
NULL |
商品名稱 |
picture |
varchar(200) |
是 |
NULL |
圖片 |
buynumber |
int(11) |
否 |
購(gòu)買數(shù)量 |
|
price |
float |
是 |
NULL |
單價(jià) |
discountprice |
float |
是 |
NULL |
會(huì)員價(jià) |
表4.3 客服聊天信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
userid |
bigint(20) |
否 |
用戶id |
|
adminid |
bigint(20) |
是 |
NULL |
管理員id |
ask |
longtext |
是 |
NULL |
提問 |
reply |
longtext |
是 |
NULL |
回復(fù) |
isreply |
int(11) |
是 |
NULL |
是否回復(fù) |
表4.4 商品評(píng)論信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
refid |
bigint(20) |
否 |
關(guān)聯(lián)表id |
|
userid |
bigint(20) |
否 |
用戶id |
|
content |
longtext |
否 |
評(píng)論內(nèi)容 |
|
reply |
longtext |
是 |
NULL |
回復(fù)內(nèi)容 |
表4.5 商品資訊信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
title |
varchar(200) |
否 |
標(biāo)題 |
|
introduction |
longtext |
是 |
NULL |
簡(jiǎn)介 |
picture |
varchar(200) |
否 |
圖片 |
|
content |
longtext |
否 |
內(nèi)容 |
表4.6 訂單信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
orderid |
varchar(200) |
否 |
訂單編號(hào) |
|
tablename |
varchar(200) |
是 |
shangpinxinxi |
商品表名 |
userid |
bigint(20) |
否 |
用戶id |
|
goodid |
bigint(20) |
否 |
商品id |
|
goodname |
varchar(200) |
是 |
NULL |
商品名稱 |
picture |
varchar(200) |
是 |
NULL |
商品圖片 |
buynumber |
int(11) |
否 |
購(gòu)買數(shù)量 |
|
price |
float |
否 |
0 |
價(jià)格/積分 |
discountprice |
float |
是 |
0 |
折扣價(jià)格 |
total |
float |
否 |
0 |
總價(jià)格/總積分 |
discounttotal |
float |
是 |
0 |
折扣總價(jià)格 |
type |
int(11) |
是 |
1 |
支付類型 |
status |
varchar(200) |
是 |
NULL |
狀態(tài) |
address |
varchar(200) |
是 |
NULL |
地址 |
表4.7 商品出庫(kù)信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
shangpinmingcheng |
varchar(200) |
是 |
NULL |
商品名稱 |
shangpinfenlei |
varchar(200) |
是 |
NULL |
商品分類 |
shuliang |
int(11) |
是 |
NULL |
數(shù)量 |
dengjishijian |
date |
是 |
NULL |
登記時(shí)間 |
beizhu |
varchar(200) |
是 |
NULL |
備注 |
表4.8 商品分類信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
shangpinfenlei |
varchar(200) |
否 |
商品分類 |
表4.9 商品入庫(kù)信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
shangpinmingcheng |
varchar(200) |
是 |
NULL |
商品名稱 |
shangpinfenlei |
varchar(200) |
是 |
NULL |
商品分類 |
shuliang |
int(11) |
是 |
NULL |
數(shù)量 |
dengjishijian |
date |
是 |
NULL |
登記時(shí)間 |
beizhu |
varchar(200) |
是 |
NULL |
備注 |
表4.10 商品信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
shangpinmingcheng |
varchar(200) |
否 |
商品名稱 |
|
shangpinfenlei |
varchar(200) |
否 |
商品分類 |
|
tupian |
varchar(200) |
是 |
NULL |
圖片 |
chima |
varchar(200) |
是 |
NULL |
規(guī)格 |
yanshe |
varchar(200) |
是 |
NULL |
顏色 |
shangpinyongtu |
varchar(200) |
是 |
NULL |
商品用途 |
zengsongduixiang |
varchar(200) |
是 |
NULL |
贈(zèng)送對(duì)象 |
shuliang |
int(11) |
是 |
NULL |
數(shù)量 |
shangpinxiangqing |
longtext |
是 |
NULL |
商品詳情 |
clicktime |
datetime |
是 |
NULL |
最近點(diǎn)擊時(shí)間 |
clicknum |
int(11) |
是 |
0 |
點(diǎn)擊次數(shù) |
price |
float |
否 |
價(jià)格 |
表4.11 收藏信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
userid |
bigint(20) |
否 |
用戶id |
|
refid |
bigint(20) |
是 |
NULL |
收藏id |
tablename |
varchar(200) |
是 |
NULL |
表名 |
name |
varchar(200) |
否 |
收藏名稱 |
|
picture |
varchar(200) |
否 |
收藏圖片 |
表4.12 管理員信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
username |
varchar(100) |
否 |
用戶名 |
|
password |
varchar(100) |
否 |
密碼 |
|
role |
varchar(100) |
是 |
管理員 |
角色 |
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
新增時(shí)間 |
表4.13 用戶信息表
字段 |
類型 |
空 |
默認(rèn) |
注釋 |
id?(主鍵) |
bigint(20) |
否 |
主鍵 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
創(chuàng)建時(shí)間 |
yonghuming |
varchar(200) |
否 |
用戶名 |
|
mima |
varchar(200) |
否 |
密碼 |
|
xingming |
varchar(200) |
是 |
NULL |
姓名 |
xingbie |
varchar(200) |
是 |
NULL |
性別 |
touxiang |
varchar(200) |
是 |
NULL |
頭像 |
lianxidianhua |
varchar(200) |
是 |
NULL |
聯(lián)系電話 |
dizhi |
varchar(200) |
是 |
NULL |
地址 |
money |
float |
是 |
0 |
余額 |
5 系統(tǒng)實(shí)現(xiàn)
在此部分內(nèi)容中,主要通過系統(tǒng)功能的運(yùn)行效果圖展示前面設(shè)計(jì)的最終結(jié)果。系統(tǒng)實(shí)現(xiàn)對(duì)編制人員的技術(shù)能力有較高要求,因?yàn)樾枰麄兪褂镁幊痰姆绞饺?shí)現(xiàn)系統(tǒng)設(shè)計(jì)的方案。
5.1 管理員功能實(shí)現(xiàn)
5.1.1 商品信息管理
管理員權(quán)限中的商品信息管理,其運(yùn)行效果見下圖。管理員在當(dāng)前頁(yè)面增刪改查商品信息,可以對(duì)商品進(jìn)行入庫(kù)或者出庫(kù)操作,同時(shí),管理員也能查看各個(gè)商品對(duì)應(yīng)的評(píng)論信息。
圖5.1?商品信息管理頁(yè)面
5.1.2 用戶管理
管理員權(quán)限中的用戶管理,其運(yùn)行效果見下圖。管理員在后臺(tái)負(fù)責(zé)對(duì)用戶資料進(jìn)行增刪改查操作。
圖5.2 用戶管理頁(yè)面
5.1.3 商品入庫(kù)管理
管理員權(quán)限中的商品入庫(kù)管理,其運(yùn)行效果見下圖。管理員對(duì)商品進(jìn)行入庫(kù)之后,其信息會(huì)顯示在本頁(yè)面,管理員就能修改,刪除商品的入庫(kù)信息。
圖5.3 商品入庫(kù)管理頁(yè)面
5.1.4 商品出庫(kù)管理
管理員權(quán)限中的商品出庫(kù)管理,其運(yùn)行效果見下圖。管理員對(duì)商品的出庫(kù)信息進(jìn)行修改,刪除,查詢等操作。
圖5.4?商品出庫(kù)管理頁(yè)面
5.1.5 已支付訂單
管理員權(quán)限中的已支付訂單管理,其運(yùn)行效果見下圖。用戶購(gòu)買并支付商品之后,管理員需要在當(dāng)前頁(yè)面對(duì)訂單商品進(jìn)行發(fā)貨。
圖5.5?已支付訂單頁(yè)面
5.2 用戶功能實(shí)現(xiàn)
5.2.1 商品信息
用戶權(quán)限中的商品信息,其運(yùn)行效果見下圖。用戶在本頁(yè)面可以操作的功能比較多,可以收藏,評(píng)論本頁(yè)面顯示的商品,可以直接購(gòu)買,也能暫時(shí)加入購(gòu)物車保存商品。
圖5.6?商品信息頁(yè)面
5.2.2 購(gòu)物車
用戶權(quán)限中的購(gòu)物車,其運(yùn)行效果見下圖。購(gòu)物車幫助用戶暫時(shí)保存購(gòu)買的商品,方便用戶一次性下單購(gòu)買多種商品。
圖5.7 購(gòu)物車頁(yè)面
5.2.3 提交訂單
用戶權(quán)限中的提交訂單,其運(yùn)行效果見下圖。用戶下單支付前,收貨地址和購(gòu)買的商品需要再次核對(duì)清楚,最后支付訂單。
圖5.8?提交訂單頁(yè)面
5.2.4 已支付訂單
用戶權(quán)限中的已支付訂單,其運(yùn)行效果見下圖。用戶對(duì)訂單明細(xì)進(jìn)行查看,可以選擇對(duì)某些誤購(gòu)買的商品進(jìn)行退款。
圖5.9?已支付訂單頁(yè)面
5.2.5 聯(lián)系客服
用戶權(quán)限中的聯(lián)系客服,其運(yùn)行效果見下圖。用戶在操作基于Vue的電子商城過程中,遇到任何問題可以咨詢客服,客服就負(fù)責(zé)回答用戶咨詢的問題。
圖5.10?聯(lián)系客服頁(yè)面
6系統(tǒng)測(cè)試
這部分內(nèi)容主要是把前期編碼完成的系統(tǒng),當(dāng)成是計(jì)算機(jī)系統(tǒng)的一部分,并結(jié)合一些數(shù)據(jù),計(jì)算機(jī)硬件和支持的軟件進(jìn)行集成測(cè)試和確認(rèn)測(cè)試。之所以要進(jìn)行最后的測(cè)試步驟,原因在于檢查制作的系統(tǒng)與需求說(shuō)明書的比較中,存在的差異問題。進(jìn)一步確認(rèn)制作的系統(tǒng)在功能與性能上跟需求說(shuō)明書當(dāng)中的要求相符。
6.1 系統(tǒng)測(cè)試的類型
檢測(cè)系統(tǒng)是否合格,需要用到很多的測(cè)試類型。接下來(lái)就對(duì)這部分內(nèi)容進(jìn)行描述。
功能測(cè)試:這是系統(tǒng)測(cè)試中,首先進(jìn)行的測(cè)試內(nèi)容,其屬于黑盒測(cè)試。主要檢驗(yàn)制作的系統(tǒng)與需求說(shuō)明文檔的相符程度,還有它們之間存在的差異問題。
性能測(cè)試:主要測(cè)試制作的系統(tǒng),在同時(shí)面對(duì)很多的用戶請(qǐng)求時(shí),該系統(tǒng)的應(yīng)對(duì)能力。同時(shí)也是檢查制作的系統(tǒng)跟事先預(yù)定的系統(tǒng)性能存在的差距問題。這樣的方法通常在實(shí)時(shí)系統(tǒng)中,或者是嵌入式系統(tǒng)中運(yùn)用得比較多。
容量測(cè)試:這種方法針對(duì)數(shù)據(jù)。檢查正常運(yùn)行的系統(tǒng)對(duì)數(shù)據(jù)處理的容量值。
安全性測(cè)試:這種方法常用于檢驗(yàn)系統(tǒng)中設(shè)置的安全保護(hù)機(jī)制對(duì)來(lái)自非法用戶的攻擊時(shí)是否有效。而檢測(cè)系統(tǒng)中的信息保護(hù)機(jī)制就需要使用常見安全測(cè)試中的保護(hù)測(cè)試來(lái)驗(yàn)證。
健壯性測(cè)試:這種測(cè)試還有一個(gè)別稱是容錯(cuò)測(cè)試,通常運(yùn)用故障插入法來(lái)檢測(cè)系統(tǒng)的容錯(cuò)能力,看系統(tǒng)是否可以忽略故障保持繼續(xù)運(yùn)行,或者是檢測(cè)系統(tǒng)應(yīng)對(duì)故障時(shí)的自動(dòng)恢復(fù)能力。
兼容性測(cè)試:面對(duì)計(jì)算機(jī)的各種軟硬件環(huán)境,檢測(cè)本系統(tǒng)是否可以兼容。
易用性測(cè)試:這種方法主要是面向用戶,檢測(cè)用戶是否很容易理解和使用系統(tǒng)。
6.2 功能測(cè)試
基于Vue的電子商城在經(jīng)歷最后的測(cè)試環(huán)節(jié),需要檢驗(yàn)本系統(tǒng)的功能安全性,功能適用性等內(nèi)容,最終得出測(cè)試結(jié)論。
表6.1 功能測(cè)試數(shù)據(jù)表
測(cè)試內(nèi)容 |
測(cè)試結(jié)果 |
系統(tǒng)功能的適用性 |
符合要求 |
系統(tǒng)功能的依從性 |
符合要求 |
系統(tǒng)功能的安全性 |
符合要求 |
系統(tǒng)功能的準(zhǔn)確性 |
符合要求 |
系統(tǒng)功能的可操作性 |
符合要求 |
6.3 可用性測(cè)試
通常來(lái)說(shuō),一個(gè)布局合理,顯示的內(nèi)容無(wú)錯(cuò)別字,并具備合理正常的操作邏輯的系統(tǒng)往往很受歡迎,而且可以提升訪問者的使用時(shí)間以及訪問率。
表6.2?可用性測(cè)試數(shù)據(jù)表
測(cè)試內(nèi)容 |
測(cè)試結(jié)果 |
檢查系統(tǒng)的操作邏輯合不合理 |
合理 |
檢查系統(tǒng)的功能布局合不合理 |
合理 |
檢查系統(tǒng)能否支持鼠標(biāo)和鍵盤 |
能 |
檢查系統(tǒng)反饋的提示有無(wú)錯(cuò)別字 |
無(wú) |
檢查系統(tǒng)功能有無(wú)友好性 |
有 |
檢查系統(tǒng)頁(yè)面能否正常關(guān)閉 |
能 |
檢查系統(tǒng)各數(shù)據(jù)項(xiàng)有無(wú)錯(cuò)誤 |
無(wú) |
檢查系統(tǒng)有無(wú)提供幫助信息 |
有 |
6.4 測(cè)試結(jié)果分析
基于Vue的電子商城經(jīng)過了編碼階段的單元測(cè)試,和最后的系統(tǒng)整體測(cè)試等測(cè)試后,對(duì)于用戶要求的功能,本系統(tǒng)都進(jìn)行了實(shí)現(xiàn),各個(gè)模塊都運(yùn)行正常。在面對(duì)一些故障性問題時(shí),本系統(tǒng)也有相應(yīng)的應(yīng)對(duì)辦法,并且本系統(tǒng)可以保持24小時(shí)正常運(yùn)轉(zhuǎn)。因此,基于Vue的電子商城可以交付用戶使用。
結(jié) ?論
基于Vue的電子商城的開發(fā)設(shè)計(jì)并不是一件輕松事,因?yàn)楫呍O(shè)制作都是依照一定流程進(jìn)行的。最開始是選擇題目,然后通過各種方式查閱資料,以及對(duì)使用用戶的需求進(jìn)行調(diào)研,確定本系統(tǒng)的功能,為了降低系統(tǒng)編碼的出錯(cuò)率,在設(shè)計(jì)階段也需要下功夫,認(rèn)真設(shè)計(jì)功能模塊,使用大學(xué)所學(xué)的數(shù)據(jù)庫(kù)知識(shí),設(shè)計(jì)數(shù)據(jù)庫(kù)。這樣一來(lái),對(duì)系統(tǒng)編碼時(shí),就會(huì)根據(jù)設(shè)計(jì)方案進(jìn)行。編碼完成,進(jìn)行測(cè)試就能對(duì)合格的系統(tǒng)進(jìn)行驗(yàn)收了。
借助身邊同學(xué)還有導(dǎo)師提供的幫助,本人也順利完成本系統(tǒng)的制作工作。對(duì)基于Vue的電子商城的分析與總結(jié),發(fā)現(xiàn)基于Vue的電子商城具有如下特點(diǎn):
(1)基于Vue的電子商城有著詳細(xì)的功能設(shè)計(jì),所以編碼時(shí),基本依照設(shè)計(jì)的功能進(jìn)行開發(fā),因此具備較完善的功能;
(2)基于Vue的電子商城在界面設(shè)計(jì)與布局時(shí),參考了很多系統(tǒng)的界面設(shè)計(jì)風(fēng)格,也從圖書館查閱了關(guān)于系統(tǒng)界面設(shè)計(jì)方面的資料,并把對(duì)本系統(tǒng)有用的知識(shí)做好筆記,有了這些知識(shí)積累,所以我在開發(fā)系統(tǒng)時(shí),注重頁(yè)面文字的排版,以及精確定位各頁(yè)面元素,合理使用顏色搭配技巧,讓本系統(tǒng)在不影響瀏覽效果的同時(shí),讓訪問者產(chǎn)生一種簡(jiǎn)潔干凈的視覺效果;
(3)基于Vue的電子商城為了讓用戶易于使用,在能夠直觀表達(dá)系統(tǒng)內(nèi)容的同時(shí),也把頁(yè)面的導(dǎo)航放在了頁(yè)面中最關(guān)鍵的位置,這個(gè)位置也是充分考慮了用戶的瀏覽習(xí)慣。所以用戶操作系統(tǒng),可以在短時(shí)間內(nèi)找到需要的內(nèi)容。
由于本人并不是專門從事開發(fā)工作的技術(shù)人員,目前在校學(xué)習(xí)的開發(fā)類知識(shí)處于初級(jí)階段,只是對(duì)開發(fā)類技術(shù)有著簡(jiǎn)單了解和使用,加上日常完成的作業(yè),也只是局限在某個(gè)系統(tǒng)的某個(gè)功能模塊上,因此,完成一個(gè)功能完善的整個(gè)系統(tǒng),對(duì)于我來(lái)說(shuō),還是有一定的壓力。所以這也確定了我開發(fā)的系統(tǒng)具有缺陷。
(1)對(duì)于基于Vue的電子商城的編碼并沒有完全依照編碼規(guī)范,整個(gè)系統(tǒng)存在代碼冗余的缺陷;
(2)基于Vue的電子商城在數(shù)據(jù)輸入上,對(duì)數(shù)據(jù)有效性檢測(cè)還不夠嚴(yán)格;
(3)對(duì)基于Vue的電子商城的誤操作提示,只是對(duì)部分功能進(jìn)行了設(shè)計(jì),還有很多功能都沒有設(shè)計(jì)報(bào)錯(cuò)提示。
綜上所述,本人仍需花費(fèi)時(shí)間去學(xué)習(xí)編程知識(shí),在后期,我將會(huì)學(xué)習(xí)代碼模塊化,將一些通用的函數(shù),變量等進(jìn)行單獨(dú)設(shè)置,然后直接在需要的頁(yè)面上進(jìn)行調(diào)用,這樣可以降低代碼冗余率,同時(shí)也會(huì)多學(xué)習(xí)針對(duì)程序易出錯(cuò)地方的解決方案等知識(shí)。學(xué)習(xí)這些知識(shí)除了完善本系統(tǒng)之外,也是彌補(bǔ)自身編程能力不足的缺陷。
參考文獻(xiàn)
[1]陳猛.基于Java的購(gòu)物網(wǎng)站設(shè)計(jì)與開發(fā)[J].農(nóng)家參謀,2020(08):200.
[2]焦靈.基于Web的購(gòu)物網(wǎng)站系統(tǒng)設(shè)計(jì)[J].電腦編程技巧與維護(hù),2018(12):131-133+139.
[3]袁馨,段華瓊.購(gòu)物網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].福建電腦,2018,34(10):148-149.
[4]王子虎,胡麗珍.基于計(jì)算機(jī)軟件安全開發(fā)的Java編程語(yǔ)言研究[J].數(shù)字技術(shù)與應(yīng)用,2019,37(12):133-134.
[5]謝懿.計(jì)算機(jī)軟件Java編程特點(diǎn)及其技術(shù)分析[J].農(nóng)家參謀,2020(01):166.
[6]歐陽(yáng)桂秀.Java語(yǔ)言存取文本文件的研究[J].科技傳播,2019,11(24):128-129+162.
[7]左兆豐.Java嵌入式數(shù)據(jù)庫(kù)程序的開發(fā)[J].電腦編程技巧與維護(hù),2020(01):101-103.
[8]黃守濤.基于Java語(yǔ)言的異常處理探討分析[J].自動(dòng)化技術(shù)與應(yīng)用,2020,39(02):30-32+107.
[9]鄒紅霆.基于SSM框架的Web系統(tǒng)研究與應(yīng)用[J].湖南理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2017,30(01):39-43.
[10]汪維,胡帥.MySQL數(shù)據(jù)庫(kù)有關(guān)數(shù)據(jù)的備份方法分析[J].信息技術(shù)與信息化,2020(07):36-37.
[11]丁佳.基于JSP+MySQL的用戶登錄系統(tǒng)SQL注入實(shí)例及防范[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2020(09):49-51.
[12]廖家莉,曹俊.web前端主流框架分析與對(duì)比[J].科技視界,2020(28):121-122.
[13]蔡澤銘,王文華.基于Vue.js的信息管理系統(tǒng)前端架構(gòu)[J].電子技術(shù)與軟件工程,2020(18):142-144.
[14]耿慶陽(yáng). 基于Spring Boot與Vue的電子商城設(shè)計(jì)與實(shí)現(xiàn)[D].西安石油大學(xué),2020.
[15]曾志明.網(wǎng)站開發(fā)技術(shù)的比較研究[J].電腦知識(shí)與技術(shù),2015,6(05):1075-1078.
[16]衛(wèi)紅春.信息系統(tǒng)分析與設(shè)計(jì)[M].北京:清華大學(xué)出版社,2015.
[17]Oscar Rodriguez-Prieto,Francisco Ortin,Donna O’Shea. Efficient runtime aspect weaving for Java applications[J]. Information and Software Technology,2018,100.
[18]Raffi Khatchadourian. Automated refactoring of legacy Java software to enumerated types[J]. Automated Software Engineering,2017,24(4).
致??謝
伴隨著畢設(shè)項(xiàng)目的制作完成,也就意味著我們即將離開校園?;叵霂啄甑拇髮W(xué)時(shí)光,不由得想起身邊常伴的同學(xué),授課的老師,還有畢設(shè)指導(dǎo)的老師們。
大學(xué)這幾年,身邊的同學(xué)為我提供了很多的幫助,不管是生活上,還是學(xué)習(xí)上,每次遇到問題,這些同學(xué)們都會(huì)耐心解答,有時(shí)為了避免我再次犯錯(cuò),他們也會(huì)時(shí)不時(shí)提醒我。本次畢設(shè)制作期間,這些老同學(xué)也是互相分享開發(fā)經(jīng)驗(yàn),還有文檔編寫的技巧,從開題報(bào)告,還有任務(wù)書以及最后的論文等文檔上,大家都是互相提出建議,互相參考一些編寫經(jīng)驗(yàn)和技巧。如此,我們才會(huì)進(jìn)展得比較順利。此刻,真心感謝這些老同學(xué)!
唯一不能忘記的是導(dǎo)師,平均每個(gè)導(dǎo)師都帶了很多個(gè)畢業(yè)生,所以能夠想象他們非常忙,因?yàn)橐坏疆厴I(yè)季,他們需要指導(dǎo)學(xué)生們畢業(yè),還需要正常授課。作為本屆畢業(yè)生,我也能夠體會(huì)導(dǎo)師的辛苦和不容易。畢設(shè)制作的環(huán)節(jié)有很多,但是我的導(dǎo)師在進(jìn)行的每個(gè)環(huán)節(jié)都嚴(yán)格要求我認(rèn)真努力對(duì)待本項(xiàng)目,也對(duì)我編程技術(shù)上提出了很多至關(guān)重要的建議,還對(duì)一些比較細(xì)微但是也比較關(guān)鍵的部分向我進(jìn)行了多次強(qiáng)調(diào),讓我少走彎路,可以如期實(shí)現(xiàn)本系統(tǒng)。此刻,真心感謝導(dǎo)師!
校園里的授課老師不僅有本專業(yè)的老師,也有其他專業(yè)的老師們,他們都教過我們課程,向我們傳授知識(shí),有了這些知識(shí)積累,我在本次畢設(shè)制作中,才知道有些問題該如何運(yùn)用知識(shí)處理,此刻,感謝那些授課老師。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-816414.html
最后時(shí)刻,我要感謝校園,祝愿校園更加強(qiáng)大!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-816414.html
核心代碼展示
/**
* 公告通知
* 后端接口
* @author
* @email
* @date 2021-03-09 11:33:59
*/
@RestController
@RequestMapping("/news")
public class NewsController {
@Autowired
private NewsService newsService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( NewsEntity news){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
return R.ok().put("data", newsService.selectListView(ew));
}
/**
* 查詢
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查詢公告通知成功").put("data", newsView);
}
/**
* 后端詳情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 前端詳情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody NewsEntity news, HttpServletRequest request){
//ValidatorUtils.validateEntity(news);
newsService.updateById(news);//全部更新
return R.ok();
}
/**
* 刪除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
newsService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = newsService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
到了這里,關(guān)于【網(wǎng)站項(xiàng)目】基于springboot與vue的電子商城項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!