(控制理論與控制工程專業(yè)論文)基于軟件工程設(shè)計方法的板卡式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究.pdf_第1頁
(控制理論與控制工程專業(yè)論文)基于軟件工程設(shè)計方法的板卡式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究.pdf_第2頁
(控制理論與控制工程專業(yè)論文)基于軟件工程設(shè)計方法的板卡式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究.pdf_第3頁
(控制理論與控制工程專業(yè)論文)基于軟件工程設(shè)計方法的板卡式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究.pdf_第4頁
(控制理論與控制工程專業(yè)論文)基于軟件工程設(shè)計方法的板卡式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究.pdf_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

(控制理論與控制工程專業(yè)論文)基于軟件工程設(shè)計方法的板卡式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究.pdf.pdf 免費下載

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

文檔簡介

南開大學學位論文使用授權(quán)書 根據(jù)南開大學關(guān)于研究生學位論文收藏和利用管理辦法,我校的博士、碩士學位 獲得者均須向南開大學提交本人的學位論文紙質(zhì)本及相應(yīng)電子版。 本人完全了解南開大學有關(guān)研究生學位論文收藏和利用的管理規(guī)定。南開大學擁有在 著作權(quán)法規(guī)定范圍內(nèi)的學位論文使用權(quán),即:( 1 ) 學位獲得者必須按規(guī)定提交學位論文 ( 包括紙質(zhì)印刷本及電子版) ,學??梢圆捎糜坝 ⒖s印或其他復(fù)制手段保存研究生學位論 文,并編入南開大學博碩士學位論文全文數(shù)據(jù)庫;( 2 ) 為教學和科研目的,學??梢詫?公開的學位論文作為資料在圖書館等場所提供校內(nèi)師生閱讀,在校園網(wǎng)上提供論文目錄檢 索、文摘以及論文全文瀏覽、下載等免費信息服務(wù);( 3 ) 根據(jù)教育部有關(guān)規(guī)定,南開大學向 教育部指定單位提交公開的學位論文;( 4 ) 學位論文作者授權(quán)學校向中國科技信息研究所和 中國學術(shù)期刊( 光盤) 電子出版社提交規(guī)定范圍的學位論文及其電子版并收入相應(yīng)學位論文 數(shù)據(jù)庫,通過其相關(guān)網(wǎng)站對外進行信息服務(wù)。同時本人保留在其他媒體發(fā)表論文的權(quán)利。 非公開學位論文,保密期限內(nèi)不向外提交和提供服務(wù),解密后提交和服務(wù)同公開論文。 論文電子版提交至校圖書館網(wǎng)站:h t t p :2 0 2 1 1 3 2 0 1 6 1 :8 0 0 1 d n d e x h t m 。 本人承諾:本人的學位論文是在南開大學學習期間創(chuàng)作完成的作品,并已通過論文答 辯;提交的學位論文電子版與紙質(zhì)本論文的內(nèi)容一致,如因不同造成不良后果由本人自負。 本人同意遵守上述規(guī)定。本授權(quán)書簽署一式兩份,由研究生院和圖書館留存。 作者暨授權(quán)人簽字: 沈主搓 2 0 1 0 年5 月2 3 日 南開大學研究生學位論文作者信息 論文題目基于軟件工程設(shè)計方法的板卡式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究 姓名沈宇祥學號 2 1 2 0 0 7 0 2 7 2 答辯日期2 0 1 0 年5 月2 3 日 論文類別 博士口 學歷碩士口碩士專業(yè)學位口高校教師口 同等學力碩士口 院系所信息技術(shù)科學學院專業(yè)控制理論與控制工程 聯(lián)系電話 1 3 7 5 2 6 7 0 9 1 7e m a i l s h e n y u x i a n g m a i l n a n k a i e d u c n 通信地址( 郵編) :南開大學西區(qū)公寓3 一l - 1 0 4 備注:是否批準為非公開論文否 注:本授權(quán)書適用我校授予的所有博士、碩士的學位論文。由作者填寫( 一式兩份) 簽字后交校圖書 館,非公開學位論文須附南開大學研究生申請非公開學位論文審批表。 根據(jù)南開大學關(guān)于研究生學位論文收藏和利用管理辦法,我校的博士、碩士學位 獲得者均須向南開火學提交本人的學位論文紙質(zhì)本及相應(yīng)電子版。 本人完全了解南開人學有關(guān)研究生學位論文收藏和利用的管理規(guī)定。南開大學擁有在 著作權(quán)法規(guī)定范同內(nèi)的學位論文使用權(quán),即:( 1 ) 學位獲得者必須按規(guī)定提交學位論文 ( 包括紙質(zhì)印刷本及電子版) ,學校可以采h j 影印、縮印或其他復(fù)制手段保存研究生學位論 文,并編入南開大學博碩十學位論文全文數(shù)據(jù)庫;( 2 ) 為教學和科研目的,學校可以將 公開的學位論文作為資料在圖郫館等場所提供校內(nèi)師生閱讀,在校園網(wǎng)上提供論文目錄檢 索、文摘以及論文全文瀏覽、下載等免費信息服務(wù);( 3 ) 根據(jù)教育部有關(guān)規(guī)定,南開大學向 教育部指定單位提交公開的學位論文;( 4 ) 學位論文作者授權(quán)學校向中國科技信息研究所和 中國學術(shù)期刊( 光盤) 電子出版社提交規(guī)定范f f i 的學位論文及其電子版并收入相應(yīng)學位論文 數(shù)據(jù)庫,通過其相關(guān)網(wǎng)站對外進行信息服務(wù)。同時本人保留在其他媒體發(fā)表論文的權(quán)利。 1 f 公開學位論文,保密期限內(nèi)不向外提交和提供服務(wù),解密后提交和服務(wù)同公開論文。 論文電子版提交至校幽1 5 館網(wǎng)站:h t t p :2 0 2 11 3 2 0 1 6 1 :8 0 0 1 f i n d e x h t m 。 本人承諾:本人的! 學位論文是在南開人學學習期間創(chuàng)作完成的作品,并已通過論文答 辯:提交的學位論文電子版與紙質(zhì)本論文的內(nèi)容一致,如因不同造成不良后果由本人自負。 本人同意遵守上述規(guī)定。本授權(quán)書簽署一式兩份,由研究生院和圖j 1 5 館留存。 作者暨授權(quán)人簽字:嵫疊 2 0 o 年 么 業(yè)務(wù)邏輯層 么 jl 數(shù)據(jù)訪問層 ) 數(shù)據(jù)庫 圖4 1 三層客戶機服務(wù)器體系結(jié)構(gòu)圖 表示層是系統(tǒng)的用戶接口部分,擔負著用戶與系統(tǒng)間的對話功能。表示層 主要用于檢查用戶從鍵盤等設(shè)備輸入的數(shù)據(jù),顯示底層返回的結(jié)果,檢查的內(nèi) 容也只限于數(shù)據(jù)的形式和取值的范圍,不包括有關(guān)應(yīng)用本身的處理邏輯。它一 般只與中間的邏輯層交互,而不直接訪問后臺數(shù)據(jù)庫。 業(yè)務(wù)邏輯層又可以稱為功能層,是應(yīng)用處理的核心,是連接上層界面與底 層的中介和橋梁。它相應(yīng)用戶發(fā)來的請求,執(zhí)行相應(yīng)的邏輯處理,并將底層的 執(zhí)行結(jié)果返回給客戶端。這層中包含有確認用戶對應(yīng)用和數(shù)據(jù)庫存取權(quán)限的功 能,同時努力使表示層和業(yè)務(wù)邏輯層之間的數(shù)據(jù)交換盡可能地簡單,做到信息 一次性傳輸。 2 7 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 數(shù)據(jù)訪問層的主要組成部分就是數(shù)據(jù)庫管理系統(tǒng),負責管理對數(shù)據(jù)庫中數(shù) 據(jù)的讀寫工作,該層的主要任務(wù)是實現(xiàn)數(shù)據(jù)的存儲、數(shù)據(jù)的訪問控制、數(shù)據(jù)完 整性約束和并發(fā)控制等。 三層c s 體系結(jié)構(gòu)具有以下優(yōu)點:各個層次在邏輯上保持相對獨立,系統(tǒng)的 結(jié)構(gòu)十分清晰,便于系統(tǒng)維護和擴展;允許各個層次的應(yīng)用開發(fā)同時進行,縮 短了整體軟件的開發(fā)周期;功能層能夠有效隔離界面層與數(shù)據(jù)訪問層,從邏輯 層面上增強了數(shù)據(jù)庫的安全性。 4 1 2 詳細設(shè)計 詳細設(shè)計是軟件設(shè)計的第二階段,在此之前的總體設(shè)計階段已將系統(tǒng)劃分 為多個模塊,并將它們按照一定的原則組裝起來,同時確定了每個模塊的功能 及模塊與模塊之間的外部接口。這一階段的工作就是要對系統(tǒng)中的每個模塊給 出足夠詳細的過程性描述,故也稱之為“過程設(shè)計”。 詳細設(shè)計的根本目的就是確定應(yīng)該怎樣具體實現(xiàn)所要求的系統(tǒng),也就是說, 經(jīng)過這一階段的工作,應(yīng)該得出對目標系統(tǒng)的精確描述,具體的就是為軟件結(jié) 構(gòu)圖中每一個模塊確定采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu),用某種選定的詳細設(shè)計工 具更清晰地描述,從而在編碼階段可以把這些描述直接翻譯成某種程序設(shè)計語 言書寫的源程序。 詳細設(shè)計階段的任務(wù)是要設(shè)計出程序的“藍圖”,以后程序員將根據(jù)這個藍 圖寫出實際的代碼。因此,詳細設(shè)計的結(jié)果基本上決定了最終程序代碼的質(zhì)量。 考慮程序代碼質(zhì)量時必須注意,程序的“讀者 有兩個,即計算機和人。在整 個軟件生存周期中,軟件測試、診斷程序錯誤、修改和軟件維護等都必須先讀 懂程序。實際上對于長期使用的軟件系統(tǒng),讀程序的時間可能比寫程序的時間 要長得多。因此,衡量程序的質(zhì)量不僅僅看它的邏輯是否正確,性能是否滿足 要求,更重要的是看它是否易讀、易理解。詳細設(shè)計的目的不僅僅是邏輯上正 確地實現(xiàn)每個模塊的功能,更重要的是設(shè)計的處理過程應(yīng)該盡可能地簡明易懂。 結(jié)構(gòu)程序設(shè)計技術(shù)是實現(xiàn)上述目的的關(guān)鍵技術(shù),因此,是詳細設(shè)計的邏輯基礎(chǔ)。 因為程序主要使用廠家的s d k 進行主要功能的實現(xiàn),而不同廠家的不同設(shè)備 的s d k 有很大差異性,因此希望系統(tǒng)能夠提供統(tǒng)一的接口來實現(xiàn)所需的功能。設(shè) 計模式里的f a c a d e 模式可以解決這個問題。 f a c a d e 模式的作用是為擁有相同功能的子系統(tǒng)提供一致的接口。f a c a d e 模 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 式的結(jié)構(gòu)圖如圖4 2 所示。這個功能可以完全滿足要求。因此這里采用f a c a d e 模式解決s d k 封裝的難題。這里用廠家提供的s d k 實現(xiàn)了對d v r 的基本操作, 將這些基本操作封裝到一個類中去,實現(xiàn)了一個高層接口,從而對客戶屏蔽了 復(fù)雜的s d k 圖4 2f a c a d e 模式結(jié)構(gòu)圖 圖4 3 是設(shè)備類的派生關(guān)系圖,大家可以看到,程序抽象出了所有d v r 的共 同特征( 播放、錄像、截圖、云臺控制、獲取地址、獲取設(shè)備類型、語音對講 等功能) ,然后封裝到一個虛基類中,完全屏蔽了底層差異,使編程更加簡單、 方便。 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 p l a y ( ) s t o p p l a y o r e c o r d ( ) s t o p r e c o r d o c a p p i c t u r e o p t z c o n t r o l o g e t a d d r e s s o g e t t y p e o v o i c e 0 自自 宦官 圖4 3 設(shè)備類的繼承派生示意圖 其它具體的設(shè)計方法會在后續(xù)章節(jié)中詳細介紹。 第二節(jié)視頻監(jiān)控系統(tǒng)的功能和實現(xiàn) 4 2 1 預(yù)覽 下面講述一下播放控制邏輯的編寫。如圖4 4 所示,界面右側(cè)樹形列表顯示 了整個監(jiān)控系統(tǒng)的資源,用戶可以點擊每個資源前面的方框來打開或關(guān)閉該資 源。用戶也可以根據(jù)需要切換顯示通道錄像狀態(tài)、報警狀態(tài)、圖像視頻參數(shù)設(shè) 定和云臺設(shè)置界面。下側(cè)是功能按鈕,包括畫面?zhèn)€數(shù)控制按鈕、錄像、回放、 抓圖、鎖定、對講、電子地圖和系統(tǒng)設(shè)置。中間占據(jù)最大區(qū)域的是畫面顯示區(qū) 域。 3 0 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 圖4 4 預(yù)覽界面 程序設(shè)定的邏輯是:如果某個資源被打開( 無論它是區(qū)域、d v r 或通道) , 那么它的孩子節(jié)點全部打開;如果同時其兄弟節(jié)點也已經(jīng)打開,那么更新其父 節(jié)點的狀態(tài)為打開。 為此,在處理播放邏輯時設(shè)計了如下兩個遞歸調(diào)用算法,如圖4 5 所示。 圖4 5 遍歷資源樹流程圖 它們分別向上向下遍歷整個資源樹。假設(shè)當前節(jié)點為p : ( 1 ) 檢測p 的所有兄弟節(jié)點,如果所有兄弟節(jié)點的狀態(tài)都是“已播放 ,則更 新p 的父節(jié)點的狀態(tài),然后繼續(xù)按邏輯2 遞歸處理p 節(jié)點的父節(jié)點,直至樹根結(jié)點; ( 2 ) 向下遍歷p 的所有孩子節(jié)點,如果有未播放的通道則打開所有通道,同 時更新狀態(tài)為“己播放 ,然后繼續(xù)按邏輯1 遞歸遍歷p 每個孩子節(jié)點,至根結(jié)點 停止。 其中是視頻參數(shù)設(shè)置界面如圖4 6 。 3 2 圖4 6 視頻參數(shù)設(shè)置 3 3 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 圖4 7 播放邏輯 上圖4 7 是播放某個d v r 通道的邏輯處理過程。當用戶點擊程序主窗口 c d e c o d e m a t r i x d l g 上的資源樹節(jié)點( 即通道) 時,程序會根據(jù)該通道所屬d v r 的 類型創(chuàng)建一個相應(yīng)的播放類對象,然后找到( 如果有的話) 一個未播放的窗口 播放。由于設(shè)計時采用了設(shè)計模式方法中的“工廠模式”,將嵌入式和p c 式d v r 間的硬件差別封裝起來,對外采用統(tǒng)一的接口,降低了編程難度。 4 2 2 錄像與回放 錄像功能可由許多條件觸發(fā)。最基本的是用戶手動錄像,其它還有自動錄 像和由于報警或移動偵測引起的觸發(fā)錄像。圖4 8 是錄像類型示意圖。 具體的錄像文件路徑及文件名命名格式如下: 盤符( 用戶可以設(shè)置) :m p e 9 4 r e c o r d 年一月一日普通錄像( 或觸發(fā)錄像) d v r 的i p 地址一通道號一年月日一時分秒m p 4 下面是一個具體的錄像文件名及路徑: d :m p e 9 4 r e c o r d 2 0 1 0 0 4 11 普i 霞錄像1 9 2 1 6 8 1 4 1 一0 0 2 0 1 0 0 4 11 _ 1 5 4 3 2 6 m p 4 點擊“本地回放 確定后進入本地回放界面,如下:圖中右上角的“打開 文件”按鈕用于打開本地的文件( 只要知道錄像文件的存放路徑就行) ,再雙擊 文件即可以回放。 右上角的“條件查詢”按鈕用于對本地錄像文件的查找,點擊按鈕后進入 如圖界面,在彈出的對話框里面按自己的要求條件填寫后,點擊左側(cè)樹型目錄 下要查詢的服務(wù)器,如圖4 9 。 3 5 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 圖4 9 a 查詢條件輸入界面 圖4 9 b 錄像回放 點擊確定后,在右側(cè)的文件列表中會顯示出符合條件的錄象文件,雙擊要 回放的錄象文件即可以在左邊的回放窗口中看到錄象畫面。 3 6 結(jié)尾, 圖4 1 0 云臺控制界面 上圖4 1 0 的控制界面可以控制云臺以步進方式向上、下、左、右轉(zhuǎn)動,還 能調(diào)節(jié)攝像頭的變倍、光圈縮放及聚焦。 圖4 1 1 為云臺參數(shù)設(shè)置界面。 3 7 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 圖4 1 1 云臺參數(shù)設(shè)置界面 云臺通過p c 機的串口與p c d v r 相連,這里使用了云臺控制協(xié)議p e l c o - d 和 p e l c o - p 協(xié)議。將不同協(xié)議的處理過程封裝在不同的類中,可以屏蔽了底層差別, 并方便程序的編寫。因為這兩個協(xié)議類似,下面將以p e l c o - p 協(xié)議為例進行介紹: p e l c o _ p 協(xié)議的數(shù)據(jù)格式:1 位起始位、8 位數(shù)據(jù)、1 位停止位,無校驗位【2 7 1 。 波特率:9 6 0 0 b s 表4 - 1 命令格式 字節(jié)1字節(jié)2字節(jié)3字節(jié)4字節(jié)5字節(jié)6字節(jié)7字節(jié)8 s t x地址碼 指令碼l指令碼2數(shù)據(jù)碼l數(shù)據(jù)碼2e t x校驗碼 說明: ( 1 ) 該協(xié)議中所有數(shù)值都為十六進制數(shù) ( 2 ) s t x 始終為a o h ( 3 ) 地址碼為攝像機的邏輯地址號,地址范圍:o o h 一1 f h ( 4 ) 指令碼表示不同的動作 ( 5 ) 數(shù)據(jù)碼l 、2 分別表示水平、垂直方向速度( 0 0 - 3 f h ) ,在有關(guān)預(yù)制點的 3 8 操作時,數(shù)據(jù)碼2 表示預(yù)制點值 ( 6 ) e t x 始終為a f h ( 7 ) 校驗碼( x o rs u mo fb y t e s2 - 6 ) = 字節(jié)2 字節(jié)3 字節(jié)4 “字節(jié)5 字節(jié)6 以地址碼o x 0 1 為例說明具體的命令: o x a o ,o x 0 1 ,o x 0 0 ,o x 0 8 ,o x 0 0 ,o x 3 0 ,o x a f ,0 x 3 9 , 上 o x a o ,o x 0 1 ,o x 0 0 ,o x l o ,o x 0 0 ,o x 3 0 ,o x a f ,o x 2 1 , 下 o x a o ,o x 0 1 ,o x 0 0 ,o x 0 4 ,o x l o ,o x 0 0 ,o x a f ,o x l 5 , 左 o x a o ,o x 0 1 ,o x 0 0 ,o x 0 2 ,o x l o ,o x 0 0 ,o x a f ,o x l 3 , 右 o x a o ,o x 0 1 ,o x 0 0 ,o x 4 0 ,o x 0 0 ,o x 0 0 ,o x a f ,o x 4 1 ,) 變倍短 o x a o ,o x 01 ,o x 0 0 ,o x 2 0 ,o x 0 0 ,o x 0 0 ,o x a f ,o x 21 , 變倍長 o x a o ,o x o1 ,o x 0 2 ,o x 0 0 ,o x 0 0 ,o x 0 0 ,o x a f ,o x 0 3 ,) 聚焦近 o x a o ,o x o1 ,o x o1 ,o x 0 0 ,o x 0 0 ,o x 0 0 ,o x a f ,o x 0 0 ,) 聚焦遠 o x a o ,o x 01 ,o x 0 8 ,o x 0 0 ,o x 0 0 ,o x 0 0 ,o x a f ,o x 0 9 ,) 光圈小 o x a o ,o x 01 ,o x 0 4 ,o x 0 0 ,o x 0 0 ,o x 0 0 ,o x a f ,o x 0 5 , 光圈大 無命令字發(fā)送燈光關(guān) 無命令字發(fā)送燈光開 o x a o ,o x 0 1 ,o x 0 0 ,0 x 9 6 ,o x 0 0 ,o x 2 0 ,o x a f ,o x b 7 , 自動巡航 ( o x a o ,o x 0 1 ,o x 0 0 ,0 x 9 9 ,o x 0 0 ,o x 2 0 ,o x a f ,o x b 8 , 關(guān)閉自動巡航 o x a o ,o x 0 1 ,o x 0 0 ,o x 0 7 ,o x 0 0 ,o x 0 1 ,o x a f ,o x 0 7 , 轉(zhuǎn)至預(yù)置點0 0 1 o x a o ,o x 0 1 ,o x 0 0 ,o x 0 3 ,o x 0 0 ,o x 0 1 ,o x a f ,o x 0 3 ,) 設(shè)置預(yù)置點0 0 1 o x a o ,o x 0 1 ,o x 0 0 ,o x 0 5 ,o x 0 0 ,o x 0 1 ,o x a f ,o x 0 1 ,) 刪除預(yù)置點0 0 1 以上對應(yīng)的停命令均是( 上下左右、變倍、聚焦、光圈均有停命令) : o x a o ,o x 01 ,o x 0 0 ,o x 0 0 ,o x 0 0 ,o x 0 0 ,o x a f ,o x o1 , 4 2 4 移動偵測與遮擋 移動偵測這個功能主要是檢測有無移動的物體。在設(shè)置移動偵測區(qū)域時以 3 2 * 3 2 像素塊為單位,按4 c i f ( 7 0 4 * 5 7 6 ) 分辨率計算,每行有2 2 個塊( 7 0 4 3 2 ) , p a l 時1 8 行( 5 7 6 3 2 ) ,n t s c 時1 5 行( 4 8 0 3 2 ) ,與編碼格式無關(guān)。經(jīng)過測試,這 種方法提高了靈敏度和可靠性,并簡化了返回的數(shù)據(jù),返回的值是1 8 個d w o r d , 對應(yīng)屏幕高度5 7 6 3 2 = 1 8 行( p a l ) ,每個d w o r d 的0 - 2 1 位對應(yīng)屏幕寬度7 0 4 3 2 = 2 2 , 其中1 為運動,0 為靜止,也可以調(diào)用原有m o t i o n a n a l y z e r 分析結(jié)果。 3 9 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 硬件的能力是最多設(shè)置1 0 0 個移動偵測框,而出于實際需要,每個通道最多 設(shè)置4 個就能滿足要求。 圖4 1 2 移動偵測設(shè)置界面 遮擋就是用一塊黑色方塊覆蓋設(shè)定的區(qū)域,防止某些隱私被攝入錄像機。 方案里最多支持四個遮擋區(qū)域。 有關(guān)移動偵測和遮擋的詳細設(shè)計本文將在后面做詳細說明。 4 2 5 電子地圖 將通道和報警點以地圖的形式顯示在屏幕上,當通道或報警點發(fā)生報警事 件,電子地圖會自動彈出,并顯示發(fā)生報警的區(qū)域地圖,通道或報警點閃爍, 雙擊通道可對前端動點進行控制。 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 圖4 1 3 報警設(shè)置界面 在實際運用中,p c d v r 一般會連接a 8 報警箱進行報警的上傳。下面講述一下 報警信息的上傳。 如圖4 1 3 所示,如果發(fā)生報警,回調(diào)函數(shù)m e s s a g e c a l l b a c k ( ) 就會立刻觸 發(fā),然后調(diào)用c d v r m s g h a n d l e r 中的報警信息處理函數(shù),將報警信息按類型進行 分類,最后發(fā)往上層界面c c l i e n t m a i n w n d 類,顯示給用戶。 c h i k p c d v rc d v r m s g h a n d l e r c c l i e n t m a i n w n d - m _ p m s g h a n d l e r 卜、卜 + m e s s a g e c a l l b a c k ( ) yy + h a n d l e p c a l a r m ( ) + h a n d l e r ( )+ h a n d l e c l i e n t p c a l a r m o + n o t i f y a l a r m ( ) 圖4 1 4 報警上傳流程 圖4 1 4 為報警參數(shù)設(shè)置界面。 4 1 圖4 1 6 為用戶信息設(shè)置。 圖4 1 5 報警參數(shù)設(shè)置 4 2 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 4 3 1 配置信息的存儲 圖4 1 6 用戶設(shè)置 第三節(jié)技術(shù)難點及實現(xiàn) 系統(tǒng)要存儲許多數(shù)據(jù),它們分別控制不同功能。圖4 1 3 是系統(tǒng)的數(shù)據(jù)字典。 云臺 波特率 協(xié)議 串口號 地址 云臺數(shù)量 移動偵測 p k通j 盞呈 靈敏度 偵測區(qū)間l 偵測區(qū)間2 偵測區(qū)間3 偵測區(qū)間4 錄像 打包時間 開始盤符 結(jié)束盤符 是否自動錄像 是否循環(huán)錄像 錄像停止方式 自動錄像條件 錄像時間 遮擋 p k通道呈 遮擋區(qū)間i 遮擋區(qū)間2 遮擋區(qū)間3 遮擋區(qū)間4 音視頻設(shè)定 抓圖保存地址 輪顯時間間隔 是否打開預(yù)覽 是否打開監(jiān)聽 自動鎖定時間 視頻壓縮設(shè)定 p k 通道呈 圖像壓縮質(zhì)量 壓縮比特率 幀速率 關(guān)鍵幀周期 壓縮尺寸 壓縮模式 壓縮范圍 網(wǎng)絡(luò)設(shè)定 身份驗證 是否允許回放 緩沖區(qū)大小 通信端口 用戶 p k用戶序號 用戶名 用戶密碼 用戶等級 設(shè)備 p k設(shè)釜l q 設(shè)備名 設(shè)備地址 設(shè)備端口 通道數(shù) 用戶名 用戶密碼 設(shè)各類型 報警數(shù) 電子地圖名稱 報警 p k報鳘莊呈 報警輸入數(shù) 報警輸出數(shù) 串口名 報警持續(xù)時間 是否允許報警輸出 是否允許移動偵測報警 圖4 1 3 數(shù)據(jù)字典 這些數(shù)據(jù)主要是存儲在本地p c d v r 上,雖然每一項所占空間不大,但數(shù)量 很多( 移動偵測、遮擋、報警這三種設(shè)定是與通道相關(guān)的,通道越多設(shè)定就越 4 3 用 多) ,所以存儲所需的工作量還是很大的。 考慮到這些實際情況,這里用配置文件“i n i 的存儲方式來存儲這些設(shè)定 參數(shù)。 下面簡單介紹一下配置文件的存儲方式:配置文件的分隔單位是字段和鍵, 一個配置文件下可以有多個字段,字段名不能重復(fù);而每個字段下又可以有多 個鍵,同一字段鍵名不能重復(fù),不同字段可以有相同的鍵名。在實際使用過程 中,可以通過讀取和改寫某個字段下的某個鍵名來起到儲存信息的目的。 圖4 1 4 是系統(tǒng)配置文件的截圖。 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 口豳蟹固匱熱愛貶您黲緲到剄 文件證) 編輯疆) 格式 查看凹幫助 i e h d o rp c ) - i l t y p e - 1一 l s e r v e r i p - 1 9 2 1 6 8 1 2 i v l n d o w l l u e d 3 e r - 9 l s t a r t u p l r e b o o t o a u - 1 。 l r e b o o t h o u r - 一 | 【云臺】 l b a u d r a t e - 9 6 9 i c o h p o r t - l p r o t o c o l - p i h u m b e r - i 【a l a r m l c o h p o r t - c 0 h l i n h u m b e r - i o u t h u m b e r - l e n a b l e a l a r m o u t p u t - i l m o u e d e t e c t a l a r m - 1 i s t o p s t g l e - 1 i a l a r m l a s t t l m e - 2 | i e n a b l e a u d l o a l a r l - 1 l m t n u t e s t a r t = i i i h t n u t e e n d = 5 9 i h o u r s t a r t - b l o u r e n d - 2 3 i p r o t o c o i - d c 了r l s i n l a r m p o l n t r e a d y t t i e l 】 l b e g i n - 7 ,一 l e n d - 1 2 ,7 i n l a r m p o l n t r e a d y t l m 2 t i b e g l n - 1 2 l e n d - 2 3 i a l a r m p o i n t c h a n n e l r e l a t t o n j l a l a r m p o l n t l - 1 l a l a r m p o i n t 2 - 2 i a l a r n p o i n t 3 - 3 l a l a r m p o i n t 4 = 4 l a l a r m p o i n t 5 - 5 i a l a r m p o l n t 6 = 6 l a l a r m p o t n t 7 - 7 l n l a r m p o i n t s = 8 , l u l d e o c o m p r e s s l o n l 1 9 1 t r a t e - 8 d ,l 圖4 1 4 配置文件 使用上面介紹的配置信息存儲方法后, 配置信息,而且能做到設(shè)置改變即能生效, 4 5 系統(tǒng)就能夠方便快捷地存取本地的 不需重啟程序,同時也大大減輕了 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 編程負擔。 圖4 1 5 是p c d v r 本地錄像參數(shù)設(shè)置界面圖。 圖4 1 5 錄像參數(shù)設(shè)置界面圖 這個界面可以設(shè)定錄像參數(shù):如打包時間、是否循環(huán)錄像、是否自動錄像、 錄像起始及終止驅(qū)動器、自動錄像觸發(fā)條件、觸發(fā)錄像停止方式、定時錄像時 間段設(shè)置( 一周七天、每天四個時間段) 、條件定時錄像時間段。 4 3 2 性能優(yōu)化 l 、錄像刪除 程序之前的錄像刪除策略是每隔幾分鐘查看錄像盤符的剩余空間,如果空 間低于設(shè)定值則刪除時間最早的那個錄像,但在實際應(yīng)用過程中發(fā)現(xiàn)由于某些 特殊( 但正常) 的原因,某些錄像所占空間可能比較小,而在正常狀態(tài)下一個 通道一小時能夠記錄1 0 0 m ( 或者更多) 的數(shù)據(jù),當錄像通道有十幾路的話對磁 盤的消耗是非常大的,如果刪除文件速度過慢會經(jīng)常導(dǎo)致磁盤被寫滿,導(dǎo)致程 序錯誤。后來經(jīng)過大家討論,決定每次清理時刪除最早的一天的錄像,這樣每 次能清理出幾個g 的空間,基本不會發(fā)生磁盤滿的現(xiàn)象,而且使得輪巡檢測的 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 函數(shù)也不需運行得太頻繁,降低了系統(tǒng)負荷。 2 、提高系統(tǒng)運行效率 雖然系統(tǒng)比較復(fù)雜,實現(xiàn)的功能較多,但是占用資源、c p u 使用率卻不能 太高,同時,考慮到人機交互,為了給用戶一個方便快捷的操作界面,系統(tǒng)的 反應(yīng)速度不能低。在提高系統(tǒng)運行效率方面做了如下工作: ( 1 ) 將一些處理時間長、系統(tǒng)負擔重、不要求立刻返回結(jié)果的操作開辟出另 一個線程來進行后臺處理,這樣可以防止程序界面假死; ( 2 ) 出于系統(tǒng)功能的角度考慮,系統(tǒng)最初使用了許多定時器來進行定時功 能,它們增加了系統(tǒng)的負擔,造成定時不準的狀況。在軟件后期系統(tǒng)測試維護 階段去掉了不必要的定時器,使得系統(tǒng)能夠正常高效地執(zhí)行; ( 3 ) 對一些關(guān)鍵操作的邏輯處理做了優(yōu)化( 例如改變預(yù)覽窗口個數(shù)) ,使得 系統(tǒng)運行速度更快。 4 3 3 移動偵測、遮擋功能中區(qū)域位置的存儲 系統(tǒng)每個通道能夠存儲四個移動偵測和四個遮擋區(qū)域,由于預(yù)覽窗口能夠 控制放大縮小,為了使窗口大小的變化不影響這些特定區(qū)域相對于整個窗口的 位置,對區(qū)域位置的存儲做了特別設(shè)計。 圖4 1 6 是計算區(qū)域相對于整個窗口位置比例的示意圖。 4 7 g h t 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 圖4 1 6 窗口比例計算 分別計算了區(qū)域上下左右四個邊界分別占整個窗口高和寬的比例,然后將 這個比例存下來,公式如下: 土,土,j l ,j ,l ( 4 1 ) w i d t h w i d t hh e i g h t h e i g h t 這樣,無論窗口大小如何變化,區(qū)域的相對位置都不變。 4 3 4 錄像遠程查詢和下載 1 、在監(jiān)控系統(tǒng)在實際使用中,用戶經(jīng)常會在客戶端遠程操作p c d v r 的錄像, 因此就需要錄像遠程查詢功能。 遠程錄像搜索的邏輯類似于本地錄像搜索,查詢條件包括查詢的時間范圍 ( 年月日時分) 、錄像類型、d v r 信息。程序采用w i n d o w ss o c k e t 編程方法在p c d v r 和客戶端程序之間建立s o c k e t 連接,客戶端向p c d v r 發(fā)送查找命令,p c d v r 在本 地搜索完畢后將搜索結(jié)果通過局域網(wǎng)上的s o c k e t 連接發(fā)送給查詢的客戶端。 錄像遠程查詢這個功能對編程人員的要求是很高的,因為需要考慮到很多 特殊情況,比如多人同時查詢一臺p c d v r 的錄像信息、因為網(wǎng)絡(luò)原因?qū)е碌倪B接 中斷等問題。 為此,程序中加入了一些特殊的技術(shù)手段。監(jiān)聽事先約定好的端口,當發(fā) 現(xiàn)有客戶端發(fā)來的查詢命令后,首先建立與該客戶端的s o c k e t 連接,新建一個 線程查找本地錄像文件,然后將結(jié)果通過該連接返回給客戶端,然后中斷連接。 考慮至i j p c d v r 在錄像外剩余的執(zhí)行能力及搜索算法對設(shè)備的負擔,程序設(shè)定每個 p c d v r 最多建立3 條連接。 同時,考慮到網(wǎng)絡(luò)可能會發(fā)生的問題,程序設(shè)定,如果客戶端與p c d v r 的連 接如果非正常中斷3 0 秒以上,則釋放s o c k e t 占用的資源。 2 、在遠程回放p c d v r 的錄像后想將其中的某段錄像下載到本地供后續(xù)使用, 因此系統(tǒng)需要集成遠程下載功能。 對于遠程下載功能有如下性能要求: ( 1 ) 傳輸準確性高:由于視頻監(jiān)控系統(tǒng)均是用在一些重要場合,如銀行、超 市、交通路口等,因此錄像中的信息都是十分重要的,如果在遠程傳輸中有任 何信息的丟失,這個責任誰也負不起的。因此,下載的正確性必須做到1 0 0 。 ( 2 ) 下載速度也是遠程下載的一項重要指標。如果用戶在下載一個1 0 0 m 左右 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 的錄像文件時能夠有時間喝一杯咖啡,那么沒有一個人會選擇這款監(jiān)控系統(tǒng)。 因此,在保證正確性的前提下,程序要盡量提高遠程下載速度。 在編寫錄像遠程查詢和下載功能的時候,為了能夠傳輸所需的控制命令, 程序中新建了兩個無模式對話框。無模式對話框也是一種沒有界面的對話框, 可以利用它來傳遞消息,但它對開發(fā)者是隱形的,對用戶是透明的。 第四節(jié)軟件測試與軟件維護 4 4 1 軟件測試 在軟件開發(fā)的一系列活動中,為了保證軟件的可靠性,人們研究并使用了 很多方法進行分析、設(shè)計及編碼實現(xiàn)。但是由于軟件產(chǎn)品本身是無形的、復(fù)雜 的、知識密集的邏輯產(chǎn)品,其中難免有各種各樣的錯誤,因此,需要通過測試 查找錯誤,保證軟件的質(zhì)量。軟件測試是保證軟件質(zhì)量的關(guān)鍵,它是對需求分 析、設(shè)計和編碼的最終復(fù)審2 引。 軟件測試的原則: ( 1 ) 測試用例既要有輸入數(shù)據(jù),又要有對應(yīng)結(jié)果。這樣便于對照檢查,做到 “有的放矢 。 ( 2 ) 測試用例不僅要選用合理的輸入數(shù)據(jù),還應(yīng)選擇不合理的輸入數(shù)據(jù)。這 樣能更多地發(fā)現(xiàn)錯誤,提高程序的可靠性,還可以測試出程序的排錯能力。 ( 3 ) 除了檢查程序是否做了它應(yīng)該做的工作,還應(yīng)該檢查程序是否做了它不 應(yīng)該做的工作。 ( 4 ) 應(yīng)該遠在測試開始之前就制定測試計劃。實際上,一旦完成了需求分析 模型就可以開始制定測試計劃,在建立了設(shè)計模型之后就可以立即開始設(shè)計詳 細的測試方案。因此,在編碼之前就可以對所有測試工作進行計劃和設(shè)計,并 嚴格執(zhí)行,排除隨意性。 ( 5 ) 測試計劃、測試用例、測試報告必須作為文檔長期保存。因為程序修改 以后有時可能會引進新的錯誤,需要進行回歸測試。同時可以為以后的維護提 供方便,對新人或今后的工作都有指導(dǎo)意義。 ( 6 ) p a r et o 原理說明,測試發(fā)現(xiàn)的錯誤中8 0 f t t 可能是由程序中2 0 的模塊 造成的,即錯誤出現(xiàn)的“群集性 現(xiàn)象。 4 9 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 ( 7 ) 為了達到最佳的測試效果,程序員應(yīng)該避免測試自己的程序。測試是一 種“挑剔性”的行為,測試自己的程序存在心里障礙。另外,對需求規(guī)格說明 的理解而引入的錯誤則更不容易發(fā)現(xiàn)。因此,應(yīng)該由獨立的第三方從事測試工 作會更客觀、更有效。 測試是一個執(zhí)行程序的過程。軟件測試的方法一般分為動態(tài)測試和靜態(tài)測 試。把被測程序在機器上運行稱為動態(tài)測試,不在機器上運行被測程序稱為靜 態(tài)測試。 靜態(tài)測試就是靜態(tài)分析,它采用的手段有兩種:人工檢測和計算機輔助靜 態(tài)分析。 ( 1 ) 人工測試指不依靠計算機而完全靠人工審查程序或評價軟件。人工審查 程序偏重于編碼風格、編碼質(zhì)量的檢驗,除了審查編碼,還要對各階段的軟件 產(chǎn)品進行檢驗。人工測試可以有效地發(fā)現(xiàn)軟件的邏輯設(shè)計和編碼錯誤,發(fā)現(xiàn)計 算機不容易發(fā)現(xiàn)的錯誤。 ( 2 ) 計算機輔助靜態(tài)分析是指利用靜態(tài)分析工具對被測程序進行特征分析, 從程序中提取一些信息,以便檢查程序邏輯的各種缺陷和可疑的程序構(gòu)造。 動態(tài)測試是指通過運行程序發(fā)現(xiàn)錯誤,方法也有兩種:黑盒測試法和白盒 測試法。 黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試。它不考慮程序內(nèi)部結(jié)構(gòu)和處理過 程。把被測程序看成一個黑盒子,只在軟件接口處進行測試,依據(jù)需求規(guī)格說 明書,檢查程序是否滿足功能要求。每個功能是否都能正常使用,是否滿足用 戶的要求,程序是否能適當?shù)亟邮茌斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息,并且保持 外部信息的完整性。 通過黑盒測試主要發(fā)現(xiàn)以下錯誤: ( 1 ) 是否有不正確或遺漏了的功能; ( 2 ) 在接口上,能否正確地接受輸入數(shù)據(jù),能否產(chǎn)生正確的輸出信息。 ( 3 ) 訪問外部信息是否有錯。 ( 4 ) 性能上是否滿足要求。 ( 5 ) 界面是否有錯,是否美觀、友好。 白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試。白盒測試中,測試人員需了解程 序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細節(jié)為基礎(chǔ),要求對程序的結(jié)構(gòu) 特性做到一定程序的覆蓋,對程序中的所有邏輯路徑進行測試,并檢驗內(nèi)部控 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 制結(jié)構(gòu)是否有錯,確定實際的運行狀態(tài)與預(yù)期的狀態(tài)是否一致。 圖4 1 7 是一個典型的軟件測試過程示意圖。 模塊 - - - - 啼 梭塊 - _ - - - 沒計信息軟件需求其他系統(tǒng)元襲 圖4 1 7 軟件測試過程 監(jiān)控系統(tǒng)一旦架設(shè)起來開始運行,就要求軟件不能出錯、不能停止。因此 對軟件的安全性、穩(wěn)定性要求非常高。為了達到用戶的要求,在系統(tǒng)后期測試 過程中使用工具b o u n d s c h e c k e r 進行計算機輔助靜態(tài)分析測試。 b o u n d s c h e c k e r 是c o m p u w a r e 公司開發(fā)的一款產(chǎn)品,這個軟件屬于c o m p u w a r e 的n u m e g a 系列( 自動化的白盒測試工具) 。b o u n d s c h e c k e r 提供清晰的、詳細的 程序錯誤分析,自動查明靜態(tài)的堆棧錯誤及內(nèi)存資源泄露,并能夠迅速的定位 出錯的源代碼,即使在沒有源代碼的情況下也可檢查第三方組件的錯誤【3 1 1 。 錯誤檢測范圍主要包括如下: 1 、指針和泄露錯誤: ( 1 ) 接口泄露; ( 2 ) 內(nèi)存泄露: ( 3 ) 資源泄露; ( 4 ) 未分配的指針錯誤; 2 、內(nèi)存錯誤: ( 1 ) 動態(tài)存儲溢出; ( 2 ) 無效的句柄被鎖定; ( 3 ) 句柄沒有被鎖定; ( 4 ) 內(nèi)存分配沖突; ( 5 ) ??臻g溢出; ( 6 ) 靜態(tài)存儲溢出; 3 、a p i 和o l e 錯誤: 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 ( 1 ) a p i 函數(shù)返回失?。?( 2 ) a p i 函數(shù)未執(zhí)行; ( 3 ) 無效的變量( 包括指針變量、字符串變量等) ; ( 4 ) o l e 接口方法的變量無效; ( 5 ) o l e 接口方法失敗; ( 6 ) 線程調(diào)用庫函數(shù)錯誤; 4 4 2 軟件維護 傳統(tǒng)上,軟件系統(tǒng)交付之后對其實施更改的學科叫做軟件維護。通俗地說, 軟件維護是指軟件系統(tǒng)交付使用以后,為了改正軟件運行錯誤,或者因滿足新 的需求而加入新功能的修改軟件的過程。 軟件系統(tǒng)開發(fā)完成交付用戶使用后,就進入軟件的運行和維護階段。軟件 維護階段是軟件生存周期中時間最長的一個階段,所花費的精力和費用也是最 多的一個階段。有關(guān)軟件系統(tǒng)交付之后對系統(tǒng)實施更改的特點和成本調(diào)查結(jié)果 說明,軟件系統(tǒng)整個生存周期總成本大約4 0 - - 7 0 要用于軟件維護。軟件系統(tǒng)經(jīng) 常會發(fā)生一些變化,如對隱含錯誤的修改、新功能的加入、環(huán)境變化造成的程 序變動等。因此,需要充分認識軟件維護工作的重要性和迫切性,以提高軟件 的可維護性,盡量減少軟件維護的工作量和費用,從而提高軟件系統(tǒng)的整體效 益【3 5 】。 軟件維護活動可歸結(jié)為四類: ( 1 ) 改正性維護:軟件測試不可能找出一個軟件系統(tǒng)中所有潛伏的錯誤,所 以軟件在交付使用后,必然會有一部分隱藏的錯誤被帶到運行階段中。這些隱 藏的錯誤在某些特定的使用環(huán)境下才會暴露出來。把在軟件投入使用后才逐漸 暴露出來的錯誤的診斷、定位、改錯的過程,稱為改正性維護。 改正性維護中的主要維護策略有:開發(fā)過程中采用新技術(shù)、利用應(yīng)用軟件 包、提高系統(tǒng)結(jié)構(gòu)化程度、進行周期性維護審查等。 ( 2 ) 適應(yīng)性維護:適應(yīng)性維護是為了適應(yīng)計算機的飛速發(fā)展,使軟件適應(yīng)外 部新的硬件和軟件環(huán)境或者數(shù)據(jù)環(huán)境發(fā)生的變化,而進行修改軟件的過程。 適應(yīng)性維護中的主要維護策略有:對可能變化的因素進行配置管理、將因 環(huán)境變化而必須修改的部分局部化,即局限于某些程序模塊等。 ( 3 ) 完善性維護:在軟件漫長的使用過程中,為了滿足用戶使用過程中對軟 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 件提出的新的功能與性能要求,需要對原來的軟件的功能進行修改或擴充。這 種為擴充軟件功能、增強軟件性能、提高軟件運行效率和可維護性而進行的維 護活動稱為完善性維護。 完善性維護中的主要維護策略有:盡量采用功能強、使用方便的工具,采 用原型化的開發(fā)方法等。 ( 4 ) 預(yù)防性維護:預(yù)防性維護是為了提高軟件未來的可維護性、可靠性等, 或為了給未來的改進奠定更好的基礎(chǔ)而修改軟件的過程。通常,預(yù)防性維護定 義為:“把今天的方法學用于昨天的系統(tǒng)以滿足明天的需要。也就是說,該類 維護工作需要采用先進的軟件工程方法,對需要維護的軟件或軟件中的某一部 分進行設(shè)計、編碼和測試。 預(yù)防性維護中的主要維護策略是:采用提前實現(xiàn)、軟件重用等技術(shù)。 軟件維護中存在的問題: ( 1 ) 讀懂別人的程序是很困難的,而文檔的不足更增加了這種難度。一般開 發(fā)人員都有這樣的體會,修改別人的程序還不如自己重新編寫程序。 ( 2 ) 文檔的不一致性是軟件維護困難的又一個因素,主要表現(xiàn)在各種文檔之 間的不一致以及文檔與程序之間的不一致性,從而導(dǎo)致維護人員不知所措,不 知怎樣進行修改。這種不一致性是由于開發(fā)過程中文檔管理不嚴造成的,開發(fā) 中經(jīng)常會出現(xiàn)修改程序而忘了修改相關(guān)的文檔,或者某一個文檔修改了,卻沒 有修改與之相關(guān)的其他文檔等現(xiàn)象,解決文檔不一致性的方法就是要加強開發(fā) 工作中文檔的版本管理。 ( 3 ) 軟件開發(fā)和軟件維護在人員和時間上存在差異。如果軟件維護工作是由 該軟件的開發(fā)人員完成,則維護工作相對比較容易,因為這些人員熟悉軟件的 功能和結(jié)構(gòu)等。但是,通常開發(fā)人員和維護人員是不同的,況且維護階段持續(xù) 時間很長。 ( 4 ) 軟件維護不是一件吸引人的工作。由于維護工作的困難性,維護經(jīng)常遭 受挫折,而且很難出成果,所以高水平的程序員自然不愿主動去做,而公司也 舍不得讓高水平的程序員去做。 在開發(fā)p c d v r 的同時也需要維護嵌入式d v r 的版本, 這套解決方案在許多地方已經(jīng)投入商業(yè)運營,例如學校( 浙江某醫(yī)學院) 、 交通系統(tǒng)( 某城市市內(nèi)交通監(jiān)控) 、銀行( 天津市某行多個區(qū)屬分行) 、礦山( 山 西某煤礦安全監(jiān)控) 小區(qū)( 某城市開發(fā)區(qū)數(shù)字城管監(jiān)控系統(tǒng)) 。這些項目由于其 第四章面向?qū)ο筌浖O(shè)計開發(fā)方法在板卡式視頻監(jiān)控系統(tǒng)中的應(yīng)用 自身特點對監(jiān)控系統(tǒng)的某項功能有其獨特要求,有的項目對電視墻的功能有較 高要求,有的項目則對錄像、報警的要求比較高;同時用戶又希望把不會用到 的功能盡量屏蔽,避免誤操作。雖然有些功能的改動看起來很簡單,但對編程 人員來說是一項艱苦的任務(wù)。 第五章總結(jié)與展望 第五章總結(jié)與展望 總結(jié) 本課題的研究是建立在實際課題的基礎(chǔ)上,本文結(jié)合當今網(wǎng)絡(luò)視頻監(jiān)控系 統(tǒng)的發(fā)展方向,考慮了實際中遇到的各種問題,運用面向?qū)ο蟪绦蛟O(shè)計、軟件 復(fù)用、設(shè)計模式、協(xié)作開發(fā)、軟件測試等技術(shù)成功實現(xiàn)了既定功能。為了增加 軟件的易維護性、可擴展性和易用性,本文采用快速原型法的開發(fā)模式:為了 兼容多家廠商的硬件設(shè)備,采用了多層架構(gòu),屏蔽了底層硬件的差異,對用戶 做到透明。 本文的主要工作體現(xiàn)在以下幾個方面: ( 1 ) 以軟件工程整個生命周期為主線,分別詳細介紹了系統(tǒng)的需求分析、概 要設(shè)計、詳細設(shè)計、測試、維護等關(guān)鍵環(huán)節(jié),清晰地展示了軟件整個編寫流程, 方便讀者的閱讀。 ( 2 ) 運用面向?qū)ο蠹夹g(shù),引入了多種設(shè)計模式模型、軟件復(fù)用、軟件重構(gòu)等 軟件開發(fā)技術(shù)加強了模塊內(nèi)部的聚合性,降低了模塊間的耦合性,提高了系統(tǒng) 設(shè)計和開發(fā)的效率。 ( 3 ) 從系統(tǒng)實際需要出發(fā),針對方案開展的具體硬件環(huán)境和要完成任務(wù)的特 殊性,對軟件開發(fā)做特別安排,使設(shè)計更加合理,開發(fā)過程更2 nj 頇利。 展望 未來,視頻監(jiān)控系統(tǒng)會向前端一體化、視頻數(shù)字化、監(jiān)控網(wǎng)絡(luò)化、系統(tǒng)集 成化方向發(fā)展,對系統(tǒng)的要求也會越來越高。后面還有許多工作要做。 ( 1 ) 隨著監(jiān)控設(shè)備硬件的發(fā)展,圖像清晰度越來越高,存儲所需空間也越來 越大,監(jiān)控系統(tǒng)將來需要支持超大存儲容量的磁盤陣列。 ( 2 ) 在一些對電子地圖功能要求高的監(jiān)控環(huán)境中( 如城市交通管理系統(tǒng)、城 市供暖管理系統(tǒng)等) ,由于監(jiān)控點分布范圍較廣,用

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論