




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEIII網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)內(nèi)容摘要在網(wǎng)絡(luò)技術(shù)迅猛發(fā)展的今天,人與人之間交流方式日益豐富,傳統(tǒng)通信方式無論從速度上還是從可靠性上都已難以適應(yīng)人們對(duì)通信的要求,即時(shí)通信系統(tǒng)成為新寵。因此,更多的網(wǎng)站開始提供在線聊天功能。與此同時(shí),以其方便,快捷,成本低的優(yōu)勢(shì),聊天室眾多企業(yè)的青瞇,許多企業(yè)網(wǎng)站也加入了聊天室,從而促進(jìn)消費(fèi)者與消費(fèi)者和消費(fèi)者之問的通信模塊。本文是個(gè)軟件工程的在線聊天系統(tǒng),專注于系統(tǒng)的開發(fā),使用系統(tǒng)的分析,設(shè)計(jì)和思維測(cè)試軟件L程知識(shí)來實(shí)現(xiàn)的描述,其中包括三個(gè)主要方面的軟件生命周期:軟件定義(問題定義,可行性研究,需求分析),軟件開發(fā)(總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試)和運(yùn)行維護(hù)。通過運(yùn)用軟件工程知識(shí)處理實(shí)際,加強(qiáng)的問題,清晰,可靠的標(biāo)準(zhǔn)化,使得程序易于維護(hù)。該軟件使用JAVA編寫,具有良好的兼容性,易于實(shí)現(xiàn)。操作簡(jiǎn)單,使用方便結(jié)構(gòu)簡(jiǎn)單,易于搜索,實(shí)用的聊天室。關(guān)鍵詞:聊天系統(tǒng);網(wǎng)絡(luò)通信;網(wǎng)絡(luò)編程目錄32103內(nèi)容摘要 I32669引言 147631概述 239501.1課題研究背景和意義 2121581.2本文的主要內(nèi)容及組織結(jié)構(gòu) 291882網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)技術(shù)介紹 4164792.1開發(fā)工具介紹 4224302.2核心技術(shù)介紹 4324492.2.1Java簡(jiǎn)介 4271102.2.2MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介 4207932.2.3SSM框架介紹 54313網(wǎng)絡(luò)聊天系統(tǒng)的分析與設(shè)計(jì) 6232813.1網(wǎng)絡(luò)聊天系統(tǒng)的分析 6300633.1.1可行性分析 6165353.1.2系統(tǒng)特性分析 699603.1.3用戶操作流程分析 755123.1.4技術(shù)分析 8148793.1.5系統(tǒng)模塊分析 9152103.2系統(tǒng)設(shè)計(jì) 10268883.2.1功能模塊設(shè)計(jì) 1039983.2.2數(shù)據(jù)庫(kù)設(shè)計(jì) 134453.2.3系統(tǒng)通信設(shè)計(jì) 15238504網(wǎng)絡(luò)聊天系統(tǒng)詳細(xì)設(shè)計(jì)及實(shí)現(xiàn) 17192534.1流程圖 17325254.1.1用戶注冊(cè)登錄 17114704.1.2在線用戶顯示板塊 18158994.1.3用戶交流模板 1959414.1.4聊天信息顯示模塊 1937964.1.5系統(tǒng)消息顯示模塊 20249344.1.6管理員管理用戶模塊 20140324.1.7輔助功能 2189284.2算法 21242494.2.1用戶對(duì)話存儲(chǔ)算法 2172314.2.2檢測(cè)用戶是否被踢算法 22319814.2.3檢測(cè)當(dāng)前用戶是否有新消息算法 2225174.3界面設(shè)計(jì) 2397794.3.1登錄首頁(yè) 23225364.3.2注冊(cè)頁(yè)面 24320494.3.3聊天室頁(yè)面 24121414.4服務(wù)器端詳細(xì)設(shè)計(jì) 25323904.4.1界面設(shè)計(jì) 25161274.4.2功能模塊的實(shí)現(xiàn) 2558114.5客戶端詳細(xì)設(shè)計(jì) 2674054.5.1界面設(shè)計(jì) 2661924.5.2功能模塊的實(shí)現(xiàn) 2768505測(cè)試 2870195.1用戶登錄測(cè)試 2840965.2用戶聊天測(cè)試 28244525.3用戶退出測(cè)試 29303065.4用戶智能聊天測(cè)試 30148375.5用戶備忘錄測(cè)試 3121653參考文獻(xiàn) 33PAGE32引言在當(dāng)今社會(huì),網(wǎng)絡(luò)成了人們生活不可或缺的部分。即時(shí)通信軟件作為一種新興的計(jì)算機(jī)軟件工具,給人們帶來了巨大方便,它是互聯(lián)網(wǎng)時(shí)代的產(chǎn)物。在網(wǎng)絡(luò)技術(shù)不斷發(fā)展的今天,各種符合人需求的軟件系統(tǒng)應(yīng)運(yùn)而生,由此,人們?nèi)找嫱ㄟ^網(wǎng)絡(luò)相互建立聯(lián)系。其中最為普遍的是電腦聊天室和微信這兩種軟件。微信和騰訊QQ的流行更拉近了人與人的距離,除可具備電話功能外,也可視頻聊天。在這樣一個(gè)新的時(shí)代里,人們對(duì)于溝通的方式和效率都有著更高的要求,于是就產(chǎn)生了一個(gè)全新的領(lǐng)域——聊天室。在此環(huán)境基礎(chǔ)上,聊天室的數(shù)量也在增加[1]。1概述1.1課題研究背景和意義在網(wǎng)絡(luò)大范圍普及的今天,通過網(wǎng)絡(luò)聊天工具,人們之間的溝通日益增多。聊天室是以用戶為中心的交互平臺(tái),它具有交互性和實(shí)時(shí)性特點(diǎn),能夠提供實(shí)時(shí)的語音、視頻等多媒體服務(wù)。聊天室系統(tǒng)即時(shí)交流方式,滿足人們?cè)诰W(wǎng)絡(luò)上一次和多個(gè)人聊天溝通的需求,讓更多人在相同聊天頁(yè)面上溝通變的便捷、簡(jiǎn)單。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)上出現(xiàn)了各種各樣的新業(yè)務(wù),如網(wǎng)上購(gòu)物、網(wǎng)上教育等等,這些都是以網(wǎng)絡(luò)為基礎(chǔ)而產(chǎn)生的新興行業(yè)。多數(shù)人都以為聊天室是為了聊天和娛樂,如今,有商業(yè)價(jià)值的聊天室已經(jīng)基本沒有了,商業(yè)價(jià)值是否存在,同樣需要審視。聊天室是以網(wǎng)絡(luò)為基礎(chǔ),通過互聯(lián)網(wǎng)來完成信息交流的過程。聊天室也是當(dāng)下較為熱門的聊天方式,選擇輸入即可即時(shí)聊天,這樣也更容易。聊天室就是其中一種現(xiàn)有網(wǎng)絡(luò)服務(wù)。聊天室可以在網(wǎng)絡(luò)上建立一個(gè)虛擬的空間,通過這個(gè)虛擬世界進(jìn)行交流與溝通。網(wǎng)頁(yè)版比軟件版更容易安裝,而且還能支持語音通話等功能,因此受到很多人的歡迎。1.2本文的主要內(nèi)容及組織結(jié)構(gòu)本系統(tǒng)的主要內(nèi)容是基于B/S(瀏覽器/服務(wù)器)架構(gòu)開發(fā)的,參照網(wǎng)絡(luò)上聊天室結(jié)構(gòu),對(duì)聊天室可以實(shí)現(xiàn)的功能進(jìn)行解析,結(jié)合本設(shè)計(jì)有關(guān)需求,開發(fā)設(shè)計(jì),撰寫需求分析說明書。論文組織結(jié)構(gòu)由一下幾部分構(gòu)成,一部分是背景綜述,介紹背景設(shè)計(jì)環(huán)節(jié),二部分是闡述系統(tǒng)具體開發(fā)環(huán)境:使用專業(yè)版作為服務(wù)器運(yùn)行平臺(tái),服務(wù)器開發(fā)語言使用Java語言,前臺(tái)使用Jsp技術(shù)、JavaScript、Jquery語言,系統(tǒng)框架使用Struts2+Hibernate+Spring框架,后臺(tái)數(shù)據(jù)庫(kù)使用MySql數(shù)據(jù)庫(kù)。第三、四部分為系統(tǒng)整體設(shè)計(jì)與詳細(xì)設(shè)計(jì),在該設(shè)計(jì)中,完成了網(wǎng)絡(luò)聊天室的各項(xiàng)功能,具備了普通聊天室的特點(diǎn),包括用帳號(hào)登陸聊天室,注冊(cè)帳號(hào)等;還能對(duì)聊天內(nèi)容進(jìn)行加密處理,防止被非法復(fù)制或盜用,保證了數(shù)據(jù)和資料的安全性,提高了工作效率。同時(shí)為管理聊天室內(nèi)用戶運(yùn)用語言文明,讓管理員有能力踢掉那些用不文明語言說話的用戶,展示所有聊天信息。第五部分為測(cè)試、主要對(duì)系統(tǒng)實(shí)現(xiàn)的功能進(jìn)行測(cè)試。最后一部分為結(jié)論,總結(jié)全文。
261942網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)技術(shù)介紹184872.1開發(fā)工具介紹該系統(tǒng)是在windows專業(yè)版操作系統(tǒng)下,搭建的運(yùn)行平臺(tái),使用myEclipse作為開發(fā)工具,mySql作為數(shù)據(jù)庫(kù),Java語言作為系統(tǒng)后臺(tái)開發(fā)語言。JSP技術(shù)作為前臺(tái)開發(fā)語言,其中使用JavaScript以及Jquery作為腳本語言。Java語言是由美國(guó)SunMicorystems公司在一九九五年推出的一款編程設(shè)計(jì)語言,由于Java語言是一個(gè)面向?qū)ο蟮木幊陶Z言,其中可以將數(shù)據(jù)細(xì)節(jié)進(jìn)行封裝,對(duì)外提供可以修改數(shù)據(jù)的接口,又因?yàn)槠錄]有指針的運(yùn)算方式,對(duì)數(shù)據(jù)的操作多以實(shí)例化來完成的。從而在根本上提高了安全性。工程框架使用Struts+Spring+Hibernate框架。后臺(tái)數(shù)據(jù)庫(kù)使用MySql數(shù)據(jù)庫(kù)。MySQL數(shù)據(jù)庫(kù)作為此次系統(tǒng)開發(fā)的數(shù)據(jù)庫(kù)有眾多好處,在數(shù)據(jù)訪問方面,MySQL數(shù)據(jù)庫(kù)支持多線程,這很大程度上可以充分利用CPU資源。MySQL與Oracle相比,雖然前者規(guī)模小且功能有限,但是,他體積小,運(yùn)行速度快,并且開源、免費(fèi),雖然功能有限,但是對(duì)由開發(fā)此系統(tǒng)完全使夠用的。79212.2核心技術(shù)介紹2.2.1Java簡(jiǎn)介Java作為當(dāng)下最火的web應(yīng)用開發(fā)語言,除了其安全性以外還有眾多特性,例如Java語言的跨平臺(tái)性,多線程,以及其簡(jiǎn)單等特性,也正是因?yàn)檫@些特性,Java語言得以發(fā)展迅速。Java語言的跨平臺(tái)性主要是由于Java語言在各大平臺(tái)上都有著適應(yīng)的虛擬機(jī),當(dāng)編寫完程序之后,Java虛擬機(jī)會(huì)編譯這些文件,將這些字節(jié)碼編譯成可以運(yùn)行在當(dāng)前系統(tǒng)的機(jī)器碼,這是其他語言不具備的特點(diǎn)。也正是其可以運(yùn)行在各大平臺(tái),由Java語言編寫出來的程序可以在全球的技術(shù)人員手里實(shí)現(xiàn)資源的共同利用,也是Java語言發(fā)展迅速的主要原因。也正是由于眾多原因,Java語言成為眾多人首選的開發(fā)語言,這也是選擇Java為開發(fā)此系統(tǒng)的主要原因。2.2.2MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介在開發(fā)這個(gè)系統(tǒng)的過程中,有眾多數(shù)據(jù)庫(kù)供選擇,其中包括SQLSERVLET、MySQL以及Oracle,其中MySQL數(shù)據(jù)庫(kù)在選擇上有以下幾個(gè)方面的優(yōu)點(diǎn)。MySQL在系統(tǒng)的使用方面,可以通過優(yōu)化sql代碼,是MySQL變得更加高效,并且在維護(hù)成本上比較低。MySQL相比其他數(shù)據(jù)庫(kù),雖然規(guī)模小但是可支持多個(gè)用戶同時(shí)操作,這就是MySQL數(shù)據(jù)庫(kù)的強(qiáng)大之處,MySQL作為此次開發(fā)使用的數(shù)據(jù)庫(kù)來說,在功能上是完全夠用的,并且由于資金的問題,選擇MySQL作為數(shù)據(jù)庫(kù)是可以節(jié)省很大一筆開支的。雖然MySQL作為一個(gè)開源的數(shù)據(jù)庫(kù),但是在安全性的方面是可以不用擔(dān)心的,所以此系統(tǒng)的開發(fā)使用MySQL數(shù)據(jù)庫(kù)作為支持。2.2.3SSM框架介紹SSM框架技術(shù)的組成主要有三種技術(shù):Spring框架技術(shù)、SpringMVC框架技術(shù)、MyBatic框架技術(shù)。SSM框架的三種框架技術(shù)在開發(fā)實(shí)踐中都有各自不同的分工和作用,Spring框架的主要作用是為開發(fā)者提供可以供選擇的配置文件,可以減少解決大型應(yīng)用開發(fā)所花費(fèi)的時(shí)間,Spring框架提供了一個(gè)面向切面編程(AOP)的容器框架,在很大程度上減少了程序員的工作量,同時(shí)在程序開發(fā)的簡(jiǎn)單性、耦合性以及可測(cè)試性來說,更加優(yōu)秀。SpringMVC是SpringFrameWork的一個(gè)后續(xù)產(chǎn)品,它可以在原有的開發(fā)上分離出模型對(duì)象,控制器,和其他角色,正是因?yàn)檫@種分離使得操作上可以更加方便。MyBatis是一種持久層框架,他基本上消除手動(dòng)配置JDBC的操作,通過使用XML文件或者使用注解的方式來簡(jiǎn)化對(duì)數(shù)據(jù)庫(kù)的使用,同時(shí)優(yōu)化數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的操作,使操作數(shù)據(jù)時(shí)更加流暢。SSM框架雖然作為一個(gè)開源的框架,但在很大的程度上簡(jiǎn)化了程序員工作,大大的減少了開發(fā)系統(tǒng)所用的時(shí)間,故此系統(tǒng)選擇使用SSM框架。
3網(wǎng)絡(luò)聊天系統(tǒng)的分析與設(shè)計(jì)3.1網(wǎng)絡(luò)聊天系統(tǒng)的分析11963.1.1可行性分析在技術(shù)上進(jìn)行了可行性分析。從技術(shù)層面上看,多種編程語言已漸趨成熟,面臨著各種各樣的問題,算法不斷地增加。網(wǎng)絡(luò)聊天系統(tǒng)實(shí)現(xiàn)了用戶和計(jì)算機(jī)之間的交流,同時(shí)具有良好的交互性,為人們提供更好的生活體驗(yàn)。從軟件上看,網(wǎng)絡(luò)聊天室系統(tǒng)以開發(fā)者工具為主,向大眾開放。從硬件上看,當(dāng)前硬件的發(fā)展已達(dá)到高潮,該硬件平臺(tái)能夠充分滿足該系統(tǒng)要求[4]。在經(jīng)濟(jì)上進(jìn)行了可行性分析:開發(fā)者工具和開放平臺(tái)、開發(fā)文檔全部自由公開,自由下載,只要有電腦即可開發(fā),在經(jīng)濟(jì)上根本不是什么問題,開發(fā)費(fèi)用低廉,并且遇到問題也可以在網(wǎng)上進(jìn)行資料查閱。如果要實(shí)現(xiàn)更多的功能的話還必須有專門的軟件和開發(fā)包。在網(wǎng)絡(luò)聊天室中開發(fā)一個(gè)系統(tǒng),只要有開發(fā)者工具環(huán)境計(jì)算機(jī)即可完成,經(jīng)濟(jì)費(fèi)用低廉、可行性強(qiáng)。需求可行性分析等:當(dāng)問題發(fā)生后,可試著從網(wǎng)絡(luò)聊天室系統(tǒng)中安全地退出。在系統(tǒng)運(yùn)行之后,通過對(duì)其數(shù)據(jù)信息的收集和處理,能夠得出相應(yīng)結(jié)論。在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),盡量從用戶立場(chǎng)考慮問題,并能實(shí)現(xiàn)提問,使得程序運(yùn)行的適應(yīng)性強(qiáng)。并且由于開發(fā)者工具是集前端和后端為一體的,讓開發(fā)者的開發(fā)變得更容易。同時(shí),系統(tǒng)界面美觀簡(jiǎn)潔,操作簡(jiǎn)單易用??梢宰層脩粲泻芎玫氖褂酶惺埽?dāng)今世界上攜帶電腦除上班需攜帶外,實(shí)在是鳳毛麟角,但是大家基本都有電腦。因此我們?cè)O(shè)計(jì)一種能夠隨時(shí)隨地發(fā)送短信的軟件——網(wǎng)絡(luò)聊天室系統(tǒng)包,讓大家隨時(shí)隨地都能收發(fā)短消息。網(wǎng)絡(luò)聊天室里的系統(tǒng)不占電腦內(nèi)存,還可利用網(wǎng)絡(luò)聊天室的系統(tǒng)進(jìn)行聊天,本實(shí)用新型不僅便于用戶使用,同時(shí)還使開發(fā)過程簡(jiǎn)單化。148713.1.2系統(tǒng)特性分析系統(tǒng)整體性的重點(diǎn)在于“局部影響總體”。系統(tǒng)具有交互性的側(cè)重是“部分影響總體”。在聊天過程當(dāng)中遇到想寫什么就寫什么,或者寫完之后想怎么寫也不知道,這個(gè)時(shí)候需要人工操作來完成。網(wǎng)絡(luò)聊天室里的系統(tǒng),聊天的過程中,碰到了麻煩,可選擇和機(jī)器人交談,多數(shù)問題都能迎刃而解。在聊天過程當(dāng)中會(huì)有一些信息需要保存或者是需要?jiǎng)h除,可以通過智能聊天室來實(shí)現(xiàn)這些情況,這樣就能夠提高用戶體驗(yàn)度[5]。通過這個(gè)系統(tǒng),用戶能夠更好地掌握自己所需要的信息,并且能夠及時(shí)了解自己的狀態(tài)。這個(gè)體系有目的性地把重點(diǎn)放在“系統(tǒng)功能”上。通過對(duì)用戶需求分析、設(shè)計(jì)實(shí)現(xiàn)等環(huán)節(jié),完成了一個(gè)能夠滿足使用人員需求的網(wǎng)絡(luò)聊天室系統(tǒng)開發(fā)平臺(tái)。網(wǎng)絡(luò)聊天室主要分為三大塊的功能,分別是聊天室、智能聊天、備忘錄等,每一部分內(nèi)容都有強(qiáng)烈的目的性,較好地反映出系統(tǒng)目的性。通過對(duì)其詳細(xì)介紹來闡述整個(gè)系統(tǒng)的功能性。本系統(tǒng)環(huán)境適應(yīng)性重點(diǎn)放在“系統(tǒng)適應(yīng)”上。網(wǎng)絡(luò)聊天室在一定程度上可以說是移動(dòng)互聯(lián)網(wǎng)時(shí)代下的產(chǎn)物,它和傳統(tǒng)的網(wǎng)絡(luò)聊天室相比有很大區(qū)別,因此需要考慮其適用性。在電腦大行其道的今天,用電腦用戶不斷增加,與之對(duì)應(yīng),微信應(yīng)用日益廣泛,網(wǎng)絡(luò)聊天室這個(gè)系統(tǒng),是與大環(huán)境相適應(yīng)的,表明了系統(tǒng)對(duì)環(huán)境的適應(yīng)性。網(wǎng)絡(luò)聊天室系統(tǒng)這一體系與上述觀點(diǎn)非常契合,整個(gè)體系的整體性,是系統(tǒng)自身,系統(tǒng)的相關(guān)性是指各部分服務(wù)和整體之間的關(guān)系。在系統(tǒng)運(yùn)行之后,通過對(duì)其數(shù)據(jù)信息的收集和處理,能夠得出相應(yīng)結(jié)論。系統(tǒng)的目的性是能夠?yàn)橛脩籼峁└哔|(zhì)量的使用體驗(yàn),能夠讓用戶產(chǎn)生聊天和其他行為。系統(tǒng)的安全性主要是防止病毒和木馬攻擊,同時(shí)還要保證數(shù)據(jù)不會(huì)泄露出去。系統(tǒng)對(duì)環(huán)境的適應(yīng)能力高。每個(gè)人都有電腦,用微信掃一掃也不難,因此,環(huán)境適應(yīng)能力仍然較強(qiáng)。187563.1.3用戶操作流程分析29797(1)用戶登陸退出流程圖圖3.1使用流程圖29749(2)用戶登錄退出分析用戶通過點(diǎn)擊登陸,即可訪問網(wǎng)絡(luò)聊天室系統(tǒng)的主頁(yè),在聊天室的網(wǎng)頁(yè)上單擊,進(jìn)聊天室登陸即可聊天,還可點(diǎn)擊主頁(yè),選用智能聊天,便可開展和機(jī)器人的交談,會(huì)話內(nèi)容可選聽歌曲,還可選擇問天氣、選用備忘錄功能,可對(duì)某些重大事件做備份。系統(tǒng)的交互性是指通過界面來實(shí)現(xiàn)交互的功能和方式。若用戶希望退出網(wǎng)絡(luò)聊天室系統(tǒng),只需按返回鍵,再次登陸時(shí)聊天記錄仍有。39913.1.4技術(shù)分析WebSocket為雙向通信協(xié)議,可實(shí)現(xiàn)單條TCP的連接。使得服務(wù)端與客戶端數(shù)據(jù)交換方便,WebSocket使服務(wù)端能夠主動(dòng)將數(shù)據(jù)傳送到客戶端。這種方法不依賴服務(wù)器軟件而由瀏覽器自動(dòng)執(zhí)行,從而減少了用戶的負(fù)擔(dān)。在其API中,瀏覽器和服務(wù)器僅需完成握手,二者之間直接能建立持久性聯(lián)系,以及雙向數(shù)據(jù)傳輸。當(dāng)前許多人都采用Ajax輪詢技術(shù)來進(jìn)行數(shù)據(jù)傳輸。輪詢是一種非常高效的方法,它能夠降低網(wǎng)絡(luò)流量,提高了系統(tǒng)性能。其指在特定的時(shí)間內(nèi)將請(qǐng)求發(fā)送到服務(wù)器的方法。當(dāng)客戶端接收到該請(qǐng)求時(shí),會(huì)將它轉(zhuǎn)換成一個(gè)消息包發(fā)送給服務(wù)器端。這一傳輸模式的顯著缺陷是要求不斷向服務(wù)器請(qǐng)求,但是因?yàn)檎?qǐng)求頭包含有其他消息,真正行之有效的資料只占很小的比例,浪費(fèi)了很多帶寬資源。另外一個(gè)缺點(diǎn)是當(dāng)用戶訪問服務(wù)器時(shí),會(huì)產(chǎn)生重復(fù)的響應(yīng)。其差異可參照?qǐng)D3.2。圖3.2ajax與websocket對(duì)比圖在常規(guī)開發(fā)模式下,前端呼叫后端某界面,后臺(tái)利用界面才可對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,而且系統(tǒng)開發(fā)者的工具里也不那么繁瑣,系統(tǒng)可直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行運(yùn)行,無需建立服務(wù)器,使開發(fā)方式簡(jiǎn)單化。它能夠提供用戶訪問互聯(lián)網(wǎng)的多種方式,包括網(wǎng)絡(luò)瀏覽、下載、搜索等服務(wù)。云平臺(tái)是指一個(gè)服務(wù)于多個(gè)應(yīng)用系統(tǒng),它將各種應(yīng)用程序統(tǒng)一集成到同一個(gè)平臺(tái)上運(yùn)行。209093.1.5系統(tǒng)模塊分析24745(1)用戶登錄模塊分析當(dāng)新的用戶使用這個(gè)聊天室系統(tǒng),首先要做的是注冊(cè)一個(gè)新的用戶,后臺(tái)加入數(shù)據(jù)庫(kù)注冊(cè)信息,對(duì)于登錄驗(yàn)證;報(bào)名成功后,再次登陸;在所述用戶名和所述密碼相匹配的情況下,就可以訪問聊天室系統(tǒng)。15919(2)用戶聊天模塊分析所述模塊主要展示不同時(shí)間的聊天信息,并且用戶可以發(fā)送私人電腦照片,這也進(jìn)一步方便了用戶,用戶在聊天室中讀取要與好友共享的消息,可選截圖再發(fā)。用戶登陸之后會(huì)自動(dòng)打開聊天界面并進(jìn)入聊天狀態(tài),此時(shí)聊天界面上顯示當(dāng)前聊天記錄以及歷史記錄,用戶可以進(jìn)行查看。同時(shí)該模塊還能夠?qū)α奶煊涗涍M(jìn)行存儲(chǔ)和查詢。用戶聊天記錄保存于云數(shù)據(jù)庫(kù)chatroom,每個(gè)用戶的每一句話都會(huì)產(chǎn)生獨(dú)立的錄音。16630(3)管理員用戶模塊分析本模塊以后臺(tái)操作為主,如果某人與網(wǎng)絡(luò)聊天的健康環(huán)境相悖,管理員有排除該用戶的權(quán)利,或者把這句話強(qiáng)行刪去,這個(gè)操作步驟是管理者開啟開發(fā)者工具,再開啟云開發(fā),發(fā)現(xiàn)不合理的聊天記錄刪去,管理員運(yùn)行結(jié)束。13888(4)輔助模塊功能分析輔助功能有:展示所有聊天信息、退出聊天室,偵測(cè)用戶的新信息。在系統(tǒng)設(shè)置界面中輸入“聊天”二字,可以打開一個(gè)對(duì)話框,該對(duì)話框下可分別設(shè)有三個(gè)選項(xiàng)。展示所有信息,指用戶間聊天信息占用整個(gè)屏幕,單擊展示所有信息,也就是可以查看所有聊天內(nèi)容。在進(jìn)入聊天室之前,需要先關(guān)閉所有的窗口和圖標(biāo),然后再進(jìn)行選擇操作,否則無法正常使用該功能。退出聊天室就是用戶從聊天室中退出。檢測(cè)用戶是否有新消息發(fā)送或接收到其它用戶傳來的消息等操作。檢測(cè)使用者是否擁有新的資料,當(dāng)用戶收到其他用戶發(fā)來的消息時(shí),提示用戶。系統(tǒng)功能結(jié)構(gòu):圖3.3功能結(jié)構(gòu)圖274023.2系統(tǒng)設(shè)計(jì)289553.2.1功能模塊設(shè)計(jì)(1)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)圖3.4總體結(jié)構(gòu)圖結(jié)構(gòu)設(shè)計(jì)如圖3.4所示,系統(tǒng)用戶端主要是實(shí)現(xiàn)用戶登錄,用戶可以實(shí)現(xiàn)聊天、智能聊天、備忘錄。用戶可以對(duì)相應(yīng)模塊進(jìn)行操作。(2)系統(tǒng)功能模塊結(jié)構(gòu)用戶注冊(cè)登錄模塊:用戶注冊(cè)是添加用戶到數(shù)據(jù)中,只能注冊(cè)普通用戶,當(dāng)注冊(cè)驗(yàn)證信息合格,即可登錄進(jìn)入聊天室。圖3.5用戶注冊(cè)登錄圖在線用戶顯示模塊:當(dāng)用戶登錄進(jìn)入系統(tǒng)后,該頁(yè)面實(shí)現(xiàn)在線用戶的統(tǒng)計(jì),并將在線用戶依次顯示出來。如果當(dāng)前用戶屬于管理員角色,則在普通用戶角色的右邊顯示“踢下線”鏈接,如果當(dāng)前用戶屬于普通用戶角色,則正常顯示在線用戶名。用戶交流聊天模塊如圖3.6:圖3.6用戶聊天圖聊天信息顯示模塊:聊天信息的顯示,首先系統(tǒng)必須獲得與當(dāng)前用戶正在進(jìn)行聊天的對(duì)象,根據(jù)聊天對(duì)象的用戶名,獲得存儲(chǔ)在系統(tǒng)中的聊天記錄,傳送到客戶端,瀏覽器客戶端進(jìn)行1s刷新界面,從而獲取兩人之間的私密聊天記錄并顯示在界面上。圖3.7聊天信息顯示圖系統(tǒng)消息顯示模塊:系統(tǒng)信息包括,聊天室守則、系統(tǒng)公告。圖3.8系統(tǒng)信息顯示圖管理員管理用戶模塊:管理員用戶可和其他用戶進(jìn)行交談,并時(shí)刻對(duì)其他使用者的一言一行進(jìn)行監(jiān)督,一有不文明用語,立馬將用戶踢出聊天室。輔助功能:展示所有聊天信息,并退出聊天室。顯示全部信息和退出聊天室均為鼠標(biāo)右鍵單擊菜單中“選擇”命令下所定義。展示所有信息,指用戶間聊天信息占用整個(gè)屏幕,單擊展示所有信息,也就是可以查看所有聊天內(nèi)容。3.2.2數(shù)據(jù)庫(kù)設(shè)計(jì)(1)數(shù)據(jù)庫(kù)E-R圖用戶信息記錄主要是用來記錄用戶登錄信息的,用戶名,用戶注冊(cè)時(shí)間也相當(dāng)于第一次登錄時(shí)間,用戶唯一標(biāo)識(shí)openid等信息。用戶名注冊(cè)標(biāo)記用戶名注冊(cè)標(biāo)記用戶唯一標(biāo)識(shí)用戶注冊(cè)時(shí)間用戶信息記錄圖3.9用戶信息記錄E-R圖頭像頭像用戶名用戶唯一標(biāo)識(shí)聊天信息發(fā)送時(shí)間聊天信息記錄圖3.10聊天記錄E-R圖(2)數(shù)據(jù)表設(shè)計(jì)用戶信息記錄表主要就是記錄登陸用戶的信息。表3.1用戶表用戶信息記錄屬性含義說明id主鍵系統(tǒng)自動(dòng)生成username_ctime注冊(cè)時(shí)間用戶第一次登陸系統(tǒng)的時(shí)間openid唯一微信id用戶唯一標(biāo)識(shí)username用戶名微信名稱用戶聊天信息記錄主要是記錄聊天的基本信息。表3.2信息表用戶聊天記錄信息屬性含義說明id聊天語句自動(dòng)生成的id系統(tǒng)自動(dòng)生成openid唯一微信id用戶唯一標(biāo)識(shí)avatar頭像用戶的微信頭像textContent聊天信息每一次發(fā)送的聊天信息內(nèi)容sendTimeTS發(fā)送時(shí)間發(fā)送每條信息的時(shí)間nickName用戶名微信名稱用戶備忘錄信息記錄主要是記錄用戶填寫事件的內(nèi)容時(shí)間,需要提醒的時(shí)間,需要進(jìn)行的操作,用戶名,用戶唯一標(biāo)識(shí)等內(nèi)容。具體如表格3.3所示。表3.3用戶備忘錄記錄表用戶備忘錄記錄屬性含義說明id主鍵系統(tǒng)自動(dòng)生成time提醒時(shí)間需要提醒的時(shí)間openid唯一微信id用戶唯一標(biāo)識(shí)name用戶名微信名稱operate操作可以進(jìn)行增加、刪除time0寫入時(shí)間書寫備忘錄的時(shí)間3.2.3系統(tǒng)通信設(shè)計(jì)系統(tǒng)通訊的基礎(chǔ)是Socket。聊天方案中,所有信息都可以發(fā)送到服務(wù)器,然后由服務(wù)器處理,服務(wù)端是處理所有信息的中心,而聊天的功能只不過是服務(wù)端和客戶端通信的具象,然后本人分析一下服務(wù)端在此過程中所要執(zhí)行的任務(wù)或承擔(dān)的功能。服務(wù)端就是創(chuàng)建一一個(gè)ServerSocket,并且連續(xù)不斷的監(jiān)聽客戶端是否需要連接,其次就是服務(wù)端作為信息轉(zhuǎn)存的中心。服務(wù)端的任務(wù)并不復(fù)雜,相比于當(dāng)初騰訊QQ時(shí)代需要做的,現(xiàn)在的設(shè)計(jì)語言的內(nèi)建庫(kù)已經(jīng)足夠完善了。客戶端負(fù)貴與服務(wù)器進(jìn)行連接通信,接收來自服務(wù)器信息,保存聊天記錄到本地。與服務(wù)器相比,客戶端的任務(wù)更簡(jiǎn)單。本設(shè)計(jì)啟動(dòng)流程如下:a.啟動(dòng)Server,創(chuàng)建長(zhǎng)連接服務(wù),設(shè)置端口。b.長(zhǎng)連接服務(wù)對(duì)象會(huì)等待請(qǐng)求。c.啟動(dòng)Client程序。d.Client對(duì)分配的服務(wù)器發(fā)送連接請(qǐng)求。e.服務(wù)端接收到請(qǐng)求,然后創(chuàng)建長(zhǎng)連接服務(wù)進(jìn)行通信。f.服務(wù)端和Client分別建立用于數(shù)據(jù)傳輸?shù)腏ava字節(jié)流對(duì)象。g.服務(wù)端和Client都會(huì)對(duì)在通信中傳輸?shù)淖止?jié)流進(jìn)行處理和顯示。h.用戶可隨時(shí)結(jié)束請(qǐng)求也可收到結(jié)束通知。表3.11用戶備忘錄記錄表
4網(wǎng)絡(luò)聊天系統(tǒng)詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)4.1流程圖4.1.1用戶注冊(cè)登錄用戶注冊(cè)時(shí),操作員錄入用戶名稱,鍵入自創(chuàng)密碼和確認(rèn)密碼并單擊登記,這時(shí)系統(tǒng)先檢測(cè)出兩次密碼是否相同,如果沒有相同,提示用戶密碼不符,請(qǐng)?jiān)俅武浫?。若相同,則提示用戶密碼正確,允許使用該網(wǎng)站進(jìn)行訪問。如果相同,則檢測(cè)用戶的名稱是否已注冊(cè),如果已登記,提示為用戶注冊(cè)成功,之后系統(tǒng)在數(shù)據(jù)庫(kù)的user表中加入用戶注冊(cè)信息。在登陸界面中選擇需要進(jìn)行驗(yàn)證的項(xiàng)目,界面提示用戶報(bào)名成功,以及跳轉(zhuǎn)至登錄界面。在登錄界面中輸入用戶名和密碼,然后進(jìn)入登陸狀態(tài)。圖4.1注冊(cè)流程圖當(dāng)用戶登陸時(shí),用戶鍵入用戶名和密碼,系統(tǒng)判斷此用戶名在數(shù)據(jù)庫(kù)中的位置,如果沒有,提示使用者重填或登記,如果有用戶名,然后判斷所述密碼和所述用戶名之間是否相匹配,如果否,提示使用者密碼不正確,請(qǐng)重填,如果相匹配,進(jìn)入聊天室接口。圖4.2登錄流程圖4.1.2在線用戶顯示板塊當(dāng)用戶登錄進(jìn)入聊天室時(shí),系統(tǒng)會(huì)將用戶的信息存入application屬性的userMap中,進(jìn)入系統(tǒng)后,在jsp中獲取userMap,將所有的用戶信息中的用戶名顯示出來。圖4.3顯示在線人數(shù)流程圖4.1.3用戶交流模板用戶實(shí)現(xiàn)找人聊天,點(diǎn)擊聊天對(duì)象的用戶名,獲取聊天對(duì)象,填寫發(fā)送內(nèi)容,選擇表情、與發(fā)送字體的顏色,點(diǎn)擊發(fā)送即可進(jìn)行聊天。在未選擇聊天對(duì)象時(shí),點(diǎn)擊發(fā)送,提示用戶選擇聊天對(duì)象;在未填寫發(fā)送的內(nèi)容點(diǎn)擊發(fā)送時(shí),提示用戶未填寫發(fā)送內(nèi)容。圖4.4發(fā)送信息流程圖4.1.4聊天信息顯示模塊聊天信息顯示,首先必須保證聊天對(duì)象的用戶名不為空,當(dāng)不為空時(shí),系統(tǒng)將獲取用戶名,在application作用域中獲得,相應(yīng)的聊天記錄屬性,返回到j(luò)sp中,并顯示在界面中。圖4.5顯示聊天記錄流程圖4.1.5系統(tǒng)消息顯示模塊在用戶登錄聊天室時(shí),系統(tǒng)存儲(chǔ)聊天室的聊天守則,并獲取登錄的用戶名,存儲(chǔ)系統(tǒng)公告(XXX進(jìn)入聊天室?。划?dāng)用戶被管理員踢出聊天室時(shí),修改系統(tǒng)公告(XXX,被管理員踢出聊天室?。?。圖4.6顯示系統(tǒng)信息流程圖4.1.6管理員管理用戶模塊當(dāng)用戶使用了不文明的語言,管理員有權(quán)利該用戶踢出聊天室。獲取用戶名,在application中的userMap中獲得相應(yīng)的用戶session,清除該session即可將用戶踢下線。圖4.7管理員管理用戶流程圖4.1.7輔助功能顯示與某人的全部聊天信息,當(dāng)聊天的內(nèi)容占滿全屏,點(diǎn)擊顯示全部消息,即可顯示全部信息。當(dāng)用戶離開聊天室時(shí),系統(tǒng)獲取當(dāng)前用戶名,并釋放user的session。檢測(cè)用戶是否有新消息:圖4.8檢測(cè)信息流程圖4.2算法4.2.1用戶對(duì)話存儲(chǔ)算法首先獲取進(jìn)行對(duì)話雙方的用戶名以及id,再比較兩者的id若id1<id2,則messageName=userName1+userName2;否則messageName=userName2+userName1。圖4.9用戶對(duì)話存儲(chǔ)算法4.2.2檢測(cè)用戶是否被踢算法當(dāng)用戶登錄進(jìn)入聊天室時(shí),向application中存儲(chǔ)一個(gè)isKickedMap屬性,將用戶名添加到isKickedMap中并賦值為1(1表示在線,-1表示被踢)。當(dāng)管理員將某個(gè)用戶踢下線時(shí),將isKickedMap屬性中的改用戶名修改成“*”符號(hào),并賦值為-1。Jsp頁(yè)面每秒刷新一次,當(dāng)檢測(cè)到isKickedMap屬性中g(shù)etAttribute(“*”)==-1時(shí),則該用戶被踢下線,此時(shí)要在jsp頁(yè)面中提示用戶已被踢下線,并返回登陸界面。圖4.10檢測(cè)用戶是否被踢算法4.2.3檢測(cè)當(dāng)前用戶是否有新消息算法Jsp每隔1s就檢測(cè)一次當(dāng)前session中的call屬性中是否有值,如果有值,返回到j(luò)sp中,在jsp中遍歷出有個(gè)值,并且讓id為該值的<tr>標(biāo)簽的背景色為紅色。圖4.11檢測(cè)當(dāng)前用戶是否有新消息算法4.3界面設(shè)計(jì)4.3.1登錄首頁(yè)登陸首頁(yè)是寫在中的,前臺(tái)主要運(yùn)用jsp動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。并且利用JavaScript語言對(duì)用戶進(jìn)行了信息正確錄入判斷。點(diǎn)擊登錄界面中的注冊(cè)用戶,即可訪問用戶注冊(cè)界面。圖4.12登錄界面用戶使用微信掃碼進(jìn)入系統(tǒng)內(nèi),接下來點(diǎn)擊微信登錄,對(duì)微聊室系統(tǒng)進(jìn)行授權(quán),點(diǎn)擊允許按鈕進(jìn)入微聊室主頁(yè)面,這時(shí)用戶登錄成功。用戶登錄頁(yè)面設(shè)計(jì)代碼為:<view
class="login-container"><view
class="title">歡迎來到微聊室</view><view
class="login-box"><button
class="login-btn"
style="background-color:green;"
bindtap="getUserProfile"
>登錄</button></view></view>4.3.2注冊(cè)頁(yè)面用戶進(jìn)入聊天室注冊(cè)界面,接下來點(diǎn)擊注冊(cè),對(duì)注冊(cè)進(jìn)行授權(quán),點(diǎn)擊允許按鈕進(jìn)入聊室主頁(yè)面,這時(shí)用戶登錄成功。圖4.13注冊(cè)界面4.3.3聊天室頁(yè)面聊天室界面:左側(cè)是在線人員列表顯示,和在線人數(shù)的統(tǒng)計(jì);右側(cè)是專門顯示系統(tǒng)公告的地方;中間屬于聊天內(nèi)容的顯示;下方是用戶發(fā)送消息的模塊,在該模塊中,當(dāng)用戶點(diǎn)擊聊天對(duì)象的用戶名,下方的第一個(gè)input框?qū)@取到聊天對(duì)象的用戶名,還可以選擇聊天的表情與字體的顏色,在最下角的input框可以編輯所要說的話,點(diǎn)擊發(fā)送,即可發(fā)送聊天內(nèi)容。圖4.14聊天室主界面4.4服務(wù)器端詳細(xì)設(shè)計(jì)4.4.1界面設(shè)計(jì)首先,調(diào)用Dimension()功能準(zhǔn)確設(shè)定框架的尺寸,調(diào)用服務(wù)器端構(gòu)造函數(shù)內(nèi)程序初始化函數(shù),產(chǎn)生服務(wù)器端界面。其次,創(chuàng)建并管理與客戶端交互使用的應(yīng)用程序的數(shù)據(jù)庫(kù),使之能夠運(yùn)行于不同環(huán)境下,從而實(shí)現(xiàn)數(shù)據(jù)和應(yīng)用同步。Java中組件置于窗體上的模式一般不受絕對(duì)坐標(biāo)的支配,而是通過一個(gè)“布局管理器”按照組件添加的先后順序來確定它們的位置。管理器會(huì)按照一定規(guī)則對(duì)各個(gè)組件進(jìn)行管理,使之能夠被正確布置到合適的位置上。各容器擁有各自的管理器。管理器是對(duì)容器進(jìn)行管理并為用戶提供所需功能的軟件模塊。采用了不同管理器,組件在尺寸,外形,位置等方面都會(huì)有很大差異。4.4.2功能模塊的實(shí)現(xiàn)主要是實(shí)現(xiàn)各種按鈕和菜單項(xiàng)的偵聽和響應(yīng),設(shè)置快捷鍵等工作。在服務(wù)器端構(gòu)造函數(shù)中用setMnemonic()和setAccelerator()方法設(shè)置菜單項(xiàng)和按鈕的快捷鍵,其中,功能相同的菜單項(xiàng)和按鈕使用相同的快捷鍵。在程序化初始化函數(shù)init()中,用addActionListener()方法為各組件添加事件偵聽。事件響應(yīng)部分則在actionPerformed()函數(shù)中用if-else選擇結(jié)構(gòu)來實(shí)現(xiàn),這個(gè)部分是GUI程序設(shè)計(jì)的核心部分。當(dāng)事件被觸發(fā)時(shí),系統(tǒng)就會(huì)調(diào)用這個(gè)函數(shù),利用if-else結(jié)構(gòu)的特性,從上到下依次判斷。當(dāng)找到符合條件的if語句后,就執(zhí)行其后大括號(hào)內(nèi)相關(guān)的內(nèi)容。如沒有滿足的條件,程序可以采取忽略或者調(diào)用系統(tǒng)默認(rèn)函數(shù)進(jìn)行處理。本程序的主要事件包括:startServer(或startItem)啟動(dòng)服務(wù)端、stopServer(或stopItem)停止服務(wù)端、portSet(或portItem)端口設(shè)置、exitButton(或exitItem)退出程序、helpItem菜單欄中的幫助和sysMessage(或sysMessageButton)發(fā)送系統(tǒng)信息六個(gè)事件。當(dāng)用戶選擇“啟動(dòng)服務(wù)”或單擊“啟動(dòng)服務(wù)”按鈕時(shí),啟動(dòng)服務(wù)端事件被觸發(fā),系統(tǒng)就會(huì)調(diào)用startService()函數(shù)。這個(gè)函數(shù)主要完成生成服務(wù)器端ServerSocket對(duì)象,設(shè)置startServer、portSet、portItem為不可用狀態(tài),stopServer、sysMessage為可用狀態(tài),調(diào)用ServerListen函數(shù)啟動(dòng)一個(gè)后臺(tái)偵聽線程,偵聽客戶端上下線信息。當(dāng)用戶選擇“停止服務(wù)”或單擊“停止服務(wù)”按鈕時(shí),停止服務(wù)端事件被觸發(fā)。系統(tǒng)調(diào)用showConfirmDialog()函數(shù)生成一確認(rèn)對(duì)話框,當(dāng)用戶再一次確認(rèn)停止時(shí),stopSerice()函數(shù)就會(huì)被調(diào)用。這個(gè)函數(shù)首先向所有人發(fā)送服務(wù)器關(guān)閉的消息,然后清理用戶列表,將stopServer、sysMessage設(shè)置為不可用狀態(tài),tartServer、portSet、portItem為可用狀態(tài)。最后在文本區(qū)里顯示“服務(wù)端已經(jīng)關(guān)閉”的信息來告知使用者。當(dāng)用戶選擇“端口配制”或單擊“端口配制”按鈕時(shí),端口配制事件被觸發(fā)。系統(tǒng)調(diào)用PortConf()函數(shù),生成一個(gè)端口設(shè)置對(duì)話框和用戶交互。用戶可以更改默認(rèn)的偵聽端口,然后點(diǎn)擊“確定”按鈕保存設(shè)置。當(dāng)用戶選擇“退出”或單擊“退出”按鈕時(shí),退出程序事件被觸發(fā)。系統(tǒng)調(diào)用showConfirmDialog()函數(shù)生成確認(rèn)對(duì)話框來征詢用戶意見,當(dāng)?shù)玫皆僖淮未_認(rèn)時(shí),stopService()和exit()函數(shù)被調(diào)用,系統(tǒng)執(zhí)行和“停止服務(wù)”一樣的操作后,正確退出。當(dāng)用戶選擇“幫助”菜單命令時(shí),幫助事件被觸發(fā)。系統(tǒng)調(diào)用helpDialog()函數(shù),生成幫助對(duì)話框,向用戶介紹系統(tǒng)使用的方法。用戶可以借助幫助文件快速上手。當(dāng)用戶向文本框內(nèi)輸入信息,選擇發(fā)送對(duì)象,點(diǎn)擊確定按鈕后,發(fā)送系統(tǒng)消息的事件被觸發(fā)。系統(tǒng)調(diào)用SendSystemMessage()方法向接收對(duì)象發(fā)送信息。這個(gè)函數(shù)首先獲得列表框的內(nèi)容,確定接收者。根據(jù)接收者的不同,分別調(diào)用sendMsgToAll()和向某一特定用戶發(fā)送信息。同時(shí)將發(fā)送消息框架的消息清空。4.5客戶端詳細(xì)設(shè)計(jì)4.5.1界面設(shè)計(jì)客戶端界面的設(shè)計(jì)在整體上和服務(wù)器端相似,只是在具體菜單項(xiàng)、工具欄按鈕上稍有區(qū)別。DownPanel面板上也新增“表情”列表框和一個(gè)“悄悄話”選擇框。主要包括三個(gè)菜單組:“操作”(operateMenu)、“設(shè)置”(conMenu)、“幫助”(helpMenu)。其中,“操作”菜單組包括“用戶登陸”(loginButton)、“用戶注銷”(logoffButton)、“退出”(exitButton)三個(gè)菜單項(xiàng)。“設(shè)置”菜單組包括“用戶設(shè)置”(userButton)和“連接設(shè)置”(connectButton)兩個(gè)菜單項(xiàng)。與之對(duì)應(yīng),工具欄部分包括5個(gè)按鈕,分別為:“用戶設(shè)置”、“連接設(shè)置”、“登陸”、“注銷”和“退出”4.5.2功能模塊的實(shí)現(xiàn)在ChatClient.java文件里用setDefaultCloseOperation()函數(shù)添加事件處理,用來響應(yīng)框架的關(guān)閉事件。用addActionListener()添加菜單項(xiàng)和工具按鈕的事件處理,用來響“用戶設(shè)置”、“連接設(shè)置”、“應(yīng)用戶登陸”、“用戶注銷”、“退出”和信息“發(fā)送”等事件的發(fā)生。當(dāng)用戶選擇“用戶設(shè)置”菜單項(xiàng)或點(diǎn)擊“用戶設(shè)置”按鈕時(shí),用戶設(shè)置事件被觸發(fā),系統(tǒng)就會(huì)調(diào)用UserConf構(gòu)造函數(shù),生成一個(gè)userConf對(duì)象。這是一個(gè)對(duì)話框交互界面,系統(tǒng)默認(rèn)的用戶名(userName)“匆匆過客”被當(dāng)作一個(gè)參數(shù)傳遞給構(gòu)造函數(shù)。當(dāng)用戶完成用戶信息修改后,通過userInputName字段把用戶名賦給userName變量保存。
97725測(cè)試326175.1用戶登錄測(cè)試用戶登錄主要是進(jìn)行登錄功能的測(cè)試,需要考慮外在因素和內(nèi)在因素,主要考慮的問題是有無互聯(lián)網(wǎng)。表5.1登錄測(cè)試表功能測(cè)試概述測(cè)試編號(hào)0001功能描述用戶注冊(cè)/登錄用例目的測(cè)試用戶能否注冊(cè)/登錄成功前提條件具有電腦端可掃碼操作測(cè)試編號(hào)測(cè)試前提期望輸出實(shí)際情況是否正確錯(cuò)誤編號(hào)1手端未連網(wǎng)正常登錄/注冊(cè)登錄/注冊(cè)失敗正確2電腦端連網(wǎng)正常登錄/注冊(cè)登錄/注冊(cè)成功正確通過對(duì)用戶登錄的測(cè)試,登錄功能可以實(shí)現(xiàn)。不足之處是每次登錄都需要經(jīng)過允許,沒有解決首次登錄后再次登錄不用驗(yàn)證的問題。260825.2用戶聊天測(cè)試用戶聊天測(cè)試主要測(cè)試用戶是否能夠進(jìn)入聊天室,能否實(shí)現(xiàn)發(fā)送文字和圖片。表5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年深海礦產(chǎn)資源勘探技術(shù)深海地質(zhì)勘探技術(shù)產(chǎn)業(yè)創(chuàng)新驅(qū)動(dòng)趨勢(shì)報(bào)告
- 小區(qū)情防制度方案(3篇)
- 交警執(zhí)法提升制度方案(3篇)
- 模型制作方案么(3篇)
- 2025年a級(jí)考試題及答案
- 同業(yè)暫行管理辦法
- 后廚員工管理辦法
- 員工會(huì)員管理辦法
- 唐山代建管理辦法
- 商業(yè)招牌管理辦法
- 《電力物資綠色包裝技術(shù)規(guī)范》
- 《道路車輛 汽車電纜 第3部分:交流30V或直流60V單芯銅導(dǎo)體電纜的尺寸和要求》
- 安全生產(chǎn)管理制度培訓(xùn)現(xiàn)場(chǎng)演示
- 高中美術(shù)教學(xué)中的藝術(shù)與思維能力培養(yǎng)總結(jié)
- 卡博特藍(lán)星化工(江西)有限公司年產(chǎn)8000噸氣相二氧化硅項(xiàng)目環(huán)境影響報(bào)告
- 2023供熱管道光纖監(jiān)測(cè)系統(tǒng)技術(shù)規(guī)程
- 國(guó)際籃聯(lián)三對(duì)三籃球比賽記錄表
- 07FK02防空地下室通風(fēng)設(shè)備安裝圖集
- 全國(guó)應(yīng)急普法知識(shí)競(jìng)賽參考題庫(kù)(500題)
- 《走進(jìn)網(wǎng)絡(luò)時(shí)代》課件
- YY/T 1819-2022牙科學(xué)正畸矯治器用膜片
評(píng)論
0/150
提交評(píng)論