版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
摘要技術(shù)的成熟和普及,勢必會給人們的生活方式帶來不同程度的改變。越來越多的經(jīng)營模式中都少不了線上運營,互聯(lián)網(wǎng)正強力推動著社會和經(jīng)濟發(fā)展。國人對民族文化的自信和不同文化的包容,再加上音樂行業(yè)的發(fā)展,如此繁榮吸引了越多越多的人。一套完備的基于微信小程序的音樂平臺可以實現(xiàn)讓用戶又快又準找到自己喜歡的音樂,同時也是從側(cè)面促使音樂經(jīng)濟的穩(wěn)定發(fā)展。本論文主要完成不同用戶的權(quán)限劃分,不同用戶具有不同權(quán)限的操作功能,在用戶模塊,主要有用戶進行注冊和登錄,用戶可以實現(xiàn)對熱門歌曲、音樂資訊、留言板、修改個人信息等;在管理員模塊,管理員可以對用戶、音樂類型、熱門歌曲、留言板、系統(tǒng)管理等進行相應的操作。關(guān)鍵詞:音樂平臺;B/S架構(gòu);SpringBoot框架;AbstractThematurityandpopularizationoftechnologywillinevitablybringchangestopeople'swayoflifetovaryingdegrees.Moreandmorebusinessmodelsincludeonlineoperations,andtheInternetisstronglydrivingsocialandeconomicdevelopment.Chinesepeople'sconfidenceinnationalcultureandtoleranceofdifferentcultures,coupledwiththedevelopmentofthemusicindustry,suchprosperityhasattractedmoreandmorepeople.Acompletesetofmusicrecommendationsystembasedoncollaborativefilteringcanenableuserstofindtheirfavoritemusicquicklyandaccurately,andalsopromotethestabledevelopmentofmusiceconomyfromtheside.Thispapermainlycompletesthedivisionofpermissionsofdifferentusers,differentusershavedifferentpermissionsoftheoperationfunction,intheusermodule,themainuserregistrationandlogin,userscanrealizethepopularsongs,musicinformation,messageboard,modifypersonalinformationandsoon;Intheadministratormodule,administratorscanperformcorrespondingoperationsonusers,musictypes,hotsongs,messageboards,systemmanagement,etc.Keywords:musicrecommendationsystem;B/Sarchitecture;SpringBootframework;目錄15632摘要 Ⅰ500Abstract Ⅱ247221緒論 171121.1研究背景 120871.2研究意義 1162411.3國內(nèi)外研究現(xiàn)狀 2248461.4本文組織結(jié)構(gòu) 2248461.5基于協(xié)同過濾的推薦算法 2122192技術(shù)介紹 4192912.1SpringBoot框架介紹 4150922.2Java語言 5263462.3Mysql的特點 6263462.4B/S架構(gòu) 612962.5本章小結(jié) 6274813需求分析 733723.1可行性分析 7140323.1.1經(jīng)濟可行性 7140323.1.2技術(shù)可行性 8140323.1.3運營可行性 8140323.1.4法律可行性 8269143.2系統(tǒng)需求分析 8327633.2.1性能需求 9184253.2.2安全性需求 9185763.2.3功能需求 10196793.3本章小結(jié) 10289914系統(tǒng)設(shè)計 11151584.1系統(tǒng)結(jié)構(gòu)設(shè)計 11174724.2系統(tǒng)功能模塊設(shè)計 11242074.3數(shù)據(jù)庫設(shè)計 12299844.3.1概念模型設(shè)計 12299844.3.2數(shù)據(jù)庫表結(jié)構(gòu) 12203034.4本章小結(jié) 1423225系統(tǒng)實現(xiàn) 15238155.1系統(tǒng)開發(fā)環(huán)境以及運行環(huán)境 1538055.1.1系統(tǒng)開發(fā)環(huán)境 1571425.1.2系統(tǒng)運行環(huán)境 15189715.2音樂平臺的主要功能模塊實現(xiàn) 15186185.3小程序功能模塊 15219065.4管理員功能模塊 16204135.6本章小結(jié) 1894276系統(tǒng)測試 1911676.1系統(tǒng)測試目的 19292016.2系統(tǒng)測試環(huán)境 19180146.3系統(tǒng)測試用例 19271786.4本章小結(jié) 2030492結(jié)論 216135參考文獻 223133致謝 231緒論1.1研究背景信息技術(shù)的集成化和信息網(wǎng)絡(luò)化的不斷發(fā)展,人類開始步入信息化時代,信息技術(shù)作為一種資源成為音樂戰(zhàn)略不可分割的一部分,在當今社會,人們的生活節(jié)奏逐漸加快,人們對經(jīng)濟的要求逐漸降低,越來越多的人開始追求簡單、快捷的方式。以現(xiàn)在計算機的技術(shù)的應用,使計算機成為人們使用現(xiàn)代發(fā)達技術(shù)的橋梁[1]。計算機可以有效的解決信息,十分方便的獲取信息,從而提高工作的效率。1.2研究意義現(xiàn)如今科技的卓越發(fā)展,時代環(huán)境的大變革。人們生活變得越來越多元化,這種多元化很大程度上由互聯(lián)網(wǎng)科技發(fā)展引起,日新月異的互聯(lián)網(wǎng)讓我們實現(xiàn)了眾多的不可能。利用網(wǎng)絡(luò)進行信息管理改革已經(jīng)成為了人們追捧的一種趨勢[2]?!耙魳菲脚_”是運用java語言,SpringBoot框架,以Mysql數(shù)據(jù)庫為基礎(chǔ)而來發(fā)出來的。為保證我國經(jīng)濟的持續(xù)性發(fā)展,必須要讓互聯(lián)網(wǎng)信息時代在我國日益壯大,蓬勃發(fā)展,一個好的音樂平臺,將幫助音樂從瑣碎冗雜的日常管理事務中解放出來,更專心投入在音樂推薦職責上,因而能更好的履行它自身的社會責任,這個音樂平臺也就間接地為美好社會的創(chuàng)建出了一份力[3]。所以音樂平臺的設(shè)計和實現(xiàn)是必要的也是很有意義的。1.3國內(nèi)外研究現(xiàn)狀如今,因為無線網(wǎng)相關(guān)技術(shù)的快速,尤其是在網(wǎng)上進行資源的上傳下載、搜索查詢等技術(shù),以及信息處理和語言開發(fā)技術(shù)的進步,同時編程語言、建模技術(shù)的不斷發(fā)展,促使諸多的平臺系統(tǒng)架構(gòu)由C/S(客戶端/服務器)更多的轉(zhuǎn)變?yōu)椴捎肂/S(瀏覽器/服務器)的架構(gòu),從而讓程序平臺網(wǎng)絡(luò)端的系統(tǒng)架構(gòu)迎來了一個新的階段。并且,在對國外音樂平臺發(fā)展現(xiàn)狀的了解中,發(fā)現(xiàn)國外音樂平臺一大多是一種門戶的建設(shè),除日常的辦公業(yè)務外,與物流和資金流關(guān)系緊密的許多業(yè)務也都被設(shè)計為功能模塊加入系統(tǒng)中[4]。在這一點上,我國完全沒有落后,通過采用集成了這些功能的系統(tǒng),幫助音樂各項業(yè)務的工作效率都得到了極大提高,從而持續(xù)地為音樂帶來更多經(jīng)濟收益。1.4本文組織結(jié)構(gòu)本論文將詳細闡述音樂平臺的開發(fā)背景、應用可行性以及系統(tǒng)實現(xiàn)所具有的現(xiàn)實意義,在對音樂平臺進行詳細的需求分析后,會根據(jù)需求分析的結(jié)果再結(jié)合實際情況為系統(tǒng)的實現(xiàn)選取合適的技術(shù)和架構(gòu),之后在上述分析論述的基礎(chǔ)上進行系統(tǒng)設(shè)計,最后完成系統(tǒng)實現(xiàn)和測試。本文共分為七章,分別是:第一章緒論,在這一章中對音樂平臺的研究背景和意義進行介紹,同時淺述了信息管理系統(tǒng)的發(fā)展,明確了音樂平臺的實現(xiàn)的目的和方向[5]。第二章技術(shù)介紹,在本章中列舉介紹了系統(tǒng)實現(xiàn)采用到的所有技術(shù),包括一些主流的框架技術(shù)。第三章需求分析,這一章對音樂平臺的需求進行了全面詳細的分析,從系統(tǒng)實現(xiàn)的應用可行性、技術(shù)可行性,再到系統(tǒng)的功能、性能、安全性需求都做了說明分析,最后描述了系統(tǒng)的業(yè)務流程對需求分析進行補充。第四章系統(tǒng)設(shè)計,這一章中包含了系統(tǒng)實現(xiàn)選取的架構(gòu)模式,以及組成系統(tǒng)的各個功能模塊。第五章系統(tǒng)實現(xiàn),本章是在經(jīng)過前面幾章的分析后,將音樂平臺開發(fā)實現(xiàn),章節(jié)內(nèi)容包括系統(tǒng)開發(fā)環(huán)境、運行環(huán)境和具體的功能模塊實現(xiàn)。第六章系統(tǒng)測試,模擬系統(tǒng)的實際應用環(huán)境,對編寫完成的程序進行測試。在本章中列舉了測試用例和測試結(jié)果。第七章總結(jié),對音樂平臺的整個設(shè)計和實現(xiàn)過程進行總結(jié)[6]。1.5基于協(xié)同過濾的推薦算法基于協(xié)同過濾的推薦算法是現(xiàn)今各個電子商務領(lǐng)域中運用最為廣泛的推薦算法,它對電子商務的發(fā)展起到了至關(guān)重要的作用?;趨f(xié)同過濾的推薦算法是一種通過群體偏好的方式,來幫助個體來找到其共性,給該用戶推薦相似的偏好物品。協(xié)同過濾算法的基本思路是通過分析各用戶的歷史的購物情況以及評論情況等用戶行為,如評論、購買記錄等,得到他們的偏好物品,將喜好不同物品的用戶進行分組。之后對不同分組的用戶進行分析,通過推薦算法預測出該用戶的感興趣的物品。該方法的具體操作可簡述為向推薦算法中輸入用戶和商品的關(guān)系矩陣,輸出用戶對不同物品的興趣值。通常來說,基于協(xié)同過濾的推薦算法可分為基于內(nèi)存的協(xié)同過濾和基于模型的協(xié)同過濾推薦算法,基于內(nèi)存的推薦算法還包括基于用戶和基于物品的協(xié)同[6]過濾推薦算法?;谟脩舻耐扑]算法是最早被提出的推薦算法,始于1991年,主要思路為在大量的用戶相關(guān)數(shù)據(jù)中研究出用戶對物品的偏好程度,之后通過推薦算法的算法推算出相似度較高的用戶,然后將其相似用戶所喜愛的物品通過推薦算法推薦給其他用戶?;谖锲返耐扑]算法是目前使用最為廣泛的算法,它通過提取所有用戶對不同物品的評價,探究不同物品之間的相似度,然后根據(jù)用戶之前所購買或有較高評價的商品推薦與其相似度較高的商品?;谀P偷耐扑]算法可以運用于數(shù)據(jù)量小的場景里,當數(shù)據(jù)規(guī)模較大時,此方法不夠精準,推薦效率較為低下?;谟脩舻膮f(xié)同過濾推薦算法對比基于內(nèi)容的推薦算法來說,最大的優(yōu)點就是對于物品的結(jié)構(gòu)沒有特殊要求,可以有效地處理圖片視頻等結(jié)構(gòu)化數(shù)據(jù)。另外,隨著用戶的使用次數(shù)增多,歷史記錄不斷增加,該推薦算法將會更加精準,效率也會提高。然而,對于當下的基于協(xié)同過濾的推薦算法來說,該推薦方法仍然存在一些弊端致使推薦的效率較低,如稀疏性問題和擴展性問題,另外,對于新用戶,由于這些用戶缺少歷史數(shù)據(jù),往往會出現(xiàn)推薦不精準的問題,該問題稱為新用戶的冷啟動問題。
2技術(shù)介紹在這一章中,主要是羅列出實現(xiàn)系統(tǒng)將采用的java語言并對其做簡單介紹。本論文中的音樂平臺使用當下主流的SpringBoot作為后臺開發(fā)框架,系統(tǒng)的底層數(shù)據(jù)庫選用了關(guān)系型數(shù)據(jù)庫MySQL。2.1SpringBoot框架介紹SpringBoot是近幾年最為流行的后臺開發(fā)框架,它的誕生一改過去Spring框架開發(fā)中繁瑣的配置,極大地\t"/item/Spring%20Boot/_blank"簡化了Spring應用的搭建和開發(fā)。SpringBoot框架不僅保有了Spring框架中的所有優(yōu)秀特性,還通過使用特定的配置方式,在底層幫助開發(fā)人員在工程創(chuàng)建是就預先做了很多配置,這樣在開發(fā)時就不再需要開發(fā)人員過多進行繁瑣的配置了。另外在SpringBoot中集成了大量框架,這就使得開發(fā)人員不再需要到處尋找在導入開發(fā)中需要依賴的jar包,同時也解決了依賴包版本沖突問題,從而提高了依賴包引用的穩(wěn)定性,從而實現(xiàn)了對Spring應用搭建和開發(fā)過程的簡化。2.2Java語言Java是一種在Web應用開發(fā)中得到廣泛使用的腳本語言,經(jīng)常被用來對用戶的相關(guān)行為做出反應。它還具有面向?qū)ο蟮脑O(shè)計能力,使設(shè)計開發(fā)過程更加直觀和模塊化,并在HTML基礎(chǔ)上進行交互Web頁面的開發(fā)。這種腳本語言的問世,使用戶與頁面之間的實時、動態(tài)交互成為現(xiàn)實,豐富了頁面的內(nèi)容,增強了頁面的活力。另外,Java技術(shù)也被廣泛地運用于該系統(tǒng),比如對用戶輸入的數(shù)據(jù)進行檢測,以保證其有效性。Java技術(shù)可以在不依賴Web服務程序的基礎(chǔ)上在本地客戶機上運行。從而有效地解決了因網(wǎng)絡(luò)速度所帶來的遲緩問題,使用戶能夠更加順暢、快捷地進行訪問。2.3Mysql的特點Mysql可以處理擁有上千萬條記錄的大型數(shù)據(jù),支持常見的SQL語句規(guī)范,可移植性高,安裝簡單小巧,良好的運行效率,有豐富信息的網(wǎng)絡(luò)支持,相對其他大型數(shù)據(jù)庫而言,調(diào)試、管理,優(yōu)化簡單;使用客戶端工具操作效率高,安全性高,使用WEB方式簡單方便,不受限制。2.4B/S架構(gòu)Web程序設(shè)計技術(shù)是一項用于網(wǎng)頁制造方面的專業(yè)技術(shù),主要實現(xiàn)了網(wǎng)頁的動態(tài)交互功能,通過此項技術(shù)語言(如PHP、CGI、ASP等)所設(shè)計的相關(guān)網(wǎng)頁可以對用戶所發(fā)出的及時操作以及需求進展相應的相應,從而到達實現(xiàn)即時動態(tài)交互的目的。B/S構(gòu)造(Browser/Server,瀏覽器/效勞器模式),其是一種分布式的計算機網(wǎng)絡(luò)系統(tǒng),用戶通過瀏覽器向上一級的網(wǎng)站程序傳遞相關(guān)的參數(shù)和請求,然后效勞器上的程序再將這些請求和參數(shù)進展處理,最后將結(jié)果通過反響回用戶瀏覽器反映出來。2.5微信小程序技術(shù)小程序并非憑空冒出來的一個概念。當微信中的WebView逐漸成為移動Web的一個重要入口時,微信就有相關(guān)的JSAPI了。實際上,微信官方是沒有對外暴露過如此調(diào)用的,此類API最初是提供給騰訊內(nèi)部一些業(yè)務使用,很多外部開發(fā)者發(fā)現(xiàn)了之后,依葫蘆畫瓢地使用了,逐漸成為微信中網(wǎng)頁的事實標準。2015年初,微信發(fā)布了一整套網(wǎng)頁開發(fā)工具包,稱之為JS-SDK,開放了拍攝、錄音、語音識別、二維碼、地圖、支付、分享、卡券等幾十個API。給所有的Web開發(fā)者打開了一扇全新的窗戶,讓所有開發(fā)者都可以使用到微信的原生能力,去完成一些之前做不到或者難以做到的事情。JS-SDK是對之前的WeixinJSBrige的一個包裝,以及新能力的釋放,并且由對內(nèi)開放轉(zhuǎn)為了對所有開發(fā)者開放,在很短的時間內(nèi)獲得了極大的關(guān)注。從數(shù)據(jù)監(jiān)控來看,絕大部分在微信內(nèi)傳播的移動網(wǎng)頁都使用到了相關(guān)的接口。?JS-SDK解決了移動網(wǎng)頁能力不足的問題,通過暴露微信的接口使得Web開發(fā)者能夠擁有更多的能力,然而在更多的能力之外,JS-SDK的模式并沒有解決使用移動網(wǎng)頁遇到的體驗不良的問題。用戶在訪問網(wǎng)頁的時候,在瀏覽器開始顯示之前都會有一個的白屏過程,在移動端,受限于設(shè)備性能和網(wǎng)絡(luò)速度,白屏會更加明顯。我們團隊把很多技術(shù)精力放置在如何幫助平臺上的Web開發(fā)者解決這個問題。因此我們設(shè)計了一個JS-SDK的增強版本,其中有一個重要的功能,稱之為“微信Web資源離線存儲”?這個設(shè)計有點類似HTML5的ApplicationCache,但在設(shè)計上規(guī)避了一些ApplicationCache的不足。?在內(nèi)部測試中,我們發(fā)現(xiàn)離線存儲能夠解決一些問題,但對于一些復雜的頁面依然會有白屏問題,例如頁面加載了大量的CSS或者是JavaScript文件。?除了白屏,影響Web體驗的問題還有缺少操作的反饋,主要表現(xiàn)在兩個方面:頁面切換的生硬和點擊的遲滯感。?微信面臨的問題是如何設(shè)計一個比較好的系統(tǒng),使得所有開發(fā)者在微信中都能獲得比較好的體驗。這個問題是之前的JS-SDK所處理不了的,需要一個全新的系統(tǒng)來完成,它需要使得所有的開發(fā)者都能做到:快速的加載更強大的能力原生的體驗易用且安全的微信數(shù)據(jù)開放高效和簡單的開發(fā)2.5本章小結(jié)在本章中,詳細介紹了本論文中實現(xiàn)的音樂平臺所采用的技術(shù),包括后臺開發(fā)中所使用的SpringBoot框架,對上述技術(shù)的研究和應用,可以為程序后續(xù)的順利開發(fā)提供幫助,在簡化程序開發(fā)的同時提高開發(fā)效率和質(zhì)量[8]。
3需求分析 在這一章中將對本論文要實現(xiàn)的音樂平臺進行詳盡的可行性分析、需求分析等,本章內(nèi)容主要涵蓋了對系統(tǒng)預期應用環(huán)境的分析,對系統(tǒng)功能和安全性需求的分析,最后還有對系統(tǒng)的功能需求的分析[9]。這一章的內(nèi)容將為之后的系統(tǒng)設(shè)計和實現(xiàn)提供可靠依據(jù),是系統(tǒng)完整可靠實現(xiàn)的重要保障。3.1可行性分析3.1.1經(jīng)濟可行性系統(tǒng)采用的是開發(fā)環(huán)境Eclipse進行設(shè)計以及編寫,并且根據(jù)所學的java語言來實現(xiàn)相應的功能的開發(fā),綜合就是一個比較基礎(chǔ)的系統(tǒng)開發(fā)設(shè)計,所以所用到的有開源的開發(fā)環(huán)境所構(gòu)成。而且可以利用現(xiàn)有的設(shè)備,不用進行另外的硬件設(shè)備購買。用戶通過使用音樂平臺,很大程度減小了人員成本,極大提高了管理的效率。目前的由人員管理的方式存在很多不足,首先是人工成本大,并且工作效率比較低,然后是存在著很多現(xiàn)金流失的問題[10]。經(jīng)濟可行性是主要計算項目的開發(fā)成本,還有項目成功后可能帶來的有效收益。很多的項目只有開發(fā)成本能控制在企業(yè)有可能接受的范圍內(nèi)的情況下,這樣的項目才會被批準開發(fā)。然而本次系統(tǒng)的開發(fā)在上述所有的問題的情況下,是可以完成相關(guān)的系統(tǒng)設(shè)計。3.1.2技術(shù)可行性技術(shù)可行性是分析系統(tǒng)都需要用到哪些技術(shù)知識,語法是否規(guī)范標準,代碼量多大,是否具有可移植性,在MVC在這種設(shè)計模式下能夠真正的實現(xiàn)數(shù)據(jù)層和表示層的分離,以及前臺頁面是否可以做到美觀實用,是否吸引眼球。網(wǎng)站是否足夠穩(wěn)定,后臺管理頁面是否足夠方便管理,數(shù)據(jù)庫的構(gòu)建是否可以符合系統(tǒng)要求,是否需要搭建集群等等[11]。3.1.3運營可行性可操作性是指將系統(tǒng)開發(fā)所涉及到的所有功能全都實現(xiàn),代碼收尾工作完成后對用戶消費水平,系統(tǒng)的業(yè)務能力是否與用戶消費水平所對等,是否可以滿足大部分消費者的需求,頁面是否美觀,能否讓用戶滿意,代碼顯示是否為輕量級,操作和功能是否簡單便捷,是否同時適用于小孩,成人和老人。系統(tǒng)能否同時應用于windows、linux等操作系統(tǒng),這取決于系統(tǒng)的可移植性。JAVA編程語言的適應性非常強,基本上能夠較好的適應目前市場環(huán)境中所流行的各個平臺。也就是說Java的可移植性很強,那么系統(tǒng)的價值越高,可行性也就越強。3.1.4法律可行性該\t"/report/a55da2ee-27ad-44d0-b22b-5c305f1c1842/html/resultFrame"音樂平臺是面向大眾開源化和不收取任何費用的。它的主要目的是幫助人們解決預約音樂問題。完全符合法律可行性要求,系統(tǒng)內(nèi)部權(quán)限劃分不會導致內(nèi)部用戶泄露系統(tǒng)機密。對于用戶信息,系統(tǒng)有保護措施,用戶密碼在數(shù)據(jù)庫中加密,并有嚴格的自我控制[12]3.2系統(tǒng)需求分析3.2.1性能需求(1)界面友好音樂平臺設(shè)計的目的在于幫助音樂的工作人員能夠更加高效輕松地進行日常的管理工作,所以作為一個工具,該系統(tǒng)應該被設(shè)計得易于上手使用,整個系統(tǒng)界面需要簡潔明了、清晰易懂,而且一定要為用戶提供必要的提示信息,比如在登錄時用戶密碼或者用戶名輸入錯誤時要給予提示。總之一定要從使用者的角度出發(fā),去設(shè)計用戶操作界面[13]。3.2.2安全性需求首先要保證服務器不受攻擊,數(shù)據(jù)庫不能曝露在互聯(lián)中。對使用系統(tǒng)的不同用戶賦予相應的權(quán)限,用戶只能進行自己權(quán)限允許范圍內(nèi)的操作。數(shù)據(jù)庫中進行多用戶管理,對用戶的敏感信息如身份證信息,只有最高權(quán)限的數(shù)據(jù)庫管理員用戶可查詢,其他用戶無權(quán)限查看。3.2.3功能需求本音樂平臺是為了提高用戶查閱信息的效率和管理人員管理信息的工作效率,可以快速存儲大量數(shù)據(jù),還有信息檢索功能,這大大的滿足了用戶和管理員這兩者的需求。操作簡單易懂,合理分析各個模塊的功能,盡可能優(yōu)化界面,讓用戶和管理員能使用環(huán)境更好的系統(tǒng)[14]。對比要實現(xiàn)的功能來分析出用戶的需求,可以讓用戶在線對其進行查看歌手、歌單、音樂等信息,這不僅滿足了用戶的需求,還大大的節(jié)省了時間。因此,管理員對信息進行添加、修改、刪除、查看,可以提高管理員的工作效率。(1)管理員用例圖如圖3-1所示;圖3-1管理員用例圖(2)用戶用例圖如圖3-2所示:圖3-2用戶用例圖3.3本章小結(jié)在本章中對本論文要實現(xiàn)的音樂平臺要實現(xiàn)的需求進行了詳盡的說明,包括系統(tǒng)實現(xiàn)的可行性分析,整個系統(tǒng)在功能、性能和安全方面需求的分析,最后對整個系統(tǒng)不同身份用戶的業(yè)務流程進行了有序的闡述。通過對以上內(nèi)容的分析和說明,使得系統(tǒng)要實現(xiàn)的具體功能更加清晰,這給后面系統(tǒng)的設(shè)計和實現(xiàn)奠定了良好的基礎(chǔ),有助于整個程序開發(fā)的順利進行[15]。4系統(tǒng)設(shè)計通過前三章的分析說明,本論文中音樂平臺已經(jīng)具有了良好的實現(xiàn)基礎(chǔ),目前的第四章將對系統(tǒng)的具體實現(xiàn)進行說明介紹。4.1系統(tǒng)結(jié)構(gòu)設(shè)計隨著互聯(lián)網(wǎng)的興起以及國內(nèi)外許多B/S架構(gòu)的優(yōu)秀系統(tǒng)被廣泛使用而變得流行,B/S架構(gòu)成為了系統(tǒng)開發(fā)的主流。本論文中的音樂平臺也同樣采用了B/S架構(gòu)標準的三層架構(gòu),即將整個系統(tǒng)劃分為表現(xiàn)層、業(yè)務層和持久層這三層,并且在表現(xiàn)層采用MVC設(shè)計模型。采用B/S架構(gòu),整個系統(tǒng)的核心業(yè)務邏輯都被放在服務器端,使得開發(fā)過程變得方便。雖然這會使得服務器端的壓力較大,但在Ajax等技術(shù)興起后,在前臺也就是瀏覽器端也可以實現(xiàn)部分業(yè)務邏輯,一定程度上分擔了服務器的壓力。同時,該系統(tǒng)采用的三層B/S架構(gòu),將整個系統(tǒng)進行分層。在表現(xiàn)層,主要負責處理從客戶端接收到的請求,根據(jù)請求內(nèi)容進行處理后向客戶端響應結(jié)果。在業(yè)務層中,囊括了整個系統(tǒng)的核心業(yè)務邏輯,它位于數(shù)據(jù)訪問層之上表現(xiàn)層之下,表現(xiàn)層的請求發(fā)送至業(yè)務層,業(yè)務層將根據(jù)編寫好的業(yè)務邏輯與數(shù)據(jù)層進行交互。但是每個層之間是不具有必然聯(lián)系的,表現(xiàn)層的請求發(fā)送至業(yè)務層,業(yè)務層在接受到后可以不進行處理,這并不會導致整個系統(tǒng)出現(xiàn)錯誤。所以只要層與層之間交互的接口不發(fā)生變化,某一層的變更并不會對其它層產(chǎn)生影響。所以這種架構(gòu)的系統(tǒng)實際上很易于擴充,只要表現(xiàn)層有新的請求發(fā)送給業(yè)務層,業(yè)務層只要有相應的處理邏輯就好了,所以業(yè)務邏輯層的設(shè)計是十分重要的。而在持久層,主要進行的就是數(shù)據(jù)的存取,也就是和數(shù)據(jù)庫打交道。以上這種對程序進行分層的方式,可以使開發(fā)者專注于結(jié)構(gòu)中的某一層,每一層要進行的工作十分明確,降低了耦合性,這種標準化的開發(fā)方式,有利于程序的復用,也極大地降低了之后對系統(tǒng)功能擴充和維護的成本。這些功能可以充分滿足音樂平臺的需求。此系統(tǒng)功能較為全面如下圖系統(tǒng)功能結(jié)構(gòu)如圖4-1所示。圖4-1功能結(jié)構(gòu)圖4.2系統(tǒng)功能模塊設(shè)計音樂平臺的使用者主要有二類用戶,一類是管理員,他擁有整個系統(tǒng)的最高權(quán)限,然后是用戶,他具有管理員給予級別的權(quán)限,都只能對自己的個人信息進行操作。系統(tǒng)根據(jù)這二類用戶,劃分出了二大功能模塊。4.3數(shù)據(jù)庫設(shè)計4.3.1概念模型設(shè)計概念模型是對現(xiàn)實中的問題出現(xiàn)的事物的進行描述,ER圖是由實體線以及關(guān)聯(lián)構(gòu)成的圖,E-R圖可以明確地敘述系統(tǒng)中涵蓋的實體線相互關(guān)系。用戶信息E-R圖如圖4-2所示:圖4-2用戶信息E-R圖留言板E-R圖如圖4-3所示:圖4-3留言板E-R圖熱門歌曲E-R圖如圖4-4所示:圖4-4熱門歌曲E-R圖音樂資訊E-R圖如圖4-5所示:圖4-5音樂資訊E-R圖音樂平臺E-R圖如圖4-6所示:圖4-6音樂平臺E-R圖4.3.2數(shù)據(jù)庫表結(jié)構(gòu)本論文中的音樂平臺采用MySQL數(shù)據(jù)庫,系統(tǒng)中的所有對象以及對象的所有屬性都將在下列表格中展現(xiàn)。表4-1:token表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
useridbigint用戶idusernamevarchar100用戶名tablenamevarchar100表名rolevarchar100角色tokenvarchar200密碼addtimetimestamp新增時間CURRENT_TIMESTAMPexpiratedtimetimestamp過期時間CURRENT_TIMESTAMP表4-2:系統(tǒng)簡介表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPtitlevarchar200標題subtitlevarchar200副標題contentlongtext4294967295內(nèi)容picture1longtext4294967295圖片1picture2longtext4294967295圖片2picture3longtext4294967295圖片3表4-3:收藏表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPuseridbigint用戶idrefidbigint商品idtablenamevarchar200表名namevarchar200名稱picturelongtext4294967295圖片typevarchar200類型1inteltypevarchar200推薦類型remarkvarchar200備注表4-4:熱門歌曲表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPsongnamevarchar200歌名yinleleixingvarchar200歌曲分類gequfengmianlongtext4294967295歌曲封面songfilelongtext4294967295音樂文件singervarchar200歌手fabushijiandate發(fā)布時間gequshizhangvarchar200歌曲時長gequgecilongtext4294967295歌曲歌詞clicktimedatetime最近點擊時間clicknumint點擊次數(shù)0discussnumint評論數(shù)0storeupnumint收藏數(shù)0表4-5:音樂資訊分類表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPtypenamevarchar200分類名稱表4-6:音樂資訊表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPtitlevarchar200標題introductionlongtext4294967295簡介typenamevarchar200分類名稱namevarchar200發(fā)布人headportraitlongtext4294967295頭像clicknumint點擊次數(shù)0clicktimedatetime最近點擊時間thumbsupnumint贊0crazilynumint踩0storeupnumint收藏數(shù)0picturelongtext4294967295圖片contentlongtext4294967295內(nèi)容表4-7:留言板表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPuseridbigint留言人idusernamevarchar200用戶名avatarurllongtext4294967295頭像contentlongtext4294967295留言內(nèi)容cpicturelongtext4294967295留言圖片replylongtext4294967295回復內(nèi)容rpicturelongtext4294967295回復圖片表4-8:熱門歌曲評論表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPrefidbigint關(guān)聯(lián)表iduseridbigint用戶idavatarurllongtext4294967295頭像nicknamevarchar200用戶名contentlongtext4294967295評論內(nèi)容scoredouble評分replylongtext4294967295回復內(nèi)容表4-9:用戶表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPyonghuzhanghaovarchar200用戶賬號mimavarchar200密碼yonghuxingmingvarchar200用戶姓名xingbievarchar200性別yonghudianhuavarchar200用戶電話touxianglongtext4294967295頭像表4-10:配置文件表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
namevarchar100配置參數(shù)名稱valuevarchar100配置參數(shù)值urlvarchar500url表4-11:音樂類型表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPyinleleixingvarchar200音樂類型imagelongtext4294967295image表4-12:關(guān)于我們表字段名稱類型長度字段說明主鍵默認值idbigint主鍵
主鍵
addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPtitlevarchar200標題subtitlevarchar200副標題contentlongtext4294967295內(nèi)容picture1longtext4294967295圖片1picture2longtext4294967295圖片2picture3longtext4294967295圖片3表4-13:用戶表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵
usernamevarchar100用戶名passwordvarchar100密碼imagevarchar200頭像rolevarchar100角色管理員addtimetimestamp新增時間CURRENT_TIMESTAMP4.4本章小結(jié)本章主要是對音樂平臺進行設(shè)計,詳細的說明了該系統(tǒng)實現(xiàn)所采用的架構(gòu)、系統(tǒng)中所有的功能模塊,并以表格的形式展現(xiàn)了系統(tǒng)持久層中的所有實體和實體的所有屬性。明確的功能說明和詳盡的數(shù)據(jù)陳列,方便將系統(tǒng)業(yè)務和數(shù)據(jù)聯(lián)系起來,為后面的程序開發(fā)提供方便。
5系統(tǒng)實現(xiàn)在上一章中,本論文中的音樂平臺進行了全面的系統(tǒng)設(shè)計。接下來第五章對本音樂平臺的實現(xiàn)過程進行說明,包括對該音樂平臺所需的開發(fā)環(huán)境、運行環(huán)境的說明以及對上一章中提到的各種內(nèi)容的實現(xiàn)。5.1系統(tǒng)開發(fā)環(huán)境以及運行環(huán)境5.1.1系統(tǒng)開發(fā)環(huán)境表5-1開發(fā)環(huán)境開發(fā)使用的操作系統(tǒng)Windows10開發(fā)使用的編程語言JAVA開發(fā)框架選擇SpringBoot選取的數(shù)據(jù)庫MySQL開發(fā)采用的IDEIntelliJIDEA5.1.2系統(tǒng)運行環(huán)境本音樂平臺的運行環(huán)境如表5-2所示。表5-2客戶端運行環(huán)境運行使用操作系統(tǒng)Windows10客戶端軟件Chrome瀏覽器5.2音樂平臺的主要功能模塊實現(xiàn)5.3小程序功能模塊小程序頁面主要包括系統(tǒng)首頁、熱門歌曲、音樂資訊、留言板、個人中心等內(nèi)容,并根據(jù)需要進行詳細操作;如圖5-1所示:圖5-1小程序首頁界面圖在注冊流程中,用戶在小程序端填寫必要信息(如用戶名、密碼等)并提交。小程序端將這些信息通過HTTP請求發(fā)送到Java后端。后端處理這些信息,檢查用戶名是否唯一,并將新用戶數(shù)據(jù)存入MySQL數(shù)據(jù)庫。完成后,后端向小程序端發(fā)送注冊成功的確認,小程序端隨后通知用戶完成注冊。這個過程實現(xiàn)了新用戶的數(shù)據(jù)收集、驗證和存儲。如圖5-2所示。圖5-2用戶注冊界面圖在登錄流程中,用戶首先在小程序端界面輸入用戶名和密碼。這些信息通過HTTP請求發(fā)送到Java后端。后端接收請求,通過與MySQL數(shù)據(jù)庫交互驗證用戶憑證。如果認證成功,后端會返回給小程序端,允許用戶訪問系統(tǒng)。這個過程涵蓋了從用戶輸入到系統(tǒng)驗證和響應的全過程。如圖5-3所示。圖5-3用戶登錄界面圖熱門歌曲,在熱門歌曲頁面可以查看歌曲名稱、歌曲分類、歌手、發(fā)布時間、歌曲時長、點擊次數(shù)、音樂文件等內(nèi)容,并進行收藏或者評論,還能在線播放音樂等操作;如圖5-4所示。圖5-4熱門歌曲界面圖音樂資訊,在音樂資訊頁面可以對音樂資訊進行點贊、收藏等操作,如圖5-5所示。圖5-5音樂資訊界面圖個人中心,在個人信息頁面通過填寫用戶賬號、用戶姓名、性別、用戶電話、頭像等信息,進行更新信息,如圖5-6所示。圖5-6個人中心界面圖5.4管理員功能模塊管理員進行登錄,進入系統(tǒng)前在登錄頁面根據(jù)要求填寫用戶名和密碼,驗證碼,選擇角色等信息,點擊登錄進行登錄操作,如圖5-7所示。圖5-7管理員登錄界面圖管理員登錄系統(tǒng)后,可以對首頁、用戶、音樂類型、熱門歌曲、留言板、系統(tǒng)管理、我的信息等進行相應的操作管理,如圖5-8所示。圖5-8管理員功能界圖面用戶功能在視圖層(view層)進行交互,比如點擊“添加用戶”按鈕或填寫用戶信息表單。這些用戶信息動作被視圖層捕獲并作為請求發(fā)送給相應的控制器層(controller層)??刂破鹘邮盏竭@些請求后,調(diào)用服務層(service層)以執(zhí)行相關(guān)的業(yè)務邏輯,例如驗證輸入數(shù)據(jù)的有效性和與數(shù)據(jù)庫的交互。服務層處理完這些邏輯后,進一步與數(shù)據(jù)訪問對象層(DAO層)交互,后者負責具體的數(shù)據(jù)操作如查詢、新增、更新或刪除用戶信息,并將操作結(jié)果返回給控制器。最終,控制器根據(jù)這些結(jié)果更新視圖層,以便用戶功能可以看到最新的信息或相應的操作反饋。用戶管理,在用戶管理頁面可以對用戶賬號、用戶姓名、性別、用戶電話、頭像等內(nèi)容,進行增加、更新和刪除等操作,如圖5-9所示。圖5-9用戶管理界面圖音樂類型功能在視圖層(view層)進行交互,比如點擊“添加”按鈕或填寫用戶信息表單。這些音樂類型信息動作被視圖層捕獲并作為請求發(fā)送給相應的控制器層(controller層)??刂破鹘邮盏竭@些請求后,調(diào)用服務層(service層)以執(zhí)行相關(guān)的業(yè)務邏輯,例如驗證輸入數(shù)據(jù)的有效性和與數(shù)據(jù)庫的交互。服務層處理完這些邏輯后,進一步與數(shù)據(jù)訪問對象層(DAO層)交互,后者負責具體的數(shù)據(jù)操作如查詢、新增、更新或刪除音樂類型信息,并將操作結(jié)果返回給控制器。最終,控制器根據(jù)這些結(jié)果更新視圖層,以便音樂類型功能可以看到最新的信息或相應的操作反饋。音樂類型管理,在音樂類型頁面可以對音樂類型等內(nèi)容,進行查詢、增加、更新、刪除等操作,如圖5-10所示。圖5-10音樂類型界面圖熱門歌曲,在熱門歌曲頁面可以對歌名、歌曲分類、歌曲封面、音樂文件、歌手、發(fā)布時間、歌曲時長、點擊次數(shù)、評論數(shù)、收藏數(shù)等內(nèi)容,進行增加、更新、查看評論和刪除,還能查看歌曲分類、歌手統(tǒng)計和發(fā)布時間的統(tǒng)計圖的操作,如圖5-11所示。圖5-11熱門歌曲管理界面圖留言板,在留言板頁面可以對用戶名、留言內(nèi)容、留言圖片、回復內(nèi)容、回復圖片等內(nèi)容,進行更新、回復和刪除等操作,如圖5-12所示。圖5-12留言板界面圖系統(tǒng)管理,管理員可以對系統(tǒng)簡介、輪播圖管理、音樂資訊、音樂資訊分類、關(guān)于我們進行詳情操作,如圖5-13所示。圖5-13系統(tǒng)管理界面圖5.6本章小結(jié)在本章中對系統(tǒng)的開發(fā)和應用環(huán)境進行說明,這些內(nèi)容為下一章測試時的環(huán)境搭建提供依據(jù)。本章還通過文字說明和截圖的方式對系統(tǒng)應用的界面做了簡要介紹。
6系統(tǒng)測試系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進行的測試,通過測試驗證整個系統(tǒng)是否正確滿足了前面需求分析篇章中的所有需求,測試系統(tǒng)的性能和功能是否與預想的一致,進而提高系統(tǒng)的穩(wěn)定性和可靠性[15]。同時,通過合理的測試可以發(fā)現(xiàn)系統(tǒng)中存在的問題,以防止系統(tǒng)在正式投入使用后出現(xiàn)故障,影響系統(tǒng)使用者工作的順利進行。系統(tǒng)測試的的主要方法有白盒測試和黑盒測試,本章節(jié)將采用黑盒測試法,從系統(tǒng)的功能和性能兩方面入手進行測試。6.1系統(tǒng)測試目的在一個可靠的軟件系統(tǒng)開發(fā)過程中,系統(tǒng)測試是其中重要的一環(huán),有時在一套大型的軟件系統(tǒng)中一個小故障就可能帶來嚴重后果。雖然不存在完全沒有問題的軟件,但是可以通過全面系統(tǒng)的測試盡可能的發(fā)現(xiàn)漏洞,并在系統(tǒng)投入使用前修復漏洞,盡可能減小在實際使用中系統(tǒng)發(fā)生故障的概率[16]。6.2系統(tǒng)測試環(huán)境為了使測試結(jié)果更加可靠,需要模擬實際的系統(tǒng)應用場景來搭建測試環(huán)境。下表列出了系統(tǒng)測試環(huán)境的組成部分。表6-1系統(tǒng)測試環(huán)境組成硬件或軟件型號以及版本操作系統(tǒng)Windows10數(shù)據(jù)庫MySQL瀏覽器Chrome測試網(wǎng)絡(luò)4G熱點6.3系統(tǒng)測試用例頁面跳轉(zhuǎn)測試目的測試是測試系統(tǒng)的不同功能頁面間能否正常準確跳轉(zhuǎn),測試結(jié)果如下表。表6-2首頁跳轉(zhuǎn)表編號操作預期結(jié)果測試結(jié)果1點擊用戶管理跳轉(zhuǎn)相應用戶管理界面成功跳轉(zhuǎn)管理界面2點擊登錄跳轉(zhuǎn)至初始界面成功跳轉(zhuǎn)初始界面3點擊注冊跳轉(zhuǎn)到注冊界面成功跳轉(zhuǎn)注冊界面用戶登錄功能測試測試登錄注冊功能的正確性以及用戶錯誤登錄時的系統(tǒng)反饋,測試結(jié)果如下表所示。表6-3注冊登陸頁面測試表編號操作預期結(jié)果測試結(jié)果1點擊注冊,輸入新的用戶名密碼注冊成功注冊成功2使用注冊成功的用戶名進行登錄登陸成功登錄成功3使用錯誤用戶名登錄顯示賬號或密碼錯誤提示“賬號或密碼錯誤”4用戶名為空進行登錄顯示用戶名不能為空提示“用戶名不能為空”6.4本章小結(jié)本章旨在進一步的完
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通風維護工崗前操作考核試卷含答案
- 飛機儀表電氣系統(tǒng)裝調(diào)工安全文明強化考核試卷含答案
- 退煮漂操作工安全實操競賽考核試卷含答案
- 制鞋工安全宣教強化考核試卷含答案
- 管模維修工安全培訓競賽考核試卷含答案
- 銀行內(nèi)部控制管理制度
- 酒店員工崗位責任與協(xié)作制度
- 酒店客房鑰匙卡掛失補辦制度
- 超市消防安全演練制度
- 年產(chǎn)500萬支注射用紫杉醇聚合物膠束配套藥用輔料項目可行性研究報告模板-備案審批
- 國家衛(wèi)生部《綜合醫(yī)院分級管理標準》
- 撇洪溝改造工程監(jiān)理規(guī)劃河道整治樣本
- (完整版)保證藥品信息來源合法、真實、安全的管理措施、情況說明及相關(guān)證明
- 預防兩癌知識講座
- 人教版九年級數(shù)學第二十四章《圓》單元知識點總結(jié)
- 西班牙語專業(yè)本科論文模板
- GB/T 42288-2022電化學儲能電站安全規(guī)程
- 地質(zhì)災害治理工程用表格(完整資料)
- 網(wǎng)殼結(jié)構(gòu)專項施工方案
- GB/T 9254.1-2021信息技術(shù)設(shè)備、多媒體設(shè)備和接收機電磁兼容第1部分: 發(fā)射要求
- GB/T 39287-2020閉式膨脹罐
評論
0/150
提交評論