版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、蘇州科技學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 開發(fā)電子白板和即時(shí)通訊集成的工具摘 要本文主要介紹了電子白板的開發(fā)應(yīng)用和即時(shí)通訊工具的集合。本設(shè)計(jì)開發(fā)兩者有機(jī)結(jié)合在一起的集成工具,它不僅具有即時(shí)通訊的功能,也具有電子白板的功能。主要通過運(yùn)用java的相關(guān)知識,并且?guī)氲谌絡(luò)ar包,來設(shè)計(jì)出能寫會畫的電子白板,并集成通訊工具,用戶擁有自己的賬戶密碼,來連接服務(wù)器并能相互交流。本次課程設(shè)計(jì)是配合java程序設(shè)計(jì)課程,幫助我們深入學(xué)習(xí)掌握java語言,熟練運(yùn)用這個(gè)工具來編寫的。通過課程設(shè)計(jì)各個(gè)項(xiàng)目的綜合訓(xùn)練,培養(yǎng)學(xué)生實(shí)際分析問題、編程和動手能力、提高學(xué)生的綜合素質(zhì)。本課程設(shè)計(jì)嘗試使用一些較生動的示例和設(shè)計(jì)項(xiàng)目
2、,激發(fā)學(xué)生學(xué)習(xí)興趣,引導(dǎo)學(xué)生主動學(xué)習(xí),正確理解、接受需要重點(diǎn)掌握的知識點(diǎn),為參加項(xiàng)目開發(fā)及更深入學(xué)習(xí)做好準(zhǔn)備。關(guān)鍵詞 電子白板;即時(shí)通訊;集成;第三方;javadeveloping the electronic board and instant messaging integrated toolabstractthis paper mainly introduces the development and application of electronic board and instant messaging tools collection. this design developmen
3、t combines both functions which are instant messaging and electronic board with integrated tool. it mainly uses the knowledge of java and bring it into the third party jar bag to designelectronic board which can write and draw. and it and integrates communication tools. users have their own account
4、passwords to connect to the server and communicate with one another.this course is designed to cooperate with java program design course to help us deeply learn java language and skillfully use this tool to write. we can train students practical analysis problem, programming and the beginning abilit
5、y and improve the students comprehensive quality through the comprehensive training of course design of each project. the course is designed to try to use some more vivid examples and design projects to stimulate the students the interest of study, to guide the student active learning, to understand
6、 correctly and accept the importance which is to master the knowledge, to get ready for the project development and more in-depth study.keywords electronic board; instant communication; integration; the third party; java目 錄23第1章 緒論31.1引言31.2概要31.2.1研究背景31.2.2研究及意義4第2章 開發(fā)環(huán)境及相關(guān)技術(shù)介紹52.1開發(fā)環(huán)境52.1.1開發(fā)環(huán)境及相
7、關(guān)技術(shù)介紹52.2java技術(shù)簡介6第3章 系統(tǒng)分析與概要設(shè)計(jì)83.1需解決的有關(guān)技術(shù)問題83.2最終目標(biāo)93.3運(yùn)行環(huán)境93.4總體設(shè)計(jì)93.4.1設(shè)計(jì)思路93.4.2類的分析93.4.3程序設(shè)計(jì)的相關(guān)流程10第4章 電子白板和通訊工具104.1電子白板104.1.1主窗體的設(shè)計(jì)104.1.2菜單欄和工具欄的設(shè)計(jì)114.1.3事件響應(yīng)的處理114.1通訊工具114.2.1服務(wù)器端流程圖114.2.2客戶端流程圖124.3電子白板與通訊工具的集成134.3.1軟件的集成134.3.2集成的優(yōu)勢144.3.3白板與通訊的集成特點(diǎn)15第5章 程序框架與運(yùn)行原理155.1操作對象和數(shù)據(jù)對象155.1
8、.1箭頭對象( 矩形、直線、橢圓)155.1.2繪畫操作(刪除、填充)165.1.3數(shù)據(jù)對象165.2賬戶聊天流程17第6章 程序截圖186.1菜單賬戶主界面186.1.1工具菜單欄186.2繪圖界面以及聊天界面196.2.1工具菜單欄196.2.2畫圖模塊196.2.3聊天窗口22結(jié) 論22致 謝23參 考 文 獻(xiàn)24第1章 緒 論1.1 引言java不依賴平臺的特點(diǎn)使它受到廣泛的關(guān)注,java已成為網(wǎng)絡(luò)時(shí)代最重要的語言之一。目前,java語言不僅是一門被廣泛使用的編程語言,而且已成為軟件設(shè)計(jì)開發(fā)者應(yīng)當(dāng)掌握的一門基礎(chǔ)語言。因?yàn)楹芏嘈碌募夹g(shù)領(lǐng)域都涉及到j(luò)ava語言,國內(nèi)外許多大學(xué)已將java語
9、言列入本科教學(xué)計(jì)劃,而it行業(yè)對java人才的需求也在不斷的增長,因此,掌握java已經(jīng)成為共識。java是一門說簡單也不簡單,說難也不難的課程。所以,我們在學(xué)習(xí)的過程中要根據(jù)自己的具體情況,合理安排編程訓(xùn)練時(shí)間,相信編程能力會在不知不覺中得到提高。在此次的課程設(shè)計(jì)實(shí)踐中,我學(xué)到了教科書上沒有的東西。這次課程設(shè)計(jì),我按照課程設(shè)計(jì)的要求,分塊實(shí)現(xiàn)程序的功能。在實(shí)踐中我遇到許多的問題,但我都克服,最終我成功的完成了這次課程設(shè)計(jì)。從中我充分理解了java面對對象的特性,并體會到j(luò)ava與c語言的不同之處。在實(shí)踐的同時(shí),我又從中成長了許多,特別是在對程序的編譯和調(diào)試中掌握了許多的技巧和方法,為今后的其
10、他計(jì)算機(jī)語言的學(xué)習(xí)奠定了一定的基礎(chǔ)。集成通訊工具的電子白板上的內(nèi)容既可以是一些基本的簡單圖形( 如: 點(diǎn)、直線、矩形、 圓等),也可以是文字、圖像甚至可以是音頻、視頻,白板的數(shù)據(jù)是共享數(shù)據(jù)。當(dāng)一個(gè)用戶修改了其中數(shù)據(jù)之后,把立即修改通知給其他用戶,讓他們及時(shí)更新自己的白板視圖, 其更新結(jié)果應(yīng)該立即反映在其他所有用戶的視圖上。 因此,這要求偶我們熟悉并能熟練使用java語言,能掌握掌握網(wǎng)絡(luò)通訊原理。1.2 概要1.2.1 研究背景 網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,更多地帶給我們便利,譬如網(wǎng)絡(luò)上的交流。隨著網(wǎng)民的需求及技術(shù)的發(fā)展,交流平臺上衍生出網(wǎng)上對話、遠(yuǎn)程教學(xué)這類的軟件及網(wǎng)站。最普遍的,像我們都用的qq軟件
11、、飛信,阿里旺旺;微博,空間,論壇及電子白板。 電子白板可以與電腦進(jìn)行信息通訊,將電子白板連接到計(jì)算機(jī),并利用投影機(jī)將計(jì)算機(jī)上的內(nèi)容投影到電子白板屏幕上,在專門的應(yīng)用程序的支持下,可以構(gòu)造一個(gè)大屏幕、交互式的協(xié)作會議或教學(xué)環(huán)境。利用特定的定位筆代替鼠標(biāo)在白板上進(jìn)行操作,可以運(yùn)行任何應(yīng)用程序,可以對文件進(jìn)行編輯、注釋、保存等在計(jì)算機(jī)上利用鍵盤及鼠標(biāo)可以實(shí)現(xiàn)的任何操作。1.2.2 研究及意義 將電子白板有機(jī)得集成與通訊工具,這將我們普遍用的通訊軟件多媒體化。這對于人們更方便的交流具有重大的意義。將交流式電子白板應(yīng)用于教育具有重大意義。電子交互白板為資源型教學(xué)活動提供技術(shù)支撐;白板操作系統(tǒng)擴(kuò)展、豐富
12、了傳統(tǒng)計(jì)算機(jī)多媒體的工具功能,更加提高了視覺效果;提高教學(xué)效益,使教學(xué)的計(jì)劃性更強(qiáng)。 電子交互白板有利于教師開展團(tuán)隊(duì)教學(xué)研究;還能提高學(xué)生的注意力和理解力;便于學(xué)生復(fù)習(xí)以往的知識內(nèi)容并促進(jìn)學(xué)生掌握新知識;有利于調(diào)動學(xué)生在課堂上主動學(xué)習(xí)的積極性和參與性等。 電子白板由硬件電子感應(yīng)白板(white board)和軟件白板操作系統(tǒng)集成。它的核心組件由電子感應(yīng)白板、感應(yīng)筆、計(jì)算機(jī)和投影儀組成。電子感應(yīng)白板是一塊具有正常黑板尺寸、在計(jì)算機(jī)軟硬件支持下工作的大感應(yīng)屏幕,其作用相當(dāng)于計(jì)算機(jī)顯示器并代替?zhèn)鹘y(tǒng)的黑板。電子感應(yīng)筆承擔(dān)電子白板書寫筆和計(jì)算機(jī)鼠標(biāo)的雙重功用,其作用代替?zhèn)鹘y(tǒng)的粉筆。教師或?qū)W生直接用感應(yīng)筆
13、在白板上操作(相當(dāng)于傳統(tǒng)教學(xué)中師生用粉筆在黑板上操作):寫字或調(diào)用各種軟件,然后通過電磁感應(yīng)反饋到計(jì)算機(jī)中并迅速通過投影儀投射到電子白板上。白板操作系統(tǒng)是存在于計(jì)算機(jī)中的一個(gè)軟件平臺,它不僅支撐人與白板、計(jì)算機(jī)、投影儀之間的信息交換,而且它還自帶一個(gè)強(qiáng)大的學(xué)科素材庫和資源制作工具庫,并且是一個(gè)兼容操作各種軟件的智能操作平臺,教師可以在白板上隨意調(diào)用各種素材或應(yīng)用軟件教學(xué)。白板集傳統(tǒng)的黑板、計(jì)算機(jī)、投影儀等多種功能于一身,使教師使用非常方便。第2章 開發(fā)環(huán)境及相關(guān)技術(shù)介紹 2.1 開發(fā)環(huán)境2.1.1 開發(fā)環(huán)境及相關(guān)技術(shù)介紹開發(fā)語言為java,開發(fā)工具選用myeclipse。 java是一種簡單的
14、,面向?qū)ο蟮?,分布式的,解釋的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能很優(yōu)異的,多線程的動態(tài)語言。這里采用java作為開發(fā)語言主要是基于java的面向?qū)ο蠛涂梢浦残?。myeclipse是一個(gè)開放源碼的,基于java的可擴(kuò)展開放平臺。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組建構(gòu)建開發(fā)環(huán)境。java語言程序主要應(yīng)用于網(wǎng)絡(luò)服務(wù)器,一般計(jì)算機(jī),嵌入式設(shè)備,智能卡這四個(gè)領(lǐng)域。java2提供了開發(fā)這四類應(yīng)用程序的標(biāo)準(zhǔn)框架和運(yùn)行環(huán)境,其開發(fā)平臺有:(1)j2se標(biāo)準(zhǔn)版本(java2 stantdard edition):定位在客戶端,主要用于桌面應(yīng)用軟件的編程。(2)j2me(java2 mi
15、cro edition):主要用于嵌入式系統(tǒng)開發(fā),如手機(jī)和pda編程。(3)j2ee企業(yè)版本(java2 enterprise editon):定位在服務(wù)器端java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序開發(fā),如電子商務(wù)網(wǎng)站和erp系統(tǒng) java平臺演進(jìn)到j(luò)ava2后,java平臺分別針對不同領(lǐng)域的需求被分成四個(gè)版本,亦即j2ee、j2se、j2me以及javacard圖2-1 java 平臺的結(jié)構(gòu)2.2 java技術(shù)簡介 1.java語言的特點(diǎn)(1)簡單性java的風(fēng)格類似于c+,因而c+程序員是非常熟悉的。從某種意義上講,java語言c及c+的一個(gè)變種,因此,c+程序員可以很快就掌握java
16、編程技術(shù)。 (2)平臺無關(guān)性java引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺之間的java接口。使用java編寫的程序能在世界范圍內(nèi)共享。java的數(shù)據(jù)類型與機(jī)器無關(guān)。(3)安全性java的編程類似c+,但舍棄了c+的指針對存儲器地址的直接操作,程序運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針入侵系統(tǒng)。它提供了安全管理器,防止程序的非法訪問。(4)類裝載classloader通過將本機(jī)與網(wǎng)絡(luò)資源類的名稱分開來保持安全性。應(yīng)為裝載類時(shí)總要經(jīng)過檢查,這樣避免了特洛依木馬現(xiàn)象的出現(xiàn)。從網(wǎng)絡(luò)上下載的類被調(diào)進(jìn)一個(gè)與源相關(guān)的私有的名字域。當(dāng)一個(gè)私有類訪問另一個(gè)類時(shí),build-in(本機(jī)類)首
17、先被檢查,然后檢查相關(guān)的類。這樣就避免了破壞本積累情況的出現(xiàn)。(5)面向?qū)ο?java吸收了c+面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,實(shí)現(xiàn)了程序的簡潔性和便于維護(hù)性,使程序代碼可以只需一次編譯就可反復(fù)利用。(6)分布式 java建立在tcp/ip網(wǎng)絡(luò)平臺上,提供了用http和ftp協(xié)議傳送和接收信息的庫函數(shù),使用其相關(guān)技術(shù)可以十分方便的構(gòu)建分布式應(yīng)用系統(tǒng)。(7)健壯性 java致力與檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤,并自動回收內(nèi)存,減少了內(nèi)存出錯(cuò)的可能性。java取消了c語言的結(jié)構(gòu)、指針、#define語句、多重繼承、goto語句、操作符、重載等不易被掌握的特性,提供垃圾收集器自動回收不用的內(nèi)存空間。
18、(8)解釋的 java解釋器(運(yùn)行系統(tǒng)),能直接運(yùn)行目標(biāo)代碼指令。鏈接程序通常比編譯程序所需資源少,所以程序員可以在創(chuàng)建源程序上花更多的時(shí)間。(9)高性能如果解釋器速度較快,java可以在運(yùn)行時(shí)直接將目標(biāo)代碼翻譯成機(jī)器指令。sun用直接解釋器,一秒鐘內(nèi)可調(diào)用300,000個(gè)過程。翻譯目標(biāo)代碼的速度與c/c+的性能沒有什么區(qū)別。2.java的運(yùn)行機(jī)制java虛擬機(jī)(java virtual machine,jvm):java虛擬機(jī)可以理解成一個(gè)以字節(jié)碼為機(jī)器指令的cpu;對不同的運(yùn)行平臺,有不同的虛擬機(jī);java虛擬機(jī)機(jī)制屏蔽了底層運(yùn)行平臺的差別,真正實(shí)現(xiàn)了“一次編譯,隨處運(yùn)行”。3.java的
19、垃圾回收java垃圾回收(garbage collection):回收沒有使用的內(nèi)存空間。在c/c+等語言中,是由程序員負(fù)責(zé)回收無用的內(nèi)存。java語言消除了程序員回收無用內(nèi)存的職責(zé),它提供一種系統(tǒng)級線程跟蹤存貯空間的分配情況,并在jvm空閑的時(shí)候,檢查并釋放那些可以被釋放的內(nèi)存空間。垃圾回收在java運(yùn)行過程中自動進(jìn)行,程序員無法控制和干預(yù)。4.java的多線程java的多線程功能使得在一個(gè)程序里可同時(shí)執(zhí)行多個(gè)小任務(wù)。線程有時(shí)也稱小進(jìn)程,是一個(gè)大進(jìn)程里分出來的小的獨(dú)立的進(jìn)程。因此java實(shí)現(xiàn)的多線程技術(shù)比c和c+更健壯,多線程帶來的更大的好處是更好的交互性能和實(shí)時(shí)控制性能。當(dāng)然實(shí)時(shí)控制性能還
20、取決于系統(tǒng)本身(unix,windows,macintosh等),在開發(fā)難易程度和性能上都比單線程要好。任何用過當(dāng)前瀏覽器的人,都感覺為調(diào)一幅圖片而等待是一件很煩惱的事。在java里,可用一個(gè)線程來調(diào)一幅圖片,而我們可以訪問html里的其它信息而不必等待。在java里實(shí)現(xiàn)線程有兩種方式,一種是繼承thread類,覆蓋它的run()方法,另一種是實(shí)現(xiàn)runnable接口,實(shí)現(xiàn)它的run()方法。java中的線程有四種狀態(tài),分別是:new(新建狀態(tài)),runnable(可運(yùn)行狀態(tài)),blocked(阻塞狀態(tài)),dead(死亡狀態(tài)),其中可運(yùn)行狀態(tài)又分為運(yùn)行狀態(tài)和等待狀態(tài),另外將等待池和鎖池從阻塞狀
21、態(tài)分離。如果一個(gè)線程結(jié)束了,也就說明他是一個(gè)死線程了。當(dāng)程序員調(diào)用一個(gè)線程實(shí)例的start()的方法的時(shí)候,這時(shí)線程進(jìn)入就緒狀態(tài),但并不是運(yùn)行狀態(tài),當(dāng)虛擬機(jī)開始分配給他cpu的運(yùn)行時(shí)間片的時(shí)候線程開始進(jìn)入運(yùn)行狀態(tài),當(dāng)線程進(jìn)入等待狀態(tài)(例如等待某個(gè)事件發(fā)生的時(shí)候),這時(shí)候線程處于掛起狀態(tài)。第3章 系統(tǒng)分析與概要設(shè)計(jì)3.1 需解決的有關(guān)技術(shù)問題1. 使用面向過程的語言如c、pascal、ada、cobol等設(shè)計(jì)程序,需要選擇數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)算法,再把算法翻譯成代碼。像java等面向?qū)ο笳Z言不僅仍然具有面向過程語言的特點(diǎn),而且通過抽象、封裝、繼承和多態(tài)增加了靈活性、模塊性、清晰性和可重用性等有益特征。
22、在面向過程程序設(shè)計(jì)中,數(shù)據(jù)和對數(shù)據(jù)的操作時(shí)分離的,因而,這種做法需要把數(shù)據(jù)傳遞到方法中,面向?qū)ο蟪绦蛟O(shè)計(jì)把數(shù)據(jù)和屬于它們的操作放入叫做對象的實(shí)體中,這樣做解決了面向過程程序設(shè)計(jì)中不可避免的許多問題。面向?qū)ο蟪绦蛟O(shè)計(jì)中,所有對象都與屬性和活動聯(lián)系在一起,因此,面向?qū)ο蟪绦蛟O(shè)計(jì)是一種更貼近真實(shí)世界的模型組織程序。使用對象可以改進(jìn)軟件的可重用性,使程序更容易開發(fā)和維護(hù)。要以對象的觀點(diǎn)來考慮java程序,java程序可以看成相互合作的對象所構(gòu)成的集合。2. java不僅是一門編程語言,它還是一個(gè)具有龐大類和接口構(gòu)成的api庫的開發(fā)部署平臺。要開發(fā)自己的項(xiàng)目,必須使用這些api中的類和接口,遵從它們的習(xí)
23、慣和規(guī)則。為開發(fā)java圖形用戶界面程序而進(jìn)行api設(shè)計(jì)是體現(xiàn)面向?qū)ο笤瓌t的一個(gè)優(yōu)秀范例。學(xué)習(xí)java圖形用戶界面程序設(shè)計(jì)api的體系結(jié)構(gòu),學(xué)習(xí)利用圖形用戶界面組件開發(fā)界面友好的應(yīng)用程序和applet。3. gui可以使系統(tǒng)對用戶更友好且更易于使用。創(chuàng)建gui需要創(chuàng)造性和關(guān)于gui組件工作原理的知識。在java中,gui組件非常靈活多變,因而可以創(chuàng)建豐富多彩的用戶界面。許多java集成環(huán)境都提供用于可視化設(shè)計(jì)和開發(fā)gui接口的工具。這可以最少的編碼快速為java應(yīng)用程序或applet集成用戶界面(ui)的元素。然而,任何工具都不是萬能的,有時(shí)需要修改這些工具生成的程序。因此,在使用可視化工具之
24、前,非常有必要學(xué)習(xí)java gui程序的基本概念。3.2 最終目標(biāo)借助java的語言面向?qū)ο蟮膬?yōu)勢,創(chuàng)造一個(gè)能寫會畫的的電子白板。白板中類似于簡單的畫圖工具,有鉛筆,橡皮,填充,集合圖形以及顏色選擇等功能。并且集成于通訊工具,每個(gè)用戶有自己賬戶密碼來連接服務(wù)器,并且實(shí)現(xiàn)同一服務(wù)器登陸的用戶能在白板下方的聊天板塊自由交流。3.3 運(yùn)行環(huán)境正確安裝配置了jre1.6以上的windows和linux的pc機(jī)都可正常運(yùn)行。3.4 總體設(shè)計(jì)3.4.1 設(shè)計(jì)思路創(chuàng)建一個(gè)mapadeo主界面,工具欄里有控制菜單欄,工具菜單欄有,創(chuàng)建電子白板、連接服務(wù)器、以及賬戶密碼管理;還有語言菜單欄,并設(shè)置了英語和德語。
25、 新建電子白板:有文件菜單,提供輸出圖片;選項(xiàng)菜單,用來保存,加載,清除操作。下面則是畫板界面,用戶可以在此選擇繪圖。最下方還有聊天板塊。 賬戶管理設(shè)置:提供服務(wù)器選擇,添加用戶名,密碼和地點(diǎn)選項(xiàng)。3.4.2 類的分析程序整體包括2個(gè)部分,分為實(shí)現(xiàn)畫圖部分和實(shí)現(xiàn)聊天部分,分別分成2個(gè)包來實(shí)現(xiàn)代碼。net.zestflood.mapadeo包中,主要類有:arrowobject、chatinstanceinterface、chatinstancemanager、dataobject、ellipseobject、formula、freehandobject、friendlist、guimapade
26、o、lineobject、objectmanagement、rectangleobject、xmlstream以及main主類。net.zestflood.mapadeo.friendlist包中含有:accountmanager、chatinstancehandler、chatinstancehandlermuc、chatinstancehandlersingle、chatlistener、chatwindow、contact、initwhiteboard、reqwhiteboard、reqwhiteboardmuc、rosterchanger、rosterchangerdialog、ros
27、termanager、settings、xmlcontrolextension、xmlcontrolextensionprovider、xmlextension、xmlextensionprovider、xmliqextension、xmliqextensionlistener這些類。3.4.3 程序設(shè)計(jì)的相關(guān)流程。 未完待續(xù) 。第4章 電子白板和通訊工具4.1 電子白板實(shí)際上就是1個(gè)java畫板。4.1.1 主窗體的設(shè)計(jì)主類(guimapad)用來生成主界面,完成白板的主要框架。主類由jframe派生出來、主界面由菜單欄、選項(xiàng)欄和畫圖區(qū)域三部分組成,布局格式采用borderlayout布局格
28、式。4.1.2 菜單欄和工具欄的設(shè)計(jì)菜單欄包括文件菜單欄和選項(xiàng)菜單欄。其中,文件菜單欄作用是圖像輸出;選項(xiàng)菜單欄包括保存,載入,清除等。在主類中添加并對菜單欄和選項(xiàng)欄添加事件監(jiān)聽。4.1.3 事件響應(yīng)的處理(1).選項(xiàng)菜單欄中的保存,載入事件處理:java把每個(gè)文件都視作順序字節(jié)流。如果要在java中進(jìn)行文件處理,則必須用到j(luò)ava.io包。這個(gè)包定義了一些流類,選用fileinputstream(從文件中讀入數(shù)據(jù))和fileoutstream(從文件輸出數(shù)據(jù)),通過這些文件的對象便可以載入文件。這些流相應(yīng)地從inputsream和outputstream派生,這些文件均使用文件流,所以必須將
29、文件結(jié)構(gòu)化以適應(yīng)程序的要求。我們需要對保存的對象序列化,然后以輸出流的方式保存。(2).鼠標(biāo)畫圖:由于白板主要用來畫圖,所以需要在程序中添加對鼠標(biāo)按下、拖動、進(jìn)入。退出、移動和單擊事件進(jìn)行監(jiān)聽并進(jìn)行處理。內(nèi)部類定義了完成鼠標(biāo)按下、松開、進(jìn)入、退出的事件響應(yīng)以及完成鼠標(biāo)拖動和移動事件的響應(yīng)。4.1 通訊工具4.2.1 服務(wù)器端流程圖 服務(wù)器選擇 - 端口設(shè)置賬戶管理使用端口初始化服務(wù)器套接字將客戶信息寫入列表框啟動線程,監(jiān)聽聊天室 刷新客戶端信息檢查當(dāng)前用戶連接數(shù)是處理產(chǎn)生的錯(cuò)誤異常否實(shí)例化一個(gè)client線程類 一個(gè)對應(yīng)一個(gè)客戶連接是否斷開?斷開服務(wù)器是4.2.2 客戶端流程圖白板客戶端界面
30、運(yùn)行并連接服務(wù)器用戶是否請求連接是將電子白板聊天線程實(shí)例化啟動線程 監(jiān)聽服務(wù)器傳來的信息請求斷開連接否是運(yùn)行斷開方法是定義并實(shí)例化一個(gè)字符緩沖存儲信息 用打印流發(fā)送信息線程處理服務(wù)器傳來的信息發(fā)送聊天消息4.3 電子白板與通訊工具的集成跳過集成,我們來設(shè)計(jì)電子白板和通訊工具,那只能是2個(gè)軟件,并且兩者之間沒任何的聯(lián)系。通過集成,能電子白板和通訊工具結(jié)合起來變成1個(gè)軟件,2種不同的功能,并且互相聯(lián)系。這就是功能的拓展。4.3.1 軟件的集成軟件集成就是用一種較好的方式,使多種軟件的功能集成到一個(gè)軟件里,或是把軟件的各部分組合在一起。軟件集成是指將完成某項(xiàng)工作的一組相關(guān)的應(yīng)用程序組織起來在一個(gè)統(tǒng)一
31、的操作環(huán)境下以綜合一致和整體連貫的形態(tài)來進(jìn)行工作。數(shù)據(jù)集成模型的基本思想史對各種軟件組件的數(shù)據(jù)存取進(jìn)行集成。這樣,用戶在存取數(shù)據(jù)時(shí)就可以繞過相應(yīng)的應(yīng)用軟件,而直接獲取該軟件所創(chuàng)建并存儲的相應(yīng)信息。例如:我們可以利用數(shù)據(jù)庫網(wǎng)關(guān)訪問使用ibm db2數(shù)據(jù)的客戶訂單系統(tǒng)和使用oracle數(shù)據(jù)庫的客戶賬單系統(tǒng)。網(wǎng)關(guān)負(fù)責(zé)將信息從各個(gè)數(shù)據(jù)庫中抽出,存放到一個(gè)用來評估客戶購物習(xí)慣的數(shù)據(jù)挖掘應(yīng)用程序中。這樣,在使用網(wǎng)關(guān)時(shí),我們就可以繞過訂單處理軟件和賬單軟件而直接獲取數(shù)據(jù)。數(shù)據(jù)集成模型通過直接訪問軟件所創(chuàng)建、維護(hù)并存儲的相應(yīng)信息來實(shí)現(xiàn)軟件集成,這樣做通常是為了在應(yīng)用軟件之間實(shí)現(xiàn)數(shù)據(jù)的重用和同步。如果你想要實(shí)現(xiàn)
32、以下目標(biāo),就應(yīng)該使用數(shù)據(jù)集成模型:從多個(gè)信息源綜合數(shù)據(jù)來進(jìn)行分析和決策。例如,從多個(gè)包含用戶信息的數(shù)據(jù)源獲取信息,并把它們送到統(tǒng)計(jì)軟件包。向多個(gè)應(yīng)用軟件提供某公共信息源的只讀訪問權(quán)限。例如,創(chuàng)建一個(gè)有完整用戶信息的數(shù)據(jù)庫,并運(yùn)行多個(gè)數(shù)據(jù)挖掘或統(tǒng)計(jì)軟件訪問該數(shù)據(jù)庫的情況。從一個(gè)數(shù)據(jù)源提取信息并轉(zhuǎn)換為合適的格式,以此來更新另一數(shù)據(jù)源的信息。例如,想要更新所有數(shù)據(jù)源的客戶地址信息,使它們保持同步和一致。4.3.2 集成的優(yōu)勢集成就是將多種軟件的功能集中在一個(gè)軟件,并達(dá)到互相聯(lián)系的作用在過去的30年中,應(yīng)用在信息系統(tǒng)中的集成概念已經(jīng)引人注目的變化。最開始集成主要是將一套不同的硬件聯(lián)系在一起支持從頭開發(fā)
33、的軟件。但隨著硬件的發(fā)展,使得構(gòu)建更加復(fù)雜的軟件成為可能,集成的特性發(fā)生的變化。集成越來越意味著耦合硬件和軟件來形成一個(gè)系統(tǒng)?,F(xiàn)代集成的概念是由軟件主導(dǎo)的。企業(yè)越來越多地致力于將他們已有的軟件與新軟件進(jìn)行集成來實(shí)現(xiàn)新的功能?;ヂ?lián)網(wǎng)絡(luò)的出現(xiàn)使我們可以通過網(wǎng)絡(luò)在不同的硬件平臺上使用這些軟件,從而使集成工作比以往更加復(fù)雜。eai代表了系統(tǒng)設(shè)計(jì)方法的技術(shù)的變革,其目的是減少現(xiàn)今系統(tǒng)集成工作的復(fù)雜程度。隨著集成特性的改變,集成方案選項(xiàng)的復(fù)雜度和廣泛度都有了一定的提高。包括在應(yīng)用程序間共享數(shù)據(jù)并保證其正確性和一致性,提供應(yīng)用程序的集成前端訪問,通過工作流程來聯(lián)系各個(gè)應(yīng)用程序,并以革新的方式從現(xiàn)有應(yīng)用程序中
34、提取信息來創(chuàng)建新的應(yīng)用程序。eai的最終目標(biāo)是使一個(gè)企業(yè)可以快速、方便地將不同應(yīng)用程序集成到一起。4.3.3 白板與通訊的集成特點(diǎn)我們通過電子白板能進(jìn)行自由式地畫圖,并且能在下方的聊天窗口與同服務(wù)器的用戶進(jìn)行交流。而且進(jìn)行賬戶密碼的管理,能講完成的畫圖輸出與他人交流,這就是集成給我們帶來的好處。集成也簡化了訪問數(shù)據(jù)庫的過程。當(dāng)數(shù)據(jù)庫使用接口很容易訪問時(shí),或是在使用中間件向新的應(yīng)用程序提供多數(shù)據(jù)源集成時(shí),數(shù)據(jù)集成模型就可加快集成速度。每種集成都與一種數(shù)據(jù)模型相聯(lián)系。如果數(shù)據(jù)模型發(fā)生改變,那么集成就會被破壞。這就使數(shù)據(jù)集成對變化非常敏感。由于系統(tǒng)通常是不斷演變的,因此這樣的改變將會導(dǎo)致為了維護(hù)集成
35、而付出大量工作。第5章 程序框架與運(yùn)行原理5.1 操作對象和數(shù)據(jù)對象5.1.1 箭頭對象( 矩形、直線、橢圓) 自動發(fā)送給其他用戶創(chuàng)建參數(shù)設(shè)置屬性 檢查p點(diǎn)是否在所取對象里,在的話計(jì)算p點(diǎn)在直線的距離,使用基本線性代數(shù)檢查點(diǎn)位置 粗線條實(shí)際上是多邊形填充,通過x,y的增量點(diǎn)端點(diǎn)創(chuàng)建一個(gè)長方形調(diào)節(jié)粗細(xì) 創(chuàng)建xml表示的對象,到一個(gè)dataobject箭頭節(jié)點(diǎn)和提取數(shù)據(jù)創(chuàng)建一個(gè)新的 arrowobject。得到一個(gè)改變字符串發(fā)送給其他用戶。創(chuàng)建xml調(diào)整大小矩形、直線、橢圓等對象與箭頭流程類似。5.1.2 繪畫操作(刪除、填充)在短距離的數(shù)組中加入點(diǎn)后,對滾動條設(shè)置正確的面板大小。選中按鈕收集位置如果fillbotton被選中,改變選中對象的顏色選擇。如果cutbotton被選中,刪除選中的對象時(shí)。填充對象抹去對象5.1.3 數(shù)據(jù)對象改變字符串發(fā)送給用戶,覆蓋子類在面板移動對象如果點(diǎn)p在corner里,覆蓋一個(gè)dataobject子類計(jì)算容器大小,以便顯示,所有組件并添加到容器獲取對象,拖動對象,檢查是否有容器檢查是否在拖拽區(qū)域返回x,y的位置獲取xml表示當(dāng)前對象,覆蓋一個(gè)子類,發(fā)送用戶一個(gè)完整對象獲得組件的容器里,返回點(diǎn)(x,y),拖動方法處理,跳幀大小5.2 賬戶聊天流程將數(shù)據(jù)存儲、配置創(chuàng)建賬戶上選定的服務(wù)器自動創(chuàng)建一個(gè)隨機(jī)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漁船航行安全性研究-洞察分析
- 二零二四年度中式面館租賃合同樣本2篇
- 2021-2026年中國甲磺酸伊馬替尼行業(yè)市場供需格局及投資規(guī)劃建議報(bào)告
- 四年級數(shù)學(xué)(四則混合運(yùn)算帶括號)計(jì)算題專項(xiàng)練習(xí)與答案
- 三年級數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)及答案集錦
- 2025年中國電動車窗市場調(diào)查研究及行業(yè)投資潛力預(yù)測報(bào)告
- 2024年中國智能手機(jī)市場監(jiān)測報(bào)告
- 2024-2029年中國計(jì)算機(jī)輔助翻譯(CAT)系統(tǒng)市場前瞻與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 2025年IP罐用涂料項(xiàng)目可行性研究報(bào)告
- 2025年中國運(yùn)動防護(hù)用具行業(yè)發(fā)展監(jiān)測及發(fā)展戰(zhàn)略規(guī)劃報(bào)告
- 2025屆高考語文復(fù)習(xí):散文的結(jié)構(gòu)與行文思路 課件
- 拉薩市2025屆高三第一次聯(lián)考(一模)語文試卷(含答案解析)
- 《保密法》培訓(xùn)課件
- 回收二手機(jī)免責(zé)協(xié)議書模板
- (正式版)JC∕T 60023-2024 石膏條板應(yīng)用技術(shù)規(guī)程
- (權(quán)變)領(lǐng)導(dǎo)行為理論
- 2024屆上海市浦東新區(qū)高三二模英語卷
- 2024年智慧工地相關(guān)知識考試試題及答案
- GB/T 8005.2-2011鋁及鋁合金術(shù)語第2部分:化學(xué)分析
- 不動產(chǎn)登記實(shí)務(wù)培訓(xùn)教程課件
- 不銹鋼制作合同范本(3篇)
評論
0/150
提交評論