




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE 基于python的鮮果樂生鮮商城摘要:隨著互聯(lián)網(wǎng)巨大的發(fā)展,網(wǎng)上購(gòu)物在廣大基層人民中普及,現(xiàn)在的人們?cè)絹碓蕉嗟募尤肷暇W(wǎng)購(gòu)物的行列,因此也衍生出了許多新的電商模式。根據(jù)銷售的目標(biāo)的不盡相同而分為B2B和B2C兩種模式。B2B是體現(xiàn)在企業(yè)同企業(yè)之間的一系列包括但不僅限于商業(yè)的活動(dòng),提到它就會(huì)跟很大量級(jí)的物流所掛鉤,當(dāng)然還有許多其他大大小小紛繁雜亂的商務(wù)類型的活動(dòng),而B2C面對(duì)的則是企業(yè)與個(gè)人買家,是大對(duì)小的關(guān)系,這相當(dāng)于零售的范疇。本系統(tǒng)是一個(gè)個(gè)人開發(fā)的WEB應(yīng)用,采用pyhton的開源框架djangorestframwork開發(fā),包含了網(wǎng)上商城所需要的基本功能,像是登錄注冊(cè),瀏覽收購(gòu)買支付等等都是本系統(tǒng)所要實(shí)現(xiàn)的功能,這些小的功能結(jié)合在一起便構(gòu)成了這整個(gè)網(wǎng)上生鮮商城。這個(gè)系統(tǒng)能夠解決人們對(duì)網(wǎng)上購(gòu)買生鮮食品的需求,可以極大的方便人們的生活,讓不喜歡出門的人也能夠第一時(shí)間享受到美食,日后必定能夠刺激消費(fèi),使GDP得到增長(zhǎng)。關(guān)鍵詞:生鮮商城系統(tǒng),djangorestframwork,方便快捷Python-BasedFreshFruitStoreAbstact:WiththehugedevelopmentoftheITandthepopularityofonlineshopping,onlineshoppingispopularamongthemassesofgrassrootspeople,andnowpeopleareincreasinglyjoiningtheranksofonlineshopping,somanynewe-commercemodelshavebeenderivedaccordingtothedifferentsalestarget,itcanbedividedintoalotmodes:B2BandB2C.B2Bisthebusinessactivitybetweenenterprises,whichincludesmanyotherbusinessactivitiesbesidesthebulklogistics,whileB2Cisthebusinessactivitybetweenenterprisesandindividuals,whichbelongstotheretailcategory.ThissystemisapersonaldevelopmentoftheWEBapplication,theuseofpyhtonopensourceframeworkdjangorestframworkdevelopment,includingthebasicfunctionsrequiredbytheonlinemall,suchaslogin,registration,browsing,purchasingandpaymentarethesystemtoachievethefunction,thesesmallfunctionstogetherconstitutethewholeonlinefreshmall.Thissystemcansolvepeople'sdemandforonlinepurchaseoffreshfood,whichcangreatlyfacilitatepeople'slife.Peoplewhodonotliketogooutcanalsoenjoydeliciousfoodinthefirsttime,whichwillsurelystimulateconsumptionandincreaseGDPinthefuture.Keywords:FreshStoreSystem;,DjangoRestFramwork,ConvenientandEfficient目錄5936第1章緒論 153871.1課題背景 1136071.2目的和意義 176111.3國(guó)內(nèi)外電商發(fā)展現(xiàn)狀 219071.4論文的主要研究?jī)?nèi)容 39572第2章需求分析 3107442.1系統(tǒng)的功能需求 4291732.2系統(tǒng)的數(shù)據(jù)流圖 415372.3UML建模 5323232.4本章小結(jié) 920221第3章系統(tǒng)設(shè)計(jì) 10277163.1開發(fā)工具介紹 10292453.1.1系統(tǒng)整體架構(gòu) 10251693.2功能模塊設(shè)計(jì)及功能 11311753.3數(shù)據(jù)庫設(shè)計(jì) 15295083.3.1E-R圖設(shè)計(jì) 1588063.3.2數(shù)據(jù)表設(shè)計(jì) 16288373.4本章小結(jié) 2010150第4章系統(tǒng)實(shí)現(xiàn) 21162124.1系統(tǒng)主體設(shè)計(jì) 2172724.1.1商品展示模塊實(shí)現(xiàn) 21190114.1.2購(gòu)物車模塊實(shí)現(xiàn) 2274534.1.3登錄注冊(cè)模塊實(shí)現(xiàn) 23195194.1.4后臺(tái)管理模塊實(shí)現(xiàn) 26207284.1.5支付模塊實(shí)現(xiàn) 28125144.2本章小結(jié) 296548第5章系統(tǒng)測(cè)試 3036125.1測(cè)試的目的及意義 3032955.2測(cè)試用例及測(cè)試結(jié)果 307555.2.1系統(tǒng)登錄測(cè)試 30295175.2.2系統(tǒng)注冊(cè)測(cè)試 31280185.2.3購(gòu)物車測(cè)試 3252705.2.4訂單支付測(cè)試 32145585.2.5個(gè)人信息頁測(cè)試 34121855.3本章小結(jié) 3420128參考文獻(xiàn): 357700致謝 36PAGE36第1章緒論1.1課題背景如今互聯(lián)網(wǎng)的市場(chǎng)環(huán)境已經(jīng)接近成熟和飽和,其對(duì)傳統(tǒng)行業(yè)的沖擊亦是不能忽視的。目前來說我國(guó)的大部分城市,它們的電腦和互聯(lián)網(wǎng)的覆蓋率已經(jīng)十分的驚人,可以說是幾乎人手就有一臺(tái)手機(jī)和電腦,這樣的情況使得有些人抓住互聯(lián)網(wǎng)發(fā)展機(jī)遇,順應(yīng)了時(shí)代潮流,催生出了許許多多的年輕富豪,其中就包括創(chuàng)辦了京東的劉強(qiáng)東,還有悔創(chuàng)阿里杰克馬,雖然他們的軼事為人津津樂道,但是不可否認(rèn)他們的財(cái)富積累是以一種十分驚人的態(tài)勢(shì)升高的,很快他們就超過了許多傳統(tǒng)產(chǎn)業(yè)巨頭,把早年的”鋼鐵大王”和其他幾代人共同努力慢慢積累財(cái)富的紅色資本家甩在在了后面,可以很容易看出目前的富豪榜上互聯(lián)網(wǎng)巨頭就占據(jù)了半壁,馬云之所以能夠在中國(guó)首富贊占據(jù)一席之地,說明了互聯(lián)網(wǎng)市場(chǎng)所具有的巨大的潛力,而這潛力還遠(yuǎn)遠(yuǎn)沒有盡頭,在人們經(jīng)濟(jì)水平不斷提高的同時(shí),人們的思想也更加的開放,原先視上網(wǎng)如洪水猛獸的人也不知不覺的接受并加入到了上網(wǎng)的行列中去。由于網(wǎng)絡(luò)購(gòu)物的便利性以及年輕人們追逐潮流這使得網(wǎng)購(gòu)漸漸已經(jīng)成為共識(shí),人們會(huì)不自覺的去進(jìn)行這項(xiàng)活動(dòng)。只要人們還在上網(wǎng)就不可避免的會(huì)被網(wǎng)上的信息所影響,這無疑會(huì)對(duì)身處其中的人的思維或者消費(fèi)模式產(chǎn)生一定的改變。久而久之人們更習(xí)慣遇到需求就在網(wǎng)上進(jìn)行搜索,而一旦他有上網(wǎng)的需求就不可避免的會(huì)對(duì)比不同商家的不同產(chǎn)品,而當(dāng)你擁有網(wǎng)上的購(gòu)物平臺(tái)時(shí),你的未來便會(huì)無限延申,每個(gè)人都將可能會(huì)是你的潛在用戶,只要你你能夠滿足他的需求。即使一時(shí)之間這位潛在客戶沒有任何購(gòu)物欲望,但是一旦以后他有這樣的想法便會(huì)去上網(wǎng),所以說在這個(gè)泛互聯(lián)網(wǎng)時(shí)代所有人其實(shí)都是你的潛在客戶,這個(gè)前提便是你的企業(yè)和產(chǎn)品要在網(wǎng)上有存在,能夠讓用戶搜索得到,假設(shè)一下,若是你連存在都沒有,又談何同其他企業(yè)競(jìng)爭(zhēng),怕是已經(jīng)被遠(yuǎn)遠(yuǎn)的甩在了身后,連被比較的資格都沒有,這也是為什么現(xiàn)在順應(yīng)互聯(lián)網(wǎng)浪潮是多么的重要。1.2目的和意義基于python的這個(gè)鮮果樂生鮮商城系統(tǒng)是一個(gè)個(gè)人店家所經(jīng)營(yíng)的生鮮商城,店家擁有自主經(jīng)營(yíng)權(quán)以及可以自己實(shí)現(xiàn)對(duì)商品的管理,操作簡(jiǎn)單不復(fù)雜,且功能齊全,系統(tǒng)具備基本商城所擁有的功能像是商品的瀏覽,首頁有商品的推廣,全局搜索功能,以及用戶收藏,用戶下訂單等等功能,同時(shí)用戶還可以在購(gòu)買時(shí)留言,值得一提的時(shí)本系統(tǒng)有十分簡(jiǎn)潔又功能強(qiáng)大的后臺(tái)管理系統(tǒng),只需要簡(jiǎn)單的管理員登錄操作就可以使用,系統(tǒng)還提供十分美觀又簡(jiǎn)潔的商品詳情信息頁,大大增加顧客的瀏覽體驗(yàn),并且由于操作的便利,店家不需要知道太多專業(yè)相關(guān)的知識(shí),可以說是人人都可以上手。網(wǎng)上購(gòu)物是一種新的經(jīng)濟(jì)模式,在這樣的電子信息時(shí)代,它不僅影響了商業(yè)的運(yùn)轉(zhuǎn)過程,也影響了商業(yè)的運(yùn)轉(zhuǎn)方法,這其實(shí)就是一場(chǎng)沒有硝煙的技術(shù)革命,所謂商城場(chǎng)如戰(zhàn)場(chǎng),這是它的影響就不僅僅是跟商業(yè)相關(guān)而已了,他已經(jīng)從不同方面對(duì)社會(huì)的生產(chǎn)管理、人們的生活和就業(yè)產(chǎn)生影響,不僅如此人們的想法、思考的方式和往來溝通的方式也因?yàn)榉芍贫壬踔劣谡穆毮墚?dāng)然還有文化被影響而改變。網(wǎng)上商城的好處在于,它能夠增加你的商品曝光率,使你擁有更多的潛在客戶,拓寬你的商業(yè)市場(chǎng),它在獲取更高利益的同時(shí)還在幫你節(jié)省費(fèi)用和開支,降低你的投入成本,它還能夠做到實(shí)體店做不到的比如加快商品之間的流通,讓客戶對(duì)你的反饋更快更方便等等。往遠(yuǎn)的方面展望,隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,越來越多的個(gè)人用戶將投身于網(wǎng)上購(gòu)物的浪潮,在享受巨大便利的同時(shí),市場(chǎng)的競(jìng)爭(zhēng)會(huì)越來越激烈,成本不可避免的會(huì)成為商家之間的手段,這無疑會(huì)帶動(dòng)這一新發(fā)展出來的的網(wǎng)絡(luò)經(jīng)濟(jì)模式。1.3國(guó)內(nèi)外電商發(fā)展現(xiàn)狀國(guó)內(nèi)有名的電商巨頭如阿里,京東便是走在時(shí)代前沿,其中京東是后來者,但是憑著這幾年的發(fā)展也占有了很大的市場(chǎng)份額,這幾年又相繼涌現(xiàn)了像是拼多多等的獨(dú)角獸企業(yè),讓人感到這份蛋糕似乎還沒有完全被分完。國(guó)外的老牌電商就不得不說亞馬遜了,杰夫貝佐斯作為亞馬遜的創(chuàng)始人也是蟬聯(lián)世界首富榜多年,根據(jù)阿里的研究院所推測(cè),預(yù)計(jì)2020年跨境電商交易規(guī)模將達(dá)到12萬億元方德花.跨境電商人才培養(yǎng)校企合作問題探討[J].經(jīng)貿(mào)實(shí)踐,2018(03):271-272.方德花.跨境電商人才培養(yǎng)校企合作問題探討[J].經(jīng)貿(mào)實(shí)踐,2018(03):271-272.由此可見,現(xiàn)在的無論是國(guó)內(nèi)還是國(guó)外,電子商務(wù)的發(fā)展前景都是十分光明的,現(xiàn)在投身其中是一種機(jī)遇亦是一種挑戰(zhàn)。1.4論文的主要研究?jī)?nèi)容本論文主要是研究如何使用python的流行框架djangorestframwork來開發(fā)一個(gè)簡(jiǎn)潔功能且功能齊全的網(wǎng)上生鮮商城系統(tǒng),這個(gè)系統(tǒng)主要實(shí)現(xiàn)了商品的瀏覽,商品加入購(gòu)物車,用戶對(duì)商品下單,用戶支付訂單等一系列基本功能,另外還要實(shí)現(xiàn)一個(gè)簡(jiǎn)潔易操作的后臺(tái)管理界面,這由另外一款開源插件xadmin來完成,這個(gè)商城系統(tǒng)順應(yīng)時(shí)代潮流,在如今人人都網(wǎng)購(gòu)的大環(huán)境中為人們提供便利,亦能促進(jìn)經(jīng)濟(jì)發(fā)展,節(jié)省開支,增加收益。下面將會(huì)列出論文的主要設(shè)計(jì)內(nèi)容:由pycharm作為平臺(tái)、采用MTV的設(shè)計(jì)模式官方推薦的開源框架djangorestframwork實(shí)現(xiàn)美觀簡(jiǎn)潔的商城系統(tǒng)。將會(huì)介紹系統(tǒng)主要使用的技術(shù)和所使用的簡(jiǎn)單架構(gòu),當(dāng)然也會(huì)包括開源框架的大致介紹。將會(huì)對(duì)設(shè)計(jì)進(jìn)行簡(jiǎn)單的需求分析,并且還是有具體的系統(tǒng)設(shè)計(jì)階段,還包括部分模塊的實(shí)現(xiàn),數(shù)據(jù)庫的設(shè)計(jì)和選擇等等。測(cè)試將會(huì)采用黑盒測(cè)試法,對(duì)系統(tǒng)的功能進(jìn)行測(cè)試。第2章需求分析所有系統(tǒng)的開發(fā)都離不開需求分析,詳細(xì)的需求分析會(huì)給后續(xù)開發(fā)帶來巨大得便利。清楚的需求分析能夠讓開發(fā)者和甲方更好的達(dá)成共識(shí),減少因?yàn)楹罄m(xù)實(shí)現(xiàn)后的功能不滿意而推翻重來的尷尬局面,減少可能產(chǎn)生的損失。2.1系統(tǒng)的功能需求隨著科技發(fā)展,電商也如雨落春筍般四處開花,如今比較流行的電商網(wǎng)站已然成為人們生活中不可缺少的重要組成部分,我們的衣食住行都十分依賴著他,可以說你想的你需要的都可以在網(wǎng)上找到相關(guān)的信息,因此這個(gè)生鮮商城系統(tǒng)的初衷便是為了滿足足不出戶便可在家享受到新鮮果蔬和事物的人群,這個(gè)系統(tǒng)的主要參與者分為兩種即普通用戶和管理員,功能也是由這兩個(gè)參與者劃分成2塊,用戶模塊又包含了用戶商品瀏覽,用戶進(jìn)行登錄注冊(cè),用戶對(duì)商品的收藏,用戶對(duì)商品下單,管理員模塊的主要功能則為商品信息管理,訂單信息管理和用戶信息管理。2.2系統(tǒng)的數(shù)據(jù)流圖系統(tǒng)相關(guān)的頂層數(shù)據(jù)流圖的過程是用戶和管理員對(duì)系統(tǒng)發(fā)出各種請(qǐng)求如登錄請(qǐng)求,注冊(cè)請(qǐng)求等,系統(tǒng)在收到請(qǐng)求后生成反饋,如圖2-1所示:圖2-1系統(tǒng)的頂層數(shù)據(jù)流圖系統(tǒng)的整體數(shù)據(jù)流圖的數(shù)過程是用戶通過登錄信息登錄,通過注冊(cè)信息注冊(cè),瀏覽商品時(shí)通過商品編號(hào)來收藏,將生鮮加入購(gòu)物車也是通過商品編號(hào),系統(tǒng)查詢對(duì)應(yīng)的表后返回相對(duì)的信息,管理員則是通過用戶,商品,訂單等信息對(duì)表進(jìn)行管理,系統(tǒng)接收到后反饋回頁面如圖2-2所示:
圖2-2系統(tǒng)的數(shù)據(jù)流圖1層圖2.3UML建模1.明確參與者(角色)此系統(tǒng)的參與者可以很明確的知道有兩種,及管理員和用戶,因此根據(jù)參與者的不同可以分別畫出他們的相關(guān)用例圖。2.用戶用例圖用戶用例圖的用例包括瀏覽商品,個(gè)人信息修改,下單,將商品加入購(gòu)物車,注冊(cè),登錄,收藏商品,如圖2-3所示:圖2-3用戶的用例關(guān)系圖下面列出幾個(gè)用例規(guī)約:表2-1注冊(cè)用例規(guī)約用例編號(hào)2-1用例名稱注冊(cè)功能描述給需要收藏商品或者訪問購(gòu)物車的用戶進(jìn)行注冊(cè)執(zhí)行者用戶前置條件進(jìn)入注冊(cè)相關(guān)的頁面后置條件當(dāng)注冊(cè)完成后會(huì)自動(dòng)轉(zhuǎn)發(fā)到login頁涉眾利益注冊(cè)用戶基本路徑用戶進(jìn)入注冊(cè)界面進(jìn)行注冊(cè)1.1用戶進(jìn)入系統(tǒng)界面,點(diǎn)擊注冊(cè)的鏈接或按鈕1.2填寫注冊(cè)信息1.2.1輸入注冊(cè)信息(手機(jī)號(hào)、驗(yàn)證碼、密碼等)1.2.2系統(tǒng)跟數(shù)據(jù)庫匹配,進(jìn)行驗(yàn)證碼的檢驗(yàn)1.3數(shù)據(jù)庫保存用戶信息,用戶注冊(cè)成功1.3.1更新用戶信息庫,添加用戶注冊(cè)信息(密碼、手機(jī)號(hào)等)1.3.2彈出窗口提示注冊(cè)成功,并跳轉(zhuǎn)至登錄頁擴(kuò)展1.2a若輸入的手機(jī)號(hào)有問題,系統(tǒng)將會(huì)提示輸入有效的手機(jī)號(hào)字段列表密碼、驗(yàn)證碼、手機(jī)號(hào)備注無表2-2商品加入購(gòu)物車用例規(guī)約用例編號(hào)2-2用例名稱購(gòu)物車功能描述將所需要購(gòu)買的生鮮等物品加進(jìn)去購(gòu)物車?yán)锩鎴?zhí)行者用戶前置條件處在某個(gè)生鮮的詳細(xì)信息頁后置條件添加后跳轉(zhuǎn)到購(gòu)物車涉眾利益用戶基本路徑1、用戶在商品詳細(xì)信息頁瀏覽1.1選擇商品1.2.1在商品分類中選擇其中一種需要購(gòu)買的1.2.2選擇購(gòu)買數(shù)量1.2點(diǎn)擊加入購(gòu)物車按鈕1.3跳轉(zhuǎn)到購(gòu)物車頁1.3.1填寫收貨地址1.3.2選擇支付方式擴(kuò)展1.3a目前只支持支付寶付款1.3b收獲地址不能為空,需要至少一個(gè)收貨地址字段列表收件人、手機(jī)號(hào)、收件地址備注無表2-3用戶下單用例規(guī)約用例編號(hào)2-3用例名稱下單功能描述用戶下單并支付需要購(gòu)買的商品執(zhí)行者用戶前置條件購(gòu)物車中有商品,至少有可選的收貨地址后置條件添加后跳轉(zhuǎn)到購(gòu)物車涉眾利益用戶基本路徑1、用戶在購(gòu)物車界面1.1點(diǎn)擊下單按鈕1.2跳轉(zhuǎn)到支付頁面1.3掃碼完成支付1.3.1支付成功,跳轉(zhuǎn)回原頁面1.3.2支付失敗返回訂單界面擴(kuò)展無字段列表無備注無3.管理員用例圖管理員用例圖的用例包括商品信息管理,訂單管理,用戶信息管理,登錄,其用例圖如圖2-4所示:圖2-4管理員的用例圖下面列出幾個(gè)管理員的用例規(guī)約:表2-4訂單管理用例規(guī)約用例編號(hào)2-4用例名稱訂單管理功能描述管理員對(duì)訂單信息進(jìn)行操作執(zhí)行者管理員前置條件管理員登錄后臺(tái)頁面后置條件數(shù)據(jù)庫得到更新涉眾利益管理員基本路徑1、管理員進(jìn)入后臺(tái)頁面1.1點(diǎn)擊訂單選項(xiàng)1.2更新訂單信息(增、刪、改)1.3保存訂單信息擴(kuò)展無字段列表訂單時(shí)間、訂單金額等備注無表2-5用戶信息管理用例規(guī)約用例編號(hào)2-5用例名稱用戶信息管理功能描述管理員對(duì)用戶信息進(jìn)行操作執(zhí)行者管理員前置條件管理員登錄后臺(tái)頁面后置條件數(shù)據(jù)庫得到更新涉眾利益管理員基本路徑1、管理員進(jìn)入后臺(tái)頁面1.1點(diǎn)擊用戶選項(xiàng)1.2更新用戶信息(增、刪、改)1.3保存訂單信息擴(kuò)展1.2a用戶隱私信息不可見字段列表用戶名、手機(jī)號(hào)等備注無2.4本章小結(jié)本章通過需求分析確定了將要實(shí)現(xiàn)的功能有兩大類,分為前后,另外從參與者角度出發(fā)進(jìn)行UML建模給各個(gè)角色制定了用例圖,并附加規(guī)約表進(jìn)行了詳細(xì)的解釋,不僅如此還通過數(shù)據(jù)流圖更好的展示了數(shù)據(jù)走向,讓需求更加的清晰。系統(tǒng)設(shè)計(jì)3.1開發(fā)工具介紹1.開發(fā)語言:本系統(tǒng)采用python3.5為主要語言開發(fā),python具有多平臺(tái)兼容,易學(xué)易用,可拓展性強(qiáng),豐富的生態(tài)等許多優(yōu)點(diǎn),作為開發(fā)用是十分好用的語言。2.框架選擇:好的框架能夠令開發(fā)事半功倍,這里后端采用的是python的一個(gè)開源框架djangorestframwork陳占省.基于REST架構(gòu)風(fēng)格的電機(jī)制造物聯(lián)網(wǎng)系統(tǒng)[D].陳占省.基于REST架構(gòu)風(fēng)格的電機(jī)制造物聯(lián)網(wǎng)系統(tǒng)[D].3.開發(fā)軟件:數(shù)據(jù)庫方面經(jīng)過采納用的是MYSQL5.5的通用版本,這個(gè)版本是相對(duì)好用的一個(gè)版本,MYSQL也是目前使用人物最多的免費(fèi)數(shù)據(jù)庫軟件,功能和社區(qū)十分強(qiáng)大,IDE選擇的是pycharm這個(gè)軟件,依然是功能十分強(qiáng)大的開發(fā)軟件,能夠令開發(fā)事半功倍。3.1.1系統(tǒng)整體架構(gòu)同java語言不同的是,django的架構(gòu)是MTV而不是大家都比較熟悉的MVC,但是其實(shí)現(xiàn)的原理是大同小異的。(1)M(model):M即是模型層,這一層的主要作用是寫同數(shù)據(jù)庫交互的邏輯,,django有一套自帶的ORM,十分強(qiáng)大,只需要按照他給定的規(guī)則去定義好數(shù)據(jù)庫中的字段,便可以對(duì)數(shù)據(jù)庫進(jìn)行增刪改等操作。(2)T(template):T是模板,代表的是模板層,django有自己的模板語言,其作用是將數(shù)據(jù)庫中的變量得以嵌入到HTML中去。(3)V(view):V即是視圖層,視圖層類似于JAVA中的controller,用來實(shí)現(xiàn)業(yè)務(wù)邏輯。此外,django還有一個(gè)路由系統(tǒng),用來對(duì)視圖和路由之間進(jìn)行映射,簡(jiǎn)單來說就是一個(gè)URL對(duì)應(yīng)一個(gè)視圖。他們的具體關(guān)系圖如圖3-1所示。 圖3-1系統(tǒng)整體架構(gòu)3.2功能模塊設(shè)計(jì)及功能網(wǎng)上生鮮商城分為前臺(tái)和后臺(tái)兩部分,其中前臺(tái)模塊主要負(fù)責(zé)服務(wù)于用戶,有與用戶進(jìn)行交互的功能,主要有登錄注冊(cè),商品展示,購(gòu)物車,用戶訂單,用戶信息,支付等模塊,后臺(tái)則主要是由管理員操作,有管理員登錄,訂單管理,商品信息管理,用戶信息管理等。圖3-2系統(tǒng)的功能模塊圖(1)前臺(tái)模塊:登錄注冊(cè)模塊:用于用戶的登錄注冊(cè),注冊(cè)是通過手機(jī)發(fā)送驗(yàn)證碼注冊(cè),登錄可以 通過注冊(cè)時(shí)填寫的用戶名或手機(jī)號(hào)來進(jìn)行登錄.用戶瀏覽商城不需要登錄。如圖 3-3是用戶登錄流程圖,圖3-4是用戶注冊(cè)流程圖。圖3-3用戶登錄流程圖圖3-4用戶注冊(cè)流程圖商品展覽模塊:商品展覽模塊包含了商品展覽列表頁,商品詳細(xì)信息頁,不同商品之間的分類,其中列表頁用于展示商品,詳細(xì)信息頁包括了商品的具體信息如商品叫什么,商品的數(shù)量有多少,商品的單價(jià)是多少,商品庫存還剩多少,商品的簡(jiǎn)短介紹等,商品分類包括分類的名稱,分類的具體描述,分類的不同類型等。購(gòu)物車:購(gòu)物車主要是用于用戶添加想要購(gòu)買的物品,添加完后購(gòu)物車會(huì)統(tǒng)計(jì)總價(jià),方便用戶下單,用戶添加物品到購(gòu)物車后,可以下單,如圖3-5是購(gòu)物車流程圖。圖3-5購(gòu)物車流程圖用戶訂單:訂單分為已付款和未付款兩種狀態(tài).訂單保存用戶從購(gòu)物車添加后下單的商品信息,包括商品列表,商品總價(jià),下單時(shí)間,訂單編號(hào)等。用戶個(gè)人中心:用戶個(gè)人中心展示著用戶的個(gè)人信息,商品收藏,我的訂單,以及收獲地址的刪改等。支付:當(dāng)用戶下單并付款時(shí),將會(huì)彈出付款碼進(jìn)行支付,支付的接口采用支付寶的支付接口。后臺(tái)管理模塊:管理員登錄模塊:跟用戶登錄模塊類似.只不過管理員是superuser,具有許多用戶所沒有的權(quán)限。訂單管理模塊:管理員能夠在后臺(tái)的界面中查看到一切訂單,并對(duì)訂單進(jìn)行必要的操作。商品信息管理模塊:管理員在后臺(tái)可以查看到所有的商品類別,并可以添加新的商品,也可以刪除修改商品信息。用戶信息管理模塊:管理員在后臺(tái)界面中能夠?yàn)g覽用戶的個(gè)人信息但不包括加密信息,比如說密碼,此外也能夠?qū)τ脩粜畔⑦M(jìn)行一系列的管理比如增加記錄,刪除和修改記錄等。3.3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)(DatabaseDesign)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式。于中遠(yuǎn),王亞平.應(yīng)用環(huán)境中最優(yōu)數(shù)據(jù)庫模式的構(gòu)建[J].河南科技,2011(21):56-57.好的數(shù)據(jù)庫設(shè)計(jì)可以減少后續(xù)開發(fā)的難度于中遠(yuǎn),王亞平.應(yīng)用環(huán)境中最優(yōu)數(shù)據(jù)庫模式的構(gòu)建[J].河南科技,2011(21):56-E-R圖設(shè)計(jì)本系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)E-R圖如圖3-2所示:圖3-5E-R圖3.3.2數(shù)據(jù)表設(shè)計(jì)根據(jù)需要本系統(tǒng)需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫supermarketOL,此外還需要?jiǎng)?chuàng)建7張表,分別是存儲(chǔ)用戶信息的userinfo(用戶信息表),admin(管理員表),包含所有商品信息的goods(商品信息表),存儲(chǔ)商品種類的goods_category(商品分類表),存儲(chǔ)接收到的驗(yàn)證碼的verifycode(驗(yàn)證碼表),存儲(chǔ)訂單的orderinfo(訂單信息表),存儲(chǔ)訂單詳情的orderdetail(訂單詳情表)。表3-6用戶信息表userinfo字段名字段類型字段長(zhǎng)度字段含義IDVARCHAR20主鍵NAMEVARCHAR30用戶名PASSWORDVARCHAR30密碼BIRTHDAYVARCHAR30生日GENDERVARCHAR2性別MOBILEVARCHAR50手機(jī)號(hào)碼EMAILVARCHAR200郵箱ADDRESSVARCHAR200地址表3-7用戶信息表verifycode字段名字段類型字段長(zhǎng)度字段含義IDVARCHAR20主鍵CODEVARCHAR30驗(yàn)證碼MOBILEVARCHAR30手機(jī)號(hào)碼ADD_TIMEDATETIME30創(chuàng)建時(shí)間表3-8管理員表admin字段名字段類型字段長(zhǎng)度字段含義IDVARCHAR20主鍵USERNAMEVARCHAR30用戶名PASSWORDVARCHAR30密碼EMAILVARCHAR50郵箱表3-9商品信息表goods字段名字段類型字段長(zhǎng)度字段含義IDVARCHAR20主鍵GOODS_SNVARCHAR50商品編號(hào)NAMEVARCHAR100商品名稱CLICK_NUMINT6點(diǎn)擊量SOLD_NUMINT6銷售量GOODS_NUMINT6商品庫存FAV_NUMINT6收藏?cái)?shù)GOODS_IMAGEVARCHAR200商品圖片IS_NEWTINYINT1是否新品IS_HOTTINYINT1是否熱銷CATEGORY_IDINT5分類IDTRANSLATE_FREETINYINT1是否免運(yùn)費(fèi)ADD_TIMEDATETIME創(chuàng)建時(shí)間表3-10商品分類表goods_category字段名字段類型字段長(zhǎng)度字段含義IDVARCHAR20主鍵NAMEVARCHAR50分類名稱CODEVARCHAR200分類碼DESCVARCHAR200分類描述CATEGORY_TYPEINT2分類類型PARENT_CATEGORY_IDVARCHAR20分類父類型表3-11訂單信息表orderinfo字段名字段類型字段長(zhǎng)度字段含義IDVARCHAR20主鍵ORDER_SNVARCHAR50訂單編號(hào)TRADE_NOVARCHAR50交易編號(hào)PAY_STATUSVARCHAR10支付狀態(tài)POST_SCRIPTVARCHAR100訂單留言O(shè)RER_MOUNTVARCHAR10訂單金額PAY_TIMEDATETIME支付時(shí)間ADDRESSVARCHAR200收貨地址SIGNER_NAMEVARCHAR20簽收人SIGNER_MOBILEVARCHAR11聯(lián)系電話ADD_TIMEDATETIME創(chuàng)建時(shí)間表3-12訂單詳情表orderdetail字段名字段類型字段長(zhǎng)度字段含義IDVARCHAR20主鍵ORDER_IDVARCHAR20訂單GOODS_IDVARCHAR20商品GOODS_NUMVARCHAR10商品數(shù)量3.4本章小結(jié)這一章主要進(jìn)行的是對(duì)表的設(shè)計(jì)和分析,也是十分重要的一個(gè)環(huán)節(jié),通過這一章節(jié)需要建立的表和字段已經(jīng)十分的清晰,E-R圖能使我們更加熟悉表與表之間的關(guān)系,而表字段設(shè)計(jì)則是立足于需求。第4章系統(tǒng)實(shí)現(xiàn)4.1系統(tǒng)主體設(shè)計(jì)4.1.1商品展示模塊實(shí)現(xiàn)商品展示模塊是用戶登錄后需要瀏覽的頁面,包含首頁,詳情頁,列表頁,首頁用于熱門商品展示,詳情頁是展示關(guān)于商品的相關(guān)詳細(xì)信息記錄,列表頁是展示分類展示所有商品的頁面,并且可以按熱度,新品,銷量等排序,實(shí)現(xiàn)效果圖如下所示:圖4-1商城首頁效果圖詳情頁包含了商品的描述,商品的輪播圖,商品單價(jià),另外還有收藏和加入購(gòu)物車的功能給用戶,用戶還可以選擇適當(dāng)?shù)馁?gòu)買數(shù)量,其實(shí)現(xiàn)圖如圖4-2。圖4-2商品詳情頁效果圖4.1.2購(gòu)物車模塊實(shí)現(xiàn)購(gòu)物車模塊是寄存用戶從詳細(xì)頁添加的商品,用戶需要有登錄后才有權(quán)限進(jìn)入,當(dāng)用戶在商品詳情頁點(diǎn)擊加入購(gòu)物車后,購(gòu)物車就會(huì)出現(xiàn)商品列表,包含了商品的各種信息,在購(gòu)物車界面用戶可以選擇增加或減少要購(gòu)買的商品數(shù)量,也可以選擇下單。圖4-3購(gòu)物車效果圖4.1.3登錄注冊(cè)模塊實(shí)現(xiàn)(1)登錄注冊(cè)模塊需要實(shí)現(xiàn)的效果是用戶先通過填寫注冊(cè)表單進(jìn)行注冊(cè),注冊(cè)時(shí)通過填寫手機(jī)號(hào)并接收驗(yàn)證碼進(jìn)行注冊(cè),注冊(cè)完成后便會(huì)跳轉(zhuǎn)到登錄頁面,登錄則是通過手機(jī)號(hào)或用戶名進(jìn)行登錄,如圖為登錄注冊(cè)的效果圖: 圖4-4登錄注冊(cè)效果圖(2)主要實(shí)現(xiàn)邏輯:1.登錄主要需要實(shí)現(xiàn)的便是表單的驗(yàn)證,djangorestframwork的官方文檔中有比較好的實(shí)現(xiàn)方案,具體是要重寫authenticate方法,在這個(gè)方法里面主要做用戶名和密碼的判斷,若是驗(yàn)證成功就返回用戶,否則返回none。下面是登錄部分相關(guān)代碼:users->views.pyclassCustomBackend(ModelBackend):
"""
自定義用戶驗(yàn)證
"""
defauthenticate(self,username=None,password=None,**kwargs):
try:
user=User.objects.get(Q(username=username)|Q(mobile=username))
ifuser.check_password(password):
returnuser
exceptExceptionase:
returnNone注冊(cè)主要是實(shí)現(xiàn)手機(jī)發(fā)送驗(yàn)證碼,發(fā)送驗(yàn)證碼需要用到第三方服務(wù),這里采用的是云片,它的短信服務(wù)收費(fèi)較為合理,此處具體是寫一個(gè)方法generate_code,它的作用是生成隨機(jī)四位數(shù)字的驗(yàn)證碼,云片通過你自定義的生成方式來發(fā)送驗(yàn)證碼到目標(biāo)手機(jī),而云片的使用則是仿造云片官網(wǎng)的API文檔來實(shí)現(xiàn),下面是大致代碼:users->views.pyclassCodeViewset(CreateModelMixin,viewsets.GenericViewSet):
"""
發(fā)送短信驗(yàn)證碼
"""
serializer_class=CodeSerializer
defgenerate_code(self):
"""
生成四位數(shù)字的驗(yàn)證碼
"""
seeds="1234567890"
random_str=[]
foriinrange(4):
random_str.append(choice(seeds))
return"".join(random_str)
defcreate(self,request,*args,**kwargs):
serializer=self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
mobile=serializer.validated_data["mobile"]
yun_pian=YunPian(APIKEY)
code=self.generate_code()
sms_status=yun_pian.send_sms(code=code,mobile=mobile)
ifsms_status["code"]!=0:
returnResponse({
"mobile":sms_status["msg"]
},status=status.HTTP_400_BAD_REQUEST)
else:
code_record=VerifyCode(code=code,mobile=mobile)
code_record.save()
returnResponse({
"mobile":mobile
},status=status.HTTP_201_CREATED)4.1.4后臺(tái)管理模塊實(shí)現(xiàn)(1)本系統(tǒng)中后臺(tái)管理模塊是一個(gè)整體,它包含了管理員登錄,管理員對(duì)商品,訂單,用戶信息等的管理,這里把他作為一個(gè)整體來實(shí)現(xiàn),而不是單獨(dú)實(shí)現(xiàn).管理員可以點(diǎn)擊左側(cè)菜單選擇要更改的選項(xiàng),便可以同數(shù)據(jù)庫進(jìn)行交互,進(jìn)行數(shù)據(jù)的增刪改查。 圖4-5后臺(tái)管理模塊效果圖(2)主要實(shí)現(xiàn)邏輯:后臺(tái)管理主要是采開源集成插件xadmin完成,只需要少量的代碼配置,就可以擁有一個(gè)功能齊全界面簡(jiǎn)潔美觀的后臺(tái),而實(shí)現(xiàn)這主要需要幾個(gè)步驟:在開源社區(qū)github上下載xadmin的相關(guān)包,然后將其移植到根目錄中。在settings.py的INSTALLED_APPS中需要加入xadmin,如下代碼:INSTALLED_APPS=[
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'users.apps.UsersConfig',
'DjangoUeditor',
'crispy_forms',
'django_filters',
'xadmin',#后臺(tái)管理配置
'rest_framework',
'corsheaders',
'rest_framework.authtoken'
]3.在每一個(gè)功能塊下都需要新建xadmin.py文件,用于初始化其應(yīng)用相關(guān)的后臺(tái)配置信息。4.1.5支付模塊實(shí)現(xiàn)當(dāng)下使用比較廣泛的無非是支付寶還有微信,本系統(tǒng)采用的是支付寶接口湯金甌,余世明.基于支付寶的自動(dòng)售貨機(jī)網(wǎng)上支付系統(tǒng)%Onlinepaymentsystemofvendingmachinebasedonalipay[J].機(jī)電工程,2010,027(005):124-126.進(jìn)行支付,python實(shí)現(xiàn)這個(gè)接口的話需要用支付寶提供的SDK,在虛擬環(huán)境中通過pipinsatllalipay-sdk-python這條命令就可以安裝,要實(shí)現(xiàn)支付寶支付首先要去支付寶開發(fā)者平臺(tái)創(chuàng)建沙箱應(yīng)用,這部分操作將讓我們得到相應(yīng)的APPID,支付寶網(wǎng)關(guān)還有密鑰,密鑰需要填寫下載如圖4-6密鑰生成工具生成的公鑰,填寫后會(huì)生成支付寶公鑰,生成支付寶公鑰后將其保存至txt文件中待用,這些都是實(shí)現(xiàn)支付必不可少的要素,接下來還要寫許多支付相關(guān)的邏輯,在開發(fā)階段都是使用沙箱環(huán)境進(jìn)行測(cè)試。支付成功后會(huì)自動(dòng)跳轉(zhuǎn)為預(yù)先設(shè)置好的頁面湯金甌,余世明.基于支付寶的自動(dòng)售貨機(jī)網(wǎng)上支付系統(tǒng)%Onlinepaymentsystemofvendingmachinebasedonalipay[J].機(jī)電工程,2010,027(005):124-126.圖4-6密鑰生成工具圖4-7支付效果圖圖4-8支付成功跳轉(zhuǎn)效果圖4.2本章小結(jié)本章主要介紹了5個(gè)主要功能模塊的實(shí)現(xiàn)效果圖,并簡(jiǎn)單的附上了實(shí)現(xiàn)的具體邏輯和代碼,通過這一章節(jié),一個(gè)系統(tǒng)的雛形已經(jīng)逐漸成熟。第5章系統(tǒng)測(cè)試5.1測(cè)試的目的及意義測(cè)試的目的不僅是為了發(fā)現(xiàn)軟件缺陷與錯(cuò)誤,而且是對(duì)軟件質(zhì)量進(jìn)行度量和評(píng)估,以提高軟件的質(zhì)量胥家瑞.淺談白盒測(cè)試和黑盒測(cè)試在軟件測(cè)試中的作用[J].天津市財(cái)貿(mào)管理干部學(xué)院學(xué)報(bào),2010(4):53-54.。測(cè)試是為了在前期以少量人力換取后期維護(hù)的效率,如果沒有測(cè)試,錯(cuò)誤累積起來,后續(xù)會(huì)帶來難以預(yù)估的損失胥家瑞.淺談白盒測(cè)試和黑盒測(cè)試在軟件測(cè)試中的作用[J].天津市財(cái)貿(mào)管理干部學(xué)院學(xué)報(bào),2010(4):53-54.測(cè)試一般來說有兩種,其一為黑盒測(cè)試,其二為白盒測(cè)試,黑盒測(cè)試又叫功能測(cè)試,測(cè)試人員不需要考慮內(nèi)部邏輯,僅僅測(cè)試其功能是否符合需求,白盒測(cè)試與黑盒測(cè)試相反,注重的使程序內(nèi)部邏輯,本系統(tǒng)采用的測(cè)試方法為黑盒測(cè)試。5.2測(cè)試用例及測(cè)試結(jié)果5.2.1系統(tǒng)登錄測(cè)試功能描述:用戶通過注冊(cè)后的賬號(hào)密碼進(jìn)行登錄,管理員不需要注冊(cè)即可登錄,默認(rèn)賬號(hào)為admin,密碼為123456。用戶輸入用戶名和密碼,當(dāng)輸入的用戶名或密碼錯(cuò)誤時(shí)會(huì)提示用戶名或密碼錯(cuò)誤,若用戶名不存在則會(huì)提示用戶名不存在。系統(tǒng)的登錄測(cè)試用例如表5-1所示。表5-1系統(tǒng)登錄測(cè)試用例圖序列測(cè)試目的測(cè)試輸入測(cè)試結(jié)果測(cè)試說明用戶名密碼用戶名為空(為空)admin用戶名或密碼不正確用戶名為空?qǐng)?bào)錯(cuò)密碼為空admin(為空)用戶名或密碼不正確密碼為空?qǐng)?bào)錯(cuò)用戶名密碼都為空(為空)(為空)用戶名或密碼不正確用戶名或密碼錯(cuò)誤錯(cuò)誤的用戶名admin1123456用戶名不存在用戶名不存在用戶名、密碼都正確輸入admin123456跳轉(zhuǎn)到首頁登錄成功5.2.2系統(tǒng)注冊(cè)測(cè)試功能描述:用戶需要通過注冊(cè)來獲得用戶名和密碼,注冊(cè)的方式使手機(jī)號(hào)碼注冊(cè),通過發(fā)送手機(jī)驗(yàn)證碼,再填寫驗(yàn)證碼和密碼來完成注冊(cè)。手機(jī)號(hào)的格式必須為11位,驗(yàn)證碼是隨機(jī)的四個(gè)數(shù)字英文混合的組合,密碼不能為空。系統(tǒng)注冊(cè)測(cè)試的用例如表5-2所示。表5-2系統(tǒng)注冊(cè)測(cè)試用例序列測(cè)試目的測(cè)試輸入測(cè)試結(jié)果測(cè)試說明手機(jī)號(hào)驗(yàn)證碼密碼輸入錯(cuò)誤手機(jī)號(hào)137289
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)員工服務(wù)意識(shí)培訓(xùn)
- 冷鏈物流項(xiàng)目運(yùn)營(yíng)方案
- 教育培訓(xùn)在線教育培訓(xùn)機(jī)構(gòu)運(yùn)營(yíng)與管理方案
- 品牌形象與營(yíng)銷策略匹配度評(píng)估表
- 醫(yī)藥冷鏈運(yùn)輸國(guó)際
- 能源企業(yè)社會(huì)責(zé)任報(bào)告編制指南
- 季度項(xiàng)目進(jìn)展及成果匯報(bào)會(huì)議紀(jì)實(shí)
- 血液腫瘤練習(xí)試題及答案
- 保育師初級(jí)復(fù)習(xí)試題有答案
- 物流配送中心庫存管理優(yōu)化方案
- 西北四?。兾魃轿髑嗪幭模?025屆高三下學(xué)期第一次聯(lián)考生物試題含答案
- 2024年紅河州公安局邊境管理支隊(duì)招聘專職輔警考試真題
- 2025年上半年山西交控集團(tuán)所屬路橋集團(tuán)交投集團(tuán)招聘800人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 同等學(xué)力申碩-H001356法學(xué)學(xué)科綜合知識(shí)考點(diǎn)匯編
- 外周靜脈血管解剖知識(shí)
- JJF1033-2023計(jì)量標(biāo)準(zhǔn)考核規(guī)范
- 《教育強(qiáng)國(guó)建設(shè)規(guī)劃綱要(2024-2035年)》解讀與培訓(xùn)
- 2025年青島市技師學(xué)院招考聘用48人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年08月澳門2024年中國(guó)銀行澳門分行校園招考筆試歷年參考題庫附帶答案詳解
- 110KV-GIS設(shè)備技術(shù)要求
評(píng)論
0/150
提交評(píng)論