手機聊天室設(shè)計與開發(fā)畢業(yè)設(shè)計_說明書_第1頁
手機聊天室設(shè)計與開發(fā)畢業(yè)設(shè)計_說明書_第2頁
手機聊天室設(shè)計與開發(fā)畢業(yè)設(shè)計_說明書_第3頁
手機聊天室設(shè)計與開發(fā)畢業(yè)設(shè)計_說明書_第4頁
手機聊天室設(shè)計與開發(fā)畢業(yè)設(shè)計_說明書_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 . . . 畢業(yè)設(shè)計說明書手機聊天室設(shè)計與開發(fā)學(xué)生: 學(xué)號:學(xué) 院:專 業(yè):指導(dǎo)教師:2011年 6 月手機聊天室設(shè)計與開發(fā) 摘 要網(wǎng)絡(luò)聊天室是一種應(yīng)用廣泛網(wǎng)絡(luò)聊天方式,操作簡單,功能豐富,是教學(xué)和學(xué)習(xí)面向?qū)ο蟮木幊趟枷氲睦硐腠椖俊?梢允褂枚喾N編程語言設(shè)計和開發(fā)出功能完善的網(wǎng)絡(luò)聊天室。本畢業(yè)設(shè)計論文介紹用JAVA語言設(shè)計和實現(xiàn)一個手機網(wǎng)絡(luò)聊天室的過程,本系統(tǒng)采用C/S架構(gòu)設(shè)計,整個項目分為服務(wù)器端和客戶端。使用了最新的Java 2標準Swing組件,開發(fā)出簡潔美觀和布局合理的用戶和服務(wù)器界面;利用Socket網(wǎng)絡(luò)開發(fā)技術(shù)實現(xiàn)客戶端和服務(wù)器端的連接訪問,實現(xiàn)網(wǎng)絡(luò)功能;通過對數(shù)據(jù)流操作的合理設(shè)計

2、,實現(xiàn)信息傳遞、接受和數(shù)據(jù)保存。同時,采用多線程、多任務(wù)的設(shè)計思想,開發(fā)出性能穩(wěn)定,功能全面的服務(wù)器。完整的實現(xiàn)系統(tǒng)的功能。通過本次畢業(yè)設(shè)計可以學(xué)到如何應(yīng)用和實現(xiàn)面向?qū)ο蟮母鞣N方法,如何使用Eclipse集成開發(fā)環(huán)境來創(chuàng)建和開發(fā)項目,從而完成系統(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 e

3、ase 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 us

4、e 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 t

5、o 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 u

6、se 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ā)目標62.4.2 應(yīng)用目標625 功能需求72.5.1 功能描述726 相關(guān)需求72.6.1 硬

7、件接口72.6.2 軟件接口827 質(zhì)量性能需求82.7.1 容錯性需求82.7.2 穩(wěn)定性需求82.7.3軟件設(shè)計可靠性82.7.4安全性92.7.5 擴展性92.7.6 易用性93 概要設(shè)計93.1 編寫目的93.2 定義93.3 總體設(shè)計103.4主要模塊描述與流程圖103.4.1模塊描述103.4.2主流程圖124 詳細設(shè)計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 測試項目166.2.1 單元測試166.2.2 組合測試176.2.3 確認測試176.2.4 系統(tǒng)測試176.2.5 用戶驗收測試176.3 測試方法187 缺陷與完善187.1 軟件存在的問題187.2 界面變得更加美觀188 結(jié)論19參考文獻20致211 引言手機與其他無線設(shè)備在給人們帶來便利的同時,自身的一些缺陷也影響了其發(fā)展:出廠時均由硬件廠商固化程序,程序不能增加、刪除,有了錯誤也不能更新、修改,若要增加新功能必須另換一部手機。Sun 公司倡導(dǎo)的J2ME 技術(shù),在通信、娛樂等應(yīng)用上產(chǎn)生的手

9、機增值服務(wù)逐漸體現(xiàn)出其影響力,對豐富人們的生活容、提供快捷的資訊起著不可忽視的作用。隨著J2ME 技術(shù)的不斷發(fā)展,它獲得了手機制造商越來越廣泛的支持。利用J2ME 平臺可以為手機提供很好的擴展選擇。J2ME 為Java 技術(shù)的一部分,是專門為移動設(shè)備設(shè)計的Java 平臺,其應(yīng)用程序可以運行在不同制造商的不同設(shè)備上,充分體現(xiàn)了Sun 公司倡導(dǎo)的“一次編寫,隨處運行”的理念。它以其不斷發(fā)展的技術(shù)優(yōu)勢獲得了手機制造商越來越廣泛的支持。J2ME 平臺被認為是當前移動開發(fā)領(lǐng)域中最杰出的手機程序開發(fā)平臺之一,它已被開發(fā)者、設(shè)備制造商、網(wǎng)絡(luò)通信公司和消費者廣泛接受。針對現(xiàn)有手機短信業(yè)務(wù)存在的無法提供多人之間

10、交流的不足,本文利用J2ME 提供的聊天通信功能,開發(fā)一套簡單的手機網(wǎng)絡(luò)聊天系統(tǒng),實現(xiàn)多人聊天功能。2 需求分析21 編寫目的明確用戶對手機聊天室的功能需求和性能需求,并將這些需求用規(guī)化的語言和規(guī)化的結(jié)構(gòu)完整、準確地表達清楚,以此統(tǒng)一軟件開發(fā)者和用戶對該軟件的理解和認識,并使用戶了解工作流程。需求分析是整個軟件開發(fā)的依據(jù),它對以后階段的工作起指導(dǎo)作用。本章也是項目完成后系統(tǒng)驗收的依據(jù)。22 研究背景隨著手機的日益普與,短信業(yè)務(wù)的一些缺點也日益顯現(xiàn):(1)不能實現(xiàn)一條短信發(fā)送到多個不同(一些手機上的群發(fā)功能只是將短信反復(fù)發(fā)送,實際仍需反復(fù)計費)。(2)短信長度限制(一般為70 個漢字或140 個

11、字母)限制了用戶的使用。本文針對上述短信業(yè)務(wù)的不足,利用手機能夠方便接入無線網(wǎng)絡(luò)的優(yōu)勢,設(shè)計了一套手機聊天系統(tǒng)。這套系統(tǒng)通過GPRS 網(wǎng)絡(luò)發(fā)送信息(信息無長度限制),然后由服務(wù)器對消息進行轉(zhuǎn)發(fā)(不再對發(fā)送方產(chǎn)生費用),實現(xiàn)了多人之間較為便捷的交流。23 定義需求:用戶解決問題或達到目標所需的條件或功能;系統(tǒng)或系統(tǒng)部件要滿足合同、標準,規(guī)或其它正式規(guī)定文檔所需具有的條件或權(quán)能。24 任務(wù)概述2.4.1開發(fā)目標手機網(wǎng)絡(luò)聊天室是一項應(yīng)用廣泛,并且實用性強的一個應(yīng)用,雖然其功能簡單,但是在其開發(fā)技術(shù)和過程中,能夠充分學(xué)習(xí)和使用J2ME的技術(shù),要現(xiàn)一個手機收發(fā)消息的應(yīng)用軟件,該軟件采用J2ME技術(shù)實現(xiàn)軟

12、件的流程控制、邏輯處理和記錄存儲等功能?;竟δ馨ǎ悍?wù)器端開發(fā),客戶端開發(fā),盡量添加一些輔助性的功能以使功能更完美。使用 Swing組件技術(shù),實現(xiàn)網(wǎng)絡(luò)的功能使用 Socket/Server Socket 技術(shù),實現(xiàn)數(shù)據(jù)的保存使用JDBC數(shù)據(jù)庫連接和操作技術(shù),并且在開發(fā)過程當中,能充分的使用和體會面向?qū)ο蠹夹g(shù)的原理和方法。所以該項目可以使自己在JAVA技術(shù)方面得到全面應(yīng)用,使自己項目開發(fā)能力的一個很好體現(xiàn)。2.4.2應(yīng)用目標應(yīng)用目標:實現(xiàn)一個手機收發(fā)消息的應(yīng)用軟件,該軟件采用J2ME技術(shù)實現(xiàn)軟件的流程控制、邏輯處理和記錄存儲等功能。25功能需求2.5.1功能描述基于J2ME 的手機客戶端程序

13、支持建立網(wǎng)絡(luò)連接、傳送請求和遠程訪問服務(wù)器,是直接與用戶交互的平臺。而服務(wù)器端用于接收客戶端的請求,執(zhí)行與數(shù)據(jù)庫的通信,并完成后臺邏輯的運算,最后將處理結(jié)果返回給手機客戶端。本系統(tǒng)是java基于c/s模式的聊天室程序。聊天室共分為服務(wù)器端和客戶端兩個部分,服務(wù)器端程序主要負責(zé)偵聽客戶端發(fā)來的消息,客戶端需要登錄到服務(wù)器端才能實現(xiàn)正常的聊天功能。(1)服務(wù)器端的主要功能有:a.在特定端口上進行偵聽,等待客戶端連接。b.用戶可以配置服務(wù)器的偵聽端口,默認是8888。c.可以向已經(jīng)連接的客戶端發(fā)送體統(tǒng)消息。d.統(tǒng)計在線人數(shù)。e.停止服務(wù)時,斷開所有的用戶連接。(2)客戶端的主要功能有:a.連接到已經(jīng)

14、開啟聊天服務(wù)的服務(wù)端。b.用戶可以配置要連接的服務(wù)器IP地址和端口號。c.用戶可以配置連接后的用戶名。d.服務(wù)器開啟時,用戶可以隨時登錄與注消。c.用戶可以想所有的人或者指定的個人發(fā)送消息。26 相關(guān)需求2.6.1硬件接口不需要特定的硬件或硬件接口進行支撐。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容錯性需求當出現(xiàn)代碼異常時,出現(xiàn)正確的提示,不會影響整個系統(tǒng)的運行。用戶之間信息傳輸不會因為數(shù)據(jù)封裝問題出現(xiàn)丟失或亂碼

15、。因用戶的誤操作產(chǎn)生的異常應(yīng)做出與時的處理或信息提示。2.7.2穩(wěn)定性需求軟件應(yīng)正常完成所有功能需求。服務(wù)器端應(yīng)長時間運行無故障,故障修復(fù)時間一般控制在3小時,除非出現(xiàn)惡性攻擊、病毒破壞、系統(tǒng)資源不足、硬件故障、操作系統(tǒng)或數(shù)據(jù)庫系統(tǒng)崩潰網(wǎng)絡(luò)中斷等情況,要求系統(tǒng)連續(xù)運行一周,不允許出現(xiàn)存泄露。要求系統(tǒng)可以承受告警風(fēng)暴和大數(shù)據(jù)量的沖擊,不出現(xiàn)存溢出等現(xiàn)象。2.7.3軟件設(shè)計可靠性要確定合適的模塊粒度,各模塊之間要求松耦合,高聚;從而使整個系統(tǒng)的可靠性和穩(wěn)定性得到提高,并且便于系統(tǒng)維護,和新模塊的添加。2.7.4安全性安全性是防止網(wǎng)絡(luò)方面的攻擊。2.7.5擴展性系統(tǒng)建成后,應(yīng)在現(xiàn)行系統(tǒng)上不需要做大的

16、改動或不影響整個系統(tǒng)結(jié)構(gòu),就可以增加功能模塊,這就必須在系統(tǒng)設(shè)計時留有接口,使其具有可擴展性和維護性。2.7.6易用性系統(tǒng)操作的界面必須簡潔、操作方便易用、設(shè)計合理。3 概要設(shè)計3.1 編寫目的從該階段開發(fā)正式進入軟件的實際開發(fā)階段,本階段完成系統(tǒng)的大致設(shè)計并明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與軟件結(jié)構(gòu)。在軟件設(shè)計階段主要是把一個軟件需求轉(zhuǎn)化為軟件表示的過程,這種表示只是描述出軟件的概貌。本概要設(shè)計說明書的目的就是進一步細化軟件階段得出的軟件的總體概貌,把它加工成災(zāi)程序細節(jié)上非常接近源程序的軟件表示。該階段目的在于明確網(wǎng)絡(luò)聊天室系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和軟件總體結(jié)構(gòu),各個軟件模塊的功能說明,數(shù)據(jù)結(jié)構(gòu)的細節(jié),系統(tǒng)運行配置

17、與應(yīng)用方式以與使用的關(guān)鍵技術(shù)。3.2 定義概要設(shè)計:是把需求分析得到的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。設(shè)計軟件結(jié)構(gòu)的具體任務(wù)是:將一個復(fù)雜系統(tǒng)按功能進行模塊劃分、建立模塊的層次結(jié)構(gòu)與調(diào)用關(guān)系、確定模塊間的接口與人機界面等。數(shù)據(jù)結(jié)構(gòu)設(shè)計包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以與數(shù)據(jù)庫的設(shè)計。3.3 總體設(shè)計Socket通信是網(wǎng)絡(luò)通信的基本方式之一,通常由服務(wù)器端和客戶端兩部分組成。服務(wù)器端Socket首先要處于等待連接的監(jiān)聽狀態(tài),實時監(jiān)控指定端口,等待客戶端Socket連接服務(wù)器端的Socket,連接時需要指定服務(wù)器的地址和連接端口。當服務(wù)器端Socket監(jiān)聽到或者接收到客戶端Socket的連

18、接請求時,就對客戶端Socket的請求進行響應(yīng),建立一個新的線程,并把服務(wù)器端Socket的描述發(fā)給客戶端,這樣就建立了一個Socket連接。連接建立后,通過輸入或者輸出流發(fā)送或接收數(shù)據(jù),而服務(wù)器端的Socket繼續(xù)處于監(jiān)聽狀態(tài),等待其他客戶端的連接。在數(shù)據(jù)傳輸完畢后,客戶端會斷開連接,這樣一個完整的數(shù)據(jù)傳輸過程就完成了。基本Socket的數(shù)據(jù)傳輸?shù)幕静襟E:1. 服務(wù)器端打開并監(jiān)聽接口;2. 客戶端進行連接;3. 連接確認并打開輸入輸出流;4. 傳輸數(shù)據(jù);5. 關(guān)閉連接。MIDP中提供了SocketConnection和ServerSocketConnection接口用來實現(xiàn)對Socket通

19、信的支持,其中SocketConnection用于實現(xiàn)客戶端的Socket連接,ServerSocketConnection用于服務(wù)器端的Socket連接。3.4主要模塊描述與流程圖3.4.1模塊描述本手機聊天室系統(tǒng)分為服務(wù)端和聊天室客戶端,服務(wù)端與客戶端之間通過套接口Socket(TCP)連接。在java中使用套接口相當簡單,JavaAPI為處理套接口的通信提供了一個類.Socket.,使得編寫網(wǎng)絡(luò)應(yīng)用程序相對容易服務(wù)器采用多線程以滿足多用戶的請求,通過JDBC與后臺數(shù)據(jù)庫連接,并通過創(chuàng)建一個ServerSocket對象來監(jiān)聽來自客戶的連接請求,默認IP地址為:127.0.0.1默認端口為8

20、888。(1)聊天室服務(wù)端模塊圖:聊天室服務(wù)端端口服務(wù)發(fā)送系統(tǒng)消息退出服務(wù)器消息顯示停止服務(wù)啟動服務(wù)端口服務(wù):輸入要偵聽的端口,默認為8888;啟動服務(wù):啟動服務(wù)器,并開始在設(shè)置的端口中偵聽,客戶端用戶可以登錄并開始聊天;停止服務(wù):關(guān)閉服務(wù)器,偵聽結(jié)束。客戶端用戶不能再聊天;發(fā)送系統(tǒng)消息:服務(wù)器端給所有人或者個別用戶發(fā)送消息。消息顯示:可以顯示所有用戶的聊天記錄,和上線、下線信息。退出服務(wù)器:退出程序,并停止服務(wù);(2)聊天室客戶端模塊圖:聊天室客戶端用戶設(shè)置用戶注銷連接設(shè)置發(fā)送/接收聊天消息退出用戶登錄用戶設(shè)置:用戶可以設(shè)置自己的用戶名進行聊天;連接設(shè)置:用戶可以設(shè)置自己的服務(wù)器的IP地址和

21、端口號,默認的連接地址為:127.0.0.1:8888;用戶登錄:只能在聊天室服務(wù)端已開啟的情況下,用戶才能登錄,用戶登錄之后才能開始聊天,登錄后不能再修改用戶設(shè)置和連接設(shè)置;用戶注銷:退出聊天,可以繼續(xù)修改用戶設(shè)置和連接設(shè)置;發(fā)送和接收聊天信息:用戶可以給所有人或者個別用戶發(fā)送信息,并能看到其他用戶發(fā)送給自己或所有人的消息;退出:關(guān)閉所有聊天并退出客戶端。3.4.2主流程圖啟動服務(wù)端口服務(wù)聊天室服務(wù)器設(shè)置偵聽端口默認端口:8888聊天進入用戶設(shè)置聊天室客戶端設(shè)置用戶名默認連接地址或用戶名連接設(shè)置退出設(shè)置IP地址和端口4 詳細設(shè)計4.1 編寫目的詳細設(shè)計說明書是對系統(tǒng)架構(gòu)進行詳細直觀描述,從而

22、完成詳細設(shè)計,是軟件實現(xiàn)的基礎(chǔ)。此文檔主要是說明手機薄的功能圍,各個層次中的每個程序(每個模塊或子程序)的設(shè)計考慮,為程序員編寫程序提供依據(jù),可以有針對性的進行系統(tǒng)開發(fā)、測試、驗收等各方面的工作。4.2 聊天室服務(wù)器端設(shè)置4.2.1 ServerSocketConnection接口的使用ServerSocketConnection接口實現(xiàn)了對服務(wù)器端Socket連接的支持,客戶端的Socket可以連接由ServerSocketConnection創(chuàng)建的服務(wù)器Socket連接。使用Connector類的open(String url)方法返回一個ServerSocketConnection,其中

23、參數(shù)與創(chuàng)建ServerSocketConnection時的參數(shù)基本一樣,只是不需要指定主機地址。獲取IP地址和端口號的方法:getLocalAddress()/返回本地的IP號;getLocalPort9()/返回本地的端口號.服務(wù)器端程序處于等待狀態(tài),一直到接收到客戶端的Socket連接請求,然后創(chuàng)建Socket連接并返回表示該連接的SocketConnection實例。建立服務(wù)器端Socket的代碼基本結(jié)構(gòu)如下:/獲取服務(wù)器端的SocketServerSocketConnectionServer=( ServerSocketConnection)Connector.open(“socket

24、:/: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();/得到Socket對象的輸出流,用于發(fā)送數(shù)據(jù)OutputStream os=server

25、.openOutputStream();4.3 聊天室客戶端設(shè)置4.3.1 SocketConnection接口的使用SocketConnection接口實現(xiàn)了對客戶端Socket連接的支持,是使用Connector類的open(String url)方法,但返回的是SocketConnection,其中參數(shù)url的基本格式為:socket:/<hostport>.其中,hostport是以host:port格式出現(xiàn)的服務(wù)器地址和端口號字符串,服務(wù)器的地址是主機名或者是具體的IP地址。獲取IP地址和端口號的方法:getAddress()/返回服務(wù)器端的IP地址getLocalAdd

26、ress()/返回本機的IP地址getLocalPort()/返回本地的端口號getPort()/返回服務(wù)器的端口號通過setSocketOption()方法設(shè)置連接選項:public void setSocketOption(byte option,int value)建立客戶端Socket的代碼基本結(jié)構(gòu)如下:/獲得客戶端的SocketSocketConnectionsc=( SocketConnection)Connector.open(“socket:/localhost:1080”);/設(shè)置客戶端Socket屬性sc.setSocketOption(SocketConnection.L

27、INGER,6);/得到Socket對象的輸入流,用于讀取數(shù)據(jù)InputStream is=server.openInputStream();/得到Socket對象的輸出流,用于發(fā)送數(shù)據(jù)OutputStream os=server.openOutputStream();5 編碼打包先設(shè)置.jad文件夾里面的參數(shù),Required中的參數(shù)一般都設(shè)計為最低,以配合真機更好的運用,在Midlets中添加上游戲的名字以與對應(yīng)主函數(shù)名。然后在工程右鍵J2MECreate Package就可以完成打包了,打完的包會存在工程目錄下的deployed中。然后發(fā)到支持Java的手機就可以了。6 系統(tǒng)測試為了確保

28、本系統(tǒng)能夠正常運行,需要在發(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ù)器作為保留地址用,否則程序會提示錯誤。6.1.2 測試程序主界面進入主界面后,主頁面會顯示在線用戶列表區(qū)、信息顯示區(qū)、功能設(shè)置區(qū)、信息發(fā)送區(qū)、功能按鈕區(qū)。用戶可以在用戶列表中看到目前在線的其他用戶,并在信息顯示區(qū)看到

29、系統(tǒng)提示。用戶可以在信息發(fā)送區(qū)輸入自己的發(fā)送容,在主界面的顯示區(qū)中可以不斷的查看到其他用戶發(fā)送過來的信息,并可以通過點擊查看記錄按鈕查看保存的聊天記錄。6.1.3 測試程序退出當單擊退出按鈕或窗體的關(guān)閉時,用戶將發(fā)送退出信息,離開聊天室,其他用戶可以得到系統(tǒng)提示用戶下線并刷新用戶列表。當服務(wù)器出線異常或關(guān)閉時,客戶端將提示服務(wù)中斷并退出系統(tǒng)。6.2 測試項目由于實際開發(fā)過程中還是不可避免地會產(chǎn)生差錯,系統(tǒng)??赡茈[藏著錯誤和缺陷,不經(jīng)周密測試的系統(tǒng)投入運行,將會造成難以想象的后果,因此系統(tǒng)測試是軟件開發(fā)過程中為保證軟件質(zhì)量必須進行的工作。大量統(tǒng)計資料表明,系統(tǒng)測試的工作量往往占軟件開發(fā)總工作量的

30、30%以上。因此,我們必須重視測試工作。由于程序中隱藏的缺陷只在特定的環(huán)境下才有可靠顯露,系統(tǒng)缺陷通常是由于對某些特定情況考慮不周造成的。因此測試不是為了表明程序正確;成功的測試也不是沒有發(fā)現(xiàn)錯誤的測試。有意義的軟件測試應(yīng)該是從“破壞”軟件系統(tǒng)的角度出發(fā),精心設(shè)計最有可以暴露程序系統(tǒng)缺陷的測試方案。因此軟件測試的目標應(yīng)該是以盡可能少的代價和時間找出軟件系統(tǒng)中潛在的錯誤和缺陷。從產(chǎn)品角度看,測試計劃中的測試項目包括軟件結(jié)構(gòu)中的分系統(tǒng)層、子系統(tǒng)層、功能模塊層、程序模塊層中的各類模塊,從測試本身看,分為單元測試,組合測試,確認測試等。測試對象是隨不同階段而異的,最基本、最初的測試是單元測試,后面的組

31、合測試、確認測試都是以被測過的模塊作為測試對象的。6.2.1 單元測試單元測試也稱模塊測試或程序測試,單元測試是對每個模塊單獨進行的,驗證模塊接口與設(shè)計說明書是否一致,對模塊的所有主要處理路徑進行測試且與預(yù)期的結(jié)構(gòu)進行對照,還要對所有錯誤處理路徑進行測試。對源碼進行審查,對照設(shè)計說明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進行單元測試前的重要工作工。單元測試一般是由程序員完成,也稱程序調(diào)試。6.2.2 組合測試組合測試也稱集成測試或子系統(tǒng)測試,通常采用自頂向下測試和自底向上測試兩種測試方法。組合測試的對象是指已經(jīng)通過單元測試的模塊,不是對零散模塊進行單個測試,而是用系統(tǒng)化的方法裝配和測試

32、軟件系統(tǒng),是一個嚴格的過程,必須認真地進行,其計劃的產(chǎn)生和單元模塊測試的完成日期要協(xié)調(diào)起來,這種測試應(yīng)在系統(tǒng)目標機上進行,造成系統(tǒng)應(yīng)用的環(huán)境條件,除了開發(fā)部分項目負責(zé)人參加以外,還應(yīng)該有相應(yīng)系統(tǒng)的用戶參加,給評審員進行演示。6.2.3 確認測試確認測試是對通過組合測試的軟件進行的,這些軟件已經(jīng)存于系統(tǒng)目標設(shè)備的介質(zhì)上,確認測試的目的是表明軟件是可以工作的,并且符合“軟件需求說明書”中規(guī)定的全部功能和性能要求。確認測試是按照這些要求定出的“確認測試計劃”進行的。測試工作是由一個獨立的組織進行,而且測試要從用戶的角度出發(fā)。6.2.4 系統(tǒng)測試系統(tǒng)測試是對整體性能的測試,主要解決各子系統(tǒng)之間的數(shù)據(jù)通

33、信和數(shù)據(jù)共享問題以與檢測系統(tǒng)是否達到用戶的實際要求,系統(tǒng)測試的依據(jù)是系統(tǒng)分析報告。系統(tǒng)測試應(yīng)在系統(tǒng)的整個圍進行,這種測試不只對軟件進行,而是對構(gòu)成系統(tǒng)的硬、軟件一起進行。系統(tǒng)測試與建構(gòu)同時進行或略慢。系統(tǒng)測試需要確認從頭到尾的功能正常才算完成,應(yīng)當盡量避免系統(tǒng)測試延到項目末尾進行。6.2.5 用戶驗收測試在系統(tǒng)測試完成后,進行用戶的驗收測試,它是用戶在實際應(yīng)用環(huán)境中所進行的真實數(shù)據(jù)測試。在具體的測試中,一般應(yīng)遵循以下原則:由程序設(shè)計者之外的人進行測試;測試用例應(yīng)由兩部分組成:輸入數(shù)據(jù)和預(yù)期輸出結(jié)果;應(yīng)選用不合理的輸入數(shù)據(jù)與非法輸入測試;不僅要檢驗程序是否實現(xiàn)預(yù)期功能,還應(yīng)檢查程序是否做了不應(yīng)該

34、做的工作;集中測試容易出錯的程序模塊;對程序修改以后,必須重新進行測試。6.3 測試方法一般來說,對程序測試有兩種測試方法:如果已經(jīng)知道了軟件系統(tǒng)應(yīng)具有的功能,可通過測試來對每個功能是否都能正常使用;如果知道程序的部工作過程,可以通過測試來檢測程序部是否按照規(guī)格說明書的規(guī)定正常進行。前一種方法稱為黑盒測試,后一種方法稱為白盒子測試。黑盒測試又稱為功能測試,白盒子測試又稱為結(jié)構(gòu)測試。因為時間和項目的關(guān)系,沒有完全按照上述的測試方法進行系統(tǒng)的測試,但在在開發(fā)的過程當中,保證部分合理的測試,并正確運行驗證,證明本系統(tǒng)具有相當程序的穩(wěn)定性。7 缺陷與完善7.1 軟件存在的問題軟件已經(jīng)編寫好了,但是還有

35、許多可以改進的地方;同時還存在著一些小問題。還有一些功能上的缺陷,這里我列舉一下,并提出一些解決的辦法,希望以后可以改進。(1)操作的方便性、登陸時添加一個主界面;(2)在功能方面可以進一步增加,如實現(xiàn)用戶間的文件傳輸,并可以進行視屏,共享音樂等高級功能。(3)執(zhí)行效率方面可以有待提高,優(yōu)化代碼結(jié)構(gòu),減少系統(tǒng)存泄露,提高運行穩(wěn)定性等7.2 界面變得更加美觀由于一直專注于功能的實現(xiàn),從而忽略了界面的設(shè)計,本軟件今后可以添加背景,并可以使窗體風(fēng)格更合理和更美觀,并且要使用戶有更多的自定義功能,設(shè)置自己的喜好和風(fēng)格等等。8 結(jié) 論隨著移動通信技術(shù)的發(fā)展和移動終端設(shè)備的廣泛應(yīng)用,基于J2ME 的手機程

36、序正成為移動增值服務(wù)的熱點,支持移動商務(wù)和個人移動通信的應(yīng)用程序正得到快速的發(fā)展和廣泛應(yīng)用。本文采用J2ME/Servlet 技術(shù)構(gòu)建了一個手機聊天系統(tǒng)模型,并對其進行了分析、模擬實驗,其結(jié)果表明這一構(gòu)想是一個具有較好創(chuàng)意的移動應(yīng)用。首先,我選擇本課題緣由是對項目有較深的理解和對聊天通訊軟件有豐富的使用和接觸經(jīng)驗,可以設(shè)計和開發(fā)本項目時更有效率。并且對網(wǎng)絡(luò)開發(fā)有濃厚的興趣,對具有網(wǎng)絡(luò)功能的項目更有成就感。學(xué)習(xí)期間,通過學(xué)校開設(shè)的基礎(chǔ)課程,扎實系統(tǒng)的學(xué)習(xí)了軟件的基礎(chǔ)知識,并對面向?qū)ο缶幊陶Z言有了進一步的理解,對軟件專業(yè)逐步的建立起自己的知識體系框架。通過這次的畢業(yè)設(shè)計,使自己在JAVA2編程語言

37、的使用方面得到一個全面鍛煉自己的機會,在個模塊的界面開發(fā)方面,充分的學(xué)習(xí)和利用了JAVA Swing界面開發(fā)技術(shù),使自己在界面應(yīng)用和布局方面得到更多的實踐,應(yīng)用Socket技術(shù)實現(xiàn)網(wǎng)絡(luò)連接功能,對網(wǎng)絡(luò)的實現(xiàn)和通信方面有了進一步的理解,并通過多線程方面的應(yīng)用,使客戶端和服務(wù)端可以實現(xiàn)多任務(wù)功能,在整個開發(fā)過程當中應(yīng)用軟件工程的開發(fā)步驟,使自己專業(yè)理論知識的到進一步的鞏固,項目開發(fā)經(jīng)驗有不少的收獲。通過完成這次畢業(yè)設(shè)計項目,使自己在項目實際開發(fā)方面有了進一步的提高,并使自己感覺到成功的喜悅,并對自己在專業(yè)的未來發(fā)展更充滿信心,對自己在今后的工作中更好的幫助。參 考 文 獻1 美Rogers Cadenhead. Java

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論