影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

軟件工程課程設(shè)計——遠(yuǎn)程監(jiān)控系統(tǒng).doc

上傳人:good****022 文檔編號:116512934 上傳時間:2022-07-05 格式:DOC 頁數(shù):31 大?。?.69MB
收藏 版權(quán)申訴 舉報 下載
軟件工程課程設(shè)計——遠(yuǎn)程監(jiān)控系統(tǒng).doc_第1頁
第1頁 / 共31頁
軟件工程課程設(shè)計——遠(yuǎn)程監(jiān)控系統(tǒng).doc_第2頁
第2頁 / 共31頁
軟件工程課程設(shè)計——遠(yuǎn)程監(jiān)控系統(tǒng).doc_第3頁
第3頁 / 共31頁

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

15 積分

下載資源

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

資源描述:

《軟件工程課程設(shè)計——遠(yuǎn)程監(jiān)控系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《軟件工程課程設(shè)計——遠(yuǎn)程監(jiān)控系統(tǒng).doc(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 編號:04 軟件工程軟件工程課程設(shè)計課程設(shè)計 題目題目:基于基于 CSCS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn)模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 系系 (院):信息工程學(xué)院(院):信息工程學(xué)院 專專 業(yè):計算機(jī)科學(xué)與技術(shù)業(yè):計算機(jī)科學(xué)與技術(shù) 班班 級:計科級:計科 0901B0901B 組組 長:謝永路長:謝永路 組組 員:趙春樂員:趙春樂 胡園胡園 劉燕三劉燕三 指導(dǎo)教師:王娟娟指導(dǎo)教師:王娟娟 目錄目錄 一、可行性分析報告一、可行性分析報告.4 引言4 1.2 可行性分析的前提 4 1.3對現(xiàn)有系統(tǒng)的分析 .5 通過綜合各個方面的資料,我們了解到基于 BS 模式的系

2、統(tǒng)尚未成形普及,這說明基于 BS 模 式的系統(tǒng)的需求很大!5 1.4 所建議的系統(tǒng) 5 可以使用 CS 模式,但這使用起來有一定的局限性,不能滿足用戶的需要!也不符合 INTENET 的快速發(fā)展的需要!5 1.5 可選擇的其他系統(tǒng)方案.5 如果 CS 模式開發(fā)出現(xiàn)問題,我們可以現(xiàn)開發(fā) BS 模式,雖然與我們的期望南轅北轍,但可以 把這看成第一個版本,這樣也可以為 CS 模式墊定基礎(chǔ)!這只是一種方案!.5 1.6 投資及效益分析 5 開發(fā)這款軟件投資較小,我們需要的只是在電腦上進(jìn)行編程,投資較??!而且這個系統(tǒng)又是 當(dāng)今社會所需要的,他能滿足我們各個方面的需求!所以未來的效益也是非常可觀的!.5

3、1.7 社會因素方面的可行性.5 1.8 結(jié)論5 二、二、 需求規(guī)格說明書需求規(guī)格說明書 .6 1概述(SUMMARY) 6 2問題初始分析(EARLY ANALYSIS).7 3目標(biāo)系統(tǒng)功能需求(FUNCTION OF TARGET SYSTEM) .7 4目標(biāo)系統(tǒng)性能需求(PERFORMANCE OF TARGET SYSTEM).7 5目標(biāo)系統(tǒng)界面與接口需求(INTERFACE OF TARGET SYSTEM)8 6目標(biāo)系統(tǒng)其他需求(OTHER REQUIREMENTS OF TARGET SYSTEM).8 7目標(biāo)系統(tǒng)假設(shè)與約束條件(SUPPOSE AND RESTRICTION O

4、F TARGET SYSTEM).9 三、總體設(shè)計說明書三、總體設(shè)計說明書.9 1.1 遠(yuǎn)程監(jiān)控的背景知識 10 1 2 遠(yuǎn)程監(jiān)控軟件的原理.10 2 系統(tǒng)需求分析及理論基礎(chǔ)系統(tǒng)需求分析及理論基礎(chǔ)10 2.1 系統(tǒng)需求分析 10 2.2 系統(tǒng)開發(fā)原理及關(guān)鍵技術(shù).11 2.3 系統(tǒng)的開發(fā)平臺 11 2.4 編程運行環(huán)境 13 四、詳細(xì)設(shè)計說明書四、詳細(xì)設(shè)計說明書 .13 3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計和分析.13 3.2 程序流程及分析 14 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 3 五、源程序清單五、源程序清單.18 4.1 系統(tǒng)主要模塊設(shè)計 18 4.2 連續(xù)獲得被

5、監(jiān)控端機(jī)器屏幕變化功能實現(xiàn).18 六、用戶手冊六、用戶手冊.22 1前言(PREFACE) 22 2功能(FUNCTION).23 七、測試報告七、測試報告.24 1. 概述(SUMMARY).24 2. 組件測試(MODULE TEST)24 3功能測試(FUNCTION TEST).25 4. 測試結(jié)論(TEST VERDICT) 25 5 系統(tǒng)運行及測試結(jié)果 28 5.1 測試方法28 5.2 測試環(huán)境28 5 3 系統(tǒng)運行實例.28 八、軟件開發(fā)總結(jié)報告八、軟件開發(fā)總結(jié)報告30 參考文獻(xiàn)參考文獻(xiàn)31 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 4 一、可行性分

6、析報告一、可行性分析報告 引言引言 1.1.11.1.1 編寫目的編寫目的 看這個方案是否可行,是否滿足經(jīng)濟(jì)可行性,操作可行性,和技術(shù)可行性,只有各個 方面都可行,才可以進(jìn)行下面軟件的開發(fā),否則以后做的所有工作都白搭! 項目的目標(biāo):該項目的目標(biāo)是能夠?qū)崿F(xiàn) B/S 模式的遠(yuǎn)程監(jiān)控,對局域網(wǎng)乃至整個網(wǎng)絡(luò) 都能夠?qū)崿F(xiàn)遠(yuǎn)程監(jiān)控,讓用戶在任何一個地方都能夠?qū)μ崆霸O(shè)定的區(qū)域進(jìn)行監(jiān)控和管理。 1.1.2 背景 目前所有的系統(tǒng)都是在 CS 模式下完成,基于 BS 模式的遠(yuǎn)程監(jiān)控系統(tǒng)尚未出現(xiàn),在互 聯(lián)網(wǎng)發(fā)展的大背景下,基于 CS 模式的遠(yuǎn)程監(jiān)控系統(tǒng)也就應(yīng)用而生! 1.1.3 定義 基于 BS 模式的遠(yuǎn)程監(jiān)控系統(tǒng)

7、:就是讓用戶在任何地方,通過已經(jīng)聯(lián)網(wǎng)的瀏覽器,對提 前設(shè)定的區(qū)域進(jìn)行監(jiān)控和管理! 用戶 PC 機(jī):一臺普普通通的電腦,具體點這里指能夠上網(wǎng)的電腦。 普通攝像頭:他不具有網(wǎng)絡(luò)攝像頭的功能,只是有某種接口的普通攝像頭。 后臺服務(wù)器:他對用戶數(shù)據(jù)進(jìn)行分析與處理。管理真?zhèn)€網(wǎng)站。 1.1.4 參考資料 web 程序設(shè)計 (美)Robert W.Sebesta 著 JSP 基礎(chǔ)教程耿祥義 張躍平 編著 軟件工程導(dǎo)論 (第五版) 張海藩 編著 UML 基礎(chǔ)、案例與應(yīng)用 (第三版) (美)Joseph Schmuller 著 1.2 可行性分析的前提 1.2.1 要求 他必須的完成以下功能: (1) 、視頻數(shù)

8、據(jù)的實時傳輸 (2) 、視頻數(shù)據(jù)的存盤與管理 (2) 、視頻數(shù)據(jù)的分析以及圖像數(shù)據(jù)的分析 1.3 對現(xiàn)有系統(tǒng)的分析 通過綜合各個方面的資料,我們了解到基于 BS 模式的系統(tǒng)尚未成形普及,這說明 基于 BS 模式的系統(tǒng)的需求很大! 1.4 所建議的系統(tǒng) 可以使用 CS 模式,但這使用起來有一定的局限性,不能滿足用戶的需要!也不符合 Intenet 的快速發(fā)展的需要! 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 5 1.5 可選擇的其他系統(tǒng)方案 如果 CS 模式開發(fā)出現(xiàn)問題,我們可以現(xiàn)開發(fā) BS 模式,雖然與我們的期望南轅北轍, 但可以把這看成第一個版本,這樣也可以為 C

9、S 模式墊定基礎(chǔ)!這只是一種方案! 1.6 投資及效益分析 開發(fā)這款軟件投資較小,我們需要的只是在電腦上進(jìn)行編程,投資較小!而且這個系 統(tǒng)又是當(dāng)今社會所需要的,他能滿足我們各個方面的需求!所以未來的效益也是非常可觀 的! 1.7 社會因素方面的可行性 我們從三個方面分析該項目的可行性: 在操作方面:首先,在全校范圍內(nèi)沒有該系統(tǒng),或類似于該系統(tǒng)的東西出現(xiàn)。而我們 又非常的渴望這樣的系統(tǒng)。比如,對于機(jī)房,機(jī)房管理員或任課教師就不用去機(jī)房,就能 對整個機(jī)房的情況進(jìn)行監(jiān)控。對于宿舍或者其他居住場所,我們可以隨時隨地的通過網(wǎng)絡(luò), 對這些地方進(jìn)行遠(yuǎn)程監(jiān)控和管理。也就是說,用戶只需要通過瀏覽器,輸入自己的賬

10、號和 密碼,就可以實現(xiàn)對現(xiàn)場設(shè)備狀態(tài)的安全監(jiān)控!在操作上是行的通的。 在技術(shù)方面:我們采用 java web 程序設(shè)計,它是基于 JAVA 面向?qū)ο蟮?。并且我們?用學(xué)習(xí)過的三種框架技術(shù),實現(xiàn)整個網(wǎng)絡(luò)編程。這些技術(shù)都是我們學(xué)習(xí)過,并且都已經(jīng)掌 握的。我們會涉及到圖像識別,數(shù)據(jù)的分析與處理等這些前沿的東西。我們相信,在技術(shù) 上我們完全可以做到。 在經(jīng)濟(jì)方面:我們不需要學(xué)校的補(bǔ)助,我們小組每個人都有電腦,如果可以的話,我 們也能去機(jī)房,完成項目的編碼與測試。可以說我們不需要什么費用,就可以完成這個項 目。所以我們共同認(rèn)為經(jīng)濟(jì)上絕對不是一個問題! 1.8 結(jié)論 開發(fā)這個系統(tǒng)是可行的,不管從我們小組個

11、人能力,還是從未來發(fā)展方向,都能為我們 在 web 方向的學(xué)習(xí),墊定基礎(chǔ)! 二、二、 需求規(guī)格說明書需求規(guī)格說明書 完成人完成人: 謝永路 1 1概述(概述(SummarySummary) 1.11.1 項目的目的與目標(biāo)(項目的目的與目標(biāo)(PurposePurpose andand AimAim ofof ProjectProject) 項目名稱是:基于 web 技術(shù)的遠(yuǎn)程安全監(jiān)控系統(tǒng)。項目的目的是用戶可以在任何一個 地方,通過網(wǎng)絡(luò)就能對提前設(shè)置的區(qū)域進(jìn)行監(jiān)控和管理,而不用去監(jiān)控室里,這樣非常的 方便,他是隨著 Internet 發(fā)展,應(yīng)用而生,他是基于 B/S 模式的,而傳統(tǒng)的監(jiān)控系統(tǒng)是基

12、于 C/S 模式。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 6 項目的目標(biāo):該項目的目標(biāo)是能夠?qū)崿F(xiàn) B/S 模式的遠(yuǎn)程監(jiān)控,對局域網(wǎng)乃至整個網(wǎng)絡(luò) 都能夠?qū)崿F(xiàn)遠(yuǎn)程監(jiān)控,讓用戶在任何一個地方都能夠?qū)μ崆霸O(shè)定的區(qū)域進(jìn)行監(jiān)控和管理。 整個該系統(tǒng)的工作流程如上圖所示,服務(wù)器從攝像頭獲得數(shù)據(jù),PC 機(jī)能夠訪問服務(wù)器,并 可以得到實時數(shù)據(jù)和已經(jīng)存盤的數(shù)據(jù)。并且用戶也可以通過服務(wù)器對遠(yuǎn)程攝像頭進(jìn)行控制。 另外系統(tǒng)所實現(xiàn)的功能遠(yuǎn)不止這些,他要對后臺服務(wù)器進(jìn)行全面管理。又類似一個網(wǎng)站的 功能。所有的這些都是該項目的目的。 1.21.2 術(shù)語定義(術(shù)語定義(TermsTerms Glo

13、ssaryGlossary) 用戶 PC 機(jī):一臺普普通通的電腦,具體點這里指能夠上網(wǎng)的電腦。 普通攝像頭:他不具有網(wǎng)絡(luò)攝像頭的功能,只是有某種接口的普通攝像頭。 后臺服務(wù)器:他對用戶數(shù)據(jù)進(jìn)行分析與處理。管理真?zhèn)€網(wǎng)站。 1.31.3 相關(guān)文檔(相關(guān)文檔(RelatedRelated DocumentsDocuments) 說明用戶需求報告的變更,以及可能受變更影響的其他相關(guān)文檔,如:項目開發(fā)計劃 和設(shè)計說明書。 web 程序設(shè)計 (美)Robert W.Sebesta 著 JSP 基礎(chǔ)教程耿祥義 張躍平 編著 軟件工程導(dǎo)論 (第五版) 張海藩 編著 UML 基礎(chǔ)、案例與應(yīng)用 (第三版) (美)

14、Joseph Schmuller 著 Java 核心技術(shù)Cay S.Horstmann Gary Cornell 編著 數(shù)據(jù)庫系統(tǒng)概論王珊 薩師煊 著 2 2問題初始分析(問題初始分析(EarlyEarly AnalysisAnalysis) 我們對整個項目進(jìn)行全面分析以后,發(fā)現(xiàn)該項目面臨的問題如下: (1) 、如何把攝像頭中的數(shù)據(jù)傳到服務(wù)器中,并每隔一段時間進(jìn)行保存,如果是多個攝像 頭,又該如何傳輸,這涉及到多線程并發(fā)的操作。 (2) 、用戶如何通過網(wǎng)絡(luò)從服務(wù)器上獲得數(shù)據(jù),以及獲得的是實時數(shù)據(jù)。如果該用戶又多 個攝像頭,又該獲得每個攝像頭中的數(shù)據(jù)。 (3) 、后臺服務(wù)器,如何管理。 (4)

15、、用戶如何通過服務(wù)器對遠(yuǎn)程攝像頭進(jìn)行控制。 2.12.1 場景描述(場景描述(SceneScene DescriptionDescription) 用戶所處的位置可以是任何一個地點,首先用戶的電腦必須能夠上網(wǎng)。也就是說能夠 普通攝像頭 服務(wù)器 用戶 PC 機(jī) 數(shù)據(jù)傳輸 發(fā)出請求 數(shù)據(jù)傳輸 控制命令 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 7 通過瀏覽器進(jìn)行訪問,用戶不需要安裝任何軟件。 用戶必須在某個區(qū)域配置有攝像頭,該攝像頭并且能夠連接到服務(wù)器中去。 2.22.2 初始功能提取(初始功能提?。‥arlyEarly FunctionFunction Distill

16、Distill) (1) 、視頻數(shù)據(jù)的實時傳輸 (2) 、視頻數(shù)據(jù)的存盤與管理 (2) 、視頻數(shù)據(jù)的分析以及圖像數(shù)據(jù)的分析 3 3目標(biāo)系統(tǒng)功能需求(目標(biāo)系統(tǒng)功能需求(FunctionFunction ofof TargetTarget SystemSystem) 3.13.1 功能需求分析(功能需求分析(FunctionFunction AnalysisAnalysis) 創(chuàng)建用例模型與域模型,要求采用用例表進(jìn)行用例規(guī)約描述,必要時采用活動圖進(jìn)行 檢驗。 用戶 查看視頻 注冊登錄 管理攝像頭 查詢視頻 管理視頻 4 4目標(biāo)系統(tǒng)性能需求(目標(biāo)系統(tǒng)性能需求(PerformancePerforman

17、ce ofof TargetTarget SystemSystem) 在 B/S 模式下采用傳統(tǒng)的三層體系結(jié)構(gòu)來設(shè)計監(jiān)控組態(tài)軟件,并不能直接實現(xiàn)與被控 對象進(jìn)行數(shù)據(jù)通信,因此基于 Web 技術(shù)的監(jiān)控組態(tài)軟件采用四層體系結(jié)構(gòu)進(jìn)行設(shè)計,如圖 2 所示。它是在一般的三層體系結(jié)構(gòu)的基礎(chǔ)上增加了控制層,用來實現(xiàn) Web 服務(wù)器與被控 對象的通信,進(jìn)一步控制被控對象。這樣既充分利用了現(xiàn)有的網(wǎng)絡(luò)資源和工業(yè)現(xiàn)場資源, 也使得兩者有機(jī)地結(jié)合在一起,達(dá)到了 Web 服務(wù)器與現(xiàn)場設(shè)備通過現(xiàn)場總線進(jìn)行遠(yuǎn)程通信 的目的。 4.14.1 時間要求(時間要求(TimeTime RequestRequest) 如: (1)響

18、應(yīng)時間,如查詢的最長等待時間。 (2)更新處理時間,如記賬的最長時間。 (3)數(shù)據(jù)的轉(zhuǎn)換和傳送時間,如遠(yuǎn)程數(shù)據(jù)傳輸?shù)臅r間要求。 (4)解題時間。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 8 以上的時間要求,我們會控制在 2s 內(nèi)完成??赡苓@個時間有些長,但是必須考慮到, 網(wǎng)絡(luò)的流量以及網(wǎng)絡(luò)阻塞情況。就好比你上網(wǎng)看視頻,如果網(wǎng)速很慢,你等的時間會很長 些,如果網(wǎng)速快,你可能不用等很長時間。實時視頻的傳輸速率也和網(wǎng)絡(luò)狀況有關(guān)。 4.24.2 空間要求(空間要求(SpaceSpace RequestRequest) 如: (1)支持的終端數(shù)。 (2)支持的并行操作的使用

19、者數(shù)。 (3)處理的文件和記錄數(shù)。 (4)處理任務(wù)的數(shù)量。 (5)對輸入和輸出數(shù)據(jù)的精度要求。 (6)對處理和傳輸過程中的精度要求。 5 5目標(biāo)系統(tǒng)界面與接口需求(目標(biāo)系統(tǒng)界面與接口需求(InterfaceInterface ofof TargetTarget SystemSystem) 5.15.1 界面需求(界面需求(InterphaseInterphase RequirementRequirement) 界面的原則要求,如方便、簡潔、美觀、一致等。整個系統(tǒng)的界面風(fēng)格定義,某些功 能模塊的特殊的界面要求。 (1)輸入設(shè)備:鍵盤、鼠標(biāo)、條碼掃描器、掃描儀等; (2)輸出設(shè)備:顯示器、打印機(jī)、

20、光盤刻錄機(jī)、磁帶機(jī)、音箱等; (3)顯示風(fēng)格:圖形界面、字符界面、IE 界面等; (4)顯示方式:1024*768、640*480 等; (5)輸出格式:顯示布局、打印格式等。 我們設(shè)計的界面一定要達(dá)到美觀,易懂,并且會有相應(yīng)的提示說明。在輸入、輸出設(shè) 備上,沒有太大的要求。該系統(tǒng)采用的顯示風(fēng)格是 IE 界面。至于顯示方式,他會根據(jù)用戶 電腦的分辨率進(jìn)行調(diào)節(jié),以適應(yīng)任何形式的顯示方式。在輸出格式方面,該系統(tǒng)會兼顧各 個方面,我們的輸出格式會達(dá)到形式多樣化。 總之,他會讓用戶看著舒心,用著放心。任何人都可以使用。 5.25.2 接口需求(接口需求(InterfaceInterface Requi

21、rementRequirement) 與其他系統(tǒng)的接口,如監(jiān)控系統(tǒng)、控制系統(tǒng)、銀行結(jié)算系統(tǒng)、稅控系統(tǒng)、財務(wù)系統(tǒng)、 政府網(wǎng)絡(luò)系統(tǒng)及其他系統(tǒng)等。 (1)與系統(tǒng)特殊外設(shè)的接口,如 CT 機(jī)、磁共振、柜員機(jī)(ATM) 、IC 卡、盤點機(jī)等。 (2)與中間件的接口,要列出接口規(guī)范、入口參數(shù)、出口參數(shù)、傳輸頻率等。 應(yīng)在此列舉出所有的外部接口名稱、接口標(biāo)準(zhǔn)、規(guī)范。外部接口列表,如表 2-3 所示。 6 6目標(biāo)系統(tǒng)其他需求(目標(biāo)系統(tǒng)其他需求(OtherOther RequirementsRequirements ofof TargetTarget SystemSystem) (1) 、統(tǒng)進(jìn)行擴(kuò)展、該系統(tǒng)會對

22、區(qū)域人員進(jìn)行圖像辨別,數(shù)據(jù)分析。會判斷入境人員 的身份,并及時做出相應(yīng)的處理。 (2) 、用戶信息的安全保護(hù)。 6.16.1 安全性(安全性(SecuritySecurity) 用戶的賬號,該系統(tǒng)會做到最高級別的保護(hù)。 遠(yuǎn)程監(jiān)控系統(tǒng)會利用新技術(shù)全面的保護(hù)用戶賬號的安全。盡量會保證用戶信息的保密 性。及時用戶的賬號外漏,該系統(tǒng)也會采用相應(yīng)的措施,進(jìn)一步保護(hù)! 6.26.2 可靠性(可靠性(DependabilityDependability) 系統(tǒng)能夠穩(wěn)定可靠地運行,能夠防止外界的一切干擾,穩(wěn)定性方面相當(dāng)優(yōu)秀! 6.36.3 靈活性(靈活性(AgilityAgility) 該系統(tǒng)在視頻分析,圖像

23、數(shù)據(jù)分析,攝像頭處理時想當(dāng)靈活的,他采用人性的設(shè)計方 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 9 式,按照人的思維處理問題。并且用戶可以通過網(wǎng)絡(luò)對遠(yuǎn)程的攝像頭進(jìn)行管理,這些都是 該系統(tǒng)靈活性的體現(xiàn)。方便用戶的操作! 6.46.4 特殊需求(特殊需求(SpecialSpecial RequirementsRequirements) 如: (1)進(jìn)度需求:系統(tǒng)的階段進(jìn)度要求。 (2)運行環(huán)境需求:平臺、體系結(jié)構(gòu)、設(shè)備要求。 (3)培訓(xùn)需求:用戶對培訓(xùn)的需求,是否提供多媒體教學(xué)光盤。 (4)推廣需求:推廣的要求,如在上百個遠(yuǎn)程部門推廣該系統(tǒng),是否要有推廣的支持 軟件。

24、7 7目標(biāo)系統(tǒng)假設(shè)與約束條件(目標(biāo)系統(tǒng)假設(shè)與約束條件(SupposeSuppose andand RestrictionRestriction ofof TargetTarget SystemSystem) 假設(shè)與約定條件是對預(yù)計的系統(tǒng)風(fēng)險的描述, 如: (1)法律、法規(guī)和政策方面的限制。 (2)硬件、軟件、運行環(huán)境和開發(fā)環(huán)境方面的條件和限制。 (3)可利用的信息和資源。 (4)系統(tǒng)投入使用的最晚日期。 三、總體設(shè)計說明書三、總體設(shè)計說明書 遠(yuǎn)程監(jiān)控技術(shù),始于 DOS 時代,因為當(dāng)時網(wǎng)絡(luò)不發(fā)達(dá),這門技術(shù)沒有得到 很多重視,但是隨著網(wǎng)絡(luò)的高度發(fā)展,電腦的管理及技術(shù)支持的需要,遠(yuǎn)程監(jiān) 控技術(shù)越來越

25、引起人們的關(guān)注。 網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,也為遠(yuǎn)程監(jiān)控技術(shù)的發(fā)展創(chuàng)造了條件。遠(yuǎn)程監(jiān)控軟 件一般分兩個部分:一部分是客戶端程序 Client,另一部分是服務(wù)器端程序 Server,多數(shù)遠(yuǎn)程監(jiān)控軟件把被監(jiān)控端作為服務(wù)器,主控端作為客戶端。考慮 到在監(jiān)控過程中,如果把主控端作為客戶端向被監(jiān)控端發(fā)送 TCP 連接請求,容 易被防火墻或者殺毒軟件阻止,監(jiān)控過程就不能夠成功進(jìn)行。因此,本畢業(yè)設(shè) 計將被監(jiān)控端設(shè)計為客戶端,向主控端發(fā)連接請求,建立連接后,主控端向被 監(jiān)控端發(fā)送遠(yuǎn)程控制命令,控制被監(jiān)控端電腦中的各種應(yīng)用程序運行,被監(jiān)控 端對主控端發(fā)送來的命令進(jìn)行處理,并將命令處理結(jié)果返回給主控端。 遠(yuǎn)程監(jiān)控軟件順

26、應(yīng)時代發(fā)展的需求,它實用、使用簡便,是非常不錯的軟 件。 1.11.1 遠(yuǎn)程監(jiān)控的背景知識遠(yuǎn)程監(jiān)控的背景知識 遠(yuǎn)程監(jiān)控是在網(wǎng)絡(luò)上由一臺電腦(主控端 Remote)遠(yuǎn)距離去監(jiān)控另一臺電腦 (被監(jiān)控端 Host)的技術(shù),這里的遠(yuǎn)程不是字面意思的遠(yuǎn)距離,一般指通過網(wǎng)絡(luò) 監(jiān)控遠(yuǎn)端電腦,不過,大多數(shù)時候我們所說的遠(yuǎn)程監(jiān)控往往指在局域網(wǎng)中的遠(yuǎn) 程監(jiān)控而言。 電腦中的遠(yuǎn)程控制技術(shù),始于 DOS 時代,只不過當(dāng)時由于技術(shù)上沒有什么 大的變化,網(wǎng)絡(luò)不發(fā)達(dá),市場沒有更高的要求,所以遠(yuǎn)程控制技術(shù)沒有引起更 多人的注意。但是,隨著網(wǎng)絡(luò)的高度發(fā)展,電腦的管理及技術(shù)支持的需要,遠(yuǎn) 程操作及控制技術(shù)越來越引起人們的關(guān)注。

27、基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 10 遠(yuǎn)程控制一般支持下面的這些網(wǎng)絡(luò)方式:LAN、WAN、撥號方式、互聯(lián)網(wǎng)方 式。此外,有的遠(yuǎn)程控制軟件還支持通過串口、并口、紅外端口來對遠(yuǎn)程機(jī)進(jìn) 行控制(不過,這里說的遠(yuǎn)程電腦,只能是有限距離范圍內(nèi)的電腦了)。傳統(tǒng)的 遠(yuǎn)程控制軟件一般使用 NETBEUI、NETBIOS、IPX/SPX、TCP/IP 等協(xié)議來實現(xiàn)遠(yuǎn) 程控制,不過,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,目前很多遠(yuǎn)程控制軟件提供通過 Web 頁 面以 Java 技術(shù)來控制遠(yuǎn)程電腦,這樣可以實現(xiàn)不同操作系統(tǒng)下的遠(yuǎn)程控制,例 如數(shù)技通科技有限公司在就推出了全球第一套基于中文 JAV

28、A 的跨平臺遠(yuǎn)程控制 軟件易控。 1 1 2 2 遠(yuǎn)程監(jiān)控軟件的原理遠(yuǎn)程監(jiān)控軟件的原理 遠(yuǎn)程監(jiān)控軟件一般分兩個部分:一部分是客戶端程序 Client,另一部分是 服務(wù)器端程序 Server,由于本畢業(yè)設(shè)計的通信模塊有別于傳統(tǒng)的遠(yuǎn)程監(jiān)控軟件, 在使用前需要將客戶端程序安裝到被監(jiān)控端電腦上,將服務(wù)器端程序安裝到主 控端電腦上。 在進(jìn)行一臺電腦對多臺遠(yuǎn)端電腦進(jìn)行控制時,我們發(fā)現(xiàn),遠(yuǎn)程監(jiān)控軟件似 乎更像一個局域網(wǎng)的網(wǎng)絡(luò)管理員,而提供遠(yuǎn)程控制的遠(yuǎn)程終端服務(wù)就像極了辦 公室局域網(wǎng)的延伸。這種一對多的連接方式在節(jié)省了調(diào)制解調(diào)器的同時,還使 得網(wǎng)絡(luò)的接入更加安全可靠,網(wǎng)絡(luò)管理員也更易于管理局域網(wǎng)上的每一臺電腦

29、。 本文所論述的遠(yuǎn)程監(jiān)控系統(tǒng)就是依照這種方式進(jìn)行的。 2 2 系統(tǒng)需求分析及理論基礎(chǔ)系統(tǒng)需求分析及理論基礎(chǔ) 2.12.1 系統(tǒng)需求分析系統(tǒng)需求分析 2.1.12.1.1 系統(tǒng)功能需求系統(tǒng)功能需求 1連續(xù)獲得被控端機(jī)器屏幕變化。 2實現(xiàn)被控端硬盤文件的上傳、下載。 3實現(xiàn)對鼠標(biāo)、鍵盤的模擬。 4實現(xiàn)在被控端機(jī)器上執(zhí)行任意 DOS 命令。 5遠(yuǎn)程關(guān)機(jī)、遠(yuǎn)程重啟計算機(jī)。 2.1.22.1.2 其他需求其他需求 1系統(tǒng)實用,界面操作簡便。 2被監(jiān)控端自動隱藏運行。 被監(jiān)控端將隨電腦啟動而自動運行,運行時默認(rèn)無任何可見界面。 2.22.2 系統(tǒng)開發(fā)原理及關(guān)鍵技術(shù)系統(tǒng)開發(fā)原理及關(guān)鍵技術(shù) 2.2.12.2.

30、1 系統(tǒng)開發(fā)原理系統(tǒng)開發(fā)原理 本系統(tǒng)是利用類 java.awt.robot 中的屏幕截取和鼠標(biāo)、鍵盤自動控制功能, 然后加上網(wǎng)絡(luò)傳輸功能來完成來完成截屏和遠(yuǎn)程控制的。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 11 2.2.22.2.2 系統(tǒng)運行概述系統(tǒng)運行概述 1啟動被監(jiān)控端,打開指定的 UDP 端口號。用于讀取命令。 2被監(jiān)控端讀取命令(命令格式為 ordername:port)ordername 為命令名 字,port 為主控端打開的 TCP 端口。 3接到主控端連接后,被監(jiān)控端就對當(dāng)前用戶的桌面采用屏幕截取,然后 發(fā)送給主控端。依被監(jiān)控端設(shè)計的不同,可以設(shè)定

31、屏幕截取的時間間隔,時間 間隔短一點就可以獲得連續(xù)屏幕變化了。 4主控端在畫布上對鼠標(biāo)、鍵盤事件進(jìn)行監(jiān)聽,被監(jiān)控端重演主控端上的 事件 5主控端和被監(jiān)控端讀取和發(fā)送數(shù)據(jù),分別來實現(xiàn)文件上傳和下載。 6在被監(jiān)控端實現(xiàn) DOS 命令的執(zhí)行。 2.2.32.2.3 系統(tǒng)的關(guān)鍵技術(shù)系統(tǒng)的關(guān)鍵技術(shù) 系統(tǒng)使用的關(guān)鍵技術(shù)就是 Java 網(wǎng)絡(luò)編程和 Java 圖形編程。用 Java 網(wǎng)絡(luò)編 程實現(xiàn)主控端和被監(jiān)控端的通訊(命令收發(fā)、數(shù)據(jù)傳送) ,用 Java 圖形編程完 成主控端控制界面的編寫。具體應(yīng)用如下: 1實現(xiàn)主控端(服務(wù)器)與被監(jiān)控端(客戶端)之間的通訊。 用 Java Socket 來實現(xiàn)。 2用 J

32、ava 采集事件,封裝成消息,用于發(fā)送。 在主控端機(jī)器上采集事件(一般只不過是鍵盤和鼠標(biāo)的事件),然后封 裝成消息類傳輸?shù)奖槐O(jiān)控端。 3在被監(jiān)控端上重演主控端的動作事件。 在被監(jiān)控端運行 client 端,接收消息,如果主控端有請求操作的消息, 用 Robot 截下當(dāng)前屏幕,傳給主控端,主控端顯示被監(jiān)控端的屏幕,是一個位 圖;然后接收在這個位圖上的鼠標(biāo)事件和鍵盤事件,并把鼠標(biāo)位置(位圖上的坐 標(biāo)換算成對應(yīng)的屏幕上的坐標(biāo))和鍵值送到被監(jiān)控端上,在被監(jiān)控端上重演同樣 的事件。 2.32.3 系統(tǒng)的開發(fā)平臺系統(tǒng)的開發(fā)平臺 JDK1.5.0,MyEclipse8.5,Windows XP Profes

33、sional 2.3.12.3.1 MyEclipseMyEclipse 介紹介紹 MyEclipse 是一種可擴(kuò)展的開放源代碼 IDE。2001 年 11 月,IBM 公司捐出 價值 4,000 萬美元的源代碼組建了 MyEclipse 聯(lián)盟,并由該聯(lián)盟負(fù)責(zé)這種工具 的后續(xù)開發(fā)。集成開發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試” 的周期之中。為了幫助集成開發(fā)環(huán)境 (IDE)克服目前的局限性,業(yè)界廠商合作 創(chuàng)建了 MyEclipse 平臺。MyEclipse 允許在同一 IDE 中集成來自不同供應(yīng)商的 工具,并實現(xiàn)了工具之間的互操作性,從而顯著改變了項目工作流程,使開發(fā) 者可以專

34、注在實際的嵌入式目標(biāo)上。MyEclipse 為工具開發(fā)商提供了更好的靈 活性,使他們能更好地控制自己的軟件技術(shù)。MyEclipse 是一個開放源代碼的 項目,任何人都可以下載 MyEclipse 的源代碼,并且在此基礎(chǔ)上開發(fā)自己的功 能插件。同時可以通過開發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能,比如在現(xiàn)有的 Java 開發(fā)環(huán)境中加入 Tomcat 服務(wù)器插件。可以無限擴(kuò)展,而且有著統(tǒng)一的外觀,操 作和系統(tǒng)資源管理,這也正是 MyEclipse 的潛力所在。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 12 2.3.22.3.2 JavaJava 語言語言 Java 語言是 SU

35、N 公司于 1995 年 5 月推出的新一代面向?qū)ο蟮挠嬎銠C(jī)通用 編程語言,是繼 WWW 之后又一引起世界轟動的產(chǎn)品。Java 語言的特點是跨平臺 和強(qiáng)大的網(wǎng)絡(luò)編程功能。在 Java 語言誕生之前,Internet 已存在,所以 Java 語言本身就封裝了大量進(jìn)行網(wǎng)絡(luò)編程的類庫,使得網(wǎng)絡(luò)編程功能強(qiáng)大,同時又 簡化了網(wǎng)絡(luò)編程的操作。因此利用 Java 語言可以開發(fā)出功能強(qiáng)大的網(wǎng)絡(luò)應(yīng)用程 序。 2.3.32.3.3 JarJar 命令命令 功能:Java 歸檔工具 語法:jar 命令選項 manifest destination input-file input- files jar 工具是個 j

36、ava 應(yīng)用程序,可將多個文件合并為單個 JAR 歸檔文件。 jar 是個多用途的存檔及壓縮工具,它基于 ZIP 和 ZLIB 壓縮格式。然而,設(shè)計 jar 的主要目的是便于將 java applet 或應(yīng)用程序打包成單個歸檔文件。將 applet 或應(yīng)用程序的組件(.class 文件、圖像和聲音)合并成單個歸檔文件時, 可以用 java 代理(如瀏覽器)在一次 HTTP 事務(wù)處理過程中對它們進(jìn)行下載,而 不是對每個組件都要求一個新連接。這大大縮短了下載時間。jar 還能壓縮文 件,從而進(jìn)一步提高了下載速度。此外,它允許 applet 的作者對文件中的各個 項進(jìn)行簽名,因而可認(rèn)證其來源。jar

37、 工具的語法基本上與 tar 命令的語法相 同。 命令選項: -c:在標(biāo)準(zhǔn)輸出上創(chuàng)建新歸檔或空歸檔。 -t:在標(biāo)準(zhǔn)輸出上列出內(nèi)容表。 -xfile:從標(biāo)準(zhǔn)輸入提取所有文件,或只提取指定的文件。如果省略了 file,則提取所有文件;否則只提取指定文件。 -f:第二個參數(shù)指定要處理的 jar 文件。在-c(創(chuàng)建)情形中,第二個參數(shù) 指的是要創(chuàng)建的 jar 文件的名稱(不是在標(biāo)準(zhǔn)輸出上)。在-t(表(或-x(抽取)這 兩種情形中,第二個參數(shù)指定要列出或抽取的 jar 文件。 -v:在標(biāo)準(zhǔn)錯誤輸出設(shè)備上生成長格式的輸出結(jié)果。 -m:包括指定的現(xiàn)有清單文件中的清單信息。用法舉例:“jar cmf myM

38、anifestFile myJarFile *.class” -0:只儲存,不進(jìn)行 ZIP 壓縮。 -M:不創(chuàng)建項目的清單文件。 -u:通過添加文件或更改清單來更新現(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 -uf foo.jar -C classes *”將 classes 目錄內(nèi)的所有文件加到 foo.j

39、ar 中,但不添加類目錄本 身。 程序示例 1:將當(dāng)前目錄下所有 CLASS 文件打包成新的 JAR 文件: jar cf file.jar *.class 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 13 2:顯示一個 JAR 文件中的文件列表: jar tf file.jar 3:將當(dāng)前目錄下的所有文件增加到一個已經(jīng)存在的 JAR 文件中: jar cvf file.jar * 2.42.4 編程運行環(huán)境編程運行環(huán)境 硬件環(huán)境: CPU: 閃龍 2400 內(nèi)存:256M 硬盤:80G 軟件環(huán)境: 操作系統(tǒng):Windows XP Professional 應(yīng)用軟件:

40、MyEclipse8.5 + JDK1.5.0 四、四、詳細(xì)設(shè)計說明書詳細(xì)設(shè)計說明書 3.13.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計和分析系統(tǒng)總體結(jié)構(gòu)設(shè)計和分析 本系統(tǒng)設(shè)計的方案為 C/S 模式,在主控端電腦上安裝服務(wù)器端程序,在被 監(jiān)控端電腦上安裝客戶端程序。該系統(tǒng)的控制過程是先在主控端電腦上執(zhí)行服 務(wù)器程序,在命令收發(fā)過程中,主控端向被監(jiān)控端配置的 UDP 端口發(fā)送命令, 該命令是一個控制命令,要求被監(jiān)控端來連接其開啟的 TCP 端口和要求被監(jiān)控 端執(zhí)行的操作,如果被監(jiān)控端監(jiān)聽到該 UDP 命令,主動開啟 TCP 端口向主控端 發(fā)送連接請求。這樣就建立了一個特殊的遠(yuǎn)程服務(wù),然后通過這個遠(yuǎn)程服務(wù), 主控端使

41、用各種遠(yuǎn)程控制功能發(fā)送遠(yuǎn)程控制命令,控制被監(jiān)控端電腦中的各種 應(yīng)用程序運行。系統(tǒng)總體結(jié)構(gòu)如圖 1: 圖 1 系統(tǒng)總體結(jié)構(gòu)圖 圖 3.1 把軟件功能分解到通信的兩個端點上,即客戶端和服務(wù)器端,采用 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 14 ClientServer 模式。這樣能提高設(shè)計的靈活性,易于系統(tǒng)的擴(kuò)展。被監(jiān)控端 接受主控端命令,并處理命令,然后輸出命令處理結(jié)果;主控端則提供交互界 面及命令處理結(jié)果顯示;數(shù)據(jù)交換通道的建立由雙方的數(shù)據(jù)通信模塊負(fù)責(zé)。從 而實現(xiàn)點到點的直接控制監(jiān)控,滿足實時性要求。 3.1.13.1.1 主控端的主要功能模塊主控端的主要功能模

42、塊 主控端包括的模塊有:消息輸入,命令處理結(jié)果顯示模塊,通信模塊。消 息輸入模塊負(fù)責(zé)將用戶界面的事件傳送到通信模塊,通信模塊將命令信息發(fā)送 到被監(jiān)控端;被監(jiān)控端執(zhí)行操作后返回的成功或失敗信息交由主控端命令處理 結(jié)果顯示模塊根據(jù)信息的格式進(jìn)行顯示。 3.1.23.1.2 被監(jiān)控端的主要功能模塊被監(jiān)控端的主要功能模塊 被監(jiān)控端包括的模塊有:通信模塊,命令處理模塊。被監(jiān)控端處于偵聽狀 態(tài),一旦接收到合法的連接請求,就開 UDP 端口,并開啟命令接受線程,建立 連接后,通過通信模塊接收主控端發(fā)來的命令信息,經(jīng)命令處理模塊解釋后, 并將結(jié)果返回到主控端。 3.23.2 程序流程及分析程序流程及分析 3.

43、2.13.2.1 被監(jiān)控端啟動流程被監(jiān)控端啟動流程 在被監(jiān)控端安裝客戶端程序,程序啟動的時候,嘗試開啟 UDP 端口,如果 防火墻或者殺毒軟件阻止,嘗試開啟配置的其它 UDP 端口,如果都嘗試完畢, 啟動失敗。否則,將開啟的 UDP 套接字傳入,然后開啟命令接收線程,目的是 進(jìn)行命令獲取,并對獲取的命令進(jìn)行處理。然后將自己復(fù)制到自啟動項,并改 名為 Explorer.jar. 流程如圖 2。 圖 2 被監(jiān)控端啟動流程 3.2.23.2.2 主控端啟動流程主控端啟動流程 在主控端安裝服務(wù)器程序,主控端首先啟動其控制窗口類,初始化圖形在 主控端安裝服務(wù)器程序,主控端首先啟動其控制窗口類,初始化圖形

44、顯示,然 后用戶輸入被監(jiān)控端的 IP 地址。接著主控端開啟任意 TCP 端口,并向該 IP 配 置的 UDP 端口發(fā)送初始化命令(命令格式為 ordername:port) ,ordername 為命 令名字,port 為主控端打開的 TCP 端口號。主控端對開啟的 TCP 端口進(jìn)行監(jiān)聽, 如果超時,連接失敗。否則,主控端讀取被監(jiān)控端的狀態(tài)對象,接著啟動控制 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 15 模塊和屏幕監(jiān)視模塊。流程如圖 3。 圖 3 主控端啟動流程 圖 4 命令接受和處理流程 3.2.33.2.3 命令接收和處理流程命令接收和處理流程 被監(jiān)控端 UD

45、P 端口啟動成功后,就開始對該 UDP 端口進(jìn)行監(jiān)聽,如果監(jiān)聽 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 16 到有命令,就讀取它,并判斷命令是否有效,命令以 ordername:port 為格式, 如果無效,返回繼續(xù)讀取命令,否則,調(diào)用相應(yīng)的命令處理模塊對命令進(jìn)行處 理,命令處理完后將處理結(jié)果返回給主控端。流程如圖 4。 3.2.43.2.4 圖形監(jiān)視線程啟動流程圖形監(jiān)視線程啟動流程 主控端開啟任意 TCP 端口,向被監(jiān)控端的 UDP 端口發(fā)送“要求被監(jiān)控端連接” 的 UDP 命令,命令形式為 screen:TCP Port。如果命令超時,命令執(zhí)行失敗, 否則,如

46、果被監(jiān)視端來連接,生成 Soket 對象,從 Soket 中讀取被監(jiān)視端發(fā)送 過來的圖形對象,并將圖象顯示在畫布上,每隔一定時間(若干秒) ,重新讀取 圖象,更 新畫布顯示,從而實現(xiàn)連續(xù)獲得對方屏幕變化。流程如圖 5。 圖 5 圖形監(jiān)視線程啟動流程 3.2.53.2.5 遠(yuǎn)程控制流程遠(yuǎn)程控制流程 被監(jiān)控端收到主控端的 UDP 命令:control:TCP Port,獲得主控端開放的 TCP 端口號。成功連接主控端的 TCP 端口后,并從中讀取事件對象,接著對事 件對象進(jìn)行類型判斷,如果是鍵盤事件,就對鍵盤事件重演;如果是鼠標(biāo)事件, 就對鼠標(biāo)事件重演。接著判定控制套接是否關(guān)閉,如果關(guān)閉,控制結(jié)束

47、。否則 返回繼續(xù)讀取事件。流程如圖 6。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 17 圖 6 遠(yuǎn)程控制流程 3.2.63.2.6 文件上傳流程文件上傳流程 主控端開啟任意 TCP 端口,向被監(jiān)控端發(fā)送文件上傳命令,命令格式為: fileup:TCP Port。如果命令超時,文件上傳失敗,否則,主控端讀取文件數(shù)據(jù) 并發(fā)送,發(fā)送過程中如果 I/O 錯誤,文件上傳失敗,否則,進(jìn)行文件是否讀取 完判斷,如果讀取完,則上傳成功,否則,繼續(xù)讀取文件數(shù)據(jù)。流程如圖 7。 圖 7 文 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 18 五、源程序清單五、

48、源程序清單 4.14.1 系統(tǒng)主要模塊設(shè)計系統(tǒng)主要模塊設(shè)計 4.1.14.1.1 消息輸入,命令處理結(jié)果顯示模塊消息輸入,命令處理結(jié)果顯示模塊 主控端消息輸入,顯示模塊的開發(fā)采用 JAVA 圖形編程,利用模塊化、通用 性強(qiáng)的特點,實現(xiàn)遠(yuǎn)程監(jiān)控中用戶控制界面的編寫。 4.1.24.1.2 通信模塊實現(xiàn)通信模塊實現(xiàn) 1Socket 編程 數(shù)據(jù)通信模塊中的數(shù)據(jù)通道建立采用 Socket 編程。Socket 支持 TCPIP 協(xié)議網(wǎng)絡(luò)通信的基本操作;它屏蔽了網(wǎng)絡(luò)底層的通信細(xì)節(jié),使編程簡單;它對 通信端點進(jìn)行了抽象,提供發(fā)送和接收數(shù)據(jù)機(jī)制及打開、計算和關(guān)閉會話的能 力。本項目中,客戶端和服務(wù)器代表運行在

49、 Windows 操作平臺下,采用 Java Socket 來編程實現(xiàn)命令和數(shù)據(jù)信息的傳輸。 主控端主要通信代碼: ServerSocket server=NewRadomSocket.openNewPort(); /開啟新端口 Socket socket=null; server.setSoTimeout(Parameter.TCP_TIME_OUT); /設(shè)置超時 socket=server.accept(); /開啟 ObjectInputStream readin=new ObjectInputStream(socket.getInputStream(); /封裝流,準(zhǔn)備讀取 一個對象

50、 socket.close(); /關(guān)閉 socket,結(jié)束通信 被監(jiān)控端主要通信代碼: Socket socket=newnew Socket(serverip, serverport); ObjectOutputStream send=newnew ObjectOutputStream(socket.getOutputStream();/封裝流封裝流 send.writeObject(cc); /發(fā)送發(fā)送 send.close(); /關(guān)閉流關(guān)閉流 socket.close(); / /關(guān)閉套接 4.1.34.1.3 命令處理模塊命令處理模塊 命令處理模塊的實現(xiàn)就是通過函數(shù)調(diào)用,調(diào)用各個命

51、令處理類。在命令處 理模塊中,被監(jiān)控端執(zhí)行以下操作:發(fā)送自己的狀態(tài)信息給主控端;建立圖象 傳送;開啟控制命令套接字;文件上傳;文件下載;執(zhí)行 DOS 命令,獲取執(zhí)行 結(jié)果和錯誤流。 4.24.2 連續(xù)獲得被監(jiān)控端機(jī)器屏幕變化功能實現(xiàn)連續(xù)獲得被監(jiān)控端機(jī)器屏幕變化功能實現(xiàn) 4.2.14.2.1 比較幾種屏幕截取方法比較幾種屏幕截取方法 在 Java 遠(yuǎn)程監(jiān)控過程中,我們要截取軟件運行 GUI 界面,并將其保存到一 個或一系列圖像文件中。 目前,在 Windows 平臺下,有關(guān)屏幕截取的工具軟件有許多,比如: HyperCam 等,當(dāng)然還可以直接利用 Windows 操作系統(tǒng)支持的屏幕拷貝 Prin

52、t 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 19 Screen 鍵,將屏幕拷貝到剪貼板,在保存為圖像文件。這些工具軟件一定要屏 幕截取者,在操作過程中要“精力集中“并且“伺機(jī)捕獲“所需要的軟件運行界面。 事實上,有時候我們需要 Java 應(yīng)用程序,自動對運行的 GUI 界面進(jìn)行“拍照“, 比如:一臺計算機(jī)要獲取網(wǎng)絡(luò)上另一臺計算機(jī)正在運行的 GUI 界面,要看看對 方計算機(jī)上軟件運行情況。這就需要在 Java 應(yīng)用程序中,自動將運行的 GUI 界 面保存到一個圖像文件中,然后通過網(wǎng)絡(luò)傳輸?shù)搅硪慌_計算機(jī)上。而上述 HyperCam 等工具軟件無法與我們的 Java 應(yīng)

53、用融合為一體。因此,我們需要在 Java 應(yīng)用程序中編寫一個屏幕“照相機(jī)“。 4.2.24.2.2 Java“Java“屏幕照相機(jī)屏幕照相機(jī)”的編寫原理的編寫原理 “屏幕的截取“是比較接近操作系統(tǒng)底層的操作,在 Windows 平臺下,該操 作似乎成了 VC、VB 等語言開發(fā)的專利。事實上,“屏幕的截取“在 Java 應(yīng)用程 序中,及其簡單。在 Java JDK1.5.0 中提供了一個“機(jī)器人“Robot 類。該類用 于產(chǎn)生與本地操作系統(tǒng)有關(guān)的底層輸入、測試應(yīng)用程序運行或自動控制應(yīng)用程 序運行。Robot 類提供了一個方法:.createScreenCapture(),可以直接將 全屏幕或某個

54、屏幕區(qū)域的像素拷貝到一個 BufferedImage 對象中,我們只需要 將該對象寫入到一個圖像文件之中,就完成了屏幕到圖像的拷貝過程。 4.2.34.2.3 Java“Java“屏幕照相機(jī)屏幕照相機(jī)”的實現(xiàn)的實現(xiàn) 為了構(gòu)造一個比較完善的 Java 屏幕“照相機(jī)“,我們構(gòu)造了一個 ImageProvider JavaBean,其源代碼和說明如下: /* 該 JavaBean 可以直接在其他 Java 應(yīng)用程序中調(diào)用,實現(xiàn)屏幕的“拍照“ */ public class ImageProvider private Robot robot=null; /圖象采集類 private Rectangle

55、 rect=null; /要復(fù)制的 屏幕區(qū)域 /* 構(gòu)造函數(shù),輸入要采集的屏幕的 矩形信息*/ public ImageProvider() throws AWTException rect=new Rectangle(Toolkit.getDefaultToolkit().getScreenSize(); /要復(fù)制的屏幕區(qū) 域,這里為全屏 robot=new Robot(); /創(chuàng)建 Robot 對象 /* 復(fù)制全屏幕,返回 BufferedImage 對象 */ public BufferedImage CopyScreen() BufferedImage image=robot.crea

56、teScreenCapture(rect); /截取屏幕,生成 BufferedImage 對象 return image; 4.2.44.2.4 遠(yuǎn)程屏幕監(jiān)控的實現(xiàn)遠(yuǎn)程屏幕監(jiān)控的實現(xiàn) 實現(xiàn)屏幕監(jiān)控要完成被監(jiān)控端發(fā)送屏幕截圖和主控端接收圖片的工作,該 功能的實現(xiàn)中構(gòu)造了兩個類:SendImage Thread 和 GetImageThread,類圖分別 為圖 8 和圖 9。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 20 圖 8 SendImage Thread 類圖 SendImage Thread JavaBean 代碼和說明如下: /*被監(jiān)控端將 Java 屏

57、幕“照相機(jī)“采集到的圖片壓縮為 JPEG 文件,發(fā)送到主控端*/ public class SendImageThread extends Thread 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 (部分代碼略去) public void run() int i=0; OutputStream out=null; JPEGImageEncoder encoder=null; /壓縮為 JPEG try out = client.getOutputStream(); /獲得 TCP 套接字流 encoder=JPEGCodec.createJPEGEncoder(out);/

58、將流壓縮為 JPEG 對象流 catch (IOException e1) e1.printStackTrace(); while(true) image=impv.CopyScreen(); /截取屏幕圖象 encoder.encode(image) ; /向網(wǎng)絡(luò)寫入 JPEG 圖形對象 圖 9 GetImage Thread 類圖 GetImage Thread JavaBean 代碼和說明如下: /*主控端接收 JPEG 文件,并在畫布上顯示*/ public class GetImageThread extends Thread 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6

59、 月 6 日 21 。 。 。 。 。 。 。 。 。 。 (部分代碼略去) public void run() BufferedImage image=null; JPEGImageDecoder de=null; InputStream in=null; try socket.setReceiveBufferSize(1024); /設(shè)置接收緩沖 socket.setSoTimeout(60000); /設(shè)置 TCP 過期時間 in=socket.getInputStream(); /獲取套接字輸入流 de=JPEGCodec.createJPEGDecoder(in); /將輸入流封裝為

60、 JPEG 對象流 catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); int wrongtime=0; while(true) wrongtime+; if(wrongtime=200)break; image=de.decodeAsBufferedImage(); /對 JPEG 對象解碼,還原為 BufferedImage 圖形 對象 MainFrame.getInstance().ShowImage(image); /在控制窗口的畫布上顯示圖象 4.2.54.2.5 屏幕監(jiān)視功能測試屏

61、幕監(jiān)視功能測試 在系統(tǒng)實現(xiàn)過程中,成功完成了連續(xù)獲得被監(jiān)控端機(jī)器屏幕變化的功能, 下面為測試圖片: 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 22 圖 10 屏幕監(jiān)視圖片 本節(jié)詳細(xì)介紹了遠(yuǎn)程屏幕監(jiān)視的功能實現(xiàn)。對于功能需求中的其他功能, 這里就不逐一介紹了。對于遠(yuǎn)程控制功能,如果要實現(xiàn)該功能,首先需要主控 端向被監(jiān)控端發(fā)送遠(yuǎn)程控制命令,被監(jiān)控端收到命令后,首先返回給主控端一 個包含被監(jiān)控端屏幕分辨率等的狀態(tài)信息,主控端根據(jù)狀態(tài)信息更新本機(jī)所存 的被控端狀態(tài),并調(diào)整畫布大小,使其比例符合被監(jiān)控端屏幕分辨率,這樣才 可以精確定位。在畫布中對事件進(jìn)行監(jiān)聽,采集事件,封裝成

62、消息發(fā)送給被監(jiān) 控端,然后在被監(jiān)控端使用 Robot 對象控制鼠標(biāo)對象的位置與動作,實現(xiàn)事件 重演。這樣就能實現(xiàn)遠(yuǎn)程控制。 六、用戶手冊六、用戶手冊 完成人完成人: 劉燕三 1 1前言前言(Preface)(Preface) 編寫本手冊的目的:是用戶能夠系統(tǒng)的了解本軟件的主要功能和程序的流程,使得用 戶能夠在使用之前能夠?qū)浖旧碛幸欢ǖ牧私?,使得用戶在確定是否購買本軟件的時候 起到參照的作用。這就是本手冊的作用。 1.11.1 內(nèi)容簡介內(nèi)容簡介(Introduction)(Introduction) 在 B/S 模式下采用傳統(tǒng)的三層體系結(jié)構(gòu)來設(shè)計監(jiān)控組態(tài)軟件,在一般的三層體系結(jié)構(gòu) 的基礎(chǔ)上增

63、加了控制層,用來實現(xiàn) Web 服務(wù)器與被控對象的通信。該項目的委托單位、開 發(fā)單位和主管部門都是小組內(nèi)部成員。由于小組成員少,并沒有形成真正意義上的軟件開 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實現(xiàn) 2012 年 6 月 6 日 23 發(fā)機(jī)構(gòu)!值得說明的是該軟件系統(tǒng)與其他系統(tǒng)沒有直接關(guān)系。也就是說他是單獨存在的。 。 1.21.2 基本概念基本概念(Basic(Basic Concept)Concept) 用戶 PC 機(jī):一臺普普通通的電腦,具體點這里指能夠上網(wǎng)的電腦。 普通攝像頭:他不具有網(wǎng)絡(luò)攝像頭的功能,只是有某種接口的普通攝像頭。 后臺服務(wù)器:他對用戶數(shù)據(jù)進(jìn)行分析與處理。管理真?zhèn)€網(wǎng)站。 1.

64、31.3 主要功能主要功能(Mostly(Mostly Function)Function) 系統(tǒng)分為兩大模塊,用戶和管理員。在用戶方面的主要功能有注冊登錄、查看視頻、 管理視頻、管理攝像、查看視頻;而管理員方面的主要功能有用戶管理、管理視頻、注冊 管理員、系統(tǒng)信息管理、網(wǎng)站維護(hù)等功能。 2 2功能功能(Function)(Function) 命令處理結(jié)果顯示模塊,通信模塊。消息輸入模塊負(fù)責(zé)將用戶界面的事件傳送到通信 模塊,通信模塊將命令信息發(fā)送到被監(jiān)控端;被監(jiān)控端執(zhí)行操作后返回的成功或失敗信息 交由主控端命令處理結(jié)果顯示模塊根據(jù)信息的格式進(jìn)行顯示。 視頻捕捉模塊根據(jù)用戶的客戶端攝像頭的數(shù)目,

65、啟動相應(yīng)的攝像頭,并進(jìn)行視頻的捕 捉。 視頻存在模塊記錄各個時間段,用戶的視頻,用戶并且可以對此進(jìn)行管理。 攝像頭管理模塊,用戶可以設(shè)置一些攝像頭的打開與關(guān)閉。 2.12.1 使用流程使用流程(Use(Use Flow)Flow) 在主控端安裝服務(wù)器程序,主控端首先啟動其控制窗口類,初始化圖形在主控端安裝 服務(wù)器程序,主控端首先啟動其控制窗口類,初始化圖形顯示,然后具體描述 (Description) 戶輸入被監(jiān)控端的 IP 地址。接著主控端開啟任意 TCP 端口,并向該 IP 配 置的 UDP 端口發(fā)送初始化命令(命令格式為 ordername:port) ,ordername 為命令名字, port 為主控端打開的 TCP 端口號。主控端對開啟的 TCP 端口進(jìn)行監(jiān)聽,如果超時,連接失 敗。否則,主控端讀取被監(jiān)控端的狀態(tài)對象,接著啟動控制模塊和屏幕監(jiān)視模塊。 2.32.3 進(jìn)行此功能的業(yè)務(wù)介紹進(jìn)行此功能的業(yè)務(wù)介紹(Operation(Operation Introduce)Introduce) 用戶通過用戶管理視屏和用戶查看視屏等功能來實現(xiàn)基于 B/S 的遠(yuǎn)程管理程序的系統(tǒng), 進(jìn)而來實現(xiàn)軟件的運用。 在 B/S 模式下采用傳統(tǒng)的三層體系結(jié)構(gòu)來設(shè)計監(jiān)控組態(tài)軟件,在一般的三層體系結(jié)構(gòu) 的基礎(chǔ)上增加了控制層,用來實現(xiàn) Web 服務(wù)器與

展開閱讀全文
溫馨提示:
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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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