企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書_第1頁
企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書_第2頁
企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書_第3頁
企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書_第4頁
企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計說明書企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)電子與計算機(jī)科學(xué)技術(shù)學(xué)院0906064109海南社區(qū)學(xué)生姓名: 學(xué)號: 學(xué) 院: 網(wǎng)絡(luò)工程專 業(yè): 指導(dǎo)教師: 2013年6月企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)摘 要隨著計算機(jī)網(wǎng)絡(luò)應(yīng)用的逐漸普及,網(wǎng)絡(luò)已經(jīng)成為人們掌握信息、交流信息以及管理信息必不可少的重要工具。實時通信的出現(xiàn)給人們帶來了極大的便捷,同時也帶來了時間和經(jīng)濟(jì)上的節(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)的詳細(xì)過程。首先,介紹網(wǎng)絡(luò)

2、即時通信開發(fā)的必備技術(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ò)傳輸控制模塊,進(jìn)行詳細(xì)的設(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,

3、通信與辦公系統(tǒng)design 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

4、as saving 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 implementi

5、ng a network 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. se

6、cond, analyze 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,

7、 introduce 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 an

8、d information managing.key words:instant messaging,network application,tcp/ip,im in office中北大學(xué)2013屆畢業(yè)設(shè)計說明書目 錄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è)計目標(biāo)42.2 需求分析42.2.1 功能性需求分析42.2.2 系統(tǒng)用例分析42.3 概要設(shè)計原則52.4 系統(tǒng)安全與分析設(shè)計62.5 數(shù)

9、據(jù)庫結(jié)構(gòu)設(shè)計72.6 系統(tǒng)開發(fā)環(huán)境和運行環(huán)境92.6.1 系統(tǒng)的開發(fā)環(huán)境92.6.2 系統(tǒng)的運行環(huán)境93 系統(tǒng)詳細(xì)設(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)所進(jìn)行的測試26第i頁 共ii頁總 結(jié)27參考文獻(xiàn)28致 謝30第ii頁 共ii頁1 引言1.1 課題的背景與意義隨著計算機(jī)網(wǎng)絡(luò)的發(fā)展,人類的通信方式也發(fā)生了翻天覆地的變化。網(wǎng)絡(luò)通信早已取代傳統(tǒng)的紙質(zhì)信件,電話網(wǎng)絡(luò)的地位也在這個年代受到了來自計算機(jī)

10、網(wǎng)絡(luò)的挑戰(zhàn)??傊W(wǎng)絡(luò)通信在我們的生活和企業(yè)中可以說已經(jīng)必不可少,企業(yè)內(nèi)部即時通訊就是其中的重要組成部分1。目前,中國市場上的企業(yè)級即時通信工具主要包括:易睦網(wǎng)絡(luò)的imo云辦公室、叮當(dāng)旺業(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è)級即時通訊工具更加強(qiáng)調(diào)安全性、實用性、穩(wěn)定性和擴(kuò)展性,同時更可根據(jù)應(yīng)用的實際能按需定制,隨著企業(yè)信息化進(jìn)程的不斷演進(jìn),企業(yè)即

11、時通訊在企業(yè)中的應(yīng)用將越來越廣泛。企業(yè)內(nèi)部即時通訊系統(tǒng)是企業(yè)員工在工作時經(jīng)常要與其他同事進(jìn)行協(xié)同工作和跨部門合作,全方位地利用有限資源協(xié)同完成更多工作,因此各部門同事間需要進(jìn)行即時的溝通。采用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)部進(jìn)行更加高效溝通的需求,為企業(yè)提供一種公共的、可靠的內(nèi)部溝通方式。企業(yè)內(nèi)部即時通訊系統(tǒng)的好處: (1)提高工作效率:在與公司客戶與同事溝通時能夠達(dá)到提高工作效率。 (2)快速解決溝通問題。 (3)可以迅速

12、知道對方是否在線。 (4)與郵件、移動短信結(jié)合更是威力無窮。當(dāng)適合公司的即時通訊系統(tǒng)廣泛應(yīng)用于工作后,交流渠道便于扁平化管理,業(yè)務(wù)上的平等交流;因為是書面交流,有利于理清頭緒,明晰表達(dá);而且,辦公室人與人之間的關(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即相當(dāng)于電話線插座,為各終端提供或創(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與哪臺機(jī)器發(fā)生交流,通過指定機(jī)器端口號(一般為1024以上)確定與該機(jī)器上哪個應(yīng)用程序進(jìn)行交流。在確定了交流對象后,便可以使用socket與對象機(jī)器上的應(yīng)用程序進(jìn)行數(shù)據(jù)的

14、傳輸和信息的交流。在面向連接的網(wǎng)絡(luò)通信中,還必須使用socket進(jìn)行連接的監(jiān)聽和創(chuàng)建,只有創(chuàng)建了穩(wěn)定的連接后,才開始進(jìn)行數(shù)據(jù)的傳輸7。由于交互方式的不同,socket也分為兩種,一種是無連接的數(shù)據(jù)報形式的,一種則是面向連接的流式套接字,這也是接下來兩小節(jié)要闡述的內(nèi)容8。1.2.2 udp協(xié)議與tcp協(xié)議的簡單介紹udp協(xié)議是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進(jìn)程的每個輸出操作都正好產(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ā)送出去,

15、但是并不保證它們能到達(dá)目的地,其過程可以比做投遞信件,它只關(guān)心信件確實投放到信箱,至于對方是否正確、按時收到信件,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連接。這一過程與打電話很相似,先撥號振鈴,等待對方摘機(jī)說“喂”,然后才說明是誰并與之開始對話12。1.2.3 winsock套接字api調(diào)用的簡單流程本論文所要討論的即時通信系統(tǒng)則是通過winsock庫的應(yīng)用來設(shè)計和實現(xiàn)基于t

16、cp的c/s結(jié)構(gòu)的網(wǎng)絡(luò)即時通信程序。這里,用圖的方式簡單的表示出對winsock庫提供的api函數(shù)調(diào)用過程13。2 系統(tǒng)的相關(guān)分析與總體設(shè)計2.1 設(shè)計目標(biāo)本系統(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ù)庫進(jìn)行存儲,由服務(wù)器對數(shù)據(jù)庫進(jìn)行直接操作,而客戶端則通過對服務(wù)器發(fā)出請求得到相應(yīng)的數(shù)據(jù)或者告知服務(wù)器對數(shù)據(jù)庫進(jìn)行何種操作14。2.2 需求分析2.2.1 功能性需求分析本系統(tǒng)這實現(xiàn)了企業(yè)內(nèi)部網(wǎng)絡(luò)聊天工具所具備的基本功能,即注冊、登錄、查找好

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

18、2.2.2 系統(tǒng)用例分析 (1)系統(tǒng)普通用戶用例分析登錄界面查看好友信息更改個人信息添加刪除分組發(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è)計目的是加強(qiáng)對需求分析階段的功能性需求和非功能性需求的綜合考慮和理解,系統(tǒng)建設(shè)中我們將采用基于c/s模式構(gòu)建。這些技術(shù)的應(yīng)用實現(xiàn)系統(tǒng)應(yīng)用的安全、穩(wěn)定及擴(kuò)展要求以及開放的跨平臺能力和兼容性17。實現(xiàn)了操作界面、應(yīng)用邏輯、業(yè)務(wù)數(shù)據(jù)相對獨立,使本系統(tǒng)的實施更加方便、靈活、易于

19、擴(kuò)展18。為了進(jìn)一步的規(guī)劃詳細(xì)的系統(tǒng)解決方案做準(zhǔn)備,本系統(tǒng)在設(shè)計過程中注重考慮了以下幾個特性: (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)可擴(kuò)展性為使系統(tǒng)能有良好的兼容性和可擴(kuò)展性,系統(tǒng)在設(shè)計時充分考慮了數(shù)據(jù)庫設(shè)計容量與處理能力等方面的擴(kuò)充與升級的可能,不僅充分保護(hù)了原有投資,還保證了以后系統(tǒng)功能升級的方便20。 (3)安全性系統(tǒng)對數(shù)據(jù)的完整性和安全性具有很高的要求。為了保障系統(tǒng)平穩(wěn)正常的運

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

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

22、。 (4)修改密保 如果沒有設(shè)置密保問題,設(shè)置密保問題。如果設(shè)置了密保問題,請先輸入原密保問題,核對用戶身份。密保正確才可以修改,如果錯誤,則不能修改密保。2.5 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計本系統(tǒng)數(shù)據(jù)庫采用 mysql5.6,系統(tǒng)主要需要維護(hù)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問題詳細(xì)char

23、20好友idint6-8好友類型int1好友分組int1備注char10好友類型詳細(xì)char6好友分組詳細(xì)char10日期date內(nèi)容char255表2.3 注冊信息名稱注冊信息描述注冊新賬號來源用戶去處服務(wù)器用戶表組成密碼+個人資料表2.4 機(jī)位信息表名稱聊天信息描述用戶聊天時發(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;開

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

25、界面核心代碼:private void jb_loginactionperformed(actionevent e) throws unknownhostexception, ioexception, interruptedexceptionif (jt_user.gettext().equals()joptionpane.showmessagedialog(null, 請輸入賬號后再登陸, 提示, joptionpane.information_message);else if(jt_user.gettext().length() 20)joptionpane.showmessagedial

26、og(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.gettext(), jp_password.gettext(), 0, 0, 0, 0, jco

27、_status.getselectedindex() + 1);maininterface main = new maininterface(lmessage);this.dispose();private void jb_loginactionperformed(keyevent e) throws unknownhostexception, ioexception, interruptedexceptionif (jt_user.gettext().equals()joptionpane.showmessagedialog(null, 請輸入賬號后再登陸, 提示, joptionpane.

28、information_message);else if (jt_user.gettext().length() 20)joptionpane.showmessagedialog(null, 請輸入正確的賬號,賬號可以位數(shù)字或email地址。, 提示, joptionpane.information_message);else if (jp_password.gettext().equals()joptionpane.showmessagedialog(null, 請輸入密碼后再登陸, 提示, joptionpane.information_message);elselogin_message

29、 lmessage = new login_message(jt_user.gettext(), 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

30、_message(lmessage.qq, lmessage.password, sys_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.change

31、d = 2)/ 當(dāng)賬號和密碼不匹配時joptionpane.showmessagedialog(null, 您的賬號和密碼不匹配!, 提示, joptionpane.information_message);system.exit(0);else/ 當(dāng)?shù)卿洺瑫r的情況joptionpane.showmessagedialog(null, 系統(tǒng)繁忙,請稍后再試!, 提示, joptionpane.information_message);system.exit(0);catch (exception e)class receivemaininfothread extends threadserve

32、rsocketserver;socketclient;public receivemaininfothread()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().get

33、location();final expression ex = new expression(p.x, p.y);ex.addwindowlistener(new windowadapter() public void windowactivated(windowevent e)/ 當(dāng)窗口不活躍的時候,自動關(guān)閉該窗口public void windowdeactivated(windowevent e)ex.dispose(););ex.setvisible(true);else if (e.getactioncommand() = 粗體)if (countbold+) % 2 = 0)jt

34、_recive.setunbold();elsejt_recive.setbold();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.getgree

35、n();color3 = color.getblue();jt_recive.setcolor(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(

36、).equals()text = jt_send.gettext();jt_recive.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 查找好友界面

37、核心代碼:void action()int mark = 1;if (tabnum = 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 =

38、 jt_user.gettext();elseuser = null;if (!jt_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.getselectedinde

39、x();if (province.equals(山東)if (!item_cityjc_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(-

40、)province = null;city = null;else if (country.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

41、mainframe)this.pinfo = pinfo;c_temp_maininterface = 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(scre

42、ensize.width - framesize.width) / 5, (screensize.height - framesize.height) / 6);container container = getcontentpane();/ 設(shè)置背景圖片jl_down = new jlabel();/ 把背景圖片顯示在一個標(biāo)簽里面jl_down.seticon(new imageicon(pic/background/2.jpg);jl_down.setsize(600, 450);c = (jpanel) container;c.add(jl_down);c.setopaque(false

43、);c.setlayout(null);jp_left = new jpanel();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 jbu

44、tton();jb_head.setbounds(30, 115, 90, 20);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(ne

45、w imageicon(pic/safe/key.png);jl2_9.setbounds(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.s

46、etbounds(20, 80, 300, 20);jl2_11.setfont(new 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.setb

47、order(new lineborder(color.gray);jp2_1.add(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(宋

48、體, font.plain, 14);jp2_1.add(jl2_13);/ 答案二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

49、 系統(tǒng)測試4.1 軟件測試介紹軟件測試是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。測試的目標(biāo)是以較少的用例、時間和人力找出軟件中潛在的各種錯誤和缺陷,以確保系統(tǒng)的質(zhì)量24。謝謝海南社區(qū)支持:在軟件實現(xiàn)過程中,要編寫規(guī)范化的程序代碼,而且要對程序代碼進(jìn)行單元測試,即模塊測試或部件測試,然后,進(jìn)行集成測試和驗收測試。測試方法為宏觀上采取黑盒方法。微觀上采取白盒方法:大的功能模塊采用黑盒測試,小的構(gòu)件采用白盒測試。在開發(fā)企業(yè)內(nèi)部即時通訊系統(tǒng)時,每增加一個構(gòu)件采用白盒測試,通過白盒測試后把該構(gòu)件集成到系統(tǒng)中,當(dāng)所有構(gòu)件集成完畢后,進(jìn)行黑盒測試25。4.2 軟件測試過程測試評價可靠性糾錯預(yù)期的結(jié)果測試結(jié)果軟件測試構(gòu)造錯誤正確錯誤率數(shù)據(jù)可靠性預(yù)測圖4.1 軟件測試過程4.3 本系統(tǒng)所進(jìn)行的測試 (1)用戶注冊功能的測試。 (2)普通用戶的基本功能測試(包括登錄、查找好友、更改個人信息、更該背景)。 (3)普通用戶的添加和刪除分組的功能測試。 (4

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論