【正文】
本次畢業(yè)設(shè)計(jì)從論文選題、搜集材料到最終完成設(shè)計(jì) ,每一步都是在李老師的指導(dǎo)下完成的,花費(fèi)了李老師 。李老師每周都會(huì)抽出時(shí)間詢問(wèn)我們的進(jìn)度并耐心的解答我們遇到的問(wèn)題。 謝 辭 本次設(shè)計(jì)的指導(dǎo)老師是李博老師。在以后的進(jìn)一步設(shè)計(jì)中,應(yīng)加強(qiáng)與實(shí)際情況相符的功能模塊的實(shí)現(xiàn)以提高系統(tǒng)的性能,使功能模塊間的關(guān)系更協(xié)調(diào),并盡可能解決系統(tǒng)的通用性問(wèn)題,從而使系統(tǒng)能得到更好的應(yīng)用 。訂單生成之后沒(méi)有向會(huì)員的注冊(cè)郵箱發(fā)送確認(rèn)郵件或向會(huì)員的聯(lián)系號(hào)碼發(fā)送短信的功能。 另外,本系統(tǒng)只實(shí)現(xiàn)到生成訂單, 并沒(méi)有實(shí)現(xiàn)在線支付功能。管理員登錄后可以對(duì)商品信息、會(huì)員信息、訂單信息和評(píng)論,還可以發(fā)布網(wǎng)站公告。前臺(tái)面向會(huì)員,后臺(tái)面向管理員。在編碼階段 采用了基于 MVC 模式的ThinkPHP 框架。 該網(wǎng) 站在PHP+MySQL+Apache 開(kāi)發(fā)環(huán)境下,使用 Zend Studio 集成開(kāi)發(fā)工具開(kāi)發(fā)而成。 總 結(jié) 經(jīng)過(guò)這次畢業(yè)設(shè)計(jì),我 熟悉了一個(gè)軟件系統(tǒng)開(kāi)發(fā)的整個(gè)過(guò)程,進(jìn)一步掌握四年多來(lái)在軟件方面學(xué)習(xí)的課程 。在初步測(cè)試后,對(duì)出問(wèn)題的地方又進(jìn)行了修改。 系統(tǒng)測(cè)試 方案 表 61 會(huì)員注冊(cè)模塊測(cè)試用例 用例說(shuō)明 會(huì)員注冊(cè)測(cè)試 測(cè)試需求 檢測(cè)會(huì)員注冊(cè)時(shí)輸入的信息是否合法 測(cè)試用例 ,點(diǎn)擊提交 按鈕 $%amp。不需測(cè)試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過(guò)程。測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性?;液蟹ㄖ饕糜诩蓽y(cè)試。還有一種是程序 和需求相結(jié)合的測(cè)試。測(cè)試用例來(lái)源于對(duì)軟件的需求描述和需求規(guī)約的分析,并根據(jù)需求描述和需求規(guī)約所規(guī)定的功能和性能是否得到了充分的檢驗(yàn)來(lái)判斷測(cè)試是否充分,這種方法被稱為 “ 黑盒法 ” 。白盒法主要用于單元測(cè)試。機(jī)器測(cè)試就是通過(guò)計(jì)算機(jī)來(lái)運(yùn)行程序,以發(fā)現(xiàn)程序的錯(cuò)誤,主要包括白盒法和黑盒法。 人工測(cè)試就是由人去審查、討論或人工運(yùn)行程序 ,以找出程序的錯(cuò)誤。為了盡可能地發(fā)現(xiàn)并改正系統(tǒng)設(shè)計(jì)中的錯(cuò)誤,減少錯(cuò)誤造成的損失,保證系統(tǒng)開(kāi)發(fā)的質(zhì)量,需要進(jìn)行系統(tǒng)的測(cè)試。它是檢驗(yàn)系統(tǒng)是否確實(shí)能提供系統(tǒng)方案說(shuō)明書(shū)中指定功能的有效方法。系統(tǒng)會(huì)調(diào)用 GonggaoAction 類(lèi)的 deletepj()方法,根據(jù)接收到的評(píng)論編號(hào)通過(guò) PingjiaModel 類(lèi)從 pingjia 表中刪除評(píng)論。顯示評(píng)論信息頁(yè)面如圖所示。 管理員登錄點(diǎn)擊 “ 評(píng)論管理 ” 標(biāo)簽后,系統(tǒng)調(diào)用 GonggaoAction 類(lèi)的 editpinglun()方法,該方法數(shù)據(jù)庫(kù)中取出所有公告的信息。 管理員在顯示公告頁(yè)面可以點(diǎn)擊每一個(gè)公告對(duì)應(yīng)的刪除復(fù)選框,刪除該公告。管理員可以修改公告的具體信息。 管理員在顯示公告記錄頁(yè)面單擊某一公告 duiyin 對(duì)應(yīng)的 “ 修改 ” 標(biāo)簽后,系統(tǒng)會(huì)調(diào)用 GonggaoAction 類(lèi)的 editgonggao()方法,該方法通過(guò) GonggaoModel 類(lèi)從 gonggao 表 中取出該公告的具體信息。添加公告界面如圖 523 所示。管理員在該頁(yè)面輸入公告的主題和內(nèi)容,添加公告。 圖 522 顯示訂單詳細(xì)信息頁(yè)面 管理信息模塊設(shè)計(jì)與實(shí)現(xiàn) 管理員點(diǎn)擊 “ 添加公告 ” 標(biāo)簽,可以進(jìn)行添加網(wǎng)站公告。管理員提交信息后,系統(tǒng)調(diào)用 DingdanAction類(lèi)的 saveorder()方法,該方法通過(guò) DingdanModel 類(lèi)在 dingdan 表中更訂單詳細(xì)信 息。 系統(tǒng)調(diào)用 DingdanAction 類(lèi)的 orderdd()方法,該方法根據(jù)接收到的訂單編號(hào)通過(guò) DingdanModel 類(lèi)從 dingdan 表中取出該訂單的詳細(xì)信息。系統(tǒng)調(diào)用 deletedd(),該方法根據(jù)接收到的訂 單編號(hào)通過(guò) DingdanModel 類(lèi)從 dingdan 表中刪除訂單記錄。顯示訂單頁(yè)面如圖 521 所示。 lookdd()方法會(huì)接收表單傳遞的參數(shù),然后通過(guò) DingdanModel 類(lèi)從 dingdan 表中取出符合條件的訂單信息。 管理訂單模塊設(shè)計(jì)與實(shí)現(xiàn) 管理員單擊 “ 查詢訂單 ” 標(biāo)簽后,系統(tǒng)調(diào)用 DingdanAction 類(lèi)的 lookdd()方法,該方法通過(guò) DingdanModel 類(lèi)從 dingdan 表中取出所有訂單信息。管理員在該頁(yè)面該頁(yè)面修改自己的信息。 管理員單擊 “ 管理員信息管理 ” 標(biāo)簽后,系統(tǒng)調(diào)用 UserAction 類(lèi)的 changeadmin ()方法,該方法通過(guò) AdminModel 類(lèi)從 admin 表中取出管理員信息。顯示具體會(huì)員信息頁(yè)面如圖 520 所示。系統(tǒng)調(diào)用lookuserinfo()方法,該方法根據(jù)接收到的會(huì)員編號(hào)通過(guò) UserModel 類(lèi)從 user 表中取出該會(huì)員的詳細(xì)數(shù) 據(jù)。該方法同時(shí)也會(huì)通過(guò) GonggaoModel 類(lèi)刪除會(huì)員的所有評(píng)論信息。 圖 519 顯示會(huì)員信息頁(yè)面 管理員可以在該頁(yè)面點(diǎn)擊 “ 刪除 ” 復(fù)選框,刪除某些會(huì)員信息。系統(tǒng)將所有信息注入到模板文件 中,并調(diào)用該模板分頁(yè)顯示會(huì)員信息。系統(tǒng)調(diào)用 ProductAction 類(lèi)的 deletegoods()方法,根據(jù)接收的商品編號(hào)通過(guò) ShangpinModel 類(lèi)從 shangpin 表中刪除該商品信息。管理員確認(rèn)修改后,系統(tǒng)調(diào)用 savechangegoods ()方法,根據(jù)接收到的商品編號(hào)通過(guò) ShangpinModel 類(lèi) 在 type 表中更新該商品的信息。系統(tǒng)將信息注入到模板文件 中 ,并調(diào)用該模板文件顯示修改商品信息頁(yè)面。顯示商品記錄頁(yè)面如圖 518 所示。添加商品界面如圖 517 所示。管理員在該頁(yè)面輸入商品具體信息,選擇商品類(lèi)別,上傳商品圖片,完成添加商品操作。 管理員點(diǎn)擊 “ 添加商品 ” 標(biāo)簽,可以進(jìn)行添加商品操作。 管理員在顯示類(lèi)別頁(yè)面可以點(diǎn)擊每一個(gè)商品類(lèi)別對(duì)應(yīng)的刪除復(fù)選框,刪除該類(lèi)別。管理員可以修改類(lèi)別的名稱和父級(jí)類(lèi)別。顯示類(lèi)別頁(yè)面如圖 516 所示。添加類(lèi)別界面如圖 515 所示。若該類(lèi)別已存在,則彈窗顯示錯(cuò)誤信息,拒絕該添加操作。管理員輸入 類(lèi)別名稱,選擇類(lèi)別等級(jí)和父級(jí)名稱,完成操作。二級(jí)分類(lèi)的父類(lèi)別名稱和編號(hào)可以從一級(jí)分類(lèi)中選取。本次設(shè)計(jì)中商品的類(lèi)別分為兩級(jí)。后臺(tái)模塊模型類(lèi)圖如圖 514 所示。 + _ _ c o n s t r u c t ( ) i s A j a x ( )+ d i s p l a y ( ) f e t c h ( ) b u i l d H t m l ( )+ a s s i g n ( ) n a m e v i e w e r r o rA c t i o n C l a s s+ l o o k d d ( )+ d e l e t e d d ( )+ o r d e r d d ( )+ s a v e o r d e r ( )+ f i n d d d ( ) ( )D i n g d a n A c t i o n C l a s s+ a d m i n g o n g g a o ( )+ a d d g o n g g a o ( )+ s a v e x i u g a i g o n g g a o ( )+ e d i t g o n g g a o ( )+ e d i t p i n g l u n ( )+ d e l e t e p i n g j i a ( )+ s a v e n e w g o n g g a o ( )+ d e l e t e g o n g g a o ( )G o n g g a o A c t i o n C l a s s+ i n d e x ( )I n d e x A c t i o n C l a s s+ a d d g o o d s ( )+ e d i t g o o d s ( )+ d e l e t e g o o d s ( )+ s a v e c h a n g e g o o d s ( )+ s a v e n e w g o o d s ( )+ c h a n g e g o o d s ( )P r o d u c t A c t i o n C l a s+ l o g i n ( )+ l o g o u t ( )+ c h k a d m i n ( )P u b l i c A c t i o n C l a s s+ a d d l e i b i e ( )+ s h o w l e i b i e ( )+ s a v e a d d l e i b i e ( )+ x i u g a i l e i b i e ( )+ s a v e x i u g a i l b ( )+ d e l e t e l b ( )T y p e A c t i o n C l a s s+ e d i t u s e r ( )+ l o o k u s e r i n f o ( )+ c h a n g a d m i n ( )+ s a v e a d m i n ( )+ d e l e t e u s e r ( )+ d o n g j i e u s e r ( )U s e r A c t i o n C l a s s 圖 513 后臺(tái)模塊控制器類(lèi)圖 后臺(tái)模塊需要用到數(shù)據(jù)庫(kù)中所有的七張表,所以后臺(tái)模塊共設(shè)計(jì)七個(gè)模型類(lèi):DingdanModel 類(lèi)、 GonggaoModel 類(lèi)、 PingjiaModel、 ShangpinModel 類(lèi)、 TypeModel 類(lèi)、UserModel 類(lèi)和 AdminModel 類(lèi)。其它控制器類(lèi)的作用與前臺(tái)模塊相似。 圖 512 查詢訂單頁(yè)面 后臺(tái)模塊設(shè)計(jì)與實(shí)現(xiàn) 根據(jù)分析,后臺(tái)模塊共設(shè)計(jì)七個(gè) Action 控制器 類(lèi): DingdanAction 類(lèi)、 GonggaoAction類(lèi)、 IndexAction 類(lèi)、 ProductAction 類(lèi)、 PublicAction 類(lèi)、 TypeAction 類(lèi)和 UserAction 類(lèi)。會(huì)員也可以在搜索框中輸入訂單號(hào),系統(tǒng)則調(diào)用 finddd()方法,根據(jù) session中的會(huì)員名和輸入的訂單號(hào)從在 dingdan 表查詢具體的訂單信息。會(huì)員在該頁(yè)面可以查看到訂單狀態(tài)并進(jìn) 行確認(rèn)收獲操作。該方法從session 中獲取登錄會(huì)員名,并通過(guò) DingdanModel 模型類(lèi)從 dingdan 表中查詢已登錄會(huì)員提交的所有訂單記錄。修改密碼頁(yè)面如圖 511 所示。會(huì)員修改完畢后點(diǎn)擊確認(rèn)更改按鈕,完成操作。 會(huì)員中心頁(yè)面如圖 510 所示。會(huì)員可以在該頁(yè)面內(nèi)修改自己的信息。 圖 59 顯示訂單頁(yè)面 個(gè)人信息模塊設(shè)計(jì)與實(shí)現(xiàn) 會(huì)員在首頁(yè)點(diǎn)擊會(huì)員中心按鈕后,系統(tǒng)調(diào)用 UserAction 類(lèi)的 usercenter()方法,該方法通過(guò) UserModel 類(lèi)獲取當(dāng)前登錄會(huì)員的相關(guān)信息。系統(tǒng)將訂單信息注入到模板文件 中,調(diào)用該模板顯示訂單信息。系統(tǒng)調(diào)用 ProductAction 類(lèi) savedd()方法,通過(guò) DingdanModel類(lèi)將訂單信息插入到 dingdan 表中。 圖 58 購(gòu)物車(chē)頁(yè)面 會(huì)員選購(gòu)?fù)戤叄c(diǎn)擊 “ 選購(gòu)?fù)戤?” 標(biāo)簽,進(jìn)入填寫(xiě)收獲人信息界面。如果會(huì)員點(diǎn)擊某一記錄對(duì)應(yīng)的移除操作,則系統(tǒng)會(huì)調(diào)用 ProductAction類(lèi) removegwc()方法,根據(jù)傳來(lái)的參數(shù)從購(gòu)物車(chē)中清除該記錄。若在該頁(yè)面內(nèi)修改了商品數(shù)量,則重新調(diào)用 gouwu1()方法,更新購(gòu)物車(chē)信息。該方法從 session 中獲取商品的編號(hào)和購(gòu)買(mǎi)數(shù)量,并用過(guò) ShangpinModel 類(lèi)從 shangpin 表中查詢商品的相關(guān)信息,并計(jì)算購(gòu)物車(chē)內(nèi)總金額。然后系統(tǒng)會(huì)調(diào)用 ProductAction 類(lèi)的 gouwu1()方法。若有記錄則彈窗顯示,提醒會(huì)員更改數(shù)量。若數(shù)量小于 0,彈窗顯示 “ 已售完 ” 。則系統(tǒng)調(diào)用 ProductAction 類(lèi)的 addgouwuche()方法,接收鏈接傳來(lái)的商品編號(hào)。若無(wú)會(huì)員登錄,則彈窗顯示消息。 圖 57 顯示評(píng)論頁(yè)面 訂購(gòu)模塊設(shè)計(jì)與實(shí)現(xiàn) 本次設(shè)計(jì)只允許已登錄的會(huì)員訂購(gòu)商品。該方法接收鏈接傳來(lái)的參數(shù),并通過(guò) PingjiaModel 模型類(lèi)從 pingjia 表取得該商品的全部評(píng)論,并分頁(yè)顯示。該方法接收表單傳來(lái)的參數(shù),從 session中獲取會(huì)員名,然后通過(guò) UserModel 模型類(lèi)從數(shù)據(jù)庫(kù)中獲取會(huì)員編號(hào),最后通過(guò)PingjiaModel 模型類(lèi)將數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中的 pingjia 表中。已登錄會(huì)員輸入評(píng)論主題和評(píng)論內(nèi)容后點(diǎn)擊提交按鈕,完成評(píng)論。若未登錄,則只顯示商品的具體信息。商品具體信息頁(yè)面如圖 56 所示 。該方法接收超級(jí)鏈接傳來(lái)的參數(shù),通過(guò) ShangpinModel 類(lèi)根據(jù)參數(shù)從數(shù)據(jù)庫(kù)中查詢關(guān)于該商品的相關(guān)信息。 查詢結(jié)果頁(yè)面如圖 55 所示 。系統(tǒng)會(huì)調(diào)用 ProductAction 類(lèi)