基于BS的QQ聊天軟件的設(shè)計與實現(xiàn)_第1頁
基于BS的QQ聊天軟件的設(shè)計與實現(xiàn)_第2頁
基于BS的QQ聊天軟件的設(shè)計與實現(xiàn)_第3頁
基于BS的QQ聊天軟件的設(shè)計與實現(xiàn)_第4頁
基于BS的QQ聊天軟件的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

概述在網(wǎng)絡(luò)世界中,聊天室(ChatRoom)是一個最常見的服務(wù),它最早起源于BBS站點,聊天室作為一個在漫漫長夜打發(fā)消遣時間的最佳軟件,除了能夠用于聊天消遣時間以外,還擁有語音聊天、視頻聊天、共享圖片、文件等功能?,F(xiàn)在隨著網(wǎng)絡(luò)的發(fā)展,聊天室發(fā)展的速度已經(jīng)非常迅速了,現(xiàn)在的聊天室技術(shù),都已經(jīng)運用到了“網(wǎng)絡(luò)會議”上,現(xiàn)在有很多的會議在網(wǎng)上視頻聊天會議[9]。在市面上,聊天室的應(yīng)用軟件出現(xiàn)得比較早,比如說,MicrosoftChat,一個在界面及功能方面都已經(jīng)非常完善的“聊天室”的應(yīng)用軟件,它是一套獨立于瀏覽器之外的,即與瀏覽器無關(guān)的,需要下載客戶端安裝使用的套裝軟件,在使用它之前還需要先熟悉其中的操作界面,才能夠使用這個軟件,這對于新時代匆匆忙忙,并沒有太多時間去學(xué)習(xí)的網(wǎng)友來說,是一個非常不方便的缺陷。因此,開發(fā)出來一個操作簡單,方便,不需要下載客戶端安裝使用的聊天軟件已經(jīng)成為廣大網(wǎng)民的迫切需求。所以,根據(jù)網(wǎng)民的需求,越來越多的公司和網(wǎng)站開始開發(fā)基于瀏覽器的,不需要下載客戶端安裝使用,不需要熟悉界面操作的聊天室,以便造福更多的網(wǎng)友[12]。1.1研究開發(fā)背景由于電子科技的迅速發(fā)展,網(wǎng)絡(luò)時代到來,人們通訊方式也不斷的發(fā)生改變,從以前的寫信到后來的呼機,到現(xiàn)在的手機,不斷地往高科技方向發(fā)展。然而人們的聊天的方式也在發(fā)生改變,因此聊天室也隨之慢慢的發(fā)展起來了,慢慢受到人們喜愛,現(xiàn)在我們QQ中就有各種各樣的群,有的娛樂、有的技術(shù)交流、有的用來工作,總之應(yīng)用非常廣。聊天室的開發(fā)是有必要的,其發(fā)展的前景也是非常大的。聊天室現(xiàn)在用于娛樂方面還是比較少的,主要還是用于商業(yè)方面,就目前聊天室的市場結(jié)構(gòu)來看,現(xiàn)在大多數(shù)的網(wǎng)站幾乎都擁有一個完全屬于自己的聊天室,現(xiàn)在的聊天室,運作起來是非常的簡單,當(dāng)然也有非常復(fù)雜的,如像QQ和YY那種聊天的工具。在國外,現(xiàn)在就一個普通的商務(wù)網(wǎng)上或者娛樂網(wǎng)站都有屬于自己的聊天工具。聊天室的之所以這么普及主要有兩個原因:一、由于現(xiàn)在這方面的技術(shù)已經(jīng)是相當(dāng)?shù)某墒?,開發(fā)這種軟件的成本高;二、聊天這種軟件不管是運作起來還使用起來都是比較方便的。所有很受人們的歡迎,現(xiàn)在都有很多專門做這種軟件的公司了。在我國,聊天室市場集中度還不是很高,其中只有一些大型的商業(yè)網(wǎng)站或者一些專門娛樂性的網(wǎng)站才有,所有在我國的市場還是相當(dāng)?shù)拇蟆T谖覈?,由于現(xiàn)在的電腦的價格非常的便宜,人們的生活水平的提高,對網(wǎng)絡(luò)的需要越來越大,除了在網(wǎng)上玩游戲、談生意、購物、查閱資料以外,還有就是用于聊天娛樂,當(dāng)我們身處在一個群體當(dāng)中的時候,不管是在工作還是在學(xué)習(xí)中也好,我們都會建立起一個屬于自己的聊天室,它的聊天功能是聊天室中運用最廣的功能,這是網(wǎng)上最受歡迎和最普通以中聊天方式。聊天具有應(yīng)用廣泛、開發(fā)簡單、操作方便、功能齊全、信息傳遞、簡單快捷等的特獨有性,因為它是用文字來傳播信息,所有用于聊天時候的信息交流比較方便,相當(dāng)于人與人面對面的交流,受到大多數(shù)人喜歡,因此有很多人喜歡在聊天室中聊天,還沒面對面那種羞澀[2]。1.2選題的意義現(xiàn)在的通訊系統(tǒng),除了我們生活中用于正常交流和聯(lián)系以外,在現(xiàn)在的商業(yè)中也慢慢的興起,運用到網(wǎng)上交易中,聊天室為客戶與客戶之間的溝通提供了一個有效交流平臺,使得與客戶之間的聊天沒有時間和空間的距離感。在時間上,這邊發(fā)一條信息到另外一邊所用的時間只需要不到1秒的時間,幾乎是立即得到響應(yīng),比發(fā)送一份郵件的信息傳遞速度快了幾百倍,非常的節(jié)省時間;在經(jīng)濟上,我們打電話是按時間分鐘來計費的,如果是長途電話的話更貴,而我們的聊天室是通過互聯(lián)網(wǎng)來接通的,價格十分便宜。當(dāng)然我們不能否定郵件和電話,在用于不同的地方,它們又比聊天室好。基于B/S的聊天室是瀏覽器/服務(wù)的,與基于C/S架構(gòu)的騰訊QQ等聊天軟件相比起來,這種B/S[7]架構(gòu)的聊天室,是不需要下載安裝,直接是在瀏覽器上運行。因此,對于一個公司和企業(yè)來說,開發(fā)一個用于網(wǎng)站、娛樂或者論壇來交流的聊天室,其中包括群聊和私聊,成為了現(xiàn)在眾多公司或集體的重要需求[14]。這次開發(fā)的基于B/S架構(gòu)的聊天室,是用現(xiàn)在流行JAVA[1]語言來開發(fā)的,用MyEclipse8.5作為開發(fā)平臺,因為MyEclipse8.5開發(fā)B/S[6]架構(gòu)運行在瀏覽器上的系統(tǒng)比較方便,并且用到的數(shù)據(jù)庫是當(dāng)前非常受歡迎的MySQL數(shù)據(jù),作為后臺數(shù)據(jù)庫存儲一些信息,建立一些表格?,F(xiàn)在的隨著WEB技術(shù)不斷加強,B/S架構(gòu)的設(shè)計模式開始流行起來,因為B/S架構(gòu)的是網(wǎng)頁版的,作為客戶端只需要在瀏覽器上操作,沒有下載安裝客戶端的說法。B/S模式將實現(xiàn)系統(tǒng)核心功能的代碼全部都放著到服務(wù)器上,只有該系統(tǒng)的服務(wù)器夠強大就可以無限的運行,如果客戶端崩潰,也只是在瀏覽器上而已,只需要重新打開一個頁面就可以了,從某種一定程度上,這個系統(tǒng)只需要開發(fā)一個強大的服務(wù)器,從而簡化了系統(tǒng)的開發(fā)和維護?;贐/S架構(gòu)的聊天室系統(tǒng),與那些C/S[8]模式聊天室相比較,最大的優(yōu)點:只要你有瀏覽器,就可以隨時隨地進行聊天,而不需要下載安裝客戶端,從而實現(xiàn)了客戶端零安裝、零維護的需求,提高了其中的效率[6]。1.3國內(nèi)外研究現(xiàn)狀隨著互聯(lián)網(wǎng)的發(fā)展以及普及,網(wǎng)絡(luò)聊天軟件逐漸成為網(wǎng)絡(luò)用戶必備的聯(lián)絡(luò)工具,它為廣大網(wǎng)民提供了一種方便快捷的溝通方式,而網(wǎng)絡(luò)聊天室作為出現(xiàn)最早,也是操作簡單的網(wǎng)上聊天方式,受到了眾多網(wǎng)民的追捧。在國內(nèi),1999年2月,深圳騰訊公司正式發(fā)布OICQ99betabuild0210,開通騰訊網(wǎng)絡(luò)聊天服務(wù)。2000年5月,騰訊QQ在線人數(shù)已經(jīng)突破10萬。2001年2月l0日,騰訊QQ在線人數(shù)已經(jīng)突破100萬。2004年4月份,騰訊QQ在線人數(shù)的最高記錄已經(jīng)突破了600萬,現(xiàn)在騰訊公司正在把網(wǎng)絡(luò)聊天系統(tǒng)往移動聊天方向擴展,如今已經(jīng)將網(wǎng)絡(luò)聊天與手機短信息(SMS)成功結(jié)合起來。如今網(wǎng)絡(luò)聊天軟件涉及和影響的范圍越來越廣,其競爭也越來越激烈。在國外,MSN——借助和Windows操作系統(tǒng)的綁定似乎已是使用最廣泛的聊天軟件。使用MSN,可以通過文本、語音、視頻與朋友、親人聊天,還可以與朋友、親人傳輸文件,共享圖片等。但是,這些聊天軟件都是基于C/S架構(gòu)的,都需要通過下載客戶端進行安裝使用,在更新方面也需要下載更新,而且用戶名、密碼和聊天記錄等都是存在本地機器上的,在安全性和方便性方面都有所欠缺。Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨互聯(lián)網(wǎng)技術(shù)伴生的,是對C/S架構(gòu)的進行改進的一種結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶不需要通過下載客戶端安裝使用和更新,只需要有瀏覽器就可以實現(xiàn),而且可以隨時隨地地使用,不會受到時間與地域的影響。與C/S相比,B/S的優(yōu)勢是B/S是建立在廣域網(wǎng)之上的,一般情況下只要有操作系統(tǒng)和瀏覽器就可以了,不需要有專門的網(wǎng)絡(luò)硬件環(huán)境,而C/S則是建立在專用網(wǎng)絡(luò)上的,必須是小范圍網(wǎng)絡(luò)環(huán)境,所以,B/S架構(gòu)的聊天室開發(fā)起來比C/S架構(gòu)的要簡單,容易。而且B/S架構(gòu)的聊天室實現(xiàn)了系統(tǒng)的無縫升級,系統(tǒng)維護開銷小。最主要的是B/S架構(gòu)的聊天室是基于瀏覽器的,與操作平臺無關(guān),所以不需要考慮兼容性問題[6]。1.4本文組織結(jié)構(gòu)本文圍繞著開發(fā)一個基于B/S的QQ聊天軟件,描述了完成開發(fā)這個系統(tǒng)的主要流程,本文分為以下幾部分:介紹的是基于B/S的QQ聊天軟件的研發(fā)背景、選題意義和國內(nèi)外現(xiàn)狀;介紹的是QQ聊天軟件要使用的開發(fā)環(huán)境、開發(fā)工具以及要使用到的技術(shù);介紹的是QQ聊天軟件的需求分析;介紹的是系統(tǒng)的設(shè)計與及系統(tǒng)需要有的功能模塊;介紹的是數(shù)據(jù)庫的設(shè)計與創(chuàng)建;介紹的是系統(tǒng)的詳細設(shè)計與實現(xiàn);主要是對本系統(tǒng)進行測試,證明系統(tǒng)的可行性。2開發(fā)工具及技術(shù)介紹2.1開發(fā)環(huán)境系統(tǒng)名:基于B/S的QQ聊天軟件的設(shè)計與實現(xiàn)操作系統(tǒng):windows732位硬件支持:CPU英特爾Corei5-480M(雙核)內(nèi)存6GB顯卡ATI/AMDRadeonHD64x0M/74x0M2.2系統(tǒng)開發(fā)工具開發(fā)工具:MyEclipse8.5服務(wù)器:apache-tomcat-6.0.28數(shù)據(jù)庫:MySQL2.3B/S結(jié)構(gòu)的簡介在傳統(tǒng)的兩層的C/S結(jié)構(gòu)中,隨著技術(shù)慢慢的發(fā)展出現(xiàn)了它的局限性,C/S結(jié)構(gòu)模式比較適合于那種系統(tǒng)規(guī)模比較小、用戶也比較少、而且數(shù)據(jù)庫還是單一的情況下,并且運行的網(wǎng)絡(luò)環(huán)境必須是安全的和快速(例如局域網(wǎng))。由于網(wǎng)絡(luò)技術(shù)的發(fā)展之快,所運行的應(yīng)用系統(tǒng)的規(guī)模在慢慢的擴大,其中的復(fù)雜性越來越高,在現(xiàn)在多用戶、多數(shù)據(jù)庫、多接口的系統(tǒng)中,并且網(wǎng)絡(luò)環(huán)境下也是非安全的(例如:Internet)的網(wǎng)絡(luò)環(huán)境中,傳統(tǒng)的兩層C/S結(jié)構(gòu)的應(yīng)用模型無法滿足現(xiàn)狀,跟不上時代步伐,而且這種模式是單一的服務(wù)器,主要以局域網(wǎng)為中心的,因此想要把傳統(tǒng)的模式擴展至大型企業(yè)的廣域網(wǎng)或強大的Intranet中是不可能的,因此B/S體系結(jié)構(gòu)三層客戶/服務(wù)器模式隨之興起,成為當(dāng)今最受歡迎的一種體系結(jié)構(gòu)[8]。三層客戶/服務(wù)器模式是稱之為B/S體系結(jié)構(gòu),是在以前傳統(tǒng)兩層的C/S結(jié)構(gòu)模式的集成上,增加了一級成為了現(xiàn)在流行的三層客戶/服務(wù)器模式。B/S體系結(jié)構(gòu)在邏輯上將應(yīng)用功能分為3層,分別是顯示層、業(yè)務(wù)層、數(shù)據(jù)層??蛻麸@示層是服務(wù)有客戶端的,為客戶的圖形界面功能提供相對應(yīng)的應(yīng)用服務(wù)的,從而幫助客戶迅速快捷的定位于應(yīng)用服務(wù)。業(yè)務(wù)邏輯層是在顯示層和數(shù)據(jù)層之間,是為企業(yè)實現(xiàn)該企業(yè)的業(yè)務(wù)邏輯提,專門的設(shè)計供的一個明確有效的層次,具有一定的邏輯性,在這個層次中,封裝了與系統(tǒng)相關(guān)聯(lián)的應(yīng)用模型,同時把顯示層和數(shù)據(jù)庫代碼部分的數(shù)據(jù)層區(qū)分開來數(shù)據(jù)層是三層模式中最底層的結(jié)構(gòu),這個層的主要目的是用來定義、維護、訪問和更新數(shù)據(jù),簡單的說,就是管理數(shù)據(jù)庫的,同時管理和滿足應(yīng)用服務(wù)對數(shù)據(jù)庫發(fā)送的一系列請求,維護數(shù)據(jù)庫得管理。這種三層體系結(jié)構(gòu)關(guān)系如圖1所示:顯示層顯示層業(yè)務(wù)層數(shù)據(jù)層圖1B/S三層架構(gòu)示意圖2.4MySQL簡介MySQL數(shù)據(jù)庫是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng),這個數(shù)據(jù)庫相對其他那些數(shù)據(jù)庫來說,是非常小的。MySQL數(shù)據(jù)庫很容易安裝,它是在DOC命令的窗口運行的,但是它是具有強大的數(shù)據(jù)開發(fā)和維護功能、源代碼開發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),還有就是這個數(shù)據(jù)庫管理系統(tǒng)具有非常強靈活性和豐富的應(yīng)用編程接口以及精巧的系統(tǒng)結(jié)構(gòu)性。同時運用起來不占什么內(nèi)存,還有他它快速,健壯和易用的特性,同時所用到經(jīng)濟成本也是非常的地,所以現(xiàn)在那些小型的企業(yè)的數(shù)據(jù)庫基本上都采用這種數(shù)據(jù)庫管理系統(tǒng),其中的主要原因上面以及介紹了。所以在現(xiàn)在的那些小型的項目中,基本都會選擇這種數(shù)據(jù)。SQL是一種標準化的語言,它不僅在MySQL數(shù)據(jù)庫能運行還能在SQLServer中運行,所以MySQL數(shù)據(jù)庫的SQL語言是可以在其他數(shù)據(jù)中使用。同時MySQL還能夠足夠快和靈活存儲記錄文件和圖像等屬性,可見這個數(shù)據(jù)庫得功能之強大[11]。MySQL數(shù)據(jù)庫軟件有幾個版本,分別是標準版、企業(yè)版和集群版3個版本。MySQL數(shù)據(jù)庫的主要特點是體積小、速度快和成本低3個特點,其中在成本低MySQL數(shù)據(jù)庫優(yōu)勢下,它的局限性已經(jīng)不是什么問題了,而且它能滿足現(xiàn)在的那些中小型的系統(tǒng)或者網(wǎng)站,所以,使得一般中小型網(wǎng)站的開發(fā)都會選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。同時MySQL數(shù)據(jù)庫相比其他的數(shù)據(jù)而言,在相同的運行環(huán)境中,可能維護起來會比較的容易些,所以在數(shù)據(jù)維護方面的,所需要的人力和財力會減少很多,減少了企業(yè)的開支[16]。3系統(tǒng)需求分析3.1綜合需求通過調(diào)查可以得知,在本系統(tǒng)中,用戶的類型有兩種:普通用戶和管理員。普通用戶可以通過注冊用戶名,進入聊天系統(tǒng),在聊天室中可以給所有人發(fā)送群聊信息,也可以和聊天室中的某個在線用戶進行私聊。管理員在注冊成為普通用戶以后也可以進入前臺的聊天頁面,跟普通用戶一樣,進行聊天。管理員除了具有普通用戶的功能外,還可以通過管理員的身份進入后臺管理系統(tǒng),對系統(tǒng)進行管理和維護。聊天室的最大特點就是能夠?qū)α奶靸?nèi)容進行實時刷新,能夠?qū)崟r顯示聊天內(nèi)容。即在同一個聊天室的使用者,可以在短時間內(nèi)立刻看到其他聊天者的發(fā)言,并且能夠通過實時刷新看到在線人數(shù)列表。本系統(tǒng)有普通用戶和管理員兩個角色。在系統(tǒng)中,普通用戶實現(xiàn)的功能有用戶注冊、用戶登錄、找回密碼、進入聊天室聊天、試聽音樂等功能。聊天時,用戶可以設(shè)置字體的大小、顏色等,實時顯示聊天信息,并且實時顯示在線聊天的人員列表,好友狀態(tài),用戶還可以手動更換背景顏色。同時,系統(tǒng)還有支持用戶在線播放音樂的功能。管理員除了可以以普通用戶的身份實現(xiàn)普通用戶的功能以外,還可以以管理員的身份實現(xiàn)管理員的功能。管理員實現(xiàn)的功能有剔除普通用戶、過濾非法聊天內(nèi)容、用戶資料管理、在線用戶管理、導(dǎo)出聊天記錄、上傳音樂文件等功能。本系統(tǒng)旨在實現(xiàn)在線實時聊天功能,為用戶提供方便快捷的交流方式,這在具體體現(xiàn),將會在系統(tǒng)實現(xiàn)中體現(xiàn)和擴展。3.2系統(tǒng)可行性分析可行性分析是根據(jù)初步的調(diào)查結(jié)果,對系統(tǒng)開發(fā)做出可行與否的結(jié)論的過程??尚行苑治鰪募夹g(shù)可行性、經(jīng)濟可行性、管理可行性三方面進行分析,論證該系統(tǒng)是否可行。3.2.1技術(shù)及開發(fā)方法可行性本系統(tǒng)的開發(fā)采用Java[3]語言和JSP[10]相關(guān)技術(shù),JSP具有一處編譯,到處運行的特性,而Java語言是面向?qū)ο蟮恼Z言,它具有與平臺無關(guān)的特性,所以系統(tǒng)能夠跨平臺使用,可運行于Linux/Unix和Windows系列等各種操作系統(tǒng)平臺。3.2.2管理可行性使用模塊化的設(shè)計方法,有助于系統(tǒng)開發(fā)過程的管理,因為模塊化的設(shè)計方法就是科學(xué)合理的將整個程序劃分為N個功能模塊,各個功能模塊單獨設(shè)計,互不影響。這種設(shè)計方法有助于降低整個程序的設(shè)計難度及減少錯誤程序的影響范圍,也使得各個功能模塊容易實現(xiàn),而且整個程序修改容易,不會因為其中一個功能模塊出現(xiàn)錯誤而影響整個系統(tǒng)。3.2.3經(jīng)濟可行性經(jīng)過詳細周密的調(diào)查,借鑒成功的開發(fā)案例,采用科學(xué)有效的開發(fā)方式,可以降低開發(fā)的成本,達到經(jīng)濟高效的目的。本系統(tǒng)在開發(fā)方面主要使用了MyEclipse8.5、apache-tomcat-6.0.28、MySQL等軟件,而這些軟件在網(wǎng)上均可以免費下載,因此,在開發(fā)成本方面可以說是非常低,所以,該系統(tǒng)在經(jīng)濟方面可行。3.3功能需求經(jīng)過詳細的調(diào)查,首先可以確定的是系統(tǒng)需要有“普通用戶”和“管理員”這兩個角色。3.3.1用例分析管理員主要負責(zé)對系統(tǒng)中用戶進行管理和維護,普通用戶主要負責(zé)對聊天界面進行設(shè)置以及進行聊天和聊天的設(shè)置,以上兩個實體的主要功能如下圖所示:表1基本用例實體功能普通用戶注冊、登錄聊天、設(shè)置字體的大小,顏色、設(shè)置背景顏色、試聽音樂管理員登錄、管理在線用戶、管理聊天記錄、管理音樂文件根據(jù)分析,系統(tǒng)中的兩個實體,“普通用戶”和“管理員”的用例圖如下圖所示:圖2系統(tǒng)用例圖3.3.2場景分析(1)用戶注冊場景用戶輸入注冊要填寫的內(nèi)容后,點擊注冊進行驗證,如果驗證合法,則會對后臺數(shù)據(jù)庫做數(shù)據(jù)的插入操作,插入成功后,即注冊成功,跳轉(zhuǎn)到登錄頁面,否則繼續(xù)停留在注冊頁面。用戶注冊的順序圖如圖3所示:圖3用戶注冊順序圖(2)用戶登錄場景用戶輸入用戶名和密碼后,后臺數(shù)據(jù)對用戶輸入的數(shù)據(jù)進行驗證判斷,如果后臺數(shù)據(jù)庫存在該用戶,且密碼正確,則跳轉(zhuǎn)到聊天頁面,否則登錄失敗,繼續(xù)停留在登錄頁面。用戶登錄的順序圖如圖4所示:圖4用戶登錄順序圖4系統(tǒng)設(shè)計4.1系統(tǒng)總體設(shè)計根據(jù)以上聊天系統(tǒng)的需求分析,本聊天系統(tǒng)可將模塊分為普通用戶登陸的前臺聊天子系統(tǒng)模塊和后臺管理員管理子系統(tǒng)模塊。其中普通用戶模塊包括登錄模塊、聊天模塊、退出模塊,聊天模塊又包含各種聊天相關(guān)功能的子功能模塊和在線歌曲試聽的子功能模塊,管理員模塊包括登錄模塊、管理模塊、退出模塊,其中管理模塊又包括管理系統(tǒng)用戶的各個功能子模塊和管理歌曲的各個功能子模塊。普通用戶和管理員的退出聊天室模塊機制是類似。系統(tǒng)總體模塊框架劃分如圖5所示:普通用戶普通用戶注冊登錄聊天背景設(shè)置音樂試聽字體設(shè)置管理員過濾字段管理在線用戶管理用戶資料管理聊天記錄管理歌曲管理圖5系統(tǒng)總體模塊架構(gòu)4.2系統(tǒng)功能模塊本系統(tǒng)在J2EE[4]平臺下使用B/S架構(gòu)進行設(shè)計,MySQL作為后臺數(shù)據(jù)庫,實現(xiàn)管理員對聊天室的管理、用戶登陸聊天室聊天等功能的管理和實現(xiàn),包括前臺模塊和后臺管理模塊。本聊天室系統(tǒng)使用MyEclipse軟件開發(fā),以Struts2[5]框架作為主要的技術(shù)框架,以JSP技術(shù)編寫頁面。作為一個只需要WEB[2]瀏覽器,不需要下載客戶端就能實現(xiàn)的聊天室,雖然不需要客戶端的存在,但是在前臺依然必須要具備基本的用戶注冊、登陸功能。4.2.1前臺頁面的模塊在前臺模塊中,用戶只有通過注冊賬號后,擁有了賬號才能登陸,在登錄模塊中用戶輸入了注冊好的賬號與密碼,通過驗證后,進入到聊天模塊,在聊天模塊中,可以進行字體大小、顏色的設(shè)置,可以改變頁面的背景顏色,可以發(fā)送表情,除了這些以外,還有音樂試聽模塊。前臺頁面的模塊又可以分為登陸模塊和聊天模塊。登陸模塊其中包括了用戶注冊賬號,合法注冊用戶登陸賬號,找回密碼,資料修改等等。(1)用戶注冊模塊用戶將個人信息填寫完整,點擊注冊進行驗證,如果驗證合法,對數(shù)據(jù)庫做插入操作,插入成功,則完成注冊,完成注冊后頁面跳轉(zhuǎn)到登陸頁面,如果驗證沒有通過,則繼續(xù)停留在注冊頁面。(2)登陸賬號模塊當(dāng)用戶輸入用戶名和密碼后,點擊登錄對輸入的信息進行驗證,即查看數(shù)據(jù)庫是否存在該用戶,若存在,則對密碼進行核對,若密碼正確,則登陸到聊天界面,否則停留在登錄界面。(3)找回密碼模塊當(dāng)用戶忘記密碼時,通過注冊時填寫的問題以及問題的答案找回密碼。點擊找回密碼,跳到下一步頁面,輸入要找回密碼的用戶的用戶名,點擊下一步,根據(jù)輸入的用戶名,查找到用戶注冊時輸入的密碼提示問題,并填入密碼提示問題的答案,點擊下一步,進行驗證,若輸入答案錯誤,則跳到登錄頁面,若答案正確,則跳到下一步的頁面,輸入新密碼,點擊下一步,完成密碼修改,跳到登錄頁面。聊天界面則包括一個用戶與另一個用戶之間的私聊,一個用戶與多用戶之間的群聊,設(shè)置修改字體、字號、顏色、變換背景色、音樂試聽等功能。聊天室的前臺功能模塊劃分圖如圖6所示:4.2.2后臺頁面的功能模塊在后臺頁面模塊中,管理員通過用戶名與密碼登錄到后臺管理頁面,在后臺管理模塊中,又可以分為在線用戶管理模塊、用戶資料管理模塊、過濾字段管理模塊、聊天記錄管理模塊、音樂管理模塊等幾個模塊。(1)用戶資料管理對每一個已經(jīng)注冊了的用戶注冊時填寫的資料進行增刪改查的管理。(2)在線用戶管理通過查詢數(shù)據(jù)庫,統(tǒng)計在線人數(shù)并在界面顯示出來,并且對一些非法用戶可以實行踢除處理。(3)過濾字段管理設(shè)置需要過濾的內(nèi)容,即設(shè)置在用戶聊天時不能發(fā)送的非法內(nèi)容,插入到數(shù)據(jù)庫中,經(jīng)由數(shù)據(jù)庫篩選非法聊天內(nèi)容并自動屏蔽優(yōu)化聊天室。(4)聊天記錄管理通過查詢數(shù)據(jù)庫中的聊天記錄表,將聊天記錄顯示到界面上,需要導(dǎo)出聊天記錄時,導(dǎo)出聊天記錄,方便備份聊天記錄。(6)音樂管理上傳音樂文件,即在數(shù)據(jù)庫中對音樂表進行插入數(shù)據(jù)操作,查詢數(shù)據(jù)庫中的音樂文件,并顯示到界面,還能刪除上傳了的音樂文件。后臺頁面的模塊劃分圖如圖7所示:前臺頁面前臺頁面用戶注冊用戶登錄找回密碼聊天室聊天功能設(shè)置音樂試聽群聊私聊字體字號字體顏色背景顏色聊天表情管理員登錄后臺管理在線用戶管理用戶資料管理聊天記錄管理音樂管理過濾字段管理圖6前臺頁面模塊劃分圖圖7后臺頁面模塊劃分圖4.2.3系統(tǒng)流程圖經(jīng)過以上的需求分析和初步的設(shè)計,可以初步確定本系統(tǒng)有兩個角色,分別是普通用戶和管理員,前面已經(jīng)對本系統(tǒng)進行了初步的設(shè)計,初步確定了本系統(tǒng)的功能模塊,為了更方便、更清晰地展現(xiàn)本系統(tǒng)的功能,下面畫出了不同使用者不同權(quán)限的流程圖。普通用戶具有注冊登錄、音樂試聽、聊天、設(shè)置背景顏色、退出權(quán)限,其中聊天功能中包括群聊、私聊、設(shè)置字體字號和顏色、發(fā)送表情等權(quán)限。普通用戶的系統(tǒng)流程圖如圖8所示:管理員若以普通用戶的身份,則具有普通用戶的所有權(quán)限,若是以管理員的身份登錄,則具有登錄、用戶資料管理、過濾字段管理、在線用戶管理、聊天記錄管理、音樂管理等權(quán)限。管理員的系統(tǒng)流程圖如圖9所示:普通用戶普通用戶用戶注冊注冊成功登錄聊天室登錄成功背景顏色聊天試聽音樂字體設(shè)置字體設(shè)置字體設(shè)置字體設(shè)置登錄失敗管理員登錄后臺管理在線用戶管理在線用戶管理在線用戶管理在線用戶管理在線用戶管理登錄成功圖8普通用戶系統(tǒng)流程圖圖9管理員系統(tǒng)流程圖5數(shù)據(jù)庫設(shè)計5.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計經(jīng)過分析,得出本系統(tǒng)有普通用戶和管理員兩個角色,本系統(tǒng)還有過濾字段、管理聊天記錄、音樂試聽等功能,因此,本系統(tǒng)的實體有用戶、過濾條件、聊天記錄、音樂,這些實體的實體屬性圖如下列圖所示:用戶用戶用戶編號用戶名密碼用戶類型密碼提示問題提示答案是否在線圖10用戶實體屬性圖過濾條件過濾條件過濾編號過濾字段圖11過濾條件實體屬性圖聊天記錄聊天記錄記錄編號發(fā)送人發(fā)送時間發(fā)送內(nèi)容接收人圖12聊天記錄實體屬性圖歌曲信息歌曲信息音樂編號歌曲名字歌手姓名歌曲路徑圖13歌曲實體屬性圖經(jīng)過系統(tǒng)功能的初步確定和數(shù)據(jù)庫中實體的初步確定,得到了聊天的E-R圖如下圖所示:用戶用戶用戶名密碼聊天用戶用戶名密碼聊天編號發(fā)送人發(fā)送內(nèi)容接收人發(fā)送時間NM圖14聊天E-R圖5.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計聊天室作為網(wǎng)絡(luò)服務(wù)的一個重要應(yīng)用,它的數(shù)據(jù)庫在整個系統(tǒng)中占據(jù)著極其重要的作用,其數(shù)據(jù)庫在網(wǎng)站建設(shè)和網(wǎng)絡(luò)營銷中發(fā)揮著非常重要的作用。普通的靜態(tài)網(wǎng)站是沒有數(shù)據(jù)庫的,而具有數(shù)據(jù)庫的網(wǎng)站網(wǎng)頁我們通常稱為動態(tài)頁面,也就是說擁有數(shù)據(jù)庫的網(wǎng)站頁面的內(nèi)容不是一成不變的,頁面上內(nèi)容或部分內(nèi)容是可以根據(jù)數(shù)據(jù)庫中數(shù)據(jù)的變化而改變的,是動態(tài)生成的,這就使得動態(tài)網(wǎng)站內(nèi)容更靈活,維護更方便,更新更便捷。本系統(tǒng)采所需要的數(shù)據(jù)庫結(jié)構(gòu)如圖15所示。圖15聊天室關(guān)系圖5.3數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的設(shè)計一般情況下是以一個已經(jīng)開發(fā)出來的數(shù)據(jù)庫管理系統(tǒng)為基礎(chǔ)進行設(shè)計的,我們平常開發(fā)中比較常用的數(shù)據(jù)庫管理系統(tǒng)有MySQL、SQLServer[15]、Oracle等。在本系統(tǒng)開發(fā)中,由于MySQL是一個開源的、快速的、多用戶的SQL數(shù)據(jù)庫服務(wù)器,而且MySQL能在不同的平臺上工作,所以我采用了MySql數(shù)據(jù)庫管理系統(tǒng)作為基礎(chǔ)進行數(shù)據(jù)庫設(shè)計,建立的數(shù)據(jù)庫名為chatsys的數(shù)據(jù)庫。根據(jù)QQ聊天軟件的需求,對應(yīng)的數(shù)據(jù)庫表的設(shè)計及其功能如下:用戶信息表:存放用戶注冊時填寫的用戶信息,如存放用戶名、密碼密碼提示問題、密碼提示問題答案等內(nèi)容;歌曲信息表:存放歌曲的信息,如歌曲名、歌曲歌手等;聊天記錄信息表:存放用戶在聊天過程中產(chǎn)生的聊天信息;過濾條件信息表:存放要過濾的字段,即存放用于過濾聊天信息的條件,用于屏蔽非法聊天信息;用戶信息表如下表所示:表2用戶表(user)列名注釋類型是否為主鍵長度是否為空u_id用戶IDInt是--否name用戶名Varchar否40否pwd密碼Varchar否40是type用戶類型Int否4是isuse在線狀態(tài)Tinyint否4是ask密碼找回問題Text否--是ans密碼找回答案Text否--是過濾條件信息表如下表所示:表3過濾條件表(cont)列名注釋類型是否為主鍵長度是否為空c_id過濾IDInt是--否name過濾字段Varchar否1000是聊天記錄信息表如下表所示:表4聊天表(record)列名注釋類型是否為主鍵長度是否為空r_id聊天記錄IDInt是--否name聊天內(nèi)容Varchar否1000是歌曲信息表如下表所示:表5歌曲表(music)列名注釋類型是否為主鍵長度是否為空m_id歌曲IDInt是--否name歌曲名Varchar否100是singer歌手名字Varchar否100是fujian存儲路徑Varchar否100是6系統(tǒng)詳細設(shè)計與實現(xiàn)6.1用戶注冊想要聊天室進行聊天,就必須要擁有一個用于登錄的賬號,如果沒有,就必須注冊一個賬號,否則無法進入聊天室。注冊時,在注冊頁面輸入要填寫的信息,點擊注冊,會對輸入的數(shù)據(jù)進行驗證,驗證通過了,會在數(shù)據(jù)庫中插入該用戶輸入的信息,并將用戶名存到session中。注冊成功以后,頁面會自動跳轉(zhuǎn)到登錄頁面,并且通過session取到注冊時用戶輸入的用戶名,并將用戶名顯示到登錄頁面登錄時要輸入的用戶名欄。用戶注冊的流程圖如圖16所示:注冊的核心代碼如下所示:publicStringexecute(){ if(user!=null&&!user.getName().equals("")&&user.getName()!=null&&user.getPwd()!=null&&!user.getPwd().equals("")){ userService.add(user); } returnSUCCESS; }6.2用戶登陸在登錄界面中,需要輸入正確的用戶名和密碼才能夠登錄。在登錄頁面有兩種不同角色的登錄,一種是普通用戶登錄,一種是管理員登錄。普通用戶登錄時,在登錄頁面輸入普通用戶用戶名和密碼,單擊“登錄”按鈕,系統(tǒng)將會對用戶輸入的用戶名和密碼進行驗證,通過查詢數(shù)據(jù)庫,判斷輸入的賬號是否存在,若不存在,則繼續(xù)停留在登錄頁面,若存在,繼續(xù)判斷密碼是否正確,若正確,則進入聊天室界面,同時系統(tǒng)將會通過查詢數(shù)據(jù)庫查找到該用戶的isuse字段,將字段的值改成1(1代表在線狀態(tài),0代表離線狀態(tài))。當(dāng)用戶離開聊天室時,系統(tǒng)會自動將該用戶表user中的isuse字段改成0。管理員登錄與普通用戶登錄差不多,不過管理員登錄后,會跳轉(zhuǎn)到后臺管理頁面。用戶登錄流程圖如圖17所示:開始輸入注冊信息開始輸入注冊信息驗證信息后臺數(shù)據(jù)庫插入信息跳轉(zhuǎn)頁面完成成功失敗開始輸入用戶名和密碼驗證信息跳轉(zhuǎn)頁面完成成功失敗圖16用戶注冊流程圖圖17用戶登陸流程圖核心代碼如下所示:publicStringexecute(){ if(userService.login(user)!=null){ user=userService.login(user); HttpSessionsession=ServletActionContext.getRequest() .getSession(); List<User>ulist=userService.findIsOnline(); session.getServletContext().setAttribute("ulist",ulist); if(user.isType()){ List<Cont>cont=contService.select(); ServletActionContext.getRequest().getSession().setAttribute("contlist",cont); return"admin"; } user.setIsuse(User.ON_LINE); userService.update(user); session.setAttribute("user",user); List<Record>talking=(List<Record>)session.getServletContext().getAttribute("talking"); if(talking==null){ talking=recordService.getList(); } Recordcoming=newRecord(); coming.setUser(user); coming.setCont(user.getName()+"進入了聊天室!"); talking.add(coming); session.getServletContext().setAttribute("talking",talking); returnSUCCESS; }; returnERROR; }開始開始輸入用戶名驗證信息輸入密碼提示問題的答案驗證信息跳轉(zhuǎn)到登錄頁面輸入新密碼完成存在正確不存在錯誤6.3找回密碼用戶忘記密碼時,可以單擊“找回密碼”,跳到下一個頁面,輸入要找回密碼的用戶的用戶名,點擊下一步,系統(tǒng)會通過輸入的用戶名查詢該用戶名是否存在,若不存在,則跳到登錄頁面,若存在,根據(jù)該用戶名找到該用戶在注冊時填寫的密碼提示問題,填入密碼提示問題的答案,點擊下一步,系統(tǒng)會通過查詢數(shù)據(jù)庫驗證輸入的密碼提示問題答案是否正確,如果答案正確,則跳到下一個頁面,輸入新的密碼進行密碼修改,點擊下一步修改密碼成功,跳轉(zhuǎn)到登錄頁面;如果輸入的密碼提示問題的答案錯誤,則跳轉(zhuǎn)到登錄頁面。找回密碼的流程圖如圖18所示:圖18找回密碼的流程圖核心代碼如下所示:publicStringexecute(){ Userolduser=userService.findByName(user); if(olduser!=null){ user=olduser; user.setAns(""); returnSUCCESS; } returnERROR; }6.4聊天室用戶登錄后進入聊天室頁面,聊天室頁面的功能有群聊私聊、試聽在線音樂、設(shè)置背景顏色。用戶在輸入聊天信息時,能夠?qū)斎氲淖煮w進行設(shè)置,設(shè)置字體的大小、顏色等,還能發(fā)送表情,同時可在聊天頁面手動更改頁面的背景顏色。用戶在發(fā)送信息時,系統(tǒng)會通過查詢數(shù)據(jù)庫,檢查發(fā)送的內(nèi)容是否為非法的內(nèi)容,若為非法內(nèi)容,系統(tǒng)將會自動將聊天的內(nèi)容屏蔽,并在聊天頁面顯示提示警告內(nèi)容,若不是非法內(nèi)容,系統(tǒng)會將聊天的內(nèi)容顯示在界面。在聊天界面中,系統(tǒng)能夠進行實時刷新,顯示用戶聊天發(fā)送的內(nèi)容,同時能夠?qū)崟r顯示在線用戶,并形成一個在線用戶列表顯示在界面中。除此之外,在聊天界面中,還有一個退出功能,點擊退出,將會退出聊天系統(tǒng),跳到登錄頁面,同時將數(shù)據(jù)庫中的user表中的isuse字段該成0(0代表用戶處于離線狀態(tài),1代表用戶處于在線狀態(tài))。普通用戶聊天室頁面的運行效果如圖19所示:圖19普通用戶聊天頁面點擊在線音樂,將會彈出在線歌曲列表,點擊試聽,能播放在線歌曲。在后臺有一個歌曲管理,能夠上傳本地的歌曲,通過查詢數(shù)據(jù)庫實時刷新,并在界面中將歌曲列表中顯示出來,還能通過后臺刪除在線的歌曲。在線歌曲頁面如圖20所示:圖20音樂試聽核心代碼如下所示:publicStringexecute(){ if(record!=null){ HttpSessionsession=ServletActionContext.getRequest() .getSession(); List<Record>talking=(List<Record>)session .getServletContext().getAttribute("talking"); Usercauser=(User)session.getAttribute("user"); if(userService.findById(causer).isIsuse()){ record.setChatime(newDate()); record.setUser(causer); record.setSendto(sendto); if(talking==null){ talking=recordService.getList(); } if(record.getCont()!=null&&!record.getCont().equals("")){ if(contService.selectCont(record.getCont())){ recordService.addRecord(record); }else{ record.setCont("**您的消息不合法已被系統(tǒng)屏蔽!**); } talking.add(record); } session.getServletContext().setAttribute("talking",talking); returnSUCCESS; }} returnERROR;}6.5后臺管理在用戶登錄頁面,有兩種角色,一種是普通用戶,一種是管理員。其中普通用戶登錄在6.2中已經(jīng)介紹了,現(xiàn)在介紹管理員的功能。在登錄頁面輸入管理員賬號和密碼,點擊登錄,系統(tǒng)將會通過查詢數(shù)據(jù)庫驗證輸入的信息,查看數(shù)據(jù)庫是否存在該用戶,若存在,密碼是否正確,若密碼錯誤,則登錄失敗,繼續(xù)停留在登錄頁面,若密碼正確,則跳轉(zhuǎn)到后臺管理頁面。管理員登錄后,登錄的是后臺管理頁面,登錄后為為隱身狀態(tài),普通用戶在在線用戶列表中無法看到管理員。管理員登錄后臺管理頁面后,能看到后臺管理頁面中,管理員能夠?qū)崿F(xiàn)的功能有在線用戶管理、用戶資料管理、過濾字段管理、聊天記錄管理、音樂文件管理。管理員登錄后的后臺管理頁面的運行結(jié)果如圖21所示:圖21管理員登錄后的后臺管理頁面在聊天室聊天時,用戶可以發(fā)送聊天信息,在聊天時有可能會遇到某些用戶發(fā)送不文明的語言,這時可以在系統(tǒng)的后臺管理頁面設(shè)置“過濾非法字段”。在后臺管理中,可以通過設(shè)置過濾字段,過濾聊天信息。設(shè)置過濾字段的時候,系統(tǒng)將在數(shù)據(jù)庫插入用戶設(shè)置的內(nèi)容,當(dāng)前臺用戶發(fā)送的內(nèi)容與后臺非法字段設(shè)置的內(nèi)容相同時,系統(tǒng)將會字段屏蔽該信息,并在聊天頁面的聊天室發(fā)送警告。通過過濾非法字段的設(shè)置,能夠在一定程度上讓聊天室保持一個文明的公共聊天室環(huán)境,當(dāng)然這也不是絕對的保證聊天室的文明,想要擁有一個文明的公共環(huán)境,還需要靠用戶自覺來維護聊天室的公共文明。后臺管理界面中過濾字段管理頁面如圖22所示圖22過濾字段管理頁面在聊天室中,用戶可以發(fā)送聊天信息,在聊天時有可能會遇到某些用戶發(fā)送不文明的語言,若是管理員覺得用戶經(jīng)常發(fā)送不文明語言,想將該用戶踢出,在點擊踢出后,系統(tǒng)將會在數(shù)據(jù)庫中執(zhí)行刪除該用戶的語句。通過在線用戶的管理,能夠在一定程度上讓聊天室保持一個文明的公共聊天室環(huán)境。后臺管理界面中在線用戶管理頁面如圖23所示:圖23在線用戶管理頁面在聊天室聊天時,用戶輸入要發(fā)送的信息。點擊發(fā)送時,系統(tǒng)將會在數(shù)據(jù)庫中將用戶發(fā)送的信息插入到表中,在后臺管理頁面中,系統(tǒng)通過查詢數(shù)據(jù)庫,將用戶發(fā)送的信息顯示到界面中,后臺管理員能夠刪除用戶的聊天記錄,還能夠到處聊天記錄,方便備份聊天記錄。后臺管理界面中聊天記錄管理頁面如圖24所示:圖24聊天記錄管理界面在前臺聊天頁面中,有在線音樂試聽的功能,在后臺管理頁面中同樣有歌曲管理功能,管理員能夠在后臺添加歌曲、刪除歌曲。后臺管理界面中歌曲管理頁面如圖25所示:圖25歌曲管理界面核心代碼如下所示:publicStringexecute(){ IntegerUId=Integer.valueOf(ServletActionContext.getRequest().getParameter("user")); Useruser=newUser(); user.setUId(UId); Userolduser=userService.findById(user); if(olduser!=null){ olduser.setIsuse(User.OFF_LINE); userService.update(olduser); List<User>ulist=userService.findIsOnline(); ServletActionContext.getServletContext().setAttribute("ulist",ulist); } returnSUCCESS; }7系統(tǒng)測試7.1系統(tǒng)測試本系統(tǒng)經(jīng)過需求分析、系統(tǒng)設(shè)計、系統(tǒng)詳細設(shè)計與實現(xiàn)等階段后得到系統(tǒng)的源程序,現(xiàn)在開始進入到軟件測試階段。軟件測試是用來測試一個軟件的質(zhì)量和性能是否符合用戶需求,軟件是否能夠正確運行的重要階段,是軟件開發(fā)過程的必不可少的重要組成部分,是軟件質(zhì)量保證的關(guān)鍵步驟。(1)鏈接測試進行系統(tǒng)測試時,首先要測試系統(tǒng)的鏈接是否可用。測試系統(tǒng)的鏈接可以從三方面進行。首先,測試所URL所指向的頁面是否完整正確地存在;其次,測試系統(tǒng)中所有URL是否按指定的鏈接地址鏈接到正確的頁面中;最后,確保本系統(tǒng)上沒有單獨孤立的頁面,所謂單獨孤立頁面是指沒有任何一個頁面上有鏈接是指向該頁面。鏈接測試必須在集成測試階段完成。(2)表單測試在用戶注冊登錄模塊中,需要用到表單提交信息,因此,我們必須保證表單是完整的、正確的,才能利用表單校驗提交的信息是否正確。若表單中需要提交的信息只能接受某些特定的字符,測試時可以跳過這些特定的字符,看一看系統(tǒng)是否會報錯。若是不能為空,測試時則必須輸入值,否則系統(tǒng)會報錯[13]。7.2功能測試(1)注冊模塊測試在注冊模塊中涉及用戶名、密碼、提示問題以及提示問題的答案四項數(shù)據(jù),分別輸入這四項數(shù)據(jù),每一項數(shù)據(jù)均不能為空,若是其中任何一項為空時,則會數(shù)據(jù)插入失敗,頁面仍舊停留在注冊頁面。用戶注冊模塊的測試用例如下圖所示:表7-1用戶注冊模塊測試用例編號頁面測試輸入預(yù)計輸出實際輸出結(jié)果01注冊頁面輸入用戶名不輸入其他內(nèi)容停留在注冊頁面停留在注冊頁面通過02注冊頁面輸入存在的用戶名提示用戶存在提示用戶存在通過03注冊頁面輸入正確數(shù)據(jù)跳到登錄頁面跳到登錄頁面通過輸入上面的數(shù)據(jù)進行測試,只有第三條數(shù)據(jù)時正確的,能完成注冊并進行頁面的跳轉(zhuǎn),剩下的兩條因為部分數(shù)據(jù)為空和用戶名已存在,所以錯誤。(2)登錄模塊測試在登錄模塊中涉及了用戶名和密碼兩項數(shù)據(jù),在登陸頁面輸入這兩項數(shù)據(jù),數(shù)據(jù)不能為空且必須是數(shù)據(jù)庫中存在的數(shù)據(jù),否則會登陸失敗,停留在登陸頁面,若輸入的數(shù)據(jù)為數(shù)據(jù)庫存在的正確數(shù)據(jù),則登錄成功,頁面自動跳轉(zhuǎn)到聊天頁面。用戶登錄模塊的測試用例如下圖所示:表7-2用戶登錄模塊測試用例編號頁面測試輸入預(yù)計輸出實際輸出結(jié)果01登錄頁面只輸入用戶名,點擊登錄停留在登錄頁面停留在登錄頁面通過02登錄頁面只輸入密碼,點擊登錄停留在登錄頁面停留在登錄頁面通過03登錄頁面隨意輸入用戶名和密碼停留在登錄頁面停留在登錄頁面通過04登錄頁面不輸入任何內(nèi)容停留在登錄頁面停留在登錄頁面通過05登錄頁面輸入正確的用戶名和密碼跳轉(zhuǎn)到聊天頁面跳轉(zhuǎn)到聊天頁面通過輸入上面的數(shù)據(jù)進行測試,輸入第五條數(shù)據(jù)時,因為已經(jīng)在注冊頁面注冊成功了,所以能夠成功登錄到聊天界面;輸入第一條數(shù)據(jù)、第二條數(shù)據(jù)和第四條數(shù)據(jù)時,因為輸入的數(shù)據(jù)不完整,所以登錄失敗,仍然停留在登錄頁面;輸入第三條數(shù)據(jù)時,因為沒有在注冊頁面注冊該條數(shù)據(jù),即數(shù)據(jù)庫不存在此數(shù)據(jù),所以登錄失敗。(3)找回密碼模塊測試在找回密碼模塊中,用戶通過輸入的用戶名找到用戶在注冊時輸入的密碼提示問題,要求用戶輸入正確的密碼提示問題的答案,通過此答案修改密碼,因此,在找回密碼模塊涉及到的數(shù)據(jù)有用戶名和密碼提示問題的答案兩項。用戶找回密碼模塊的測試用例如下圖所示:表7-3用戶找回密碼模塊測試用例編號頁面測試輸入預(yù)計輸出實際輸出結(jié)果01輸入用戶名頁面不輸入用戶名跳到登錄頁面跳到登錄頁面通過02輸入用戶名頁面隨意輸入用戶名跳到登錄頁面跳到登錄頁面通過03輸入用戶名頁面輸入正確的用戶名跳到下一頁跳到下一頁通過04輸入問題答案頁面不輸入任何內(nèi)容跳到登錄頁面跳到登錄頁面通過05輸入問題答案頁面隨意輸入答案跳到登錄頁面跳到登錄頁面通過06輸入問題答案頁面輸入正確答案跳到下一頁跳到下一頁通過07輸入新密碼頁面不輸入任何內(nèi)容跳到登錄頁面跳到登錄頁面通過08輸入新密碼頁面輸入新密碼修改成功跳到登錄頁面跳到登錄頁面通過點擊找回密碼鏈接,跳轉(zhuǎn)到下一個頁面,輸入要找回密碼的用戶的用戶名,如果用戶名輸入正確,才能跳到下一個頁面,否則會跳轉(zhuǎn)到登錄頁面。若果輸入用戶名正確,根據(jù)用戶名查找到該用戶注冊時輸入的密碼提示問題,并將信息顯示出來,按照界面信息的提示輸入密碼提示問題的答案,如果輸入的答案正確,就會跳到下一個頁面,提示用戶輸入新的密碼,否則頁面會跳到登錄頁面。若用戶輸入的新密碼不為空,則修改密碼成功,跳到登錄頁面。(4)歌曲管理模塊測試管理員登錄后,進入到后臺管理頁面,可以對歌曲進行管理,能夠刪除歌曲,同時也能上傳歌曲。歌曲管理模塊的測試用例如下圖所示:表7-4歌曲管理模塊測試用例編號頁面測試輸入預(yù)計輸出實際輸出結(jié)果01歌曲管理頁面不輸入任何信息提示錯誤提示錯誤通過02歌曲管理頁面輸入歌曲名,不輸入其他的提示錯誤提示錯誤通過03歌曲管理頁面輸入正確信息

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論