方特旅游小程序的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
方特旅游小程序的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
方特旅游小程序的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
方特旅游小程序的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
方特旅游小程序的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

研途幫幫網(wǎng)第2章關(guān)鍵技術(shù)2.1開(kāi)發(fā)技術(shù)2.1.1Java語(yǔ)言Java開(kāi)發(fā)中主要涉及到3個(gè)基礎(chǔ)概念需要進(jìn)行單獨(dú)說(shuō)明:JVM、JRE和JDK。JVM(JavaVirtualMachine)即java虛擬機(jī),java程序并不是直接運(yùn)行的,編譯器會(huì)將java源碼轉(zhuǎn)換為字節(jié)碼文件,然后再通過(guò)JVM進(jìn)行解析和運(yùn)行[4]。JRE(JavaRuntimeEnvironment)包含了JVM和Java的核心API,是java程序運(yùn)行的最小要求。任何一臺(tái)設(shè)備運(yùn)行java程序都需要通過(guò)JVM加載javaapi,然后解析字節(jié)碼文件,才能正常運(yùn)行一個(gè)java程序。JDK(JavaDevelopmentKit)是java開(kāi)發(fā)工具包,包含了JRE和基礎(chǔ)的開(kāi)發(fā)工具包。java開(kāi)發(fā)者必須安裝JDK,才能進(jìn)行java程序的開(kāi)發(fā)和調(diào)試。2.1.2JavaScriptJavascript是一種腳本語(yǔ)言,其本身和java無(wú)關(guān),主要用于網(wǎng)頁(yè)上各類(lèi)鏈接、按鈕等元素的響應(yīng)邏輯,從而實(shí)現(xiàn)所需的交互效果[5]。Javascript語(yǔ)法簡(jiǎn)單隨意,學(xué)習(xí)門(mén)檻非常低,甚至有很多程序員在需要用到某個(gè)特性時(shí)才直接針對(duì)性的進(jìn)行學(xué)習(xí),所以新手非常好上手。除了基本語(yǔ)法外,javascript還有兩類(lèi)操作:BOM(BrowserObjectModel)和DOM(DocumentObjectModel)。BOM主要是用來(lái)操作瀏覽器的,例如在瀏覽器中彈出一個(gè)警告框,控制臺(tái)輸出打印信息等,符合我們的思維邏輯。DOM則是操作html中的標(biāo)簽元素的,例如獲取頁(yè)面中某個(gè)標(biāo)簽后,給其綁定鼠標(biāo)單擊的響應(yīng)事件等,更像預(yù)先配置各個(gè)功能對(duì)應(yīng)的回調(diào)函數(shù)。一般比較規(guī)范的編程不會(huì)在html中綁定各個(gè)元素的處理函數(shù),而是在對(duì)應(yīng)的js文件中,通過(guò)DOM方法進(jìn)行配置。JavaScript最大的優(yōu)點(diǎn)就是非常容易學(xué)習(xí),目前幾乎所有的web開(kāi)發(fā)都使用了Javascript。2.1.3MySQL數(shù)據(jù)庫(kù)網(wǎng)站的信息存儲(chǔ)需要建立一個(gè)數(shù)據(jù)庫(kù),本系統(tǒng)采用的是MySQL數(shù)據(jù)庫(kù)作為數(shù)據(jù)信息存儲(chǔ)的工具[6]。MySQL數(shù)據(jù)庫(kù)的主要優(yōu)點(diǎn)是操作簡(jiǎn)單、符合Web站點(diǎn)以及其他軟件的使用,并且它反應(yīng)速度快并且易于使用和操作,所以越來(lái)越多的程序員選擇MySQL數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)的建立,MySQL數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)化語(yǔ)言是通過(guò)SQL進(jìn)行訪問(wèn)。社區(qū)版和商業(yè)版是社區(qū)版和商業(yè)版的主要兩個(gè)版本。MySQL數(shù)據(jù)庫(kù)的體積小、速度快以及使用成本低的特點(diǎn)是眾多中小企業(yè)選擇的主要原因。MySQL數(shù)據(jù)庫(kù)的連接是通過(guò)在JDBC中導(dǎo)入對(duì)應(yīng)數(shù)據(jù)庫(kù)的Jar包就可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)的存儲(chǔ)等。數(shù)據(jù)存儲(chǔ)的過(guò)程中使用class.forname來(lái)進(jìn)行驅(qū)動(dòng)的,編程者在創(chuàng)建數(shù)據(jù)庫(kù)后,程序通過(guò)DAO模式對(duì)網(wǎng)站數(shù)據(jù)庫(kù)中的內(nèi)容進(jìn)行操作。DAO模式是實(shí)現(xiàn)數(shù)據(jù)庫(kù)和數(shù)據(jù)訪問(wèn)的主要對(duì)象。DAO模式作為數(shù)據(jù)操縱的對(duì)象被廣泛應(yīng)用。使用數(shù)據(jù)庫(kù)是實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)站不可少的部分,只需要安裝數(shù)據(jù)庫(kù)就可以完成對(duì)數(shù)據(jù)的存儲(chǔ),不需要使用特定的物理位置進(jìn)行固定等。數(shù)據(jù)庫(kù)管理圖如圖2-1所示。圖2-1數(shù)據(jù)庫(kù)管理網(wǎng)站和接口的原理2.2微信小程序微信小程序類(lèi)似于手機(jī)中的app,但其無(wú)需apk安裝包進(jìn)行安裝,只需在微信中搜索或者掃一掃進(jìn)入小程序,即可立即使用。用戶使用完成后,只需將小程序在后臺(tái)殺掉,即可退出小程序[7]。對(duì)于用戶而言,不會(huì)在手機(jī)上留下痕跡,非常簡(jiǎn)單便捷。小程序的開(kāi)發(fā)和H5應(yīng)用的開(kāi)發(fā)比較類(lèi)似,但由于微信小程序基于微信本身,不會(huì)出現(xiàn)跨平臺(tái)跨機(jī)型的兼容性問(wèn)題,比H5應(yīng)用開(kāi)發(fā)更加容易上手。同時(shí),微信本身也對(duì)小程序的運(yùn)行做了一定的優(yōu)化。因此,小程序的使用體驗(yàn)大體上和App相當(dāng)。微信小程序的頁(yè)面由WXML、WXSS、JSON和JS這4個(gè)文件構(gòu)成,雖然和前端標(biāo)準(zhǔn)的HTML+CSS+JS不同,但總體開(kāi)發(fā)思路是類(lèi)似的。WXML定義了頁(yè)面的元素,WXSS為頁(yè)面元素進(jìn)行布局,JSON定義了數(shù)據(jù),JS負(fù)責(zé)業(yè)務(wù)邏輯的判斷和處理。微信小程序還有一個(gè)最大的優(yōu)勢(shì),由于微信的使用群體數(shù)量龐大,而小程序的體驗(yàn)有十分簡(jiǎn)單,所以小程序相比其他APP或者H5應(yīng)用而言,非常容易進(jìn)行推廣,這為開(kāi)發(fā)者極大的節(jié)約了經(jīng)濟(jì)成本,從而對(duì)開(kāi)發(fā)者具有更高的吸引力。第3章系統(tǒng)分析3.1可行性分析可行性分析是系統(tǒng)需求分析的第一步,是系統(tǒng)開(kāi)發(fā)之前就需確認(rèn)的,本節(jié)在后續(xù)3方面進(jìn)行了可行性分析。3.1.1經(jīng)濟(jì)可行性隨著人們生活水平的提高,互聯(lián)網(wǎng)技術(shù)的應(yīng)用也日益廣泛,也進(jìn)一步促使人們的生活方式發(fā)生了巨大的變化,方特旅游小程序結(jié)合了計(jì)算機(jī)技術(shù),具有多種功能和數(shù)據(jù)處理方式,既滿足了游客的游玩需求,又節(jié)約了成本,后期系統(tǒng)的維護(hù)和改善也相對(duì)簡(jiǎn)單,因此在經(jīng)濟(jì)方面是可行的。3.1.2技術(shù)可行性在軟件開(kāi)發(fā)過(guò)程中,技術(shù)的選擇、軟硬件的配置將直接影響產(chǎn)品的開(kāi)發(fā)質(zhì)量和開(kāi)發(fā)流程,方特旅游小程序基于MySQL數(shù)據(jù)庫(kù),結(jié)合Java語(yǔ)言,明確用戶的需求,涵蓋系統(tǒng)流程圖、用例圖、E-R圖等,因此系統(tǒng)在技術(shù)方面是可行的[8]。3.1.3操作可行性操作可行性包括系統(tǒng)的用戶體驗(yàn)、產(chǎn)品形式等,方特旅游小程序是用戶端和網(wǎng)絡(luò)端的信息管理應(yīng)用,用戶隨時(shí)隨地可以進(jìn)行訪問(wèn)操作,并且實(shí)用性強(qiáng),操作簡(jiǎn)單、便捷,具有很好的用戶體驗(yàn)[9]。3.2需求描述方特旅游小程序的使用者有用戶和管理員。用戶需求有:系統(tǒng)能夠根據(jù)用戶數(shù)據(jù)進(jìn)行定向推薦,查看游玩項(xiàng)目的具體信息和注意事項(xiàng),預(yù)約與收藏項(xiàng)目。對(duì)預(yù)約訂單進(jìn)行簽到、評(píng)價(jià)等操作,用戶同時(shí)可以管理個(gè)人信息,以及在交流反饋模塊發(fā)帖與他人交流。管理員需求有:對(duì)用戶信息、預(yù)約項(xiàng)目、預(yù)約訂單處理等模塊進(jìn)行操作,包括添加、刪除、編輯修改以及查詢。同時(shí)要能夠回復(fù)以及刪除用戶發(fā)帖。3.3需求分析3.3.1用例圖方特旅游小程序基于用戶的不同身份對(duì)角色進(jìn)行分析與設(shè)計(jì),得到系統(tǒng)用例圖,系統(tǒng)角色包括管理員和用戶,其中管理員主要負(fù)責(zé)數(shù)據(jù)管理,用戶主要側(cè)重于對(duì)功能的使用。用戶可以進(jìn)行注冊(cè)、登錄操作,查看推薦內(nèi)容、游玩項(xiàng)目簡(jiǎn)介,進(jìn)行項(xiàng)目收藏預(yù)約以及簽到評(píng)價(jià),同時(shí)與其他用戶交流,管理個(gè)人信息。如圖3-1所示是用戶用例圖。圖3-1用戶用例圖管理員可以進(jìn)行登錄,管理用戶、分類(lèi)、項(xiàng)目預(yù)約、預(yù)約購(gòu)買(mǎi)、簡(jiǎn)介、交流等內(nèi)容。管理員用例圖如圖3-2所示。圖3-2管理員用例圖3.3.2用例規(guī)格說(shuō)明方特旅游小程序的主要功能包括為我推薦、預(yù)約項(xiàng)目、管理個(gè)人基本信息,以及對(duì)用戶信息、預(yù)約購(gòu)買(mǎi)、交流反饋等的管理,由于本系統(tǒng)的用例較多,選擇了以下幾個(gè)用例對(duì)其進(jìn)行描述。(1)為我推薦的規(guī)格說(shuō)明為我推薦這一用例的參與者是方特小程序用戶,此用戶在進(jìn)入為我推薦模塊后,系統(tǒng)根據(jù)此用戶及其他用戶的收藏?cái)?shù)據(jù),通過(guò)協(xié)同過(guò)濾算法計(jì)算出推薦列表,并從數(shù)據(jù)庫(kù)讀取相應(yīng)項(xiàng)目信息,將查詢推薦結(jié)果展示在界面。為我推薦的規(guī)格說(shuō)明如表3.1所示。表3.1用例為我推薦的規(guī)格說(shuō)明用例編號(hào)001用例名稱為我推薦用例描述系統(tǒng)根據(jù)用戶收藏?cái)?shù)據(jù)通過(guò)協(xié)同過(guò)濾算法為用戶進(jìn)行定向推薦參與者用戶前置條件用戶收藏?cái)?shù)據(jù)存放于數(shù)據(jù)庫(kù)中后置條件如果此用例執(zhí)行成功,則系統(tǒng)將推薦結(jié)果展示給用戶。如果執(zhí)行未成功,系統(tǒng)狀態(tài)不變。主事件流1)當(dāng)此用戶點(diǎn)擊首頁(yè)為我推薦選項(xiàng)時(shí),此用例開(kāi)始;2)系統(tǒng)讀取用戶收藏?cái)?shù)據(jù);3)合并相似喜好并去重;4)根據(jù)生成的推薦id集合從數(shù)據(jù)庫(kù)中讀取相應(yīng)的信息;5)界面顯示相應(yīng)的推薦信息備選事件流E-1:數(shù)據(jù)庫(kù)中無(wú)其他用戶收藏信息,則根據(jù)正在使用的用戶收藏進(jìn)行推薦。用例預(yù)約項(xiàng)目的規(guī)格說(shuō)明預(yù)約項(xiàng)目這一用例的參與者是方特小程序用戶,此用戶在進(jìn)入預(yù)約項(xiàng)目模塊后,點(diǎn)擊預(yù)約按鈕,填寫(xiě)日期、備注等信息,并進(jìn)行支付,則會(huì)將相應(yīng)預(yù)約訂單信息寫(xiě)入數(shù)據(jù)庫(kù),并提示預(yù)約成功。預(yù)約項(xiàng)目的規(guī)格說(shuō)明如表3.2所示。表3.2用例預(yù)約項(xiàng)目的規(guī)格說(shuō)明用例編號(hào)002用例名稱預(yù)約項(xiàng)目用例描述用戶可以預(yù)約方特游樂(lè)園內(nèi)的項(xiàng)目參與者用戶前置條件項(xiàng)目的數(shù)據(jù)存放于數(shù)據(jù)庫(kù)中后置條件如果此用例執(zhí)行成功,則預(yù)約訂單寫(xiě)入數(shù)據(jù)庫(kù)。如果執(zhí)行未成功,系統(tǒng)狀態(tài)不變。續(xù)表3.2用例預(yù)約項(xiàng)目的規(guī)格說(shuō)明主事件流1)當(dāng)此用戶點(diǎn)擊首頁(yè)預(yù)約選項(xiàng)時(shí),此用例開(kāi)始;2)用戶輸入預(yù)約時(shí)間、備注等信息;3)點(diǎn)擊支付選項(xiàng)并輸入密碼;4)預(yù)約成功,訂單數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù);5)界面顯示預(yù)約成功備選事件流E-1:用戶輸入密碼錯(cuò)誤,系統(tǒng)彈出密碼錯(cuò)誤提示。E-2:用戶賬號(hào)金額不足,訂單放入未支付列表內(nèi),此用例結(jié)束。用例個(gè)人信息管理的規(guī)格說(shuō)明個(gè)人信息管理這一用例的參與者是方特小程序用戶,此用戶在進(jìn)入個(gè)人信息模塊后,點(diǎn)擊個(gè)人信息選項(xiàng),即可查看自己的個(gè)人信息,同時(shí)可對(duì)相應(yīng)信息進(jìn)行編輯并提交,即可更新個(gè)人信息。個(gè)人信息管理的規(guī)格說(shuō)明如表3.3所示。表3.3用例管理個(gè)人信息的規(guī)格說(shuō)明用例編號(hào)003用例名稱管理個(gè)人信息用例描述用戶可以查看并修改個(gè)人信息參與者用戶前置條件用戶的個(gè)人信息存放于數(shù)據(jù)庫(kù)中后置條件如果此用例執(zhí)行成功,則用戶可查看修改個(gè)人信息。如果執(zhí)行未成功,系統(tǒng)狀態(tài)不變。主事件流1)當(dāng)此用戶點(diǎn)擊導(dǎo)航欄中“我的”選項(xiàng)時(shí),此用例開(kāi)始;2)用戶點(diǎn)擊個(gè)人信息按鈕,查看個(gè)人信息;3)編輯更新個(gè)人信息并提交;4)更新后的信息寫(xiě)入數(shù)據(jù)庫(kù);5)界面?zhèn)€人信息進(jìn)行更新備選事件流E-1:數(shù)據(jù)庫(kù)連接異常,信息無(wú)法更新,此用例結(jié)束。用例修改用戶信息的規(guī)格說(shuō)明修改用戶信息這一用例的參與者是系統(tǒng)管理員,管理員成功登錄本系統(tǒng)后可以對(duì)用戶的信息進(jìn)行修改操作,修改成功后,系統(tǒng)將更新后的用戶信息保存到數(shù)據(jù)庫(kù)中。用例修改用戶信息的規(guī)格說(shuō)明如表3.4所示。

表3.4用例修改用戶信息的規(guī)格說(shuō)明用例編號(hào)004用例名稱修改用戶信息用例描述系統(tǒng)管理員對(duì)用戶的信息進(jìn)行修改參與者系統(tǒng)管理員前置條件系統(tǒng)管理員成功登錄到系統(tǒng)后置條件如果此用例執(zhí)行成功,系統(tǒng)將更新后的用戶信息保存到數(shù)據(jù)庫(kù)。如果執(zhí)行未成功,系統(tǒng)狀態(tài)不變。主事件流1)系統(tǒng)管理員進(jìn)入后臺(tái)用戶管理界面;2)管理員點(diǎn)擊“編輯”按鈕;3)填寫(xiě)用戶的新信息,點(diǎn)擊“修改”按鈕;4)系統(tǒng)將更新后的用戶信息保存到數(shù)據(jù)庫(kù)中;5)界面顯示修改成功。備選事件流E-1:數(shù)據(jù)庫(kù)連接異常,系統(tǒng)無(wú)法保存修改后的用戶信息,退出修改界面,此用例結(jié)束。用例添加預(yù)約項(xiàng)目的規(guī)格說(shuō)明添加預(yù)約項(xiàng)目這一用例的參與者是管理員,管理員成功登錄本系統(tǒng)后,進(jìn)入預(yù)約項(xiàng)目管理模塊,即可添加預(yù)約項(xiàng)目,添加成功后,系統(tǒng)將顯示新添加的項(xiàng)目。用例添加預(yù)約項(xiàng)目的規(guī)格說(shuō)明如表3.5所示。表3.5用例添加預(yù)約項(xiàng)目的規(guī)格說(shuō)明用例編號(hào)005用例名稱添加預(yù)約項(xiàng)目用例描述系統(tǒng)管理員添加新項(xiàng)目參與者系統(tǒng)管理員前置條件系統(tǒng)管理員成功登錄到系統(tǒng)后置條件如果此用例執(zhí)行成功,系統(tǒng)將顯示新添加的項(xiàng)目。如果執(zhí)行未成功,系統(tǒng)狀態(tài)不變。主事件流1)系統(tǒng)管理員進(jìn)入后臺(tái)預(yù)約項(xiàng)目管理界面;2)管理員點(diǎn)擊“添加”按鈕;3)填寫(xiě)預(yù)約項(xiàng)目的信息,點(diǎn)擊“保存”按鈕;4)系統(tǒng)將新添加的項(xiàng)目信息保存到數(shù)據(jù)庫(kù)中;5)界面顯示修改成功。備選事件流E-1:數(shù)據(jù)庫(kù)連接異常,系統(tǒng)無(wú)法保存新項(xiàng)目信息,退出添加界面,此用例結(jié)束。3.3.3功能需求由上述用戶需求分析,對(duì)系統(tǒng)功能進(jìn)行分類(lèi),詳細(xì)情況如下。(1)注冊(cè)功能:在第一次登錄時(shí),用戶需按照要求進(jìn)行賬號(hào)注冊(cè)。(2)登錄功能:用戶可進(jìn)行賬號(hào)登錄。(3)推薦功能:系統(tǒng)通過(guò)協(xié)同過(guò)濾算法,根據(jù)用戶收藏進(jìn)行項(xiàng)目推薦。(4)游玩項(xiàng)目簡(jiǎn)介功能:在首頁(yè)向用戶進(jìn)行游玩項(xiàng)目的介紹,方便用戶了解。(5)項(xiàng)目預(yù)約與收藏:用戶可在預(yù)約模塊收藏項(xiàng)目,并進(jìn)行項(xiàng)目預(yù)約。(6)預(yù)約訂單管理功能:用戶在該模塊進(jìn)行支付、簽到、評(píng)價(jià)。(7)發(fā)帖交流功能:用戶可以進(jìn)行發(fā)帖、回復(fù)、私聊等操作。(8)個(gè)人信息管理:用戶進(jìn)行個(gè)人信息的查詢與更新。3.4非功能性分析 (1)可靠性本系統(tǒng)在運(yùn)行過(guò)程中能夠穩(wěn)定流暢的運(yùn)行,供用戶使用,系統(tǒng)是基于Java語(yǔ)言開(kāi)發(fā)的,開(kāi)發(fā)過(guò)程嚴(yán)格按照軟件開(kāi)發(fā)思路進(jìn)行,能夠最大程度的避免系統(tǒng)出現(xiàn)閃退現(xiàn)象。同時(shí),系統(tǒng)的容載量也比較穩(wěn)定,當(dāng)系統(tǒng)用戶量增大或者用戶頻繁登錄系統(tǒng)的時(shí)候,不會(huì)出現(xiàn)卡頓現(xiàn)象。易用性為了避免用戶在使用系統(tǒng)過(guò)程中操作過(guò)程繁瑣,給用戶帶來(lái)不必要的操作錯(cuò)誤,設(shè)計(jì)簡(jiǎn)潔的界面也是一個(gè)關(guān)鍵點(diǎn)。本系統(tǒng)能夠在人機(jī)交互過(guò)程中給用戶帶來(lái)視覺(jué)上的享受,系統(tǒng)操作簡(jiǎn)單、方便,具有較強(qiáng)的易用性。(3)安全性由于數(shù)據(jù)庫(kù)中存在用戶的個(gè)人隱私信息,因此系統(tǒng)必須具有良好的安全性。系統(tǒng)對(duì)于用戶的密碼都是通過(guò)hash值的方式進(jìn)行存儲(chǔ),避免明文密碼的泄露風(fēng)險(xiǎn),保護(hù)用戶關(guān)鍵數(shù)據(jù)的安全。方特旅游小程序第4章系統(tǒng)總體設(shè)計(jì)4.1系統(tǒng)架構(gòu)設(shè)計(jì)系統(tǒng)總體架構(gòu)主要分為前端UI、應(yīng)用層、服務(wù)層、數(shù)據(jù)層和數(shù)據(jù)庫(kù)五部分,前端UI使用戶進(jìn)入系統(tǒng),對(duì)系統(tǒng)查看和操作的部分;應(yīng)用層包括客戶端和后臺(tái)管理端,該部分主要對(duì)功能進(jìn)行細(xì)化分,并進(jìn)行模塊化處理;服務(wù)層負(fù)責(zé)業(yè)務(wù)邏輯的處理,例如日志、消息、redis等;數(shù)據(jù)庫(kù)選擇mysql,既能保障數(shù)據(jù)存儲(chǔ)的安全性,操作使用又簡(jiǎn)單、便捷[10]。系統(tǒng)架構(gòu)圖如圖4-1所示。圖4-1系統(tǒng)架構(gòu)圖4.2系統(tǒng)功能設(shè)計(jì)在完成系統(tǒng)架構(gòu)設(shè)計(jì)之后,結(jié)合實(shí)際業(yè)務(wù)操作,設(shè)計(jì)系統(tǒng)的功能模塊,各模塊之間獨(dú)立運(yùn)行,且模塊還包含分支功能[11]。同時(shí),在設(shè)計(jì)過(guò)程中采用前后端分離的思想,即系統(tǒng)包括后臺(tái)管理系統(tǒng)和前端系統(tǒng),后臺(tái)系統(tǒng)面向管理員,主要實(shí)現(xiàn)對(duì)系統(tǒng)數(shù)據(jù)的管理,系統(tǒng)直接和MySQL數(shù)據(jù)庫(kù)交互,來(lái)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)。前端系統(tǒng)面向用戶,為不同的用戶提供各種服務(wù)。用戶模塊需要考慮到了游客的多方面需求。用戶可以注冊(cè)和登錄小程序,查看游玩項(xiàng)目的具體信息和注意事項(xiàng),同時(shí)可以預(yù)約與收藏項(xiàng)目。在為我推薦模塊,系統(tǒng)會(huì)根據(jù)用戶的收藏?cái)?shù)據(jù)生成專項(xiàng)推薦內(nèi)容,方便用戶選擇。用戶同時(shí)可以管理個(gè)人信息,以及在交流反饋模塊發(fā)帖與他人交流。管理員模塊則需注重對(duì)各項(xiàng)數(shù)據(jù)的管理。在登錄后,管理員可以對(duì)用戶信息進(jìn)行操作,包括添加、刪除、編輯修改以及查詢。管理員同時(shí)可以對(duì)預(yù)約項(xiàng)目分類(lèi)、預(yù)約項(xiàng)目詳情、預(yù)約處理以及交流反饋等模塊進(jìn)行管理。如圖4-2所示是系統(tǒng)的功能模塊圖。圖4-2系統(tǒng)功能模塊圖4.3數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)的設(shè)計(jì)必須遵循一些基本的規(guī)則,例如確定數(shù)據(jù)表的主鍵、數(shù)據(jù)類(lèi)型等,只有這樣才能設(shè)計(jì)出安全、可靠的數(shù)據(jù)庫(kù)系統(tǒng)。4.3.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)數(shù)據(jù)庫(kù)內(nèi)可以存儲(chǔ)大量的數(shù)據(jù)信息,這些數(shù)據(jù)信息都有序在數(shù)據(jù)庫(kù)中進(jìn)行排列,并且相互之間會(huì)有一些聯(lián)系,如果執(zhí)行指令的時(shí)候,數(shù)據(jù)庫(kù)的信息就會(huì)相互連接,展示出完整的數(shù)據(jù)信息[12]。通過(guò)對(duì)概念模型特點(diǎn)的了解以及數(shù)據(jù)庫(kù)需求的分析,通過(guò)可以建立E-R模型圖。在該圖中,管理員可以管理用戶信息、預(yù)約購(gòu)買(mǎi)信息、游樂(lè)項(xiàng)目、游玩項(xiàng)目簡(jiǎn)介等內(nèi)容,同時(shí)可以在交流反饋對(duì)用戶發(fā)帖進(jìn)行回復(fù)。用戶可以查看游玩項(xiàng)目信息、預(yù)約項(xiàng)目、注冊(cè)和修改個(gè)人信息,同時(shí)可以發(fā)帖并進(jìn)行回復(fù)。就本系統(tǒng)而言,系統(tǒng)實(shí)體之間互相聯(lián)系,構(gòu)成了本系統(tǒng)的核心。系統(tǒng)實(shí)體圖如下圖4-3所示。圖4-3E-R圖4.3.2關(guān)系模型設(shè)計(jì)通過(guò)概念模型設(shè)計(jì)可以得到了方特旅游系統(tǒng)的E-R圖,因?yàn)楸鞠到y(tǒng)采用的MySQL數(shù)據(jù)庫(kù)是關(guān)系型的數(shù)據(jù)庫(kù),需要把E-R圖轉(zhuǎn)化為關(guān)系模型,系統(tǒng)E-R圖的關(guān)系模式如下:用戶信息(用戶名,密碼,角色類(lèi)型,郵箱,電話,性別,頭像,收藏,賬號(hào)金額)聯(lián)系人信息(用戶id,聯(lián)系人信息)預(yù)約訂單(預(yù)約項(xiàng)目id,用戶名,用戶id,預(yù)約時(shí)間,價(jià)格,預(yù)約商品名稱,聯(lián)系人信息,備注,狀態(tài),評(píng)價(jià),預(yù)約商品數(shù)量)預(yù)約項(xiàng)目信息(預(yù)約項(xiàng)目名稱,價(jià)格,介紹,類(lèi)型,圖片,類(lèi)型id,預(yù)約地址,緯度,經(jīng)度)會(huì)話(發(fā)送者id,接收者id,群id,會(huì)話內(nèi)容,時(shí)間,發(fā)送者名稱,接收者名稱,附件,附件名稱,圖片)用戶發(fā)帖(帖子id,發(fā)帖標(biāo)題,發(fā)帖內(nèi)容,用戶id,用戶名,時(shí)間,圖片,類(lèi)型,附件文件,狀態(tài))游玩項(xiàng)目簡(jiǎn)介(游玩項(xiàng)目標(biāo)題,介紹內(nèi)容,時(shí)間,封面圖片)發(fā)帖回復(fù)(帖子id,回復(fù)內(nèi)容,用戶id,用戶名,時(shí)間,類(lèi)型)預(yù)約分類(lèi)(id,分類(lèi)名稱)4.3.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)根據(jù)E-R圖的實(shí)體與實(shí)體之間的關(guān)系,轉(zhuǎn)化為數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)關(guān)系表。通過(guò)系統(tǒng)功能設(shè)計(jì)和功能模塊劃分來(lái)看,此次設(shè)計(jì)的方特旅游小程序涉及到了多個(gè)數(shù)據(jù)表,包括用戶信息表、聯(lián)系人信息表、預(yù)約訂單表、預(yù)約商品信息表、會(huì)話表、用戶發(fā)帖表、游玩項(xiàng)目介紹表、發(fā)帖回復(fù)表、預(yù)約分類(lèi)表,分別如下。(1)用戶信息表如表4.1所示。該表包含用戶名,密碼,角色類(lèi)型,郵箱,電話,性別,頭像,收藏,賬號(hào)金額等字段。表4.1用戶信息user列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空主鍵自增備注idvarchar20否是是iduidvarchar20是否否用戶idusernamevarchar50是否否用戶名passwdvarchar50是否否密碼roletypevarchar50是否否角色類(lèi)型emailvarchar200是否否郵箱telvarchar50是否否電話sexvarchar20是否否性別imgvarchar200是否否頭像favsvarchar200是否否收藏moneyint--是否否賬戶金額(2)聯(lián)系人信息表如表4.2所示。該表包含用戶id,聯(lián)系人信息等字段。表4.2聯(lián)系人信息表address列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空主鍵自增備注idvarchar20否是是idtitlevarchar255是否否聯(lián)系人信息uidvarchar20是否否用戶id(3)預(yù)約訂單表如表4.3所示。該表包含預(yù)約項(xiàng)目id,用戶名,用戶id,預(yù)約時(shí)間,價(jià)格,預(yù)約商品名稱,聯(lián)系人信息,備注,狀態(tài),評(píng)價(jià),預(yù)約商品數(shù)量等字段。statecn字段表示訂單的幾個(gè)狀態(tài),為0表示待付款,為1表示已付款,為2表示已簽到,為3代表待評(píng)價(jià),為4代表已評(píng)價(jià),為5表示已取消。表4.3預(yù)約訂單表bill列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空主鍵自增備注idvarchar20否是是Idgidsvarchar20是否否預(yù)約項(xiàng)目iduservarchar20是否否用戶名uidvarchar20是否否用戶idndatevarchar255是否否預(yù)約時(shí)間totalvarchar255是否否價(jià)格gnamesvarchar500是否否預(yù)約項(xiàng)目名稱addressvarchar50是否否聯(lián)系人信息notevarchar200是否否備注statecnInt--是否否狀態(tài)pnotevarchar255是否否評(píng)價(jià)gcountsvarchar255是否否預(yù)約商品數(shù)量(4)預(yù)約商品信息表如表4.4所示。該表包含預(yù)約項(xiàng)目名稱,價(jià)格,介紹,類(lèi)型,圖片,類(lèi)型id,預(yù)約地址,緯度,經(jīng)度等字段。表4.4預(yù)約商品信息表good列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空主鍵自增備注idVarchar20否是是idgnamevarchar100是否否預(yù)約項(xiàng)目名稱pricevarchar10是否否價(jià)格notevarchar2000是否否介紹typevarchar50是否否類(lèi)型imgvarchar500是否否圖片typeidvarchar10是否否類(lèi)型idaddressvarchar50是否否預(yù)約地址latitudevarchar255是否否緯度longitudevarchar255是否否經(jīng)度(5)會(huì)話表如表4.5所示。該表包含發(fā)送者id,接收者id,群id,會(huì)話內(nèi)容,時(shí)間,發(fā)送者名稱,接收者名稱,附件,附件名稱,圖片等字段。

表4.5會(huì)話表huihua列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空主鍵自增備注idvarchar20否是是iduidvarchar20是否否發(fā)送者idfidvarchar20是否否接收者idqidvarchar20是否否群idnotevarchar500是否否會(huì)話內(nèi)容ndatevarchar50是否否時(shí)間usernamevarchar50是否否發(fā)送者名稱fusernamevarchar50是否否接收者名稱attachvarchar200是否否附件attachnamevarchar200是否否附件名稱imgvarchar200是否否圖片(6)游玩項(xiàng)目簡(jiǎn)介表如表4.6所示。該表包含游玩項(xiàng)目,標(biāo)題,介紹內(nèi)容,時(shí)間,封面圖片等字段。表4.6游玩項(xiàng)目簡(jiǎn)介表notice列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空主鍵自增備注idvarchar20否是是idtitlevarchar50是否否游玩項(xiàng)目標(biāo)題notevarchar500是否否介紹內(nèi)容ndatevarchar50是否否時(shí)間imgvarchar200是否否封面圖片(7)用戶發(fā)帖表如表4.7所示。該表包含帖子id,發(fā)帖標(biāo)題,發(fā)帖內(nèi)容,用戶id,用戶名,時(shí)間,圖片,類(lèi)型,附件文件,狀態(tài)等字段。type為0表示分享,為1表示交流,為2表示求助。表4.7用戶發(fā)帖表posts列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空主鍵自增備注idvarchar20否是是idtitlevarchar50是否否發(fā)帖標(biāo)題notevarchar500是否否發(fā)帖內(nèi)容uidvarchar20是否否用戶idusernamevarchar200是否否用戶名ndatevarchar50是否否時(shí)間imgvarchar255是否否圖片typeint--是否否類(lèi)型pidint--是否否帖子idattachvarchar255是否否附件文件statecnvarchar255是否否狀態(tài)(8)發(fā)帖回復(fù)表如表4.8所示。該表包含帖子id,回復(fù)內(nèi)容,用戶id,用戶名,時(shí)間,類(lèi)型等字段。表4.8發(fā)帖回復(fù)表replay列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空主鍵自增備注idvarchar20否是是idpidvarchar10是否否帖子idnotevarchar500是否否回復(fù)內(nèi)容uidvarchar20是否否用戶idusernamevarchar200是否否用戶名ndatevarchar50是否否時(shí)間typeint--是否否類(lèi)型(9)預(yù)約分類(lèi)表如表4.9所示。該表包含id,分類(lèi)名稱等字段。表4.9預(yù)約分類(lèi)表type列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空主鍵自增備注idvarchar20否是是idtitlevarchar500是否否分類(lèi)名稱第5章系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)5.1前臺(tái)系統(tǒng)實(shí)現(xiàn)5.1.1用戶注冊(cè)用戶在第一次使用小程序時(shí)需先進(jìn)行注冊(cè),點(diǎn)擊注冊(cè)按鈕即可跳轉(zhuǎn)到注冊(cè)頁(yè)面,填寫(xiě)頭像、用戶名、密碼、電話號(hào)碼、性別等信息,同時(shí)會(huì)對(duì)用戶名是否重復(fù)、電話號(hào)碼長(zhǎng)度等信息進(jìn)行校驗(yàn),如有錯(cuò)誤,會(huì)提示用戶更改。提交之后,數(shù)據(jù)會(huì)發(fā)往后臺(tái),將用戶數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),并提示用戶注冊(cè)成功。注冊(cè)頁(yè)面圖如圖5-1所示。圖5-1注冊(cè)頁(yè)面注冊(cè)流程圖如圖5-2所示。圖5-2用戶注冊(cè)流程圖5.1.2用戶登錄如圖5-2是登錄頁(yè)面,用戶在登錄時(shí),需根據(jù)頁(yè)面上的提示,輸入對(duì)應(yīng)的身份信息和密碼,系統(tǒng)會(huì)對(duì)用戶輸入的信息進(jìn)行審核驗(yàn)證。首先,會(huì)檢查用戶填寫(xiě)的賬號(hào)密碼是否為空,確保用戶信息填寫(xiě)完整。其次,會(huì)檢查密碼長(zhǎng)度是否達(dá)到要求,保證密碼安全。最后,用戶信息會(huì)與數(shù)據(jù)庫(kù)中保存的數(shù)據(jù)進(jìn)行比對(duì),當(dāng)有一項(xiàng)信息輸入的不正確時(shí),系統(tǒng)就會(huì)做出提示,提示用戶重新輸入正確的信息,只有輸入的信息與數(shù)據(jù)庫(kù)中存儲(chǔ)的信息完全正確,才能順利登錄進(jìn)入小程序,并跳轉(zhuǎn)至主界面,同時(shí)生成token口令。系統(tǒng)后續(xù)將token信息寫(xiě)入cookie后,則可以保持當(dāng)前用戶狀態(tài)在各個(gè)頁(yè)面進(jìn)行跳轉(zhuǎn)了。用戶登錄頁(yè)面如圖5-3所示。圖5-3登錄模塊如圖5-4是用戶登錄流程圖。圖5-4用戶登錄流程圖5.1.3為我推薦在推薦頁(yè)面,系統(tǒng)會(huì)通過(guò)協(xié)同過(guò)濾算法來(lái)計(jì)算用戶收藏之間的相似度,以此為根據(jù)生成推薦項(xiàng)目的id集合并進(jìn)行排序,同時(shí)在小程序端生成物品推薦列表,以便用戶能夠更方便的進(jìn)行選擇。同時(shí),用戶可以也通過(guò)搜索欄搜索感興趣的項(xiàng)目。系統(tǒng)首先定義一個(gè)weidulist數(shù)組,其中將輸入與用戶喜好相似的其他用戶的收藏信息。而每個(gè)用戶的收藏信息為一個(gè)對(duì)象,包含一個(gè)favs字段,該字段則記錄了用戶收藏的物品或內(nèi)容的ID。其次,系統(tǒng)通過(guò)遍歷weidulist數(shù)組,將相似用戶的收藏合并成一個(gè)長(zhǎng)字符串,每個(gè)收藏ID之間用逗號(hào)分隔。這樣則將多個(gè)用戶的喜好數(shù)據(jù)整合在一起,作為后續(xù)生成推薦的基礎(chǔ)。由于多個(gè)相似用戶可能收藏了相同的物品,因此合并后的字符串中可能存在重復(fù)的ID。系統(tǒng)通過(guò)將字符串轉(zhuǎn)換為數(shù)組wfarray,然后遍歷數(shù)組,使用嵌套的循環(huán)來(lái)比較和刪除重復(fù)的ID。其后,再次遍歷這個(gè)數(shù)組,將這些ID合并成一個(gè)新的字符串tgids,這個(gè)字符串就是最終的推薦ID集合。如果tgids字符串為空(即沒(méi)有找到任何相似的收藏),則會(huì)回退到使用用戶的標(biāo)簽userinfo.tags作為推薦的基礎(chǔ)。這樣即使沒(méi)有找到與用戶喜好相似的其他用戶,系統(tǒng)仍然可以基于用戶的標(biāo)簽來(lái)提供推薦。最后,系統(tǒng)會(huì)根據(jù)生成的tgids和用戶的標(biāo)簽tags,構(gòu)建一條"select*fromwct_noticewhere..."的查詢語(yǔ)句,并從數(shù)據(jù)庫(kù)中獲取相應(yīng)信息,通過(guò)調(diào)用refreshShowListView(data)方法在前端界面將推薦數(shù)據(jù)展示給用戶。具體代碼實(shí)現(xiàn)如下。varweidulist=[];for(vari=0;i<userlist.length;i++){varweidu={};varuser=userlist[i];if(user.id==userinfo.id){continue;}varufavs=user.favs;if(ufavs){varwd=0;ufavs+="";varufarray=ufavs.split(",");if(favs){favs+="";varfarray=favs.split(",");for(varj=0;j<ufarray.length;j++){for(vark=0;k<farray.length;k++){if(ufarray[j]==farray[k]){wd++;}}}weidu.favs=ufavs;weidu.wd=wd;weidulist.push(weidu);}else{tgids=ufavs;break;}為我推薦頁(yè)面如圖5-5所示。圖5-5為我推薦頁(yè)面用戶推薦流程圖如圖5-6所示。圖5-6用戶推薦流程圖5.1.4游玩項(xiàng)目簡(jiǎn)介用戶在介紹模塊可以看到方特主題樂(lè)園內(nèi)各個(gè)游玩項(xiàng)目的詳細(xì)信息,包括圖片展示、文字介紹等內(nèi)容,可以更好的激發(fā)用戶的游玩熱情,幫助用戶更快更好的做出選擇。例如過(guò)山車(chē)、海盜船、黃粱一夢(mèng)、牛郎織女、瘋狂成語(yǔ)、女?huà)z補(bǔ)天、九州神韻等游玩項(xiàng)目的詳細(xì)介紹,使用戶能夠?qū)@些項(xiàng)目有更直觀的感受。同時(shí),用戶能夠直接通過(guò)上方的搜索框直接查詢相關(guān)內(nèi)容。游玩項(xiàng)目簡(jiǎn)介頁(yè)面如圖5-7所示。圖5-7游樂(lè)項(xiàng)目簡(jiǎn)介圖5.1.5項(xiàng)目預(yù)約與收藏在預(yù)約與收藏模塊,頁(yè)面左側(cè)為項(xiàng)目分類(lèi),如購(gòu)票入口、年卡訂購(gòu)、美食就餐、酒店預(yù)定等內(nèi)容。在頁(yè)面右側(cè)為項(xiàng)目分類(lèi)所對(duì)應(yīng)的具體項(xiàng)目?jī)?nèi)容,例如購(gòu)票入口對(duì)應(yīng)的大學(xué)生票、標(biāo)準(zhǔn)票、兒童票、老人票以及夜場(chǎng)票。用戶點(diǎn)擊右側(cè)具體項(xiàng)目,即可進(jìn)入項(xiàng)目詳情頁(yè),詳情頁(yè)包含圖片、價(jià)格以及相應(yīng)的文字介紹,同時(shí)用戶可以進(jìn)行收藏與預(yù)約。進(jìn)入預(yù)約頁(yè)面,用戶可以查看價(jià)格,設(shè)置預(yù)約時(shí)間,同時(shí)可以填寫(xiě)預(yù)約的備注信息。點(diǎn)擊提交按鈕后,用戶輸入支付密碼(即登錄密碼)即可預(yù)約成功,訂單數(shù)據(jù)會(huì)通過(guò)savej方法保存到數(shù)據(jù)庫(kù)中。如果密碼填寫(xiě)錯(cuò)誤,系統(tǒng)會(huì)提示密碼錯(cuò)誤,用戶需重新填寫(xiě)。如果在付款時(shí),用戶賬戶剩余金額不足,系統(tǒng)會(huì)提示操作失敗,并將訂單放入待付款列表中,等待用戶充值后再次支付。預(yù)約詳情頁(yè)面如圖5-8所示。圖5-8預(yù)約詳情頁(yè)面預(yù)約流程圖如圖5-9所示。圖5-9預(yù)約流程圖5.1.6我的預(yù)約在用戶進(jìn)入預(yù)約管理界面時(shí),系統(tǒng)調(diào)用onLoad方法,根據(jù)bid(訂單id)從數(shù)據(jù)庫(kù)中獲取訂單詳情,并進(jìn)行顯示。用戶可以查看處于各狀態(tài)下的預(yù)約訂單,例如待付款、已付款、已簽到、待評(píng)價(jià)、已評(píng)價(jià)等訂單狀態(tài)。處于待付款狀態(tài)下的訂單,打開(kāi)之后可以進(jìn)行取消或付款操作,訂單取消后,會(huì)轉(zhuǎn)入已取消狀態(tài)。訂單支付后,系統(tǒng)會(huì)調(diào)用changeBillStatenc方法,更新Bill表中對(duì)應(yīng)訂的狀態(tài),并傳入新的狀態(tài)statenc,前臺(tái)顯示已付款。用戶入園時(shí),出示付款訂單詳情,經(jīng)相關(guān)工作人員在管理端對(duì)相應(yīng)訂單進(jìn)行簽到操作,訂單則會(huì)轉(zhuǎn)入已簽到狀態(tài)。用戶點(diǎn)擊確認(rèn)到店之后,訂單即轉(zhuǎn)為待評(píng)價(jià)狀態(tài)。用戶即可在訂單詳情中的評(píng)論位置進(jìn)行評(píng)論,評(píng)論內(nèi)容會(huì)通過(guò)savej方法保存到數(shù)據(jù)庫(kù)中,并在相應(yīng)的項(xiàng)目詳情頁(yè)面下進(jìn)行顯示,訂單同時(shí)轉(zhuǎn)入已評(píng)價(jià)狀態(tài)。預(yù)約管理的流程圖如圖5-10所示。圖5-10預(yù)約管理流程圖我的預(yù)約頁(yè)面如圖5-11所示。圖5-11我的預(yù)約頁(yè)面5.1.7交流反饋如圖5-6是交流反饋模塊。管理員會(huì)不定期的對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行更新。在用戶點(diǎn)擊主頁(yè)后,系統(tǒng)會(huì)隨機(jī)從數(shù)據(jù)庫(kù)的表格中獲取信息,然后通過(guò)設(shè)置的內(nèi)容,將信息展示在用戶系統(tǒng)中。用戶在登錄系統(tǒng)之后,點(diǎn)擊交流反饋模塊,進(jìn)入到信息查看頁(yè)面,用戶可以在頁(yè)面中查看發(fā)帖信息,包括標(biāo)題、內(nèi)容、時(shí)間等。用戶點(diǎn)擊新增按鈕,即可輸入標(biāo)題、分類(lèi)和詳細(xì)信息等內(nèi)容,提交之后即可發(fā)表成功。用戶同時(shí)可以查看已發(fā)帖子的詳細(xì)內(nèi)容,并發(fā)表評(píng)論。系統(tǒng)在接收到用戶的評(píng)論信息之后,會(huì)根據(jù)id,將評(píng)論信息存儲(chǔ)到數(shù)據(jù)庫(kù)中。新增頁(yè)面如圖5-12所示。圖5-12新增頁(yè)面發(fā)帖的詳細(xì)信息頁(yè)面如圖5-13所示。圖5-13發(fā)帖信息頁(yè)面如圖5-14所示是信息查看時(shí)序圖。圖5-14信息查看序列圖5.1.8會(huì)話在發(fā)帖下點(diǎn)擊私信按鈕,用戶即可進(jìn)入會(huì)話模塊,與發(fā)帖用戶進(jìn)行私聊。用戶在發(fā)送消息后,系統(tǒng)會(huì)根據(jù)評(píng)論id將其存入數(shù)據(jù)庫(kù)中,并在發(fā)帖用戶的消息模塊進(jìn)行顯示。會(huì)話頁(yè)面如圖5-15所示。圖5-15會(huì)話頁(yè)面5.1.9個(gè)人信息管理如圖5-16是個(gè)人信息模塊,包括了個(gè)人信息的維護(hù)等功能。當(dāng)點(diǎn)擊個(gè)人信息后,系統(tǒng)會(huì)查詢當(dāng)前用戶的所有信息,并展示在用戶系統(tǒng)中。用戶可以查看和修改自己的個(gè)人信息,對(duì)于查看信息,系統(tǒng)會(huì)根據(jù)URL獲取Token參數(shù),然后查詢Redis緩存信息,將信息展示到頁(yè)面中。用戶修改完畢并點(diǎn)擊立即保存按鈕后,頁(yè)面對(duì)輸入的信息進(jìn)行合法性校驗(yàn),校驗(yàn)通過(guò)后則提交至服務(wù)端,最后轉(zhuǎn)換為一條“update”的sql語(yǔ)句,將修改后的信息更新至數(shù)據(jù)庫(kù)。修改成功后,頁(yè)面也會(huì)通過(guò)更新當(dāng)前的個(gè)人信息。個(gè)人信息頁(yè)面如圖5-16所示。圖5-16個(gè)人信息如圖5-17是個(gè)人信息流程圖。圖5-17個(gè)人信息流程圖5.2后臺(tái)系統(tǒng)實(shí)現(xiàn)5.2.1用戶登錄設(shè)計(jì)如圖5-1是登錄模塊,所有使用網(wǎng)站的管理員都必須進(jìn)行網(wǎng)站的登錄,只有通過(guò)輸入身份信息并進(jìn)行網(wǎng)站的驗(yàn)證,才能順利登錄進(jìn)入網(wǎng)站。用戶需要根據(jù)頁(yè)面上的提示,輸入對(duì)應(yīng)的身份信息和密碼,進(jìn)行網(wǎng)站的登錄,網(wǎng)站會(huì)對(duì)用戶輸入的信息進(jìn)行審核驗(yàn)證。其中,登錄信息的賬號(hào)和密碼不能為空,賬號(hào)和密碼都有命名規(guī)則,其中賬號(hào)可以包含中文字符,密碼不能少于6位。只有輸入的信息與數(shù)據(jù)庫(kù)中存儲(chǔ)的信息完全正確,才能順利登錄進(jìn)入網(wǎng)站,有一項(xiàng)信息輸入的不正確,網(wǎng)站就會(huì)做出提示,提示用戶重新輸入正確的信息,當(dāng)輸入的信息完全正確之后,并且通過(guò)了網(wǎng)站的驗(yàn)證之后,才能順利的登錄進(jìn)入網(wǎng)站實(shí)現(xiàn)所有的功能操作。登錄頁(yè)面如圖5-18所示。圖5-18登錄模塊如圖5-19所示是用戶登錄時(shí)序圖。圖5-19登錄時(shí)序圖5.2.2用戶管理如圖中5-20為用戶管理列表模塊,跳轉(zhuǎn)到該頁(yè)面后,瀏覽器提交查詢用戶信息的請(qǐng)求。服務(wù)器從數(shù)據(jù)庫(kù)查到符合條件記錄后,返回給瀏覽器。瀏覽器獲取到用戶信息數(shù)據(jù)集后,將其更新到vue的信息對(duì)象列表中。Vue通過(guò)動(dòng)態(tài)綁定技術(shù),自動(dòng)完成了頁(yè)面上用戶數(shù)據(jù)的展示。用戶管理的功能都會(huì)對(duì)數(shù)據(jù)庫(kù)中的用戶表進(jìn)行新增、修改、查找和刪除操作,當(dāng)用戶查詢用戶列表的時(shí)候,系統(tǒng)會(huì)獲取用戶的id,然后根據(jù)id查詢數(shù)據(jù)庫(kù),找到匹配的結(jié)果并保存在list數(shù)據(jù)集中,系統(tǒng)將用戶數(shù)據(jù)以json形式返回到頁(yè)面中。用戶管理頁(yè)面如圖5-20所示。圖5-20用戶管理如圖5-21是用戶管理流程圖。圖5-21用戶管理流程圖5.2.3預(yù)約項(xiàng)目分類(lèi)管理如圖5-3是預(yù)約項(xiàng)目分類(lèi)管理模塊,頁(yè)面展示了詳細(xì)的信息。這里主要介紹分頁(yè)展示功能。每頁(yè)固定最多展示10條記錄,默認(rèn)從第一頁(yè)開(kāi)始展示。當(dāng)手動(dòng)輸入跳轉(zhuǎn)頁(yè)面的序號(hào),或者通過(guò)翻頁(yè)按鈕得出跳轉(zhuǎn)頁(yè)面的序號(hào)后,服務(wù)端會(huì)計(jì)算出查詢的起始位置,并在sql中配置LIMIT關(guān)鍵字,限定后面最多跟10條數(shù)據(jù),就能從數(shù)據(jù)庫(kù)中查詢到指定的數(shù)據(jù),最后將結(jié)果返回給瀏覽器,并更新到頁(yè)面中,就實(shí)現(xiàn)了分頁(yè)查詢功能。預(yù)約項(xiàng)目分類(lèi)管理頁(yè)面如圖5-22所示。圖5-22預(yù)約項(xiàng)目分類(lèi)管理5.2.4預(yù)約項(xiàng)目管理如圖5-23是預(yù)約項(xiàng)目管理模塊,該模塊能夠展示所有信息,并支持對(duì)每條信息進(jìn)行編輯和刪除操作,這里主要介紹刪除操作的實(shí)現(xiàn)。用戶點(diǎn)擊刪除按鈕后,js對(duì)事件進(jìn)行響應(yīng),將要?jiǎng)h除的記錄信息提交至服務(wù)端。服務(wù)端根據(jù)記錄的id,最終轉(zhuǎn)換為一條“delete...whereid=”的sql語(yǔ)句,將數(shù)據(jù)庫(kù)中對(duì)應(yīng)記錄刪除。刪除完成后,瀏覽器還會(huì)重新發(fā)起一次查詢記錄請(qǐng)求,刷新刪除了記錄的最新頁(yè)面內(nèi)容。預(yù)約項(xiàng)目管理頁(yè)面如圖5-23所示。圖5-23預(yù)約項(xiàng)目管理5.2.5預(yù)約購(gòu)買(mǎi)處理在預(yù)約購(gòu)買(mǎi)處理模塊,管理員可以對(duì)用戶的預(yù)約訂單進(jìn)行處理操作,包括查詢、簽到、刪除等操作。預(yù)約購(gòu)買(mǎi)處理界面如圖5-24所示。圖5-24預(yù)約購(gòu)買(mǎi)處理界面5.2.6游玩項(xiàng)目簡(jiǎn)介管理如圖5-5是游玩項(xiàng)目簡(jiǎn)介管理模塊,該頁(yè)面能夠根據(jù)輸入的名稱和時(shí)間,查找出符合條件的記錄。當(dāng)點(diǎn)擊查找按鈕后,如果沒(méi)有輸入關(guān)鍵字,則根據(jù)當(dāng)前頁(yè)面,展示對(duì)應(yīng)的10條記錄。當(dāng)存在一個(gè)關(guān)鍵字時(shí),則會(huì)通過(guò)LIKE對(duì)數(shù)據(jù)庫(kù)中的記錄進(jìn)行模糊查詢。當(dāng)存在多個(gè)關(guān)鍵字時(shí),則會(huì)通過(guò)AND運(yùn)算符,只對(duì)同時(shí)符合條件的記錄進(jìn)行查詢,最后將查詢的結(jié)果返回給瀏覽器進(jìn)行展示即可。游玩項(xiàng)目介紹如圖5-25所示。圖5-25游樂(lè)項(xiàng)目介紹5.2.7交流反饋管理員可以在交流反饋模塊對(duì)用戶的發(fā)帖進(jìn)行管理,包括查詢、編輯、回復(fù)以及刪除操作。交流反饋?lái)?yè)面如圖5-26所示。圖5-26交流反饋?lái)?yè)面第6章系統(tǒng)測(cè)試6.1測(cè)試目的及意義本課題所開(kāi)發(fā)的系統(tǒng)功能模塊較多且復(fù)雜,在開(kāi)發(fā)過(guò)程中可能會(huì)出現(xiàn)漏洞。因此,需要對(duì)系統(tǒng)進(jìn)行詳細(xì)完整的測(cè)試,盡可能測(cè)試出所有可能的bug,并完成修復(fù),才能保證系統(tǒng)順利上線[13-14]。軟件測(cè)試的目的是在系統(tǒng)正常運(yùn)行的情況下,檢測(cè)系統(tǒng)是否存在安全問(wèn)題,保證系統(tǒng)安全、穩(wěn)定上線。測(cè)試工作者在測(cè)試的過(guò)程中應(yīng)保持嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度,采用科學(xué)的測(cè)試方法,盡可能的在測(cè)試階段發(fā)現(xiàn)問(wèn)題,解決問(wèn)題,保證系統(tǒng)的質(zhì)量。6.2測(cè)試方法及環(huán)境6.2.1測(cè)試方法測(cè)試一般分為黑盒測(cè)試和白盒測(cè)試兩類(lèi),本文將模擬用戶的角色,盡可能全面的使用用戶的功能,對(duì)系統(tǒng)進(jìn)行黑盒測(cè)試,判斷測(cè)試的功能模塊是否滿足預(yù)期結(jié)果[15]。6.2.2測(cè)試環(huán)境(1)硬件環(huán)境本系統(tǒng)的開(kāi)發(fā)平臺(tái)搭建在Windows10系統(tǒng)中,其他系統(tǒng)仍可類(lèi)似搭建。系統(tǒng)處理器選擇的是Intel(R)Core(TM)i7-10870HCPU@2.20GHz,運(yùn)行內(nèi)存為6G,硬盤(pán)空間為1T(2)軟件環(huán)境本系統(tǒng)的開(kāi)發(fā)工具為IntelliJIDEA2022.1.1,數(shù)據(jù)庫(kù)選擇MySQLv8.0.27,Java語(yǔ)言及其他軟件運(yùn)行環(huán)境,系統(tǒng)在Google瀏覽器運(yùn)行。6.3功能測(cè)試功能測(cè)試的目的是為了驗(yàn)證系統(tǒng)各功能是否能夠正常運(yùn)行,是否還存在缺陷,是否符合預(yù)期開(kāi)發(fā)目標(biāo)。本系統(tǒng)由于功能較多,下面將給出3個(gè)重點(diǎn)模塊的測(cè)試用例。(1)登錄功能測(cè)試

表6.1登錄功能測(cè)試用例編號(hào)測(cè)試功能操作步驟預(yù)期輸出測(cè)試結(jié)果001注冊(cè)1.點(diǎn)擊注冊(cè)按鈕2.填寫(xiě)注冊(cè)信息并提交注冊(cè)成功并跳轉(zhuǎn)到登錄界面測(cè)試通過(guò)002輸入錯(cuò)誤密碼1.輸入賬號(hào)和錯(cuò)誤的密碼2.提交登錄失敗,彈框提示“密碼錯(cuò)誤”測(cè)試通過(guò)003輸入空密碼1.輸入用戶名2.提交登錄失敗,彈框提示“密碼為空”測(cè)試通過(guò)004輸入空用戶名1.輸入密碼2.提交登錄失敗,彈框提示“用戶名為空”測(cè)試通過(guò)005輸入用戶名和密碼1.輸入用戶名和密碼2.提交登錄成功并跳轉(zhuǎn)到主頁(yè)面測(cè)試通過(guò)(2)個(gè)人中心功能測(cè)試表6.2個(gè)人中心功能測(cè)試用例編號(hào)測(cè)試功能操作步驟預(yù)期輸出測(cè)試結(jié)果001修改資料1.修改對(duì)應(yīng)的資料信息,如用戶名、手機(jī)號(hào)、地址等2.保存資料更新測(cè)試通過(guò)002切換功能點(diǎn)擊任意功能從個(gè)人主頁(yè)跳轉(zhuǎn)到其他功能頁(yè)面測(cè)試通過(guò)003退出系統(tǒng)點(diǎn)擊退出退出系統(tǒng),系統(tǒng)跳轉(zhuǎn)到登錄頁(yè)面測(cè)試通過(guò)(3)用戶管理功能測(cè)試表6.3用戶管理功能測(cè)試用例編號(hào)測(cè)試功能操作步驟預(yù)期輸出測(cè)試結(jié)果001新增用戶1.點(diǎn)擊新增按鈕2.填寫(xiě)用戶信息3.保存用戶列表更新測(cè)試通過(guò)00

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論