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

下載本文檔

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

文檔簡(jiǎn)介

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

2、術(shù)知識(shí),包括常用的即時(shí)通信系統(tǒng)的客戶端和服務(wù)器端的通訊協(xié)議,以及即時(shí)通信系統(tǒng)的功能設(shè)計(jì)、系統(tǒng)結(jié)構(gòu)模式設(shè)計(jì)、數(shù)據(jù)信息設(shè)計(jì)等。其次,分析和設(shè)計(jì)客戶端與服務(wù)器端之間的通信協(xié)議,以規(guī)范系統(tǒng)中端與端的數(shù)據(jù)傳輸過(guò)程。然后,對(duì)系統(tǒng)中最重要的部分即網(wǎng)絡(luò)傳輸控制模塊,進(jìn)行詳細(xì)的設(shè)計(jì)說(shuō)明以及簡(jiǎn)單的實(shí)現(xiàn)方案的闡述。最后,描述即時(shí)通信系統(tǒng)整體的邏輯處理流程,以及該系統(tǒng)在人事管理方面的功能實(shí)現(xiàn),以及其他部分已通過(guò)測(cè)試服務(wù)器程序測(cè)試的客戶端程序代碼。即時(shí)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)在企業(yè)建立自己特色的集信息管理和即時(shí)通信為一體的內(nèi)部應(yīng)用軟件方面具有一定的應(yīng)用前景。關(guān)鍵詞:即時(shí)通信,網(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ù)知識(shí)簡(jiǎn)介21.2.1 基于SOCKET的網(wǎng)絡(luò)編程21.2.2 UDP協(xié)議與TCP協(xié)議的簡(jiǎn)單介紹21.2.3 WINSOCK套接字API調(diào)用的簡(jiǎn)單流程32 系統(tǒng)的相關(guān)分析與總體設(shè)計(jì)42.1 設(shè)計(jì)目標(biāo)42.2 需求分析42.2.1 功能性需求分析42.2.2 系統(tǒng)用例分析42.3 概要設(shè)計(jì)原則52.4 系統(tǒng)安全與分析設(shè)計(jì)62.5 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)72.6 系統(tǒng)開發(fā)環(huán)境和運(yùn)行環(huán)境92.6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26、ptionPane.INFORMATION_MESSAGE);else if (jp_password.getText().equals()JOptionPane.showMessageDialog(null, 請(qǐng)輸入密碼后再登陸, 提示, 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, 請(qǐng)輸入賬號(hào)后再登陸, 提示, JOptionPane.INFORMATION_MESSAGE);else if (jt_user.getT

28、ext().length() 20)JOptionPane.showMessageDialog(null, 請(qǐng)輸入正確的賬號(hào),賬號(hào)可以位數(shù)字或Email地址。, 提示, JOptionPane.INFORMATION_MESSAGE);else if (jp_password.getText().equals()JOptionPane.showMessageDialog(null, 請(qǐng)輸入密碼后再登陸, 提示, 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)/ 當(dāng)賬號(hào)和密碼不匹配時(shí)JOptionPane.showMessageD

31、ialog(null, 您的賬號(hào)和密碼不匹配!, 提示, JOptionPane.INFORMATION_MESSAGE);System.exit(0);else/ 當(dāng)?shù)卿洺瑫r(shí)的情況JOptionPane.showMessageDialog(null, 系統(tǒng)繁忙,請(qǐ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)/ 當(dāng)窗口不活躍的時(shí)候,自動(dòng)關(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, 請(qǐng)至少填一個(gè)查詢條件, 警告, 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(中國(guó)) 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(美國(guó))if (!province.equals(-)province = item_province1jc_province.getSelectedIndex();else if (province.equals(-)province = null;city = null;city = null;3.5 個(gè)人設(shè)置界面圖3.6 個(gè)人設(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();/ 把背景圖片顯示在一個(gè)標(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);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 帳號(hào)密保界面核心代碼: 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(驗(yàn)證密保修改密保);jl2_10.setBounds(65, 40, 150, 20);jl2_10.setFont(new Font(宋體, Font.PLAIN, 14);jp2_1.add(jl2_10);/ 問(wèn)題一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);/ 問(wèn)題二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)測(cè)試4.1 軟件測(cè)試介紹軟件測(cè)試是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說(shuō)

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論