九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書

上傳人:仙*** 文檔編號:28037022 上傳時間:2021-08-22 格式:DOC 頁數(shù):36 大小:476KB
收藏 版權(quán)申訴 舉報 下載
企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書_第1頁
第1頁 / 共36頁
企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書_第2頁
第2頁 / 共36頁
企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書_第3頁
第3頁 / 共36頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書》由會員分享,可在線閱讀,更多相關(guān)《企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)設(shè)計說明書(36頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 畢業(yè)設(shè)計說明書 企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn) 電子與計算機科學(xué)技術(shù)學(xué)院 0906064109 海南社區(qū) 學(xué)生姓名: 學(xué)號: 學(xué) 院: 網(wǎng)絡(luò)工程 專 業(yè): 指導(dǎo)教師: 2013年6月 企業(yè)內(nèi)部即時通訊系統(tǒng)的設(shè)計與實現(xiàn) 摘 要 隨著計算機網(wǎng)絡(luò)應(yīng)用的逐漸普及,

2、網(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ā)的必備技術(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)

3、中最重要的部分即網(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) Design and Implementation of Enterprise Instant Messaging System Abs

4、tract As 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 time and money. Nowadays, web-based real-time communication ha

5、s 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 network application combined the functions of instant communicati

6、on 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, analyze and design the communication protocol between Client and

7、 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 the logic processing of the whole IM system and some client

8、 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 information managing. Key words:Instant Messaging,Network Appli

9、cation,TCP/IP,IM in Office 中北大學(xué)2013屆畢業(yè)設(shè)計說明書 目 錄 1 引言 1 1.1 課題的背景與意義 1 1.2 相關(guān)技術(shù)知識簡介 2 1.2.1 基于SOCKET的網(wǎng)絡(luò)編程 2 1.2.2 UDP協(xié)議與TCP協(xié)議的簡單介紹 2 1.2.3 WINSOCK套接字API調(diào)用的簡單流程 3 2 系統(tǒng)的相關(guān)分析與總體設(shè)計 4 2.1 設(shè)計目標 4 2.2 需求分析 4 2.2.1 功能性需求分析 4 2.2.2 系統(tǒng)用例分析 4 2.3 概要設(shè)計原則 5 2.4 系統(tǒng)安全與分析設(shè)計 6

10、2.5 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 7 2.6 系統(tǒng)開發(fā)環(huán)境和運行環(huán)境 9 2.6.1 系統(tǒng)的開發(fā)環(huán)境 9 2.6.2 系統(tǒng)的運行環(huán)境 9 3 系統(tǒng)詳細設(shè)計與實現(xiàn) 10 3.1 系統(tǒng)登錄界面 10 3.2 系統(tǒng)主界面 13 3.3 系統(tǒng)聊天通訊界面 15 3.4 查找好友界面 18 3.5 個人設(shè)置界面 21 3.6 密保安全界面 23 4 系統(tǒng)測試 26 4.1 軟件測試介紹 26 4.2 軟件測試過程 26 4.3 本系統(tǒng)所進行的測試 26 第I頁 共II頁 總 結(jié) 27 參考文獻 28 致 謝 30 第II頁 共II頁

11、 1 引言 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)部即時通訊就是其中的重要組成部分[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、

12、網(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)常要與其他同事進行協(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)部進行更加

13、高效溝通的需求,為企業(yè)提供一種公共的、可靠的內(nèi)部溝通方式。 企業(yè)內(nèi)部即時通訊系統(tǒng)的好處: (1)提高工作效率:在與公司客戶與同事溝通時能夠達到提高工作效率。 (2)快速解決溝通問題。 (3)可以迅速知道對方是否在線。 (4)與郵件、移動短信結(jié)合更是威力無窮。當(dāng)適合公司的即時通訊系統(tǒng)廣泛應(yīng)用于工作后,交流渠道便于扁平化管理,業(yè)務(wù)上的平等交流;因為是書面交流,有利于理清頭緒,明晰表達;而且,辦公室人與人之間的關(guān)系變得更加真誠和緊密。 所以縱上所述,如果企業(yè)要用即時通信,最好用專用的企業(yè)即時通訊系統(tǒng),而最好不要用個人即時通訊[3-5]。 1.2 相關(guān)技術(shù)知識簡介

14、 1.2.1 基于SOCKET的網(wǎng)絡(luò)編程 SOCKET在英文中的意思是插座,在網(wǎng)絡(luò)編程中,其實際意義可以理解為網(wǎng)絡(luò)通信連接的插座,通常稱之為套接字。如果將網(wǎng)絡(luò)連接的各終端類比為電話,則SOCKET即相當(dāng)于電話線插座,為各終端提供或創(chuàng)建與其他終端通信連接的橋梁或通道。所有的終端都必須接通此“插座”來完成與其他終端的連接或通信,否則,它將獨立于網(wǎng)絡(luò)之外[6]。 由此可以知道知道,SOCKET是終端間建立連接的核心對象。那么,對于一個SOCKET對象,它到底具備什么樣的功能呢? 通常,用WINSOCK庫來創(chuàng)建和使用SOCKET,運用WINSOCK庫的基本API,就可以實現(xiàn)簡單的數(shù)據(jù)輸入和輸

15、出(即發(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)建,只有創(chuàng)建了穩(wěn)定的連接后,才開始進行數(shù)據(jù)的傳輸[7]。 由于交互方式的不同,SOCKET也分為兩種,一種是無連接的數(shù)據(jù)報形式的,一種則是面向連接的流式套接字,這也是接下來兩小節(jié)要闡述的內(nèi)容[8]。 1.2.2 UDP協(xié)議與TCP協(xié)議的簡單介紹

16、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)心信件確實投放到信箱,至于對方是否正確、按時收到信件,UDP并不關(guān)心[10]。 盡管TCP和UDP都使用相同的網(wǎng)絡(luò)層(IP),TCP卻向應(yīng)用層提供與UDP完全不同的服務(wù)。TCP提供一種面向連接的、可靠的字節(jié)流服務(wù)[11]。面向連接意味著兩個使用TC

17、P的應(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庫提供的API函數(shù)調(diào)用過程[13]。 2 系統(tǒng)的相關(guān)分析與總體設(shè)計 2.1 設(shè)計目標 本系統(tǒng)主

18、要是為中小型企業(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ā)送消息、接收消息、接收系統(tǒng)消息等,還添加了一些特色功能,如隱身,頭

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

20、 發(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)的實施更加方便、靈活、易于擴展[

21、18]。為了進一步的規(guī)劃詳細的系統(tǒng)解決方案做準備,本系統(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)可擴展性 為使系統(tǒng)能有良好的兼容性和可擴展性,系統(tǒng)在設(shè)計時充分考慮了數(shù)據(jù)庫設(shè)計容量與處理能力等方面的擴充與升級的可能,不僅充分保護了原有投資,還保證了以后系統(tǒng)功能升級的方便[20]。 (3)安全性 系統(tǒng)對數(shù)據(jù)的完整性和安全

22、性具有很高的要求。為了保障系統(tǒng)平穩(wěn)正常的運行,整個系統(tǒng)必須具有很高的安全可靠性,因此,在企業(yè)內(nèi)部即時通訊系統(tǒng)應(yīng)充分利用數(shù)據(jù)庫的維護工具,便于數(shù)據(jù)備份、恢復(fù),從而提高系統(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)

23、的的安全界面中,分為:“安全概述”,“常見欺詐”,“修改密碼”,“修改密?!保? (1)安全概述分析設(shè)計:主要是描述飛狐2013系統(tǒng)當(dāng)前帳號的安全狀況 if (設(shè)置密保并且密碼等級為良好以上) { 安全狀況良好請繼續(xù)保持良好的習(xí)慣 可立即完成設(shè)置密碼 } else if (設(shè)置密保并且密碼等級為中等以下) { 安全狀況存在隱患請定期修改密碼 立即完成設(shè)置密碼 } else { 安全狀況危險請立刻設(shè)置密保問題 立即完成設(shè)置

24、密保 } (2)常見欺詐 常見的集中欺詐方式:釣魚網(wǎng)址,視頻欺詐,中獎欺詐,冒充好友欺詐; (3)修改密碼 修改密碼之前請確保設(shè)置密保;如果沒有設(shè)置密保問題,請先設(shè)置密保問題,以確保該賬戶的安全性。如果設(shè)置了密保問題,請先輸入原密保問題,核對用戶身份。密保正確才可以修改,如果錯誤,則不能修改密碼。 (4)修改密保 如果沒有設(shè)置密保問題,設(shè)置密保問題。如果設(shè)置了密保問題,請先輸入原密保問題,核對用戶身份。密保正確才可以修改,如果錯誤,則不能修改密保。 2.5 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 本系統(tǒng)數(shù)據(jù)庫采用 mysql5.6,系統(tǒng)主要需要維

25、護3張數(shù)據(jù)表: 名稱 登錄信息 描述 用戶登錄時的賬號密碼檢測 來源 用戶 去處 服務(wù)器用戶表 組成 ID+密碼 表2.1 登錄信息表 表2.2 好友信息表 名稱 取值類型 長度 昵稱 Char 8 ID Int 6到8位 密碼 Char 6-16 問題NO Int 1-2 問題答案 Char 20 登錄狀態(tài) Int 1 年齡 Smallint 0-99 地區(qū) Char 20 性別 Char 2 簽名 Char 100 說明 Char 255 問題詳細 Char

26、 20 好友ID Int 6-8 好友類型 Int 1 好友分組 Int 1 備注 char 10 好友類型詳細 Char 6 好友分組詳細 Char 10 日期 Date 內(nèi)容 Char 255 表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)境

27、 本系統(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機上的飛狐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)用戶登錄

28、時,先打開登錄頁面,然后填寫用戶和密碼信息,并選擇狀態(tài),點確定后連接數(shù)據(jù)庫,檢驗用戶名密碼是否正確,正確則進入到系統(tǒng)主界面。不正確則提示輸入的密碼有誤,請重新輸入。 輸入密碼 選擇狀態(tài) 輸入的密碼是否正確 登錄成功跳轉(zhuǎn)到主頁面 其它操作 圖3.1 用戶登錄流程圖 Y N 輸入用戶名 圖3.2 軟件登錄界面 核心代碼: private void jb_loginactionPerformed(ActionEvent e) throws UnknownHostException, IOException, InterruptedException { if

29、 (jt_user.getText().equals("")) { JOptionPane.showMessageDialog(null, "請輸入賬號后再登陸", "提示", JOptionPane.INFORMATION_MESSAGE); } else if(jt_user.getText().length() < 6 || jt_user.getText().length() > 20) { JOptionPane.showMessageDialog(null, "請輸入正確的賬號,賬號可以位數(shù)字或Email地址。", "提示", JOptionPane

30、.INFORMATION_MESSAGE); } else if (jp_password.getText().equals("")) { JOptionPane.showMessageDialog(null, "請輸入密碼后再登陸", "提示", JOptionPane.INFORMATION_MESSAGE); } else { login_message lmessage = new login_message(jt_user.getText(), jp_password.getText(), 0, 0, 0, 0, jco_status.

31、getSelectedIndex() + 1); MainInterface main = new MainInterface(lmessage); this.dispose(); } } private void jb_loginactionPerformed(KeyEvent e) throws UnknownHostException, IOException, InterruptedException { if (jt_user.getText().equals("")) { JOptionPane.showMessageDialo

32、g(null, "請輸入賬號后再登陸", "提示", JOptionPane.INFORMATION_MESSAGE); } else if (jt_user.getText().length() < 6 || jt_user.getText().length() > 20) { JOptionPane.showMessageDialog(null, "請輸入正確的賬號,賬號可以位數(shù)字或Email地址。", "提示", JOptionPane.INFORMATION_MESSAGE); } else if (jp_password.getText().eq

33、uals("")) { JOptionPane.showMessageDialog(null, "請輸入密碼后再登陸", "提示", JOptionPane.INFORMATION_MESSAGE); } else { login_message lmessage = new login_message(jt_user.getText(), jp_password.getText(), 0, 0, 0, 0, jco_status.getSelectedIndex() + 1); MainInterface main = new MainInter

34、face(lmessage); this.dispose(); } } 馮武寶 海南社區(qū) 3.2 系統(tǒng)主界面 圖3.3 系統(tǒng)主界面 核心代碼: class loginFounction extends Thread { public void run() { try { login_message lm = new login_message(lmessage.qq, lmessage.password, sys_port, main_port, alive_port, transmit_port, lmessa

35、ge.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)賬號和密碼不匹配時 { JOpti

36、onPane.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 (Exceptio

37、n e) } } class receiveMainInfoThread extends Thread { ServerSocket server; Socket client; public receiveMainInfoThread() { server = getAvailableServerSocketFunction.getServerSocket(main_port); main_port = server.getLocalPort(); } } 3.3 系統(tǒng)聊天通訊界面 圖3.4 聊天通訊界面 核

38、心代碼: public void actionPerformed(ActionEvent e) { if (e.getActionCommand() == "表情") { Point p = MouseInfo.getPointerInfo().getLocation(); final expression ex = new expression(p.x, p.y); ex.addWindowListener(new WindowAdapter() { public void windowActivated(WindowEvent e)

39、 {} // 當(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(); } else { jt_reci

40、ve.setBold(); } } else if (e.getActionCommand() == "斜體") { if ((countItaic++) % 2 == 0) { jt_recive.setUnItalic(); }else { jt_recive.setItalic(); } } else if (e.getActionCommand() == "顏色") { color = JColorChooser.showDialog(null, "選擇顏色", Color.

41、black);// 顯示調(diào)色板 color1 = color.getRed(); color2 = color.getGreen(); 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);

42、MainInterface.map_chatWindows.remove(anotherQQ); dispose(); } else if (e.getActionCommand() == "發(fā)送") { if (!jt_send.getText().equals("")) { text = jt_send.getText(); jt_recive.insert_text2(myname + " " + time.gettime()); transformToReceive(addSize((addColor(text)

43、))); 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

44、(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; }

45、 if (!jt_user.getText().equals("")) { user = jt_user.getText(); } else { user = null; } if (!jt_nickname.getText().equals("")) { nickname = jt_nickname.getText(); } else { nickname = null; } } else if (jr_2.i

46、sSelected()) // 查找聯(lián)系人 ----- 條件查找 { sign = 2; country = item_country[jc_country.getSelectedIndex()]; if (country.equals("中國")) { province = item_province[jc_province.getSelectedIndex()]; if (province.equals("山東")) { if (!item_city[jc_city.getSelectedI

47、ndex()].equals("---")) { city = item_city[jc_city.getSelectedIndex()]; } else { city = null; } } else if (province.equals("北京")) { if (!item_city[jc_city.getSelectedIndex()].equals("---")) { city = item_city1[jc_city

48、.getSelectedIndex()]; } else { city = null; } } else if (province.equals("---")) { province = null; city = null; } } else if (country.equals("美國")) { if (!province.equals("---")) { province = ite

49、m_province1[jc_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) {

50、 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(); //

51、 保持彈出窗口居中 this.setLocation((screenSize.width - frameSize.width) / 5, (screenSize.height - frameSize.height) / 6); Container container = getContentPane(); // 設(shè)置背景圖片 jl_down = new JLabel(); // 把背景圖片顯示在一個標簽里面 jl_down.setIcon(new ImageIcon("pic//background//2.jpg")); jl_down.setSize

52、(600, 450); c = (JPanel) container; c.add(jl_down); c.setOpaque(false); 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,

53、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); jb_head.setText("更換頭像"); jb_head.setActionCommand("更換頭像"); jb_head.addActionListener(this); jp_left.add(jb_head); 3

54、.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.setBounds(20, 30, 40, 40); jl2_9.setFont(new Font("宋體", Font.PLAIN, 14

55、)); 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(new Font("宋體",

56、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(n

57、ew 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,

58、140, 300, 20); jl2_13.setFont(new Font("宋體", 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.s

59、etBounds(77, 170, 200, 20); jt2_2.setBorder(new LineBorder(Color.gray)); jp2_1.add(jt2_2); 4 系統(tǒng)測試 4.1 軟件測試介紹 軟件測試是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。測試的目標是以較少的用例、時間和人力找出軟件中潛在的各種錯誤和缺陷,以確保系統(tǒng)的質(zhì)量[24]。 謝謝海南社區(qū)支持: 在軟件實現(xiàn)過程中,要編寫規(guī)范化的程序代碼,而且要對程序代碼進

60、行單元測試,即模塊測試或部件測試,然后,進行集成測試和驗收測試。測試方法為宏觀上采取黑盒方法。微觀上采取白盒方法:大的功能模塊采用黑盒測試,小的構(gòu)件采用白盒測試。在開發(fā)企業(yè)內(nèi)部即時通訊系統(tǒng)時,每增加一個構(gòu)件采用白盒測試,通過白盒測試后把該構(gòu)件集成到系統(tǒng)中,當(dāng)所有構(gòu)件集成完畢后,進行黑盒測試[25]。 4.2 軟件測試過程 測試 評價 可靠性 糾錯 預(yù)期的結(jié)果 測試結(jié)果 軟件 測試構(gòu)造 錯誤 正確 錯誤率數(shù)據(jù) 可靠性預(yù)測 圖4.1 軟件測試過程 4.3 本系統(tǒng)所進行的測試 (1)用戶注冊功能的測試。 (2)普通用戶的基本功能測試(包括登錄

61、、查找好友、更改個人信息、更該背景)。 (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)方案,主要包括了

62、以下幾個方面的內(nèi)容: (1)系統(tǒng)功能的設(shè)計以及與功能相關(guān)的用戶信息數(shù)據(jù)的設(shè)計,在功能上盡可能作到完善且實用,在數(shù)據(jù)信息上盡量全面、沒有遺漏。 (2)充分發(fā)揮面向?qū)ο蟮乃枷?,使系統(tǒng)有一個良好的結(jié)構(gòu),便于團隊合作開發(fā),同時也有為后期維護或擴展工作奠定良好的基礎(chǔ)。 (3)良好的協(xié)調(diào)網(wǎng)絡(luò)傳輸與邏輯控制的模塊劃分以及二者的接口設(shè)計,網(wǎng)絡(luò)傳輸控制對象的設(shè)計更要能夠適應(yīng)多種網(wǎng)絡(luò)通信應(yīng)用程序,以減少在今后類似項目的開發(fā)中的編碼工作量,避免重復(fù)勞動。 在這一次的設(shè)計開發(fā)工作中,我體會到了在規(guī)范的實際開發(fā)工作中,一個程序的開發(fā)與在學(xué)校中學(xué)習(xí)文化知識時的程序開發(fā)有的天壤之別。同時也讓我認識

63、到了在實際開發(fā)過程中,影響系統(tǒng)開發(fā)質(zhì)量與效率的絕不僅僅是代碼編寫能力那么簡單,良好的系統(tǒng)模式設(shè)計、清晰的設(shè)計思路、合理的模塊或?qū)哟蔚膭澐植攀侵刂兄亍? 謝謝海南社區(qū)支持: 參考文獻 [1](美)Y.Daniel Liang著;馬海軍,景麗等譯. Java編程原理與實踐. 北京市:清華大學(xué)出版社, 2005 [2] 李鐘尉,陳丹丹等編著. Java開發(fā)實戰(zhàn)1200例(第二卷) 北京:清華大學(xué)出版社, 2011.6 [3] 劉永華,于春花主編. 實用Java網(wǎng)絡(luò)編程技術(shù). 北京:中國電力出版社, 2009 [4] 陳家興等編著. JA

64、VA圖形用戶界面設(shè)計與實例. 北京市:冶金工業(yè)出版社, 2004 [5] Joe Wigglesworth Paula Memillan著;李海峰,王澤波等譯.JAVA程序設(shè)計高級教程 第3版. 北京市:清華大學(xué)出版社, 2005.07 [6] 張曉東等編著. Java數(shù)據(jù)庫高級教程. 北京市:清華大學(xué)出版社, 2004 [7] 梁陳劍,張威編著. JDBC 3.0數(shù)據(jù)庫開發(fā)與設(shè)計. 北京市:北京希望電子出版社, 2003 [8] 王路等編著. J2SE核心API參考與實例. 北京市:中國水利水電出版社, 2002 [9] 王誠主編. Java實用編程技術(shù). 北京市:人民郵電出版社,

65、 2012.03 [10](美)Bruce Eckel著;陳昊鵬,饒若楠等譯. Java編程思想. 北京市:機械工業(yè)出版社, 2005.05 [11] 尹繼平,張帆編著. JAVA范例大全. 北京市:機械工業(yè)出版社, 2009.10 [12] 劉暢,基于Java的網(wǎng)絡(luò)通信程序開發(fā)煤炭技術(shù) 2012,05:172~174 [13] 孫文華,一種基于Java編程的臟字過濾器的設(shè)計微型機與應(yīng)用 2012.09 [14] 吳翠鴻,劉建 Java異常處理電腦編程技巧與維護 2012,02:107~109 [15] 任艷娜,閭素紅 基于Java技術(shù)的電子郵件發(fā)送系統(tǒng) 制造業(yè)自動化 2011.0

66、1 [16] 劉旭國,駱華杰,王萬成. 即時通信工具的協(xié)議分析與互通研究. 網(wǎng)絡(luò)安全技術(shù) 與應(yīng)用, 2009, 2(1): 36-39 [17] 陸軍. WinSock API網(wǎng)絡(luò)編程——TCP/IP協(xié)議 2012,02:118~128 [18] 王利民 網(wǎng)絡(luò)即時通信系統(tǒng). 電腦編程技巧與維護, 2008, 14(8): 36-37 [19] 朱秋成 網(wǎng)商如何用好即時通信工具, 電子商務(wù)世界2008, 11(5): 14-17 [20] 丁展,劉海英 Visual. C網(wǎng)絡(luò)通信編程實用案例精選, 北京: 人民郵電出版社, 2004: 1-32 [21] Zhen Xiao, Lei Guo, and John Tracey Understanding Instant Messaging Traffic Characteristics, IEEE 2007 0-7695-2837-3/

展開閱讀全文
溫馨提示:
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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!