導線網(wǎng)平差程序設計課件_第1頁
導線網(wǎng)平差程序設計課件_第2頁
導線網(wǎng)平差程序設計課件_第3頁
導線網(wǎng)平差程序設計課件_第4頁
導線網(wǎng)平差程序設計課件_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

小型軟件開發(fā)的基本過程(參照軟件工程,遵循軟件開發(fā)的一般規(guī)律)

需求分析設計編碼與單元測試綜合測試

需求分析導線網(wǎng)平差軟件設計

編碼

測試與維護小型軟件開發(fā)的基本過程軟件工程簡介軟件工程是指導計算機軟件開發(fā)和維護的工程學科。采用工程的概念、原理、技術和方法來開發(fā)與維護軟件。軟件工程關注于大型程序的構造軟件工程的中心課題是控制復雜性軟件經(jīng)常變化開發(fā)軟件的效率非常重要和諧地合作是開發(fā)軟件的關鍵軟件必須有效地支持它的用戶在軟件工程領域中是由一種文化背景的人替另一文化背景的人創(chuàng)造產(chǎn)品。軟件工程簡介軟件工程是指導計算機軟件開發(fā)和維護的工程學科。采軟件生命周期由軟件定義、軟件開發(fā)和運行維護三個時期組成,每個時期又劃分若干個階段。問題定義問題定義階段必須回答的關鍵問題是:“要解決的問題是什么?”。通過問題定義階段的工作,系統(tǒng)分析員應該提出關于問題性質、工程目標和規(guī)模的書面報告。通過訪問調(diào)查,分析員扼要地寫出他對問題的理解,并在用戶和使用部門負責人的會議上認真討論這份書面報告,得出一份雙方都滿意的文檔??尚行匝芯窟@個階段要回答的關鍵問題是:“對上一階段所確定的問題有行得通的解決辦法嗎?”系統(tǒng)分析員需要進行一次大大壓縮和簡化了的系統(tǒng)分析和設計的過程,也就是在較抽象的高層次上進行的分析和設計的過程。可行性研究應該比較簡短,這個階段的任務不是具體解決問題,而是研究問題的范圍,探索這個問題是否值得去解,是否有可行的解決辦法。在問題定義階段提出的對工程目標和規(guī)模的報告通常比較含糊。可行性研究階段應該導出系統(tǒng)的高層邏輯模型(通常用數(shù)據(jù)流圖表示),并且在此基礎上更準確、更具體地確定工程規(guī)模和目標。然后分析員更準確地估計系統(tǒng)的成本和效益,對建議的系統(tǒng)進行仔細的成本/效益分析是這個階段的主要任務之一。軟件生命周期由軟件定義、軟件開發(fā)和運行維護三個時期組成,每個可行性研究的結果是使用部門負責人做出是否繼續(xù)進行這項工程的決定的重要依據(jù),一般說來,只有投資可能取得較大效益的那些工程項目才值得繼續(xù)進行下去??尚行匝芯恳院蟮哪切╇A段將需要投入更多的人力物力。及時終止不值得投資的工程項目,可以避免更大的浪費。需求分析這個階段的任務仍然不是具體地解決問題,而是準確地確定“為了解決這個問題,目標系統(tǒng)必須做什么”,主要是確定目標系統(tǒng)必須具備哪些功能。用戶了解他們所面對的問題,知道必須做什么,但是通常不能完整準確地表達出他們的要求,更不知道怎樣利用計算機解決他們的問題;軟件開發(fā)人員知道怎樣用軟件實現(xiàn)人們的要求,但是對特定用戶的具體要求并不完全清楚。因此,系統(tǒng)分析員在需求分析階段必須和用戶密切配合,充分交流信息,以得出經(jīng)過用戶確認的系統(tǒng)邏輯模型。通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和簡要的算法表示系統(tǒng)的邏輯模型。在需求分析階段確定的系統(tǒng)邏輯模型是以后設計和實現(xiàn)目標系統(tǒng)的基礎,因此必須準確完整地體現(xiàn)用戶的要求??尚行匝芯康慕Y果是使用部門負責人做出是否繼續(xù)進行這項工程的決軟件開發(fā)總體設計這個階段必須回答的關鍵問題是:“概括地說,應該如何解決這個問題?”。總體設計階段的第一項主要任務就是應該考慮幾種可能的解決方案。結構設計的一條基本原理就是程序應該模塊化,也就是一個大程序應該由許多規(guī)模適中的模塊按合理的層次結構組織而成??傮w設計階段的第二項主要任務就是設計軟件的結構,也就是確定程序由哪些模塊組成以及模塊間的關系。通常用層次圖或結構圖描繪軟件的結構。軟件開發(fā)詳細設計詳細設計階段的任務就是把解法具體化,也就是回答下面這個關鍵問題:“應該怎樣具體地實現(xiàn)這個系統(tǒng)呢?”這個階段的任務還不是編寫程序,而是設計出程序的詳細規(guī)格說明。這種規(guī)格說明的作用很類似于其他工程領域中工程師經(jīng)常使用的工程藍圖,它們應該包含必要的細節(jié),程序員可以根據(jù)它們寫出實際的程序代碼。通常用HIPO圖(層次圖加輸入/處理/輸出圖)或PDL語言(過程設計語言)描述詳細設計的結果。編碼和單元測試這個階段的關鍵任務是寫出正確的容易理解、容易維護的程序模塊。程序員應該根據(jù)目標系統(tǒng)的性質和實際環(huán)境,選取一種適當?shù)母呒壋绦蛟O計語言,把詳細設計的結果翻譯成用選定的語言書寫的程序,并且仔細測試編寫出的每一個模塊。詳細設計綜合測試這個階段的關鍵任務是通過各種類型的測試(及相應的調(diào)試)使軟件達到預定的要求。最本的測試是集成測試和驗收測試。所謂集成測試是根據(jù)設計的軟件結構,把經(jīng)過單元測試檢驗的模塊按某種選定的策略裝配起來,在裝配過程中對程序進行必要的測試。所謂驗收測試則是按照規(guī)格說明書的規(guī)定(通常在需求分析階段確定),由用戶(或在用戶積極參加下)對目標系統(tǒng)進行驗收。必要時還可以再通過現(xiàn)場測試或平行運行等方法對目標系統(tǒng)進一步測試檢驗。通常需要以正式的或非正式的方式對用戶進行培訓。通過對軟件測試結果的分析可以預測軟件的可靠性;反之,根據(jù)對軟件可靠性的要求,也可以決定測試和調(diào)試過程什么時候可以結束。應該用正式的文檔資料把測試計劃、詳細測試方案以及實際測試結果保存下來,做為軟件配置的一個組成部分。綜合測試運行維護軟件維護維護階段的關鍵任務是,通過各種必要的維護活動使系統(tǒng)持久地滿足用戶的需要。通常有四類維護活動:改正性維護,也就是診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤適應性維護,即修改軟件以適應環(huán)境的變化完善性維護,即根據(jù)用戶的要求改進或擴充軟件使它更完善預防性維護,即修改軟件為將來的維護活動預先做準備。每一項維護活動都應該經(jīng)過提出維護要求(或報告問題)、分析維護要求、提出維護方案、審批維護方案、確定維護計劃、修改軟件設計、修改程序、測試程序、復查驗收等一系列步驟,因此實質上是經(jīng)歷了一次壓縮和簡化了的軟件定義和開發(fā)的全過程。每一項維護活動都應該準確地記錄下來,做為正式的文檔資料加以保存。運行維護階段關鍵問題結束標準問題定義問題是什么?關于規(guī)模和目標的報告書可行性研究有可行的解嗎?系統(tǒng)的高層邏輯模型:數(shù)據(jù)流圖、成本/效益分析需求分析系統(tǒng)必須做什么?系統(tǒng)的邏輯模型:數(shù)據(jù)流圖、數(shù)據(jù)字典、算法描述總體設計概括地說,應該如何解決這個問題?可能的解法:系統(tǒng)流程圖、成本/效益分析推薦的系統(tǒng)結構:層次圖或結構圖詳細設計怎樣具體地實現(xiàn)這個系統(tǒng)?編碼規(guī)格說明:IPO圖編碼/單元測試正確的程序模塊源程序清單;單元測試方案和結果綜合測試符合要求的軟件綜合測試方案和結果;完整一致的軟件配置維護持久地滿足用戶需要的軟件完整準確的維護記錄階段關鍵問題結束標準問題定義問題是什么?關于規(guī)模和目標的報告軟件過程方法瀑布模型、快速原型模型、增量模型、螺旋模型1.瀑布模型按照傳統(tǒng)的生命周期方法學開發(fā)軟件,各階段的工作自頂向下從抽象到具體順序進行。2快速原型模型快速建立起來的可以在計算機上運行的程序。它所能完成的功能一般是最終產(chǎn)品能完成的功能的一個子集。不帶反饋環(huán):線性順序進行開發(fā)開發(fā)前提:原型系統(tǒng)已經(jīng)通過與用戶交互而得到驗證,從而得到正確的規(guī)格說明文檔。開發(fā)人員通過建立原型系統(tǒng)已經(jīng)知道該做什么不該做什么。維護階段:根據(jù)維護工作的種類可能需要返回到“需求分析”、“規(guī)格說明”、“設計”或者“編碼”等不同階段。軟件過程方法瀑布模型、快速原型模型、增量模型、螺旋模型3增量模型漸增模型--把軟件產(chǎn)品作為一系列的增量構件來設計、編碼、集成和測試。分解構件的方法:第一個增量構件:核心功能第二個增量構件:完善核心功能第三……N個增量構件:按照功能的重要性以此分解。增量模型優(yōu)點:在較短時間內(nèi)可以提供部分工作的產(chǎn)品在逐步增加產(chǎn)品功能的同時給用戶學習的時間困難及維護的方便性:軟件體系結構是開放的,加入新構件必須簡單??傮w設計更加精細,代價較高。3增量模型1.4.4螺旋模型軟件風險:產(chǎn)品交付給用戶之后用戶可能不滿意到了預定交付日期軟件而可能還沒開發(fā)出來實際開發(fā)成本可能超出預算產(chǎn)品完成前一些關鍵的開發(fā)人員可能離開產(chǎn)品投入市場之前已經(jīng)有功能相近、價格更低的軟件先行投入構建原型是一種能使某些類型的風險降至最低的方法。螺旋模型的基本思想:使用原型及其他方法來盡量降低風險,即在每個階段之前都增加風險分析過程的快速原型模型。優(yōu)點:對可選方案和約束條件的強調(diào)有利于已有軟件的重用減少過多測試或測試不足而帶來的風險維護是模型的另一個周期適用于內(nèi)部開發(fā)的大規(guī)模軟件項目1.4.4螺旋模型小型軟件開發(fā)的一般過程不能全部照搬軟件工程,軟件工程適用于大型軟件的開發(fā)軟件的大與小并沒有本質的區(qū)別,即:“麻雀雖小,五臟俱全”,因此很多方法是相通的。可在大型軟件工程的基礎上簡化為以下幾個步驟:需求分析設計(包括總體設計與詳細設計)編碼與單元測試綜合測試

小型軟件開發(fā)的一般過程不能全部照搬軟件工程,軟件工程適用于大1.需求分析(做什么)軟件需求包括三個不同的層次—:業(yè)務需求、用戶需求和功能需求(也包括非功能需求)。(1)業(yè)務需求(businessrequirement)反映了組織機構或客戶對系統(tǒng)、產(chǎn)品高層次的目標要求。(2)用戶需求(userrequirement)文檔描述了用戶使用產(chǎn)品必須要完成的任務,這在使用實例(usecase)文檔或方案腳本(scenario)說明中予以說明。(3)功能需求(functionalrequirement)定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務,從而滿足了業(yè)務需求。非功能需求:它描述了系統(tǒng)展現(xiàn)給用戶的行為和執(zhí)行的操作等。它包括產(chǎn)品必須遵從的標準、規(guī)范和合約;外部界面的具體細節(jié);性能要求;設計或實現(xiàn)的約束條件及質量屬性。1.需求分析(做什么)軟件需求包括三個不同的層次—:業(yè)務需求任何一個軟件系統(tǒng)本質上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應該產(chǎn)生的信息在很大程度上決定了系統(tǒng)的面貌,對軟件設計有深遠影響。因此,分析系統(tǒng)的數(shù)據(jù)要求是軟件需求分析的一個重要任務。分析方法:E-R圖和分層數(shù)據(jù)流圖需求分析的數(shù)據(jù)要求任何一個軟件系統(tǒng)本質上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的畫法畫系統(tǒng)的輸入和輸出把整個軟件系統(tǒng)看作一個大的加工,然后根據(jù)系統(tǒng)從外界的哪些源點接受哪些數(shù)據(jù)流,以及系統(tǒng)的哪些數(shù)據(jù)流送到外界的哪些終點,就可畫出系統(tǒng)的輸入和輸出圖。這張圖稱為頂層圖。分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的畫法畫系統(tǒng)的內(nèi)部將頂層圖中的加工分解成若干個加工,并用數(shù)據(jù)流將這些加工連接起來,使得頂層圖中的輸入數(shù)據(jù)流經(jīng)一連串的加工處理后變換成頂層圖的輸出數(shù)據(jù)流。這張圖稱為0層圖。從一個加工畫出一張數(shù)據(jù)流圖的過程實際上就是對這個加工的分解過程。分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的畫法-3可用下述的方法來確定加工:在數(shù)據(jù)流的組成或值發(fā)生變化的地方應畫一個加工,這個加工的功能就是實現(xiàn)這一變化;也可根據(jù)系統(tǒng)的功能確定加工。分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的畫法-4確定數(shù)據(jù)流的方法可以是:當用戶把若干個數(shù)據(jù)看作一個單位來處理(這些數(shù)據(jù)一起到達,一起加工)時,把這些數(shù)據(jù)看成一個數(shù)據(jù)流。通??梢园褜嶋H工作中的單據(jù)(如報名單)作為一個數(shù)據(jù)流。對于一些以后某個時間要使用的數(shù)據(jù)可組織成一個數(shù)據(jù)(文件)存儲。分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的畫法-5畫加工的內(nèi)部我們把每個加工看作一個小系統(tǒng),該加工的輸入輸出數(shù)據(jù)流看成小系統(tǒng)的輸入輸出數(shù)據(jù)流。于是,我們可以用畫0層圖同樣的方法畫出每個加工的DFD子圖。分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的畫法-6對第③步分解出來的DFD子圖中的每個加工重復第③步的分解直至圖中尚未分解的加工都足夠簡單(也就是說這種加工不必再分解)為止。到此得到了一套分層數(shù)據(jù)流圖。分層數(shù)據(jù)流圖(DataFlowDiagram,DFD)的實例-1內(nèi)外業(yè)一體化地形數(shù)據(jù)建庫系統(tǒng):①野外數(shù)據(jù)采集;②對野外采集的數(shù)據(jù)進行檢查;③編輯成圖;④數(shù)據(jù)入庫;⑤查詢、統(tǒng)計與輸出。實例-1內(nèi)外業(yè)一體化地形數(shù)據(jù)建庫系統(tǒng):實例-2內(nèi)外業(yè)一體化地形數(shù)據(jù)建庫系統(tǒng)測量員信息中心實例-2內(nèi)外業(yè)一體化測量員信息中心實例-31.內(nèi)外業(yè)一體化測圖2.地形圖數(shù)據(jù)庫系統(tǒng)地形圖數(shù)據(jù)查詢統(tǒng)計外業(yè)采集的源數(shù)據(jù)實例-31.內(nèi)外業(yè)2.地形圖地形圖數(shù)據(jù)查詢統(tǒng)計外業(yè)采集的源數(shù)實例-4數(shù)據(jù)傳輸自動成圖拓撲關系的建立基礎地形數(shù)據(jù)全站儀RTKGPS野外觀測數(shù)據(jù)數(shù)據(jù)檢查實例-4數(shù)據(jù)傳輸自動成圖拓撲關系基礎地形數(shù)據(jù)全站儀RTKG書寫文檔根據(jù)需求分析階段的基本任務,在這個階段可能應該完成下述四份文檔資料:系統(tǒng)規(guī)格說明:主要描述目標系統(tǒng)的概貌、功能要求、性能要求、運行要求和將來可提出的要求。包括:數(shù)據(jù)流圖;描述主要算法描述;用戶需求和系統(tǒng)功能之間的參照關系等。書寫文檔根據(jù)需求分析階段的基本任務,在這個階段可能應該完成下書寫文檔-2數(shù)據(jù)要求:主要包括數(shù)據(jù)字典,描繪數(shù)據(jù)結構的層次方框圖,對存儲信息(數(shù)據(jù)庫或普通文件)分析結果。用戶系統(tǒng)描述:從用戶使用系統(tǒng)的角度描述系統(tǒng),相當于一份初步的用戶手冊。內(nèi)容包括系統(tǒng)功能和性能的扼要描述,使用系統(tǒng)的主要步驟和方法,系統(tǒng)用戶的責任等。開發(fā)計劃:進度計劃等。書寫文檔-2數(shù)據(jù)要求:主要包括數(shù)據(jù)字典,描繪數(shù)據(jù)結構的層次方2.系統(tǒng)設計2.1概要(總體)設計劃分出組成系統(tǒng)的物理元素——程序、文件、數(shù)據(jù)庫、人工過程和文檔等等,但是每個物理元素仍然處于黑盒子級,這些黑盒子里的具體內(nèi)容將在以后仔細設計??傮w設計階段的另一項重要任務是:—設計軟件的結構—確定系統(tǒng)中每個程序是由哪些模塊組成—確定模塊相互間的關系2.系統(tǒng)設計2.1概要(總體)設計2.1詳細設計詳細設計階段的根本目標:如何實現(xiàn)所要求的系統(tǒng),也即要對目標系統(tǒng)進行精確描述,為編碼階段的程序書寫做準備。詳細設計階段的任務:還不是具體地編寫程序,而是要設計出程序的“藍圖”,程序員根據(jù)這個藍圖寫出實際的程序代碼。因此,詳細設計時應該考慮程序代碼的質量。即衡量程序的質量不僅要看它的邏輯是否正確,性能是否滿足要求,更主要的是要看它是否容易閱讀和理解。2.1詳細設計軟件總體設計確定了軟件結構,即確定模塊的劃分、模塊間的接口。一般可用軟件的總體框架圖來表示。軟件詳細設計(也稱軟件算法設計、軟件過程設計、軟件邏輯設計)確定每個軟件模塊的實現(xiàn)算法。可用程序流程圖描述、或用偽代碼描述。寫出系統(tǒng)設計說明書:軟件總體設計確定了軟件結構,即確定模塊的劃分、模塊間的接口。3.編碼與單元測試1.編程語言的選擇

編程語言的選擇應從以下方面進行考慮:程序員的知識如果和其他標準不矛盾,那么應該選擇一種已經(jīng)為程序員所熟悉的語言。軟件可移植性要求如果目標系統(tǒng)將在幾臺不同的計算機上運行,或者預期的使用壽命很長,那么選擇一種標準化程度高、程序可移植性好的語言就是很重要的。軟件的應用領域所謂的通用程序設計語言實際上并不是對所有應用領域都同樣適用,因此,選擇語言時應該充分考慮目標系統(tǒng)的應用范圍。3.編碼與單元測試1.編程語言的選擇2.編碼風格與規(guī)范

源程序代碼的邏輯簡明清晰、易讀易懂是好程序的一個重要標準,為了做到這一點,應該遵循下述規(guī)則:(1)程序內(nèi)部的文檔(如:“匈牙利”法則)選取含義鮮明的名字,使它能正確地提示程序對象所代表的實體。如果使用縮寫,那么縮寫規(guī)則應該一致,并且應該給每個名字加注解。命名規(guī)范2.編碼風格與規(guī)范命通常在每個模塊開始處有一段序言性的注解,簡要描述模塊的功能、主要算法、接口特點、重要數(shù)據(jù)以及開發(fā)簡史。插在程序中間與一段程序代碼有關的注解,主要解釋包含這段代碼的必要性。對于用高級語言書寫的源程序,不需要用注解的形式把每個語句翻譯成自然語言,應該利用注解提供一些額外的信息。應該用空格或空行清楚地區(qū)分注解和程序。程序清單的布局對于程序的可讀性也有很大影響,應該利用適當?shù)碾A梯形式使程序的層次結構清晰明顯。注釋代碼格式通常在每個模塊開始處有一段序言性的注解,簡要描述模塊的功能、(2)數(shù)據(jù)說明數(shù)據(jù)說明的次序應該標準化(例如,按照數(shù)據(jù)結構或數(shù)據(jù)類型確定說明的次序)。當多個變量名在一個語句中說明時,應該按字母順序排列這些變量。如果設計時使用了一個復雜的數(shù)據(jù)結構,則應該用注解說明用程序設計語言實現(xiàn)這個數(shù)據(jù)結構的方法和特點。(2)數(shù)據(jù)說明(3)語句構造構造語句時應該遵循的原則是,每個語句都應該簡單而直接,不能為了提高效率而使程序變得過分復雜。不要為了節(jié)省空間而把多個語句寫在同一行;盡量避免復雜的條件測試;盡量減少對“非”條件的測試;避免大量使用循環(huán)嵌套和條件嵌套;利用括號使邏輯表達式或算術表達式的運算次序清晰直觀。(3)語句構造(4)輸入/輸出對所有輸入數(shù)據(jù)都進行檢驗;檢查輸入項重要組合的合法性;保持輸入格式簡單;使用數(shù)據(jù)結束標記,不要要求用戶指定數(shù)據(jù)的數(shù)目;明確提示交互式輸入的請求,詳細說明可用的選擇或邊界數(shù)值;當程序設計語言對格式有嚴格要求時,應保持輸入格式一致;設計良好的輸出報表;給所有輸出數(shù)據(jù)加標志。(4)輸入/輸出(5)效率效率主要指處理機時間和存儲器容量兩個方面。效率是性能要求,因此應該在需求分析階段確定效率方面的要求。效率是靠好設計來提高的。程序的效率和程序的簡單程度是一致的。不要犧牲程序的清晰性和可讀性來不必要地提高效率。(5)效率4.測試測試的目的就是在軟件投入生產(chǎn)性運行之前,盡可能多地發(fā)現(xiàn)軟件中的錯誤。目前軟件測試仍然是保證軟件質量的關鍵步驟。軟件測試在軟件生命周期中橫跨兩個階段。通常在編寫出每個模塊之后就對它做必要的測試(稱為單元測試),模塊的編寫者和測試者是同一個人,編碼和單元測試屬于軟件生命周期的同一個階段。對軟件系統(tǒng)進行各種綜合測試,通常由專門的測試人員承擔這項工作。4.測試測試的目的就是在軟件投入生產(chǎn)性運行之前,盡可能多地控制網(wǎng)平差軟件設計與實現(xiàn)需求分析系統(tǒng)設計編碼與單元測試綜合測試重點:需求分析與系統(tǒng)設計控制網(wǎng)平差軟件設計與實現(xiàn)需求分析控制網(wǎng)平差軟件需求分析總體描述:控制網(wǎng)平差程序對野外控制網(wǎng)觀測數(shù)據(jù)進行平差數(shù)據(jù)處理,其目的就是根據(jù)最小二乘原理,消除網(wǎng)中的各種幾何矛盾,求出全網(wǎng)各待定元素(未知點的平面坐標或三維坐標)。

控制網(wǎng)平差軟件需求分析總體描述:功能需求

1.優(yōu)化設計:根據(jù)控制網(wǎng)的觀測精度與網(wǎng)形,全面評定網(wǎng)的精度

2.數(shù)據(jù)輸入:表格化輸入、圖形化輸入、外部數(shù)據(jù)倒入

3.概算:自動完成各方向的曲率改正及邊長的高程歸化與投影改化,近似坐標的推算等。

4.平差計算:對觀測數(shù)據(jù)進行精密平差計算,得到平差后的點位坐標,方向觀測值,邊長觀測值等,精度評定。

5.成果輸出:控制網(wǎng)圖形輸出,平差結果報表及其輸出,繪制誤差橢圓,打印輸出等。

6.其它功能:粗差探測與剔除、方差分量估計、閉合差計算、坐標轉換、換帶計算等。

對以上每項功能還需細化功能需求1.優(yōu)化設計:根據(jù)控制網(wǎng)的觀測精度與網(wǎng)形,全面數(shù)據(jù)描述1.已知數(shù)據(jù)

已知邊、已知方位角、已知點位坐標、測角先驗精度信息、測邊先驗精度信息,氣象信息等2.觀測數(shù)據(jù)

觀測方位,觀測邊長3.網(wǎng)形數(shù)據(jù)

CAD草圖或近似坐標及連接信息文件4.平差成果數(shù)據(jù)平差后的待定點點位坐標及其精度、誤差橢圓參數(shù)、平差后的方位角和邊長及其精度等數(shù)據(jù)描述1.已知數(shù)據(jù)已知數(shù)據(jù)觀測數(shù)據(jù)已知觀測數(shù)據(jù)導線網(wǎng)平差程序設計課件平差模型

最小二乘平差模型條件平差:條件方程式較少,占用內(nèi)存小,但條件方程與網(wǎng)形有關,很難編制通用的程序。

間接平差:一個觀測值就是一個誤差方程,占用內(nèi)存相對較大,但易于編程解算,容易編制通用的程序

平差模型最小二乘平差模型

間接平差基本原理:設:觀測值為L,其權為P,相應的改正數(shù)為V,必要觀測值個數(shù)為t,選定未知數(shù)X,則有誤差方程根據(jù)最小二乘原理:,求極值,,得:法方程:法方程的解:單位權中誤差:間接平差基本原理:根據(jù)最小二乘原理:,求極值,,得:法方程附有條件的間接平差原理:設未知數(shù)個數(shù)為t,觀測值個數(shù)為n,條件方程個數(shù)為m誤差方程:條件方程:根據(jù)最小二乘原理:在條件下,即求條件極值法,利用拉格朗日不定乘數(shù)法:即:附有條件的間接平差原理:條件方程:根據(jù)最小二乘原理:在條件下控制網(wǎng)間接平差的主要工作平面控制網(wǎng)的計算通常包括:概算:概算為平差前的準備工作,相當于數(shù)據(jù)的預處理平差:列出誤差方程,根據(jù)最小二乘原理進行解算編制成果表:控制點成果、觀測成果等

控制網(wǎng)間接平差的主要工作平面控制網(wǎng)的計算通常包括:概算的主要工作

1.外業(yè)觀測成果的整理、檢查2.繪制網(wǎng)的略圖,編制觀測數(shù)據(jù)表和已知數(shù)據(jù)表3.計算近似坐標4.觀測成果歸化到標石中心5.觀測成果改化(方向改化和距離改化)6.根據(jù)平面控制網(wǎng)的幾何條件檢查觀測成果的質量,即各種閉合、附合條件的檢驗。如:方位角閉合(附合)差、坐標閉合(附合)差概算的主要工作1.外業(yè)觀測成果的整理、檢查概算--計算近似坐標11按方向觀測值計算三角網(wǎng)中待定點的近似坐標(前方交會)ba

AB

Kk(1)概算--計算近似坐標11按方向觀測值計算三角網(wǎng)中待定點的近概算--計算近似坐標22.按邊長觀測值計算三邊網(wǎng)中待定點的近似坐標(邊長交會),先按公式(2)計算三角形的內(nèi)角,再用公式(1)計算待定點的坐標ABKkabS0S1S2(2)概算--計算近似坐標22.按邊長觀測值計算三邊網(wǎng)中待定點的近概算--計算近似坐標33按方向和邊長觀測值計算導線網(wǎng)中待定點的近似坐標bkaAtabtd概算--計算近似坐標33按方向和邊長觀測值計算導線網(wǎng)中待定點概算--近似坐標解算方法(1)整體解算法:設有n個待定點,則有2n未知數(shù),選取具有2n個獨立未知數(shù)的觀測值組成方程組,進行整體解算。(2)逐點解算法:選擇已知點或已計算出坐標的點作為起算點,根據(jù)具體的圖形,逐個推算出各點的坐標。

概算--近似坐標解算方法(1)整體解算法:設有n個待定點,概算--觀測成果歸化到標石中心

方向觀測值的歸心:測站歸心和照準歸心

-測站偏心距,-測站偏心角,-為測站上觀測改正方向的方向觀測值

-照準偏心距,-照準偏心角,照準歸心與測站歸心相同邊長觀測值的歸心:-為照準點上觀測改正方向的方向觀測值概算--觀測成果歸化到標石中心方向觀測值的歸心:概算--觀測成果改化

野外觀測是地球表面,而參考面是地球橢球面,計算是在高斯平面上。方向改化和距離改化就是要將橢球面上的觀測值歸化到高斯平面上。式中:

方向改化:距離改化:概算--觀測成果改化野外觀測是地球表面,而參考面是地球橢球平差計算

1.列出誤差方程及條件式2.定權3.組成法方程4.解算法方程,求得dX=[dx1dy1dx2dy2…]5.平差后的坐標值計算X=X+dX。6.精度評定,計算誤差橢圓參數(shù)等平差計算1.列出誤差方程及條件式平差計算--1誤差方程式及條件方程式的列立

以未知點坐標為平差對象,一個觀測值對應一個誤差方程式,誤差方程式包括兩類:方向觀測誤差方程式和邊長觀測誤差方程式(1)方向觀測誤差方程式

一般形式:其中:

,一般取測站起始方向(零方向)的近似坐標方位角作為定向角近似值

,當測站點i為已知點時:當照準點j為已知點時:當側站點和照準點都為已知點時:

平差計算--1誤差方程式及條件方程式的列立以未知點坐標為平史賴伯一次約化對各測站誤差方程采用史賴伯一次約化消去定向角未知數(shù),即消去上各式中而增加一個和方程式,則對于某i測站其方向觀測誤差方程式為:

其權為1

其權為:-1/n和方程式為:史賴伯一次約化對各測站誤差方程采用史賴伯一次約化消去定向角未(2)邊長觀測誤差方程式

,為近似坐標計算而得,為實測邊長當照準點j為已知點時:當測站點i為已知點時:(2)邊長觀測誤差方程式,為近似坐標計算而得,為實測邊長當照(3)方位角條件方程式和與方向觀測誤差方程中的意義一致,為計算值,為已知固定值。當照準點j為已知點時:當測站點i為已知點時:(3)方位角條件方程式和與方向觀測誤差方程中(4)邊長條件方程式

式中:,由近似坐標計算而得,為已知的固定邊

(4)邊長條件方程式式中:,由近似坐標計算而得,為已知的固定平差計算--2定權

根據(jù)先驗方向觀測中誤差和邊長觀測中誤差來定權(1)方向觀測值的權

在等精度方向觀測的控制網(wǎng)中,可把方向觀測值的權定為1,不同精度的觀測網(wǎng)中,則選擇其中一種作為單位權中誤差u(單位:秒),其它方向觀測值中誤差為m(單位:秒),則平差計算--2定權根據(jù)先驗方向觀測中誤差和邊長觀測中平差計算--2定權

(2)邊長觀測值的權

其中邊長中誤差可由或A為測距儀常數(shù)誤差(厘米),B為測距儀比例誤差因子。在導線網(wǎng)中一般取方向觀測值中誤差為單位權中誤差邊長測量中誤差,可假設單位權中誤差則方向觀測權注意:以上定權的方式還不是嚴密的,因為角度和邊長是不同的觀測量,可采用赫爾默特方差份量估計,迭代定權。(單位:厘米),計算觀測方向中誤差則方向觀測值的權為1,觀測邊權為=100/Si。例:平差計算--2定權(2)邊長觀測值的權其中邊長中誤差可由平差計算--3組成法方程

分兩種情況:(1)保留觀測值方程組的系數(shù)陣和常數(shù)項,待所有的誤差方程組成完畢后,再根據(jù)間接平差原理,利用矩陣運算公式,計算法方稱的系數(shù)陣和常數(shù)項。(2)不保留觀測值方程組的系數(shù)陣和常數(shù)項,利用間接平差中法方程具有可加性的特點,由一個誤差方程式即可組成與其相應的部分法法方程系數(shù)和常數(shù)項,然后把這些部分的法方程系數(shù)和常數(shù)項再累加起來就是由所有的誤差方程得到的總體法方程式。

如果有條件式,按附有條件的間接平差法,把條件式逐個的排放在由誤差方程式組成的法方程后續(xù)的對應行和列中即可。平差計算--3組成法方程分兩種情況:如果有平差計算--解算4.法方程式的解算

對法方程系數(shù)陣求逆,然后乘以法方程常數(shù)項即可求得未知數(shù)的改正數(shù)。5.計算坐標值

求得平差后的坐標值X=X+dX。因為只有dx很小時誤差方程式、條件方程式才是嚴密的,因此當dX的值較大時應把X=X_+dX作為新的近似值重復1-3步,直到dx中絕對值最大的一個小于給定的限值。平差計算--解算4.法方程式的解算平差計算--精度評定1

(1)殘差平方和與單位權中誤差的計算

如果保存了誤差方程的系數(shù)和常數(shù)項,則可以把解算法方程得到的未知數(shù)的改正數(shù)代入誤差方程求得V然后,再直接求出。也可以利用約化的公式,待法方程解算出來后即可求得

中誤差計算:,n為觀測值個數(shù),t為未知數(shù)個數(shù)在組成法方程的時候就可以計算出平差計算--精度評定1(1)殘差平方和平差計算--精度評定2(2)未知數(shù)的協(xié)因數(shù)陣

由于采用了坐標平差法,實際上法方程系數(shù)矩陣的逆就是未知數(shù)的協(xié)因數(shù)陣。它是進行精度評定的基本數(shù)據(jù)平差計算--精度評定2(2)未知數(shù)的協(xié)因數(shù)陣平差計算--精度評定3(3)平差后邊長與坐標方位角的精度評定平差后邊長與坐標方位角可由坐標平差值反算而得。因此,待定邊的坐標方位角的權函數(shù)式為:待定邊的邊長的權函數(shù)式為:按協(xié)因數(shù)傳播律可得未知數(shù)函數(shù)的權倒數(shù):精度計算平差計算--精度評定3(3)平差后邊長與坐標方位角的精度評定平差計算--精度評定4(4)待定點點位誤差平差計算--精度評定4(4)待定點點位誤差平差計算--精度評定55誤差橢圓元素計算長半徑方位角長半徑、短半徑平差計算--精度評定55誤差橢圓元素計算長半徑方位角長半徑、數(shù)據(jù)流圖導線網(wǎng)平差系統(tǒng)觀測數(shù)據(jù)平差結果數(shù)據(jù)測量員測量員數(shù)據(jù)流圖導線網(wǎng)平差系統(tǒng)觀測數(shù)據(jù)平差結果數(shù)據(jù)測量員測量員平差數(shù)據(jù)處理系統(tǒng)觀測數(shù)據(jù)平差結果數(shù)據(jù)數(shù)據(jù)輸入系統(tǒng)平差數(shù)據(jù)觀測數(shù)據(jù)平差結果數(shù)據(jù)數(shù)據(jù)輸入系統(tǒng)數(shù)據(jù)輸入數(shù)據(jù)傳輸觀測數(shù)據(jù)表格化輸入觀測數(shù)據(jù)圖形化輸入外部文件倒入全站儀電子手簿觀測文件觀測手簿系統(tǒng)標準格式的觀測數(shù)據(jù)數(shù)據(jù)輸入數(shù)據(jù)傳輸觀測數(shù)據(jù)觀測數(shù)據(jù)外部文件倒入全站儀電子手簿觀數(shù)據(jù)預處理系統(tǒng)標準格式的觀測數(shù)據(jù)已知數(shù)據(jù)先驗精度數(shù)據(jù)氣象數(shù)據(jù)觀測數(shù)據(jù)改化近似坐標概算近似坐標數(shù)據(jù)改化后的觀測數(shù)據(jù)數(shù)據(jù)預處理系統(tǒng)標準格式的已知數(shù)據(jù)先驗精度數(shù)據(jù)氣象數(shù)據(jù)觀測數(shù)據(jù)平差處理已知數(shù)據(jù)先驗精度數(shù)據(jù)近似坐標數(shù)據(jù)改化后的觀測數(shù)據(jù)組成誤差方程法方程組成與解算誤差方程系數(shù)與常數(shù)項未知數(shù)改正數(shù)觀測值改正數(shù)協(xié)因數(shù)精度評定平差后的坐標值計算精度評定參數(shù)平差后未知點坐標平差處理已知數(shù)據(jù)先驗精度數(shù)據(jù)近似坐標數(shù)據(jù)改化后的觀測數(shù)據(jù)組成平差成果的報表與輸出報表制作網(wǎng)圖形繪制誤差橢圓繪制平差后的所有成果數(shù)據(jù)控制點成果表觀測數(shù)據(jù)表精度統(tǒng)計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論