版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(jì)說明書手機(jī)聊天室設(shè)計(jì)與開發(fā)學(xué)生姓名: 學(xué)號: 學(xué) 院: 專 業(yè): 指導(dǎo)教師: 2011年 6 月手機(jī)聊天室設(shè)計(jì)與開發(fā)摘 要網(wǎng)絡(luò)聊天室是一種應(yīng)用廣泛網(wǎng)絡(luò)聊天方式,操作簡單,功能豐富,是教學(xué)和學(xué)習(xí)面向?qū)ο蟮木幊趟枷氲睦硐腠?xiàng)目??梢允褂枚喾N編程語言設(shè)計(jì)和開發(fā)出功能完善的網(wǎng)絡(luò)聊天室。本畢業(yè)設(shè)計(jì)論文介紹用java語言設(shè)計(jì)和實(shí)現(xiàn)一個(gè)手機(jī)網(wǎng)絡(luò)聊天室的過程,本系統(tǒng)采用c/s架構(gòu)設(shè)計(jì),整個(gè)項(xiàng)目分為服務(wù)器端和客戶端。使用了最新的java 2標(biāo)準(zhǔn)swing組件,開發(fā)出簡潔美觀和布局合理的用戶和服務(wù)器界面;利用socket網(wǎng)絡(luò)開發(fā)技術(shù)實(shí)現(xiàn)客戶端和服務(wù)器端的連接訪問,實(shí)現(xiàn)網(wǎng)絡(luò)功能;通過對數(shù)據(jù)流操作的合理設(shè)計(jì),實(shí)
2、現(xiàn)信息傳遞、接受和數(shù)據(jù)保存。同時(shí),采用多線程、多任務(wù)的設(shè)計(jì)思想,開發(fā)出性能穩(wěn)定,功能全面的服務(wù)器。完整的實(shí)現(xiàn)系統(tǒng)的功能。通過本次畢業(yè)設(shè)計(jì)可以學(xué)到如何應(yīng)用和實(shí)現(xiàn)面向?qū)ο蟮母鞣N方法,如何使用eclipse集成開發(fā)環(huán)境來創(chuàng)建和開發(fā)項(xiàng)目,從而完成系統(tǒng)的完整開發(fā)。關(guān)鍵詞:聊天室;java;應(yīng)用程序;swing組件;socket技術(shù)design and development of mobile chat roomsabstractthe network chat room is a kind of applied extensive network chat method, operate in eas
3、e and the function is abundant, it can be used as a good case for learning of java design language and the object-oriented programming language, there is many programming language of design to develop a network chat room with perfect function.this graduation thesis of design introduction how to use
4、the java language design and carry out network chat room, the system adoption the c/ s structure design, the whole system is divided into the server and client .used standard modules of swing of latest java2, develop a simple and direct beauty user interface ,we make use of the socket technology to
5、interconnect the server and client by net-work ;organize the data by good design of data stream to sent or accept the message between users and to record the message for ever; we also use the multi-thread multi-action to make the program with many function.i have leaned many method and things to use
6、 the object-oriented programming. and make me know how use the development environment eclipse to new program and the process to make the program.keyword: chat;java;application;swing component;socket目 錄1 引言52 需求分析521 編寫目的522 研究背景523 定義624 任務(wù)概述62.4.1 開發(fā)目標(biāo)62.4.2 應(yīng)用目標(biāo)625 功能需求72.5.1 功能描述726 相關(guān)需求72.6.1 硬
7、件接口72.6.2 軟件接口827 質(zhì)量性能需求82.7.1 容錯(cuò)性需求82.7.2 穩(wěn)定性需求82.7.3軟件設(shè)計(jì)可靠性82.7.4安全性92.7.5 擴(kuò)展性92.7.6 易用性93 概要設(shè)計(jì)93.1 編寫目的93.2 定義93.3 總體設(shè)計(jì)103.4主要模塊描述及流程圖103.4.1模塊描述103.4.2主流程圖124 詳細(xì)設(shè)計(jì)124.1 編寫目的124.2 聊天室服務(wù)器端設(shè)置134.2.1 serversocketconnection接口的使用134.3 聊天室客戶端設(shè)置144.3.1 socketconnection接口的使用145 編碼打包156 系統(tǒng)測試156.1 測試舉例156.
8、1.1 測試程序登陸界面156.1.2 測試程序主界面156.1.3 測試程序退出166.2 測試項(xiàng)目166.2.1 單元測試166.2.2 組合測試176.2.3 確認(rèn)測試176.2.4 系統(tǒng)測試176.2.5 用戶驗(yàn)收測試176.3 測試方法187 缺陷與完善187.1 軟件存在的問題187.2 界面變得更加美觀188 結(jié) 論19參 考 文 獻(xiàn)20致 謝211 引言手機(jī)及其他無線設(shè)備在給人們帶來便利的同時(shí),自身的一些缺陷也影響了其發(fā)展:出廠時(shí)均由硬件廠商固化程序,程序不能增加、刪除,有了錯(cuò)誤也不能更新、修改,若要增加新功能必須另換一部手機(jī)。sun 公司倡導(dǎo)的j2me 技術(shù),在通信、娛樂等應(yīng)
9、用上產(chǎn)生的手機(jī)增值服務(wù)逐漸體現(xiàn)出其影響力,對豐富人們的生活內(nèi)容、提供快捷的資訊起著不可忽視的作用。隨著j2me 技術(shù)的不斷發(fā)展,它獲得了手機(jī)制造商越來越廣泛的支持。利用j2me 平臺(tái)可以為手機(jī)提供很好的擴(kuò)展選擇。j2me 為java 技術(shù)的一部分,是專門為移動(dòng)設(shè)備設(shè)計(jì)的java 平臺(tái),其應(yīng)用程序可以運(yùn)行在不同制造商的不同設(shè)備上,充分體現(xiàn)了sun 公司倡導(dǎo)的“一次編寫,隨處運(yùn)行”的理念。它以其不斷發(fā)展的技術(shù)優(yōu)勢獲得了手機(jī)制造商越來越廣泛的支持。j2me 平臺(tái)被認(rèn)為是當(dāng)前移動(dòng)開發(fā)領(lǐng)域中最杰出的手機(jī)程序開發(fā)平臺(tái)之一,它已被開發(fā)者、設(shè)備制造商、網(wǎng)絡(luò)通信公司和消費(fèi)者廣泛接受。針對現(xiàn)有手機(jī)短信業(yè)務(wù)存在的無
10、法提供多人之間交流的不足,本文利用j2me 提供的聊天通信功能,開發(fā)一套簡單的手機(jī)網(wǎng)絡(luò)聊天系統(tǒng),實(shí)現(xiàn)多人聊天功能。2 需求分析21 編寫目的明確用戶對手機(jī)聊天室的功能需求和性能需求,并將這些需求用規(guī)范化的語言和規(guī)范化的結(jié)構(gòu)完整、準(zhǔn)確地表達(dá)清楚,以此統(tǒng)一軟件開發(fā)者和用戶對該軟件的理解和認(rèn)識(shí),并使用戶了解工作流程。需求分析是整個(gè)軟件開發(fā)的依據(jù),它對以后階段的工作起指導(dǎo)作用。本章也是項(xiàng)目完成后系統(tǒng)驗(yàn)收的依據(jù)。22 研究背景隨著手機(jī)的日益普及,短信業(yè)務(wù)的一些缺點(diǎn)也日益顯現(xiàn):(1)不能實(shí)現(xiàn)一條短信發(fā)送到多個(gè)不同號碼(一些手機(jī)上的群發(fā)功能只是將短信反復(fù)發(fā)送,實(shí)際仍需反復(fù)計(jì)費(fèi))。(2)短信長度限制(一般為7
11、0 個(gè)漢字或140 個(gè)字母)限制了用戶的使用。本文針對上述短信業(yè)務(wù)的不足,利用手機(jī)能夠方便接入無線網(wǎng)絡(luò)的優(yōu)勢,設(shè)計(jì)了一套手機(jī)聊天系統(tǒng)。這套系統(tǒng)通過gprs 網(wǎng)絡(luò)發(fā)送信息(信息無長度限制),然后由服務(wù)器對消息進(jìn)行轉(zhuǎn)發(fā)(不再對發(fā)送方產(chǎn)生費(fèi)用),實(shí)現(xiàn)了多人之間較為便捷的交流。23 定義需求:用戶解決問題或達(dá)到目標(biāo)所需的條件或功能;系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn),規(guī)范或其它正式規(guī)定文檔所需具有的條件或權(quán)能。24 任務(wù)概述2.4.1 開發(fā)目標(biāo)手機(jī)網(wǎng)絡(luò)聊天室是一項(xiàng)應(yīng)用廣泛,并且實(shí)用性強(qiáng)的一個(gè)應(yīng)用,雖然其功能簡單,但是在其開發(fā)技術(shù)和過程中,能夠充分學(xué)習(xí)和使用j2me的技術(shù),要求實(shí)現(xiàn)一個(gè)手機(jī)收發(fā)消息的應(yīng)用軟件
12、,該軟件采用j2me技術(shù)實(shí)現(xiàn)軟件的流程控制、邏輯處理和記錄存儲(chǔ)等功能?;竟δ馨ǎ悍?wù)器端開發(fā),客戶端開發(fā),盡量添加一些輔助性的功能以使功能更完美。使用 swing組件技術(shù),實(shí)現(xiàn)網(wǎng)絡(luò)的功能使用 socket/server socket 技術(shù),實(shí)現(xiàn)數(shù)據(jù)的保存使用jdbc數(shù)據(jù)庫連接和操作技術(shù),并且在開發(fā)過程當(dāng)中,能充分的使用和體會(huì)面向?qū)ο蠹夹g(shù)的原理和方法。 所以該項(xiàng)目可以使自己在java技術(shù)方面得到全面應(yīng)用,使自己項(xiàng)目開發(fā)能力的一個(gè)很好體現(xiàn)。2.4.2 應(yīng)用目標(biāo)應(yīng)用目標(biāo):實(shí)現(xiàn)一個(gè)手機(jī)收發(fā)消息的應(yīng)用軟件,該軟件采用j2me技術(shù)實(shí)現(xiàn)軟件的流程控制、邏輯處理和記錄存儲(chǔ)等功能。25 功能需求2.5.1
13、功能描述基于j2me 的手機(jī)客戶端程序支持建立網(wǎng)絡(luò)連接、傳送請求和遠(yuǎn)程訪問服務(wù)器,是直接與用戶交互的平臺(tái)。而服務(wù)器端用于接收客戶端的請求,執(zhí)行與數(shù)據(jù)庫的通信,并完成后臺(tái)邏輯的運(yùn)算,最后將處理結(jié)果返回給手機(jī)客戶端。本系統(tǒng)是java基于c/s模式的聊天室程序。聊天室共分為服務(wù)器端和客戶端兩個(gè)部分,服務(wù)器端程序主要負(fù)責(zé)偵聽客戶端發(fā)來的消息,客戶端需要登錄到服務(wù)器端才能實(shí)現(xiàn)正常的聊天功能。(1)服務(wù)器端的主要功能有:a.在特定端口上進(jìn)行偵聽,等待客戶端連接。b.用戶可以配置服務(wù)器的偵聽端口,默認(rèn)是8888。c.可以向已經(jīng)連接的客戶端發(fā)送體統(tǒng)消息。d.統(tǒng)計(jì)在線人數(shù)。e.停止服務(wù)時(shí),斷開所有的用戶連接。(
14、2)客戶端的主要功能有:a.連接到已經(jīng)開啟聊天服務(wù)的服務(wù)端。b.用戶可以配置要連接的服務(wù)器ip地址和端口號。c.用戶可以配置連接后的用戶名。d.服務(wù)器開啟時(shí),用戶可以隨時(shí)登錄與注消。c.用戶可以想所有的人或者指定的個(gè)人發(fā)送消息。26 相關(guān)需求2.6.1 硬件接口不需要特定的硬件或硬件接口進(jìn)行支撐。2.6.2 軟件接口開發(fā)環(huán)境:windows(xp/vista/win7)+eclipse+eclipseme+wtk開發(fā)語言:javacldc: 1.0midp: 1.0應(yīng)用程序類型:jar打包文件27 質(zhì)量性能需求2.7.1 容錯(cuò)性需求當(dāng)出現(xiàn)代碼異常時(shí),出現(xiàn)正確的提示,不會(huì)影響整個(gè)系統(tǒng)的運(yùn)行。用戶
15、之間信息傳輸不會(huì)因?yàn)閿?shù)據(jù)封裝問題出現(xiàn)丟失或亂碼。因用戶的誤操作產(chǎn)生的異常應(yīng)做出及時(shí)的處理或信息提示。2.7.2 穩(wěn)定性需求軟件應(yīng)正常完成所有功能需求。服務(wù)器端應(yīng)長時(shí)間運(yùn)行無故障,故障修復(fù)時(shí)間一般控制在3小時(shí)內(nèi),除非出現(xiàn)惡性攻擊、病毒破壞、系統(tǒng)資源不足、硬件故障、操作系統(tǒng)或數(shù)據(jù)庫系統(tǒng)崩潰網(wǎng)絡(luò)中斷等情況,要求系統(tǒng)連續(xù)運(yùn)行一周,不允許出現(xiàn)內(nèi)存泄露。要求系統(tǒng)可以承受告警風(fēng)暴和大數(shù)據(jù)量的沖擊,不出現(xiàn)內(nèi)存溢出等現(xiàn)象。2.7.3軟件設(shè)計(jì)可靠性要確定合適的模塊粒度,各模塊之間要求松耦合,高內(nèi)聚;從而使整個(gè)系統(tǒng)的可靠性和穩(wěn)定性得到提高,并且便于系統(tǒng)維護(hù),和新模塊的添加。2.7.4安全性安全性是防止網(wǎng)絡(luò)方面的攻擊
16、。2.7.5 擴(kuò)展性系統(tǒng)建成后,應(yīng)在現(xiàn)行系統(tǒng)上不需要做大的改動(dòng)或不影響整個(gè)系統(tǒng)結(jié)構(gòu),就可以增加功能模塊,這就必須在系統(tǒng)設(shè)計(jì)時(shí)留有接口,使其具有可擴(kuò)展性和維護(hù)性。2.7.6 易用性系統(tǒng)操作的界面必須簡潔、操作方便易用、設(shè)計(jì)合理。3 概要設(shè)計(jì)3.1 編寫目的從該階段開發(fā)正式進(jìn)入軟件的實(shí)際開發(fā)階段,本階段完成系統(tǒng)的大致設(shè)計(jì)并明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與軟件結(jié)構(gòu)。在軟件設(shè)計(jì)階段主要是把一個(gè)軟件需求轉(zhuǎn)化為軟件表示的過程,這種表示只是描述出軟件的概貌。本概要設(shè)計(jì)說明書的目的就是進(jìn)一步細(xì)化軟件階段得出的軟件的總體概貌,把它加工成災(zāi)程序細(xì)節(jié)上非常接近源程序的軟件表示。該階段目的在于明確網(wǎng)絡(luò)聊天室系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和軟件總
17、體結(jié)構(gòu),各個(gè)軟件模塊的功能說明,數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié),系統(tǒng)運(yùn)行配置與應(yīng)用方式以及使用的關(guān)鍵技術(shù)。3.2 定義概要設(shè)計(jì):是把需求分析得到的dfd轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。設(shè)計(jì)軟件結(jié)構(gòu)的具體任務(wù)是:將一個(gè)復(fù)雜系統(tǒng)按功能進(jìn)行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機(jī)界面等。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù)庫的設(shè)計(jì)。3.3 總體設(shè)計(jì)socket通信是網(wǎng)絡(luò)通信的基本方式之一,通常由服務(wù)器端和客戶端兩部分組成。服務(wù)器端socket首先要處于等待連接的監(jiān)聽狀態(tài),實(shí)時(shí)監(jiān)控指定端口,等待客戶端socket連接服務(wù)器端的socket,連接時(shí)需要指定服務(wù)器的地址和連接端口。
18、當(dāng)服務(wù)器端socket監(jiān)聽到或者接收到客戶端socket的連接請求時(shí),就對客戶端socket的請求進(jìn)行響應(yīng),建立一個(gè)新的線程,并把服務(wù)器端socket的描述發(fā)給客戶端,這樣就建立了一個(gè)socket連接。連接建立后,通過輸入或者輸出流發(fā)送或接收數(shù)據(jù),而服務(wù)器端的socket繼續(xù)處于監(jiān)聽狀態(tài),等待其他客戶端的連接。在數(shù)據(jù)傳輸完畢后,客戶端會(huì)斷開連接,這樣一個(gè)完整的數(shù)據(jù)傳輸過程就完成了?;緎ocket的數(shù)據(jù)傳輸?shù)幕静襟E:1. 服務(wù)器端打開并監(jiān)聽接口;2. 客戶端進(jìn)行連接;3. 連接確認(rèn)并打開輸入輸出流;4. 傳輸數(shù)據(jù);5. 關(guān)閉連接。midp中提供了socketconnection和server
19、socketconnection接口用來實(shí)現(xiàn)對socket通信的支持,其中socketconnection用于實(shí)現(xiàn)客戶端的socket連接,serversocketconnection用于服務(wù)器端的socket連接。3.4主要模塊描述及流程圖3.4.1模塊描述本手機(jī)聊天室系統(tǒng)分為服務(wù)端和聊天室客戶端,服務(wù)端與客戶端之間通過套接口socket(tcp)連接。在java中使用套接口相當(dāng)簡單,java api為處理套接口的通信提供了一個(gè)類.socket.,使得編寫網(wǎng)絡(luò)應(yīng)用程序相對容易服務(wù)器采用多線程以滿足多用戶的請求,通過jdbc與后臺(tái)數(shù)據(jù)庫連接,并通過創(chuàng)建一個(gè)serversocket對象來監(jiān)聽來自
20、客戶的連接請求,默認(rèn)ip地址為:127.0.0.1默認(rèn)端口為8888。(1)聊天室服務(wù)端模塊圖:聊天室服務(wù)端端口服務(wù)發(fā)送系統(tǒng)消息退出服務(wù)器消息顯示停止服務(wù)啟動(dòng)服務(wù)端口服務(wù):輸入要偵聽的端口,默認(rèn)為8888;啟動(dòng)服務(wù):啟動(dòng)服務(wù)器,并開始在設(shè)置的端口中偵聽,客戶端用戶可以登錄并開始聊天;停止服務(wù):關(guān)閉服務(wù)器,偵聽結(jié)束??蛻舳擞脩舨荒茉倭奶?;發(fā)送系統(tǒng)消息:服務(wù)器端給所有人或者個(gè)別用戶發(fā)送消息。消息顯示:可以顯示所有用戶的聊天記錄,和上線、下線信息。退出服務(wù)器:退出程序,并停止服務(wù);(2)聊天室客戶端模塊圖:聊天室客戶端用戶設(shè)置用戶注銷連接設(shè)置發(fā)送/接收聊天消息退出用戶登錄用戶設(shè)置:用戶可以設(shè)置自己的
21、用戶名進(jìn)行聊天;連接設(shè)置:用戶可以設(shè)置自己的服務(wù)器的ip地址和端口號,默認(rèn)的連接地址為:127.0.0.1:8888;用戶登錄:只能在聊天室服務(wù)端已開啟的情況下,用戶才能登錄,用戶登錄之后才能開始聊天,登錄后不能再修改用戶設(shè)置和連接設(shè)置;用戶注銷:退出聊天,可以繼續(xù)修改用戶設(shè)置和連接設(shè)置;發(fā)送和接收聊天信息:用戶可以給所有人或者個(gè)別用戶發(fā)送信息,并能看到其他用戶發(fā)送給自己或所有人的消息;退出:關(guān)閉所有聊天并退出客戶端。3.4.2主流程圖啟動(dòng)服務(wù)端口服務(wù)聊天室服務(wù)器 設(shè)置偵聽端口 默認(rèn)端口:8888聊天進(jìn)入用戶設(shè)置聊天室客戶端 設(shè)置用戶名 默認(rèn)連接地址或用戶名連接設(shè)置退出 設(shè)置ip地址和端口4
22、詳細(xì)設(shè)計(jì)4.1 編寫目的詳細(xì)設(shè)計(jì)說明書是對系統(tǒng)架構(gòu)進(jìn)行詳細(xì)直觀描述,從而完成詳細(xì)設(shè)計(jì),是軟件實(shí)現(xiàn)的基礎(chǔ)。此文檔主要是說明手機(jī)電話薄的功能范圍,各個(gè)層次中的每個(gè)程序(每個(gè)模塊或子程序)的設(shè)計(jì)考慮,為程序員編寫程序提供依據(jù),可以有針對性的進(jìn)行系統(tǒng)開發(fā)、測試、驗(yàn)收等各方面的工作。4.2 聊天室服務(wù)器端設(shè)置4.2.1 serversocketconnection接口的使用serversocketconnection接口實(shí)現(xiàn)了對服務(wù)器端socket連接的支持,客戶端的socket可以連接由serversocketconnection創(chuàng)建的服務(wù)器socket連接。使用connector類的open(str
23、ing url)方法返回一個(gè)serversocketconnection,其中參數(shù)與創(chuàng)建serversocketconnection時(shí)的參數(shù)基本一樣,只是不需要指定主機(jī)地址。獲取ip地址和端口號的方法:getlocaladdress()/返回本地的ip號;getlocalport9()/返回本地的端口號.服務(wù)器端程序處于等待狀態(tài),一直到接收到客戶端的socket連接請求,然后創(chuàng)建socket連接并返回表示該連接的socketconnection實(shí)例。建立服務(wù)器端socket的代碼基本結(jié)構(gòu)如下:/獲取服務(wù)器端的socketserversocketconnectionserver=( server
24、socketconnection)connector.open(“socket:/:1080”)/等待連接socketconnection sc=(socketconnection)server.acceptandopen();/設(shè)置服務(wù)器端socket屬性server.setsocketoption(socketconnection.rcvbuf,128);server.setsocketoption(socketconnection.sndbuf,128);/得到socket對象的輸入流,用于讀取數(shù)據(jù)inputstream is=server.openinputstream();/得到so
25、cket對象的輸出流,用于發(fā)送數(shù)據(jù)outputstream os=server.openoutputstream();4.3 聊天室客戶端設(shè)置4.3.1 socketconnection接口的使用socketconnection接口實(shí)現(xiàn)了對客戶端socket連接的支持,是使用connector類的open(string url)方法,但返回的是socketconnection,其中參數(shù)url的基本格式為:socket:/.其中,hostport是以host:port格式出現(xiàn)的服務(wù)器地址和鏈接端口號字符串,服務(wù)器的地址是主機(jī)名或者是具體的ip地址。獲取ip地址和端口號的方法:getaddress
26、()/返回服務(wù)器端的ip地址getlocaladdress()/返回本機(jī)的ip地址getlocalport()/返回本地的端口號getport()/返回服務(wù)器的端口號通過setsocketoption()方法設(shè)置連接選項(xiàng):public void setsocketoption(byte option,int value)建立客戶端socket的代碼基本結(jié)構(gòu)如下:/獲得客戶端的socketsocketconnectionsc=( socketconnection)connector.open(“socket:/localhost:1080”);/設(shè)置客戶端socket屬性sc.setsocket
27、option(socketconnection.linger,6);/得到socket對象的輸入流,用于讀取數(shù)據(jù)inputstream is=server.openinputstream();/得到socket對象的輸出流,用于發(fā)送數(shù)據(jù)outputstream os=server.openoutputstream();5 編碼打包先設(shè)置.jad文件夾里面的參數(shù),required中的參數(shù)一般都設(shè)計(jì)為最低,以配合真機(jī)更好的運(yùn)用,在midlets中添加上游戲的名字以及對應(yīng)主函數(shù)名。然后在工程右鍵j2mecreate package就可以完成打包了,打完的包會(huì)存在工程目錄下的deployed中。然后發(fā)
28、到支持java的手機(jī)就可以了。6 系統(tǒng)測試為了確保本系統(tǒng)能夠正常運(yùn)行,需要在發(fā)布之后做一次較全面的測試?,F(xiàn)將具體操作及過程舉例說明如下:6.1 測試舉例6.1.1 測試程序登陸界面打開程序后,首先出現(xiàn)的是登錄頁面,在設(shè)置好網(wǎng)絡(luò)ip和端口號之后,輸入用戶名和密碼,如果連接服務(wù)器成功則提示用戶輸入的用戶名和密碼是否正確,否則提示連接不到服務(wù)器,并提示正確設(shè)置服務(wù)器ip和服務(wù)端口。其中端口號只能設(shè)置1024之后的端口號,前面的地址為服務(wù)器作為保留地址用,否則程序會(huì)提示錯(cuò)誤。6.1.2 測試程序主界面進(jìn)入主界面后,主頁面會(huì)顯示在線用戶列表區(qū)、信息顯示區(qū)、功能設(shè)置區(qū)、信息發(fā)送區(qū)、功能按鈕區(qū)。用戶可以在用
29、戶列表中看到目前在線的其他用戶,并在信息顯示區(qū)內(nèi)看到系統(tǒng)提示。用戶可以在信息發(fā)送區(qū)內(nèi)輸入自己的發(fā)送內(nèi)容,在主界面的顯示區(qū)中可以不斷的查看到其他用戶發(fā)送過來的信息,并可以通過點(diǎn)擊查看記錄按鈕查看保存的聊天記錄。6.1.3 測試程序退出當(dāng)單擊退出按鈕或窗體的關(guān)閉時(shí),用戶將發(fā)送退出信息,離開聊天室,其他用戶可以得到系統(tǒng)提示用戶下線并刷新用戶列表。當(dāng)服務(wù)器出線異?;蜿P(guān)閉時(shí),客戶端將提示服務(wù)中斷并退出系統(tǒng)。6.2 測試項(xiàng)目由于實(shí)際開發(fā)過程中還是不可避免地會(huì)產(chǎn)生差錯(cuò),系統(tǒng)中通常可能隱藏著錯(cuò)誤和缺陷,不經(jīng)周密測試的系統(tǒng)投入運(yùn)行,將會(huì)造成難以想象的后果,因此系統(tǒng)測試是軟件開發(fā)過程中為保證軟件質(zhì)量必須進(jìn)行的工作
30、。大量統(tǒng)計(jì)資料表明,系統(tǒng)測試的工作量往往占軟件開發(fā)總工作量的30%以上。因此,我們必須重視測試工作。由于程序中隱藏的缺陷只在特定的環(huán)境下才有可靠顯露,系統(tǒng)缺陷通常是由于對某些特定情況考慮不周造成的。因此測試不是為了表明程序正確;成功的測試也不是沒有發(fā)現(xiàn)錯(cuò)誤的測試。有意義的軟件測試應(yīng)該是從“破壞”軟件系統(tǒng)的角度出發(fā),精心設(shè)計(jì)最有可以暴露程序系統(tǒng)缺陷的測試方案。因此軟件測試的目標(biāo)應(yīng)該是以盡可能少的代價(jià)和時(shí)間找出軟件系統(tǒng)中潛在的錯(cuò)誤和缺陷。從產(chǎn)品角度看,測試計(jì)劃中的測試項(xiàng)目包括軟件結(jié)構(gòu)中的分系統(tǒng)層、子系統(tǒng)層、功能模塊層、程序模塊層中的各類模塊,從測試本身看,分為單元測試,組合測試,確認(rèn)測試等。測試對
31、象是隨不同階段而異的,最基本、最初的測試是單元測試,后面的組合測試、確認(rèn)測試都是以被測過的模塊作為測試對象的。6.2.1 單元測試單元測試也稱模塊測試或程序測試,單元測試是對每個(gè)模塊單獨(dú)進(jìn)行的,驗(yàn)證模塊接口與設(shè)計(jì)說明書是否一致,對模塊的所有主要處理路徑進(jìn)行測試且與預(yù)期的結(jié)構(gòu)進(jìn)行對照,還要對所有錯(cuò)誤處理路徑進(jìn)行測試。對源碼進(jìn)行審查,對照設(shè)計(jì)說明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進(jìn)行單元測試前的重要工作工。單元測試一般是由程序員完成,也稱程序調(diào)試。6.2.2 組合測試組合測試也稱集成測試或子系統(tǒng)測試,通常采用自頂向下測試和自底向上測試兩種測試方法。組合測試的對象是指已經(jīng)通過單元測試的模
32、塊,不是對零散模塊進(jìn)行單個(gè)測試,而是用系統(tǒng)化的方法裝配和測試軟件系統(tǒng),是一個(gè)嚴(yán)格的過程,必須認(rèn)真地進(jìn)行,其計(jì)劃的產(chǎn)生和單元模塊測試的完成日期要協(xié)調(diào)起來,這種測試應(yīng)在系統(tǒng)目標(biāo)機(jī)上進(jìn)行,造成系統(tǒng)應(yīng)用的環(huán)境條件,除了開發(fā)部分項(xiàng)目負(fù)責(zé)人參加以外,還應(yīng)該有相應(yīng)系統(tǒng)的用戶參加,給評審員進(jìn)行演示。6.2.3 確認(rèn)測試確認(rèn)測試是對通過組合測試的軟件進(jìn)行的,這些軟件已經(jīng)存于系統(tǒng)目標(biāo)設(shè)備的介質(zhì)上,確認(rèn)測試的目的是表明軟件是可以工作的,并且符合“軟件需求說明書”中規(guī)定的全部功能和性能要求。確認(rèn)測試是按照這些要求定出的“確認(rèn)測試計(jì)劃”進(jìn)行的。測試工作是由一個(gè)獨(dú)立的組織進(jìn)行,而且測試要從用戶的角度出發(fā)。6.2.4 系統(tǒng)
33、測試系統(tǒng)測試是對整體性能的測試,主要解決各子系統(tǒng)之間的數(shù)據(jù)通信和數(shù)據(jù)共享問題以及檢測系統(tǒng)是否達(dá)到用戶的實(shí)際要求,系統(tǒng)測試的依據(jù)是系統(tǒng)分析報(bào)告。系統(tǒng)測試應(yīng)在系統(tǒng)的整個(gè)范圍內(nèi)進(jìn)行,這種測試不只對軟件進(jìn)行,而是對構(gòu)成系統(tǒng)的硬、軟件一起進(jìn)行。系統(tǒng)測試與建構(gòu)同時(shí)進(jìn)行或略慢。系統(tǒng)測試需要確認(rèn)從頭到尾的功能正常才算完成,應(yīng)當(dāng)盡量避免系統(tǒng)測試延到項(xiàng)目末尾進(jìn)行。6.2.5 用戶驗(yàn)收測試在系統(tǒng)測試完成后,進(jìn)行用戶的驗(yàn)收測試,它是用戶在實(shí)際應(yīng)用環(huán)境中所進(jìn)行的真實(shí)數(shù)據(jù)測試。在具體的測試中,一般應(yīng)遵循以下原則:由程序設(shè)計(jì)者之外的人進(jìn)行測試;測試用例應(yīng)由兩部分組成:輸入數(shù)據(jù)和預(yù)期輸出結(jié)果;應(yīng)選用不合理的輸入數(shù)據(jù)與非法輸入
34、測試;不僅要檢驗(yàn)程序是否實(shí)現(xiàn)預(yù)期功能,還應(yīng)檢查程序是否做了不應(yīng)該做的工作;集中測試容易出錯(cuò)的程序模塊;對程序修改以后,必須重新進(jìn)行測試。6.3 測試方法一般來說,對程序測試有兩種測試方法:如果已經(jīng)知道了軟件系統(tǒng)應(yīng)具有的功能,可通過測試來對每個(gè)功能是否都能正常使用;如果知道程序的內(nèi)部工作過程,可以通過測試來檢測程序內(nèi)部是否按照規(guī)格說明書的規(guī)定正常進(jìn)行。前一種方法稱為黑盒測試,后一種方法稱為白盒子測試。黑盒測試又稱為功能測試,白盒子測試又稱為結(jié)構(gòu)測試。因?yàn)闀r(shí)間和項(xiàng)目的關(guān)系,沒有完全按照上述的測試方法進(jìn)行系統(tǒng)的測試,但在在開發(fā)的過程當(dāng)中,保證部分合理的測試,并正確運(yùn)行驗(yàn)證,證明本系統(tǒng)具有相當(dāng)程序的穩(wěn)
35、定性。7 缺陷與完善7.1 軟件存在的問題軟件已經(jīng)編寫好了,但是還有許多可以改進(jìn)的地方;同時(shí)還存在著一些小問題。還有一些功能上的缺陷,這里我列舉一下,并提出一些解決的辦法,希望以后可以改進(jìn)。(1)操作的方便性、登陸時(shí)添加一個(gè)主界面;(2)在功能方面可以進(jìn)一步增加,如實(shí)現(xiàn)用戶間的文件傳輸,并可以進(jìn)行視屏,共享音樂等高級功能。(3)執(zhí)行效率方面可以有待提高,優(yōu)化代碼結(jié)構(gòu),減少系統(tǒng)內(nèi)存泄露,提高運(yùn)行穩(wěn)定性等7.2 界面變得更加美觀由于一直專注于功能的實(shí)現(xiàn),從而忽略了界面的設(shè)計(jì),本軟件今后可以添加背景,并可以使窗體風(fēng)格更合理和更美觀,并且要使用戶有更多的自定義功能,設(shè)置自己的喜好和風(fēng)格等等。8 結(jié) 論
36、隨著移動(dòng)通信技術(shù)的發(fā)展和移動(dòng)終端設(shè)備的廣泛應(yīng)用,基于j2me 的手機(jī)程序正成為移動(dòng)增值服務(wù)的熱點(diǎn),支持移動(dòng)商務(wù)和個(gè)人移動(dòng)通信的應(yīng)用程序正得到快速的發(fā)展和廣泛應(yīng)用。本文采用j2me/servlet 技術(shù)構(gòu)建了一個(gè)手機(jī)聊天系統(tǒng)模型,并對其進(jìn)行了分析、模擬實(shí)驗(yàn),其結(jié)果表明這一構(gòu)想是一個(gè)具有較好創(chuàng)意的移動(dòng)應(yīng)用。首先,我選擇本課題緣由是對項(xiàng)目有較深的理解和對聊天通訊軟件有豐富的使用和接觸經(jīng)驗(yàn),可以設(shè)計(jì)和開發(fā)本項(xiàng)目時(shí)更有效率。并且對網(wǎng)絡(luò)開發(fā)有濃厚的興趣,對具有網(wǎng)絡(luò)功能的項(xiàng)目更有成就感。學(xué)習(xí)期間,通過學(xué)校開設(shè)的基礎(chǔ)課程,扎實(shí)系統(tǒng)的學(xué)習(xí)了軟件的基礎(chǔ)知識(shí),并對面向?qū)ο缶幊陶Z言有了進(jìn)一步的理解,對軟件專業(yè)逐步的建
37、立起自己的知識(shí)體系框架。通過這次的畢業(yè)設(shè)計(jì),使自己在java2編程語言的使用方面得到一個(gè)全面鍛煉自己的機(jī)會(huì),在個(gè)模塊的界面開發(fā)方面,充分的學(xué)習(xí)和利用了java swing界面開發(fā)技術(shù),使自己在界面應(yīng)用和布局方面得到更多的實(shí)踐,應(yīng)用socket技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)連接功能,對網(wǎng)絡(luò)的實(shí)現(xiàn)和通信方面有了進(jìn)一步的理解,并通過多線程方面的應(yīng)用,使客戶端和服務(wù)端可以實(shí)現(xiàn)多任務(wù)功能,在整個(gè)開發(fā)過程當(dāng)中應(yīng)用軟件工程的開發(fā)步驟,使自己專業(yè)理論知識(shí)的到進(jìn)一步的鞏固,項(xiàng)目開發(fā)經(jīng)驗(yàn)有不少的收獲。通過完成這次畢業(yè)設(shè)計(jì)項(xiàng)目,使自己在項(xiàng)目實(shí)際開發(fā)方面有了進(jìn)一步的提高,并使自己感覺到成功的喜悅,并對自己在專業(yè)的未來發(fā)展更充滿信心,對自己在今后的工作中更好的幫助。參 考 文 獻(xiàn)1 美rogers cadenhead. java編程入門經(jīng)典.梅興文譯.第4版.北京:人民郵電出版社,20072美bruce eckel. thinking in java.英文第4版.北京:機(jī)械工業(yè)出版社,20073陳軼.姚曉昆編著.java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo).北
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年行政事業(yè)單位物業(yè)設(shè)備采購與安裝合同2篇
- 2025年浙江新北園區(qū)開發(fā)有限公司招聘筆試參考題庫含答案解析
- 2025年福建東南設(shè)計(jì)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 二零二五年度二零二五健康養(yǎng)生產(chǎn)品銷售代理合同4篇
- 2025年山西晉沃投資發(fā)展有限公司招聘筆試參考題庫含答案解析
- 2025年廣西合山市儲(chǔ)備糧管理公司招聘筆試參考題庫含答案解析
- 2025年合肥肥西縣鄉(xiāng)村振興投資集團(tuán)有限公司子公司招聘筆試參考題庫附帶答案詳解
- 《藥品銷售專業(yè)人士高級培訓(xùn)課件》
- 二零二五年度門窗玻璃深加工合作協(xié)議2篇
- 2025年度裝配式建筑抹灰工程合同樣本4篇
- 充電樁項(xiàng)目運(yùn)營方案
- 2024年農(nóng)民職業(yè)農(nóng)業(yè)素質(zhì)技能考試題庫(附含答案)
- 高考對聯(lián)題(對聯(lián)知識(shí)、高考真題及答案、對應(yīng)練習(xí)題)
- 新版《鐵道概論》考試復(fù)習(xí)試題庫(含答案)
- 【律師承辦案件費(fèi)用清單】(計(jì)時(shí)收費(fèi))模板
- 高中物理競賽真題分類匯編 4 光學(xué) (學(xué)生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語人教版
- 西方經(jīng)濟(jì)學(xué)-高鴻業(yè)-筆記
- 2024年上海市中考語文試題卷(含答案)
- 幼兒園美術(shù)教育研究策略國內(nèi)外
- 生豬養(yǎng)殖生產(chǎn)過程信息化與數(shù)字化管理
評論
0/150
提交評論