畢業(yè)設(shè)計(jì)(論文)基于JAVA的ICQ系統(tǒng)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于JAVA的ICQ系統(tǒng)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于JAVA的ICQ系統(tǒng)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于JAVA的ICQ系統(tǒng)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于JAVA的ICQ系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(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ì)) 論文題目:論文題目: 基于 java 的 icq 系統(tǒng) 學(xué)生姓名: 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 計(jì)本 0404 班 學(xué) 號(hào): 指導(dǎo)教師: 完成日期: 20082008 年年 5 5 月月 2020 日日 基于 java 的 icq 系統(tǒng) 內(nèi) 容 摘 要 在網(wǎng)絡(luò)技術(shù)逐漸滲入社會(huì)生活各個(gè)層面的今天,傳統(tǒng)的通信方式也面臨著改革。借助于遍布 全球的 internet,世界各地的人們通過(guò)它可以方便的交流和更好的工作學(xué)習(xí)。采用網(wǎng)絡(luò)通信將是 未來(lái)通信發(fā)展的趨勢(shì)。因此我們開發(fā)了網(wǎng)絡(luò)通信工具 icq。 本軟件(icq 系統(tǒng))是用 eclipse3.2sql 2000 的組合來(lái)開發(fā)

2、,其目的是在網(wǎng)絡(luò)上實(shí)現(xiàn)信息 交流。通過(guò)對(duì)整個(gè)系統(tǒng)的分析后,將設(shè)計(jì)分為:開發(fā)計(jì)劃、需求分析、系統(tǒng)設(shè)計(jì)與分析、編碼、 測(cè)試、安裝幾個(gè)部分來(lái)完成,每個(gè)環(huán)節(jié)都有各自的意義與用途,其中系統(tǒng)設(shè)計(jì)與分析尤為重要。 界面設(shè)計(jì)也很通俗,只要對(duì) windows 操作系統(tǒng)熟悉的人都能很容易地使用本軟件。完成編碼通過(guò) 多次的軟件測(cè)試與確認(rèn)后,確定此系統(tǒng)的可用性和適用性。 關(guān)鍵詞: icq 網(wǎng)絡(luò) 信息交流 system of icq based on java abstract seep into today that society live each level gradually in the network t

3、echnique, the traditional correspondence method also faces the reformation.ask for help from to spread all over the global internet, people of the world-wide locations pass it can then the convenient exchanges studies with the better work.the adoption network correspondence will be a trend that futu

4、re correspond by letter the development. therefore we developped the network correspondence tool icq. this software( the system of icq) is a combination to use the eclipse3.2+ sql 2000 to develop, its purpose realizes on the network information exchanges.pass to the analysis of whole system behind,

5、will design to is divided into:development plan, need analysis, system design and analysis, code, test, install several the part comes to completes, each link has each from of meaning and use, among them system design and analysis particularly for importance.the interface design is too very popular,

6、 as long as can use this software very easily to the person that the operate system of windows is familiar with.completing the coding passes the many software the test and after confirming, make sure this system can use the sex with the applicability. keywords: icq network information exchanges 目 錄

7、序 言.1 一、緒論.2 (一)系統(tǒng)概述.2 1.icq 的構(gòu)成.2 2.icq 的主要指標(biāo)和分析.2 (二)系統(tǒng)的研究意義.3 (三)系統(tǒng)基本內(nèi)容及技術(shù)方案.3 1基本內(nèi)容.3 2主要功能.3 3技術(shù)方案.3 (四)開發(fā)環(huán)境.4 (五)論文各章節(jié)基本內(nèi)容.4 二、系統(tǒng)規(guī)劃 .5 (一)系統(tǒng)調(diào)查分析.5 (二)系統(tǒng)可行性分析.5 1.經(jīng)濟(jì)可行性分析.5 2.技術(shù)可行性分析.5 3.操作可行性分析.7 4.計(jì)劃可行性分析.7 (三)系統(tǒng)需求分析.7 三、 系統(tǒng)設(shè)計(jì) .8 (一)系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì).8 (二)數(shù)據(jù)模塊的流程圖.9 (三)業(yè)務(wù)流圖.9 (四)數(shù)據(jù)庫(kù)的設(shè)計(jì).11 1.數(shù)據(jù)庫(kù)的需要分析.1

8、1 2.數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì).13 3.數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì).14 (五)系統(tǒng)開發(fā)與環(huán)境確定.14 1.開發(fā)環(huán)境的確定.14 2.系統(tǒng)的運(yùn)行環(huán)境.15 3.系統(tǒng)實(shí)現(xiàn)的若干關(guān)鍵技術(shù).15 四、icq 的主要模塊.19 (一)服務(wù)器程序.19 (二)客戶程序.19 (三)數(shù)據(jù)庫(kù).20 (四)主要的功能實(shí)現(xiàn).20 五、用戶使用手冊(cè) .28 (一)系統(tǒng)功能及運(yùn)行環(huán)境簡(jiǎn)介.28 (二)系統(tǒng)運(yùn)行與操作指南.28 六、系統(tǒng)評(píng)價(jià) .29 (一)系統(tǒng)主要特色/優(yōu)點(diǎn)介紹.29 1.使用方便.29 2.功能齊全.29 3.技術(shù)先進(jìn).29 4.實(shí)用性好.29 5.可擴(kuò)展性好.29 (二)系統(tǒng)存在不足與改進(jìn)方案.29 (三

9、)畢業(yè)設(shè)計(jì)心得與收獲.30 七、結(jié) 論 .31 致 謝 .32 參考文獻(xiàn) .33 附 錄 .34 序 言 隨著世界互連網(wǎng)和電腦用戶持續(xù)增長(zhǎng)的今天,傳統(tǒng)的通信方式也面臨著改革。以前我們 與家人,朋友聯(lián)系時(shí)會(huì)寫信或者郵寄明信片等等,這樣速度慢而且也不太安全?,F(xiàn)在互聯(lián)網(wǎng) 技術(shù)逐漸滲入社會(huì)生活各個(gè)層面,網(wǎng)絡(luò)通信工具(icq)也應(yīng)運(yùn)而生。 icq 是一次革命,一個(gè)對(duì)用戶友好的因特網(wǎng)工具,它隨時(shí)通知您誰(shuí)在線并使您能夠按照 自己的意愿聯(lián)絡(luò)它們。 您將不用再徒勞地在網(wǎng)上查找朋友或伙伴。 icq 為您查找,并在他 們進(jìn)入系統(tǒng)的同一時(shí)間通知您。 每次您想和某個(gè)具體的人交流都要查尋索引簿的行為不再 必要了。有了 i

10、cq,您可以閑談、發(fā)送信息、文件和 url、玩游戲,或者在網(wǎng)上沖浪時(shí)與您 的網(wǎng)友共度時(shí)光。 因此,開發(fā)這樣一套 icq 系統(tǒng)成為很有必要的事情,在下面的各章中我們將詳細(xì)講解一 套基于 java 的 icq 系統(tǒng)的開發(fā)過(guò)程和所涉及到的問(wèn)題及解決方法。 一、緒論 java1-3是 sun microsystem 公司的 james gosling 開發(fā)的編程語(yǔ)言。它以 c+為基礎(chǔ), 但是卻是一個(gè)全新的軟件開發(fā)語(yǔ)言。java 是一個(gè)簡(jiǎn)單,面象對(duì)象,分布式,解釋性,強(qiáng)壯, 安全,與系統(tǒng)無(wú)關(guān),可移植,高性能,多線程和動(dòng)態(tài)的語(yǔ)言-這是 sun 給 java 的定義。 sun 公司的口號(hào)就是網(wǎng)絡(luò)就是計(jì)算機(jī),

11、java 能使所有東西從桌面計(jì)算平穩(wěn)的轉(zhuǎn)變?yōu)榛诰W(wǎng) 絡(luò)的計(jì)算,它是專門為此而建立的,并顯然是為了完成這個(gè)任務(wù)而來(lái)的。使用 java,我們 可以相對(duì)輕松的一天編寫一個(gè)有條理的網(wǎng)絡(luò)程序。今天,java 的網(wǎng)絡(luò)功能正在飛躍發(fā)展, 不斷有新的特性增加到這個(gè)有價(jià)值的基礎(chǔ)上,javasoft 實(shí)驗(yàn)室正在不斷努力使 java 更加完 善。 (一)系統(tǒng)概述 icq 是英文i seek you 的簡(jiǎn)稱,中文意思是我找你。icq 最大的功能就是即時(shí)信息交 流,只要記得對(duì)方的號(hào)碼,上網(wǎng)時(shí)可以呼他,無(wú)論他在哪里,只要他上網(wǎng)打開 icq,人們就 可以隨時(shí)交流。icq 源于以色列特拉維夫的 mirabils 公司。該公司

12、成立于 1996 年 7 月,也 就是在這個(gè)時(shí)候,互聯(lián)網(wǎng)上最出名,下載使用人數(shù)最多的免費(fèi)軟件 icq 誕生了??赡苁瞧洳?斷增加的用戶和廣闊的前景以及廣泛的應(yīng)用前景和巨大的市場(chǎng)潛力,mirabils 的 icq 最終 被美國(guó)在線 aol 收購(gòu)。由于 icq 的成功,推動(dòng)了 icq 的本土化,就中文的 icq 而言,現(xiàn)在已 經(jīng)越來(lái)越多,比如著名的深圳騰迅公司推出的 oicq(現(xiàn)在由于版權(quán)問(wèn)題,已改名為 qq2001), 還有由 tom.com 推出的 tomq 等,這些軟件技術(shù)都很好,而且簡(jiǎn)單易用,成為中國(guó)網(wǎng)民最喜 歡的通信軟件。 1icq 的構(gòu)成 icq 由服務(wù)器程序、客戶程序等部分組成。 (

13、1)服務(wù)器程序 服務(wù)器與客戶間通過(guò)套接口 socket(tcp)連接。 (2)客戶程序 客戶通過(guò) socket(inetaddress,port)6建立與服務(wù)器的連接。 2icq 的主要指標(biāo)和分析 icq 的主要指標(biāo)有響應(yīng)時(shí)間、精確度、安全性等。這些指標(biāo)決定了 icq 的技術(shù)指標(biāo)。 icq 的技術(shù)指標(biāo)決定了 icq 的開發(fā)是否成功。一個(gè)成功的 icq 應(yīng)該具有較快的響應(yīng)時(shí)間、較 高的安全性和較高的精確度等。 (1)響應(yīng)時(shí)間:一方發(fā)送一條信息,另一方收到該信息的時(shí)間差 (2)精確度:一次搜索結(jié)果中符合用戶要求的數(shù)目與該次搜索結(jié)果總數(shù)之比 (3)安全性:通話信息是否易被泄露 (二)系統(tǒng)的研究意義

14、千百年來(lái),書信是人們相互聯(lián)系、溝通信息和聯(lián)絡(luò)感情最主要的方式。歷代文人墨客曾 用錦書、尺素、羽書、飛鴻等許多充滿詩(shī)意的詞語(yǔ)來(lái)描述書信。書信也是保存歷史、喚起記 憶的一個(gè)重要方式。以往留存下來(lái)的許多信件,現(xiàn)在都已成為珍貴的歷史文物和研究資料。 進(jìn)入 20 世紀(jì) 90 年代,隨著固定電話、移動(dòng)電話、傳呼以及互聯(lián)網(wǎng)等更為先進(jìn)快捷的通 訊工具的廣泛使用,信件開始逐漸失去往日的輝煌。 溝通方式的多樣化得益于信息業(yè)在近 10 年來(lái)的迅速發(fā)展。目前,信息產(chǎn)業(yè)已經(jīng)成為國(guó) 民經(jīng)濟(jì)的一個(gè)支柱產(chǎn)業(yè)。此外,通信方式的日益現(xiàn)代化從側(cè)面也反映出中國(guó)人生活節(jié)奏前所 未有地加快,工作效率開始得到提高。 在網(wǎng)絡(luò)技術(shù)逐漸滲入社會(huì)

15、生活各個(gè)層面的今天,傳統(tǒng)的通信方式也面臨著改革,因此我 們開發(fā)了網(wǎng)絡(luò)通信工具 icq。icq 最大的功能就是即時(shí)信息交流,只要記得對(duì)方的號(hào)碼,上 網(wǎng)時(shí)可以呼他,無(wú)論他在哪里,只要他上網(wǎng)打開 icq,人們就可以隨時(shí)交流。借助于遍布全 球的 internet,世界各地的人們通過(guò)它可以方便的交流和更好的工作學(xué)習(xí)。采用網(wǎng)絡(luò)通信將 是未來(lái)通信發(fā)展的趨勢(shì)。 (三)系統(tǒng)基本內(nèi)容及技術(shù)方案 1基本內(nèi)容 本系統(tǒng)是基于 java 的 icq 系統(tǒng),主要是能夠?qū)崿F(xiàn)用戶聊天,用戶注冊(cè),添加好友,刪 除好友,發(fā)送和接受信息等等基本功能 程序設(shè)計(jì)的基本要求是做到界面大方、友好,操作靈活、簡(jiǎn)單,功能強(qiáng)大,內(nèi)容詳實(shí), 運(yùn)行速

16、度快,安全性高,穩(wěn)定性好。 2主要功能 本次畢業(yè)設(shè)計(jì)主要完成如下功能: (1)用戶注冊(cè) (2)用戶登錄 (3)添加好友 (4)刪除好友 (5)發(fā)送接受消息 3技術(shù)方案 開發(fā)一套系統(tǒng)早就不是一件新鮮的事了,現(xiàn)在有各種系統(tǒng),有用 java 開發(fā)的,有用 vb 的,還有 php 開發(fā)的,本系統(tǒng)決定采用 java 技術(shù),并結(jié)合 eclipse 和 sql server 數(shù)據(jù)庫(kù)進(jìn) 行開發(fā)。 (四)開發(fā)環(huán)境 本系統(tǒng)采用 windows xp professional + eclipse3.2 +jdk1.5+ sql server2000 為設(shè) 計(jì)環(huán)境進(jìn)行開發(fā). 操作系統(tǒng)是 windows xp prof

17、essional,開發(fā)技術(shù)是 java,編程工具是 eclipse3.2,數(shù) 據(jù)庫(kù)是 sql server2000。 (五)論文各章節(jié)基本內(nèi)容 最開始是系統(tǒng)的序言,主要是說(shuō)明本系統(tǒng)的意義、目的、主要研究?jī)?nèi)容 第一章是緒論,在本章內(nèi)對(duì)主要是闡述本系統(tǒng)的研究意義,基本內(nèi)容,技術(shù)方案,開發(fā) 環(huán)境等等。 第二章是系統(tǒng)規(guī)劃。主要是對(duì)系統(tǒng)的調(diào)查分析,從經(jīng)濟(jì),技術(shù),操作,計(jì)劃方面來(lái)說(shuō)明 本系統(tǒng)的可行性。 第三章是系統(tǒng)設(shè)計(jì)。主要內(nèi)容是系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)表等等,本章還包括數(shù)據(jù)模 型的設(shè)計(jì)以及系統(tǒng)的開發(fā)和具體運(yùn)行環(huán)境的確定。 第四章是 icq 的主要模塊。本章詳細(xì)介紹了本系統(tǒng)所包含的三個(gè)模塊,服務(wù)器程序模塊

18、, 客戶程序模塊和數(shù)據(jù)庫(kù)模塊,介紹模塊的時(shí)候同時(shí)配有圖片和文字說(shuō)明。 第五章是用戶使用手冊(cè)。主要內(nèi)容有系統(tǒng)功能簡(jiǎn)介、運(yùn)行環(huán)境簡(jiǎn)介,操作指南是對(duì)用戶 如何使用本系統(tǒng)進(jìn)行了詳細(xì)的指導(dǎo)。 第六章是系統(tǒng)評(píng)介。主要內(nèi)容是對(duì)本系統(tǒng)的特色和優(yōu)點(diǎn)進(jìn)行相關(guān)的介紹,同還還分析了 本系統(tǒng)存在的不足和進(jìn)一步的改進(jìn)方案,最后還對(duì)本次設(shè)計(jì)工作進(jìn)行了一次總結(jié)。 論文的最后是結(jié)論,致謝以及參考資料等。 二、系統(tǒng)規(guī)劃 (一一)系統(tǒng)調(diào)查分析 在系統(tǒng)的開發(fā)前期對(duì)系統(tǒng)進(jìn)行可行性分析是十分必要的一個(gè)環(huán)節(jié),這對(duì)于保證資源的合 理使用,避免浪費(fèi)是十分必要的,也是項(xiàng)目一旦開始以后能順利進(jìn)行的必要保證。信息系統(tǒng) 的建設(shè)是一項(xiàng)投資大,時(shí)間長(zhǎng)的復(fù)

19、雜工程,可行性研究更為必要,也更復(fù)雜,更困難。 “可 行性”是指在當(dāng)前情況下,研制這個(gè)信息系統(tǒng)是否有必要,是否具備必要的條件??尚行缘?含義不僅包括可能性,還包括必要性和合理性。 要問(wèn)到網(wǎng)絡(luò)時(shí)代發(fā)展最快的領(lǐng)域,無(wú)疑的,答案是通訊。通訊工具的實(shí)時(shí)交互、資費(fèi)低 廉等優(yōu)點(diǎn)深受用戶的喜愛,已經(jīng)成為網(wǎng)絡(luò)生活中不可或缺的一部分,比如大家都很熟悉的騰 訊 qq,msn 等。網(wǎng)民們通過(guò)即時(shí)通信進(jìn)行溝通交流、結(jié)識(shí)新朋友、娛樂(lè)消遣時(shí)間、實(shí)現(xiàn)異地 文字、語(yǔ)音、視頻的實(shí)時(shí)互通交流。同時(shí),人們也認(rèn)識(shí)到通訊工具能夠帶來(lái)極高的生產(chǎn)力, 諸多企事業(yè)單位借助它的使用,來(lái)提高業(yè)務(wù)協(xié)同性及反饋的敏感度和快捷度。作為使用頻率 最高的

20、網(wǎng)絡(luò)軟件,通訊軟件已經(jīng)突破了作為技術(shù)工具的極限,被認(rèn)為是現(xiàn)代交流方式的象征。 在開發(fā)的前期進(jìn)行各項(xiàng)調(diào)查的目的是明確系統(tǒng)的開發(fā)目標(biāo),是為了開發(fā)出一套適合大多 數(shù)人能夠使用的軟件。經(jīng)過(guò)調(diào)查以后發(fā)現(xiàn)它具有以下特點(diǎn): (1)通過(guò)注冊(cè)可以得到唯一的 jicq 號(hào)碼。 (2)登錄成功時(shí),顯示你所有的好友;如果好友在線時(shí),顯示在線。 (3)強(qiáng)大的新人搜索功能 ,可以查看他們的資料,并可以加為好友;如果知道對(duì)方的 jicq 號(hào)碼可以直接加為好友。 (4)當(dāng)你上線或離開時(shí) icq 會(huì)提醒你的朋友們。 (二)系統(tǒng)可行性分析 1.經(jīng)濟(jì)可行性分析 開發(fā)一個(gè)全新的軟件是一項(xiàng)艱巨復(fù)雜的工作,它的投資主要是人力以及物力的投

21、資。對(duì) 于本系統(tǒng)來(lái)說(shuō),研究和開發(fā)本系統(tǒng)的主要目的是對(duì)我們所學(xué)知識(shí)一個(gè)綜合性的考察,主要的 投資也就是在硬件配置和軟件平臺(tái)上,因此新系統(tǒng)的實(shí)施不需要什么大的資金投入。 網(wǎng)絡(luò)通信軟件 icq 的開發(fā),使得我們可以更方便的與親朋好友交流,這必將提高我們學(xué) 習(xí)和工作的效率,讓我們?cè)诠ぷ骱蛯W(xué)習(xí)中有更出色的表現(xiàn),因此在經(jīng)濟(jì)方面該系統(tǒng)可以進(jìn)行開 發(fā)。 2.技術(shù)可行性分析 (1)java sun 公司的口號(hào)就是網(wǎng)絡(luò)就是計(jì)算機(jī),java4能使所有東西從桌面計(jì)算平穩(wěn)的轉(zhuǎn)變?yōu)?基于網(wǎng)絡(luò)的計(jì)算,它是專門為此而建立的,并顯然是為了完成這個(gè)任務(wù)而來(lái)的。使用 java,我們可以相對(duì)輕松的一天編寫一個(gè)有條理的網(wǎng)絡(luò)程序。今天,

22、java 的網(wǎng)絡(luò)功能正在 飛躍發(fā)展,不斷有新的特性增加到這個(gè)有價(jià)值的基礎(chǔ)上,javasoft 實(shí)驗(yàn)室正在不斷努力使 java 更加完善。 (2)eclipse3.2 eclipse是一個(gè)開放源代碼的,基于java的整合型可擴(kuò)展開發(fā)平臺(tái)。eclipse 最初是替代由ibm公司開發(fā)的價(jià)值4千萬(wàn)美金的商業(yè)軟件visual age for java的下一代ide開 發(fā)環(huán)境。2001年11月交給非營(yíng)利軟件供應(yīng)商聯(lián)盟eclipse基金會(huì)(eclipse foudation)管理。 2003年,eclipse3.0選擇osgi服務(wù)平臺(tái)規(guī)范為運(yùn)行時(shí)架構(gòu)。 eclipse采用的技術(shù)是ibm公司開發(fā)的(swt),

23、這是一種基于java的窗口組件,類似于 java本身提供的awt和swing窗口組件;不過(guò)ibm聲稱swt比其他java窗口組件更有效率。就其 本身而言,它只是一個(gè)框架和一組服務(wù),用于插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括java開發(fā)工具(java development toolsm,jdt) 。 雖然大多數(shù)用戶和樂(lè)于將eclipse當(dāng)作javaide來(lái)使用,但eclipse的目標(biāo)不僅限于此。 eclipse還包括插件開發(fā)環(huán)境(plug-in development environment,pde) ,這個(gè)組件主要針 對(duì)希望擴(kuò)展eclipse的軟件開發(fā)人

24、員,因?yàn)樗试S他們構(gòu)建與eclipse環(huán)境無(wú)縫集成的工具。 由于eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人 員都具有同等的發(fā)揮場(chǎng)所。 本系統(tǒng)采用的是eclipse3.2中文版。 (3)sql2000 完全支持 web.通過(guò) web 可以查詢、分析和處理數(shù)據(jù)。在 sql server 20008-9 中使 用可擴(kuò)展標(biāo)記語(yǔ)言 (xml) 可以在松散耦合系統(tǒng)之間交換數(shù)據(jù)。從瀏覽器通過(guò)防火墻可方便 而安全地訪問(wèn)數(shù)據(jù),并可對(duì)有格式文檔執(zhí)行快速全文檢索。分析和鏈接聯(lián)機(jī)分析處理 (olap) 多維數(shù)據(jù)集,即使在 web 上也是如此。執(zhí)行點(diǎn)擊流分析,以了解 web 用戶

25、的情況。 高度可擴(kuò)展性和可靠性.使用增強(qiáng)的可擴(kuò)展性和可靠性功能,可無(wú)限制地?cái)U(kuò)容。分散 數(shù)據(jù)庫(kù)工作負(fù)荷以獲得應(yīng)用程序的擴(kuò)展。充分利用對(duì)稱多處理 (smp) 硬件,并與 microsoft windows 2000 datacenter 一起使用。服務(wù)器操作系統(tǒng)最多可支持 32 個(gè) cpu 和 64 gb 的 ram。 對(duì)市場(chǎng)的快速反應(yīng)能力.快速構(gòu)建、部署和管理電子商務(wù)、各種業(yè)務(wù)和數(shù)據(jù)倉(cāng)庫(kù)解決 方案。對(duì)用戶數(shù)據(jù)和財(cái)務(wù)數(shù)據(jù)進(jìn)行深入的數(shù)據(jù)挖掘。使用集成的 t-sql 調(diào)試程序可縮短開 發(fā)時(shí)間,并可開發(fā)在不同應(yīng)用程序中可重復(fù)使用的自己的功能。sql server 2000 提供了 web 應(yīng)用程序開發(fā)的

26、捷徑。 而且,在最后發(fā)布之前.sql server 2000 發(fā)布了面向世界的標(biāo)準(zhǔn)測(cè)試程序,使其競(jìng)爭(zhēng) 對(duì)手在多平臺(tái)方面的表現(xiàn)大為遜色。 3.操作可行性分析 一個(gè)好的界面設(shè)計(jì)往往會(huì)給人很舒服的感覺(jué),像我們熟悉的騰訊 qq,該軟件設(shè)計(jì)的簡(jiǎn)潔 大方,上面小企鵝更是經(jīng)典之作,所以我在設(shè)計(jì)的時(shí)候參考了騰訊 qq 的界面,爭(zhēng)取作到實(shí)用性 和簡(jiǎn)潔性并重。我設(shè)計(jì)的這個(gè)網(wǎng)絡(luò)通信軟件界面簡(jiǎn)潔,給人的第一感覺(jué)就很清爽,而且具體 的操作實(shí)施也很人性化,使用簡(jiǎn)單方便,能大大提高用戶工作效率,為其節(jié)約不少不必要的 開支。因此,該系統(tǒng)的開發(fā)具有操作可行性。 4.計(jì)劃可行性分析 本次系統(tǒng)的開發(fā)預(yù)備在 1 月之內(nèi)完成全部的工作

27、。由于系統(tǒng)所用語(yǔ)言及開發(fā)工具我之前 接觸過(guò),所以對(duì)與我來(lái)說(shuō)難度并不是很大,如果碰到技術(shù)上的難題,可以上網(wǎng)查找或者求助 于指導(dǎo)老師,盡最大努力做出讓自己和老師都滿意的系統(tǒng)。 (三)系統(tǒng)需求分析 進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)5首先必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理) 。需求分析是 整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難,最耗費(fèi)時(shí)間的一步。作為地基的需求分析是否做得充分與 準(zhǔn)確,決定了在其上構(gòu)建數(shù)據(jù)庫(kù)大廈的速度與質(zhì)量。需求做得不好,是指會(huì)導(dǎo)致整個(gè)數(shù)據(jù)庫(kù) 設(shè)計(jì)返工重做。 確定對(duì)所開發(fā)系統(tǒng)的綜合要求,并提出這些需求的實(shí)現(xiàn)條件,以及需求應(yīng)該達(dá)到的標(biāo)準(zhǔn)。 這些需求包括:功能需求,性能需求,環(huán)境需求,可靠性需求,安全保密需求

28、,用戶界面需求, 資源使用需求,軟件成本消耗與開發(fā)進(jìn)度需求,預(yù)先估計(jì)以后系統(tǒng)可能達(dá)到的目標(biāo)。 通過(guò)分析我們得出:本系統(tǒng)主要包括用戶注冊(cè),用戶登錄, 用戶添加好友, 用戶刪除好 友,用戶發(fā)送和接收消息等。用戶的基本情況記錄在 sql server 2000 數(shù)據(jù)庫(kù)里,方便用戶 的登錄和查詢。用戶注冊(cè):當(dāng)服務(wù)器收到用戶的注冊(cè)請(qǐng)求,便開始接受客戶傳遞的信息,諸 如客戶的呢稱啦,性別,籍貫,頭像,個(gè)人資料等;用戶登錄:在客戶端,用戶輸入其 jicq 號(hào)碼和密碼,然后建立與服務(wù)器的連接;用戶添加好友:客戶登錄后,按查找按鈕后, 開始向服務(wù)器發(fā)出查找請(qǐng)求;用戶刪除好友:用戶在其好友列表中選擇要?jiǎng)h除的好友并

29、按刪 除;發(fā)送和接收消息:用戶通過(guò)在好友列表里的好友的 ip 地址,通過(guò) udp 與其他用戶進(jìn)行信 息交流。 3、系統(tǒng)設(shè)計(jì) (一)系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)由三個(gè)子模塊組成: 數(shù)據(jù)庫(kù)設(shè)計(jì)、服務(wù)器程序、客戶程序. 要求該系統(tǒng)能夠?qū)崿F(xiàn) icq 的實(shí)時(shí)聊天. 完成系統(tǒng)的 icq 功能,包括各種界面的編寫;服務(wù)器和數(shù)據(jù)庫(kù)的連接,客 戶機(jī)與服務(wù)器的 tcp 連接,客戶機(jī)之間的 udp 連接;服務(wù)器通過(guò) jdbc 和后臺(tái)數(shù)據(jù)庫(kù)連接等。 jdbc-odbc socket(tcp) socket(tcp) socket(tcp). . udp udp udp . 圖 3l 整個(gè)系統(tǒng)的結(jié)構(gòu)框架采用客戶/服務(wù)器摸式

30、 后臺(tái)數(shù)據(jù)庫(kù) sql server2000 服務(wù)器 客戶客戶 客戶 (二)數(shù)據(jù)模塊的流程圖 登陸請(qǐng)求數(shù)據(jù) 回現(xiàn)信息 通過(guò)驗(yàn)證 發(fā)信息 圖 3-2 數(shù)據(jù)模塊的流程圖 (三)業(yè)務(wù)流圖 服務(wù)器 客戶 建立連接 發(fā)出注冊(cè)請(qǐng)求 發(fā)送昵稱性別 個(gè)人資料等 執(zhí)行數(shù)據(jù)庫(kù)添加 返回用戶的號(hào)碼, 并在數(shù)據(jù)庫(kù)注冊(cè)用 得到 jicq 號(hào)碼 戶的 ip 地址等消息 信息處理 用戶登陸 收 消 息 收 消 息 息 其他用戶 用戶收發(fā)信息 后臺(tái)數(shù) 據(jù)庫(kù) serversocket socket accept out new in new out information in information 數(shù)據(jù)庫(kù) 發(fā)送完畢 停止接受

31、 jicqno 結(jié)束 out jicqno 打開主程序并創(chuàng)建 udp 結(jié)束 圖 3-3 業(yè)務(wù)流圖 (四)數(shù)據(jù)庫(kù)的設(shè)計(jì) 1.數(shù)據(jù)庫(kù)的需要分析 數(shù)據(jù)字典15也常稱為數(shù)據(jù)目錄或系統(tǒng)目錄,它通常是一系列表,它存儲(chǔ)著數(shù)據(jù)庫(kù)中有 關(guān)信息的當(dāng)前描述,包括數(shù)據(jù)庫(kù)三級(jí)模式、數(shù)據(jù)類型、用戶名表、用戶權(quán)限、程序與其用戶 聯(lián)系等有關(guān)數(shù)據(jù)庫(kù)系統(tǒng)的信息,起著系統(tǒng)狀態(tài)目錄表的作用,它能幫助用戶、數(shù)據(jù)庫(kù)管理員 和數(shù)據(jù)庫(kù)管理系統(tǒng)本身使用和管理數(shù)據(jù)庫(kù)。 通過(guò)數(shù)據(jù)庫(kù)的需求分些后,設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng): 數(shù)據(jù)項(xiàng)的編號(hào):a01-01 數(shù)據(jù)項(xiàng)的名稱:icqno 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶的號(hào)碼 數(shù)據(jù)項(xiàng)的類型:int 數(shù)據(jù)項(xiàng)的

32、長(zhǎng)度:20 個(gè)字節(jié) 數(shù)據(jù)項(xiàng)的編號(hào):a01-02 數(shù)據(jù)項(xiàng)的名稱:nickname 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶的呢稱 數(shù)據(jù)項(xiàng)的類型:char 數(shù)據(jù)項(xiàng)的長(zhǎng)度:20 個(gè)字節(jié) 數(shù)據(jù)項(xiàng)的編號(hào):a01-03 數(shù)據(jù)項(xiàng)的名稱:password 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶的密碼 數(shù)據(jù)項(xiàng)的類型:char 數(shù)據(jù)項(xiàng)的長(zhǎng)度:20 個(gè)字節(jié) 數(shù)據(jù)項(xiàng)的編號(hào):a01-04 數(shù)據(jù)項(xiàng)的名稱:status 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶在線否 數(shù)據(jù)項(xiàng)的類型:bit 數(shù)據(jù)項(xiàng)的長(zhǎng)度:4 字節(jié) 數(shù)據(jù)項(xiàng)的編號(hào):a01-05 數(shù)據(jù)項(xiàng)的名稱:ip 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶的 ip 地址 數(shù)據(jù)項(xiàng)的類型:char

33、 數(shù)據(jù)項(xiàng)的長(zhǎng)度:20 個(gè)字節(jié) 數(shù)據(jù)項(xiàng)的編號(hào):a01-06 數(shù)據(jù)項(xiàng)的名稱:info 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶的資料 數(shù)據(jù)項(xiàng)的類型:varchar 數(shù)據(jù)項(xiàng)的長(zhǎng)度:100 個(gè)字節(jié) 數(shù)據(jù)項(xiàng)的編號(hào):a01-07 數(shù)據(jù)項(xiàng)的名稱:pic 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶的頭像號(hào) 數(shù)據(jù)項(xiàng)的類型:int 數(shù)據(jù)項(xiàng)的長(zhǎng)度:20 個(gè)字節(jié) 數(shù)據(jù)項(xiàng)的編號(hào):a01-08 數(shù)據(jù)項(xiàng)的名稱:sex 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶性別 數(shù)據(jù)項(xiàng)的類型:char 數(shù)據(jù)項(xiàng)的長(zhǎng)度:4 個(gè)字節(jié) 數(shù)據(jù)項(xiàng)的編號(hào):a01-09 數(shù)據(jù)項(xiàng)的名稱:email 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶的 email 數(shù)據(jù)項(xiàng)的類型:cha

34、r 數(shù)據(jù)項(xiàng)的長(zhǎng)度:40 個(gè)字節(jié) 數(shù)據(jù)項(xiàng)的編號(hào):a01-10 數(shù)據(jù)項(xiàng)的名稱:place 數(shù)據(jù)項(xiàng)的別名:無(wú) 數(shù)據(jù)項(xiàng)的簡(jiǎn)述:用戶的籍貫 數(shù)據(jù)項(xiàng)的類型:char 數(shù)據(jù)項(xiàng)的長(zhǎng)度:40 個(gè)字節(jié) 數(shù)據(jù)結(jié)構(gòu)的編號(hào):b01-01 數(shù)據(jù)結(jié)構(gòu)的名稱:icqno 數(shù)據(jù)結(jié)構(gòu)的簡(jiǎn)述:用戶的號(hào)碼 數(shù)據(jù)項(xiàng)的類型:int 數(shù)據(jù)項(xiàng)的長(zhǎng)度:20 個(gè)字節(jié) 數(shù)據(jù)結(jié)構(gòu)的編號(hào):b01-02 數(shù)據(jù)結(jié)構(gòu)的名稱:friend 數(shù)據(jù)結(jié)構(gòu)的簡(jiǎn)述:好友的號(hào)碼 數(shù)據(jù)項(xiàng)的類型:int 數(shù)據(jù)項(xiàng)的長(zhǎng)度:20 個(gè)字節(jié) 2.數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) 根據(jù)上述的數(shù)據(jù)項(xiàng),我們?cè)O(shè)計(jì)出各種實(shí)體,以及它們之間的關(guān)系,這些實(shí)體包含各種具 體信息,通過(guò)相互之間的作用形成數(shù)據(jù)的流動(dòng)。

35、實(shí)體之間的關(guān)系圖描述如下: 圖 3-4 e-r 圖 用戶 朋友 朋友 好友的號(hào)碼 昵稱 性別 email 籍貫 用戶信息 3.數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) 邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本e-r圖轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫(kù)中 的各種表。各個(gè)表格的設(shè)計(jì)結(jié)果如下: 表3l 用戶的基本信息表(表名icq) 其中 icqno 字段為自動(dòng)增加。 (其他還可以添加諸如電話號(hào)碼等字段作為更多選擇) 表 32 用戶的好友表(表名 friend) 序號(hào)字段名含義數(shù)據(jù)類型是否為空 1icqno 用戶的號(hào)碼 intno 2friend 好友的號(hào)碼 intno (五)系統(tǒng)開發(fā)與環(huán)境確定 1. .開發(fā)環(huán)境的確定 本系統(tǒng)

36、采用 windows xp professional + eclipse3.2 +jdk1.5+ sql server2000 為設(shè) 計(jì)環(huán)境進(jìn)行開發(fā). windows xp 其實(shí)是 windows nt 的最新版本,其實(shí) windows 操作系統(tǒng)按照內(nèi)核劃分為 win 9x 系列和 win nt 系列,我們常用的 windows xp 就屬于 win nt 系列。一般說(shuō)來(lái), windows 95 和 windows nt 已經(jīng)被淘汰,現(xiàn)在主要是用的是 windows xp、2000、2003。微軟 最初發(fā)行了兩個(gè)版本:專業(yè)版(windows xp professional)和家庭版(windo

37、ws xp home edition) 。前者主要面向?qū)I(yè)用戶,后者面向家庭。本系統(tǒng)采用的 windows xp professional。windows xp 是專為各種桌面計(jì)算機(jī)和便攜機(jī)開發(fā)的新一代操作系統(tǒng)。它繼 承了 windows nt 的先進(jìn)技術(shù),提供了高層次的安全性、穩(wěn)定性和系統(tǒng)性能。同時(shí),它幫助 序號(hào)字段名含義數(shù)據(jù)類型是否為空 1icqno 用戶的號(hào)碼 intno 2nickname 用戶的呢稱 charno 3password 用戶的密碼 charno 4status 用戶在線否 bitno 5ip 用戶的 ip 地址 charyes 6info 用戶的資料 varcharye

38、s 7pic 用戶的頭像號(hào) intyes 8sex 用戶性別 charyes 9email 用戶的 email charyes 10place 用戶的籍貫 charyes 用戶更加容易地使用計(jì)算機(jī)、安裝和配置系統(tǒng)、脫機(jī)工作和使用 internet 等。對(duì)于電腦和 網(wǎng)絡(luò)系統(tǒng)的管理員而言,windows xp 是一套更具有可管理性的桌面系統(tǒng),無(wú)論是部署、管 理還是為它提供技術(shù)支持都更加容易這意味著更低的總體擁有成本。 jdk 是個(gè)開發(fā)環(huán)境,剛開始接觸 java 的時(shí)候覺(jué)得 java 虛擬機(jī)很麻煩,不明白 jre 和 jdk 的區(qū)別,現(xiàn)在明白了 jdk 是運(yùn)行環(huán)境,jre 是開發(fā)環(huán)境。因此寫 jav

39、a 程序的時(shí)候需要 jdk,而運(yùn)行 java 程序的時(shí)候需要 jre。而 jdk 里面已經(jīng)包含了 jre,因此對(duì) java_home 設(shè) 置為 jdk 的路徑時(shí)也可以正常運(yùn)行 java 程序。 eclipse3.2 速度快,效率高。組件功能更強(qiáng)大,并帶有非常強(qiáng)大圖形編輯功能,支持 可視化的 applet,swing,awt 等圖形組件的開發(fā)。支持 ejb3.o,支持 uml2.0,并帶有 uml2.0 模型編輯器。不像 3.0 一定需要 jdk5.0 的 jre,它只需要 jdk1.4.1 以上就可以了。 eclipse 是一款免費(fèi)的 ide,它支持 java 和 c/c+開發(fā),非常方便與便捷

40、,有強(qiáng)大而靈活擴(kuò) 展的插件功能,目前 borland 也加入該社團(tuán)的開發(fā),因此我們相信 eclipse 將成為 ide 的佼 佼者。 完全支持 web.通過(guò) web 可以查詢、分析和處理數(shù)據(jù)。在 sql server 2000 中使用 可擴(kuò)展標(biāo)記語(yǔ)言 (xml) 可以在松散耦合系統(tǒng)之間交換數(shù)據(jù)。從瀏覽器通過(guò)防火墻可方便而 安全地訪問(wèn)數(shù)據(jù),并可對(duì)有格式文檔執(zhí)行快速全文檢索。分析和鏈接聯(lián)機(jī)分析處理 (olap) 多維數(shù)據(jù)集,即使在 web 上也是如此。執(zhí)行點(diǎn)擊流分析,以了解 web 用戶的情況。 2. .系統(tǒng)的運(yùn)行環(huán)境 硬件環(huán)境: 服務(wù)器端:cpu 為 p3 800m,內(nèi)存為 128m,硬盤為 2

41、0g 客戶端: intel pentium iii 以上的微機(jī) 軟件環(huán)境: (1)服務(wù)器端: a.使用語(yǔ)言:java b.數(shù)據(jù)庫(kù):sql server 2000 c.操作系統(tǒng)為:windows xp (2)客戶端 操作系統(tǒng):基本支持目前所有的操作平臺(tái),推薦使用 windows 平臺(tái)。 3.系統(tǒng)實(shí)現(xiàn)的若干關(guān)鍵技術(shù) javaicq主要設(shè)計(jì)到了java的網(wǎng)絡(luò)編程和圖形界面的設(shè)計(jì)以及于數(shù)據(jù)庫(kù)的交互等等java 知識(shí)。 (1)java的網(wǎng)絡(luò)編程的介紹 網(wǎng)絡(luò)編程的目的就是指直接或間接地通過(guò)網(wǎng)絡(luò)協(xié)議與其他計(jì)算機(jī)進(jìn)行通訊。網(wǎng)絡(luò)編程 中有兩個(gè)主要的問(wèn)題,一個(gè)是如何準(zhǔn)確的定位網(wǎng)絡(luò)上一臺(tái)或多臺(tái)主機(jī),另一個(gè)就是找到主

42、機(jī) 后如何可靠高效的進(jìn)行數(shù)據(jù)傳輸。在tcp/ip6協(xié)議中ip層主要負(fù)責(zé)網(wǎng)絡(luò)主機(jī)的定位,數(shù)據(jù)傳 輸?shù)穆酚?,由ip地址可以唯一地確定internet上的一臺(tái)主機(jī)。而tcp層則提供面向應(yīng)用的可 靠的或非可靠的數(shù)據(jù)傳輸機(jī)制,這是網(wǎng)絡(luò)編程的主要對(duì)象,一般不需要關(guān)心ip層是如何處理 數(shù)據(jù)的。 目前較為流行的網(wǎng)絡(luò)編程模型是客戶機(jī)/服務(wù)器(c/s)結(jié)構(gòu)。即通信雙方一方作為服 務(wù)器等待客戶提出請(qǐng)求并予以響應(yīng)。客戶則在需要服務(wù)時(shí)向服務(wù)器提出申請(qǐng)。服務(wù)器一般作 為守護(hù)進(jìn)程始終運(yùn)行,監(jiān)聽網(wǎng)絡(luò)端口,一旦有客戶請(qǐng)求,就會(huì)啟動(dòng)一個(gè)服務(wù)進(jìn)程來(lái)響應(yīng)該客 戶,同時(shí)自己繼續(xù)監(jiān)聽服務(wù)端口,使后來(lái)的客戶也能及時(shí)得到服務(wù)。 (2)基于s

43、ocket12-14的低層次java網(wǎng)絡(luò)編程 本系統(tǒng)采用的基于socket課題的低層次網(wǎng)絡(luò)編程。 網(wǎng)絡(luò)上的兩個(gè)程序通過(guò)一個(gè)雙向的通訊連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)雙向鏈路的一端稱為一個(gè) socket。socket通常用來(lái)實(shí)現(xiàn)客戶方和服務(wù)方的連接。socket是tcp/ip協(xié)議的一個(gè)十分流行 的編程界面,一個(gè)socket由一個(gè)ip地址和一個(gè)端口號(hào)唯一確定。 在傳統(tǒng)的unix環(huán)境下可以操作tcp/ip協(xié)議的接口不止socket一個(gè),socket所支持的協(xié)議 種類也不光tcp/ip一種,因此兩者之間是沒(méi)有必然聯(lián)系的。在java環(huán)境下,socket編程主要 是指基于tcp/ip協(xié)議的網(wǎng)絡(luò)編程。 socket

44、通訊的一般過(guò)程 使用socket進(jìn)行client/server程序設(shè)計(jì)的一般連接過(guò)程是這樣的:server端listen(監(jiān) 聽)某個(gè)端口是否有連接請(qǐng)求,client端向server端發(fā)出connect(連接)請(qǐng)求,server端向 client端發(fā)回accept(接受)消息。一個(gè)連接就建立起來(lái)了。server端和client端都可以通 過(guò)send,write等方法與對(duì)方通信。 對(duì)于一個(gè)功能齊全的socket,都要包含以下基本結(jié)構(gòu),其工作過(guò)程包含以下四個(gè)基本的 步驟: (1) 創(chuàng)建socket; (2) 打開連接到socket的輸入/出流; (3) 按照一定的協(xié)議對(duì)socket進(jìn)行讀/寫操作;

45、 (4) 關(guān)閉socket。 這是整個(gè)系統(tǒng)的難點(diǎn),socket的編程不是特別容易,尤其是涉及了多線程之間的通信。 (3)圖形界面的設(shè)計(jì) swing是一個(gè)用于開發(fā)java應(yīng)用程序用戶界面的開發(fā)工具包。它以抽象窗口工具 (awt)為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。swing開發(fā)人員只用很少 的代碼就可以利用swing豐富、靈活的功能和模塊化組件來(lái)創(chuàng)建優(yōu)雅的用戶界面。 java的基礎(chǔ)類(jfc)是開發(fā)圖形用戶界面的api集。java的基礎(chǔ)類包括以下api: swing組件。 可訪問(wèn)性api。 抽象窗口工具包(abstract window toolkit,awt)是java開發(fā)用戶

46、界面最初的工具包。 awt是建立jfc的主要基礎(chǔ), java 2圖形設(shè)計(jì),卷:awt對(duì)awt有詳細(xì)的介紹。 swing是建立在awt之上的(參見1.2節(jié)“輕量組件與重量組件的比較”中對(duì)輕量組件與重 量組件比較的討論)、包括大多數(shù)輕量組件的組件集。除提供了awt所缺少的、大量的附加組 件外,swing還提供了替代awt重量組件的輕量組件。swing還包括了一個(gè)使人印象深刻的、 用于實(shí)現(xiàn)包含插入式界面樣式等特性的圖形用戶界面的下層構(gòu)件。因此,在不同的平臺(tái)上, swing組件都能保持組件的界面樣式特性,如雙緩沖、調(diào)試圖形和文本編輯包等。 這一部分界面的設(shè)計(jì)并不是很難,關(guān)鍵是美觀度,界面的大小不好調(diào)整

47、。 (4)數(shù)據(jù)庫(kù)的交互 主要是使用jdbc技術(shù)。jdbc是java的開發(fā)者sun的javasoft公司制定的java數(shù)據(jù)庫(kù) 連接(java data base connectivity)技術(shù)的簡(jiǎn)稱,是為各種常用數(shù)據(jù)庫(kù)提供無(wú)縫聯(lián)接的技 術(shù)。jdbc在web和internet應(yīng)用程序中的作用和odbc在windows系列平臺(tái)應(yīng)用程序中的作用類 似。odbc(opendata base connectivity),稱為開放式數(shù)據(jù)庫(kù)互聯(lián)技術(shù),是由microsoft公 司倡導(dǎo)并得到業(yè)界普遍響應(yīng)的一門數(shù)據(jù)庫(kù)連接技術(shù),如果讀者有使用odbc編程的經(jīng)驗(yàn),就會(huì) 發(fā)現(xiàn)jdbc與odbc很類似。jdbc現(xiàn)在可以連接

48、的數(shù)據(jù)庫(kù)包括: xbase、oracle、sybase、aceess以及paradox等。 本軟件主要是登錄的時(shí)候,從數(shù)據(jù)庫(kù)讀取數(shù)據(jù),檢查登錄的用戶名和密碼時(shí)不時(shí)正確; 注冊(cè)的時(shí)候,在數(shù)據(jù)庫(kù)中插入一條數(shù)據(jù);添加好友的時(shí)候,從fried表中插入一條數(shù)據(jù);刪 除好友的時(shí)候,從fried表中刪除好友的jicq號(hào)碼,就是刪除了一條數(shù)據(jù),這都是與數(shù)據(jù)庫(kù) 的操作,這些都是從java程序中讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù),怎么實(shí)現(xiàn)這一功能,就是靠的jdbc技 術(shù),可見這是完成本系統(tǒng)的關(guān)鍵環(huán)節(jié)。 本系統(tǒng)采用的是jdbc-odbc橋連接數(shù)據(jù)庫(kù)。主要是要從管理工具中配置相應(yīng)數(shù)據(jù)庫(kù)的數(shù) 據(jù)源。 (5)sql server 200

49、0知識(shí)的運(yùn)用 sql server7 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。是microsoft 公司推出的sql server 數(shù)據(jù) 庫(kù)管理系統(tǒng)的新版本。該版本繼承了sql server 7.0 版本的優(yōu)點(diǎn),同時(shí)又比它增加了許多 更先進(jìn)的功能,具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點(diǎn)??煽缭綇倪\(yùn)行 microsoft windows 98 的膝上型電腦,到運(yùn)行microsoft windows 2000 的大型多處理器的 服務(wù)器等多種平臺(tái)使用。 sql server 2000 的常見版本 企業(yè)版(enterprise edition) 支持所有的sql server 2000 特性,可作為大

50、型web站點(diǎn)、企業(yè)oltp(聯(lián)機(jī)事務(wù)處理) 以及數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)等的產(chǎn)品數(shù)據(jù)庫(kù)服務(wù)器。 標(biāo)準(zhǔn)版(standard edition) 用于小型的工作組或部門 個(gè)人版(personal edition) 用于單機(jī)系統(tǒng)或客戶機(jī) 開發(fā)者版(developer edition) 用于程序員開發(fā)應(yīng)用程序,這些程序需要sql server 2000 作為數(shù)據(jù)存儲(chǔ)設(shè)備。 此外,sql server 2000 還有桌面引擎(desktop engine) 和windows ce 版。用戶可 以根據(jù)實(shí)際情況選擇所要安裝的sql server 2000 版本。 本系統(tǒng)采用的sql server 2000 個(gè)人版。因?yàn)樯?/p>

51、學(xué)期學(xué)過(guò)數(shù)據(jù)庫(kù)原理,所以在使用sql server來(lái)建庫(kù),建表來(lái)說(shuō),并不是很難。 本軟件主要是登錄的時(shí)候,從數(shù)據(jù)庫(kù)讀取數(shù)據(jù),檢查登錄的用戶名和密碼時(shí)不時(shí)正確; 注冊(cè)的時(shí)候,在數(shù)據(jù)庫(kù)中插入一條數(shù)據(jù);添加好友的時(shí)候,從fried表中插入一條數(shù)據(jù);刪 除好友的時(shí)候,從fried表中刪除好友的jicq號(hào)碼,就是刪除了一條數(shù)據(jù),這都是與數(shù)據(jù)庫(kù) 的操作,當(dāng)然會(huì)用到j(luò)dbc技術(shù),但是基本的sql語(yǔ)句,如增刪改查都要會(huì);例如從數(shù)據(jù)庫(kù)中 查找數(shù)據(jù),select 字段名 from 表名 where 條件;等等都是最簡(jiǎn)單的sql語(yǔ)句。 本系統(tǒng)還會(huì)用到數(shù)據(jù)庫(kù)的備份等等或者是分離數(shù)據(jù)庫(kù),附加數(shù)據(jù)庫(kù)等。這些內(nèi)容都是必 須

52、要掌握的,這樣才能更好的運(yùn)行本系統(tǒng)。 四、icq 的主要模塊 (一)服務(wù)器程序 服務(wù)器與客戶間通過(guò)套接口 socket(tcp)連接。在 java 中使用套接口相當(dāng)簡(jiǎn)單,java api 為處理套接口的通信提供了一個(gè)類 .socket.,使得編寫網(wǎng)絡(luò)應(yīng)用程序相對(duì)容 易服務(wù)器采用多線程以滿足多用戶的請(qǐng)求,通 jdbcc 與后臺(tái)數(shù)據(jù)庫(kù)連接,并通過(guò)創(chuàng)建一個(gè) serversocket 對(duì)象來(lái)監(jiān)聽來(lái)自客戶的連接請(qǐng)求,默認(rèn)端口為 5678,然后無(wú)限循環(huán)調(diào)用 accept()方法接受客戶程序的連接 如果申請(qǐng) icq 號(hào)碼,服務(wù)器就會(huì)處理客戶的新建請(qǐng)求,準(zhǔn)備接受用戶的呢稱,密碼, email,個(gè)人資料,籍貫,

53、頭像等信息。然后數(shù)據(jù)庫(kù)添加客戶其注冊(cè)的號(hào)碼,新建用戶結(jié)束。 如果是登錄,連接數(shù)據(jù)庫(kù),準(zhǔn)備從數(shù)據(jù)庫(kù)中選擇呢稱和密碼。數(shù)據(jù)庫(kù)查尋輸入的 jicq 號(hào)碼,輸入的密碼執(zhí)行數(shù)據(jù)庫(kù)查尋比較輸入的號(hào)碼與密碼是否相同。如果相同就告訴客戶 ok,并且更新數(shù)據(jù)庫(kù)用戶為在線以及注冊(cè)用戶的 ip 地址,否者告訴客戶失敗登錄結(jié)束。 用戶查找好友,連接數(shù)據(jù)庫(kù),并且返回其他用戶的呢稱,性別,籍貫,個(gè)人資料等信息 以及返回用戶的 jicq 號(hào)碼,頭像號(hào),及是否在線,查找好友結(jié)束。 用戶登錄時(shí)讀取其好友資料,連接好友表,返回用戶的好友名單。告訴客戶其好友的呢 稱,號(hào)碼,ip 地址,狀態(tài),頭像,個(gè)人資料等信息。 用戶添加好友,連

54、接數(shù)據(jù)庫(kù),根據(jù)接受的用戶號(hào)碼及好友號(hào)碼向好友表添加記錄用戶添 加好友。其他用戶如果加我,我就加他。連接數(shù)據(jù)庫(kù),根據(jù)接受的用戶號(hào)碼及好友號(hào)碼向好 友表添加記錄。如果成功,就向用戶傳遞好友的基本信息,比如呢稱等。 用戶刪除好友,連接數(shù)據(jù)庫(kù),根據(jù)接受的用戶號(hào)碼及好友號(hào)碼向好友表刪除記錄 用戶退出程序,連接數(shù)據(jù)庫(kù),根據(jù)接受的用戶號(hào)碼,將其狀態(tài)字段設(shè)為 0,及 ip 地址 設(shè)為空 那些人加了我為好友,以便上線通知他們,連接數(shù)據(jù)庫(kù),根據(jù)我的號(hào)碼,從好友表中選 擇誰(shuí)加了我,然后告訴這些好友的 ip 地址,然后發(fā)給用戶以便告訴其他客戶我上線了。 (二)客戶程序 客戶通過(guò) socket(inetaddress,

55、port)建立與服務(wù)器的連接。服務(wù)器與客戶都通過(guò)構(gòu)造 bufferedreader,printwriter 來(lái)建立輸入輸出流,然后雙方通過(guò)該輸入輸出流來(lái)相互傳遞 信息,一旦收到客戶方的連接請(qǐng)求,服務(wù)器 accept()方法返回一個(gè)新建的 socket 對(duì)象???戶端然后向服務(wù)器發(fā)送消息,比如注冊(cè),登錄,查找好友等,服務(wù)器收到來(lái)自客戶的請(qǐng)求后, 針對(duì)不同的消息處理請(qǐng)求, 雖然 udp 不可靠但是對(duì)于 icq 可靠性并不太重要,而且 udp 快速, 所以客戶間發(fā)送信息通過(guò) udp。用戶登錄時(shí)通過(guò)類 datagrampacket 和 datagramsocket 創(chuàng)建 udp 包括其本地接受端口以及

56、發(fā)送端口,默認(rèn)端口為 5000 和 5001,通過(guò)取得的好友的 ip 地 址來(lái)向好友發(fā)送消息(send(datagrampacket)和接受消息(receive(datagrampacket)。當(dāng) 用戶通過(guò) udp 收到消息后,可以通過(guò) datagrampacket 的方法 inetaddress getaddress()得 到對(duì)方的 ip 地址,通過(guò)對(duì)好友列表比較以判斷是誰(shuí)并提示用戶收到某某的消息,然后用戶 選擇該用戶查看消息,如果好友列表沒(méi)有該人就顯示收到陌生人的消息。用戶可以按陌生人 按鈕查看消息。 1.用戶注冊(cè)。當(dāng)服務(wù)器收到用戶的注冊(cè)請(qǐng)求,便開始接受客戶傳第的信息,如 客戶的呢稱啦,性

57、別,籍貫,頭像,個(gè)人資料等,接受完畢后,便通 jdbccodbc 與后臺(tái)數(shù)據(jù) 庫(kù)連接,然后向數(shù)據(jù)庫(kù)添加記錄,如果成功,便向客戶返回其 jicq 號(hào)碼,并在數(shù)據(jù)庫(kù)中注 冊(cè)用戶的 ip 地址,然后更新其 status 為 1 即用戶在線。客戶收到服務(wù)器返回的信息后,便 打開主程序窗口,并同時(shí)開始創(chuàng)建 udp 以便在用戶之間建立聯(lián)系。 2.用戶登錄。在客戶端,用戶輸入其 jicq 號(hào)碼和密碼,然后建立與服務(wù)器的連接,告 訴服務(wù)器我要登錄,服務(wù)器收到后,開始通 jdbccodbc 讀取數(shù)據(jù)庫(kù),然后與用戶輸入的信息 比較,如果相同就向客戶返回成功消息并將其 status 字段設(shè)為表示上線了以及注冊(cè)其 i

58、p 地址,否則返回錯(cuò)誤,如果客戶收到成功信息就打開主窗口,否則提示出錯(cuò)。如果成功,便 打開主程序窗口,并同時(shí)開始創(chuàng)建 udp 以便在用戶之間建立聯(lián)系。然后客戶向服務(wù)器請(qǐng)求讀 取好友名單,服務(wù)器收到該請(qǐng)求,開始讀取數(shù)據(jù)庫(kù)中的 friend 表,得到好友的號(hào)碼后,再 在 icq 表中讀取好友資料,然后向客戶端發(fā)送這些信息,客戶收到后就在主窗口顯示好友, 比如頭像,呢稱。并且建立幾個(gè)矢量(vector)用以存儲(chǔ)好友的呢稱,jicq 號(hào)碼,頭像編 號(hào),ip 地址等信息。 (三)數(shù)據(jù)庫(kù) 系統(tǒng)可以采用任何一種流行的,java 支持的數(shù)據(jù)庫(kù),本系統(tǒng)采用了 microsoft 公司的 sql server20

59、00 作為后臺(tái)數(shù)據(jù)庫(kù)。通過(guò)對(duì)現(xiàn)在流行的一些 icq 的參考,建立數(shù)據(jù)庫(kù),名為 javaicq,數(shù)據(jù)庫(kù)共建立兩個(gè)表,一個(gè)是用戶的基本信息,包括呢稱,jicq 號(hào)碼等。一個(gè)是用 戶的好友表,包括用戶自己的號(hào)碼和好友的號(hào)碼。 (四)主要的功能實(shí)現(xiàn) 圖 4l sql server2000 的 friend 表 圖 42 配置 odbc 數(shù)據(jù)源 javaicq 用 jdbc-odbc11連接數(shù)據(jù)庫(kù)的代碼如下: class.forname(sun.jdbc.odbc.jdbcodbcdriver);/用 odbc 橋連接數(shù)據(jù)庫(kù) connection c=drivermanager.getconnectio

60、n(jdbc:odbc:javaicq,sa,); /加載驅(qū)動(dòng),其中 javaicq 是要連接的數(shù)據(jù)庫(kù),后面的是用戶名和密碼 string sql=select nickname,password from icq where icqno=?; /sql 語(yǔ)句 preparedstatement prepare=c.preparestatement(sql);/設(shè)定數(shù)據(jù)庫(kù)查尋條件 string icqno=in.readline(); int g=integer.parseint(icqno);/取得輸入的 jicq 號(hào)碼 system.out.println(icqno); string p

溫馨提示

  • 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)論