(精選)課題-即時通訊畢業(yè)設(shè)計_第1頁
(精選)課題-即時通訊畢業(yè)設(shè)計_第2頁
(精選)課題-即時通訊畢業(yè)設(shè)計_第3頁
(精選)課題-即時通訊畢業(yè)設(shè)計_第4頁
(精選)課題-即時通訊畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計說明書企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)電子與計算機科學技術(shù)學院海南社區(qū)學生姓名: 學號: 學 院: 網(wǎng)絡(luò)工程專 業(yè): 指導教師: 2015年6月企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)摘 要隨著計算機網(wǎng)絡(luò)應(yīng)用的逐漸普及,網(wǎng)絡(luò)已經(jīng)成為人們掌握信息、交流信息以及管理信息必不可少的重要工具。實時通信的出現(xiàn)給人們帶來了極大的便捷,同時也帶來了時間和經(jīng)濟上的節(jié)省。如今,網(wǎng)絡(luò)即時通信已經(jīng)逐步發(fā)展成為應(yīng)用于各行各業(yè)的信息交流工具。通過設(shè)計和實現(xiàn)一款集即時通信與人事管理于一體的網(wǎng)絡(luò)應(yīng)用程序,討論并分析在TCP/IP協(xié)議的基礎(chǔ)上設(shè)計并實現(xiàn)一個C/S結(jié)構(gòu)的即時通信系統(tǒng)的詳細過程。首先,介紹網(wǎng)絡(luò)即時通信開發(fā)的必備技

2、術(shù)知識,包括常用的即時通信系統(tǒng)的客戶端和服務(wù)器端的通訊協(xié)議,以及即時通信系統(tǒng)的功能設(shè)計、系統(tǒng)結(jié)構(gòu)模式設(shè)計、數(shù)據(jù)信息設(shè)計等。其次,分析和設(shè)計客戶端與服務(wù)器端之間的通信協(xié)議,以規(guī)范系統(tǒng)中端與端的數(shù)據(jù)傳輸過程。然后,對系統(tǒng)中最重要的部分即網(wǎng)絡(luò)傳輸控制模塊,進行詳細的設(shè)計說明以及簡單的實現(xiàn)方案的闡述。最后,描述即時通信系統(tǒng)整體的邏輯處理流程,以及該系統(tǒng)在人事管理方面的功能實現(xiàn),以及其他部分已通過測試服務(wù)器程序測試的客戶端程序代碼。即時通信系統(tǒng)的設(shè)計與實現(xiàn)在企業(yè)建立自己特色的集信息管理和即時通信為一體的內(nèi)部應(yīng)用軟件方面具有一定的應(yīng)用前景。關(guān)鍵詞:即時通信,網(wǎng)絡(luò)應(yīng)用程序,TCP/IP,通信與辦公系統(tǒng)Des

3、ign and Implementation of Enterprise Instant Messaging SystemAbstractAs the widespread of web application, internet has become the indispensable tool for information acquisition,communication and management.The advent of real-time communication has brought people great convenience as well as saving

4、time and money. Nowadays, web-based real-time communication has been developed to a communication tool for many fields.Analyzes and discuss the process of designing and implementing a real-time communication system of C/S structure based on TIP/IP protocol, through designing and implementing a netwo

5、rk application combined the functions of instant communication tool and also a personnel management tool. First, to introduce some necessary technical knowledge and the functional designing、system structure module designing and data information designing of development of the IM system. Second, anal

6、yze and design the communication protocol between Client and Server of the system to regular the data transportation process between ports. Third, describe the designing and implementation of the most important part of the system which is the web transportation controlling module. Finally, introduce

7、 the logic processing of the whole IM system and some client programs or code which have passed the testing of server program.Designing and implementing of IM system has a definite applying prospect in the aspect of building an interior and own application which gather instant messaging and informat

8、ion managing.Key words:Instant Messaging,Network Application,TCP/IP,IM in Office目 錄1 引言11.1 課題的背景與意義11.2 相關(guān)技術(shù)知識簡介21.2.1 基于SOCKET的網(wǎng)絡(luò)編程21.2.2 UDP協(xié)議與TCP協(xié)議的簡單介紹21.2.3 WINSOCK套接字API調(diào)用的簡單流程32 系統(tǒng)的相關(guān)分析與總體設(shè)計42.1 設(shè)計目標42.2 需求分析42.2.1 功能性需求分析42.2.2 系統(tǒng)用例分析42.3 概要設(shè)計原則52.4 系統(tǒng)安全與分析設(shè)計62.5 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計72.6 系統(tǒng)開發(fā)環(huán)境和運行環(huán)境92.6

9、.1 系統(tǒng)的開發(fā)環(huán)境92.6.2 系統(tǒng)的運行環(huán)境93 系統(tǒng)詳細設(shè)計與實現(xiàn)103.1 系統(tǒng)登錄界面103.2 系統(tǒng)主界面133.3 系統(tǒng)聊天通訊界面153.4 查找好友界面183.5 個人設(shè)置界面213.6 密保安全界面234 系統(tǒng)測試264.1 軟件測試介紹264.2 軟件測試過程264.3 本系統(tǒng)所進行的測試26總 結(jié)27參考文獻28致 謝301 引言1.1 課題的背景與意義隨著計算機網(wǎng)絡(luò)的發(fā)展,人類的通信方式也發(fā)生了翻天覆地的變化。網(wǎng)絡(luò)通信早已取代傳統(tǒng)的紙質(zhì)信件,電話網(wǎng)絡(luò)的地位也在這個年代受到了來自計算機網(wǎng)絡(luò)的挑戰(zhàn)。總之,網(wǎng)絡(luò)通信在我們的生活和企業(yè)中可以說已經(jīng)必不可少,企業(yè)內(nèi)部即時通訊就是

10、其中的重要組成部分1。目前,中國市場上的企業(yè)級即時通信工具主要包括:易睦網(wǎng)絡(luò)的imo云辦公室、叮當旺業(yè)通、Anychat、網(wǎng)絡(luò)飛鴿、匯訊WiseUC、大螞蟻Bigant、上海盈碩的蟻傲、騰訊RTX、FastMsg、263EM、IBM的Lotus Sametime、點擊科技的GKE、中國移動的企業(yè)飛信、華夏易聯(lián)的e-Link、網(wǎng)絡(luò)飛鴿QuickDove等2。相對于個人即時通信工具而言,企業(yè)級即時通訊工具更加強調(diào)安全性、實用性、穩(wěn)定性和擴展性,同時更可根據(jù)應(yīng)用的實際能按需定制,隨著企業(yè)信息化進程的不斷演進,企業(yè)即時通訊在企業(yè)中的應(yīng)用將越來越廣泛。企業(yè)內(nèi)部即時通訊系統(tǒng)是企業(yè)員工在工作時經(jīng)常要與其他同

11、事進行協(xié)同工作和跨部門合作,全方位地利用有限資源協(xié)同完成更多工作,因此各部門同事間需要進行即時的溝通。采用JMS (Java Message Service)技術(shù)實現(xiàn)企業(yè)內(nèi)部的即時通訊系統(tǒng)。使該系統(tǒng)為使用者提供即時消息、網(wǎng)絡(luò)會議、文件傳輸、系統(tǒng)公告等功能,可實現(xiàn)使用者與各部門同事間協(xié)同辦公的要求,滿足企業(yè)內(nèi)部進行更加高效溝通的需求,為企業(yè)提供一種公共的、可靠的內(nèi)部溝通方式。企業(yè)內(nèi)部即時通訊系統(tǒng)的好處: (1)提高工作效率:在與公司客戶與同事溝通時能夠達到提高工作效率。 (2)快速解決溝通問題。 (3)可以迅速知道對方是否在線。 (4)與郵件、移動短信結(jié)合更是威力無窮。當適合公司的即時通訊系統(tǒng)廣

12、泛應(yīng)用于工作后,交流渠道便于扁平化管理,業(yè)務(wù)上的平等交流;因為是書面交流,有利于理清頭緒,明晰表達;而且,辦公室人與人之間的關(guān)系變得更加真誠和緊密。 所以縱上所述,如果企業(yè)要用即時通信,最好用專用的企業(yè)即時通訊系統(tǒng),而最好不要用個人即時通訊3-5。1.2 相關(guān)技術(shù)知識簡介1.2.1 基于SOCKET的網(wǎng)絡(luò)編程SOCKET在英文中的意思是插座,在網(wǎng)絡(luò)編程中,其實際意義可以理解為網(wǎng)絡(luò)通信連接的插座,通常稱之為套接字。如果將網(wǎng)絡(luò)連接的各終端類比為電話,則SOCKET即相當于電話線插座,為各終端提供或創(chuàng)建與其他終端通信連接的橋梁或通道。所有的終端都必須接通此“插座”來完成與其他終端的連接或通信,否則,

13、它將獨立于網(wǎng)絡(luò)之外6。由此可以知道知道,SOCKET是終端間建立連接的核心對象。那么,對于一個SOCKET對象,它到底具備什么樣的功能呢?通常,用WINSOCK庫來創(chuàng)建和使用SOCKET,運用WINSOCK庫的基本API,就可以實現(xiàn)簡單的數(shù)據(jù)輸入和輸出(即發(fā)送數(shù)據(jù)和接受數(shù)據(jù))。在創(chuàng)建一個SOCKET對象后,通過指定IP地址來確定該SOCKET與哪臺機器發(fā)生交流,通過指定機器端口號(一般為1024以上)確定與該機器上哪個應(yīng)用程序進行交流。在確定了交流對象后,便可以使用SOCKET與對象機器上的應(yīng)用程序進行數(shù)據(jù)的傳輸和信息的交流。在面向連接的網(wǎng)絡(luò)通信中,還必須使用SOCKET進行連接的監(jiān)聽和創(chuàng)建,

14、只有創(chuàng)建了穩(wěn)定的連接后,才開始進行數(shù)據(jù)的傳輸7。由于交互方式的不同,SOCKET也分為兩種,一種是無連接的數(shù)據(jù)報形式的,一種則是面向連接的流式套接字,這也是接下來兩小節(jié)要闡述的內(nèi)容8。1.2.2 UDP協(xié)議與TCP協(xié)議的簡單介紹UDP協(xié)議是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報,并組裝成一份待發(fā)送的IP數(shù)據(jù)報。這與面向流字符的協(xié)議不同,如TCP,應(yīng)用程序產(chǎn)生的全體數(shù)據(jù)與真正發(fā)送的單個IP數(shù)據(jù)報可能沒有什么聯(lián)系9。UDP不提供可靠性:它把應(yīng)用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達目的地,其過程可以比做投遞信件,它只關(guān)心信件確實投放到信箱,至于

15、對方是否正確、按時收到信件,UDP并不關(guān)心10。盡管TCP和UDP都使用相同的網(wǎng)絡(luò)層(IP),TCP卻向應(yīng)用層提供與UDP完全不同的服務(wù)。TCP提供一種面向連接的、可靠的字節(jié)流服務(wù)11。面向連接意味著兩個使用TCP的應(yīng)用(通常是一個客戶和一個服務(wù)器)在彼此交換數(shù)據(jù)之前必須先建立一個TCP連接。這一過程與打電話很相似,先撥號振鈴,等待對方摘機說“喂”,然后才說明是誰并與之開始對話12。1.2.3 WINSOCK套接字API調(diào)用的簡單流程本論文所要討論的即時通信系統(tǒng)則是通過WINSOCK庫的應(yīng)用來設(shè)計和實現(xiàn)基于TCP的C/S結(jié)構(gòu)的網(wǎng)絡(luò)即時通信程序。這里,用圖的方式簡單的表示出對WINSOCK庫提供

16、的API函數(shù)調(diào)用過程13。2 系統(tǒng)的相關(guān)分析與總體設(shè)計2.1 設(shè)計目標本系統(tǒng)主要是為中小型企業(yè)內(nèi)部使用的帶有簡單人事管理功能的局域網(wǎng)即時通信系統(tǒng),由于要存儲并管理用戶相關(guān)信息的數(shù)據(jù),同時要限制普通用戶對數(shù)據(jù)信息的管理權(quán)限,比較合適的設(shè)計是采用C/S模式的系統(tǒng)架構(gòu),數(shù)據(jù)由數(shù)據(jù)庫進行存儲,由服務(wù)器對數(shù)據(jù)庫進行直接操作,而客戶端則通過對服務(wù)器發(fā)出請求得到相應(yīng)的數(shù)據(jù)或者告知服務(wù)器對數(shù)據(jù)庫進行何種操作14。2.2 需求分析2.2.1 功能性需求分析本系統(tǒng)這實現(xiàn)了企業(yè)內(nèi)部網(wǎng)絡(luò)聊天工具所具備的基本功能,即注冊、登錄、查找好友,添加好友、更改個人資料、查看好友資料、添加刪除分組、各分組之間轉(zhuǎn)移好友、發(fā)送消息、

17、接收消息、接收系統(tǒng)消息等,還添加了一些特色功能,如隱身,頭像的變化,系統(tǒng)管理員可以向每個客戶端發(fā)送系統(tǒng)消息,上線下線在好友客戶端都有提示,密碼丟失可以通過密碼找回功能通過設(shè)置的密保問題找回密碼,并可以判斷密碼的安全等級等。本系統(tǒng)實現(xiàn)了一個與Tencent QQ相似的友好操作界面,簡單,易用,適合用戶的操作習慣15。謝謝海南社區(qū)支持: 該系統(tǒng)具備了網(wǎng)絡(luò)聊天工具所具備的基本功能,系統(tǒng)或許存在一些未知的Bug,還需要進一步的改進和測試。在以后的研究中,我們還會研究安全通信協(xié)議,保障通信的安全,提高系統(tǒng)的實用性等16。2.2.2 系統(tǒng)用例分析 (1)系統(tǒng)普通用戶用例分析登錄界面查看好友信息更改個人信息

18、添加刪除分組發(fā)送信息密保設(shè)置接受信息分組轉(zhuǎn)移好友背景更改 普通用戶圖2.1 系統(tǒng)普通用戶用例圖查找好友 (2)系統(tǒng)管理員用例分析操作數(shù)據(jù)庫查看操作日志發(fā)布系統(tǒng)公告系統(tǒng)管理員圖2.2 系統(tǒng)管理員用例圖2.3 概要設(shè)計原則 企業(yè)內(nèi)部即時通訊系統(tǒng)總體設(shè)計目的是加強對需求分析階段的功能性需求和非功能性需求的綜合考慮和理解,系統(tǒng)建設(shè)中我們將采用基于C/S模式構(gòu)建。這些技術(shù)的應(yīng)用實現(xiàn)系統(tǒng)應(yīng)用的安全、穩(wěn)定及擴展要求以及開放的跨平臺能力和兼容性17。實現(xiàn)了操作界面、應(yīng)用邏輯、業(yè)務(wù)數(shù)據(jù)相對獨立,使本系統(tǒng)的實施更加方便、靈活、易于擴展18。為了進一步的規(guī)劃詳細的系統(tǒng)解決方案做準備,本系統(tǒng)在設(shè)計過程中注重考慮了以下

19、幾個特性: (1)實用性本系統(tǒng)的現(xiàn)實需求就是針對企業(yè)內(nèi)部工作交流不便,浪費時間,數(shù)據(jù)傳送效率低等特點,希望提出一個實用的能滿足系統(tǒng)的功能要求和實際應(yīng)用的需要的企業(yè)內(nèi)部即時通訊系統(tǒng)。所以盡量選擇成熟實用的技術(shù),使得整個系統(tǒng)有一個安全、穩(wěn)定的運行環(huán)境19。 (2)可擴展性為使系統(tǒng)能有良好的兼容性和可擴展性,系統(tǒng)在設(shè)計時充分考慮了數(shù)據(jù)庫設(shè)計容量與處理能力等方面的擴充與升級的可能,不僅充分保護了原有投資,還保證了以后系統(tǒng)功能升級的方便20。 (3)安全性系統(tǒng)對數(shù)據(jù)的完整性和安全性具有很高的要求。為了保障系統(tǒng)平穩(wěn)正常的運行,整個系統(tǒng)必須具有很高的安全可靠性,因此,在企業(yè)內(nèi)部即時通訊系統(tǒng)應(yīng)充分利用數(shù)據(jù)庫的

20、維護工具,便于數(shù)據(jù)備份、恢復,從而提高系統(tǒng)的安全性21。 (4)可維護性企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計要本著“簡單易用”的原則,方便用戶的使用。對于用戶來說,只要掌握基本的計算機操作,便可完成整個操作對于管理員來說,設(shè)計時以可維護性為主,做到故障易于排除,日常管理操作簡便22。 (5)完整性系統(tǒng)的完整性,涉及到友好的用戶界面,高效的信息處理,安全可靠的數(shù)據(jù)管理,以及優(yōu)化的網(wǎng)絡(luò)設(shè)計23。2.4 系統(tǒng)安全與分析設(shè)計 由于本系統(tǒng)的的安全界面中,分為:“安全概述”,“常見欺詐”,“修改密碼”,“修改密保”; (1)安全概述分析設(shè)計:主要是描述飛狐2013系統(tǒng)當前帳號的安全狀況 if (設(shè)置密保并且密碼等級

21、為良好以上) 安全狀況良好請繼續(xù)保持良好的習慣 可立即完成設(shè)置密碼 else if (設(shè)置密保并且密碼等級為中等以下) 安全狀況存在隱患請定期修改密碼 立即完成設(shè)置密碼 else 安全狀況危險請立刻設(shè)置密保問題 立即完成設(shè)置密保 (2)常見欺詐 常見的集中欺詐方式:釣魚網(wǎng)址,視頻欺詐,中獎欺詐,冒充好友欺詐; (3)修改密碼 修改密碼之前請確保設(shè)置密保;如果沒有設(shè)置密保問題,請先設(shè)置密保問題,以確保該賬戶的安全性。如果設(shè)置了密保問題,請先輸入原密保問題,核對用戶身份。密保正確才可以修改,如果錯誤,則不能修改密碼。 (4)修改密保 如果沒有設(shè)置密保問題,設(shè)置密保問題。如果設(shè)置了密保問題,請先輸入

22、原密保問題,核對用戶身份。密保正確才可以修改,如果錯誤,則不能修改密保。2.5 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計本系統(tǒng)數(shù)據(jù)庫采用 mysql5.6,系統(tǒng)主要需要維護3張數(shù)據(jù)表:名稱登錄信息描述用戶登錄時的賬號密碼檢測來源用戶去處服務(wù)器用戶表組成ID+密碼 表2.1 登錄信息表表2.2 好友信息表名稱取值類型長度昵稱Char8IDInt6到8位密碼Char6-16問題NOInt1-2問題答案Char20登錄狀態(tài)Int1 年齡Smallint0-99 地區(qū)Char20性別Char2簽名Char100說明Char255問題詳細Char20好友IDInt6-8好友類型Int1好友分組Int1備注char10好友類型詳細

23、Char6好友分組詳細Char10日期Date內(nèi)容Char255表2.3 注冊信息名稱注冊信息描述注冊新賬號來源用戶去處服務(wù)器用戶表組成密碼+個人資料表2.4 機位信息表名稱聊天信息描述用戶聊天時發(fā)送信息來源用戶去處聊天記錄表組成發(fā)送方IP+接收方IP+消息內(nèi)容2.6 系統(tǒng)開發(fā)環(huán)境和運行環(huán)境2.6.1 系統(tǒng)的開發(fā)環(huán)境本系統(tǒng)開發(fā)平臺選擇考慮到以下幾個方面的因素:硬件環(huán)境、數(shù)據(jù)的安全性以及技術(shù)支持等等。因此選擇操作系統(tǒng):Windows 7、Windows XP;開發(fā)工具:Eclipse;數(shù)據(jù)庫:MySQL6.0;開發(fā)語言:Java。2.6.2 系統(tǒng)的運行環(huán)境本系統(tǒng)由兩部分組成:置于個用戶PC機上的

24、飛狐2013客戶端,以及置于實驗室高性能服務(wù)器上的數(shù)據(jù)庫服務(wù)器。根據(jù)調(diào)研得知客戶端的計算機配置Pentum4級別以上,服務(wù)器PC應(yīng)配備更高的配置,在Windows xp環(huán)境下運行。3 系統(tǒng)詳細設(shè)計與實現(xiàn)3.1 系統(tǒng)登錄界面系統(tǒng)用戶登錄時,先打開登錄頁面,然后填寫用戶和密碼信息,并選擇狀態(tài),點確定后連接數(shù)據(jù)庫,檢驗用戶名密碼是否正確,正確則進入到系統(tǒng)主界面。不正確則提示輸入的密碼有誤,請重新輸入。輸入密碼選擇狀態(tài)輸入的密碼是否正確登錄成功跳轉(zhuǎn)到主頁面其它操作圖3.1 用戶登錄流程圖YN輸入用戶名圖3.2 軟件登錄界面核心代碼:private void jb_loginactionPerforme

25、d(ActionEvent e) throws UnknownHostException, IOException, InterruptedExceptionif (jt_user.getText().equals()JOptionPane.showMessageDialog(null, 請輸入賬號后再登陸, 提示, JOptionPane.INFORMATION_MESSAGE);else if(jt_user.getText().length() 20)JOptionPane.showMessageDialog(null, 請輸入正確的賬號,賬號可以位數(shù)字或Email地址。, 提示, JO

26、ptionPane.INFORMATION_MESSAGE);else if (jp_password.getText().equals()JOptionPane.showMessageDialog(null, 請輸入密碼后再登陸, 提示, JOptionPane.INFORMATION_MESSAGE);elselogin_message lmessage = new login_message(jt_user.getText(), jp_password.getText(), 0, 0, 0, 0, jco_status.getSelectedIndex() + 1);MainInterf

27、ace main = new MainInterface(lmessage);this.dispose();private void jb_loginactionPerformed(KeyEvent e) throws UnknownHostException, IOException, InterruptedExceptionif (jt_user.getText().equals()JOptionPane.showMessageDialog(null, 請輸入賬號后再登陸, 提示, JOptionPane.INFORMATION_MESSAGE);else if (jt_user.getT

28、ext().length() 20)JOptionPane.showMessageDialog(null, 請輸入正確的賬號,賬號可以位數(shù)字或Email地址。, 提示, JOptionPane.INFORMATION_MESSAGE);else if (jp_password.getText().equals()JOptionPane.showMessageDialog(null, 請輸入密碼后再登陸, 提示, JOptionPane.INFORMATION_MESSAGE);elselogin_message lmessage = new login_message(jt_user.getT

29、ext(), jp_password.getText(), 0, 0, 0, 0, jco_status.getSelectedIndex() + 1);MainInterface main = new MainInterface(lmessage);this.dispose(); 馮武寶 海南社區(qū) 3.2 系統(tǒng)主界面圖3.3 系統(tǒng)主界面核心代碼:class loginFounction extends Threadpublic void run()trylogin_message lm = new login_message(lmessage.qq, lmessage.password, s

30、ys_port, main_port, alive_port, transmit_port, lmessage.status);loginClientThread loginThread = new loginClientThread(lm);loginThread.join(30000);if (loginThread.changed = 1)sendHeartbeatThread_main_temp.start();load();changed = 1;else if (loginThread.changed = 2)/ 當賬號和密碼不匹配時JOptionPane.showMessageD

31、ialog(null, 您的賬號和密碼不匹配!, 提示, JOptionPane.INFORMATION_MESSAGE);System.exit(0);else/ 當?shù)卿洺瑫r的情況JOptionPane.showMessageDialog(null, 系統(tǒng)繁忙,請稍后再試!, 提示, JOptionPane.INFORMATION_MESSAGE);System.exit(0);catch (Exception e)class receiveMainInfoThread extends ThreadServerSocketserver;Socketclient;public receiveM

32、ainInfoThread()server = getAvailableServerSocketFunction.getServerSocket(main_port);main_port = server.getLocalPort();3.3 系統(tǒng)聊天通訊界面圖3.4 聊天通訊界面核心代碼:public void actionPerformed(ActionEvent e)if (e.getActionCommand() = 表情)Point p = MouseInfo.getPointerInfo().getLocation();final expression ex = new expre

33、ssion(p.x, p.y);ex.addWindowListener(new WindowAdapter() public void windowActivated(WindowEvent e)/ 當窗口不活躍的時候,自動關(guān)閉該窗口public void windowDeactivated(WindowEvent e)ex.dispose(););ex.setVisible(true);else if (e.getActionCommand() = 粗體)if (countBold+) % 2 = 0)jt_recive.setUnBold();elsejt_recive.setBold(

34、);else if (e.getActionCommand() = 斜體)if (countItaic+) % 2 = 0)jt_recive.setUnItalic();elsejt_recive.setItalic();else if (e.getActionCommand() = 顏色)color = JColorChooser.showDialog(null, 選擇顏色, Color.black);/ 顯示調(diào)色板color1 = color.getRed();color2 = color.getGreen();color3 = color.getBlue();jt_recive.set

35、Color(new Color(color1, color2, color3);jt_send.requestFocus();else if (e.getActionCommand() = 關(guān)閉)MainInterface.map_portLocal.remove(anotherQQ);MainInterface.map_chatWindows.remove(anotherQQ);dispose();else if (e.getActionCommand() = 發(fā)送)if (!jt_send.getText().equals()text = jt_send.getText();jt_reci

36、ve.insert_text2(myname + + time.gettime();transformToReceive(addSize(addColor(text);jt_send.setText();jt_recive.selectAll();jt_recive.setCaretPosition(jt_recive.getSelectedText().length();jt_recive.requestFocus();jt_send.requestFocus();3.4 查找好友界面 圖3.5 查找好友界面核心代碼:void action()int mark = 1;if (tabNum

37、= 0) / tabNum = 0查找聯(lián)系人if (jr_1.isSelected() / 查找聯(lián)系人 - 精確查找sign = 1; if (jt_user.getText().equals() & jt_nickname.getText().equals()JOptionPane.showMessageDialog(null, 請至少填一個查詢條件, 警告, JOptionPane.WARNING_MESSAGE);mark = 0;if (!jt_user.getText().equals()user = jt_user.getText();elseuser = null;if (!jt

38、_nickname.getText().equals()nickname = jt_nickname.getText();elsenickname = null;else if (jr_2.isSelected() / 查找聯(lián)系人 - 條件查找sign = 2; country = item_countryjc_country.getSelectedIndex();if (country.equals(中國) province = item_provincejc_province.getSelectedIndex();if (province.equals(山東)if (!item_cityj

39、c_city.getSelectedIndex().equals(-)city = item_cityjc_city.getSelectedIndex();elsecity = null;else if (province.equals(北京)if (!item_cityjc_city.getSelectedIndex().equals(-)city = item_city1jc_city.getSelectedIndex();elsecity = null;else if (province.equals(-)province = null;city = null;else if (coun

40、try.equals(美國)if (!province.equals(-)province = item_province1jc_province.getSelectedIndex();else if (province.equals(-)province = null;city = null;city = null;3.5 個人設(shè)置界面圖3.6 個人設(shè)置界面核心代碼:public information(personalInfo pinfo, Container c_temp1, MainInterface mainFrame)this.pinfo = pinfo;c_temp_mainIn

41、terface = c_temp1;this.main_frame = mainFrame; Image image = Toolkit.getDefaultToolkit().getImage(pic/face/b.jpg);setIconImage(image);screenSize = Toolkit.getDefaultToolkit().getScreenSize();frameSize = this.getPreferredSize();/ 保持彈出窗口居中this.setLocation(screenSize.width - frameSize.width) / 5, (scre

42、enSize.height - frameSize.height) / 6);Container container = getContentPane();/ 設(shè)置背景圖片jl_down = new JLabel();/ 把背景圖片顯示在一個標簽里面jl_down.setIcon(new ImageIcon(pic/background/2.jpg);jl_down.setSize(600, 450);c = (JPanel) container;c.add(jl_down);c.setOpaque(false);c.setLayout(null);jp_left = new JPanel()

43、;jp_left.setBounds(0, 0, 150, 380);jp_left.setLayout(null);jp_left.setOpaque(false);c.add(jp_left);jl_head = new JLabel();jl_head.setBounds(25, 10, 100, 100);jl_head.setIcon(new ImageIcon(s1 + pinfo.headImage + _4 + s2);jp_left.add(jl_head);jb_head = new JButton();jb_head.setBounds(30, 115, 90, 20);

44、jb_head.setText(更換頭像);jb_head.setActionCommand(更換頭像);jb_head.addActionListener(this);jp_left.add(jb_head);3.6 密保安全界面圖3.7 帳號密保界面核心代碼: jp2_1.setLayout(null);jp2_1.setOpaque(false);jp2_1.setBorder(new LineBorder(Color.gray);jl2_9 = new JLabel();jl2_9.setIcon(new ImageIcon(pic/safe/key.png);jl2_9.setBou

45、nds(20, 30, 40, 40);jl2_9.setFont(new Font(宋體, Font.PLAIN, 14);jp2_1.add(jl2_9);jl2_10 = new JLabel();jl2_10.setText(驗證密保修改密保);jl2_10.setBounds(65, 40, 150, 20);jl2_10.setFont(new Font(宋體, Font.PLAIN, 14);jp2_1.add(jl2_10);/ 問題一jl2_11 = new JLabel();jl2_11.setBounds(20, 80, 300, 20);jl2_11.setFont(n

46、ew Font(宋體, Font.PLAIN, 14);jp2_1.add(jl2_11);/ 答案一jl2_12 = new JLabel();jl2_12.setText(答案一:);jl2_12.setBounds(20, 110, 60, 20);jl2_12.setFont(new Font(宋體, Font.PLAIN, 14);jp2_1.add(jl2_12);jt2_1 = new JTextArea();jt2_1.setBounds(77, 110, 200, 20);jt2_1.setBorder(new LineBorder(Color.gray);jp2_1.add

47、(jt2_1);/ 如果為空輸出“空”jl2_17 = new JLabel();jl2_17.setBounds(280, 110, 100, 20);jl2_17.setFont(new Font(宋體, Font.PLAIN, 14);jl2_17.setForeground(Color.red);jp2_1.add(jl2_17);/ 問題二jl2_13 = new JLabel();jl2_13.setBounds(20, 140, 300, 20);jl2_13.setFont(new Font(宋體, Font.PLAIN, 14);jp2_1.add(jl2_13);/ 答案二

48、jl2_14 = new JLabel();jl2_14.setText(答案二:);jl2_14.setBounds(20, 170, 60, 20);jl2_14.setFont(new Font(宋體, Font.PLAIN, 14);jp2_1.add(jl2_14);jt2_2 = new JTextArea();jt2_2.setBounds(77, 170, 200, 20);jt2_2.setBorder(new LineBorder(Color.gray);jp2_1.add(jt2_2);4 系統(tǒng)測試4.1 軟件測試介紹軟件測試是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說

49、明和編碼的最終復審,是軟件質(zhì)量保證的關(guān)鍵步驟。測試的目標是以較少的用例、時間和人力找出軟件中潛在的各種錯誤和缺陷,以確保系統(tǒng)的質(zhì)量24。謝謝海南社區(qū)支持:在軟件實現(xiàn)過程中,要編寫規(guī)范化的程序代碼,而且要對程序代碼進行單元測試,即模塊測試或部件測試,然后,進行集成測試和驗收測試。測試方法為宏觀上采取黑盒方法。微觀上采取白盒方法:大的功能模塊采用黑盒測試,小的構(gòu)件采用白盒測試。在開發(fā)企業(yè)內(nèi)部即時通訊系統(tǒng)時,每增加一個構(gòu)件采用白盒測試,通過白盒測試后把該構(gòu)件集成到系統(tǒng)中,當所有構(gòu)件集成完畢后,進行黑盒測試25。4.2 軟件測試過程測試評價可靠性糾錯預期的結(jié)果測試結(jié)果軟件測試構(gòu)造錯誤正確錯誤率數(shù)據(jù)可靠性預測圖4.1 軟件測試過程4.3 本系統(tǒng)所進行的測試 (1)用戶注冊功能的測試。 (2)普通用戶的基本功能測試(包括登錄、查找好友、更改個人信息、更該背景)。 (3)普通用戶的添加和刪除分組的功能測試。 (4)用戶的聊天通訊功能測試(包括發(fā)送信息、接受信息)。 (5)用戶安全功能測試(包括密保設(shè)置、密保強度檢測和通過密保修改密碼)。 (6)系統(tǒng)管理員發(fā)送系統(tǒng)信息功能的測試。總 結(jié)本論文詳細的介紹了一個即時通信系統(tǒng)的設(shè)計和實現(xiàn)方案,該系統(tǒng)是一個針對中小型企業(yè)的集人事管理和內(nèi)部交流與一體的即時通信系統(tǒng)。在論文中,從系統(tǒng)各個方面依次闡述其設(shè)計思想和實現(xiàn)方案,主

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論