工作板的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)本科論文_第1頁(yè)
工作板的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)本科論文_第2頁(yè)
工作板的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)本科論文_第3頁(yè)
工作板的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)本科論文_第4頁(yè)
工作板的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)本科論文_第5頁(yè)
已閱讀5頁(yè),還剩56頁(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、工作板的設(shè)計(jì)與實(shí)現(xiàn)摘 要 在網(wǎng)絡(luò)越來(lái)越發(fā)達(dá)的今天,人們對(duì)網(wǎng)絡(luò)的依賴越來(lái)越多,越來(lái)越離不開(kāi)網(wǎng)絡(luò),由此而產(chǎn)生的聊天工具越來(lái)越多,基于Java網(wǎng)絡(luò)編程的強(qiáng)大功能,本次畢業(yè)設(shè)計(jì)使用Java編寫(xiě)一個(gè)工作板即基于局域網(wǎng)工作交流平臺(tái)系統(tǒng)。本文詳細(xì)介紹了工作板即基于局域網(wǎng)工作交流平臺(tái)系統(tǒng)的開(kāi)發(fā)和過(guò)程。本項(xiàng)目采用軟件工程的方法,綜合運(yùn)用數(shù)據(jù)庫(kù)技術(shù)、程序設(shè)計(jì)技術(shù),以java為開(kāi)發(fā)語(yǔ)言,以MyEclipse開(kāi)發(fā)工具作為系統(tǒng)前臺(tái)應(yīng)用程序開(kāi)發(fā)工具。此局域網(wǎng)工作交流平臺(tái)采用客戶端/服務(wù)器(C/S)模式和TCP連接并用多線程實(shí)現(xiàn)了不同的并行任務(wù)。在本設(shè)計(jì)中,通過(guò)人性化的界面設(shè)計(jì)使用起來(lái)更加方便功能合理。最終實(shí)現(xiàn)了通信,給員

2、工提供更方便的溝通方式,增強(qiáng)了企業(yè)的信息共享和溝通能力,提高員工日常工作效率,減少企業(yè)內(nèi)部通訊費(fèi)用和出差次數(shù),從而為企業(yè)節(jié)省開(kāi)支,同時(shí)也提高了員工的合作意識(shí),增強(qiáng)了企業(yè)的凝聚力。關(guān)鍵詞: 局域網(wǎng);JAVA;Socket;企業(yè)即時(shí)信息The design and implementation of the workbench systemAbstractas the network become more and more developed, people become more and more lean to the network, and can not leave with out

3、it. This caused the chat materials become more numerous, as the overseas ICQ system, the OICQ system that invented by Tencent Co., and so on. So we create a network chat medium just like the QQ. Java network programming based on the power, the use of Java designed to prepare graduates a work platfor

4、m system based on LAN.This paper introduces in detail the development and work platform system based on LAN process.The project adopts the method of software engineering, the integrated use of database technology, program design technology, network technology, MyEclipse development tool to Java lang

5、uage as a system receptionist application development tools. The LAN chat by client/server tool (C/S) mode and TCP connection and implementation ofparalleltasksby using multiple threads.In this design,interface designthrough the humanityis more convenient to usereasonable function.Finally realizes t

6、hecommunication,to provide amore convenient way to communi-cate,enhance the enterprisesinformation sharingand communication ability,improve staffwork efficiency,reduce theenterprise internalcommunication costsand traveltimes,so as tosave moneyfor the enterprise,but also improve the staffs cooperatio

7、n consciousness,enha-nce the cohesion of the enterprise.Key words: Local area network (LAN); JAVA; socket;Enterprise instant messaging目 錄摘 要iAbstractii1 緒論11.1 引言11.2 國(guó)內(nèi)外企業(yè)即時(shí)通訊 (工作交流平臺(tái))研究現(xiàn)狀11.3 研究的意義21.4 本文的主要工作22 相關(guān)技術(shù)及環(huán)境簡(jiǎn)介32.1 MyEclipse介紹32.2 Java語(yǔ)言42.2.1 Jar命令42.2.2 Java和Internet42.3 C/S模式介紹52.4 S

8、ocket編程62.4.1 Socket簡(jiǎn)介62.4.2 關(guān)于TCP/IP協(xié)議62.4.3 服務(wù)器和客戶機(jī)72.5 編程運(yùn)行環(huán)境82.6 ORACLE數(shù)據(jù)庫(kù)簡(jiǎn)介82.7 JDBC92.8 小結(jié)93 需求分析103.1 可行性分析103.1.1 經(jīng)濟(jì)可行性103.1.2 技術(shù)可行性103.1.3 操作可行性103.1.4 需求可行性分析103.1.5 性能可行性113.2 系統(tǒng)功能需求113.3 系統(tǒng)性能需求113.4 系統(tǒng)運(yùn)行環(huán)境114 概要設(shè)計(jì)124.1 工作板即基于局域網(wǎng)工作交流平臺(tái)系統(tǒng)的實(shí)施原理134.1.1 工作方式和技術(shù)原理134.1.2 通訊方式134.2 軟件設(shè)計(jì)流程134.3

9、系統(tǒng)功能模塊144.4 客戶端實(shí)現(xiàn)流程圖154.5 類模塊設(shè)計(jì)164.6 程序設(shè)計(jì)的重點(diǎn)164.7 接口設(shè)計(jì)165 詳細(xì)設(shè)計(jì)175.1 系統(tǒng)功能要求175.1.1 基于局域網(wǎng)工作交流平臺(tái)的要求175.1.2 基于局域網(wǎng)工作交流平臺(tái)的管理子系統(tǒng)要求175.2 系統(tǒng)性能要求175.3 數(shù)據(jù)庫(kù)設(shè)計(jì)185.3.1 數(shù)據(jù)庫(kù)需求分析185.3.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)185.3.3 數(shù)據(jù)庫(kù)表的創(chuàng)建195.4 系統(tǒng)基本功能設(shè)計(jì)與實(shí)現(xiàn)195.4.1 服務(wù)器程序模塊設(shè)計(jì)與實(shí)現(xiàn)195.4.2 用戶注冊(cè)模塊設(shè)計(jì)與實(shí)現(xiàn)205.4.3 用戶登錄模塊設(shè)計(jì)與實(shí)現(xiàn)225.4.4 添加好友模塊設(shè)計(jì)與實(shí)現(xiàn)245.4.5 聊天模塊設(shè)

10、計(jì)與實(shí)現(xiàn)265.4.6 文件傳輸模塊設(shè)計(jì)與實(shí)現(xiàn)285.5 小結(jié)326 系統(tǒng)調(diào)試與測(cè)試336.1 程序調(diào)試336.2 程序的測(cè)試336.2.1 測(cè)試的重要性及目的336.2.2 測(cè)試的步驟346.2.3 測(cè)試的主要內(nèi)容34結(jié) 論37參考文獻(xiàn)38致 謝39外文原文40外文原文翻譯511 緒論1.1 引言在網(wǎng)絡(luò)飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用?;ヂ?lián)網(wǎng)上存在大量的信息所以信息交換也顯得尤為重要。人們一直在尋找一種方便、低廉的交流信息的工具,因此網(wǎng)上聊天便成為人們的首選?;贘ava網(wǎng)絡(luò)編程的強(qiáng)大功能,本次畢業(yè)設(shè)計(jì)使用J

11、ava編寫(xiě)一個(gè)工作板即基于局域網(wǎng)工作交流平臺(tái)系統(tǒng)。工作板即基于局域網(wǎng)工作交流平臺(tái)利用的是互聯(lián)網(wǎng)線路,通過(guò)文字、文件的信息交流與互動(dòng),有效節(jié)省了溝通雙方的時(shí)間與經(jīng)濟(jì)成本;工作板即基于局域網(wǎng)工作交流平臺(tái)不但成為人們的溝通工具,還成為了人們利用其進(jìn)行電子商務(wù)、工作、學(xué)習(xí)等交流的平臺(tái),致力于幫助企業(yè)提高運(yùn)作效率,降低溝通成本、拓展商業(yè)機(jī)會(huì),它給員工提供更方便的溝通方式,增強(qiáng)了企業(yè)的信息共享和溝通能力,提高員工日常工作效率,減少企業(yè)內(nèi)部通訊費(fèi)用和出差次數(shù),從而為企業(yè)節(jié)省開(kāi)支,同時(shí)也提高了員工的合作意識(shí),增強(qiáng)了企業(yè)的凝聚力。一般來(lái)說(shuō),聊天工具大多數(shù)由客戶端程序和服務(wù)器程序外加服務(wù)器端用于存放客戶數(shù)據(jù)的數(shù)據(jù)

12、庫(kù)組成,本系統(tǒng)采用客戶機(jī)/服務(wù)器架構(gòu)模式通過(guò)Java提供的Socket類來(lái)連接客戶機(jī)和服務(wù)器并使客戶機(jī)和服務(wù)器之間相互通信,由于聊天是多點(diǎn)對(duì)多點(diǎn)的而Java提供的多線程功能用多線程可完成多點(diǎn)對(duì)多點(diǎn)的聊天,數(shù)據(jù)庫(kù)管理系統(tǒng)用Oracle 11g完成并通過(guò)JDBC訪問(wèn)數(shù)據(jù)庫(kù)。 本系統(tǒng)建立在JAVA平臺(tái)上,系統(tǒng)的設(shè)計(jì)使用了面向?qū)ο蠹夹g(shù)和面向?qū)ο蟮脑O(shè)計(jì)原則。系統(tǒng)采用C/S結(jié)構(gòu),客戶端與客戶端以及客戶端與服務(wù)器端之間通過(guò)Socket傳送消息。使用JAVA語(yǔ)言編寫(xiě),開(kāi)發(fā)工具采用MyEclipse。服務(wù)器端設(shè)計(jì)與實(shí)現(xiàn)過(guò)程中,采用了多線程技術(shù),可以在單個(gè)程序當(dāng)中同時(shí)運(yùn)行多個(gè)不同的線程,執(zhí)行不同的任務(wù)。大大增強(qiáng)了

13、程序?qū)Ψ?wù)器資源的利用。 基于局域網(wǎng)工作交流平臺(tái)系統(tǒng)完成后將可進(jìn)行用戶間的聊天、對(duì)好友進(jìn)行添加、對(duì)新用戶的注冊(cè)、發(fā)送消息、接受消息等等功能。1.2 國(guó)內(nèi)外企業(yè)即時(shí)通訊 (工作交流平臺(tái))研究現(xiàn)狀企業(yè)即時(shí)通信:簡(jiǎn)稱EIM(Enterprise Instant Messaging),它是一種面向企業(yè)終端使用者的網(wǎng)絡(luò)溝通工具服務(wù),使用者可以通過(guò)安裝了即時(shí)通信的終端機(jī)進(jìn)行兩人或多人之間的實(shí)時(shí)溝通。交流內(nèi)容包括文字、界面、語(yǔ)音、視頻及文件互發(fā)等。相對(duì)于個(gè)人即時(shí)通信工具而言,企業(yè)即時(shí)通信工具剔除了娛樂(lè)等因素,且更加強(qiáng)調(diào)安全性、實(shí)用性、穩(wěn)定性和擴(kuò)展性。目前,市場(chǎng)上的企業(yè)級(jí)即時(shí)通信工具主要包括:騰訊公司的RTX

14、、IBM公司的Lotus Sametime、微軟公司的UC、點(diǎn)擊科技的GKE、中國(guó)互聯(lián)網(wǎng)辦公室的IMO、紅杉樹(shù)公司的Easy Touch、億企通的Jingoal等。經(jīng)過(guò)幾年來(lái)的市場(chǎng)考驗(yàn)和同行競(jìng)爭(zhēng),提供企業(yè)級(jí)即時(shí)通信軟件服務(wù)的廠商也經(jīng)歷了大浪淘沙的艱難歷程,目前的市場(chǎng)格局主要分為三類:第一類是介入即時(shí)通信領(lǐng)域時(shí)間較早的國(guó)際企業(yè),如IBM、微軟等。其優(yōu)勢(shì)在于起步早,產(chǎn)品在進(jìn)入中國(guó)前已在國(guó)外企業(yè)用戶中得到了廣泛應(yīng)用,企業(yè)知名度和產(chǎn)品知名度較高;缺點(diǎn)是在面對(duì)中國(guó)企業(yè)用戶的特定需求時(shí),其產(chǎn)品的適應(yīng)度還較差,另外,國(guó)際廠商為了實(shí)現(xiàn)大而全的目的,它們的即時(shí)通信產(chǎn)品往往與自身的其他軟件系統(tǒng)關(guān)聯(lián)度、依賴度很強(qiáng)

15、(如微軟OCS和Exchange Server 2003的緊密捆綁,IBM Sametime與Lotus的緊密結(jié)合),這無(wú)疑會(huì)增加企業(yè)用戶的采購(gòu)成本。第二類是以騰訊為代表的國(guó)產(chǎn)軟件企業(yè)。它們的產(chǎn)品設(shè)計(jì)更加貼近中國(guó)企業(yè)的實(shí)際需求,產(chǎn)品操作更加貼近中國(guó)人的使用習(xí)慣,并亦具有很高的品牌知名度。目前,此類企業(yè)已經(jīng)成為中國(guó)企業(yè)級(jí)即時(shí)通信市場(chǎng)的主導(dǎo)力量,據(jù)第三方統(tǒng)計(jì)數(shù)據(jù),僅騰訊RTX就已占到超過(guò)70%的市場(chǎng)份額。第三類是眾多創(chuàng)業(yè)性的新興企業(yè)。他們的特點(diǎn)是靈活性高,每個(gè)項(xiàng)目的定制性強(qiáng);缺點(diǎn)是產(chǎn)品不成熟,品牌影響力差。該類企業(yè)由于其自身的資金和技術(shù)等薄弱環(huán)節(jié),目前還不足以對(duì)企業(yè)即時(shí)通信市場(chǎng)造成影響。 總之,目

16、前中國(guó)企業(yè)即時(shí)通信領(lǐng)域的一個(gè)顯著特征就是,國(guó)內(nèi)外廠商都在爭(zhēng)奪這個(gè)未來(lái)被普遍看好的市場(chǎng),未來(lái)中國(guó)企業(yè)即時(shí)通訊行業(yè)發(fā)展的方向?yàn)椋航y(tǒng)一通信化、功能定制化、移動(dòng)終端化、競(jìng)爭(zhēng)激烈化和行業(yè)整合化。1.3 研究的意義近年來(lái),隨著全球信息化的不斷發(fā)展,網(wǎng)絡(luò)也在飛速發(fā)展。出于高效、快速地處理各種事務(wù)的目的,越來(lái)越多的企業(yè)在其內(nèi)部使用局域網(wǎng)來(lái)進(jìn)行工作。在內(nèi)部局域網(wǎng)的幫助下,企業(yè)得以簡(jiǎn)化信息流程,提高信息交換的速度,從而提高工作效率。然而,隨著企業(yè)規(guī)模的擴(kuò)大,業(yè)務(wù)量地增加,企業(yè)內(nèi)部多的信息越來(lái)越私密,企業(yè)只希望員工通過(guò)內(nèi)部局域網(wǎng)進(jìn)行溝通與交流,避免企業(yè)內(nèi)部機(jī)密通過(guò)Internet泄露到外部。為了解決上述矛盾,人們提

17、出了開(kāi)發(fā)工作板即局域網(wǎng)工作交流平臺(tái)的構(gòu)想,通過(guò)局域網(wǎng)工作交流平臺(tái)軟件,企業(yè)員工可以隨時(shí)的進(jìn)行即時(shí)信息傳遞,鑿開(kāi)網(wǎng)絡(luò)會(huì)議等,有利于提高工作效率,同時(shí)有保護(hù)了企業(yè)內(nèi)部的信息安全。1.4 本文的主要工作隨著用戶對(duì)軟件功能的需求不斷提高,企業(yè)即時(shí)通訊的產(chǎn)品也不斷地更新?lián)Q代。企業(yè)即時(shí)通訊的發(fā)展不論是在基礎(chǔ)應(yīng)用方面還是在擴(kuò)展應(yīng)用方面都有著飛躍。本文首先對(duì)工作板即基于局域網(wǎng)工作交流平臺(tái)軟件的發(fā)展以及其對(duì)人們的生活有何影響作了簡(jiǎn)述,并對(duì)開(kāi)發(fā)環(huán)境和工具進(jìn)行了相應(yīng)說(shuō)明并對(duì)此工作交流平臺(tái)軟件系統(tǒng)進(jìn)行了較為詳細(xì)的分析;進(jìn)而提出了該多功能交流平臺(tái)軟件的設(shè)計(jì)方案。在本次多功能工作交流平臺(tái)軟件的設(shè)計(jì)與開(kāi)發(fā)中,本人主要設(shè)計(jì)開(kāi)

18、發(fā)登錄模塊、注冊(cè)模塊、聊天模塊、并對(duì)此工作交流平臺(tái)軟件系統(tǒng)的登錄模塊、注冊(cè)模塊、聊天模塊的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了較詳細(xì)的說(shuō)明和分析。2 相關(guān)技術(shù)及環(huán)境簡(jiǎn)介在確定系統(tǒng)的開(kāi)發(fā)前景、意義、目標(biāo)之后,就是選擇好開(kāi)發(fā)工具以及運(yùn)用相關(guān)的技術(shù)來(lái)開(kāi)發(fā)系統(tǒng)。在模式上,我們選擇C/S架構(gòu)的操作模式,這樣可以方便公司統(tǒng)一管理,使得公司只需維護(hù)服務(wù)器,員工只要安裝客戶端即可做相關(guān)操作。接下來(lái),將對(duì)本系統(tǒng)所用到的開(kāi)發(fā)環(huán)境、語(yǔ)言和相關(guān)技術(shù)進(jìn)行介紹,主要是對(duì)本次開(kāi)發(fā)涉及到的理論知識(shí)和用到的開(kāi)發(fā)工具做相關(guān)闡述。2.1 MyEclipse介紹MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbenc

19、h ,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持Java Servlet,AJAX, JS

20、P, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能??梢哉f(shuō)MyEclipse是幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專屬eclipse開(kāi)發(fā)工具。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類: JavaEE模型 WEB開(kāi)發(fā)工具 EJB開(kāi)發(fā)工具 應(yīng)用程序服務(wù)器的連接器 JavaEE項(xiàng)目部署服務(wù) 數(shù)據(jù)庫(kù)服務(wù) MyEclipse整合幫助對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過(guò)一系列的插件來(lái)實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。簡(jiǎn)單而言,M

21、yEclipse是Eclipse的插件,也是一款功能強(qiáng)大的JavaEE集成開(kāi)發(fā)環(huán)境,支持代碼編寫(xiě)、配置、測(cè)試以及除錯(cuò),MyEclipse5.5以前版本需先安裝Eclipse。MyEclipse5.5以后版本安裝時(shí)不需安裝Eclipse。2.2 Java語(yǔ)言Java語(yǔ)言是SUN公司于1995年5月推出的新一代面向?qū)ο蟮挠?jì)算機(jī)通用編程語(yǔ)言,是繼WWW之后又一引起世界轟動(dòng)的產(chǎn)品。Java語(yǔ)言的特點(diǎn)是跨平臺(tái)和強(qiáng)大的網(wǎng)絡(luò)編程功能。在Java語(yǔ)言誕生之前,Internet已存在,所以Java語(yǔ)言本身就封裝了大量進(jìn)行網(wǎng)絡(luò)編程的類庫(kù),使得網(wǎng)絡(luò)編程功能強(qiáng)大,同時(shí)又簡(jiǎn)化了網(wǎng)絡(luò)編程的操作。因此利用Java語(yǔ)言可以開(kāi)

22、發(fā)出功能強(qiáng)大的網(wǎng)絡(luò)應(yīng)用程序。2.2.1 Jar命令功能:Java歸檔工具語(yǔ)法:jar 命令選項(xiàng) manifest destination input-file input-files jar工具是個(gè)java應(yīng)用程序,可將多個(gè)文件合并為單個(gè)JAR歸檔文件。jar是個(gè)多用途的存檔及壓縮工具,它基于ZIP和ZLIB壓縮格式。然而,設(shè)計(jì)jar的主要目的是便于將java applet或應(yīng)用程序打包成單個(gè)歸檔文件。將applet或應(yīng)用程序的組件(.class文件、圖像和聲音)合并成單個(gè)歸檔文件時(shí),可以用java代理(如瀏覽器)在一次HTTP事務(wù)處理過(guò)程中對(duì)它們進(jìn)行下載,而不是對(duì)每個(gè)組件都要求一個(gè)新連接。這

23、大大縮短了下載時(shí)間。jar還能壓縮文件,從而進(jìn)一步提高了下載速度。此外,它允許applet的作者對(duì)文件中的各個(gè)項(xiàng)進(jìn)行簽名,因而可認(rèn)證其來(lái)源。jar工具的語(yǔ)法基本上與tar命令的語(yǔ)法相同。命令選項(xiàng): -c:在標(biāo)準(zhǔn)輸出上創(chuàng)建新歸檔或空歸檔。 -t:在標(biāo)準(zhǔn)輸出上列出內(nèi)容表。 -xfile:從標(biāo)準(zhǔn)輸入提取所有文件,或只提取指定的文件。如果省略了file,則提取所有文件;否則只提取指定文件。 -f:第二個(gè)參數(shù)指定要處理的jar文件。在-c(創(chuàng)建)情形中,第二個(gè)參數(shù)指的是要?jiǎng)?chuàng)建的jar文件的名稱(不是在標(biāo)準(zhǔn)輸出上)。在-t(表(或-x(抽取)這兩種情形中,第二個(gè)參數(shù)指定要列出或抽取的jar文件。 -v:在

24、標(biāo)準(zhǔn)錯(cuò)誤輸出設(shè)備上生成長(zhǎng)格式的輸出結(jié)果。 -m:包括指定的現(xiàn)有清單文件中的清單信息。用法舉例:“jar cmf myManifestFile myJarFile *.class” -0:只儲(chǔ)存,不進(jìn)行 ZIP 壓縮。 -M:不創(chuàng)建項(xiàng)目的清單文件。 -u:通過(guò)添加文件或更改清單來(lái)更新現(xiàn)有的 JAR 文件。例如:“jar -uf foo.jar foo.class”將文件 foo.class 添加到現(xiàn)有的JAR文件foo.jar中,而“jar umf manifest foo.jar”則用manifest中的信息更新foo.jar的清單。 -C:在執(zhí)行 jar 命令期間更改目錄。例如:“jar -

25、uf foo.jar -C classes *”將classes目錄內(nèi)的所有文件加到foo.jar中,但不添加類目錄本身。2.2.2 Java和InternetTCP/IP(傳輸控制協(xié)議/網(wǎng)間協(xié)議)是internet的主要協(xié)議,定義了計(jì)算機(jī)和外設(shè)進(jìn)行通信所使用的規(guī)則(應(yīng)用層,傳輸層,網(wǎng)絡(luò)層,鏈路層)。大多數(shù)基于internet的應(yīng)用程序被看作TCP/IP協(xié)議的上一層. 如 : ftp, http, smtp, pop3, telnet, nntp等。 Java提供的網(wǎng)絡(luò)功能有三大類: URL, Socket, Datagram. 其中,URL是三大功能中最高級(jí)的一種,通過(guò)URL Java程序可

26、以直接送出或讀入網(wǎng)絡(luò)上的數(shù)據(jù)。Socket是傳統(tǒng)網(wǎng)絡(luò)程序最常用的方式,可以想象為兩個(gè)不同的程序通過(guò)網(wǎng)絡(luò)的通信信道。Datagram是更低級(jí)的網(wǎng)絡(luò)傳輸方式,它把數(shù)據(jù)的目的紀(jì)錄在數(shù)據(jù)包中,然后直接放在網(wǎng)絡(luò)上。2.3 C/S模式介紹20世紀(jì)90年代出現(xiàn)并迅速占據(jù)主導(dǎo)地位的一種計(jì)算模式為客戶機(jī)/服務(wù)器模式,簡(jiǎn)稱為C/S模式,它實(shí)際上就是把主機(jī)終端模式中原來(lái)全部集中在主機(jī)部分的任務(wù)一分為二,保留在主機(jī)上的部分負(fù)責(zé)集中處理和匯總運(yùn)算,成為服務(wù)器;而下放到終端的部分負(fù)責(zé)為用戶提供友好的交互界面,稱為客戶機(jī)。相對(duì)于以前的模式,C/S模式最大的改進(jìn)是不再把所有軟件都裝進(jìn)一臺(tái)計(jì)算機(jī),而是把應(yīng)用系統(tǒng)分成兩個(gè)不同的角

27、色和兩個(gè)不同的地位:一般在運(yùn)算能力較強(qiáng)的計(jì)算機(jī)上安裝服務(wù)器端程序,而在一般的PC上安裝客戶機(jī)程序。正是由于個(gè)人PC機(jī)的出現(xiàn)使客戶機(jī)/服務(wù)器模式成為可能,因?yàn)镻C機(jī)具有一定的運(yùn)算能力,用它代替了上面第一種模式的啞終端后,就可以把主機(jī)端的一部分工作放在客戶機(jī)端完成,從而減輕了主機(jī)的負(fù)擔(dān),也增加了系統(tǒng)對(duì)用戶的響應(yīng)速度和響應(yīng)能力。客戶機(jī)和服務(wù)器之間通過(guò)相應(yīng)的網(wǎng)絡(luò)協(xié)議來(lái)進(jìn)行通訊。客戶機(jī)向服務(wù)器發(fā)出數(shù)據(jù)請(qǐng)求,服務(wù)器將數(shù)據(jù)傳送給客戶機(jī)進(jìn)行計(jì)算,計(jì)算完畢,計(jì)算結(jié)果可返回給服務(wù)器。這種模式的優(yōu)點(diǎn)充分利用了客戶機(jī)的性能,使計(jì)算能力大大提高;另外,由于客戶機(jī)和服務(wù)器之間的通訊是通過(guò)網(wǎng)絡(luò)協(xié)議進(jìn)行的,是一種邏輯的聯(lián)系,

28、因此物理上在客戶機(jī)和服務(wù)器兩端是易于擴(kuò)充的。C/S模式是目前占主流的網(wǎng)絡(luò)計(jì)算模式。該模式在操作過(guò)程中采取的是主動(dòng)請(qǐng)示方式:首先服務(wù)器方要先啟動(dòng),并根據(jù)請(qǐng)示提供相應(yīng)服務(wù)(過(guò)程如下): 打開(kāi)一個(gè)通信通道同時(shí)通知本地主機(jī),服務(wù)器愿意在某一個(gè)公認(rèn)地址上接收客戶請(qǐng)求。 等待某個(gè)客戶請(qǐng)求到達(dá)該端口。 接收到重復(fù)服務(wù)請(qǐng)求,處理該請(qǐng)求并發(fā)送應(yīng)答信號(hào)。 返回第二步,等待另一客戶請(qǐng)求。 關(guān)閉該服務(wù)器??蛻舳耍?打開(kāi)一個(gè)通信通道,并連接到服務(wù)器所在主機(jī)的特定端口。 向服務(wù)器發(fā)送服務(wù)請(qǐng)求報(bào)文,等待并接收應(yīng)答;繼續(xù)提出請(qǐng)求。 請(qǐng)求結(jié)束后關(guān)閉通信通道并終止。分布運(yùn)算和分布管理是客戶機(jī)/服務(wù)器模式的特點(diǎn)。最后選擇了C/S模

29、式。2.4 Socket編程 2.4.1 Socket簡(jiǎn)介Socket,簡(jiǎn)稱套接字,用于實(shí)現(xiàn)網(wǎng)絡(luò)上客戶和服務(wù)器之間的連接。也就是說(shuō)網(wǎng)絡(luò)上兩個(gè)或兩個(gè)以上雙工方式通信的進(jìn)程之間總有一個(gè)連接,這個(gè)連接的端點(diǎn)成為套接字,套接字是在比較低的層次上通信的。具體的說(shuō):一個(gè)服務(wù)器應(yīng)用程序一般偵聽(tīng)一個(gè)特定的端口等待客戶端的連接請(qǐng)求,當(dāng)一個(gè)連接請(qǐng)求到達(dá)時(shí),客戶端和服武器端建立一個(gè)通信連接,在連接過(guò)程中,客戶端被分配一個(gè)本地端口與一個(gè)Socket建立連接,客戶端通過(guò)寫(xiě)Socket來(lái)通知服務(wù)器,以讀Socket中的信息,類似的服務(wù)器也獲得一個(gè)本地端口,它需要一個(gè)新的端口號(hào)來(lái)偵聽(tīng)原始端口上的其他連接請(qǐng)求。服務(wù)器也通過(guò)它

30、的本地端口連接一個(gè)Socket,通過(guò)讀寫(xiě)和客戶端通信。Socket程序的工作過(guò)程: 建立Socket連接:在通信開(kāi)始之前由通信雙方確認(rèn)身份,建立一條專用的虛擬連接通道。 數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進(jìn)行通道。 關(guān)閉:通信結(jié)束時(shí),再將所建的虛擬連接拆除。具體如下圖2-17.關(guān)閉3.客戶端socket6.寫(xiě)5.讀5.讀6.寫(xiě)7.關(guān)閉4.接收2.監(jiān)聽(tīng)1.服務(wù)器socket:圖2-1 Socket套接字原理圖2.4.2 關(guān)于TCP/IP協(xié)議 TCP協(xié)議是網(wǎng)絡(luò)通信的基石,對(duì)此Java專門提供了Socket的類庫(kù),在其中抽象出TCP協(xié)議通信的常用方法:TCP協(xié)議與三次握手。為了實(shí)現(xiàn)客戶端同服務(wù)器

31、端的通信,客戶端首先發(fā)送一個(gè)“SYN”數(shù)據(jù)包。如果服務(wù)器收到SYN標(biāo)記,它將發(fā)回一個(gè)“SYN+ACK”數(shù)據(jù)包。接著,客戶端為了表示收到了這個(gè)SYN+ACK信息,會(huì)向服務(wù)器發(fā)送一個(gè)最終確認(rèn)信息(ACK包)。這種SYN,SYN+ACK,ACK的步驟被稱為TCP連接建立時(shí)的“三次握手”,在這之后,連接就建立起來(lái)了,這個(gè)連接將一直保持活動(dòng)狀態(tài),直到超時(shí)或者任何一方發(fā)出一個(gè)FIN(結(jié)束)信號(hào)。這種通信模式也叫客戶端/服務(wù)器(C/S)模式。 如下圖2-2:第一次握手,主機(jī)A向主機(jī)B發(fā)送連接請(qǐng)求第二次握手,主機(jī)B收到主機(jī)A的請(qǐng)求,向主機(jī)A回發(fā)一個(gè)確認(rèn),同時(shí)向主機(jī)A發(fā)送一個(gè)連接請(qǐng)求主機(jī)A 主機(jī)BSYN=1,S

32、EQ=ACK=1,SYN=1,SEQ=第三次握手,主機(jī)A收到主機(jī)B發(fā)送的數(shù)據(jù)包再向主機(jī)B發(fā)送一個(gè)確認(rèn)連接ACK=1圖2-2 三次握手協(xié)議 由此可見(jiàn),通過(guò)客戶端和服務(wù)器的“三次握手”,雙方可以建立暢通的通信信道,在此信道上雙方互相傳輸數(shù)據(jù)。 2.4.3 服務(wù)器和客戶機(jī) 網(wǎng)絡(luò)最基本的目的就是讓兩臺(tái)機(jī)器連接到一起,并相互“交談”或者“溝通”。一旦兩臺(tái)機(jī)器都發(fā)現(xiàn)了對(duì)方,就可以展開(kāi)一次令人愉快的雙向?qū)υ?。但它們?cè)鯓硬拍堋鞍l(fā)現(xiàn)”對(duì)方呢?這就像在游樂(lè)園里那樣,一臺(tái)機(jī)器不得不停留在一個(gè)地方,偵聽(tīng)其他機(jī)器說(shuō):“嘿!你在哪里呢? ” “停留在一個(gè)地方”的機(jī)器叫做“服務(wù)器”(Server),到處“找人”的機(jī)器則叫做

33、“客戶機(jī)”(Client)或者“客戶”。它們之間的區(qū)別只有在客戶機(jī)試圖同服務(wù)器連接的時(shí)候才顯得非常明顯。一旦連通,就變成了一種雙向通信,誰(shuí)來(lái)扮演服務(wù)器或者客戶機(jī)便顯得不那么重要了。 所以服務(wù)器的主要任務(wù)是偵聽(tīng)建立連接的請(qǐng)求,這是由我們創(chuàng)建的特定服務(wù)器對(duì)象完成的。而客戶機(jī)的任務(wù)是試著與一臺(tái)服務(wù)器建立連接,這是由我們創(chuàng)建的特定客戶機(jī)對(duì)象完成的。一旦連接建好,那么無(wú)論在服務(wù)器端還是客戶機(jī)端,連接只是魔術(shù)般地變成了一個(gè)IO數(shù)據(jù)流對(duì)象。從這時(shí)開(kāi)始,我們可以像讀寫(xiě)一個(gè)普通的文件那樣對(duì)待連接。所以一旦建好連接,我們只需使用自己熟悉的IO命令即可。這正是Java聯(lián)網(wǎng)最方便的一個(gè)地方。 如下圖2-3:服務(wù)器So

34、cket(TCP) Socket(TCP) Socket(TCP) UDP UDP UDP圖2-3 服務(wù)器和客戶機(jī)的連接2.5 編程運(yùn)行環(huán)境1.硬件環(huán)境:CPU: Inter(R)Core(TM)i5 CPU內(nèi)存:3 GB硬盤:500 GB2.軟件環(huán)境:操作系統(tǒng):Windows 7應(yīng)用軟件:MyEclipse8.5 + JDK 1.7 + Oracle 11g2.6 ORACLE數(shù)據(jù)庫(kù)簡(jiǎn)介ORACLE數(shù)據(jù)庫(kù)系統(tǒng)是美國(guó)ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫(kù)為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一。比如SilverStrea

35、m就是基于數(shù)據(jù)庫(kù)的一種中間件。ORACLE數(shù)據(jù)庫(kù)是目前世界上使用最為廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng),作為一個(gè)通用的數(shù)據(jù)庫(kù)系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫(kù)它實(shí)現(xiàn)了分布式處理功能。但它的所有知識(shí),只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識(shí),便能在各種類型的機(jī)器上使用它。Oracle數(shù)據(jù)庫(kù)最新版本為Oracle Database 12c。Oracle數(shù)據(jù)庫(kù)12c引入了一個(gè)新的多承租方架構(gòu),使用該架構(gòu)可輕松部署和管理數(shù)據(jù)庫(kù)云。此外,一些創(chuàng)新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個(gè)數(shù)據(jù)庫(kù),而Automati

36、c Data Optimization和Heat Map能以更高的密度壓縮數(shù)據(jù)和對(duì)數(shù)據(jù)分層。這些獨(dú)一無(wú)二的技術(shù)進(jìn)步再加上在可用性、安全性和大數(shù)據(jù)支持方面的主要增強(qiáng),使得Oracle數(shù)據(jù)庫(kù)12c成為私有云和公有云部署的理想平臺(tái)。2.7 JDBCJDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫(xiě)的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用純 Java API 編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序,同

37、時(shí),JDBC也是個(gè)商標(biāo)名。 有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語(yǔ)句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問(wèn)Sybase數(shù)據(jù)庫(kù)專門寫(xiě)一個(gè)程序,為訪問(wèn)Oracle數(shù)據(jù)庫(kù)又專門寫(xiě)一個(gè)程序,或?yàn)樵L問(wèn)Informix數(shù)據(jù)庫(kù)又編寫(xiě)另一個(gè)程序等等,程序員只需用JDBC API寫(xiě)一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送SQL調(diào)用。同時(shí),將Java語(yǔ)言和JDBC結(jié)合起來(lái)使程序員不必為不同的平臺(tái)編寫(xiě)不同的應(yīng)用程序,只須寫(xiě)一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語(yǔ)言“編寫(xiě)一次,處處運(yùn)行”的優(yōu)勢(shì)。Java數(shù)據(jù)庫(kù)連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)方法。JDBC對(duì)Java程

38、序員而言是API,對(duì)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開(kāi)發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫(kù)廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡(jiǎn)單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。2.8 小結(jié)本章主要是介紹本系統(tǒng)設(shè)計(jì)及開(kāi)發(fā)所要涉及的相關(guān)技術(shù)。從程序員的角度簡(jiǎn)單概括性地介紹了相關(guān)知識(shí),如用到的開(kāi)發(fā)工具、開(kāi)發(fā)環(huán)境、系統(tǒng)需要的技術(shù)支持,系統(tǒng)運(yùn)行環(huán)境等,從而能從整體上對(duì)現(xiàn)系統(tǒng)的技術(shù)層次有一定的了解。本章作為此次設(shè)計(jì)的第二章,主要是考慮到有些知識(shí)事先

39、介紹能讓讀者對(duì)于系統(tǒng)的框架和內(nèi)容初步的認(rèn)識(shí),而且能夠更好的理清此次設(shè)計(jì)思路和開(kāi)發(fā)方案。3 需求分析3.1 可行性分析3.1.1 經(jīng)濟(jì)可行性由于本系統(tǒng)的主要背景是畢業(yè)課程設(shè)計(jì),不注重直接的經(jīng)濟(jì)效益和其后的發(fā)展方向,只在注重自身水平和能力的提高,對(duì)自身的經(jīng)濟(jì)要求也不高,只要有一臺(tái)能運(yùn)行Java軟件的電腦便可,相關(guān)資料參考文獻(xiàn)可從網(wǎng)上和圖書(shū)館查找,所以不用考慮到經(jīng)濟(jì)問(wèn)題。 3.1.2 技術(shù)可行性技術(shù)上的可行性分析主要分析技術(shù)條件能順利完成開(kāi)發(fā)工作,硬、軟件能滿足開(kāi)發(fā)者的需要等。系統(tǒng)的軟件開(kāi)發(fā)平臺(tái)已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來(lái)越快,容量越來(lái)越大,可靠性越來(lái)越高,價(jià)格越來(lái)越

40、低,其硬件平臺(tái)完全能滿足此系統(tǒng)的需要。本系統(tǒng)的開(kāi)發(fā)利用Oracle 11g作為本系統(tǒng)的數(shù)據(jù)庫(kù),它是一個(gè)支持多用戶的新型數(shù)據(jù)庫(kù),適用于大中規(guī)模的數(shù)據(jù)量需求。學(xué)校校園網(wǎng)的建設(shè)也為新系統(tǒng)服務(wù)器/客戶端的結(jié)構(gòu)提供了硬件的支持。使用Java作為系統(tǒng)開(kāi)發(fā)的開(kāi)發(fā)環(huán)境,它提供完善的指令控制語(yǔ)句、類與對(duì)象的支持及豐富的數(shù)據(jù)類型,給開(kāi)發(fā)高性能系統(tǒng)提供的保障為開(kāi)發(fā)滿足客戶要求的系統(tǒng),保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對(duì)新系統(tǒng)的擴(kuò)展與修改。 3.1.3 操作可行性本系統(tǒng)為一個(gè)小型的局域網(wǎng)聊天系統(tǒng),所耗費(fèi)的資源非常的小,現(xiàn)在一般的電腦無(wú)論是硬件還是軟件都能夠滿足條件,因此,本系統(tǒng)在運(yùn)行上是可行的

41、。 3.1.4 需求可行性分析可靠性高,能在由于系統(tǒng)問(wèn)題或其它原因產(chǎn)生錯(cuò)誤后,作出相對(duì)應(yīng)處理,比如網(wǎng)絡(luò)初始化失敗、服務(wù)器不在線等,可以提示用戶安全退出本程序,在出現(xiàn)不可知的錯(cuò)誤以后,可以盡量安全的退出程序。在程序的設(shè)計(jì)過(guò)程中,要求能盡可能多的設(shè)想到用戶使用過(guò)程中可能發(fā)生的事件,并能在判斷事件后做出相應(yīng)的處理,使程序具有較高的容錯(cuò)性能。 宜操作性,程序簡(jiǎn)單易懂,容易上手使用。設(shè)計(jì)界面是,簡(jiǎn)化界面的復(fù)雜性,模擬QQ等現(xiàn)有即時(shí)通訊工具的界面,使用戶能很容易看懂并使用。 開(kāi)發(fā)文檔易理解,保證以后自己二次開(kāi)發(fā)或他人接手開(kāi)發(fā)時(shí),能夠清晰的理解整個(gè)系統(tǒng)的設(shè)計(jì)思路和實(shí)現(xiàn)細(xì)節(jié)。 模塊化設(shè)計(jì)此軟件的功能,不同的模

42、塊實(shí)現(xiàn)不同的功能,使得軟件易于以后的維護(hù)與擴(kuò)展,在以后可以更好的完善本軟件的功能,更方便于在工作中的應(yīng)用。3.1.5 性能可行性從時(shí)間上看,在三個(gè)月的時(shí)間里學(xué)習(xí)相關(guān)知識(shí),并開(kāi)發(fā)系統(tǒng),時(shí)間上是有點(diǎn)緊,但是可以實(shí)現(xiàn),通過(guò)三個(gè)多月的努力功能基本上是可以實(shí)現(xiàn)的。 綜上所述,本系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)在技術(shù)上和軟、硬件設(shè)備上的條件都是滿足的,因此,它在技術(shù)上是可行的。3.2 系統(tǒng)功能需求本系統(tǒng)主要通過(guò)客戶端、服務(wù)器端來(lái)體現(xiàn)工作板系統(tǒng)的基本功能。 1、服務(wù)器端 (1) 處理用戶注冊(cè) (2) 處理用戶登錄 (3) 處理用戶發(fā)送信息,服務(wù)器監(jiān)控聊天內(nèi)容,服務(wù)器過(guò)濾非法內(nèi)容 (4) 處理用戶得到信息 (5) 處理用戶退

43、出 (6) 存用戶聊天信息。 2、客戶端 (1)用戶注冊(cè)界面及結(jié)果 (2)用戶登錄界面及結(jié)果 (3)用戶發(fā)送信息界面及結(jié)果 (4)用戶得到信息界面及結(jié)果 (5)用戶退出界面及結(jié)果 3.3 系統(tǒng)性能需求 1.實(shí)用性:為局域網(wǎng)交流提供方便,有效進(jìn)行作業(yè)管理??蓱?yīng)用于企業(yè)辦公室,以及校園電子閱覽室 2.操作簡(jiǎn)單:本系統(tǒng)應(yīng)該適用于不同水平的使用者,包括事業(yè)單位和企業(yè)單位,同時(shí)系統(tǒng)不應(yīng)太復(fù)雜和煩瑣,因此要求系統(tǒng)的操作盡可能簡(jiǎn)單易行。 3.技術(shù)先進(jìn):產(chǎn)品的系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)應(yīng)緊跟著整個(gè)計(jì)算機(jī)發(fā)展潮流,采用當(dāng)時(shí)最先進(jìn)的設(shè)計(jì)思想,利用最新的開(kāi)發(fā)技術(shù)和開(kāi)發(fā)工具。使系統(tǒng)能夠無(wú)論在功能設(shè)計(jì)上,還是在技術(shù)實(shí)現(xiàn)上,都處于同

44、行業(yè)的領(lǐng)先地位。 4.安裝使用簡(jiǎn)便:服務(wù)器端的安裝簡(jiǎn)潔明了,客戶機(jī)無(wú)需再裝任何軟件就可以直接注冊(cè)登陸聊天。 5.代碼可讀性好:文中的代碼將盡可能簡(jiǎn)潔、易懂。 3.4 系統(tǒng)運(yùn)行環(huán)境 運(yùn)行環(huán)境Windows 7必要環(huán)境JDK 1.6 以上 硬件環(huán)境CPU 400MHz以上,內(nèi)存64MB以上4 概要設(shè)計(jì)在這里我們將該工作板即基于局域網(wǎng)工作交流平臺(tái)系統(tǒng)命名為IMessaging,現(xiàn)在對(duì)該系統(tǒng)進(jìn)行概要設(shè)計(jì)。采用客戶機(jī)/服務(wù)器(C/S)的模式來(lái)設(shè)計(jì),是一個(gè)2層的C/S結(jié)構(gòu):應(yīng)用程序服務(wù)器應(yīng)用程序客戶端,其分層機(jī)構(gòu)如圖4-1所示。圖4-1 C/S結(jié)構(gòu)示意圖客戶層也叫做應(yīng)用表示層,也就是我們說(shuō)的客戶端,這是應(yīng)

45、用程序的用戶接口部分。給即時(shí)通訊工具設(shè)計(jì)一個(gè)客戶層具有很多優(yōu)點(diǎn),這是因?yàn)榭蛻魧訐?dān)負(fù)著用戶與應(yīng)用間的對(duì)話功能。它用于檢查用戶的輸入數(shù)據(jù),顯示應(yīng)用的輸出數(shù)據(jù)。為了使用戶能直接地進(jìn)行操作,客戶層需要使用圖形用戶接口。若通訊用戶變更,系統(tǒng)只需要改寫(xiě)顯示控制和數(shù)據(jù)檢查程序就可以了,而不會(huì)影響其他兩層。服務(wù)層又叫做功能層,相當(dāng)于應(yīng)用的本體,它是將具體的業(yè)務(wù)處理邏輯編入程序中。例如,用戶需要檢查數(shù)據(jù),系統(tǒng)設(shè)法將有關(guān)檢索要求的信息一次性地傳送給功能層;而用戶登錄后,聊天登錄信息是由功能層處理過(guò)的檢索結(jié)果數(shù)據(jù),它也是一次性傳送給表示層的。在應(yīng)用設(shè)計(jì)中,必須避免在表示層和功能層之間進(jìn)行多次的數(shù)據(jù)交換,這就需要盡可

46、能進(jìn)行一次性的業(yè)務(wù)處理,達(dá)到優(yōu)化整體設(shè)計(jì)的目的。軟件開(kāi)發(fā)過(guò)程中的概要設(shè)計(jì),主要解決實(shí)現(xiàn)該系統(tǒng)需求的程序模塊設(shè)計(jì)問(wèn)題。包括如何把該系統(tǒng)劃分成若干個(gè)模塊、決定各個(gè)模塊之間的接口、模塊之間傳遞的信息,以及模塊結(jié)構(gòu)的設(shè)計(jì)等。4.1 工作板即基于局域網(wǎng)工作交流平臺(tái)系統(tǒng)的實(shí)施原理4.1.1 工作方式和技術(shù)原理本系統(tǒng)的IM工作方式如下:登陸IMessaging通訊服務(wù)器,獲取一個(gè)自建立的歷史的交流對(duì)象列表(同事列表),然后自身標(biāo)志為在線狀態(tài),當(dāng)好友列表中的某人在任何時(shí)候登錄上線并試圖通過(guò)你的計(jì)算機(jī)聯(lián)系你時(shí),IM系統(tǒng)會(huì)發(fā)一個(gè)消息提醒你,然后你能與他建立一個(gè)聊天會(huì)話通道進(jìn)行各種消息如鍵入文字、通過(guò)語(yǔ)音等的交流,

47、從技術(shù)上來(lái)說(shuō),聊天系統(tǒng)的基本技術(shù)原理如下:第一步,用戶A輸入自己的用戶名和密碼登錄IM服務(wù)器,服務(wù)器通過(guò)讀取用戶數(shù)據(jù)庫(kù)來(lái)驗(yàn)證用戶身份,如果驗(yàn)證通過(guò),登記用戶A的IP地址、IM客戶端軟件的版本號(hào)及使用的TCP/UDP端口號(hào),然后返回用戶A登錄成功的標(biāo)志,此時(shí)用戶A在IM系統(tǒng)中的狀態(tài)為在線(Online Presence)。第二步,根據(jù)用戶A存儲(chǔ)在IM服務(wù)器上的好友列表(Buddy List),服務(wù)器將用戶A在線的相關(guān)信息發(fā)送給也同時(shí)在線的IM好友的PC機(jī),這些信息包括在線狀態(tài)、IP地址、IM客戶端使用的TCP端口(Port)號(hào)等,IM好友的客戶端收到此信息后將在予以提示。第三步是IM服務(wù)器把用戶

48、A存儲(chǔ)在服務(wù)器上的好友列表及相關(guān)信息回送到他的客戶端機(jī),這些信息包括也在線狀態(tài)、IP地址、IM客戶端使用的TCP端口(Port)號(hào)等信息,用戶A的IM客戶端收到后將顯示這些好友列表及其在線狀態(tài)。4.1.2 通訊方式在本系統(tǒng)中,如果用戶A想與他的在線好友用戶B聊天,他將直接通過(guò)服務(wù)器發(fā)送過(guò)來(lái)的用戶B的IP地址、TCP端口號(hào)等信息,直接向用戶B的PC機(jī)發(fā)出聊天信息,用戶B的IM客戶端軟件收到后顯示在屏幕上,然后用戶B再直接回復(fù)到用戶A的PC機(jī),這樣雙方的即時(shí)文字消息就不再IM服務(wù)器中轉(zhuǎn),而是直接通過(guò)網(wǎng)絡(luò)進(jìn)行點(diǎn)對(duì)點(diǎn)的通訊,即對(duì)等通訊方式(Peer To Peer)。4.2 軟件設(shè)計(jì)流程因?yàn)樵撓到y(tǒng)其需

49、求是十分明確的,所以該系統(tǒng)的開(kāi)發(fā)流程采用瀑布模型進(jìn)行設(shè)計(jì),分為幾大步驟:先進(jìn)行需求分析,再是系統(tǒng)設(shè)計(jì),然后是詳細(xì)設(shè)計(jì)與編碼,其次是軟件的測(cè)試,最后是軟件的運(yùn)行和維護(hù)。在實(shí)際過(guò)程中這些步驟經(jīng)常是重疊和彼此間有信息交換,它不是一個(gè)簡(jiǎn)單線性過(guò)程,而是包括開(kāi)發(fā)步驟的多個(gè)反復(fù)。如圖4-2所示。需求分析系統(tǒng)設(shè)計(jì)詳細(xì)設(shè)計(jì)與編碼軟件測(cè)試軟件運(yùn)行與維護(hù) 圖4-2 工作板即基于局域網(wǎng)工作交流平臺(tái)系統(tǒng)開(kāi)發(fā)流程圖4.3 系統(tǒng)功能模塊根據(jù)以上分析,本系統(tǒng)主要完成以下幾方面的功能,如圖4-3 客戶端工作板(工作交流平臺(tái))操作數(shù)據(jù)庫(kù)服務(wù)器端聊天添加好友查找好友用戶登錄用戶注冊(cè)監(jiān)聽(tīng)客戶建立連接交 互 圖4-3 系統(tǒng)功能模塊1

50、、服務(wù)器端在服務(wù)器端,主要的功能模塊是建立連接、操作數(shù)據(jù)庫(kù)和監(jiān)聽(tīng)客戶。2、客戶端在客戶端,系統(tǒng)主要實(shí)現(xiàn)的功能模塊有用戶注冊(cè)、用戶登錄、查找好友、添加好友、聊天和文件傳輸。4.4 客戶端實(shí)現(xiàn)流程圖客戶端的實(shí)現(xiàn)流程具體如下:用戶首先進(jìn)行注冊(cè),注冊(cè)成功后,將注冊(cè)信息保存到數(shù)據(jù)庫(kù)中。接下來(lái)用戶就可以登陸系統(tǒng),通過(guò)數(shù)據(jù)庫(kù)驗(yàn)證用戶名和密碼,若用戶名和密碼存在且正確,則登陸成功,反之,則重新注冊(cè)。登陸成功后,系統(tǒng)會(huì)自動(dòng)從數(shù)據(jù)庫(kù)中更新用戶的好友列表,雙擊好友頭像,打開(kāi)聊天窗口就可以同好友進(jìn)行交流。如圖4-4所示:登錄點(diǎn)擊登錄,連接到數(shù)據(jù)庫(kù)用戶名和密碼是否為空 是 是注冊(cè)是否成功否否否驗(yàn)證用戶名注冊(cè)用戶名是否存

51、在否開(kāi)始密碼是否正確是是我的好友列表雙擊我的好友聊天窗口結(jié)束圖4-4 客戶端實(shí)現(xiàn)流程圖4.5 類模塊設(shè)計(jì) 各類模塊設(shè)計(jì)概要:LoginFrame類:用戶登陸, 主程序入口類,啟動(dòng)各個(gè)主要線程ChatFrame類:用戶交流 RegFrame類:用戶注冊(cè) RecvThread類: 接收消息線程 SendFileThread類: 發(fā)送文件 FileRecvListenThread類:文件傳輸監(jiān)聽(tīng)線程FileReceiverThread類: 接受文件 由于該系統(tǒng)文件很多,更多請(qǐng)參照系統(tǒng)源文件 4.6 程序設(shè)計(jì)的重點(diǎn) 1、界面設(shè)計(jì) 界面統(tǒng)一,色彩大氣,通用,操作流程化,按鈕、字體中規(guī)中矩,快捷鍵一致。2

52、、功能設(shè)計(jì) 由于該系統(tǒng)牽涉到的功能很多,設(shè)計(jì)的時(shí)候應(yīng)該注意主次分明,應(yīng)該把每一個(gè)模塊設(shè)計(jì)好,各個(gè)模塊之間互不干擾。 4.7 接口設(shè)計(jì) 1外部接口 (1)用戶界面 本軟件的屏幕格式,按鈕格式,輸入輸出方式等都是完全按照人性化的設(shè)計(jì),方便用戶執(zhí)行各種操作。各個(gè)按鈕簡(jiǎn)單明了,互動(dòng)性強(qiáng),適用于各類人群。用戶通過(guò)主界面的按鈕進(jìn)行系統(tǒng)的控制,同時(shí)系統(tǒng)返回一個(gè)信息。 (2)硬件接口 本軟件產(chǎn)品的用戶需要通過(guò)鍵盤及鼠標(biāo)進(jìn)行操作,進(jìn)入主界面后點(diǎn)擊相應(yīng)的 按鈕,進(jìn)行規(guī)定的鍵盤操作,然后分別在主界面有相應(yīng)的動(dòng)作反應(yīng)。 (3)本軟件與操作平臺(tái)無(wú)關(guān),能適用于各種操作系統(tǒng)。 2內(nèi)部接口 內(nèi)部模塊之間的接口是通過(guò)內(nèi)部函數(shù)完

53、成,在程序設(shè)計(jì)中用設(shè)計(jì)軟件本身所帶的調(diào)用函數(shù)實(shí)現(xiàn)。5 詳細(xì)設(shè)計(jì)5.1 系統(tǒng)功能要求5.1.1 基于局域網(wǎng)工作交流平臺(tái)的要求此軟件是模擬現(xiàn)今國(guó)內(nèi)最為流行的即時(shí)性通訊工具QQ而設(shè)計(jì)的,能夠?qū)崿F(xiàn)注冊(cè)、登錄、添加好友、文字聊天、等功能。該軟件是采用C/S結(jié)構(gòu),即客戶端與服務(wù)器端的結(jié)構(gòu)體系?;趯?duì)該軟件功能的分析,本文分別對(duì)客戶端與服務(wù)器端進(jìn)行了設(shè)計(jì)。該軟件服務(wù)器端的功能是實(shí)現(xiàn)對(duì)客戶端提交的用戶信息進(jìn)行處理。服務(wù)器設(shè)計(jì)內(nèi)容包含:信息接收、注冊(cè)、登錄、添加好友等?!靶畔⒔邮铡笔翘峁┓?wù)器接受客戶端發(fā)送信息的功能;“注冊(cè)”是服務(wù)器端接受到用戶的注冊(cè)信息請(qǐng)求后,將請(qǐng)求信息寫(xiě)入到數(shù)據(jù)庫(kù),為用戶的注冊(cè)提了相關(guān)服務(wù)

54、;“登錄”是服務(wù)器通過(guò)驗(yàn)證登錄信息來(lái)實(shí)現(xiàn)相關(guān)的服務(wù); “好友添加”是服務(wù)器對(duì)添加的好友信息進(jìn)行處理等相關(guān)操作。客戶端即用戶使用的應(yīng)用程序端。用戶通過(guò)該軟件的客戶端來(lái)實(shí)現(xiàn)網(wǎng)上聊天的相關(guān)功能:注冊(cè)、登錄、添加好友、文字聊天、聊天等。注冊(cè)功能是提交用戶相關(guān)信息以及獲得一個(gè)屬于自己登錄該聊天軟件系統(tǒng)的用戶ID號(hào);登錄功能是實(shí)現(xiàn)驗(yàn)證用戶信息與合法使用該聊天軟件系統(tǒng)的權(quán)限;添加好友是實(shí)現(xiàn)用戶之間好友添加的操作;添加好友成功后,就可以與好友之間開(kāi)始文字聊天、文件傳輸、聊天等功能。 5.1.2 基于局域網(wǎng)工作交流平臺(tái)的管理子系統(tǒng)要求 對(duì)數(shù)據(jù)庫(kù)中的在線用戶信息進(jìn)行管理。 對(duì)數(shù)據(jù)庫(kù)中的非在線用戶信息進(jìn)行管理。 對(duì)

55、數(shù)據(jù)庫(kù)中的聊天信息進(jìn)行管理。5.2 系統(tǒng)性能要求系統(tǒng)的性能要求一般包括:計(jì)算和查詢響應(yīng)時(shí)間、處理容量、存儲(chǔ)容量、人機(jī)交互的友好性、系統(tǒng)的安全性、可靠性以及容錯(cuò)能力等,如果是網(wǎng)絡(luò)系統(tǒng)還應(yīng)包括系統(tǒng)傳輸交換能力。本系統(tǒng)非網(wǎng)絡(luò)系統(tǒng),所以符合系統(tǒng)的一般性能要求即可。系統(tǒng)的性能要求應(yīng)從以下幾個(gè)方面確定:(1)容量要求:確定系統(tǒng)的容量要求,如處理的記錄數(shù)和處理數(shù)據(jù)的最大容量等(2)精度要求:確定系統(tǒng)的精度要求,如數(shù)據(jù)或數(shù)值檢索的精度要求、數(shù)據(jù)傳輸?shù)木纫蟮取?3)時(shí)間特性要求:確定系統(tǒng)的時(shí)間特性要求。如處理時(shí)間、響應(yīng)時(shí)間及其峰值負(fù)載期間允許偏離范圍,系統(tǒng)各項(xiàng)功能的順序關(guān)系,由于輸入類型的不同和操作方式的變化引起的有限順序的變化。(4)適應(yīng)性要求:必須指明反映系統(tǒng)環(huán)境變化的系統(tǒng)適應(yīng)能力和系統(tǒng)適應(yīng)能力的各種參數(shù)。說(shuō)明當(dāng)需求發(fā)生變化時(shí)系統(tǒng)的適應(yīng)能力,指出為適應(yīng)這些

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論