基于J2SE的即時(shí)通信軟件_第1頁(yè)
基于J2SE的即時(shí)通信軟件_第2頁(yè)
基于J2SE的即時(shí)通信軟件_第3頁(yè)
基于J2SE的即時(shí)通信軟件_第4頁(yè)
基于J2SE的即時(shí)通信軟件_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE目錄摘要: IAbstract: II第一章前言 11.1選題背景 11.2國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì) 11.2.1國(guó)外研究現(xiàn)狀及發(fā)展趨 11.2.2國(guó)內(nèi)研究現(xiàn)狀及發(fā)展趨勢(shì) 11.3選題意義 2第二章系統(tǒng)分析 32.1系統(tǒng)的可行性分析 32.1.1技術(shù)可行性 32.1.2經(jīng)濟(jì)可行性 32.2系統(tǒng)的關(guān)鍵技術(shù) 32.3業(yè)務(wù)流程分析 4第三章系統(tǒng)設(shè)計(jì) 53.1軟件模型概述 53.2功能結(jié)構(gòu)設(shè)計(jì) 53.3數(shù)據(jù)庫(kù)設(shè)計(jì) 7第四章詳細(xì)設(shè)計(jì) 94.1系統(tǒng)總體實(shí)現(xiàn) 94.1.1開發(fā)平臺(tái)與開發(fā)工具 94.1.2系統(tǒng)架構(gòu)圖 94.2系統(tǒng)實(shí)現(xiàn)主要功能如下: 104.2.1服務(wù)器端界面 114.2.2客戶端登錄界面 124.2.3客戶端登錄后顯示好友界面 134.2.4客戶端好友聊天界面 13結(jié)論 15致謝 16參考文獻(xiàn)(Reference) 17附錄 18PAGEII 基于J2SE的即時(shí)通信軟件 摘要:信息時(shí)代的到來引發(fā)了一場(chǎng)知識(shí)和信息革命,計(jì)算機(jī)和現(xiàn)代網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用極大地促進(jìn)了社會(huì)經(jīng)濟(jì)的發(fā)展,同時(shí)也帶來了一些新興產(chǎn)業(yè)的發(fā)展,比如網(wǎng)絡(luò)間的即時(shí)通訊軟件。即時(shí)通訊已經(jīng)慢慢成為人們生活的一部分,呈現(xiàn)出良好的勢(shì)頭和廣闊的發(fā)展前景。即時(shí)通訊是一個(gè)通過國(guó)際互聯(lián)信息網(wǎng)絡(luò)進(jìn)行多人通訊的一款軟件,它具有其他傳統(tǒng)通訊方式無(wú)法比擬的優(yōu)勢(shì),快速,便捷、信息多元化等。正是這些特點(diǎn),使它能夠成為當(dāng)今最流行的信息交流方式。Java因其簡(jiǎn)單,安全,跨平臺(tái)等特點(diǎn)成為當(dāng)今最流行的編程語(yǔ)言之一,已廣泛用于PC,Internet,移動(dòng)設(shè)備上。因?yàn)镴ava的“一次編寫到處運(yùn)行”的特點(diǎn),所以已編寫的軟件不用修改或只需少量的修改就可以在其他設(shè)備上和操作系統(tǒng)上成功運(yùn)行,可以極大的減少開發(fā)商的開發(fā)和維護(hù)成本。在當(dāng)今硬件設(shè)備和軟件平臺(tái)(操作系統(tǒng))多元化的時(shí)代,用Java開發(fā)即時(shí)通信軟件是明智之舉關(guān)鍵詞:即時(shí)通信,Java,Access,網(wǎng)絡(luò),Socket編程Abstract:Theadventoftheinformationagehasprovokedastormofknowledgeandinformationrevolution,thecomputerandthewideapplicationofmodernnetworktechnologyhasgreatlypromotedthedevelopmentofsocialeconomy,butitalsobringssomeemergingindustries,suchasinstantmessagingsoftwarebetweennetworks.Instantmessaginghasbeenslowlybecomepartofpeople'slife,showingagoodmomentumandbroaddevelopmentprospects.InstantmessagingisaninternationalInternetinformationnetworkthroughaparagraphofmultiplayercommunicationssoftware,ithasothertraditionalcommunicationandincomparableadvantage,quick,convenient,informationdiversification,etc.Itisthesefeaturesthatmakeitcanbecomethemostpopularinformationcommunication.Javabecauseofitssimplicity,security,cross-platformandsobecomeoneofthemostpopularprogramminglanguages,hasbeenwidelyusedinPC,Internet,mobiledevices.

BecauseJava's"writeonce,runanywhere"feature,sothesoftwarehasbeenpreparedwithoutmodificationorwithlittlemodificationtootherdevicesandcanrunsuccessfullyonoperatingsystems,developerscangreatlyreducethedevelopmentandmaintenancecosts

.

Intoday'shardwareandsoftwareplatform(operatingsystem)awiderangeofage,withinstantmessagingsoftware,Javadevelopmentisawisemove.

Keywords:IM,Access,Java,SocketPAGE19第一章前言1.1選題背景要問到網(wǎng)絡(luò)時(shí)代發(fā)展最快的領(lǐng)域,無(wú)疑的,答案是即時(shí)通訊。即時(shí)通訊工具的實(shí)時(shí)交互、資費(fèi)低廉等優(yōu)點(diǎn)深受用戶的喜愛,已經(jīng)成為網(wǎng)絡(luò)生活中不可或缺的一部分,比如大家都很熟悉的騰訊QQ,MSN等。網(wǎng)民們通過即時(shí)通信進(jìn)行溝通交流、結(jié)識(shí)新朋友、娛樂消遣時(shí)間、實(shí)現(xiàn)異地文字、語(yǔ)音、視頻的實(shí)時(shí)互通交流。同時(shí),人們也認(rèn)識(shí)到即時(shí)信息工具能夠帶來極高的生產(chǎn)力,諸多企事業(yè)單位借助它的使用,來提高業(yè)務(wù)協(xié)同性及反饋的敏感度和快捷度。作為使用頻率最高的網(wǎng)絡(luò)軟件,即時(shí)通訊已經(jīng)突破了作為技術(shù)工具的極限,被認(rèn)為是現(xiàn)代交流方式的象征。即時(shí)通訊軟件是通過即時(shí)通訊技術(shù)來實(shí)現(xiàn)在線聊天、交流的軟件。目前有2種架構(gòu)形式,1、一種是C/S架構(gòu),采用客戶端/服務(wù)器形式,用戶使用過程中需要下載安裝客戶端軟件,典型的代表有:QQ、百度HI、Skype、Gtalk、新浪UC、MSN等;2、采用B/S架構(gòu),即瀏覽器/服務(wù)端形式,這種形式的即時(shí)通訊軟件,直接借助互聯(lián)網(wǎng)為媒介、客戶端無(wú)需安裝任何軟件,既可以體驗(yàn)服務(wù)器端進(jìn)行溝通對(duì)話,一般運(yùn)用在電子商務(wù)網(wǎng)站的服務(wù)商,典型的代表、53KF、live800等。1.2國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì)1.2.1國(guó)外研究現(xiàn)狀及發(fā)展趨自1996年11月全球范圍內(nèi)推出的第一款即時(shí)通訊軟件以來,即時(shí)通訊軟件得到了迅速的發(fā)展。隨著各大互聯(lián)網(wǎng)巨頭公司的崛起,各互聯(lián)網(wǎng)公司根據(jù)各公司主要業(yè)務(wù)推出不同的即時(shí)通訊軟件。雅虎公司:雅虎通(Yahoo!Messenger)是一款比較流行的即時(shí)通訊軟件,允許用戶與朋友、家人、同事及其朋友經(jīng)行即時(shí)的交流。用戶只需麥克風(fēng)、揚(yáng)聲器或耳機(jī),就能輕松地與好友語(yǔ)音通話,且設(shè)有語(yǔ)音留言與呼叫記錄。即使用戶不在線,也可以收到好友的語(yǔ)音留言。雅虎通內(nèi)置了股票、新聞、計(jì)分板等選項(xiàng)卡,不論用戶在何處瀏覽,都可以監(jiān)視用戶所有個(gè)性化信息。微軟公司:MSN是微軟公司開發(fā)的即時(shí)聊天工具,由于微軟產(chǎn)品用戶眾多,操作簡(jiǎn)單,運(yùn)行穩(wěn)定,且與WindowsXP進(jìn)行了無(wú)縫結(jié)合,使得MSN的普及速度非???,現(xiàn)在已經(jīng)是世界主流的聊天工具,MSN支持手寫功能,但與其他即時(shí)通訊軟件最大的不同是不支持離線消息。MSN采用郵件地址作為用戶名,借此建立MSN與Hotmail之間的連接,當(dāng)對(duì)方不在線時(shí),你可以選擇給對(duì)方的MSN郵箱或Hotmail發(fā)送郵件。這樣MSN就不僅是一個(gè)簡(jiǎn)單的即時(shí)通訊軟件,而演變?yōu)橐訫SN為中心的整合服務(wù)。谷歌公司:谷歌公司出的一款即時(shí)通訊工具。支持文字信息以及網(wǎng)絡(luò)語(yǔ)音交流。GoogleTalk與Gmail進(jìn)行了整合應(yīng)用,使用Gmail賬號(hào)登錄,并支持檢查Gmail郵件。雖然Google公司在搜索引擎方面是絕對(duì)的龍頭,不過在即時(shí)通訊領(lǐng)域的產(chǎn)品還是有蠻多缺憾的。國(guó)外即時(shí)通訊軟件技術(shù)上已發(fā)展得相當(dāng)成熟,技術(shù)上的發(fā)展空間相對(duì)來說比較的少,即時(shí)通訊軟件今后將會(huì)更多的用來彌補(bǔ)和整合本公司的主要業(yè)務(wù)。1.2.2國(guó)內(nèi)研究現(xiàn)狀及發(fā)展趨勢(shì)騰訊公司:據(jù)騰訊QQ官方消息,2005年,QQ在國(guó)內(nèi)已擁有2.4億多的注冊(cè)用戶,7000多萬(wàn)活躍用戶,同時(shí)在線人數(shù)700萬(wàn)以上。目前,騰訊QQ已成為國(guó)內(nèi)用戶最多的個(gè)人即時(shí)通訊工具,占據(jù)著國(guó)內(nèi)約65%以上的市場(chǎng)份額。1999年2月,騰訊推出基于互聯(lián)網(wǎng)的即時(shí)通訊工具——QQ,支持在線消息收發(fā),即時(shí)傳送語(yǔ)音、視頻和文件,并且整合移動(dòng)通訊手段,可通過客戶端發(fā)送信息給手機(jī)用戶。目前QQ已開發(fā)出穿越防火墻、動(dòng)態(tài)表情、給好友放錄像、捕捉熒屏、共享文件夾、提供聊天場(chǎng)景、聊天時(shí)可顯示圖片等強(qiáng)大的使用功能。另外,QQ還增加了QQ群、QQ秀、QQ寵物、QQ游戲等娛樂功能。由于QQ良好的開放功能、休閑娛樂服務(wù),使其擁有了龐大的用戶群,在近幾年內(nèi)突飛猛進(jìn),牢牢占據(jù)著國(guó)內(nèi)即時(shí)通訊霸主地位。阿里巴巴:阿里巴巴推出的軟件阿里旺旺是將原先的淘寶旺旺與阿里巴巴貿(mào)易通整合在一起的新品牌。它是淘寶和阿里巴巴為商人度身定做的免費(fèi)網(wǎng)上商務(wù)溝通軟件。它能幫您輕松找客戶,發(fā)布、管理商業(yè)信息;及時(shí)把握商機(jī),隨時(shí)洽談做生意!即時(shí)通訊軟件市場(chǎng)結(jié)構(gòu)分為個(gè)人應(yīng)用和企業(yè)應(yīng)用兩部分,因此它的發(fā)展趨勢(shì)也必然要圍繞這兩部分應(yīng)用進(jìn)行探討。我認(rèn)為未來的即時(shí)通訊市場(chǎng)發(fā)展趨勢(shì)包括:綜合化、專業(yè)化、互聯(lián)互通和安全化這四個(gè)方面的內(nèi)容。他們之間有著很強(qiáng)的邏輯關(guān)系,個(gè)人應(yīng)用領(lǐng)域的綜合化和企業(yè)應(yīng)用領(lǐng)域的專業(yè)化導(dǎo)致了用戶對(duì)互聯(lián)互通的需求,而互聯(lián)互通的實(shí)現(xiàn)需要安全技術(shù)作為保證。1.3選題意義21世紀(jì)是信息的時(shí)代,人與人之間的交流越來越密切,傳統(tǒng)的通信方式,如電話,電報(bào)等在實(shí)時(shí)上雖仍占有一定的優(yōu)勢(shì),但是在信息高速發(fā)展的今天,傳統(tǒng)通信方式由于其成本過高,方式單一的缺點(diǎn),越來越暴露其弊端。傳統(tǒng)的通訊方式的缺點(diǎn): (1)成本高。目前人們所使用的通訊方式普遍價(jià)格過高,移動(dòng)通信的價(jià)格更是不菲。這就在某種程度上限制了用戶的使用和數(shù)量。作為用戶來講,消費(fèi)水平是一個(gè)很重要的選擇標(biāo)準(zhǔn)。(2)使用方式單一。我們現(xiàn)在使用的傳統(tǒng)通信方式主要是電話,電報(bào),傳真等。這些方式只能聽到聲音或看到文字,用戶并不能感受到對(duì)方,缺乏身臨其境的感覺。(3)傳輸數(shù)據(jù)量少。傳統(tǒng)的通訊方式的帶寬并不高,所以傳輸?shù)臄?shù)據(jù)量大大受到限制。新興的網(wǎng)絡(luò)通訊的優(yōu)點(diǎn):(1)成本低。網(wǎng)絡(luò)具有價(jià)格便宜,對(duì)于大多數(shù)用戶來說,購(gòu)買一臺(tái)電腦不僅可以成為日常的通信工具,更重要的是電腦可以作為很多方面的用途,如處理日常的文件,存儲(chǔ)個(gè)人的資料等,而網(wǎng)絡(luò)通訊僅僅是一個(gè)很小的附加功能,更由于隨著經(jīng)濟(jì)的發(fā)展,擁有電腦就像擁有電視機(jī)一樣普遍,電腦的價(jià)值已經(jīng)被普遍認(rèn)可。(2)方便快捷。網(wǎng)絡(luò)聊天非常方便,傳統(tǒng)的手機(jī)短信編輯相比電腦鍵盤來說具有很大的劣勢(shì),電腦打字要更加地快速,同時(shí)網(wǎng)絡(luò)也可以進(jìn)行語(yǔ)音聊天,更加省去了輸入的麻煩。視頻聊天也是網(wǎng)絡(luò)通信的一個(gè)很大的優(yōu)勢(shì),拉近了聊天雙方的距離,使交流更加親切。(3)傳輸?shù)男畔⒘看?。和傳統(tǒng)的方式相比較,其數(shù)據(jù)量提高了數(shù)十倍,并且隨著科技的進(jìn)步,這種優(yōu)勢(shì)將會(huì)繼續(xù)擴(kuò)大。我國(guó)擁有世界上最多的網(wǎng)絡(luò)用戶,目前正在進(jìn)行高速信息化建設(shè),因此對(duì)網(wǎng)絡(luò)的使用將會(huì)進(jìn)一步擴(kuò)大。網(wǎng)絡(luò)通訊軟件具有上述的優(yōu)勢(shì),因此其發(fā)展的前景將是廣闊的,這也是研究它的意義所在。第二章系統(tǒng)分析分析即綜合采用系統(tǒng)的思想和方法,把一個(gè)比較復(fù)雜的系統(tǒng)對(duì)象拆解成若干個(gè)簡(jiǎn)單易懂的組成部分,并定義這些組成部分的基本屬性和相互之間的關(guān)聯(lián),進(jìn)而按照軟件開發(fā)流程對(duì)軟件系統(tǒng)進(jìn)行開發(fā)和設(shè)計(jì)。分析過程一半包括研究當(dāng)前同類別系統(tǒng)的特點(diǎn)和不足,進(jìn)而對(duì)所要開發(fā)的系統(tǒng)進(jìn)行完善化的設(shè)計(jì),使開發(fā)出的軟件的在最節(jié)省資源的情況下開發(fā)出符合需求的產(chǎn)品。2.1系統(tǒng)的可行性分析綜合即時(shí)通訊軟件發(fā)展形勢(shì)和對(duì)即時(shí)通訊市場(chǎng)的調(diào)研,本即時(shí)通訊軟件在技術(shù)上,經(jīng)濟(jì)上,操作方面均具備可行性,具備了軟件開發(fā)實(shí)施的條件。2.1.1技術(shù)可行性WinXP操作系統(tǒng)的穩(wěn)定性,安全性可滿足用戶的要求。后臺(tái)的數(shù)據(jù)庫(kù)使用的是OfficeAccess2003。軟件開發(fā)工具語(yǔ)言選用的是當(dāng)前最流行的開發(fā)工具語(yǔ)言——Java。Java是一種簡(jiǎn)單的面向,分布式,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異的,多線程的動(dòng)態(tài)語(yǔ)言。JavaSwing具有良好的圖形編程能力,可以實(shí)現(xiàn)良好的用戶界面,JavaSocket可以實(shí)現(xiàn)網(wǎng)絡(luò)間的通信。綜上,完全具備技術(shù)可行性。2.1.2經(jīng)濟(jì)可行性費(fèi)用:本系統(tǒng)要求的計(jì)算機(jī)配置并不高(400MHz以上處理器。64M內(nèi)存及以上,硬盤空間100M以上),當(dāng)前中低檔計(jì)算機(jī)即可滿足要求。設(shè)備的安裝調(diào)試工作簡(jiǎn)單,軟件的價(jià)格不高,操作簡(jiǎn)單,對(duì)用戶進(jìn)行少量的培訓(xùn)講解即可較為熟練的操作本軟件,因而培訓(xùn)費(fèi)用較低。而且,Java是跨平臺(tái)的語(yǔ)言,編寫好的軟件不需要改動(dòng)或只需要少量改懂就可以在移植到其他平臺(tái)上,對(duì)于程序開發(fā)來說,可以減少大量的開發(fā)和維護(hù)成本。收益:用戶使用本軟件以后,能較大的用戶之間的傳播效率,節(jié)省較多的人力資源,為企業(yè)創(chuàng)造經(jīng)濟(jì)效益,利于企業(yè)單位的發(fā)展,因而在經(jīng)濟(jì)上是可行的。2.2系統(tǒng)的關(guān)鍵技術(shù)(1)TCP傳輸協(xié)議。TCP協(xié)議是面向連接的協(xié)議,即在點(diǎn)點(diǎn)進(jìn)行連接之前必須首先建立數(shù)據(jù)通路,就向我們平時(shí)打電話一樣,在通話之前必須先撥號(hào),等待對(duì)方的接聽以后才能進(jìn)行通話。它的數(shù)據(jù)傳輸采取的是同步方式,當(dāng)數(shù)據(jù)發(fā)送到對(duì)方時(shí),必須等待接收方的應(yīng)答信號(hào)后才能繼續(xù)下一次的發(fā)送工作,即我們平時(shí)所說的“握手”方式。由于TCP協(xié)議采用的是這種連接方式,因此由它建立的連接,是可靠的,在網(wǎng)絡(luò)不是十分理想的情況下,速度犧牲很大,但是卻能夠保證所傳輸?shù)臄?shù)據(jù)的正確性。(2)UDP傳輸協(xié)議。UDP協(xié)議采用的是面向無(wú)連接的通信方式,它在通信前不需要提前建立通信鏈路,它是異步的,數(shù)據(jù)的發(fā)送比較迅速,不需要等待應(yīng)答信號(hào)。優(yōu)點(diǎn)是發(fā)送速度較快,但是在數(shù)據(jù)的一致性方面不好,在網(wǎng)絡(luò)差的情況下,容易丟失數(shù)據(jù)包。一般用于遠(yuǎn)程視頻等對(duì)一致性要求并不是很高的數(shù)據(jù)傳輸方面。2.3業(yè)務(wù)流程分析業(yè)務(wù)流程分析是對(duì)業(yè)務(wù)功能分析的進(jìn)一步細(xì)化,從而得到業(yè)務(wù)流程圖,是一個(gè)反映軟件業(yè)務(wù)處理過程的“流水帳本”,幫助確定流程工作與合作建模的基本要素,更好地分析理解其同其他要素的關(guān)系。業(yè)務(wù)流程圖反映了實(shí)際業(yè)務(wù)活動(dòng)的整個(gè)流程,它以業(yè)務(wù)處理過程為中心。業(yè)務(wù)流程分析的目的是:形成合理、科學(xué)的業(yè)務(wù)流程。通過分析現(xiàn)有業(yè)務(wù)流程的基礎(chǔ)上進(jìn)行業(yè)務(wù)流程重組,產(chǎn)生新的更為合理的業(yè)務(wù)流程。本即時(shí)通訊軟件業(yè)務(wù)流程圖反映了軟件內(nèi)部各功能之間的關(guān)聯(lián)以及業(yè)務(wù)處理的流程。流程圖如圖2.1所示:是否有帳號(hào)是否有帳號(hào)注冊(cè)登錄驗(yàn)證用戶名和密進(jìn)入顯示好友列表點(diǎn)擊好友聊天查看好友信息添加刪除好友是否成功返回信息將好友添加到列表中返回好友信息開啟聊天窗口發(fā)送信息退出登錄圖2.1業(yè)務(wù)流程圖第三章系統(tǒng)設(shè)計(jì)系統(tǒng)的設(shè)計(jì)通常是自頂向下逐步細(xì)化的,使一個(gè)較為復(fù)雜的問題分解成若干個(gè)比較簡(jiǎn)單、容易解決的小問題。概要設(shè)計(jì)的主要任務(wù)是得到系統(tǒng)的軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。設(shè)計(jì)軟件結(jié)構(gòu)的具體任務(wù)是:將一個(gè)復(fù)雜系統(tǒng)按功能進(jìn)行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機(jī)界面等。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù)庫(kù)的設(shè)計(jì)??傮w設(shè)計(jì)的目標(biāo)是建立系統(tǒng)的邏輯模型。3.1軟件模型概述在基于C/S模型的網(wǎng)絡(luò)通信軟件中,包括客戶端和服務(wù)器端,其中服務(wù)器在整個(gè)系統(tǒng)的作用很關(guān)鍵,處于中心位置,客戶端主要用來獲取從服務(wù)器傳過來的數(shù)據(jù),提供給用戶友好的界面,顯示用戶的好友信息,并且接受用戶的各種操作,用戶操作完畢軟件會(huì)把各種操作封裝成信息,并把這個(gè)請(qǐng)求信息發(fā)送到服務(wù)器端。服務(wù)器端主要接受客戶端的請(qǐng)求,并且解析其封裝的信息內(nèi)容,并根據(jù)信息內(nèi)容做相應(yīng)的操作(例如:轉(zhuǎn)發(fā)信息,查詢好友資料等等),最后將這些信息發(fā)送到指定的客戶端上,最終實(shí)現(xiàn)各用戶之間通訊的目的。下圖展示了C/S結(jié)構(gòu)的模型圖:客戶端客戶端客戶端登錄登錄服務(wù)器信息交換信息交換 圖3.1C/S結(jié)構(gòu)模型圖3.2功能結(jié)構(gòu)設(shè)計(jì)本軟件適用于中小型局域網(wǎng)的聊天軟件,為中小型企業(yè)提供局域網(wǎng)溝通軟件,該軟件可以為客戶提供文字信息交流,震動(dòng)窗口,文件傳輸?shù)刃畔⒔涣?。?shù)據(jù)流圖,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。本系統(tǒng)總功能結(jié)構(gòu)數(shù)據(jù)流圖如圖3.1所示:服務(wù)器服務(wù)器客戶端客戶端客戶端ACCESS數(shù)據(jù)庫(kù)維護(hù)數(shù)據(jù)庫(kù)文件傳送檢索檢索文件傳送登錄登錄登錄圖3.2系統(tǒng)總功能結(jié)構(gòu)圖系統(tǒng)各功能詳細(xì)數(shù)據(jù)流圖如下登錄界面好友界面查看好友信息信息登錄界面好友界面查看好友信息信息添加刪除好友好友聊天界面連接到服務(wù)器線程通信Socket客戶端通信Sock通信Socket連接到客戶端線程驗(yàn)證用戶密碼數(shù)據(jù)庫(kù)操作服務(wù)器端控制臺(tái)服務(wù)器端圖3.3各功能詳細(xì)結(jié)構(gòu)和數(shù)據(jù)流圖3.3數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)是用戶所需要的各種數(shù)據(jù)管理的方式的總稱,它是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的核心部分。數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)是相當(dāng)重要的一個(gè)環(huán)節(jié),它將直接影響到系統(tǒng)的數(shù)據(jù)處理效率和系統(tǒng)的總體性能,良好的數(shù)據(jù)庫(kù)結(jié)構(gòu)應(yīng)該選擇合理的數(shù)據(jù)庫(kù)范式,減少數(shù)據(jù)的存儲(chǔ)量,同時(shí)保證恰當(dāng)?shù)臄?shù)據(jù)冗余。數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求。在數(shù)據(jù)庫(kù)領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫(kù)的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟如下:需求分析:首先明確用戶對(duì)數(shù)據(jù)的需求。概念結(jié)構(gòu)設(shè)計(jì):概念模型主要是用來反映用戶的現(xiàn)實(shí)環(huán)境和需求,它獨(dú)立于具體的數(shù)據(jù)庫(kù)管理系統(tǒng),并且與數(shù)據(jù)庫(kù)怎樣實(shí)現(xiàn)無(wú)關(guān)。邏輯結(jié)構(gòu)設(shè)計(jì):在邏輯結(jié)構(gòu)設(shè)計(jì)階段,主要完成建立數(shù)據(jù)庫(kù)的邏輯模型,并解決數(shù)據(jù)的完整性、一致性、安全性和有效性等問題;物理結(jié)構(gòu)設(shè)計(jì):該階段的任務(wù)是為系統(tǒng)邏輯結(jié)構(gòu)模型確定合理的存儲(chǔ)結(jié)構(gòu)、存取方法、以及數(shù)據(jù)表示和數(shù)據(jù)存儲(chǔ)空間分配等內(nèi)容,從而得到具體的數(shù)據(jù)庫(kù)物理結(jié)構(gòu)。數(shù)據(jù)庫(kù)實(shí)施:數(shù)據(jù)庫(kù)實(shí)施主要包括用DDL定義數(shù)據(jù)庫(kù)結(jié)構(gòu)、組織數(shù)據(jù)入庫(kù)、編制與調(diào)試應(yīng)用程序、數(shù)據(jù)庫(kù)試運(yùn)行等步驟。數(shù)據(jù)庫(kù)運(yùn)行與維護(hù):數(shù)據(jù)庫(kù)投入運(yùn)行標(biāo)著開發(fā)任務(wù)的基本完成和維護(hù)工作的開始,數(shù)據(jù)庫(kù)物理存儲(chǔ)也會(huì)不斷變化,對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)進(jìn)行評(píng)價(jià)、調(diào)整、修改等維護(hù)工作是一個(gè)長(zhǎng)期的任務(wù)。該系統(tǒng)的E—R圖如圖3.2所示:賬戶賬戶賬戶號(hào)碼賬戶密碼用戶信息賬戶號(hào)用戶名性別出生日期頭像個(gè)性簽名擁有好友關(guān)系關(guān)系賬戶好友賬戶好友關(guān)系在線狀態(tài)用戶狀態(tài)賬號(hào)狀態(tài)圖3.4E-R圖數(shù)據(jù)庫(kù)最終要存儲(chǔ)于存儲(chǔ)設(shè)備上,數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法稱為數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。以下是本系統(tǒng)的物理結(jié)構(gòu)的具體實(shí)現(xiàn):表3.1賬戶表字段名稱數(shù)據(jù)類型長(zhǎng)度說明賬戶號(hào)碼文本10主鍵賬戶密碼文本10表3.2用戶信息表字段名稱數(shù)據(jù)類型長(zhǎng)度說明用戶號(hào)文本10主鍵用戶名文本10主鍵性別文本10主鍵出生日期文本10個(gè)性簽名文本10頭像文本10表3.3用戶好友表字段名稱數(shù)據(jù)類型長(zhǎng)度說明賬戶號(hào)文本10主鍵好友賬戶文本10主鍵關(guān)系文本10主鍵第四章詳細(xì)設(shè)計(jì)4.1系統(tǒng)總體實(shí)現(xiàn)4.1.1開發(fā)平臺(tái)與開發(fā)工具 1.操作系統(tǒng):WindowsXP 2.系統(tǒng)開發(fā)環(huán)境:MyEcplise8.5 3.數(shù)據(jù)庫(kù):MicrosoftAccess2003 4.開發(fā)語(yǔ)言:Java 5.界面開發(fā):Photoshopcs4.1.2系統(tǒng)架構(gòu)圖該軟件是基于J2SE編寫的程序,Java是純面向?qū)ο蟮恼Z(yǔ)言,一切皆為對(duì)象。面向?qū)ο蟮乃枷敫臃先藗兊乃季S方式,封裝的思想可以比較好保證代碼的安全性而且可以更好地實(shí)現(xiàn)代碼的復(fù)用。軟件是基于網(wǎng)絡(luò)Socket編程實(shí)現(xiàn)網(wǎng)絡(luò)通信,由服務(wù)器端程序和客戶端程序構(gòu)成。服務(wù)器端的主要任務(wù)是監(jiān)聽客戶端傳來的信息,并且根據(jù)信息的類型做出相應(yīng)的處理,實(shí)現(xiàn)轉(zhuǎn)發(fā)功能??蛻舳顺绦虻闹饕蝿?wù)是接受服務(wù)器端的信息,并且向服務(wù)器發(fā)送信息,通過服務(wù)器實(shí)現(xiàn)轉(zhuǎn)發(fā)功能。 本系統(tǒng)采用簡(jiǎn)單的MVC設(shè)計(jì)模式,具體架構(gòu)圖如圖4.1圖4.1系統(tǒng)整體架構(gòu)圖 備注:client為客戶端程序1.login,friendlist,chitchat包分別是登錄,好友列表和聊天窗口的視圖層2.model包是業(yè)務(wù)邏輯層3.common主要是存儲(chǔ)客戶端和服務(wù)器端傳輸?shù)男畔㈩?.tools包主要是字體定義等工具類 server為服務(wù)器端程序1.common主要是存儲(chǔ)客戶端和服務(wù)器端傳輸?shù)男畔㈩?.db包進(jìn)行數(shù)據(jù)庫(kù)進(jìn)行操作的類3.model包主要是服務(wù)器端的業(yè)務(wù)邏輯層4.2系統(tǒng)實(shí)現(xiàn)主要功能如下:通過調(diào)查分析研究,本系統(tǒng)主要實(shí)現(xiàn)以下功能:客戶端各功能模塊如下:用戶登錄:用戶必須輸入自己的用戶號(hào)和密碼,當(dāng)用戶點(diǎn)擊登錄按鈕以后,軟件會(huì)把用戶和密碼封裝成一條信息,傳到后臺(tái)服務(wù)器驗(yàn)證用戶和密碼,服務(wù)器驗(yàn)證完會(huì)返回一個(gè)結(jié)果。如果結(jié)果為真,會(huì)進(jìn)入好友界面窗口。如果結(jié)果為假,會(huì)彈出對(duì)話框,告知用戶信息(用戶號(hào)或密碼輸入錯(cuò)誤)注冊(cè):通過登錄界面的注冊(cè)按鈕,可以進(jìn)入注冊(cè)畫面。進(jìn)入注冊(cè)畫面,用戶可以填入賬戶號(hào),賬戶昵稱,性別,生日等信息,當(dāng)用戶點(diǎn)擊注冊(cè)畫面的按鈕時(shí),如果用戶號(hào)已存在會(huì)提示用戶重新輸入用戶號(hào)。好友界面(登錄成功會(huì)顯示自己的頭像和好友界面)

1.查看自己的賬戶信息:點(diǎn)擊自己的頭像,會(huì)彈出窗口顯示自己的信息。

2.查看好友的信息:右鍵好友的名字,彈出快捷菜單,在點(diǎn)擊查詢好友信息菜單,會(huì)彈出窗口顯示被點(diǎn)擊的好友的信息。3.聊天:右鍵點(diǎn)擊好友頭像,彈出快捷菜單,點(diǎn)擊“發(fā)送信息”菜單,會(huì)彈出聊天窗口,在文本框輸入文字信息,在點(diǎn)擊發(fā)送按鈕,文字會(huì)顯示在好友的窗口中,且顯示在自己的已發(fā)送窗口。4.刪除好友:點(diǎn)擊頭像右鍵,彈出快捷菜單,點(diǎn)擊“刪除好友”,就可以實(shí)現(xiàn)刪除好友操作。5.查詢好友:可以在文本框輸入ICQ號(hào)碼,點(diǎn)擊查詢就可以實(shí)現(xiàn)查詢功能,如果該ICQ不是自己的好友,可添加為好友服務(wù)端各功能模塊如下:(一)開啟服務(wù)端:點(diǎn)擊服務(wù)器端菜單可以開啟和關(guān)閉服務(wù)器監(jiān)聽。

(二)顯示用戶的在線狀態(tài):可以通過界面的小窗口顯示用戶的在線狀態(tài)。

(三)顯示用戶的行為:可以監(jiān)聽用戶之間傳輸?shù)男畔ⅰ?.2.1服務(wù)器端界面服務(wù)器端有控制菜單,通過菜單可以控制服務(wù)器的開啟和關(guān)閉。通過顯示面板可以查看用戶的在線的狀態(tài)和用戶的通信記錄。圖4.1服務(wù)器端界面服務(wù)器端監(jiān)聽代碼:

publicvoidrun() { while(true) { //服務(wù)器通過該線程可以不斷的接受客戶端發(fā)來的信息 ObjectInputStreamois=null; try{ ois=newObjectInputStream(s.getInputStream()); }catch(IOExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); } try{ Messagems=(Message)ois.readObject(); if(ms.getMesType()==MessageType.message_comm){//普通聊天 ServerList.jtext.append(ms.getTime()+"--"+ms.getFormUser()+"對(duì)"+ms.getToUser()+"說"+ms.getCon()+"\n"); SenMesToFri(ms); } elseif(ms.getMesType()==MessageType.message_zd){//震動(dòng)窗口 ServerList.jtext.append(ms.getTime()+"--"+ms.getFormUser()+"對(duì)"+ms.getToUser()+"發(fā)送震動(dòng)窗口!\n"); SenMesToFri(ms); }elseif(ms.getMesType()==MessageType.message_file){//服務(wù)器接受發(fā)送的文件并轉(zhuǎn)發(fā)給接受方 ServerList.jtext.append(ms.getTime()+"--"+ms.getFormUser()+"對(duì)"+ms.getToUser()+"發(fā)送文件:"+ms.getCon()+"\n");SenMesToFri(ms);} elseif(ms.getMesType()==MessageType.message_personalImformation); ServerList.jtext.append(ms.getTime()+"--"+ms.getFormUser()+"查看好友"+ms.getToUser()+"的信息"+ms.getCon()+"\n"); //GetMesToSer(ms); }}catch(Exceptione){ e.printStackTrace(); } }}4.2.2客戶端登錄界面用戶需要通過輸入正確的用戶名和密碼才能登進(jìn)軟件。如果沒有賬號(hào),可以點(diǎn)擊注冊(cè)新號(hào)按鈕,進(jìn)入注冊(cè)界面,填入相應(yīng)的信息完成注冊(cè),然后再使用新注冊(cè)的賬戶和密碼登錄。圖4.2客戶端登錄界面驗(yàn)證用戶名和密碼代碼:publicbooleancheckUser(Stringuser,Stringpsw)//user是用戶的登錄賬號(hào)(Icq賬號(hào)),psw是用戶的登錄密碼 { booleanb=false; try{ //組織sql語(yǔ)句訪問數(shù)據(jù)庫(kù)和條件參數(shù)列表 Stringsql="selectIcq_No,Icq_Nc,Icq_IconfromIcqwhereIcq_No=?andIcq_Psw=?";//通過用戶名和密碼要求數(shù)據(jù)庫(kù)返回用戶的:賬號(hào),昵稱,頭像 String[]paras={user,psw}; shp=newSqlHelper(); ResultSetrs=shp.query(sql,paras); if(rs.next()) { ch[0]=rs.getString(1);//用戶Icq賬號(hào) ch[1]=rs.getString(2);//用戶的昵稱 ch[2]=rs.getString(3);//用戶的頭像 b=true; } } catch(Exceptione) {e.printStackTrace();} finally{ shp.close(); } returnb; }4.2.3客戶端登錄后顯示好友界面用戶登錄后顯示本賬戶頭像信息,好友列表,和搜索好友欄。點(diǎn)擊好友列表可以進(jìn)行查看好友信息,刪除好友,和好友聊天等操作。用戶可以在搜索欄輸入賬號(hào)進(jìn)行好友搜索,如果存在該賬號(hào),就顯示該賬號(hào)信息,而且如果好友列表不存在該賬號(hào),可以添加該好友。如果好友列表存在該賬號(hào),“添加好友”按鈕為不可點(diǎn)擊狀態(tài)。圖4.3登錄后好友顯示界面4.2.4客戶端好友聊天界面雙擊好友頭像,或先點(diǎn)擊好友頭像再右鍵鼠標(biāo)彈出快捷菜單,點(diǎn)擊“發(fā)送信息”,會(huì)彈出好友聊天界面。通過好友聊天界面,可以發(fā)送信息,發(fā)送信息是通過Socket實(shí)現(xiàn)客戶端和服務(wù)器端的通信,然后對(duì)Socket添加輸入流和輸出流,使信息顯示在客戶用戶界面上或者對(duì)磁盤進(jìn)行文件寫入操作。4.4用戶聊天界面說明:發(fā)送的信息包括三種信息:文本,文件,抖動(dòng)窗口發(fā)送文件代碼主要如下:elseif(e.getSource()==this.file){//發(fā)送文件 filedialog_load.setVisible(true); Messagems=newMessage(); if(filedialog_load.getFile()!=null){ try{ Filefile_load=newFile(filedialog_load.getDirectory(),filedialog_load.getFile()); DataInputStreamdis=newDataInputStream(newBufferedInputStream(newFileInputStream(filedialog_load.getDirectory()+filedialog_load.getFile()))); byte[]bf=newbyte[(int)file_load.length()]; while(true){ intnum=0; if(dis!=null){ num=dis.read(bf); ms.setBuf(bf); } if(num==-1){ break; } //dos.write(bf,0,num); } ms.setMesType(MessageType.message_file);//發(fā)送文件,message_file==6 ms.setFormUser(Fu);//發(fā)送者 ms.setToUser(toChat);//接收者 ms.setTime(this.date.toLocaleString());//發(fā)送的時(shí)間 ms.setCon(file_load.getName());//傳輸文件的名稱 }catch(Exceptione1){ e1.printStackTrace(); } try{ ObjectOutputStreamoos=newObjectOutputStream(ManageClientToSerThread.getClientToSerThread(Fu).getS().getOutputStream()); oos.writeObject(ms); }catch(IOExceptione1){ e1.printStackTrace(); } System.out.println("文件名:"+filedialog_load.getFile()); System.out.println("文件路徑:"+filedialog_load.getDirectory()); this.showpane.append("給"+Tu+"傳送了文件:"+filedialog_load.getDirectory()+filedialog_load.getFile()+"\n"); } }參考文獻(xiàn)(Reference)[1]西爾伯沙茨(美).數(shù)據(jù)庫(kù)系統(tǒng)概念[M].機(jī)械工業(yè)出版社,2006[2]陳志泊.?dāng)?shù)據(jù)庫(kù)原理及應(yīng)用教程[M].人民郵電出版社2008[3]??藸?美).Java編程思想[M].機(jī)械工業(yè)出版社2007[4]李剛.Java瘋狂講義[M].電子工業(yè)出版社2008[5]哈諾德.Java網(wǎng)絡(luò)編程.中國(guó)電力出版社2005[6]王鵬,何昀峰.JavaSwing圖形界面開發(fā)與詳解[M].清華大學(xué)出版社2008[7]徐峰.UML面向?qū)ο蠼;A(chǔ)[M].水利水電出版社2006[8]王少鋒.面向?qū)ο蠹夹g(shù)UML教程[M].清華大學(xué)出版社,2005[9]羅依.JavaSwing[M].清華大學(xué)出版社,2004[10]潘志軍.?dāng)?shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)—Access[M].北京理工大學(xué)出版社,2010[11]付博.Access開發(fā)實(shí)例完全剖析[M].中國(guó)電力出版社,2006[12]特羅特著,徐言聲譯.設(shè)計(jì)模式解析[M].人民郵電出版社,2004年[13]伽瑪著,李英軍譯.設(shè)計(jì)模式--可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M].機(jī)械工業(yè)出版社,2005[14]卡爾弗特等著,周恒民譯.JavaTCP/IPSocket編程[M].機(jī)械工業(yè)出版社,2009[15]方晨.PhtoshopCS3中文版入門提高[M].上??茖W(xué)普及出版社,2008[16]丹尼斯著,干紅花譯.系統(tǒng)分析與設(shè)計(jì)[M].人民郵電出版社,2009附錄:ParsingJavaAbstractionoftheDifferenceBetweenClassesandInterfacesInJavalanguage,abstractscale-upandwithsupportclassabstractiondefinitionoftwomechanisms.Becauseofthesetwokindsofmechanismofexistence,justgivesJavapowerfulobject-orientedskills.Abstractscale-upandwithbetweenclassabstractiondefinitionforsupporthasgreatsimilarities,eveninterchangeable,somanydevelopersintolinenonabstractclassdefinitionforabstractscale-upanditisbecomingmorecasualwithchoice.Infact,bothbetweenstillhastheverybigdifference,fortheirchoiceevenreflectedinproblemdomainessenceofunderstanding,todesigntheintentionsoftheunderstandcorrectlyandreasonable.Thispaperwillforthedifferenceanalysis,tryingtogiveadeveloperwithachoicebetweenthemarebased.UnderstandclassabstractionAbstractclassandinterfaceinJavalanguageisusedforabstractclasses(inthisarticlenonabstractclassnotfromabstractscale-uptranslation,itrepresentsanabstractbody,andabstractscale-upforJavalanguageusedtodefineclassabstractioninoneway,pleasereadersdistinguish)defined,thenwhataretheabstractclasses,useabstractclassesforusanygood?Inobject-orientedconcept,weknowallobjectsisthroughclasstodescribe,butinturnnotsuch.Notallclassesareusedtodescribeobject,ifaclassdoesnotcontainenoughinformationtoportrayaconcreteobject,thisclassisabstractclasses.Abstractclassesareoftenusedtocharacterizationofproblemfieldinouranalysis,designthattheabstractconcepts,istotheserieswilllookdifferent,butessentiallythesameexactconceptionofabstraction.Forexample:ifwecarryoutagraphicaleditingsoftwaredevelopment,willfindproblemdomainexistsround,trianglesosomespecificconcept,theyaredifferent,buttheyallbelongtoshapesuchaconcept,shapethisconceptinproblemdomainisnotexist,itisanabstractconcept.Preciselybecausetheabstractconceptsinproblemfieldnocorrespondingspecificconcept,sotocharacterizationabstractconceptsnonabstractclasscannotbeinstantiated.Inanobject-orientedfield,mainlyusedforclassabstractiontypeshidden.Wecanconstructafixedagroupofbehaviorofabstractdescription,butthisgroupofbehaviorbutcanhaveanyapossibleconcreteimplementation.Thisabstractdescribeisabstractclasses,andthisanarbitraryapossibleconcreterealizationisbehavedforallpossiblederivedclass.Modulescanbeoperatinganabstractbody.Duetothemoduledependentonafixedabstractionbody,soitcanarenotallowedtomodify,Meanwhile,throughtheabstractderivedfromthebody,alsocanexpandthebehaviorofthismodulefunction.FamiliarwithOCPreadersmustknow,object-orienteddesigntobeabletoachieveacoreprinciplesOCP(Open-Closedflying),classabstractionisoneofthekey.FromtheperspectivesofgrammardefinitionabstractclassandinterfaceIngrammaticalperspective,Javalanguageforabstractscale-upandwithgivesdifferentdefinitionsbelowtodefineaway,calledproduceprofessionalDemoabstractclassasanexampletoillustratethedifference.Usetheabstractscale-upproduceprofessionalDemoabstractclassdefinedasfollows:abstractclassDemo{

abstractvoidmethod1();

abstractvoidmethod2();

}UsethewaywithproduceprofessionalDemoabstractclassdefinedasfollows:interfaceDemo{

voidmethod1();

voidmethod2();

}Intheabstractscale-upmanner,produceprofessionalDemocanhavetheirowndatamembers,alsocanhavethemembersoftheabstractmethod,andwiththerealizationoftheway,produceprofessionalDemocanhaveonlystaticcannotbemodifieddatamembers(i.e.mustisstatic,immigration,butinwithgenerallydoesn'tdefinedatamembers),allthemembersofthemethodsisabstract.Inasense,withaspecialkindofabstractclass.Fromprogramming,fromtheperspectiveofabstractscale-upandwithcanbeusedtoachieve"cancel"thoughtsmakethemselves.Butinthespecificusetopstillhavesomedifference.First,abstractclassinJavalanguagesuggestsisakindofinheritingrelationship,aclasscanbeusedonlyonceinheritancerelationship(becauseJavadonotsupportmoreinheritanceZhuanZhu).-However,aclassbutcanimplementmultiplewith.MaybeitisJavalanguagedesignersinconsideringJavaformultipleinheritancesupportofacompromisetoconsiderit.Secondly,inthedefinitionofabstractscale-up,wemaygivemethodsofdefaultbehavior.Butinwiththedefinitionofmethodcannothavethedefaultbehaviour,tobypassthislimits,mustuseentrust,butitwilladdsomecomplexity,sometimescancausealotoftrouble.Inclassabstractioncannotdefinethedefaultbehaviouristhereanotherseriousproblemthatmaycauseonthemaintenanceoftrouble.Becauseiflaterwanttomodifytheinterface(usuallybysuchabstractscale-uporwithtorepresent)toadapttothenewsituation(e.g.,addingnewmethodsortohavealreadyusedthemethodtoaddnewparameters),willbeverytroublesome,mightspendalotoftime(foraderivedclassmanysituation,especially).Butiftheinterfaceisthroughscale-upabstracttorealize,thenmayjustneedtomodifydefinedintheabstractscale-updefaultbehaviorisok.Similarly,ifnotinabstractclassdefinedinthedefaultbehavior,canleadtothesamemethodtoappearintheabstractclasseveryaderivedclass,violated"a-oneru

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論