歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

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

  • 資源ID:116512934       資源大小:1.69MB        全文頁數(shù):31頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

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

基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 編號(hào):04 軟件工程軟件工程課程設(shè)計(jì)課程設(shè)計(jì) 題目題目:基于基于 CSCS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn)模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 系系 (院):信息工程學(xué)院(院):信息工程學(xué)院 專專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 班班 級(jí):計(jì)科級(jí):計(jì)科 0901B0901B 組組 長:謝永路長:謝永路 組組 員:趙春樂員:趙春樂 胡園胡園 劉燕三劉燕三 指導(dǎo)教師:王娟娟指導(dǎo)教師:王娟娟 目錄目錄 一、可行性分析報(bào)告一、可行性分析報(bào)告.4 引言4 1.2 可行性分析的前提 4 1.3對(duì)現(xiàn)有系統(tǒng)的分析 .5 通過綜合各個(gè)方面的資料,我們了解到基于 BS 模式的系統(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 模式,雖然與我們的期望南轅北轍,但可以 把這看成第一個(gè)版本,這樣也可以為 CS 模式墊定基礎(chǔ)!這只是一種方案!.5 1.6 投資及效益分析 5 開發(fā)這款軟件投資較小,我們需要的只是在電腦上進(jìn)行編程,投資較小!而且這個(gè)系統(tǒng)又是 當(dāng)今社會(huì)所需要的,他能滿足我們各個(gè)方面的需求!所以未來的效益也是非??捎^的!.5 1.7 社會(huì)因素方面的可行性.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 OF TARGET SYSTEM).9 三、總體設(shè)計(jì)說明書三、總體設(shè)計(jì)說明書.9 1.1 遠(yuǎn)程監(jiān)控的背景知識(shí) 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ā)平臺(tái) 11 2.4 編程運(yùn)行環(huán)境 13 四、詳細(xì)設(shè)計(jì)說明書四、詳細(xì)設(shè)計(jì)說明書 .13 3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)和分析.13 3.2 程序流程及分析 14 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 3 五、源程序清單五、源程序清單.18 4.1 系統(tǒng)主要模塊設(shè)計(jì) 18 4.2 連續(xù)獲得被監(jiān)控端機(jī)器屏幕變化功能實(shí)現(xiàn).18 六、用戶手冊(cè)六、用戶手冊(cè).22 1前言(PREFACE) 22 2功能(FUNCTION).23 七、測(cè)試報(bào)告七、測(cè)試報(bào)告.24 1. 概述(SUMMARY).24 2. 組件測(cè)試(MODULE TEST)24 3功能測(cè)試(FUNCTION TEST).25 4. 測(cè)試結(jié)論(TEST VERDICT) 25 5 系統(tǒng)運(yùn)行及測(cè)試結(jié)果 28 5.1 測(cè)試方法28 5.2 測(cè)試環(huán)境28 5 3 系統(tǒng)運(yùn)行實(shí)例.28 八、軟件開發(fā)總結(jié)報(bào)告八、軟件開發(fā)總結(jié)報(bào)告30 參考文獻(xiàn)參考文獻(xiàn)31 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 4 一、可行性分析報(bào)告一、可行性分析報(bào)告 引言引言 1.1.11.1.1 編寫目的編寫目的 看這個(gè)方案是否可行,是否滿足經(jīng)濟(jì)可行性,操作可行性,和技術(shù)可行性,只有各個(gè) 方面都可行,才可以進(jìn)行下面軟件的開發(fā),否則以后做的所有工作都白搭! 項(xiàng)目的目標(biāo):該項(xiàng)目的目標(biāo)是能夠?qū)崿F(xiàn) B/S 模式的遠(yuǎn)程監(jiān)控,對(duì)局域網(wǎng)乃至整個(gè)網(wǎng)絡(luò) 都能夠?qū)崿F(xiàn)遠(yuǎn)程監(jiān)控,讓用戶在任何一個(gè)地方都能夠?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):就是讓用戶在任何地方,通過已經(jīng)聯(lián)網(wǎng)的瀏覽器,對(duì)提 前設(shè)定的區(qū)域進(jìn)行監(jiān)控和管理! 用戶 PC 機(jī):一臺(tái)普普通通的電腦,具體點(diǎn)這里指能夠上網(wǎng)的電腦。 普通攝像頭:他不具有網(wǎng)絡(luò)攝像頭的功能,只是有某種接口的普通攝像頭。 后臺(tái)服務(wù)器:他對(duì)用戶數(shù)據(jù)進(jìn)行分析與處理。管理真?zhèn)€網(wǎng)站。 1.1.4 參考資料 web 程序設(shè)計(jì) (美)Robert W.Sebesta 著 JSP 基礎(chǔ)教程耿祥義 張躍平 編著 軟件工程導(dǎo)論 (第五版) 張海藩 編著 UML 基礎(chǔ)、案例與應(yīng)用 (第三版) (美)Joseph Schmuller 著 1.2 可行性分析的前提 1.2.1 要求 他必須的完成以下功能: (1) 、視頻數(shù)據(jù)的實(shí)時(shí)傳輸 (2) 、視頻數(shù)據(jù)的存盤與管理 (2) 、視頻數(shù)據(jù)的分析以及圖像數(shù)據(jù)的分析 1.3 對(duì)現(xiàn)有系統(tǒng)的分析 通過綜合各個(gè)方面的資料,我們了解到基于 BS 模式的系統(tǒng)尚未成形普及,這說明 基于 BS 模式的系統(tǒng)的需求很大! 1.4 所建議的系統(tǒng) 可以使用 CS 模式,但這使用起來有一定的局限性,不能滿足用戶的需要!也不符合 Intenet 的快速發(fā)展的需要! 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 5 1.5 可選擇的其他系統(tǒng)方案 如果 CS 模式開發(fā)出現(xiàn)問題,我們可以現(xiàn)開發(fā) BS 模式,雖然與我們的期望南轅北轍, 但可以把這看成第一個(gè)版本,這樣也可以為 CS 模式墊定基礎(chǔ)!這只是一種方案! 1.6 投資及效益分析 開發(fā)這款軟件投資較小,我們需要的只是在電腦上進(jìn)行編程,投資較小!而且這個(gè)系 統(tǒng)又是當(dāng)今社會(huì)所需要的,他能滿足我們各個(gè)方面的需求!所以未來的效益也是非??捎^ 的! 1.7 社會(huì)因素方面的可行性 我們從三個(gè)方面分析該項(xiàng)目的可行性: 在操作方面:首先,在全校范圍內(nèi)沒有該系統(tǒng),或類似于該系統(tǒng)的東西出現(xiàn)。而我們 又非常的渴望這樣的系統(tǒng)。比如,對(duì)于機(jī)房,機(jī)房管理員或任課教師就不用去機(jī)房,就能 對(duì)整個(gè)機(jī)房的情況進(jìn)行監(jiān)控。對(duì)于宿舍或者其他居住場所,我們可以隨時(shí)隨地的通過網(wǎng)絡(luò), 對(duì)這些地方進(jìn)行遠(yuǎn)程監(jiān)控和管理。也就是說,用戶只需要通過瀏覽器,輸入自己的賬號(hào)和 密碼,就可以實(shí)現(xiàn)對(duì)現(xiàn)場設(shè)備狀態(tài)的安全監(jiān)控!在操作上是行的通的。 在技術(shù)方面:我們采用 java web 程序設(shè)計(jì),它是基于 JAVA 面向?qū)ο蟮?。并且我們?用學(xué)習(xí)過的三種框架技術(shù),實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)編程。這些技術(shù)都是我們學(xué)習(xí)過,并且都已經(jīng)掌 握的。我們會(huì)涉及到圖像識(shí)別,數(shù)據(jù)的分析與處理等這些前沿的東西。我們相信,在技術(shù) 上我們完全可以做到。 在經(jīng)濟(jì)方面:我們不需要學(xué)校的補(bǔ)助,我們小組每個(gè)人都有電腦,如果可以的話,我 們也能去機(jī)房,完成項(xiàng)目的編碼與測(cè)試??梢哉f我們不需要什么費(fèi)用,就可以完成這個(gè)項(xiàng) 目。所以我們共同認(rèn)為經(jīng)濟(jì)上絕對(duì)不是一個(gè)問題! 1.8 結(jié)論 開發(fā)這個(gè)系統(tǒng)是可行的,不管從我們小組個(gè)人能力,還是從未來發(fā)展方向,都能為我們 在 web 方向的學(xué)習(xí),墊定基礎(chǔ)! 二、二、 需求規(guī)格說明書需求規(guī)格說明書 完成人完成人: 謝永路 1 1概述(概述(SummarySummary) 1.11.1 項(xiàng)目的目的與目標(biāo)(項(xiàng)目的目的與目標(biāo)(PurposePurpose andand AimAim ofof ProjectProject) 項(xiàng)目名稱是:基于 web 技術(shù)的遠(yuǎn)程安全監(jiān)控系統(tǒng)。項(xiàng)目的目的是用戶可以在任何一個(gè) 地方,通過網(wǎng)絡(luò)就能對(duì)提前設(shè)置的區(qū)域進(jìn)行監(jiān)控和管理,而不用去監(jiān)控室里,這樣非常的 方便,他是隨著 Internet 發(fā)展,應(yīng)用而生,他是基于 B/S 模式的,而傳統(tǒng)的監(jiān)控系統(tǒng)是基 于 C/S 模式。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 6 項(xiàng)目的目標(biāo):該項(xiàng)目的目標(biāo)是能夠?qū)崿F(xiàn) B/S 模式的遠(yuǎn)程監(jiān)控,對(duì)局域網(wǎng)乃至整個(gè)網(wǎng)絡(luò) 都能夠?qū)崿F(xiàn)遠(yuǎn)程監(jiān)控,讓用戶在任何一個(gè)地方都能夠?qū)μ崆霸O(shè)定的區(qū)域進(jìn)行監(jiān)控和管理。 整個(gè)該系統(tǒng)的工作流程如上圖所示,服務(wù)器從攝像頭獲得數(shù)據(jù),PC 機(jī)能夠訪問服務(wù)器,并 可以得到實(shí)時(shí)數(shù)據(jù)和已經(jīng)存盤的數(shù)據(jù)。并且用戶也可以通過服務(wù)器對(duì)遠(yuǎn)程攝像頭進(jìn)行控制。 另外系統(tǒng)所實(shí)現(xiàn)的功能遠(yuǎn)不止這些,他要對(duì)后臺(tái)服務(wù)器進(jìn)行全面管理。又類似一個(gè)網(wǎng)站的 功能。所有的這些都是該項(xiàng)目的目的。 1.21.2 術(shù)語定義(術(shù)語定義(TermsTerms GlossaryGlossary) 用戶 PC 機(jī):一臺(tái)普普通通的電腦,具體點(diǎn)這里指能夠上網(wǎng)的電腦。 普通攝像頭:他不具有網(wǎng)絡(luò)攝像頭的功能,只是有某種接口的普通攝像頭。 后臺(tái)服務(wù)器:他對(duì)用戶數(shù)據(jù)進(jìn)行分析與處理。管理真?zhèn)€網(wǎng)站。 1.31.3 相關(guān)文檔(相關(guān)文檔(RelatedRelated DocumentsDocuments) 說明用戶需求報(bào)告的變更,以及可能受變更影響的其他相關(guān)文檔,如:項(xiàng)目開發(fā)計(jì)劃 和設(shè)計(jì)說明書。 web 程序設(shè)計(jì) (美)Robert W.Sebesta 著 JSP 基礎(chǔ)教程耿祥義 張躍平 編著 軟件工程導(dǎo)論 (第五版) 張海藩 編著 UML 基礎(chǔ)、案例與應(yīng)用 (第三版) (美)Joseph Schmuller 著 Java 核心技術(shù)Cay S.Horstmann Gary Cornell 編著 數(shù)據(jù)庫系統(tǒng)概論王珊 薩師煊 著 2 2問題初始分析(問題初始分析(EarlyEarly AnalysisAnalysis) 我們對(duì)整個(gè)項(xiàng)目進(jìn)行全面分析以后,發(fā)現(xiàn)該項(xiàng)目面臨的問題如下: (1) 、如何把攝像頭中的數(shù)據(jù)傳到服務(wù)器中,并每隔一段時(shí)間進(jìn)行保存,如果是多個(gè)攝像 頭,又該如何傳輸,這涉及到多線程并發(fā)的操作。 (2) 、用戶如何通過網(wǎng)絡(luò)從服務(wù)器上獲得數(shù)據(jù),以及獲得的是實(shí)時(shí)數(shù)據(jù)。如果該用戶又多 個(gè)攝像頭,又該獲得每個(gè)攝像頭中的數(shù)據(jù)。 (3) 、后臺(tái)服務(wù)器,如何管理。 (4) 、用戶如何通過服務(wù)器對(duì)遠(yuǎn)程攝像頭進(jìn)行控制。 2.12.1 場景描述(場景描述(SceneScene DescriptionDescription) 用戶所處的位置可以是任何一個(gè)地點(diǎn),首先用戶的電腦必須能夠上網(wǎng)。也就是說能夠 普通攝像頭 服務(wù)器 用戶 PC 機(jī) 數(shù)據(jù)傳輸 發(fā)出請(qǐng)求 數(shù)據(jù)傳輸 控制命令 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 7 通過瀏覽器進(jìn)行訪問,用戶不需要安裝任何軟件。 用戶必須在某個(gè)區(qū)域配置有攝像頭,該攝像頭并且能夠連接到服務(wù)器中去。 2.22.2 初始功能提取(初始功能提?。‥arlyEarly FunctionFunction DistillDistill) (1) 、視頻數(shù)據(jù)的實(shí)時(shí)傳輸 (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ī)約描述,必要時(shí)采用活動(dòng)圖進(jìn)行 檢驗(yàn)。 用戶 查看視頻 注冊(cè)登錄 管理攝像頭 查詢視頻 管理視頻 4 4目標(biāo)系統(tǒng)性能需求(目標(biāo)系統(tǒng)性能需求(PerformancePerformance ofof TargetTarget SystemSystem) 在 B/S 模式下采用傳統(tǒng)的三層體系結(jié)構(gòu)來設(shè)計(jì)監(jiān)控組態(tài)軟件,并不能直接實(shí)現(xiàn)與被控 對(duì)象進(jìn)行數(shù)據(jù)通信,因此基于 Web 技術(shù)的監(jiān)控組態(tài)軟件采用四層體系結(jié)構(gòu)進(jìn)行設(shè)計(jì),如圖 2 所示。它是在一般的三層體系結(jié)構(gòu)的基礎(chǔ)上增加了控制層,用來實(shí)現(xiàn) Web 服務(wù)器與被控 對(duì)象的通信,進(jìn)一步控制被控對(duì)象。這樣既充分利用了現(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 時(shí)間要求(時(shí)間要求(TimeTime RequestRequest) 如: (1)響應(yīng)時(shí)間,如查詢的最長等待時(shí)間。 (2)更新處理時(shí)間,如記賬的最長時(shí)間。 (3)數(shù)據(jù)的轉(zhuǎn)換和傳送時(shí)間,如遠(yuǎn)程數(shù)據(jù)傳輸?shù)臅r(shí)間要求。 (4)解題時(shí)間。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 8 以上的時(shí)間要求,我們會(huì)控制在 2s 內(nèi)完成。可能這個(gè)時(shí)間有些長,但是必須考慮到, 網(wǎng)絡(luò)的流量以及網(wǎng)絡(luò)阻塞情況。就好比你上網(wǎng)看視頻,如果網(wǎng)速很慢,你等的時(shí)間會(huì)很長 些,如果網(wǎng)速快,你可能不用等很長時(shí)間。實(shí)時(shí)視頻的傳輸速率也和網(wǎng)絡(luò)狀況有關(guān)。 4.24.2 空間要求(空間要求(SpaceSpace RequestRequest) 如: (1)支持的終端數(shù)。 (2)支持的并行操作的使用者數(shù)。 (3)處理的文件和記錄數(shù)。 (4)處理任務(wù)的數(shù)量。 (5)對(duì)輸入和輸出數(shù)據(jù)的精度要求。 (6)對(duì)處理和傳輸過程中的精度要求。 5 5目標(biāo)系統(tǒng)界面與接口需求(目標(biāo)系統(tǒng)界面與接口需求(InterfaceInterface ofof TargetTarget SystemSystem) 5.15.1 界面需求(界面需求(InterphaseInterphase RequirementRequirement) 界面的原則要求,如方便、簡潔、美觀、一致等。整個(gè)系統(tǒng)的界面風(fēng)格定義,某些功 能模塊的特殊的界面要求。 (1)輸入設(shè)備:鍵盤、鼠標(biāo)、條碼掃描器、掃描儀等; (2)輸出設(shè)備:顯示器、打印機(jī)、光盤刻錄機(jī)、磁帶機(jī)、音箱等; (3)顯示風(fēng)格:圖形界面、字符界面、IE 界面等; (4)顯示方式:1024*768、640*480 等; (5)輸出格式:顯示布局、打印格式等。 我們?cè)O(shè)計(jì)的界面一定要達(dá)到美觀,易懂,并且會(huì)有相應(yīng)的提示說明。在輸入、輸出設(shè) 備上,沒有太大的要求。該系統(tǒng)采用的顯示風(fēng)格是 IE 界面。至于顯示方式,他會(huì)根據(jù)用戶 電腦的分辨率進(jìn)行調(diào)節(jié),以適應(yīng)任何形式的顯示方式。在輸出格式方面,該系統(tǒng)會(huì)兼顧各 個(gè)方面,我們的輸出格式會(huì)達(dá)到形式多樣化。 總之,他會(huì)讓用戶看著舒心,用著放心。任何人都可以使用。 5.25.2 接口需求(接口需求(InterfaceInterface RequirementRequirement) 與其他系統(tǒng)的接口,如監(jiān)控系統(tǒng)、控制系統(tǒng)、銀行結(jié)算系統(tǒng)、稅控系統(tǒng)、財(cái)務(wù)系統(tǒng)、 政府網(wǎng)絡(luò)系統(tǒng)及其他系統(tǒng)等。 (1)與系統(tǒng)特殊外設(shè)的接口,如 CT 機(jī)、磁共振、柜員機(jī)(ATM) 、IC 卡、盤點(diǎn)機(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)會(huì)對(duì)區(qū)域人員進(jìn)行圖像辨別,數(shù)據(jù)分析。會(huì)判斷入境人員 的身份,并及時(shí)做出相應(yīng)的處理。 (2) 、用戶信息的安全保護(hù)。 6.16.1 安全性(安全性(SecuritySecurity) 用戶的賬號(hào),該系統(tǒng)會(huì)做到最高級(jí)別的保護(hù)。 遠(yuǎn)程監(jiān)控系統(tǒng)會(huì)利用新技術(shù)全面的保護(hù)用戶賬號(hào)的安全。盡量會(huì)保證用戶信息的保密 性。及時(shí)用戶的賬號(hào)外漏,該系統(tǒng)也會(huì)采用相應(yīng)的措施,進(jìn)一步保護(hù)! 6.26.2 可靠性(可靠性(DependabilityDependability) 系統(tǒng)能夠穩(wěn)定可靠地運(yùn)行,能夠防止外界的一切干擾,穩(wěn)定性方面相當(dāng)優(yōu)秀! 6.36.3 靈活性(靈活性(AgilityAgility) 該系統(tǒng)在視頻分析,圖像數(shù)據(jù)分析,攝像頭處理時(shí)想當(dāng)靈活的,他采用人性的設(shè)計(jì)方 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 9 式,按照人的思維處理問題。并且用戶可以通過網(wǎng)絡(luò)對(duì)遠(yuǎn)程的攝像頭進(jìn)行管理,這些都是 該系統(tǒng)靈活性的體現(xiàn)。方便用戶的操作! 6.46.4 特殊需求(特殊需求(SpecialSpecial RequirementsRequirements) 如: (1)進(jìn)度需求:系統(tǒng)的階段進(jìn)度要求。 (2)運(yùn)行環(huán)境需求:平臺(tái)、體系結(jié)構(gòu)、設(shè)備要求。 (3)培訓(xùn)需求:用戶對(duì)培訓(xùn)的需求,是否提供多媒體教學(xué)光盤。 (4)推廣需求:推廣的要求,如在上百個(gè)遠(yuǎn)程部門推廣該系統(tǒng),是否要有推廣的支持 軟件。 7 7目標(biāo)系統(tǒng)假設(shè)與約束條件(目標(biāo)系統(tǒng)假設(shè)與約束條件(SupposeSuppose andand RestrictionRestriction ofof TargetTarget SystemSystem) 假設(shè)與約定條件是對(duì)預(yù)計(jì)的系統(tǒng)風(fēng)險(xiǎn)的描述, 如: (1)法律、法規(guī)和政策方面的限制。 (2)硬件、軟件、運(yùn)行環(huán)境和開發(fā)環(huán)境方面的條件和限制。 (3)可利用的信息和資源。 (4)系統(tǒng)投入使用的最晚日期。 三、總體設(shè)計(jì)說明書三、總體設(shè)計(jì)說明書 遠(yuǎn)程監(jiān)控技術(shù),始于 DOS 時(shí)代,因?yàn)楫?dāng)時(shí)網(wǎng)絡(luò)不發(fā)達(dá),這門技術(shù)沒有得到 很多重視,但是隨著網(wǎng)絡(luò)的高度發(fā)展,電腦的管理及技術(shù)支持的需要,遠(yuǎn)程監(jiān) 控技術(shù)越來越引起人們的關(guān)注。 網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,也為遠(yuǎn)程監(jiān)控技術(shù)的發(fā)展創(chuàng)造了條件。遠(yuǎn)程監(jiān)控軟 件一般分兩個(gè)部分:一部分是客戶端程序 Client,另一部分是服務(wù)器端程序 Server,多數(shù)遠(yuǎn)程監(jiān)控軟件把被監(jiān)控端作為服務(wù)器,主控端作為客戶端??紤] 到在監(jiān)控過程中,如果把主控端作為客戶端向被監(jiān)控端發(fā)送 TCP 連接請(qǐng)求,容 易被防火墻或者殺毒軟件阻止,監(jiān)控過程就不能夠成功進(jìn)行。因此,本畢業(yè)設(shè) 計(jì)將被監(jiān)控端設(shè)計(jì)為客戶端,向主控端發(fā)連接請(qǐng)求,建立連接后,主控端向被 監(jiān)控端發(fā)送遠(yuǎn)程控制命令,控制被監(jiān)控端電腦中的各種應(yīng)用程序運(yùn)行,被監(jiān)控 端對(duì)主控端發(fā)送來的命令進(jìn)行處理,并將命令處理結(jié)果返回給主控端。 遠(yuǎn)程監(jiān)控軟件順應(yīng)時(shí)代發(fā)展的需求,它實(shí)用、使用簡便,是非常不錯(cuò)的軟 件。 1.11.1 遠(yuǎn)程監(jiān)控的背景知識(shí)遠(yuǎn)程監(jiān)控的背景知識(shí) 遠(yuǎn)程監(jiān)控是在網(wǎng)絡(luò)上由一臺(tái)電腦(主控端 Remote)遠(yuǎn)距離去監(jiān)控另一臺(tái)電腦 (被監(jiān)控端 Host)的技術(shù),這里的遠(yuǎn)程不是字面意思的遠(yuǎn)距離,一般指通過網(wǎng)絡(luò) 監(jiān)控遠(yuǎn)端電腦,不過,大多數(shù)時(shí)候我們所說的遠(yuǎn)程監(jiān)控往往指在局域網(wǎng)中的遠(yuǎn) 程監(jiān)控而言。 電腦中的遠(yuǎn)程控制技術(shù),始于 DOS 時(shí)代,只不過當(dāng)時(shí)由于技術(shù)上沒有什么 大的變化,網(wǎng)絡(luò)不發(fā)達(dá),市場沒有更高的要求,所以遠(yuǎn)程控制技術(shù)沒有引起更 多人的注意。但是,隨著網(wǎng)絡(luò)的高度發(fā)展,電腦的管理及技術(shù)支持的需要,遠(yuǎn) 程操作及控制技術(shù)越來越引起人們的關(guān)注。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 10 遠(yuǎn)程控制一般支持下面的這些網(wǎng)絡(luò)方式:LAN、WAN、撥號(hào)方式、互聯(lián)網(wǎng)方 式。此外,有的遠(yuǎn)程控制軟件還支持通過串口、并口、紅外端口來對(duì)遠(yuǎn)程機(jī)進(jìn) 行控制(不過,這里說的遠(yuǎn)程電腦,只能是有限距離范圍內(nèi)的電腦了)。傳統(tǒng)的 遠(yuǎn)程控制軟件一般使用 NETBEUI、NETBIOS、IPX/SPX、TCP/IP 等協(xié)議來實(shí)現(xiàn)遠(yuǎn) 程控制,不過,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,目前很多遠(yuǎn)程控制軟件提供通過 Web 頁 面以 Java 技術(shù)來控制遠(yuǎn)程電腦,這樣可以實(shí)現(xiàn)不同操作系統(tǒng)下的遠(yuǎn)程控制,例 如數(shù)技通科技有限公司在就推出了全球第一套基于中文 JAVA 的跨平臺(tái)遠(yuǎn)程控制 軟件易控。 1 1 2 2 遠(yuǎn)程監(jiān)控軟件的原理遠(yuǎn)程監(jiān)控軟件的原理 遠(yuǎn)程監(jiān)控軟件一般分兩個(gè)部分:一部分是客戶端程序 Client,另一部分是 服務(wù)器端程序 Server,由于本畢業(yè)設(shè)計(jì)的通信模塊有別于傳統(tǒng)的遠(yuǎn)程監(jiān)控軟件, 在使用前需要將客戶端程序安裝到被監(jiān)控端電腦上,將服務(wù)器端程序安裝到主 控端電腦上。 在進(jìn)行一臺(tái)電腦對(duì)多臺(tái)遠(yuǎn)端電腦進(jìn)行控制時(shí),我們發(fā)現(xiàn),遠(yuǎn)程監(jiān)控軟件似 乎更像一個(gè)局域網(wǎng)的網(wǎng)絡(luò)管理員,而提供遠(yuǎn)程控制的遠(yuǎn)程終端服務(wù)就像極了辦 公室局域網(wǎng)的延伸。這種一對(duì)多的連接方式在節(jié)省了調(diào)制解調(diào)器的同時(shí),還使 得網(wǎng)絡(luò)的接入更加安全可靠,網(wǎng)絡(luò)管理員也更易于管理局域網(wǎng)上的每一臺(tái)電腦。 本文所論述的遠(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實(shí)現(xiàn)被控端硬盤文件的上傳、下載。 3實(shí)現(xiàn)對(duì)鼠標(biāo)、鍵盤的模擬。 4實(shí)現(xiàn)在被控端機(jī)器上執(zhí)行任意 DOS 命令。 5遠(yuǎn)程關(guān)機(jī)、遠(yuǎn)程重啟計(jì)算機(jī)。 2.1.22.1.2 其他需求其他需求 1系統(tǒng)實(shí)用,界面操作簡便。 2被監(jiān)控端自動(dòng)隱藏運(yùn)行。 被監(jiān)控端將隨電腦啟動(dòng)而自動(dòng)運(yùn)行,運(yùn)行時(shí)默認(rèn)無任何可見界面。 2.22.2 系統(tǒng)開發(fā)原理及關(guān)鍵技術(shù)系統(tǒng)開發(fā)原理及關(guān)鍵技術(shù) 2.2.12.2.1 系統(tǒng)開發(fā)原理系統(tǒng)開發(fā)原理 本系統(tǒng)是利用類 java.awt.robot 中的屏幕截取和鼠標(biāo)、鍵盤自動(dòng)控制功能, 然后加上網(wǎng)絡(luò)傳輸功能來完成來完成截屏和遠(yuǎn)程控制的。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 11 2.2.22.2.2 系統(tǒng)運(yùn)行概述系統(tǒng)運(yùn)行概述 1啟動(dòng)被監(jiān)控端,打開指定的 UDP 端口號(hào)。用于讀取命令。 2被監(jiān)控端讀取命令(命令格式為 ordername:port)ordername 為命令名 字,port 為主控端打開的 TCP 端口。 3接到主控端連接后,被監(jiān)控端就對(duì)當(dāng)前用戶的桌面采用屏幕截取,然后 發(fā)送給主控端。依被監(jiān)控端設(shè)計(jì)的不同,可以設(shè)定屏幕截取的時(shí)間間隔,時(shí)間 間隔短一點(diǎn)就可以獲得連續(xù)屏幕變化了。 4主控端在畫布上對(duì)鼠標(biāo)、鍵盤事件進(jìn)行監(jiān)聽,被監(jiān)控端重演主控端上的 事件 5主控端和被監(jiān)控端讀取和發(fā)送數(shù)據(jù),分別來實(shí)現(xiàn)文件上傳和下載。 6在被監(jiān)控端實(shí)現(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ò)編 程實(shí)現(xiàn)主控端和被監(jiān)控端的通訊(命令收發(fā)、數(shù)據(jù)傳送) ,用 Java 圖形編程完 成主控端控制界面的編寫。具體應(yīng)用如下: 1實(shí)現(xiàn)主控端(服務(wù)器)與被監(jiān)控端(客戶端)之間的通訊。 用 Java Socket 來實(shí)現(xiàn)。 2用 Java 采集事件,封裝成消息,用于發(fā)送。 在主控端機(jī)器上采集事件(一般只不過是鍵盤和鼠標(biāo)的事件),然后封 裝成消息類傳輸?shù)奖槐O(jiān)控端。 3在被監(jiān)控端上重演主控端的動(dòng)作事件。 在被監(jiān)控端運(yùn)行 client 端,接收消息,如果主控端有請(qǐng)求操作的消息, 用 Robot 截下當(dāng)前屏幕,傳給主控端,主控端顯示被監(jiān)控端的屏幕,是一個(gè)位 圖;然后接收在這個(gè)位圖上的鼠標(biāo)事件和鍵盤事件,并把鼠標(biāo)位置(位圖上的坐 標(biāo)換算成對(duì)應(yīng)的屏幕上的坐標(biāo))和鍵值送到被監(jiān)控端上,在被監(jiān)控端上重演同樣 的事件。 2.32.3 系統(tǒng)的開發(fā)平臺(tái)系統(tǒng)的開發(fā)平臺(tái) JDK1.5.0,MyEclipse8.5,Windows XP Professional 2.3.12.3.1 MyEclipseMyEclipse 介紹介紹 MyEclipse 是一種可擴(kuò)展的開放源代碼 IDE。2001 年 11 月,IBM 公司捐出 價(jià)值 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 平臺(tái)。MyEclipse 允許在同一 IDE 中集成來自不同供應(yīng)商的 工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開發(fā) 者可以專注在實(shí)際的嵌入式目標(biāo)上。MyEclipse 為工具開發(fā)商提供了更好的靈 活性,使他們能更好地控制自己的軟件技術(shù)。MyEclipse 是一個(gè)開放源代碼的 項(xiàng)目,任何人都可以下載 MyEclipse 的源代碼,并且在此基礎(chǔ)上開發(fā)自己的功 能插件。同時(shí)可以通過開發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能,比如在現(xiàn)有的 Java 開發(fā)環(huán)境中加入 Tomcat 服務(wù)器插件??梢詿o限擴(kuò)展,而且有著統(tǒng)一的外觀,操 作和系統(tǒng)資源管理,這也正是 MyEclipse 的潛力所在。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 12 2.3.22.3.2 JavaJava 語言語言 Java 語言是 SUN 公司于 1995 年 5 月推出的新一代面向?qū)ο蟮挠?jì)算機(jī)通用 編程語言,是繼 WWW 之后又一引起世界轟動(dòng)的產(chǎn)品。Java 語言的特點(diǎn)是跨平臺(tái) 和強(qiáng)大的網(wǎng)絡(luò)編程功能。在 Java 語言誕生之前,Internet 已存在,所以 Java 語言本身就封裝了大量進(jìn)行網(wǎng)絡(luò)編程的類庫,使得網(wǎng)絡(luò)編程功能強(qiáng)大,同時(shí)又 簡化了網(wǎng)絡(luò)編程的操作。因此利用 Java 語言可以開發(fā)出功能強(qiáng)大的網(wǎng)絡(luò)應(yīng)用程 序。 2.3.32.3.3 JarJar 命令命令 功能:Java 歸檔工具 語法:jar 命令選項(xiàng) manifest destination input-file input- files jar 工具是個(gè) java 應(yīng)用程序,可將多個(gè)文件合并為單個(gè) JAR 歸檔文件。 jar 是個(gè)多用途的存檔及壓縮工具,它基于 ZIP 和 ZLIB 壓縮格式。然而,設(shè)計(jì) jar 的主要目的是便于將 java applet 或應(yīng)用程序打包成單個(gè)歸檔文件。將 applet 或應(yīng)用程序的組件(.class 文件、圖像和聲音)合并成單個(gè)歸檔文件時(shí), 可以用 java 代理(如瀏覽器)在一次 HTTP 事務(wù)處理過程中對(duì)它們進(jìn)行下載,而 不是對(duì)每個(gè)組件都要求一個(gè)新連接。這大大縮短了下載時(shí)間。jar 還能壓縮文 件,從而進(jìn)一步提高了下載速度。此外,它允許 applet 的作者對(duì)文件中的各個(gè) 項(xiàng)進(jìn)行簽名,因而可認(rèn)證其來源。jar 工具的語法基本上與 tar 命令的語法相 同。 命令選項(xiàng): -c:在標(biāo)準(zhǔn)輸出上創(chuàng)建新歸檔或空歸檔。 -t:在標(biāo)準(zhǔn)輸出上列出內(nèi)容表。 -xfile:從標(biāo)準(zhǔn)輸入提取所有文件,或只提取指定的文件。如果省略了 file,則提取所有文件;否則只提取指定文件。 -f:第二個(gè)參數(shù)指定要處理的 jar 文件。在-c(創(chuàng)建)情形中,第二個(gè)參數(shù) 指的是要?jiǎng)?chuàng)建的 jar 文件的名稱(不是在標(biāo)準(zhǔn)輸出上)。在-t(表(或-x(抽取)這 兩種情形中,第二個(gè)參數(shù)指定要列出或抽取的 jar 文件。 -v:在標(biāo)準(zhǔn)錯(cuò)誤輸出設(shè)備上生成長格式的輸出結(jié)果。 -m:包括指定的現(xiàn)有清單文件中的清單信息。用法舉例:“jar cmf myManifestFile myJarFile *.class” -0:只儲(chǔ)存,不進(jìn)行 ZIP 壓縮。 -M:不創(chuàng)建項(xià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.jar 中,但不添加類目錄本 身。 程序示例 1:將當(dāng)前目錄下所有 CLASS 文件打包成新的 JAR 文件: jar cf file.jar *.class 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 13 2:顯示一個(gè) JAR 文件中的文件列表: jar tf file.jar 3:將當(dāng)前目錄下的所有文件增加到一個(gè)已經(jīng)存在的 JAR 文件中: jar cvf file.jar * 2.42.4 編程運(yùn)行環(huán)境編程運(yùn)行環(huán)境 硬件環(huán)境: CPU: 閃龍 2400 內(nèi)存:256M 硬盤:80G 軟件環(huán)境: 操作系統(tǒng):Windows XP Professional 應(yīng)用軟件:MyEclipse8.5 + JDK1.5.0 四、四、詳細(xì)設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書 3.13.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)和分析系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)和分析 本系統(tǒng)設(shè)計(jì)的方案為 C/S 模式,在主控端電腦上安裝服務(wù)器端程序,在被 監(jiān)控端電腦上安裝客戶端程序。該系統(tǒng)的控制過程是先在主控端電腦上執(zhí)行服 務(wù)器程序,在命令收發(fā)過程中,主控端向被監(jiān)控端配置的 UDP 端口發(fā)送命令, 該命令是一個(gè)控制命令,要求被監(jiān)控端來連接其開啟的 TCP 端口和要求被監(jiān)控 端執(zhí)行的操作,如果被監(jiān)控端監(jiān)聽到該 UDP 命令,主動(dòng)開啟 TCP 端口向主控端 發(fā)送連接請(qǐng)求。這樣就建立了一個(gè)特殊的遠(yuǎn)程服務(wù),然后通過這個(gè)遠(yuǎn)程服務(wù), 主控端使用各種遠(yuǎn)程控制功能發(fā)送遠(yuǎn)程控制命令,控制被監(jiān)控端電腦中的各種 應(yīng)用程序運(yùn)行。系統(tǒng)總體結(jié)構(gòu)如圖 1: 圖 1 系統(tǒng)總體結(jié)構(gòu)圖 圖 3.1 把軟件功能分解到通信的兩個(gè)端點(diǎn)上,即客戶端和服務(wù)器端,采用 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 14 ClientServer 模式。這樣能提高設(shè)計(jì)的靈活性,易于系統(tǒng)的擴(kuò)展。被監(jiān)控端 接受主控端命令,并處理命令,然后輸出命令處理結(jié)果;主控端則提供交互界 面及命令處理結(jié)果顯示;數(shù)據(jù)交換通道的建立由雙方的數(shù)據(jù)通信模塊負(fù)責(zé)。從 而實(shí)現(xiàn)點(diǎn)到點(diǎn)的直接控制監(jiān)控,滿足實(shí)時(shí)性要求。 3.1.13.1.1 主控端的主要功能模塊主控端的主要功能模塊 主控端包括的模塊有:消息輸入,命令處理結(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),一旦接收到合法的連接請(qǐng)求,就開 UDP 端口,并開啟命令接受線程,建立 連接后,通過通信模塊接收主控端發(fā)來的命令信息,經(jīng)命令處理模塊解釋后, 并將結(jié)果返回到主控端。 3.23.2 程序流程及分析程序流程及分析 3.2.13.2.1 被監(jiān)控端啟動(dòng)流程被監(jiān)控端啟動(dòng)流程 在被監(jiān)控端安裝客戶端程序,程序啟動(dòng)的時(shí)候,嘗試開啟 UDP 端口,如果 防火墻或者殺毒軟件阻止,嘗試開啟配置的其它 UDP 端口,如果都嘗試完畢, 啟動(dòng)失敗。否則,將開啟的 UDP 套接字傳入,然后開啟命令接收線程,目的是 進(jìn)行命令獲取,并對(duì)獲取的命令進(jìn)行處理。然后將自己復(fù)制到自啟動(dòng)項(xiàng),并改 名為 Explorer.jar. 流程如圖 2。 圖 2 被監(jiān)控端啟動(dòng)流程 3.2.23.2.2 主控端啟動(dòng)流程主控端啟動(dòng)流程 在主控端安裝服務(wù)器程序,主控端首先啟動(dòng)其控制窗口類,初始化圖形在 主控端安裝服務(wù)器程序,主控端首先啟動(dòng)其控制窗口類,初始化圖形顯示,然 后用戶輸入被監(jiān)控端的 IP 地址。接著主控端開啟任意 TCP 端口,并向該 IP 配 置的 UDP 端口發(fā)送初始化命令(命令格式為 ordername:port) ,ordername 為命 令名字,port 為主控端打開的 TCP 端口號(hào)。主控端對(duì)開啟的 TCP 端口進(jìn)行監(jiān)聽, 如果超時(shí),連接失敗。否則,主控端讀取被監(jiān)控端的狀態(tài)對(duì)象,接著啟動(dòng)控制 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 15 模塊和屏幕監(jiān)視模塊。流程如圖 3。 圖 3 主控端啟動(dòng)流程 圖 4 命令接受和處理流程 3.2.33.2.3 命令接收和處理流程命令接收和處理流程 被監(jiān)控端 UDP 端口啟動(dòng)成功后,就開始對(duì)該 UDP 端口進(jìn)行監(jiān)聽,如果監(jiān)聽 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 16 到有命令,就讀取它,并判斷命令是否有效,命令以 ordername:port 為格式, 如果無效,返回繼續(xù)讀取命令,否則,調(diào)用相應(yīng)的命令處理模塊對(duì)命令進(jìn)行處 理,命令處理完后將處理結(jié)果返回給主控端。流程如圖 4。 3.2.43.2.4 圖形監(jiān)視線程啟動(dòng)流程圖形監(jiān)視線程啟動(dòng)流程 主控端開啟任意 TCP 端口,向被監(jiān)控端的 UDP 端口發(fā)送“要求被監(jiān)控端連接” 的 UDP 命令,命令形式為 screen:TCP Port。如果命令超時(shí),命令執(zhí)行失敗, 否則,如果被監(jiān)視端來連接,生成 Soket 對(duì)象,從 Soket 中讀取被監(jiān)視端發(fā)送 過來的圖形對(duì)象,并將圖象顯示在畫布上,每隔一定時(shí)間(若干秒) ,重新讀取 圖象,更 新畫布顯示,從而實(shí)現(xiàn)連續(xù)獲得對(duì)方屏幕變化。流程如圖 5。 圖 5 圖形監(jiān)視線程啟動(dòng)流程 3.2.53.2.5 遠(yuǎn)程控制流程遠(yuǎn)程控制流程 被監(jiān)控端收到主控端的 UDP 命令:control:TCP Port,獲得主控端開放的 TCP 端口號(hào)。成功連接主控端的 TCP 端口后,并從中讀取事件對(duì)象,接著對(duì)事 件對(duì)象進(jìn)行類型判斷,如果是鍵盤事件,就對(duì)鍵盤事件重演;如果是鼠標(biāo)事件, 就對(duì)鼠標(biāo)事件重演。接著判定控制套接是否關(guān)閉,如果關(guān)閉,控制結(jié)束。否則 返回繼續(xù)讀取事件。流程如圖 6。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 17 圖 6 遠(yuǎn)程控制流程 3.2.63.2.6 文件上傳流程文件上傳流程 主控端開啟任意 TCP 端口,向被監(jiān)控端發(fā)送文件上傳命令,命令格式為: fileup:TCP Port。如果命令超時(shí),文件上傳失敗,否則,主控端讀取文件數(shù)據(jù) 并發(fā)送,發(fā)送過程中如果 I/O 錯(cuò)誤,文件上傳失敗,否則,進(jìn)行文件是否讀取 完判斷,如果讀取完,則上傳成功,否則,繼續(xù)讀取文件數(shù)據(jù)。流程如圖 7。 圖 7 文 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 18 五、源程序清單五、源程序清單 4.14.1 系統(tǒng)主要模塊設(shè)計(jì)系統(tǒng)主要模塊設(shè)計(jì) 4.1.14.1.1 消息輸入,命令處理結(jié)果顯示模塊消息輸入,命令處理結(jié)果顯示模塊 主控端消息輸入,顯示模塊的開發(fā)采用 JAVA 圖形編程,利用模塊化、通用 性強(qiáng)的特點(diǎn),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控中用戶控制界面的編寫。 4.1.24.1.2 通信模塊實(shí)現(xiàn)通信模塊實(shí)現(xiàn) 1Socket 編程 數(shù)據(jù)通信模塊中的數(shù)據(jù)通道建立采用 Socket 編程。Socket 支持 TCPIP 協(xié)議網(wǎng)絡(luò)通信的基本操作;它屏蔽了網(wǎng)絡(luò)底層的通信細(xì)節(jié),使編程簡單;它對(duì) 通信端點(diǎn)進(jìn)行了抽象,提供發(fā)送和接收數(shù)據(jù)機(jī)制及打開、計(jì)算和關(guān)閉會(huì)話的能 力。本項(xiàng)目中,客戶端和服務(wù)器代表運(yùn)行在 Windows 操作平臺(tái)下,采用 Java Socket 來編程實(shí)現(xiàn)命令和數(shù)據(jù)信息的傳輸。 主控端主要通信代碼: ServerSocket server=NewRadomSocket.openNewPort(); /開啟新端口 Socket socket=null; server.setSoTimeout(Parameter.TCP_TIME_OUT); /設(shè)置超時(shí) socket=server.accept(); /開啟 ObjectInputStream readin=new ObjectInputStream(socket.getInputStream(); /封裝流,準(zhǔn)備讀取 一個(gè)對(duì)象 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 命令處理模塊命令處理模塊 命令處理模塊的實(shí)現(xiàn)就是通過函數(shù)調(diào)用,調(diào)用各個(gè)命令處理類。在命令處 理模塊中,被監(jiān)控端執(zhí)行以下操作:發(fā)送自己的狀態(tài)信息給主控端;建立圖象 傳送;開啟控制命令套接字;文件上傳;文件下載;執(zhí)行 DOS 命令,獲取執(zhí)行 結(jié)果和錯(cuò)誤流。 4.24.2 連續(xù)獲得被監(jiān)控端機(jī)器屏幕變化功能實(shí)現(xiàn)連續(xù)獲得被監(jiān)控端機(jī)器屏幕變化功能實(shí)現(xiàn) 4.2.14.2.1 比較幾種屏幕截取方法比較幾種屏幕截取方法 在 Java 遠(yuǎn)程監(jiān)控過程中,我們要截取軟件運(yùn)行 GUI 界面,并將其保存到一 個(gè)或一系列圖像文件中。 目前,在 Windows 平臺(tái)下,有關(guān)屏幕截取的工具軟件有許多,比如: HyperCam 等,當(dāng)然還可以直接利用 Windows 操作系統(tǒng)支持的屏幕拷貝 Print 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 19 Screen 鍵,將屏幕拷貝到剪貼板,在保存為圖像文件。這些工具軟件一定要屏 幕截取者,在操作過程中要“精力集中“并且“伺機(jī)捕獲“所需要的軟件運(yùn)行界面。 事實(shí)上,有時(shí)候我們需要 Java 應(yīng)用程序,自動(dòng)對(duì)運(yùn)行的 GUI 界面進(jìn)行“拍照“, 比如:一臺(tái)計(jì)算機(jī)要獲取網(wǎng)絡(luò)上另一臺(tái)計(jì)算機(jī)正在運(yùn)行的 GUI 界面,要看看對(duì) 方計(jì)算機(jī)上軟件運(yùn)行情況。這就需要在 Java 應(yīng)用程序中,自動(dòng)將運(yùn)行的 GUI 界 面保存到一個(gè)圖像文件中,然后通過網(wǎng)絡(luò)傳輸?shù)搅硪慌_(tái)計(jì)算機(jī)上。而上述 HyperCam 等工具軟件無法與我們的 Java 應(yīng)用融合為一體。因此,我們需要在 Java 應(yīng)用程序中編寫一個(gè)屏幕“照相機(jī)“。 4.2.24.2.2 Java“Java“屏幕照相機(jī)屏幕照相機(jī)”的編寫原理的編寫原理 “屏幕的截取“是比較接近操作系統(tǒng)底層的操作,在 Windows 平臺(tái)下,該操 作似乎成了 VC、VB 等語言開發(fā)的專利。事實(shí)上,“屏幕的截取“在 Java 應(yīng)用程 序中,及其簡單。在 Java JDK1.5.0 中提供了一個(gè)“機(jī)器人“Robot 類。該類用 于產(chǎn)生與本地操作系統(tǒng)有關(guān)的底層輸入、測(cè)試應(yīng)用程序運(yùn)行或自動(dòng)控制應(yīng)用程 序運(yùn)行。Robot 類提供了一個(gè)方法:.createScreenCapture(),可以直接將 全屏幕或某個(gè)屏幕區(qū)域的像素拷貝到一個(gè) BufferedImage 對(duì)象中,我們只需要 將該對(duì)象寫入到一個(gè)圖像文件之中,就完成了屏幕到圖像的拷貝過程。 4.2.34.2.3 Java“Java“屏幕照相機(jī)屏幕照相機(jī)”的實(shí)現(xiàn)的實(shí)現(xiàn) 為了構(gòu)造一個(gè)比較完善的 Java 屏幕“照相機(jī)“,我們構(gòu)造了一個(gè) ImageProvider JavaBean,其源代碼和說明如下: /* 該 JavaBean 可以直接在其他 Java 應(yīng)用程序中調(diào)用,實(shí)現(xiàn)屏幕的“拍照“ */ public class ImageProvider private Robot robot=null; /圖象采集類 private Rectangle 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 對(duì)象 /* 復(fù)制全屏幕,返回 BufferedImage 對(duì)象 */ public BufferedImage CopyScreen() BufferedImage image=robot.createScreenCapture(rect); /截取屏幕,生成 BufferedImage 對(duì)象 return image; 4.2.44.2.4 遠(yuǎn)程屏幕監(jiān)控的實(shí)現(xiàn)遠(yuǎn)程屏幕監(jiān)控的實(shí)現(xiàn) 實(shí)現(xiàn)屏幕監(jiān)控要完成被監(jiān)控端發(fā)送屏幕截圖和主控端接收?qǐng)D片的工作,該 功能的實(shí)現(xiàn)中構(gòu)造了兩個(gè)類:SendImage Thread 和 GetImageThread,類圖分別 為圖 8 和圖 9。 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 20 圖 8 SendImage Thread 類圖 SendImage Thread JavaBean 代碼和說明如下: /*被監(jiān)控端將 Java 屏幕“照相機(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);/將流壓縮為 JPEG 對(duì)象流 catch (IOException e1) e1.printStackTrace(); while(true) image=impv.CopyScreen(); /截取屏幕圖象 encoder.encode(image) ; /向網(wǎng)絡(luò)寫入 JPEG 圖形對(duì)象 圖 9 GetImage Thread 類圖 GetImage Thread JavaBean 代碼和說明如下: /*主控端接收 JPEG 文件,并在畫布上顯示*/ public class GetImageThread extends Thread 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 21 。 。 。 。 。 。 。 。 。 。 (部分代碼略去) public void run() BufferedImage image=null; JPEGImageDecoder de=null; InputStream in=null; try socket.setReceiveBufferSize(1024); /設(shè)置接收緩沖 socket.setSoTimeout(60000); /設(shè)置 TCP 過期時(shí)間 in=socket.getInputStream(); /獲取套接字輸入流 de=JPEGCodec.createJPEGDecoder(in); /將輸入流封裝為 JPEG 對(duì)象流 catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); int wrongtime=0; while(true) wrongtime+; if(wrongtime=200)break; image=de.decodeAsBufferedImage(); /對(duì) JPEG 對(duì)象解碼,還原為 BufferedImage 圖形 對(duì)象 MainFrame.getInstance().ShowImage(image); /在控制窗口的畫布上顯示圖象 4.2.54.2.5 屏幕監(jiān)視功能測(cè)試屏幕監(jiān)視功能測(cè)試 在系統(tǒng)實(shí)現(xiàn)過程中,成功完成了連續(xù)獲得被監(jiān)控端機(jī)器屏幕變化的功能, 下面為測(cè)試圖片: 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 22 圖 10 屏幕監(jiān)視圖片 本節(jié)詳細(xì)介紹了遠(yuǎn)程屏幕監(jiān)視的功能實(shí)現(xiàn)。對(duì)于功能需求中的其他功能, 這里就不逐一介紹了。對(duì)于遠(yuǎn)程控制功能,如果要實(shí)現(xiàn)該功能,首先需要主控 端向被監(jiān)控端發(fā)送遠(yuǎn)程控制命令,被監(jiān)控端收到命令后,首先返回給主控端一 個(gè)包含被監(jiān)控端屏幕分辨率等的狀態(tài)信息,主控端根據(jù)狀態(tài)信息更新本機(jī)所存 的被控端狀態(tài),并調(diào)整畫布大小,使其比例符合被監(jiān)控端屏幕分辨率,這樣才 可以精確定位。在畫布中對(duì)事件進(jìn)行監(jiān)聽,采集事件,封裝成消息發(fā)送給被監(jiān) 控端,然后在被監(jiān)控端使用 Robot 對(duì)象控制鼠標(biāo)對(duì)象的位置與動(dòng)作,實(shí)現(xiàn)事件 重演。這樣就能實(shí)現(xiàn)遠(yuǎn)程控制。 六、用戶手冊(cè)六、用戶手冊(cè) 完成人完成人: 劉燕三 1 1前言前言(Preface)(Preface) 編寫本手冊(cè)的目的:是用戶能夠系統(tǒng)的了解本軟件的主要功能和程序的流程,使得用 戶能夠在使用之前能夠?qū)浖旧碛幸欢ǖ牧私?,使得用戶在確定是否購買本軟件的時(shí)候 起到參照的作用。這就是本手冊(cè)的作用。 1.11.1 內(nèi)容簡介內(nèi)容簡介(Introduction)(Introduction) 在 B/S 模式下采用傳統(tǒng)的三層體系結(jié)構(gòu)來設(shè)計(jì)監(jiān)控組態(tài)軟件,在一般的三層體系結(jié)構(gòu) 的基礎(chǔ)上增加了控制層,用來實(shí)現(xiàn) Web 服務(wù)器與被控對(duì)象的通信。該項(xiàng)目的委托單位、開 發(fā)單位和主管部門都是小組內(nèi)部成員。由于小組成員少,并沒有形成真正意義上的軟件開 基于 CS 模式遠(yuǎn)程監(jiān)控系統(tǒng)軟件的實(shí)現(xiàn) 2012 年 6 月 6 日 23 發(fā)機(jī)構(gòu)!值得說明的是該軟件系統(tǒng)與其他系統(tǒng)沒有直接關(guān)系。也就是說他是單獨(dú)存在的。 。 1.21.2 基本概念基本概念(Basic(Basic Concept)Concept) 用戶 PC 機(jī):一臺(tái)普普通通的電腦,具體點(diǎn)這里指能夠上網(wǎng)的電腦。 普通攝像頭:他不具有網(wǎng)絡(luò)攝像頭的功能,只是有某種接口的普通攝像頭。 后臺(tái)服務(wù)器:他對(duì)用戶數(shù)據(jù)進(jìn)行分析與處理。管理真?zhèn)€網(wǎng)站。 1.31.3 主要功能主要功能(Mostly(Mostly Function)Function) 系統(tǒng)分為兩大模塊,用戶和管理員。在用戶方面的主要功能有注冊(cè)登錄、查看視頻、 管理視頻、管理攝像、查看視頻;而管理員方面的主要功能有用戶管理、管理視頻、注冊(cè) 管理員、系統(tǒng)信息管理、網(wǎng)站維護(hù)等功能。 2 2功能功能(Function)(Function) 命令處理結(jié)果顯示模塊,通信模塊。消息輸入模塊負(fù)責(zé)將用戶界面的事件傳送到通信 模塊,通信模塊將命令信息發(fā)送到被監(jiān)控端;被監(jiān)控端執(zhí)行操作后返回的成功或失敗信息 交由主控端命令處理結(jié)果顯示模塊根據(jù)信息的格式進(jìn)行顯示。 視頻捕捉模塊根據(jù)用戶的客戶端攝像頭的數(shù)目,啟動(dòng)相應(yīng)的攝像頭,并進(jìn)行視頻的捕 捉。 視頻存在模塊記錄各個(gè)時(shí)間段,用戶的視頻,用戶并且可以對(duì)此進(jìn)行管理。 攝像頭管理模塊,用戶可以設(shè)置一些攝像頭的打開與關(guān)閉。 2.12.1 使用流程使用流程(Use(Use Flow)Flow) 在主控端安裝服務(wù)器程序,主控端首先啟動(dòng)其控制窗口類,初始化圖形在主控端安裝 服務(wù)器程序,主控端首先啟動(dòng)其控制窗口類,初始化圖形顯示,然后具體描述 (Description) 戶輸入被監(jiān)控端的 IP 地址。接著主控端開啟任意 TCP 端口,并向該 IP 配 置的 UDP 端口發(fā)送初始化命令(命令格式為 ordername:port) ,ordername 為命令名字, port 為主控端打開的 TCP 端口號(hào)。主控端對(duì)開啟的 TCP 端口進(jìn)行監(jiān)聽,如果超時(shí),連接失 敗。否則,主控端讀取被監(jiān)控端的狀態(tài)對(duì)象,接著啟動(dòng)控制模塊和屏幕監(jiān)視模塊。 2.32.3 進(jìn)行此功能的業(yè)務(wù)介紹進(jìn)行此功能的業(yè)務(wù)介紹(Operation(Operation Introduce)Introduce) 用戶通過用戶管理視屏和用戶查看視屏等功能來實(shí)現(xiàn)基于 B/S 的遠(yuǎn)程管理程序的系統(tǒng), 進(jìn)而來實(shí)現(xiàn)軟件的運(yùn)用。 在 B/S 模式下采用傳統(tǒng)的三層體系結(jié)構(gòu)來設(shè)計(jì)監(jiān)控組態(tài)軟件,在一般的三層體系結(jié)構(gòu) 的基礎(chǔ)上增加了控制層,用來實(shí)現(xiàn) Web 服務(wù)器與

注意事項(xiàng)

本文(軟件工程課程設(shè)計(jì)——遠(yuǎn)程監(jiān)控系統(tǒng).doc)為本站會(huì)員(good****022)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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