版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計</b></p><p> 姓 名: </p><p> 學(xué) 號: </p><p> 系 部: 信息工程系 </p><p> 專 業(yè): 軟件技術(shù)
2、 </p><p> 設(shè)計題目: 聊天室(Java) </p><p> 指導(dǎo)教師: </p><p> 職 稱: </p><p> 2012年07月 </p><p><b> 摘
3、 要</b></p><p> 隨著Internet技術(shù)的發(fā)展,人們的日常生活已經(jīng)離不開網(wǎng)絡(luò)。未來社會人們的生活和工作將越來越依賴于數(shù)字技術(shù)的發(fā)展,越來越數(shù)字化、網(wǎng)絡(luò)化、電子化、虛擬化。電子商務(wù)也隨著網(wǎng)絡(luò)的發(fā)展日益和人們的生活貼近。Internet的發(fā)展歷程以及目前的應(yīng)用狀況和發(fā)展趨勢,可以充分地相信網(wǎng)絡(luò)技術(shù)將極大的改變我們的生活和工作方式,甚至社會的價值觀也會發(fā)生某種變化。</p>
4、<p> 在網(wǎng)絡(luò)飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個方面發(fā)揮著重要的作用。傳統(tǒng)的信息交流工具,不能滿足人們即時獲取信息的要求。因此,網(wǎng)上聊天便成為人們的首選,而一個好的聊天工具是:操作簡單、方便、人性化,節(jié)省系統(tǒng)資源。為了方便與人即時聯(lián)系及數(shù)據(jù)匯報,特構(gòu)建此聊天系統(tǒng)。</p><p> 本論文通過Java的Socket實現(xiàn)了一個基于局域網(wǎng)
5、和網(wǎng)絡(luò)的聊天室程序的開發(fā)。本論文詳細(xì)介紹其設(shè)計和實現(xiàn)過程。</p><p> 關(guān)鍵詞:聊天室;Java;客戶機/服務(wù)器;Socket;</p><p><b> Abstract</b></p><p> With the development of Internet technology, people's daily liv
6、es can not be separated from the network. Society, people living and working more and more dependent on the development of digital technology, more and more digital, networked, electronic, virtualization. E-commerce With
7、 the development of increasingly close to people's lives. The course of development of the Internet and the current application status and development trend, we can fully believe that network technology will dramatic
8、a</p><p> The rapid development of network, the Internet has become the quick access, publish, and an important channel for transmitting information, it play an important role in a person's political, e
9、conomic, and other aspects of life. The traditional information-sharing tools can not meet the requirements of people instant access to information. Therefore, online chats will become the first choice of the people, and
10、 a good chat tools are: simple operation, convenient, user-friendly, saving system resou</p><p> In this thesis, through the Java Socket development of a local area network and network-based chat program. T
11、his paper details the design and implementation process.</p><p> Keywords: chat rooms; the Java; Client / Server;the Socket;</p><p><b> 目 錄</b></p><p> 首頁………………………
12、…………………………………………………………</p><p> 中文摘要……………………………………………………………………………</p><p> 英文摘要……………………………………………………………………………</p><p> 緒論………………………………………………………………………..</p><p> 1.1 聊天室的發(fā)
13、展………………………………………………………………………</p><p> 1.2 即時通訊的9大應(yīng)用………………………………………………………………</p><p> 實現(xiàn)聊天室的相關(guān)技術(shù)及環(huán)境……………………………………………</p><p> 2.1 Java的概述………………………………………………………………</p><p>
14、; 2.2 Java的特點………………………………………………………………</p><p> 2.3 TCP/IP協(xié)議常識…………………………………………………………</p><p> 2.4 SOCKET的簡介……………………………………………………………</p><p> 2.5 系統(tǒng)開發(fā)工具……………………………………………………………</p&g
15、t;<p> 網(wǎng)絡(luò)聊天系統(tǒng)的系統(tǒng)設(shè)計…………………………………………………</p><p> 3.1 項目概述………………………………………………………………</p><p> 3.2 功能需求………………………………………………………………</p><p> 3.3 聊天室系統(tǒng)的系統(tǒng)設(shè)計………………………………………………</p>
16、<p> 3.3.1 聊天系統(tǒng)工作原理……………………………………………</p><p> 3.3.2 系統(tǒng)實現(xiàn)原理…………………………………………………</p><p> 第四章 聊天室系統(tǒng)的實現(xiàn)及測試 …………………………………………………</p><p><b> 4.1 </b></p><p&
17、gt;<b> 總結(jié)</b></p><p><b> 致謝</b></p><p><b> 參考文獻(xiàn)</b></p><p> 附錄 部分源程序代碼</p><p><b> 第1章 緒 論</b></p><p>
18、; 網(wǎng)絡(luò)技術(shù)是計算機領(lǐng)域中發(fā)展最為迅速的技術(shù)之一,它在政治、經(jīng)濟(jì)、生活等各個方面發(fā)揮著十分重要的作用。隨著計算機網(wǎng)絡(luò)的普及和推廣,將會有越來越多的人利用網(wǎng)上資源,享受不斷發(fā)展和完善的網(wǎng)絡(luò)服務(wù),以此來提高工作效率和水平。隨著我國經(jīng)濟(jì)的發(fā)展和網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)技術(shù)也越來越多地被應(yīng)用于日常工作之中。在程序設(shè)計領(lǐng)域,面向?qū)ο蟮木幊碳夹g(shù)正在逐步代替面向過程的程序設(shè)計技術(shù),成為計算機應(yīng)用設(shè)計開發(fā)的主流,尤其在網(wǎng)絡(luò)技術(shù)開發(fā)中,面向?qū)ο蟮腏ava語言編
19、程和相關(guān)的Java技術(shù)正在以前所未有的速度發(fā)展。網(wǎng)上購物、網(wǎng)上銀行、遠(yuǎn)程教學(xué)、網(wǎng)絡(luò)聊天、網(wǎng)絡(luò)游戲等都開始使用Java技術(shù)。而且Java使平臺無慣性的思想成為現(xiàn)實,獨立的Java程序可以被編譯為與平臺無關(guān)的字節(jié)碼,這種字節(jié)碼可以運行在任何擁有Java解釋器的機器上。真正降低了企業(yè)成品和程序員的負(fù)擔(dān)。</p><p> 隨著信息科學(xué)的進(jìn)步與互聯(lián)網(wǎng)絡(luò)的發(fā)展,雖然通過網(wǎng)絡(luò)的聊天軟件很多,但針對于內(nèi)部系統(tǒng)的、局域網(wǎng)內(nèi)的聊
20、天和公司內(nèi)部的上下級溝通的聊天通訊軟件卻很少。所以開發(fā)一個此類型的即時通訊系統(tǒng)就變得非常有意義了。</p><p> 1.1 聊天室的發(fā)展</p><p> 聊天室作為即時通訊的一種,即時通訊(Instant Messenger,簡稱IM)軟件可以說是目前我國上網(wǎng)用戶使用率最高的軟件,無論是老牌的ICQ,還是國內(nèi)用戶量第一的騰訊QQ,以及微軟的MSN Messenger都是大眾關(guān)注的焦
21、點,它們能讓你迅速的在網(wǎng)上找到你的朋友或工作伙伴,可以實時交談和互傳信息。而且,現(xiàn)在不少IM軟件還集成了數(shù)據(jù)交換、語音聊天、網(wǎng)絡(luò)會議、電子郵件的功能。</p><p> IM軟件的歷史并不久遠(yuǎn),但是它一誕生,就立即收到網(wǎng)民的喜愛,并風(fēng)靡全球。在它的發(fā)展史上,以色列人是功不可沒的。正是四位以色列籍的年輕人,在1996年7月成立的Mirabilis公司,并于同年11月推出了全世界第一個即時通訊軟件ICQ,取意為“我
22、在找你”——“I Seek You”,簡稱ICQ了。知道現(xiàn)在,ICQ已經(jīng)推出了它的2002a版本,在全球即時通訊市場上占有非常重要的地位。</p><p> 目前,國內(nèi)最為流行的即時通訊軟件是OICQ(簡稱QQ)。它以良好的中文界面和不斷增強的功能形成了一定的QQ網(wǎng)絡(luò)文化。Messenger雖出道較晚,但依托微軟的強大背景,實力也不可小視。最為Windows XP的一部分,Messenger整合了操作系統(tǒng)的許多
23、功能,如多種形式的聊天選擇、多人的單窗口討論式交流以及充分的文件與桌面共享功能等。它的令人耳目一新的中文界面和注冊方式,連同它強大的功能了,著實吸引了眾多的眼球的注視,此外還有許多有特點的IM軟件。</p><p> 1.2 即時通訊的9大應(yīng)用</p><p> 第2章 系統(tǒng)開發(fā)環(huán)境與工具的選擇</p><p> 2.1 本課題開發(fā)環(huán)境的選擇</p&g
24、t;<p> 在進(jìn)行開發(fā)之前,首先決定的第一個問題就是,該使用什么開發(fā)環(huán)境來編寫該系統(tǒng)?以目前常用的開發(fā)語言來講有C/C++、.NET技術(shù),JAVA、 Visual Basic幾種。還有Eclipse,、Borland JBuilder等,這些并不是程序語言,而是程序語言在建構(gòu)程序時的“集成開發(fā)工具”,不過它們在開發(fā)設(shè)計的過程中也占有相當(dāng)重要的角色,因為選用正確的集成開發(fā)工具,可以加速程序設(shè)計的進(jìn)行、測試與排錯,因而對整
25、體進(jìn)度具有決定性的影響。</p><p> 基于以下幾點,選擇JAVA語言開發(fā)技術(shù)。</p><p> 1、就執(zhí)行平臺而言,必須考慮的問題之一是用戶可能使用的操作系統(tǒng)。用戶可能使用的是Windows Linux。JAVA語言具有平臺無關(guān)性,可以不需要任何修改就可以運行在支持JAVA的任何計算機上。</p><p> 2、JAVA的Swing 組件開發(fā)技術(shù)可以
26、開發(fā)豐富的圖形界面,并且Swing API類提供了豐富的外部接口和方法,可以方便實現(xiàn)系統(tǒng)功能。</p><p> 3、就項目開發(fā)而言,純粹的面向?qū)ο螅由蠑?shù)量巨大的類所提供的方法(函數(shù))庫的支持,使得利用Java開發(fā)各種應(yīng)用程序,可以說是易如反掌。此外,在程序除錯、修改、升級和增加新功能等方面,因其面向?qū)ο蟮奶匦裕沟眠@些維護(hù)也變得非常容易。</p><p> 4、Java支持內(nèi)在的多
27、線程運行,提供分布式的并發(fā)機制,運行效率高。</p><p> 5、異常處理,為了使Java程式更穩(wěn)定、更安全,Java引入了異常處理機制。能夠在程序中產(chǎn)生異常情況的地方,執(zhí)行相對應(yīng)的處理,不至于因突發(fā)或意外的錯誤造成執(zhí)行中斷或是死機。通過這種異常處理,不僅能夠清晰地掌握整個程序執(zhí)行的流程,也使得程序的設(shè)計更為嚴(yán)謹(jǐn)。</p><p> 6、高性能,Java可以在運行時直接將目標(biāo)代碼翻譯
28、成機器指令。Sun用直接解釋器一秒鐘內(nèi)可調(diào)用300,000個過程。翻譯目標(biāo)代碼的速度與C/C++的性能沒什么區(qū)別。</p><p> 7、網(wǎng)絡(luò)功能,Java可以說是借助因特網(wǎng)而重獲新生的,自然具備編寫網(wǎng)絡(luò)功能的程序。不論是一般因特網(wǎng)/局域網(wǎng)的程序,如Socket、Email、基于Web服務(wù)器的Servlet、JSP程序,甚至連分布式網(wǎng)絡(luò)程序,如CORBA、RMI等的支持也是非常豐富的,使用起來也很方便。<
29、/p><p> 8、源回收處理,Garbage Collection是由JVM對內(nèi)存實行動態(tài)管理的。程序需要多少內(nèi)存、哪些程序的內(nèi)存已經(jīng)不使用了,需要釋放歸還給系統(tǒng),這些煩瑣且危險的操作全部交由JVM去管理。讓我們能夠更專心地編寫程序,而不需要擔(dān)心內(nèi)存的問題。內(nèi)存的統(tǒng)一管理,對于跨平臺也有相當(dāng)大的幫助。</p><p> 2.2 本課題開發(fā)工具的選擇</p><
30、;p> Java的開發(fā)工具很多,而且各有優(yōu)缺點,Eclipse是一個開放可擴展的集成開發(fā)環(huán)境(IDE)。它不僅可以用于Java的開發(fā),通過開發(fā)插件,它可以構(gòu)建其他的開發(fā)工具。Eclipse是開放源代碼的項目,并可以免費下載。支持最新的Java標(biāo)準(zhǔn),并且縮短了開發(fā)周期。一直以其友好的集成開發(fā)環(huán)境在業(yè)界受到廣泛的贊譽,這也是Eclipse一直是廣大程序員最喜愛的Java開發(fā)工具的原因之一。</p><p>
31、 Eclipse的可視化集成開發(fā)環(huán)境包括文本編輯器、工程創(chuàng)建工具、對象瀏覽器和調(diào)試器等。用戶可以在集成開發(fā)環(huán)境中創(chuàng)建工程和打開工程,建立、打開和編輯文件,并可以編譯、運行和調(diào)試應(yīng)用程序??梢哉f在Eclipse集成開發(fā)環(huán)境中開發(fā)Java程序,快速而且高效。其主要特點如下:</p><p> 1.開放的可擴展的IDE</p><p> 2.成功的底層圖形界面API</p>&
32、lt;p> 3.強大的插件加載功能</p><p> 4.可以通過導(dǎo)入一些CVS相關(guān)的插件來實現(xiàn)版本管理的便易性</p><p> 2.3 本課題開發(fā)技術(shù)的選擇</p><p> 本課題選擇了java Socket技術(shù)開發(fā)網(wǎng)絡(luò)聊天室。什么是socket? socket是一種用于表達(dá)兩臺機器之間連接“終端”的軟件抽象。對于一個給定的連接,在每臺機器上都有
33、一個socket,你可以想象一個虛擬的"電纜"工作在兩臺機器之間,“電纜”插在兩臺機器的socket上。當(dāng)然,物理硬件和兩臺機器之間的“電纜”這些連接裝置都是未知的,抽象的所有目的就是為了讓我們不必了解更多的細(xì)節(jié)。 簡單的說,一臺計算機上的socket同另一臺計算機通話創(chuàng)建一個通信信道,程序員可以用這個信道在兩臺機器之間發(fā)送數(shù)據(jù)。當(dāng)你發(fā)送數(shù)據(jù)時,TCP/IP協(xié)議棧的每一層都給你的數(shù)據(jù)里添加適當(dāng)?shù)膱箢^。有個好消
34、息是java語言隱藏了所有這些細(xì)節(jié),這也是為什么他們有時被叫做“流socket”。 思考一下socket像電話聽筒一樣在電話的任意一端--你和我通過一個專門的信道來進(jìn)行通話和接聽。會話將一直進(jìn)行下去直到我們決定掛斷電話(除非我們使用蜂窩電話),除非我們掛斷電話,否則我們各自的電話線路都會占線。 如果你需要在兩臺機器之間進(jìn)行通訊而不使用高級機制像ORBs(以及CORBA, RMI, IIO</p><p
35、> 一般而言,java socket有下面兩種類型:</p><p> ?TCP socket(由Socket類實現(xiàn),下面的章節(jié)我們將對其討論)</p><p> ?UDP socket(由DatagramSocket類實現(xiàn))</p><p> TCP和UDP扮演同樣的角色,但是實現(xiàn)是不同的。兩者都接收傳輸協(xié)議數(shù)據(jù)包并把它們傳遞到表示層。TCP把信息分
36、解成數(shù)據(jù)包(datagrams)并在接收端重新組裝起來。它還對丟失的數(shù)據(jù)包進(jìn)行重新傳輸?shù)恼埱?。TCP減少了上層的擔(dān)憂。UDP沒有組裝和重傳請求的功能。它只是傳輸數(shù)據(jù)包。更高層的層必須確保信息的完整性以及組合順序的正確性。</p><p><b> 需求分析</b></p><p><b> 3.1 項目概述</b></p>&l
37、t;p> 3.1.1 產(chǎn)品描述:</p><p> 人們?nèi)粘I钪性絹碓蕉嗟厥褂眠@項新的技術(shù)來為自己的工作和學(xué)習(xí)服務(wù)。一個操作簡單、界面友好、運行穩(wěn)定的網(wǎng)絡(luò)聊天室對于小型局域網(wǎng)內(nèi)的用戶可以起到很好的交流作用。本聊天室,所謂聊天室就是一個可以讓許多用戶同時互相通信的網(wǎng)上園地,個人用戶可以通過網(wǎng)上聊天室將自己融入整個主流社會中。由于目前上網(wǎng)的一般都是具有高學(xué)歷的新一代創(chuàng)業(yè)者,因此,在網(wǎng)上聊天室這個虛擬的社會
38、中,可以結(jié)交各層次各地方的朋友,從而為自己獲取更多的知識和更多的閱歷。</p><p> 該小聊天室是為許多喜愛上網(wǎng)聊天的朋友開發(fā)設(shè)計的,希望能在現(xiàn)有的眾多聊天室中給大家多一種的選擇。和許多大型的網(wǎng)絡(luò)聊天室相比該小聊天室比較簡單,但能實現(xiàn)聊天的基本功能,點對多聊天,點對點聊天等,基于時間和技術(shù)的原因,很遺憾傳送文件的功能尚未實現(xiàn)。本聊天室主要由注冊界面、登錄界面、聊天室界面、私聊界面、查看聊天內(nèi)容界面、功能設(shè)置
39、界面等構(gòu)成。整個設(shè)計簡潔明了、實用,使用簡單。</p><p> 圖3-1 客戶端結(jié)構(gòu)圖</p><p> 圖3-2 服務(wù)器結(jié)構(gòu)圖</p><p> 3.1.2 產(chǎn)品功能</p><p> 本項目具有以下主要功能</p><p><b> 客戶端:</b></p>&l
40、t;p> 用戶注冊功能,實現(xiàn)用戶的登入ID注冊和個人信息。</p><p> 用戶登入功能,實現(xiàn)合法注冊用戶的登入。</p><p> 公聊功能,實現(xiàn)用戶和在線的所有用戶聊天方式。</p><p> 私聊功能,實現(xiàn)用戶和在線的其他用戶一對一的聊天方式。</p><p> 查看聊天記錄,實現(xiàn)用戶查看已聊天的歷史聊天內(nèi)容,分為公聊
41、記錄和私聊記錄。</p><p> 發(fā)送表情和設(shè)置聊天內(nèi)容字體,并可以設(shè)置字體顏色和背景色等。</p><p><b> 服務(wù)端:</b></p><p> 可以不斷的監(jiān)聽客戶端請求</p><p><b> 顯示登入客戶的信息</b></p><p><b&g
42、t; 發(fā)送系統(tǒng)消息</b></p><p><b> 3.2 功能需求</b></p><p> 3.2.1 用戶注冊</p><p> 需求描述:用戶填寫系統(tǒng)給出的注冊項目,并提交給系統(tǒng),成功注冊后,系統(tǒng)生成用戶所注冊的登入ID,并保存在字段當(dāng)中。</p><p><b> 執(zhí)行者:用戶
43、</b></p><p><b> 前置條件:無</b></p><p><b> 后置條件:無</b></p><p><b> 正常過程:</b></p><p> 向服務(wù)端發(fā)送注冊請求;</p><p> 服務(wù)端響應(yīng)客戶端,客
44、戶端彈出注冊信息表單;</p><p> 用戶填寫完表單后將注冊數(shù)據(jù)傳給服務(wù)端處理,并保存在字段中;</p><p> 返回客戶端一個響應(yīng),顯示用戶注冊的ID,提示注冊成功。</p><p><b> 異常過程(可選):</b></p><p> 用戶填寫表單的數(shù)據(jù)格式不正確或表單中存在空缺的項,客戶端給予提示信
45、息,并將光標(biāo)定位到出什么不能為空或注冊錯誤的地方;</p><p> 用戶注冊的項在數(shù)據(jù)庫中發(fā)生沖突,客戶端提示注冊不成功并提示已有用戶注冊;</p><p> 服務(wù)器未啟動或出現(xiàn)異常。</p><p> 3.2.2 用戶登入</p><p> 需求描述:用戶填寫登入ID 和密碼,經(jīng)服務(wù)器驗證成功后進(jìn)入聊天室主界面。</p>
46、;<p><b> 執(zhí)行者:用戶</b></p><p> 前置條件:用戶成功注冊或已經(jīng)擁有一個合法的ID號</p><p><b> 后置條件:無</b></p><p><b> 正常過程:</b></p><p> 向服務(wù)端請求連接,并發(fā)送登錄信息
47、;</p><p> 服務(wù)端處理并查詢數(shù)據(jù)庫中的用戶信息;</p><p> 返回客戶端一個響應(yīng),提示登錄成功,彈出聊天室主界面;</p><p> 刷新其他在線用戶的用戶列表信息。</p><p><b> 異常過程(可選):</b></p><p> 用戶填寫的ID或密碼與數(shù)據(jù)庫中的
48、紀(jì)錄不匹配,客戶端;</p><p><b> 提示登錄失??;</b></p><p> 客戶端設(shè)置的服務(wù)器地址或端口有誤。</p><p><b> 3.2.3 公聊</b></p><p> 需求描述:用戶在聊天室公聊界面的發(fā)言內(nèi)容,聊天室中的其他在線用戶可以正常接受并正確顯示(包括發(fā)送
49、的表情和用戶設(shè)置的字體顏色)。</p><p><b> 執(zhí)行者:登入用戶</b></p><p> 前置條件:用戶登錄成功</p><p><b> 后置條件:無</b></p><p><b> 正常過程:</b></p><p> 客戶端
50、用戶登入成功后,啟動客戶端功能線程;</p><p> 客戶端將用戶發(fā)送的信息打包傳送給服務(wù)端;</p><p> 服務(wù)端進(jìn)行數(shù)據(jù)分析后,并將用戶的信息進(jìn)行正確的處理;</p><p> 傳給處在聊天室的所有在線其他用戶并正常顯示。</p><p><b> 異常過程(可選):</b></p>&l
51、t;p> 客戶端與服務(wù)端斷開連接,客戶端提示信息發(fā)送失??;</p><p> 服務(wù)器未登錄上線,客戶端無法發(fā)送信息。</p><p><b> 3.2.3 私聊</b></p><p> 需求描述:用戶可選擇聊天室的在線用戶列表中任意一個用戶聊天,雙方發(fā)送的信息對于聊天室的其他用戶是不可見的。</p><p&g
52、t;<b> 執(zhí)行者:私聊用戶</b></p><p> 前置條件:用戶登錄成功,私聊的對方在線</p><p><b> 后置條件:無</b></p><p><b> 正常過程:</b></p><p> 客戶端與服務(wù)端建立通訊;</p><p
53、> 客戶端將用戶發(fā)送的信息打包傳送給服務(wù)端;</p><p> 服務(wù)端進(jìn)行數(shù)據(jù)分析,查找目的用戶的ID,并將用戶的信息傳給目的用戶;</p><p> 目的用戶收到服務(wù)器的信息后,正確的顯示并保存。</p><p><b> 異常過程(可選):</b></p><p> 客戶端與服務(wù)端斷開連接,客戶端無法
54、發(fā)送消息。</p><p> 特殊需求(可選):不能與不在線的用戶進(jìn)行私聊。</p><p> 3.2.4 發(fā)送表情</p><p> 需求描述:用戶的聊天內(nèi)容可以是表情圖片</p><p><b> 執(zhí)行者:用戶</b></p><p> 前置條件:用戶可以正常聊天</p>
55、<p><b> 后置條件:無</b></p><p><b> 正常過程:</b></p><p> 客戶端與服務(wù)端建立通訊;</p><p> 客戶端將表情所表示的信息傳送給服務(wù)端;</p><p> 服務(wù)器端進(jìn)行數(shù)據(jù)分析后,查找目的用戶的ID,并將所處理的信息傳給目的用
56、戶;</p><p> 目的用戶端通過本地文件將信息翻譯成表情并正確顯示在顯示窗體中。</p><p><b> 異常過程(可選):</b></p><p> 客戶端與服務(wù)端斷開連接,客戶端無法通訊。</p><p> 3.2.5 聊天記錄</p><p> 需求描述:用戶可以查詢聊天的
57、歷史紀(jì)錄,包括公聊記錄和私聊記錄。</p><p><b> 執(zhí)行者:用戶</b></p><p> 前置條件:用戶正確登入后</p><p><b> 后置條件:無</b></p><p><b> 正常過程:</b></p><p> 發(fā)送
58、、接收信息的同時將信息保存在本地文件中;</p><p> 從保存的txt文檔中可以查詢到歷史聊天記錄;</p><p> 從本地文件中讀取信息,并顯示在記錄顯示匡中。</p><p><b> 異常過程(可選):</b></p><p> 服務(wù)端異常導(dǎo)致客戶端退出,客戶端提示服務(wù)器異常。</p>
59、<p> 3.2.6 系統(tǒng)消息</p><p> 需求描述:在聊天室的每一個用戶都能接收服務(wù)端發(fā)送的的信息提示消息。</p><p><b> 執(zhí)行者:服務(wù)端</b></p><p> 前置條件:服務(wù)端正常運行</p><p><b> 后置條件:無</b></p>
60、<p><b> 正常過程:</b></p><p> 服務(wù)器向所有在線用戶發(fā)送消息;</p><p> 客戶端接收到消息,進(jìn)行消息處理,并正確顯示;</p><p><b> 異常過程(可選):</b></p><p> 服務(wù)端異常,重啟服務(wù)器。</p><
61、;p> 3.2.7 字體屬性設(shè)置 </p><p> 需求描述:用戶可改變輸入消息的字體及顏色</p><p><b> 執(zhí)行者:用戶</b></p><p> 前置條件:用戶可以正常聊天</p><p><b> 后置條件:無</b></p><p><
62、;b> 正常過程:</b></p><p> 用戶為聊天信息選擇新的字體和顏色;</p><p> 客戶端將聊天信息及字體和顏色信息封裝,發(fā)送到服務(wù)端;</p><p> 服務(wù)端處理接受到的數(shù)據(jù)并正確轉(zhuǎn)發(fā);</p><p> 目的客戶端將接收到的信息解包,根據(jù)信息的內(nèi)容,改變信息顯示的字體及顏色,并在目的客戶端正確
63、顯示出字體效果 。</p><p><b> 異常過程(可選):</b></p><p> 對方不支持字體屬性的顯示。</p><p> 3.2.8 清屏效果 </p><p> 需求描述:清楚所有的文字消息</p><p><b> 執(zhí)行者:用戶</b></
64、p><p> 前置條件:用戶正常登錄后</p><p><b> 后置條件:無</b></p><p><b> 正常過程:</b></p><p> 文字過多,用戶可清楚用戶自己上的所有的文字消息。</p><p><b> 異常過程(可選):</b&
65、gt;</p><p> 服務(wù)器出現(xiàn)異常,清屏效果無效。</p><p> 3.2.9 時鐘效果 </p><p><b> 需求描述:顯示時間</b></p><p><b> 執(zhí)行者:用戶</b></p><p> 前置條件:用戶正常登錄后</p>
66、<p><b> 后置條件:無</b></p><p><b> 正常過程:</b></p><p> 點擊時鐘,顯示現(xiàn)時時間的多少。</p><p><b> 異常過程(可選):</b></p><p> 服務(wù)器出現(xiàn)異常,時間無效果</p>
67、<p> 3.2.10 用戶退出</p><p> 需求描述:用戶在正常情況下退出聊天室。</p><p><b> 執(zhí)行者:用戶</b></p><p> 前置條件:用戶成功登錄聊天室</p><p><b> 后置條件:無</b></p><p>&
68、lt;b> 正常過程:</b></p><p> 向服務(wù)器發(fā)送用戶退出消息;</p><p> 服務(wù)器進(jìn)行用戶退出的數(shù)據(jù)處理;</p><p> 服務(wù)器向聊天室其他用戶發(fā)送登出消息;</p><p> 刷新其他在線用戶的用戶列表信息。</p><p><b> 第4章 概要設(shè)計&
69、lt;/b></p><p><b> 4.1 目的</b></p><p> 該階段目的在于明確網(wǎng)絡(luò)聊天室系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和軟件總體結(jié)構(gòu),各個軟件模塊的功能說明,數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié),系統(tǒng)運行配置與應(yīng)用方式以及使用的關(guān)鍵技術(shù)。</p><p><b> 4.2 運行環(huán)境</b></p><p>
70、;<b> 運行環(huán)境見下表。</b></p><p><b> 表 4.1</b></p><p> 4.3 體系結(jié)構(gòu)概述</p><p> 本系統(tǒng)采用C/S的結(jié)構(gòu)設(shè)計模式,客戶端接收用戶的發(fā)送的信息到服務(wù)器,服務(wù)器通過處理轉(zhuǎn)發(fā)到另一些客戶端。客戶端采用圖形用戶界面,方便與用戶交互。服務(wù)器端用控制臺的方式方便控制操
71、作。</p><p> 系統(tǒng)設(shè)計總體原則:本設(shè)計不限制用戶的組網(wǎng)方式。但對于互聯(lián)網(wǎng)環(huán)境下的安全問題,本系統(tǒng)不能保證解決。系統(tǒng)要具有較強的靈活性,包括對功能設(shè)置的管理。整個系統(tǒng)使用簡單,界面要美觀、大方,具有人性化特點。模塊劃分簡單明了,充分考慮用戶已經(jīng)習(xí)慣的劃分分類。</p><p> 客戶端分為用戶注冊、用戶登錄、信息通訊、管理和查詢聊天記錄。用戶注冊和用戶用登錄封裝在用戶登錄的界面
72、中,用戶列表模塊封裝在系統(tǒng)的主界面</p><p> 中,信息通訊、管理和查詢聊天記錄模塊封裝在聊天界面中。</p><p> 服務(wù)器端實現(xiàn)消息接收、消息轉(zhuǎn)發(fā)、檢索等功能。</p><p><b> 4.4 功能設(shè)計</b></p><p> 4.4.1 用戶注冊</p><p> 通過
73、注冊模塊實現(xiàn)用戶的在線注冊,所填寫的注冊項目有:用戶名、頭像、密碼、密碼確認(rèn)、性別、年齡和電子郵件。</p><p><b> 圖4-1 注冊圖</b></p><p> 4.4.2 用戶登錄</p><p> 用戶進(jìn)到登入界面,填寫登入用戶名和密碼實現(xiàn)系統(tǒng)的登入</p><p><b> 圖4-2 登
74、錄圖</b></p><p><b> 4.4.3 公聊</b></p><p> 用戶登入成功后進(jìn)入公聊界面,通過輸入聊天內(nèi)容實現(xiàn)和其他的用戶聊天,并可以顯示其他用戶發(fā)送的公聊信息。</p><p><b> 圖4-3 公聊圖</b></p><p><b> 4.4
75、.4 私聊</b></p><p> 用戶通過選擇在線用戶列表的其他用戶,通過單擊列表中的用戶名顯示與其私聊的對話框,實現(xiàn)和選中的用戶進(jìn)行私聊方式進(jìn)行交流,其他用戶不可見。</p><p><b> 圖4-4 私聊圖</b></p><p><b> 4.4.5 表情</b></p><
76、;p> 在用戶公聊或私聊時可以同時,可以單擊表情按鈕改變表情的方式,通過鼠標(biāo)事件可將選擇的表情寫入發(fā)送窗口中,以增強聊天的表達(dá)方式和效果??梢允沽奶旃δ芨S富更有趣。</p><p><b> 圖4-5 表情圖</b></p><p> 4.4.6 字體設(shè)置</p><p> 用戶在聊天界面的功能模塊中,字體設(shè)置框中選擇所需要設(shè)置
77、的字體樣式、字體類型、字體大小,并在信息顯示框中顯示出當(dāng)前設(shè)置的字體效果,并將設(shè)置好的字體屬性應(yīng)用到自己的發(fā)送信息中。</p><p> 圖4-6 字體設(shè)置圖</p><p> 4.4.7 記錄保存</p><p> 用戶在公聊和私聊的過程的同時,將顯示在信息窗體中的聊天內(nèi)容保存到本地文件中,用戶可以通過單擊本地文件查看歷史聊天記錄內(nèi)容,并可以在下次登入后,查
78、看歷史聊天的記錄。</p><p> 圖4-7 記錄保存圖</p><p> 4.4.8 系統(tǒng)消息</p><p> 用戶管理員通過啟動服務(wù)器后,可以通過服務(wù)器操作界面象全部在線的用戶發(fā)送系統(tǒng)消息,用于發(fā)送公告,提示等系統(tǒng)消息,可以方便管理員和客戶的交流和管理。</p><p> 圖4-8 系統(tǒng)消息圖</p><p
79、><b> 清屏效果</b></p><p> 用戶通過登錄客服端后,點擊客服端上的清屏效果消除所有的聊天信息,這樣可以使界面干凈整潔,使用的用戶操作更方便。 </p><p> 圖4-9 清屏效果圖</p><p> 4.4.10 時鐘效果</p><p> 用戶通過登錄客服端后,點擊客服端上的時間效果
80、顯示時間,這樣可以使用戶把握住時間的快慢多少,提高用戶的時間觀。</p><p><b> 第5章 詳細(xì)設(shè)計</b></p><p> 本系統(tǒng)采用C/S設(shè)計模式,系統(tǒng)分為客戶端和服務(wù)器端,客戶端包括注冊模塊、登入模塊、公聊模塊、私聊模塊、功能設(shè)置模塊、和清屏效果和時鐘效果。</p><p> 服務(wù)器端包括服務(wù)器界面,服務(wù)器功能實現(xiàn)模塊等。
81、</p><p><b> 客戶端注冊</b></p><p><b> 功能描述</b></p><p> 用戶必須填寫注冊給定的全部選項,并且按照正確的格式輸入,如年齡一項只能輸入數(shù)字,的格式等等,并可以在申請注冊前驗證輸入的用戶名是否已被使用。</p><p><b> 綜合
82、設(shè)計</b></p><p> 實現(xiàn)該功能所寫的類為:</p><p> ?。?)、ZheceRegister類: 用于構(gòu)建注冊的主界面</p><p> 主要成員變量:lblUserName,lblGender,lblAge;</p><p> lblPassword,lblConfirmPass,lblEmail,log
83、oPosition;</p><p> 主要方法:public ZhuceRegister(String ip){}//構(gòu)造方法</p><p> ?。?)、xxx類 用來檢測注冊的用戶名是否已被使用</p><p><b> 主要成員變量:</b></p><p><b> 主要方法:</b&g
84、t;</p><p> ?。?)、xxx類 發(fā)送注冊消息內(nèi)容</p><p><b> 主要成員變量:</b></p><p><b> 主要方法:</b></p><p> ?。?)、xxx 用戶發(fā)送給服務(wù)器端的注冊類型數(shù)據(jù)</p><p><b>
85、 主要成員變量:</b></p><p><b> 主要方法:</b></p><p><b> 5.2 登入</b></p><p><b> 功能描述</b></p><p> 在設(shè)置好IP和端口號的條件下,用戶在登入界面輸入已注冊好的用戶名和密碼登入,
86、通過驗證后登入聊天室主界面,輸入錯誤無法登錄。</p><p><b> 綜合設(shè)置</b></p><p> 實現(xiàn)該功能的主要類和方法</p><p> ?。?)、DengluLogin類 實現(xiàn)登入的主窗體</p><p> 主要成員變量:lblServer, lblUserName, lblPassword,
87、lblLogo;</p><p> 主要方法:public DengluLogin() {} //構(gòu)造登陸的窗體</p><p> (2)、xxx 類 發(fā)送登入數(shù)據(jù)類型</p><p><b> 主要成員變量:</b></p><p><b> 主要方法:</b></p>
88、<p><b> 5.3 公聊</b></p><p><b> 功能描述</b></p><p> 用戶在公聊界面的信息輸入框中輸入要發(fā)送的信息和表情等,用戶可以通過功能設(shè)置按鈕設(shè)置自己定義的字體屬性 ,如:字體樣式、字體類型、字體大小 、字體顯示方式、表情等,并可以應(yīng)用到信息輸入框中, 點發(fā)送按鈕實現(xiàn)信息的發(fā)送。并可以顯示其他
89、用戶發(fā)送的公聊信息和系統(tǒng)所發(fā)送的系統(tǒng)信息,并且按照發(fā)送來的信息中包含好的顯示方式正確顯示出信息。用戶上線或下線時要在顯示窗體中給出提示,并刷新用列表中的用戶名。并可以通過雙擊用戶名彈出與該用戶進(jìn)行私聊。</p><p><b> 綜合設(shè)置</b></p><p> 實現(xiàn)該功能的主要類和方法</p><p> ?。?)、xxx類 公聊界面&
90、lt;/p><p><b> 主要成員變量:</b></p><p><b> 主要方法:</b></p><p><b> 5.4、私聊</b></p><p><b> 功能描述</b></p><p> 用戶在私聊界面的
91、信息輸入框中輸入要發(fā)送的信息和表情等,用戶可以通過功能設(shè)置按鈕設(shè)置自己定義的字體屬性 ,如:字體樣式、字體類型、字體大小 、字體顯示方式、表情等,并可以應(yīng)用到信息輸入框中, 點發(fā)送按鈕實現(xiàn)私聊信息的發(fā)送。并可以顯示其他用戶發(fā)送過來的私聊信息,并且按照發(fā)送來的信息中包含好的顯示方式正確顯示出信息。</p><p><b> 綜合設(shè)置</b></p><p> 實現(xiàn)該
92、功能所用的主要類和方法</p><p> ?。?)、xxx類 私聊界面類</p><p><b> 主要成員變量:</b></p><p><b> 主要方法:</b></p><p> 5.5 發(fā)送系統(tǒng)消息</p><p><b> 功能描述</b
93、></p><p> 服務(wù)器端收到用戶上線或下線時發(fā)送給其他在線用戶消息提示,并可以根據(jù)需要,主動發(fā)送消息給客戶,實現(xiàn)服務(wù)器端的管理。</p><p><b> 綜合設(shè)置</b></p><p> 實現(xiàn)功能的主要類和方法</p><p> ?。?)、xxx類 服務(wù)器的用戶界面</p><
94、;p><b> 主要成員變量:</b></p><p><b> 主要方法:</b></p><p><b> 5.6 字體設(shè)置</b></p><p><b> 功能描述</b></p><p> 每個用戶可以根據(jù)自己的個人喜好設(shè)置自己要
95、發(fā)送的內(nèi)容的字體屬性。并可以在其他目的客戶界面按照自己所設(shè)置的顯示方式顯示。主要設(shè)置了三種字體的屬性,分別為字體樣式、字體類型、字體大小。</p><p><b> 綜合設(shè)置</b></p><p> 實現(xiàn)該功能的主要類和方法</p><p> ?。?)、xxx類 字體設(shè)置窗體面板</p><p><b>
96、; 主要成員變量:</b></p><p><b> 主要方法:</b></p><p><b> 5.7 發(fā)送表情</b></p><p><b> 功能描述</b></p><p> 用戶本地保存按照一定方式文字表情文件,通過本地文字表情文件構(gòu)建出表情
97、文字,在用戶公聊或私聊時可以同時,可以單擊表情按鈕選著表情,通過鼠標(biāo)事件可以將選擇的表情寫入發(fā)送窗口中,以增強聊天的表達(dá)方式和效果??梢允沽奶旃δ?、更豐富更有趣。</p><p><b> 綜合設(shè)置</b></p><p> 實現(xiàn)功能的主要類和方法</p><p> ?。?)、xxx類 顯示表情</p><p>
98、<b> 主要成員變量:</b></p><p><b> 主要方法:</b></p><p> 5.8 記錄保存和顯示</p><p><b> 功能描述</b></p><p> 本系統(tǒng)可以在應(yīng)用中將用戶聊天的記錄保存在本地文件當(dāng)中,用戶在本地下次登入后,可以查看
99、歷史聊天記錄。方便用戶繼續(xù)聊天。</p><p><b> 綜合設(shè)置</b></p><p> 實現(xiàn)該功能使用的主要類和方法</p><p> ?。?)、xxx類 保存信息的方法類</p><p><b> 主要成員變量:</b></p><p><b>
100、 主要方法:</b></p><p><b> 5.9 清屏效果</b></p><p><b> 功能描述</b></p><p> 本系統(tǒng)可以在應(yīng)用中將用戶聊天的所有記錄全部刪除,使界面更加干凈整潔。方便用戶繼續(xù)聊天。</p><p><b> 綜合設(shè)置</b
101、></p><p> ?。?)、xxx類 顯示清屏效果的方法類</p><p><b> 主要成員變量:</b></p><p><b> 主要方法:</b></p><p><b> 5.10 時鐘效果</b></p><p><b
102、> 功能描述</b></p><p> 本系統(tǒng)可以在用戶聊天中查看時間的消息,可以提高用戶的時間觀。方便用戶繼續(xù)聊天。</p><p><b> 綜合設(shè)置</b></p><p> (1)、xxx類 顯示時鐘效果的方法類</p><p><b> 主要成員變量:</b>
103、</p><p><b> 主要方法:</b></p><p> 5.11 功能邏輯實現(xiàn)</p><p><b> 邏輯功能描述</b></p><p> 本系統(tǒng)采用數(shù)據(jù)對象流的形式發(fā)送和接受信息。</p><p> 客戶端連接服務(wù)器成功后就啟動一個客戶端線程和服務(wù)
104、器通信??蛻舳税l(fā)送的信息分為:注冊消息、注冊時用戶名驗證消息、登入消息、公聊消息、私了消息、下線消息等。</p><p> 服務(wù)器端啟動一個線程不斷的監(jiān)聽客戶的請求,當(dāng)接受到客戶請求時就啟動一個和該客戶端通信的線程。</p><p><b> 綜合設(shè)置</b></p><p> ?。?)、xxx類 //用于客戶端與服務(wù)器之間的消息傳遞&l
105、t;/p><p> ?。?)、xxx類 //用于登入時發(fā)送的信息對象類型</p><p> ?。?)、xxx類 //用于注冊時發(fā)送的信息對象類型</p><p> ?。?)、xxx類 //用于用戶公聊或私聊時發(fā)送的信息對象類型</p><p> (5)、xxx類 //客戶端連接服務(wù)器成功后啟動的線程</p><p&g
106、t; ?。?)、xxx類 //服務(wù)器端為用戶啟動的服務(wù)器線程</p><p> ?。?)、xxx類 //實現(xiàn)提示用戶私聊消息</p><p> ?。?)、xxx類 //顯示信息內(nèi)容</p><p><b> 第6章 系統(tǒng)測試</b></p><p> 為了確保本系統(tǒng)能夠正常運行,需要在發(fā)布之后做一次較全面的測試
107、?,F(xiàn)將具體操作及過程舉例說明如下:</p><p><b> 6.1 測試舉例</b></p><p> 6.1.1 測試程序登錄界面</p><p> 打開程序后,首先出現(xiàn)的是登錄頁面,在設(shè)置好網(wǎng)絡(luò)IP和端口號之后,輸入用戶名和密碼,如果連接服務(wù)器成功則提示用戶輸入的用戶名和密碼是否正確,否則提示未能建立到指定服務(wù)器的連接口。</
108、p><p> 6.1.2 測試程序主界面</p><p> 進(jìn)入主界面后,主頁面會顯示在線用戶列表區(qū)、信息顯示區(qū)、功能設(shè)置區(qū)、信息發(fā)送區(qū)、功能按鈕區(qū)。用戶可以在用戶列表中看到目前在線的其他用戶,并在信息顯示區(qū)內(nèi)看到系統(tǒng)提示。用戶可以在信息發(fā)送區(qū)內(nèi)輸入自己的發(fā)送內(nèi)容,并可以通過功能設(shè)置區(qū)設(shè)置字體內(nèi)容的屬性和發(fā)送表情??梢酝ㄟ^單擊用戶列表名中的用戶點擊私聊按鈕,進(jìn)行私聊,發(fā)送的信息其他用戶不可
109、以見。在主界面的顯示區(qū)中可以不斷的查看到其他用戶發(fā)送過來的信息,并可以通過本地文件點擊查看保存的聊天記錄。</p><p> 6.1.3 測試程序退出</p><p> 當(dāng)單擊退出按鈕或窗體的關(guān)閉時,用戶將發(fā)送退出信息,離開聊天室,其他用戶可以得到系統(tǒng)提示用戶下線并刷新用戶列表。當(dāng)服務(wù)器出線異常或關(guān)閉時,客戶端將中斷并退出系統(tǒng)。</p><p><b>
110、; 6.2 測試項目</b></p><p> 由于實際開發(fā)過程中還是不可避免地會產(chǎn)生差錯,系統(tǒng)中通常可能隱藏著錯誤和缺陷,不經(jīng)周密測試的系統(tǒng)投入運行,將會造成難以想象的后果,因此系統(tǒng)測試是軟件開發(fā)過程中為保證軟件質(zhì)量必須進(jìn)行的工作。大量統(tǒng)計資料表明,系統(tǒng)測試的工作量往往占軟件開發(fā)總工作量的30%以上。因此,我們必須重視測試工作。</p><p> 由于程序中隱藏的缺陷只
111、在特定的環(huán)境下才有可靠顯露,系統(tǒng)缺陷通常是由于對某些特定情況考慮不周造成的。因此測試不是為了表明程序正確;成功的測試也不是沒有發(fā)現(xiàn)錯誤的測試。有意義的軟件測試應(yīng)該是從“破壞”軟件系統(tǒng)的角度出發(fā),精心設(shè)計最有可以暴露程序系統(tǒng)缺陷的測試方案。因此軟件測試的目標(biāo)應(yīng)該是以盡可能少的代價和時間找出軟件系統(tǒng)中潛在的錯誤和缺陷。</p><p> 從產(chǎn)品角度看,測試計劃中的測試項目包括軟件結(jié)構(gòu)中的分系統(tǒng)層、子系統(tǒng)層、功能模塊
112、層、程序模塊層中的各類模塊,從測試本身看,分為單元測試,組合測試,確認(rèn)測試等。測試對象是隨不同階段而異的,最基本、最初的測試是單元測試,后面的組合測試、確認(rèn)測試都是以被測過的模塊作為測試對象的。</p><p> 6.2.1 單元測試</p><p> 單元測試也稱模塊測試或程序測試,單元測試是對每個模塊單獨進(jìn)行的,驗證模塊接口與設(shè)計說明書是否一致,對模塊的所有主要處理路徑進(jìn)行測試且與
113、預(yù)期的結(jié)構(gòu)進(jìn)行對照,還要對所有錯誤處理路徑進(jìn)行測試。對源碼進(jìn)行審查,對照設(shè)計說明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進(jìn)行單元測試前的重要工作工。單元測試一般是由程序員完成,也稱程序調(diào)試。</p><p> 6.2.2 組合測試</p><p> 組合測試也稱集成測試或子系統(tǒng)測試,通常采用自頂向下測試和自底向上測試兩種測試方法。組合測試的對象是指已經(jīng)通過單元測試的模塊,不是對零
114、散模塊進(jìn)行單個測試,而是用系統(tǒng)化的方法裝配和測試軟件系統(tǒng),是一個嚴(yán)格的過程,必須認(rèn)真地進(jìn)行,其計劃的產(chǎn)生和單元模塊測試的完成日期要協(xié)調(diào)起來,這種測試應(yīng)在系統(tǒng)目標(biāo)機上進(jìn)行,造成系統(tǒng)應(yīng)用的環(huán)境條件,除了開發(fā)部分項目負(fù)責(zé)人參加以外,還應(yīng)該有相應(yīng)系統(tǒng)的用戶參加,給評審員進(jìn)行演示。</p><p> 6.2.3 確認(rèn)測試</p><p> 確認(rèn)測試是對通過組合測試的軟件進(jìn)行的,這些軟件已經(jīng)存于系
115、統(tǒng)目標(biāo)設(shè)備的介質(zhì)上,確認(rèn)測試的目的是表明軟件是可以工作的,并且符合“軟件需求說明書”中規(guī)定的全部功能和性能要求。確認(rèn)測試是按照這些要求定出的“確認(rèn)測試計劃”進(jìn)行的。測試工作是由一個獨立的組織進(jìn)行,而且測試要從用戶的角度出發(fā)。</p><p> 6.2.4 系統(tǒng)測試</p><p> 系統(tǒng)測試是對整體性能的測試,主要解決各子系統(tǒng)之間的數(shù)據(jù)通信和數(shù)據(jù)共享問題以及檢測系統(tǒng)是否達(dá)到用戶的實際要
116、求,系統(tǒng)測試的依據(jù)是系統(tǒng)分析報告。系統(tǒng)測試應(yīng)在系統(tǒng)的整個范圍內(nèi)進(jìn)行,這種測試不只對軟件進(jìn)行,而是對構(gòu)成系統(tǒng)的硬、軟件一起進(jìn)行。系統(tǒng)測試與建構(gòu)同時進(jìn)行或略慢。系統(tǒng)測試需要確認(rèn)從頭到尾的功能正常才算完成,應(yīng)當(dāng)盡量避免系統(tǒng)測試延到項目末尾進(jìn)行。</p><p> 6.2.5 用戶驗收測試</p><p> 在系統(tǒng)測試完成后,進(jìn)行用戶的驗收測試,它是用戶在實際應(yīng)用環(huán)境中所進(jìn)行的真實數(shù)據(jù)測試。&
117、lt;/p><p> 在具體的測試中,一般應(yīng)遵循以下原則:由程序設(shè)計者之外的人進(jìn)行測試;測試用例應(yīng)由兩部分組成:輸入數(shù)據(jù)和預(yù)期輸出結(jié)果;應(yīng)選用不合理的輸入數(shù)據(jù)與非法輸入測試;不僅要檢驗程序是否實現(xiàn)預(yù)期功能,還應(yīng)檢查程序是否做了不應(yīng)該做的工作;集中測試容易出錯的程序模塊;對程序修改以后,必須重新進(jìn)行測試。</p><p><b> 6.3 測試方法</b></p&
118、gt;<p> 一般來說,對程序測試有兩種測試方法:如果已經(jīng)知道了軟件系統(tǒng)應(yīng)具有的功能,可通過測試來對每個功能是否都能正常使用;如果知道程序的內(nèi)部工作過程,可以通過測試來檢測程序內(nèi)部是否按照規(guī)格說明書的規(guī)定正常進(jìn)行。前一種方法稱為黑盒測試,后一種方法稱為白盒子測試。黑盒測試又稱為功能測試,白盒子測試又稱為結(jié)構(gòu)測試。</p><p> 因為時間和項目的關(guān)系,沒有完全按照上述的測試方法進(jìn)行系統(tǒng)的測試
119、,但在在開發(fā)的過程當(dāng)中,保證部分合理的測試,并正確運行驗證,證明本系統(tǒng)具有相當(dāng)程序的穩(wěn)定性。</p><p><b> 結(jié) 論</b></p><p> 首先,我選擇本課題緣由沒有較深的理解也是剛剛接觸JAVA項目,主要也想試一試,更近一步的提高自己的能力。并且也可以對網(wǎng)絡(luò)開發(fā)產(chǎn)生興趣,對具有網(wǎng)絡(luò)功能的項目更有感覺。</p><p> 大
120、學(xué)三年的學(xué)習(xí)期間,通過學(xué)校開設(shè)的基礎(chǔ)課程,扎實系統(tǒng)的學(xué)習(xí)了軟件的基礎(chǔ)知識,,并對面向?qū)ο缶幊陶Z言有了進(jìn)一步的理解,對軟件專業(yè)逐步的建立起自己的知識體系框架。</p><p> 通過這次的畢業(yè)作業(yè),使自己在JAVA編程語言的使用方面得到一個全面鍛煉自己的機會,在這個模塊的界面開發(fā)方面,充分的學(xué)習(xí)和利用了JAVA Swing界面開發(fā)技術(shù),使自己在界面應(yīng)用和布局方面得到更多的實踐,應(yīng)用Socket技術(shù)實現(xiàn)網(wǎng)絡(luò)連接功能
121、,對網(wǎng)絡(luò)的實現(xiàn)和通信方面有了進(jìn)一步的理解,并通過多線程方面的應(yīng)用,使客戶端和服務(wù)端可以實現(xiàn)多任務(wù)功能,在整個開發(fā)過程當(dāng)中應(yīng)用軟件工程的開發(fā)步驟,使自己專業(yè)理論知識的到進(jìn)一步的鞏固,項目開發(fā)經(jīng)驗有不少的收獲。</p><p> (一) 軟件存在的問題</p><p> 軟件已經(jīng)編寫好了,但是還有許多可以改進(jìn)的地方;同時還存在著一些小問題。</p><p> 還有
122、一些功能上的缺陷,這里我列舉一下,并提出一些解決的辦法,希望以后可以改進(jìn)。</p><p> ?、?操作的方便性、比如可以為一些常用按鈕設(shè)置快捷鍵,象登入系統(tǒng)時,輸入完用戶名和密碼后直接回車;在用戶輸入完要發(fā)送的內(nèi)容時,設(shè)置發(fā)送內(nèi)容的快捷方式ctrl+回車等。</p><p> ?。?)在功能方面可以進(jìn)一步增加,如實現(xiàn)用戶間的文件傳輸,并可以進(jìn)行視屏,共享音樂等高級功能。</p>
123、;<p> ?。?)執(zhí)行效率方面可以有待提高,優(yōu)化代碼結(jié)構(gòu),減少系統(tǒng)內(nèi)存泄露,提高運行穩(wěn)定性等</p><p> (二)使界面變得更加美觀</p><p> 由于一直專注于功能的實現(xiàn),從而忽略了界面的設(shè)計,本軟件今后可以為用戶添加不同的頭像,并可以使窗體風(fēng)格更合理和更美觀,并且要使用戶有更多的自定義功能,設(shè)置自己的喜好和風(fēng)格。</p><p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聊天室(java)-畢業(yè)論文
- 畢業(yè)論文 java聊天室的設(shè)計
- java局域網(wǎng)聊天室系統(tǒng)畢業(yè)論文
- 畢業(yè)論文asp聊天室
- 基于java的聊天室設(shè)計與實現(xiàn)畢業(yè)論文
- 基于java的聊天室設(shè)計與實現(xiàn)畢業(yè)論文
- java聊天室程序(java)
- java聊天室設(shè)計
- 畢業(yè)論文---多人聊天室設(shè)計
- jsp在線聊天室-畢業(yè)論文
- 基于web的聊天室畢業(yè)論文
- 畢業(yè)論文——網(wǎng)上聊天室
- 基于web的聊天室畢業(yè)論文
- 基于java的uaw聊天室系統(tǒng) ——客戶端通訊-畢業(yè)論文
- 基于web的聊天室構(gòu)建畢業(yè)論文
- 畢業(yè)論文——網(wǎng)上聊天室 (3)
- 畢業(yè)論文——網(wǎng)上聊天室 (3)
- 畢業(yè)論文——網(wǎng)上聊天室 (2)
- 畢業(yè)論文——網(wǎng)上聊天室 (3)
- 基于java的網(wǎng)絡(luò)聊天室
評論
0/150
提交評論