![音樂播放網(wǎng)站_第1頁](http://file4.renrendoc.com/view10/M01/2C/17/wKhkGWV2l6OAd7m3AAMnLrDGqT0478.jpg)
![音樂播放網(wǎng)站_第2頁](http://file4.renrendoc.com/view10/M01/2C/17/wKhkGWV2l6OAd7m3AAMnLrDGqT04782.jpg)
![音樂播放網(wǎng)站_第3頁](http://file4.renrendoc.com/view10/M01/2C/17/wKhkGWV2l6OAd7m3AAMnLrDGqT04783.jpg)
![音樂播放網(wǎng)站_第4頁](http://file4.renrendoc.com/view10/M01/2C/17/wKhkGWV2l6OAd7m3AAMnLrDGqT04784.jpg)
![音樂播放網(wǎng)站_第5頁](http://file4.renrendoc.com/view10/M01/2C/17/wKhkGWV2l6OAd7m3AAMnLrDGqT04785.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章緒論1.1系統(tǒng)研究背景和意義隨著互聯(lián)網(wǎng)的高速發(fā)展,人們的生活變得更加多元化。在每日的忙碌工作之余,少有人會通過散步等傳統(tǒng)方式來放松自己,聽音樂則成了更多人的選擇。一個音樂播放系統(tǒng),就應(yīng)運而生了。音樂播放系統(tǒng)包含流行音樂、情感音樂、DJ、古風(fēng)、歐美等各種類型的音樂??筛鶕?jù)個人的喜好收聽不同的音樂。不僅可以在音樂播放系統(tǒng)中獲得放松,也可以讓人們更多地了解歌手以及他們成功的過程?;ヂ?lián)網(wǎng)的發(fā)展,可以使人們更加高速地獲得信息,讓生活變得更加多元化。1.2國內(nèi)外研究的現(xiàn)狀音樂軟件大家應(yīng)該都很熟悉了,智能機的普及,蘋果手機的大量流入中國市場,像酷狗音樂,QQ音樂等都有自己的Android和IOS的產(chǎn)品,同時也有web的網(wǎng)站??峁芬魳肥鞘褂肅++編寫的,這個技術(shù)相對成熟,但是使用率并不是很高,并且在頁面效果上會有所欠缺。同時也有一些軟件是使用其他新興技術(shù),比如go、python、php等,go語言能夠很好地處理高并發(fā),python簡單規(guī)范,php可同時用來寫前后端。這些語言在某些方面是有其優(yōu)點,但是作為新興技術(shù),顯然是沒有Java這個已經(jīng)有二十多年歷史的語言那么穩(wěn)定的。因此,使用Java開發(fā)音樂播放系統(tǒng)是一個很好地選擇?,F(xiàn)如今Java在后臺開發(fā)上已經(jīng)非常完善了,SSM框架完美的符合三層架構(gòu)的思想,使用Java來寫數(shù)據(jù)接口,并且還有多種方法來處理現(xiàn)在流行的輕量級的前后端數(shù)據(jù)交互的JSON數(shù)據(jù)。同時,在前端顯示方面,JSP技術(shù)也很好地與現(xiàn)在流行的HTML網(wǎng)頁結(jié)合,能夠使得頁面更加美觀。1.3本課題研究的內(nèi)容根據(jù)對現(xiàn)有主流的音樂播放網(wǎng)站的調(diào)查和統(tǒng)計,目前這些網(wǎng)站所具有的重要模塊及功能在本系統(tǒng)中都有。具體如下:1、用戶的注冊功能;用戶想要擁有自己的歌單,就需要注冊一個自己的系統(tǒng)賬號。2、用戶登錄功能;使用自己的賬號登錄我們的系統(tǒng),在系統(tǒng)里面進行歌單設(shè)置,評論等功能。3、歌曲搜索功能;根據(jù)輸入的關(guān)鍵字進行模糊查詢,為用戶提供相應(yīng)的歌曲或者歌手的信息。4、歌曲詳細功能;顯示出當前歌曲的歌詞,對應(yīng)的歌手,歌手圖片,歌曲評論等信息。5、歌手詳細功能;改歌手的姓名,星座等等一些基本信息。6、歌曲播放功能;根據(jù)歌單進行播放,隨機播放,順序播放,單曲循環(huán)等功能。7、播放列表管理功能;用戶可以根據(jù)自己的喜好,往歌單中添加歌曲,或者從歌單中刪除歌曲。8、榜單功能;根據(jù)各個歌曲的分類對歌曲進行排行,根據(jù)播放量對歌曲進行排行。9、歌曲上傳功能;后臺管理員可以往系統(tǒng)中上傳新歌。10、評論功能;對某首歌進行自己的評論。11、新增歌手功能;后臺管理員往系統(tǒng)里面添加歌手。1.4本課題的研究方法本系統(tǒng)使用Java語言開發(fā),Java環(huán)境為jdk1.8,使用的IDE開發(fā)工具為Eclipse,數(shù)據(jù)庫使用的是輕量級的開源數(shù)據(jù)庫操作系統(tǒng)MySQL,服務(wù)器使用的是開源的Tomcat,使用的Tomcat版本為8.0。本系統(tǒng)使用的是J2EE企業(yè)開發(fā)框架中較為基礎(chǔ)的SSM框架,除了基礎(chǔ)框架之外,還使用到了JSP、JavaScript、JQuery、CSS、AJAX等等WEB方面的技術(shù)。其中SSM框架,Spring框架是負責(zé)管理bean以及其他框架的,由原來的程序員手動生成對象變成了從IOC容器中獲取,降低了組件之間的耦合程度,提供了事務(wù)處理等服務(wù),使開發(fā)更加方便。SpringMVC框架是視圖部分,負責(zé)對請求的響應(yīng)以及數(shù)據(jù)的填充,SpringMVC框架的出現(xiàn),使請求變得更加方便管理,使用注解配置路徑而不需要在web.xml文件中一一配置servlet。MyBatis框架作為持久層,負責(zé)與數(shù)據(jù)庫的連接,使用數(shù)據(jù)庫連接池增強了系統(tǒng)的性能,而且sql語句是寫在配置文件中,并且會對數(shù)據(jù)進行封裝,數(shù)據(jù)傳遞更加高效。并且項目采用的是controller+service+dao的結(jié)構(gòu)層次,配合上SSM框架,使系統(tǒng)更加的容易管理和維護。而JSP、JavaScript、JQuery、CSS、AJAX等技術(shù)是適用于前端界面以及前后端交互的技術(shù),JavaScript、JQuery、CSS等技術(shù)使得系統(tǒng)的界面更加美觀,而JSP和AJAX能夠非常好地處理前后端數(shù)據(jù)交互的問題,使得整個系統(tǒng)在數(shù)據(jù)傳輸上變得更加高效。1.5開發(fā)環(huán)境1.5.1硬件環(huán)境本系統(tǒng)采用單機操作方式,基本配置如下;處理器:第五代酷睿i3-5200U@2.50GHz硬盤空間:500GB內(nèi)存:2GB1.5.2軟件環(huán)境采用B/S架構(gòu),使用tomcat運行環(huán)境開發(fā)平臺:Eclipse操作系統(tǒng):Windows10數(shù)據(jù)庫服務(wù)器:MySQLJava環(huán)境:JDK1.81.6論文結(jié)構(gòu)全文共分為八章:第一章首先介紹課題的研究背景和意義,然后介紹研究內(nèi)容和方法。第二章介紹本系統(tǒng)的架構(gòu)設(shè)計,使用的開發(fā)技術(shù)以及相關(guān)的開發(fā)工具等。第三章進行系統(tǒng)分析,主要是可行性分析和需求分析。第四章系統(tǒng)總體設(shè)計,分析所有的實體類;介紹各大模塊的業(yè)務(wù)設(shè)計。第五章數(shù)據(jù)庫設(shè)計。對系統(tǒng)所用的數(shù)據(jù)庫結(jié)構(gòu)進行詳細設(shè)計。第六章系統(tǒng)實現(xiàn)。詳細的介紹了系統(tǒng)的實現(xiàn),具體到了所有的模塊。第七章系統(tǒng)測試。介紹了測試用例和給出了測試的結(jié)果。第八章系統(tǒng)總結(jié)。總結(jié)系統(tǒng)的優(yōu)點、缺點、展望。第二章相關(guān)技術(shù)2.1SSM框架介紹SSM框架是三個框架的合稱,分別是Spring、SpringMVC、MyBatis三個框架。Spring框架是一個輕量級的開源框架,在Java面向?qū)ο蟮幕A(chǔ)上實現(xiàn)了控制反轉(zhuǎn)(IOC)和依賴注入(DI)以及面向切面(AOP)這三個主要特性。使原本需要程序員手動創(chuàng)建對象變沉了從IOC容器中獲取對象,這是一個比較大的突破;而AOP把控制精確到了方法,可以在方法執(zhí)行前后或者發(fā)生異常之后進行一些處理。不僅如此,Spring框架還能比較好地整個其他框架。SpringMVC其實是Spring框架提供的一個強大而靈活的web框架,主要負責(zé)前后端數(shù)據(jù)交互、頁面跳轉(zhuǎn)等功能,在SpringMVC中,請求分別會經(jīng)過其前端控制器,前端控制器中有處理器映射器、處理器適配器、以及視圖解析器組成。處理器映射器是尋找處理器,處理器適配器中調(diào)用service,而視圖解析器是負責(zé)頁面的顯示以及數(shù)據(jù)的填充。MyBatis框架是持久層的輕量級框架,負責(zé)與數(shù)據(jù)庫的連接,操作數(shù)據(jù)。在DAO層編寫Mapper接口,并且與xml文件進行映射。在xml文件中編寫sql語句,參數(shù)類型多樣,最主要的是可以對查詢結(jié)果使用resultMap進行封裝,這種Key-Value形式結(jié)果集用于數(shù)據(jù)填充是非常方便的。2.2JavaScript介紹JavaScript是一種腳本語言,主要用于前端頁面的事件的觸發(fā),頁面特效的顯示。但是跟名字不一樣的是,它跟Java沒有任何關(guān)系。JavaScript的出現(xiàn),完美得取代了CGI,原本一些表單字段的判空操作需要將請求發(fā)送到后端在后端進行判斷,而JavaScript可以在前端頁面進行判斷,減少了請求次數(shù),大大地提高了請求效率。而使HTML頁面可以動態(tài)地顯示實時信息。JavaScript是相對安全、事件驅(qū)動、跨平臺的語言,但是JavaScript也有其對應(yīng)的缺點,就是各個瀏覽器對JavaScript的支持程度不同,因此在寫代碼的過程中有些情況要考慮瀏覽器的因素。2.3AJAX介紹AJAX(AsynchronousJavascriptAndXml)是異步的JavaScript和xml,是現(xiàn)在開發(fā)的一個很重要的技術(shù)。就是所謂的局部刷新,像百度搜索框會根據(jù)輸入的內(nèi)容的變化而顯示不同的信息,進行部分網(wǎng)頁的更新,而不是加載整個頁面。使每次請求的數(shù)據(jù)量減少了,可以使請求與響應(yīng)更加地快。并且AJAX是獨立于語言和平臺的,兼容性是非常好的。2.4JSON介紹JSON是一種輕量級數(shù)據(jù)格式,其主要形式是Key-Value這種鍵值對的形式。相比于xml,json更小,更快。在前后端交互的過程中,使用最多的就是json格式,這種格式在前后端都能比較方便地解析,并且能夠?qū)崿F(xiàn)各種編碼的傳輸,是現(xiàn)在使用率最高的一種格式。2.5MySQL介紹MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。在MySQL中,數(shù)據(jù)存放在一張一張的表中,所謂關(guān)系型數(shù)據(jù)庫,就是表與表之間的關(guān)系是通過外鍵連接的。在MySQL中使用語句是最常見的結(jié)構(gòu)化查詢語句,并且有自己的索引引擎,能夠加快查詢效率。并且,相對于Oracle這種大型的數(shù)據(jù)庫,MySQL顯然是更加簡單方便的,其獨特的分頁以及主鍵自增是Oracle所沒有的。第三章系統(tǒng)分析3.1系統(tǒng)功能本系統(tǒng)總體上分為用戶模塊和管理員模塊。音樂播放系統(tǒng)中,用戶模塊為用戶提供了用戶登錄注冊、歌單管理、歌曲評論、音樂播放、歌曲搜索、歌曲分類排行等功能,使用戶有非常好的體驗;在管理員模塊提供了上傳歌曲、增加歌手等功能,操作非常便捷。系統(tǒng)功能圖如圖3.1所示圖3.1系統(tǒng)的功能圖3.2系統(tǒng)用例設(shè)計經(jīng)分析,可以確定整個系統(tǒng)的主用例圖將包括兩個角色(用戶和管理員),及對應(yīng)兩個用例,系統(tǒng)主用例圖如圖3.2所示,圖3.2系統(tǒng)的主UseCase圖其中,前臺用戶模塊用例圖如圖3.3所示圖3.3前臺用戶模塊用例圖后臺管理員模塊用例圖如圖3.4所示圖3.4后臺管理端用例圖3.2.1登錄驗證1.本用例描述:用戶訪問音樂播放系統(tǒng)首頁,界面右上角有登錄超鏈接,點擊登錄后進入登錄頁面,1)用戶可以輸入手機號密碼登錄或者使用手機驗證碼登錄2)系統(tǒng)查詢該用戶相關(guān)信息,3)若用戶輸入的手機號,密碼不正確或者手機驗證碼不正確,則返回步驟1),并提示錯誤信息;4)若用戶手機號,密碼或者手機驗證碼正確,則根據(jù)數(shù)據(jù)庫中該用戶的角色進入前臺模塊或者管理員模塊。2.本用例時序圖如圖3.5所示圖3.5登錄驗證時序圖3.本用例協(xié)作圖如圖3.6所示圖3.6登錄驗證協(xié)作圖3.2.2歌手詳情1.本用例描述:用戶訪問本系統(tǒng),在本系統(tǒng)中的任意頁面,只要看到有歌手名字或者歌手圖片,都可以點擊進入歌手詳情頁面,在歌曲詳情頁面能夠查看到歌手的基本信息、代表作、熱歌等信息。2.本用例時序圖如圖3.7所示圖3.7歌手詳情時序圖3.本用例協(xié)作圖如圖3.8所示圖3.8歌手詳情協(xié)作圖3.2.3歌曲詳情1.本用例描述:用戶訪問本系統(tǒng),在本系統(tǒng)中的任意頁面,只要看到有歌曲名字,都可以點擊進入歌曲詳情頁面2.本用例時序圖如圖3.9所示圖3.9歌曲詳情時序圖3.本用例協(xié)作圖如圖3.10所示圖3.10歌曲詳情協(xié)作圖3.2.4歌曲評論1.本用例描述:用戶訪問本系統(tǒng),在本系統(tǒng)中的歌曲詳情頁面中可以看到該歌曲的評論信息、評論的回復(fù)、評論的點贊次數(shù)等信息2.本用例時序圖如圖3.11所示圖3.11歌曲評論時序圖3.本用例協(xié)作圖如圖3.12所示圖3.12歌曲評論協(xié)作圖3.2.5歌曲榜單1.本用例描述:用戶訪問本系統(tǒng),在本系統(tǒng)中的榜單頁面,可以看到本系統(tǒng)中的歌曲排行榜,包括新歌榜、熱歌榜、民謠榜等各種類別的榜單2.本用例時序圖如圖3.13所示圖3.13歌曲榜單時序圖3.本用例協(xié)作圖如圖3.14所示圖3.14歌曲榜單協(xié)作圖3.2.6播放列表管理1.本用例描述:用戶訪問本系統(tǒng),在本系統(tǒng)中的播放列表頁面中,可以看到自己的播放列表,可以移除自己不喜歡的歌曲;在其他頁面中能添加歌曲到歌單。2.本用例時序圖如圖3.15所示圖3.15歌單管理時序圖本用例協(xié)作圖如圖3.16所示圖3.16歌單管理協(xié)作圖3.2.7歌曲搜索1.本用例描述:用戶訪問本系統(tǒng),在本系統(tǒng)中的搜索頁面,可以輸入關(guān)鍵字,查詢符合條件的歌曲或者符合條件的歌手所有的歌曲2.本用例時序圖如圖3.17所示圖3.17歌曲搜索時序圖3.本用例協(xié)作圖如圖3.18所示圖3.18歌曲搜索協(xié)作圖3.2.8新增歌手1.本用例描述:管理員有管理員自讀特有的賬號,從前臺的登錄頁面輸入賬號密碼或者手機號驗證碼進行登錄到后臺,在后臺可以進行新增歌手2.本用例時序圖如圖3.19所示圖3.19新增歌手時序圖3.本用例協(xié)作圖如圖3.20所示圖3.20新增歌手協(xié)作圖3.2.9上傳歌曲1.本用例描述:管理員有管理員自讀特有的賬號,從前臺的登錄頁面輸入賬號密碼或者手機號驗證碼進行登錄到后臺,在后臺可以進行新增歌手本用例時序圖如圖3.21所示圖3.21新增歌曲時序圖3.本用例協(xié)作圖如圖3.22所示圖3.22新增歌曲協(xié)作圖第四章系統(tǒng)設(shè)計4.1系統(tǒng)設(shè)計原則根據(jù)自身在音樂播放系統(tǒng)的體驗以及廣大用戶對音樂播放系統(tǒng)的需求,具體要滿足哪些功能,系統(tǒng)能達到怎樣的預(yù)期效果,可以遵循以下的設(shè)計原則。4.1.1實用性本音樂播放系統(tǒng)的設(shè)計目標是實現(xiàn)操作簡單,界面美觀,用戶體驗性好的音樂播放網(wǎng)站,為每一個用戶提供簡單又豐富的聽音樂體驗。4.1.2模塊化設(shè)計本音樂播放系統(tǒng)采用了用戶模塊和管理員模塊的模塊化程序設(shè)計方法,通過這種分模塊的方法提高用戶的體驗以及后臺管理員對系統(tǒng)的維護以及更新,使系統(tǒng)在維護的時候也并不影響用戶的使用。4.1.3系統(tǒng)安全性不管是什么系統(tǒng),只要有用戶登錄功能的,用戶的密碼都是比較私密的,本系統(tǒng)對用戶的密碼進行了加密,使用的是MD5加密,這個加密是不可逆的,就算數(shù)據(jù)庫被黑了,拿到的也只是一串看不懂的字符串;而手機驗證碼這個東西,只有輸入的是自己的手機號才能知道驗證碼,也是比較安全的。4.1.4系統(tǒng)性能本系統(tǒng)是一個運用了JSP、SSM框架開發(fā)的一個系統(tǒng),然后部署在eclipse上通過tomcat服務(wù)器運行的系統(tǒng),對于系統(tǒng)的訪問數(shù)與響應(yīng)時間和計算機的硬件條件有關(guān),訪問數(shù)是20,響應(yīng)時間是0.01秒,后臺管理員上傳歌曲以及用戶下載歌曲和網(wǎng)速有關(guān),上傳與下載速度為2M/s。4.2系統(tǒng)模塊設(shè)計本系統(tǒng)主要包括:用戶模塊(登錄注冊、播放列表管理、查看歌手詳情、查看歌曲詳情、歌曲評論、歌曲搜索、歌曲榜單);管理員模塊(新增歌手、上傳歌曲)。系統(tǒng)模塊圖如圖4.1所示圖4.1系統(tǒng)模塊圖4.2.1登錄注冊模塊1.注冊模塊1)輸入:輸入手機號、昵稱、密碼、再次輸入密碼2)處理:判斷手機號是否為空、手機號是否合法、是否被注冊過,判斷昵稱是否為空、是否存在非法字符;判斷密碼是否為空、是否少于6位;判斷確認密碼是否為空、是否少于6位、兩次輸入密碼是否一致3)輸出:注冊是否成功,如果注冊失敗,失敗的原因;注冊成功即跳轉(zhuǎn)到登錄頁面,失敗則停留在當前頁面重新操作2.用戶賬號密碼登錄1)輸入:手機號、密碼2)處理:判定輸入手機號是否正確、是否已經(jīng)注冊,密碼是否正確3)輸出:登錄是否成功,成功則跳轉(zhuǎn)到網(wǎng)站首頁,失敗則停留在當前頁面重新操作3.手機號驗證碼登錄1)輸入:手機號、驗證碼2)處理:生成6位隨機驗證碼并發(fā)送到手機、判斷輸入的驗證碼是否一致3)輸出:登錄是否成功,成功則跳轉(zhuǎn)到網(wǎng)站首頁,失敗則停留在當前頁面重新操作注冊流程圖如圖4.2所示,登錄流程圖如圖4.3所示圖4.2注冊流程圖圖4.3登錄流程圖4.2.2歌曲詳情模塊用戶和游客有不同的權(quán)限1.游客1)輸入:點擊一首歌曲2)處理:判斷是否登錄3)輸出:請登錄2.用戶1)輸入:點擊一首歌曲2)處理:判斷是否登錄3)輸出:跳到歌曲詳細頁面、查看歌曲的相關(guān)信息、相關(guān)評論,查看該歌手的最火的六首歌以及本系統(tǒng)中最火的六首歌。相關(guān)流程圖如圖4.4所示4.2.3歌手詳情模塊用戶和游客有不同的權(quán)限1.游客1)輸入:點擊一位歌手時2)處理:判斷是否登錄3)輸出:請登錄2.用戶1)輸入:點擊一位歌手時2)處理:判斷是否登錄3)輸出:跳到歌手詳細頁面、查看歌手的基本信息、代表作等相關(guān)流程圖如圖4.5所示圖4.4查看歌曲詳情流程圖 圖4.5查看歌手詳情流程圖4.2.4歌曲榜單模塊歌曲榜單模塊主要是一個歌曲排行榜,根據(jù)歌曲的種類(民謠、古風(fēng)等)的不同根據(jù)歌曲的播放次數(shù)進行的一個排行1.輸入:點擊榜單、切換榜單2.處理:根據(jù)選擇的歌曲種類進行排行3.輸出:根據(jù)選擇歌曲種類的不同顯示不同的排行相關(guān)流程圖如圖4.6所示圖4.6歌曲榜單相關(guān)流程圖4.2.5評論模塊評論模塊主要是對應(yīng)某一首歌曲,用戶可以發(fā)表自己的見解,回復(fù)別人的評論,并且對別人的評論進行點贊。1.輸入:已登錄本系統(tǒng),進入歌曲詳情界面;在評論框輸入評論內(nèi)容并點擊評論、對某一條評論進行點贊、對某一條評論進行回復(fù)2.處理:對相對應(yīng)的歌曲進行添加評論、評論點贊次數(shù)的增加、評論回復(fù)的增加3.輸出:在評論列表中看到評論、評論點贊數(shù)、評論回復(fù)等相關(guān)流程圖如圖4.7所示圖4.7評論相關(guān)流程圖4.2.5播放列表模塊播放列表主要是方便登錄的用戶能把自己喜歡的歌加入到自己的歌單,在下一次登錄的時候還能保留歌單的內(nèi)容;同時,對未登錄的用戶提供一個默認的歌單。1.游客1)輸入:點擊歌單2)處理:判斷是否登錄3)輸出:默認的歌單,可進行操作,退出后不保留2.用戶1)輸入:點擊歌單2)處理:判斷是否登錄3)輸出:個人獨有的歌單,可進行操作,退出后保留播放列表流程圖如圖4.8所示圖4.8播放列表相關(guān)流程圖4.2.6歌曲搜索模塊歌曲搜索模塊主要是用戶在搜索頁面可以輸入歌曲或者歌手的關(guān)鍵字在本系統(tǒng)中搜索符合條件的歌曲或者歌手的歌曲。1.游客1)輸入:無2)處理:搜索頁面輸入搜索內(nèi)容3)輸出:查詢符合條件的歌曲進行顯示2.用戶1)輸入:已登錄本系統(tǒng)2)處理:搜索頁面輸入搜索內(nèi)容3)輸出:查詢符合條件的歌曲進行顯示歌曲搜索流程圖如圖4.9所示圖4.9歌曲搜索相關(guān)流程圖4.2.7新增歌手模塊新增歌手模塊主要是后臺管理員對系統(tǒng)資源的一種添加,增加歌手一遍后面上傳歌手的歌曲。1.管理員1)輸入:登錄后臺新增歌手頁面2)處理:輸入歌手信息3)輸出:新增歌手成功新增歌手流程圖如圖4.10所示4.2.8歌曲上傳模塊歌曲上傳模塊主要是后臺管理員對系統(tǒng)資源的一種添加,對已經(jīng)存在系統(tǒng)中的歌手進行歌曲的添加。1.管理員1)輸入:登錄后臺歌曲上傳頁面2)處理:輸入歌曲信息,選擇歌曲、歌詞文件3)輸出:歌曲上傳成功歌曲上傳流程圖如圖4.11所示圖4.10新增歌手相關(guān)流程圖圖4.11歌曲上傳相關(guān)流程圖4.3系統(tǒng)類圖4.3.1實體類類圖User類用來記錄用戶的個人信息。實現(xiàn)用戶登錄注冊等功能。相關(guān)類圖如圖4.12所示圖4.12 Users類圖Song類用來記錄歌曲的信息。實現(xiàn)歌曲的播放以及歌曲上傳、歌曲排行等功能。相關(guān)類圖如圖4.13所示圖4.13 Song類圖Singer類用來記錄歌手的信息。實現(xiàn)歌手分類、新增歌手等功能。相關(guān)類圖如圖4.14所示圖4.14 Singer類圖SingerType類用來記錄歌手的類別信息。相關(guān)類圖如圖4.15所示圖4.15 SingerType類圖SongType類用來記錄歌去的類別信息,用來實現(xiàn)榜單等功能。相關(guān)類圖如圖4.16所示圖4.16 SongType類圖Comments類用來記錄歌曲評論等信息,實現(xiàn)評論功能。相關(guān)類圖如圖4.17所示圖4.17 Comments類圖ReplyComment類用來記錄歌曲評論的回復(fù)信息,實現(xiàn)回復(fù)評論功能。相關(guān)類圖如圖4.18所示圖4.18 ReplyComments類圖Search類用來記錄搜索內(nèi)容和搜索次數(shù),用于實現(xiàn)熱搜功能。相關(guān)類圖如圖4.19所示圖4.19 Search類圖4.3.1業(yè)務(wù)類類圖UsersController類用于實現(xiàn)用戶登錄注冊等功能的驗證。相關(guān)類圖如圖4.20所示圖4.20 UserController類圖SongController類用于實現(xiàn)歌曲相關(guān)功能。相關(guān)類圖如圖4.21所示圖4.21 SongController類圖SingerController類用于實現(xiàn)歌手相關(guān)功能。相關(guān)類圖如圖4.22所示圖4.22 SingerController類圖CommentController類用于實現(xiàn)對歌曲評論相關(guān)的功能。相關(guān)類圖如圖4.23所示圖4.23 CommentsController類圖SearchController類用于實現(xiàn)熱搜的功能。相關(guān)類圖如圖4.24所示圖4.24 SearchController類圖第五章數(shù)據(jù)庫設(shè)計5.1E-R圖設(shè)計本系統(tǒng)是一個音樂播放系統(tǒng),系統(tǒng)主要分為用戶模塊和管理員模塊;用戶模塊主要是登錄注冊功能、歌曲播放、歌單管理、評論、歌手歌曲詳細、歌曲搜索等功能;管理員模塊主要是歌曲上傳、增加歌手的功能。系統(tǒng)包括用戶、歌曲、評論、歌手等4個實體。E_R總圖如圖5.1所示。圖5.1系統(tǒng)ER總圖5.1.1用戶實體用戶實體主要包含:用戶編號,用戶昵稱,密碼,用戶角色,注冊時間,手機號,用戶頭像等屬性信息,詳細描述了用戶的各種屬性。用戶實體E-R圖,如圖5.2所示。圖5.2用戶實體E-R圖5.1.2歌曲實體歌曲實體主要包含:歌曲編號、歌曲名、歌手編號、歌曲時長、歌曲文件、歌詞文件、發(fā)布時間、播放次數(shù)、歌曲類型、注冊時間,歌曲類型等屬性。歌曲實體E-R圖,如圖5.3所示。圖5.3歌曲實體E-R圖5.1.3歌手實體歌手實體主要包含:歌手編號、歌手名字、歌手類型、性別、歌手圖片、歌手首字母、代表作等必要信息,還包括星座、名族、出生地等一些其他非必要的信息用來顯示歌手的個人信息,跟系統(tǒng)功能并無太大關(guān)聯(lián)。歌手實體E-R圖,如圖5.4所示。圖5.4歌手實體E-R圖5.1.4評論實體評論實體主要是用戶對于某個歌曲的評論。主要包含:評論編號、評論內(nèi)容、評論時間、評論用戶、點贊次數(shù)、歌曲編號等屬性。歌手實體E-R圖,如圖5.5所示。圖5.5評論實體E-R圖5.2邏輯結(jié)構(gòu)設(shè)計5.2.1歌曲表在歌曲榜單界面上,根據(jù)歌曲類別顯示不同歌曲;歌曲詳情、歌曲搜索、歌單等頁面顯示歌曲對應(yīng)的歌手,其邏輯結(jié)構(gòu)如表5-1所示。表5-1歌曲表序號字段名中文說明類型可空備注1.id歌曲編號int不可2.name歌曲名varchar不可3.songTypeName歌曲類別名varchar不可4.singerName歌手名varchar不可5.2.2歌手表在歌手頁面根據(jù)歌手分類顯示歌手;歌手詳細頁面顯示歌手代表作等信息,其邏輯結(jié)構(gòu)如表5-2所示。表5-2歌手表序號字段名中文說明類型可空備注1.id歌手編號int不可2.name歌手名varchar不可3.singerTypeName歌手類別名varchar不可4.songNameList歌手代表作List不可歌手代表作集合5.2.3評論表在歌曲詳情界面中的評論功能中;一條評論有其評論人昵稱、評論人頭像、評論內(nèi)容、點贊次數(shù)、評論時間等信息,如果存在回復(fù)評論,則還有回復(fù)人昵稱、回復(fù)內(nèi)容等信息,其邏輯結(jié)構(gòu)如表5-3所示。表5-3評論表序號字段名中文說明類型可空備注1.id評論編號int不可2.content評論內(nèi)容varchar不可3.time評論時間varchar不可4.count評論點贊數(shù)int不可5.usersName評論用戶昵稱varchar不可6.usersPicture評論用戶頭像varchar不可7.replyContent回復(fù)評論內(nèi)容varchar可8.song歌曲varchar不可評論對應(yīng)的歌曲9.replyUsersName回復(fù)人昵稱varchar不可存在回復(fù)評論時回復(fù)人不能為空5.3物理結(jié)構(gòu)設(shè)計音樂播放系統(tǒng)數(shù)據(jù)庫表關(guān)系圖如圖5.6所示圖5.6系統(tǒng)數(shù)據(jù)庫表關(guān)系圖5.3.1用戶表users整個系統(tǒng)的用戶和管理員登錄驗證的數(shù)據(jù),本表中的數(shù)據(jù)能夠根據(jù)用戶的成功注冊而添加,管理員的賬號等在最初時設(shè)置,分發(fā)給管理員,用戶表如5-4表所示。表5-4用戶表序號字段名中文說明類型可空備注1.id用戶編號int不可主鍵、自增2.username用戶昵稱varchar不可用戶的昵稱3.password密碼varchar不可4.tel手機號varchar不可5.role角色int不可6.time注冊時間varchar不可7.picture用戶頭像varchar不可默認頭像8.remark備注varchar可5.3.2歌曲表song該表主要存放的是歌曲的信息,主要包括歌曲id、歌曲名、歌詞文件、歌曲文件、時長、上架時間、歌曲類型、歌手等基本信息,只有管理員能往該表中添加數(shù)據(jù),歌曲表如5-5所示表5-5歌曲表序號字段名中文說明類型可空備注1.id歌曲idint不可主鍵、自增2.name歌曲名varchar不可3.time上架時間varchar不可4.lyric歌詞varchar不可5.mp3歌曲varchar不可6.count播放次數(shù)varchar不可默認為07.duration歌曲時長varchar不可8.singerid歌手idint不可外鍵、關(guān)聯(lián)歌手表9.song_typeid歌曲類型idint不可外鍵、關(guān)聯(lián)歌曲類型表10.remark備注varchar可5.3.3歌手表singer該表是存儲了歌手的相關(guān)信息,管理員在管理模塊能夠?qū)Ω枋诌M行新增,歌手表如5-6所示表5-6歌手表序號字段名中文說明類型可空備注1.id歌手idint不可主鍵、自增2.name歌手名varchar不可3.alias別名varchar可4.language國籍varchar可5.birthday生日varchar可6.height身高varcahr可7.sex性別varchar不可8.nation民族varchar可9.birthplace出生地varchar可10.constellation星座varchar可11.weight體重varchar可12.picture歌手相片varchar不可13.singer_typeid歌手類型int不可外鍵、關(guān)聯(lián)歌手類型表14.job工作varchar可15.firstname首字母varchar不可16.remark備注varchar可5.3.4歌曲類型表song_type存放歌曲的類型,在歌曲排行榜中有各種類別的歌曲的排行,歌曲類別表如5-7所示表5-7歌曲類別表序號字段名中文說明類型可空備注1.id類別idint不可主鍵2.name類別名varchar不可3.remark備注varchar (續(xù)前表)5.3.5歌手類別表singer_type存放歌曲的類型,在歌曲排行榜中有各種風(fēng)格歌手的歌曲排行,歌手類別表如5-8所示表5-8歌手類別表序號字段名中文說明類型可空備注1.id類別idint不可主鍵2.name特征名varchar不可3.reamrk備注varchar可5.3.6評論表comments該表與歌曲表相關(guān)聯(lián),是一首歌曲的評論,存儲的主要是評論人、評論時間、評論內(nèi)容、評論點贊次數(shù)、該評論的回復(fù)評論等信息,方便查看該歌曲的好評度,評論表如5-9所示表5-9評論表序號字段名中文說明類型可空備注1.id評論idint不可主鍵、自增2.content評論內(nèi)容varchar不可3.time評論時間varchar不可4.count點贊次數(shù)int不可5.userid評論人idint不可外鍵、關(guān)聯(lián)用戶表6.songid歌曲idint不可外鍵、關(guān)聯(lián)歌曲表7.remark備注varchar可5.3.7回復(fù)評論表reply_comment該表是對應(yīng)一首歌曲的評論的回復(fù)評論的信息,也算是一個小型的社交了,對歌曲的評論有不同見解等可以互相交流,回復(fù)評論表如5-10所示表5-10回復(fù)評論表序號字段名中文說明類型可空備注1.id回復(fù)評論編號int不可主鍵、自增2.contnet回復(fù)評論內(nèi)容varchar不可3.time回復(fù)評論時間varchar不可4.commentsid評論idint不可外鍵、關(guān)聯(lián)評論表userid用戶idint不可外鍵、關(guān)聯(lián)用戶表remark備注varchar可5.3.8搜索表search該表是存了一些歌曲,歌手等關(guān)鍵字,以及該關(guān)鍵字的搜索次數(shù),可以看出哪些歌手、歌曲搜索最多,歌曲歌手的熱度等,搜索表如5-11所示表5-11搜索表序號字段名中文說明類型可空備注1.id搜索編號int不可主鍵、自增2.content搜索內(nèi)容varchar不可3.count搜索次數(shù)int不可4.remark備注varchar可第六章系統(tǒng)實現(xiàn)本系統(tǒng)主要包括用戶模塊(用戶注冊界面、用戶登錄界面、網(wǎng)站首頁、歌曲詳細界面、歌手詳細界面、播放列表界面、搜索界面)后臺管理員模塊(增加歌手界面、上傳歌曲界面)。6.1用戶模塊設(shè)計6.1.1用戶注冊用戶注冊界面主要是新用戶注冊信息,用戶需要填寫用戶名、密碼、手機號、確認密碼,用戶要在本網(wǎng)站下載歌曲、評論等必須先進行注冊。用戶注冊時所填的用戶名、手機號都需要驗證;當輸入的手機號存在時就不允許注冊,手機號必須為11位數(shù)。其界面如圖6.1所示圖6.1用戶注冊界面6.1.2用戶賬號密碼登錄如果用戶已經(jīng)注冊,輸入正確的手機號和密碼后,便登錄本網(wǎng)站;如果輸入為不存在用戶或者輸入錯誤密碼系統(tǒng)都會報出用戶名或密碼錯誤。賬號密碼登錄界面如圖6.2所示圖6.2賬號密碼登錄界面6.1.3用戶手機驗證碼登錄如果用戶已經(jīng)注冊,也可以使用手機接收短信驗證碼進行登錄。驗證碼登錄界面如圖6.3所示圖6.3驗證碼登錄界面其中,短信接收結(jié)果如6.4所示圖6.4驗證碼接收結(jié)果其中獲取手機驗證碼的代碼及其驗證代碼如下:6.1.4網(wǎng)站首頁用戶在登錄成功之后,進入該系統(tǒng)的主界面,在該主界面,用戶可以瀏覽到網(wǎng)站的一些推薦信息,推薦歌曲等,點擊進入可以開始聽歌。網(wǎng)站首頁如圖6.5所示圖6.5網(wǎng)站首頁界面6.1.5榜單頁面在進入榜單頁面時,可以看到各種榜單,熱歌榜、新歌榜、華語榜等各種類型的歌曲的排行榜。榜單頁面如圖6.6所示圖6.6榜單界面6.1.6歌手相關(guān)頁面在進入歌手頁面時,可以看到各個歌手的圖片,以及代表作等,還可以查看各種類型的歌手,點擊歌手圖片可以查看歌手的詳細信息,點擊歌曲可以查看歌曲的詳細信息。歌手頁面如圖6.7所示圖6.7歌手界面6.1.7歌手詳細頁面在進入歌手詳細頁面時,可以看到歌手的基本信息以及歌手的歌曲。歌手詳細界面如圖6.8所示圖6.8歌手詳細界面歌手詳細界面中的另一部分,歌手代表作界面如圖6.9所示 圖6.9歌手詳細界面代表作部分6.1.8歌曲詳細頁面在進入歌曲詳細頁面時,首先就可以看到這首歌的歌詞,右邊是歌手圖片,播放按鈕可以跳轉(zhuǎn)到播放頁面,下載按鈕可以下載這首歌,并且在下方,可以看到用戶對歌曲的評論信息,以及可以做出評論、回復(fù)評論、點贊等,最下方可以看到該歌手的TOP榜以及整個系統(tǒng)的TOP榜。歌曲詳細頁面如圖6.10所示,其中的評論相關(guān)內(nèi)容如圖6.11所示圖6.10歌曲詳細界面圖6.11歌曲詳細界面中的評論部分其中,QQ表情的使用代碼如下6.1.8播放頁面歌曲播放頁面主要顯示的是自己的歌單,并且可以對歌曲進行播放,可以選擇順序播放、隨機播放、單曲循環(huán)等模式,播放時歌詞會跟著播放進度跳動,還可以從歌單中移除自己不想要的歌曲。播放頁面如圖6.12所示圖6.12播放界面6.1.5搜索頁面在搜索頁面,可以根據(jù)自己輸入的關(guān)鍵字查出一些歌手或者歌曲,右側(cè)有一個熱搜榜單,根據(jù)搜索次數(shù)決定的排行。搜索界面如圖6.13所示圖6.13搜索界面6.2管理員模塊設(shè)計6.2.1新增歌手頁面在新增歌手頁面,管理員可以往音樂播放系統(tǒng)中增加歌手,以便于后面為該歌手增加新歌。新增歌曲界面如圖6.14所示圖6.14新增歌手界面6.2.2歌曲上傳頁面在歌曲上傳頁面,管理員可以為系統(tǒng)中的已經(jīng)存在的歌手添加新歌,包括新歌的播放文件以及歌詞文件。歌曲上傳界面如圖6.15所示圖6.15歌曲上傳界面
第七章系統(tǒng)測試7.1系統(tǒng)測試綜述測試的方案是測試階段非常關(guān)鍵的問題。本系統(tǒng)為了降低測試的成本,采用黑盒測試。即對每一個功能模塊進行測試,并不關(guān)心其內(nèi)部如何實現(xiàn),只要功能能夠正常運行,便能達到交付階段。在黑盒法測試方案中采用等價劃分技術(shù),把所有可能的輸入數(shù)據(jù)劃分成幾個等價類,其劃分類在以下的輸入中再詳述。7.2測試用例7.2.1用戶注冊測試測試編號:001功能描述:用戶注冊功能URL:http://localhost:8080/OMmusic/front/loginAndRegister.jsp用例目的:測試能否注冊前提條件:進入注冊頁面測試操作:詳情見表7-1會員注冊測試操作表表7-1用戶注冊測試操作表編號輸入/動作期望的輸出響應(yīng)實際情況是否正確錯誤編號1注冊界面輸入框輸入信息不全系統(tǒng)提示這是必填字段系統(tǒng)提示這是必填字段正確2密碼小于等于6位提示密碼不能小于6位提示密碼不能小于6位正確3兩次輸入密碼不一致提示密碼輸入不一致提示密碼輸入不一致正確4輸入的手機號不是11位提示手機號不正確提示手機號不正確正確5輸入的昵稱包含非法字符提示請輸入合法字符提示請輸入合法字符正確6使用已經(jīng)注冊的手機號進行注冊提示該手機號已經(jīng)注冊提示該手機號已經(jīng)注冊正確7.2.2用戶登錄測試測試編號:002功能描述:用戶登錄功能URL:http://localhost:8080/OMmusic/front/loginAndRegister.jsp用例目的:測試用戶能否登錄成功前提條件:進入登錄頁面測試操作:詳情見表7-2用戶登錄測試操作表7-2用戶登錄測試操作編號輸入/動作期望的輸出響應(yīng)實際情況是否正確錯誤編號1登錄界面信息輸入不全系統(tǒng)提示這是必填字段系統(tǒng)提示這是必填字段正確2使用未注冊的手機號進行登錄系統(tǒng)提示該手機號未注冊系統(tǒng)提示該手機號未注冊正確3輸入錯誤密碼提示賬號密碼錯誤提示賬號密碼錯誤正確4輸入錯誤的驗證碼驗證碼輸入錯誤驗證碼輸入錯誤正確7.2.3評論相關(guān)測試測試編號:003功能描述:用戶對歌曲進行評論相關(guān)操作功能URL:http://localhost:8080/OMmusic/front/music-detail.jsp用例目的:測試用戶能否成功評論前提條件:用戶必須登錄測試操作:詳情見表7-3用戶評論相關(guān)測試操作表7-3用戶評論相關(guān)測試操作編號輸入/動作期望的輸出響應(yīng)實際情況是否正確錯誤編號1未登錄直接查看歌曲詳情系統(tǒng)提示請先登錄系統(tǒng)提示請先登錄正確2登錄之后進行評價成功評價成功評價正確3登錄之后進行點贊點贊次數(shù)加一點贊次數(shù)加一正確4點贊之后再次進行點贊點贊次數(shù)不增加點贊次數(shù)不增加正確5對評論進行回復(fù)成功回復(fù)成功回復(fù)正確(續(xù)前表)7.2.4播放列表操作測試測試編號:004功能描述:用戶對歌單的相關(guān)操作功能URL:http://localhost:8080/OMmusic/front/play.jsp用例目的:測試能否添加到歌單和刪除歌單中歌曲前提條件:測試操作:詳情見表7-4歌單相關(guān)測試操作表7-4播放列表相關(guān)測試操作編號輸入/動作期望的輸出響應(yīng)實際情況是否正確錯誤編號1未登錄直接進入播放歌單20首歌歌單20首歌曲正確2未登錄進行添加到歌單添加成功添加成功正確3未登錄進行移除歌單歌曲移除成功移除成功正確4下次未登錄系統(tǒng)進入歌單歌單20首歌歌單20首歌正確5登錄之后進入歌單歌單為空歌單為空正確6登錄之后添加到歌單成功添加成功添加正確7下一次登錄賬號時查看歌單與上次操作歌單后的結(jié)果一樣與上次操作歌單后的結(jié)果一樣正確7.2.5搜索測試測試編號:005功能描述:搜索測試功能URL:http://localhost:8080/OMmusic/front/search .jsp用例目的:測試搜索操作前提條件:測試操作:詳情見表7-5用戶評論相關(guān)測試操作表7-5用戶評論相關(guān)測試操作編號輸入/動作期望的輸出響應(yīng)實際情況是否正確錯誤編號1進入搜索頁面進行搜索查詢出結(jié)果查詢出結(jié)果正確2進入搜索頁面進行搜索搜索次數(shù)增加,排行根據(jù)情況變動搜索次數(shù)增加,排行根據(jù)情況變動正確7.2.6歌曲詳情測試測試編號:006功能描述:歌曲詳情測試功能URL:http://localhost:8080/OMmusic/front/music-detail.jsp用例目的:測試查看歌曲詳情前提條件:測試操作:詳情見表7-6歌曲詳情相關(guān)測試操作表7-6歌曲詳情相關(guān)測試操作編號輸入/動作期望的輸出響應(yīng)實際情況是否正確錯誤編號1未登錄進入歌曲詳情頁提示請登錄提示請登錄正確2已登錄進入歌曲詳情頁顯示該歌曲的詳情顯示歌曲詳情正確7.2.7歌手詳情測試測試編號:007功能描述:歌手詳情測試功能URL:http://localhost:8080/OMmusic/front/singerInfo.jsp用例目的:測試查看歌手詳情前提條件:測試操作:詳情見表7-7歌手詳情相關(guān)測試操作表7-7歌手詳情相關(guān)測試操作編號輸入/動作期望的輸出響應(yīng)實際情況是否正確錯誤編號1未登錄進入歌手詳情頁提示請登錄提示請登錄正確2已登錄進入歌手詳情頁顯示該歌手的詳情歌手頭像未能正確顯示錯誤001
7.2.8歌曲詳情測試測試編號:008功能描述:歌曲榜單測試功能URL:http://localhost:8080/OMmusic/front/rank.jsp用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 我和我的家鄉(xiāng)觀后感集錦15篇
- 乙肝病毒的傳播與預(yù)防
- 小學(xué)學(xué)校章程建設(shè)工作方案
- 國家電網(wǎng)安全生產(chǎn)培訓(xùn)
- 康復(fù)新液聯(lián)合點陣射頻治療敏感性皮膚的臨床研究
- HDAC6激活cGAS-STING通路介導(dǎo)同型半胱氨酸誘導(dǎo)的神經(jīng)慢性炎癥
- 二零二五年度陜西石油化工行業(yè)勞動合同范本3篇
- 二零二五年度個人營養(yǎng)健康管理合同范本
- 康復(fù)護理品銷售工作總結(jié)
- 二零二五版土地整治項目土石方運輸合同范本3篇
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫附帶答案詳解
- 三年級數(shù)學(xué)(上)計算題專項練習(xí)附答案
- 中醫(yī)診療方案腎病科
- 2025年安慶港華燃氣限公司招聘工作人員14人高頻重點提升(共500題)附帶答案詳解
- 人教版(2025新版)七年級下冊數(shù)學(xué)第七章 相交線與平行線 單元測試卷(含答案)
- 玩具有害物質(zhì)風(fēng)險評估-洞察分析
- 2024年河南省公務(wù)員錄用考試《行測》真題及答案解析
- 2023年上海鐵路局集團有限公司招聘筆試真題
- GB/T 44351-2024退化林修復(fù)技術(shù)規(guī)程
- 《軟件培訓(xùn)講義》課件
評論
0/150
提交評論