GIS軟件工程_01概述_第1頁(yè)
GIS軟件工程_01概述_第2頁(yè)
GIS軟件工程_01概述_第3頁(yè)
GIS軟件工程_01概述_第4頁(yè)
GIS軟件工程_01概述_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、GIS軟件工程的原理與方法教學(xué)目的和課程內(nèi)容 教學(xué)目的根據(jù)培養(yǎng)基層應(yīng)用型人才的需要,本課程的目的與任務(wù)是使學(xué)生通過(guò)本課程的學(xué)習(xí),了解軟件項(xiàng)目開(kāi)發(fā)和維護(hù)的一般過(guò)程,掌握軟件開(kāi)發(fā)的傳統(tǒng)方法和最新方法,為更深入地學(xué)習(xí)和今后從事GIS軟件工程實(shí)踐打下良好的基礎(chǔ)。 設(shè)計(jì)方法 第3章 系統(tǒng)分析 課程內(nèi)容第1章 基本內(nèi)容軟件工程的問(wèn)題與特色,軟件生存周期模型,GIS軟件工程生存周期。 教學(xué)要求:重點(diǎn)掌握瀑布模型、 GIS軟件工程生存周期各階段的任務(wù)。 重點(diǎn):軟件工程的定義和軟件生存周期模型。 1.1.1 GIS軟件的特點(diǎn) 1.在存儲(chǔ)技術(shù)上,空間數(shù)據(jù)庫(kù)與屬性數(shù)據(jù)庫(kù)相分離。2.在數(shù)據(jù)組織與處理模式上,基于地圖處

2、理的模式,空間數(shù)據(jù)處于“尺度割裂”狀態(tài)。3.在網(wǎng)絡(luò)和分布式環(huán)境下系統(tǒng)組成采用靜態(tài)方式處理。4.在空間數(shù)據(jù)管理范圍方面能有效地處理二維空間數(shù)據(jù)。5.在數(shù)據(jù)和功能共享方面實(shí)現(xiàn)有縫的數(shù)據(jù)共享。1.1 GIS軟件工程1.1.2 GIS軟件開(kāi)發(fā)過(guò)程中的問(wèn)題軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。這些問(wèn)題絕不僅僅是GIS軟件才具有的,實(shí)際上,幾乎所有軟件都不同程度地存在這些問(wèn)題.具體來(lái)說(shuō), GIS軟件開(kāi)發(fā)過(guò)程中的問(wèn)題主要有以下一些典型表現(xiàn):1.對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。2.用戶(hù)對(duì)“已完成的”軟件系統(tǒng)不滿(mǎn)意的現(xiàn)象經(jīng)常發(fā)生。3.軟件常常是不可維護(hù)的。4.軟件產(chǎn)品的質(zhì)量往

3、往靠不住。5.數(shù)據(jù)工程量特別大。6.軟件開(kāi)發(fā)生產(chǎn)率提高的速度,既跟不上硬件的發(fā)展速度,也遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。7.軟件可重用性差。1.1.3 GIS軟件開(kāi)發(fā)問(wèn)題的原因分析在軟件開(kāi)發(fā)和維護(hù)的過(guò)程中存在這么多嚴(yán)重問(wèn)題,一方面與軟件本身的特點(diǎn)有關(guān),另一方面也和軟件開(kāi)發(fā)與維護(hù)的方法不正確有關(guān)。 1.軟件的規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜。2.軟件開(kāi)發(fā)的管理困難。3.軟件開(kāi)發(fā)費(fèi)用不斷增加。4.軟件開(kāi)發(fā)技術(shù)落后。5.生產(chǎn)方式落后。6.生產(chǎn)工具落后。7. GIS軟件更新變化快,引起發(fā)展過(guò)程中的銜接問(wèn)題。圖圖1.11.1引入同一變動(dòng)引入同一變動(dòng)付出的代價(jià)隨時(shí)間變化的趨勢(shì)付出的代價(jià)隨時(shí)間變化的趨勢(shì)

4、1.1.4 GIS軟件工程 軟件工程的定義軟件是計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及計(jì)算機(jī)上運(yùn)行時(shí)所必需的數(shù)據(jù)。 軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法。GIS軟件工程就是遵循一般軟件開(kāi)發(fā)的工程化原理和方法,并照顧到GIS軟件開(kāi)發(fā)的特殊規(guī)律和要求,對(duì)GIS軟件從可行性研究、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、軟件編制、軟件測(cè)試、直到軟件維護(hù)的各個(gè)階段進(jìn)行工程化規(guī)范的一門(mén)技術(shù)。 工程的性質(zhì)軟件工程是涉及計(jì)算機(jī)科學(xué)、工程科學(xué)、數(shù)學(xué)等領(lǐng)域的一門(mén)綜合性的交叉學(xué)科。 1.軟件工程用工程科學(xué)中的觀點(diǎn)來(lái)進(jìn)行費(fèi)用估算、制定進(jìn)度、制定計(jì)劃和方案。2.軟件工程用管理科學(xué)中的方法和原理進(jìn)行軟件生產(chǎn)的管理。3

5、.軟件工程用數(shù)學(xué)的方法建立軟件開(kāi)發(fā)中的各種模型和各種算法。 工程的目標(biāo)軟件工程采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,并最終希望得到項(xiàng)目的成功。 軟件工程的內(nèi)容軟件工程的內(nèi)容指軟件開(kāi)發(fā)技術(shù)和軟件開(kāi)發(fā)管理兩個(gè)方面;GIS軟件工程的內(nèi)容按開(kāi)發(fā)順序包括前期工程、設(shè)計(jì)工程、數(shù)據(jù)工程、工程實(shí)施和維護(hù)工程五個(gè)階段。 軟件工程包括三個(gè)要素,方法、工具和過(guò)程。其中,方法是完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“如何做”的問(wèn)題;工具是為方法的運(yùn)用提供自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境;過(guò)程是為

6、了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。目前使用得最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。1.1.5 GIS軟件工程的特色GIS是基于空間數(shù)據(jù)的信息系統(tǒng),與此對(duì)應(yīng),GIS軟件工程具有如下特點(diǎn): 系統(tǒng)復(fù)雜度大 數(shù)據(jù)在系統(tǒng)中具有特別地位 系統(tǒng)表達(dá)方式復(fù)雜 系統(tǒng)更新速度快 系統(tǒng)維護(hù)工作量大 易操作性要求高 數(shù)據(jù)在系統(tǒng)中具有特別地位數(shù)據(jù)被稱(chēng)為GIS的“核心”和“血液”,在系統(tǒng)投資中,數(shù)據(jù)、硬件、軟件的比例一般高達(dá)8:1:1。在數(shù)據(jù)準(zhǔn)備方面應(yīng)注意:1.數(shù)據(jù)的質(zhì)量2.數(shù)據(jù)的現(xiàn)勢(shì)性3.合理的數(shù)據(jù)組織結(jié)構(gòu) 系統(tǒng)復(fù)雜度大相關(guān)因素:1.交付的文檔的質(zhì)量和數(shù)

7、量2.軟件的微觀復(fù)雜度3.軟件的宏觀復(fù)雜度 系統(tǒng)表達(dá)方式復(fù)雜GIS的復(fù)雜性表現(xiàn)在:1.表達(dá)的內(nèi)容復(fù)雜包括文本、空間、多媒體和遙感遙測(cè)的實(shí)時(shí)數(shù)據(jù)。2.表達(dá)的對(duì)象具有時(shí)空特性 系統(tǒng)更新速度快我國(guó)從20世紀(jì)80年代開(kāi)始GIS的建設(shè),經(jīng)歷了項(xiàng)目型GIS、管理型GIS、社會(huì)型GIS等。 系統(tǒng)維護(hù)工作量大為確保系統(tǒng)的長(zhǎng)期發(fā)展,一方面要求長(zhǎng)期的投資,另一方面在系統(tǒng)設(shè)計(jì)開(kāi)發(fā)過(guò)程中,要堅(jiān)持“總體規(guī)劃、分步實(shí)施、靈活調(diào)整、急用先行”的設(shè)計(jì)原則。 易操作性要求高GIS功能復(fù)雜,系統(tǒng)應(yīng)該通過(guò)良好的工作界面引導(dǎo)用戶(hù)來(lái)完成操作,同時(shí)必需保證數(shù)據(jù)的安全性。1.2 軟件生成周期模型1.2.1 概述模型是為了理解事務(wù)而對(duì)事務(wù)作

8、出的一種抽象。軟件生成周期模型是描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型。1.2.2 瀑布模型 在20世紀(jì)80年代之前,瀑布模型一直是唯一被廣泛采用的生命周期模型,現(xiàn)在它仍然是軟件工程中應(yīng)用得最廣泛的過(guò)程模型。圖2.1所示為傳統(tǒng)的瀑布模型。 按照傳統(tǒng)的瀑布模型來(lái)開(kāi)發(fā)軟件,有如下幾個(gè)特點(diǎn): (1) 階段間具有順序性和依賴(lài)性 (2) 推遲實(shí)現(xiàn)的觀點(diǎn) 清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn),是按照瀑布模型開(kāi)發(fā)軟件的一條重要的指導(dǎo)思想。 圖圖1.2 1.2 傳統(tǒng)的瀑布模型傳統(tǒng)的瀑布模型 (3) 質(zhì)量保證的觀點(diǎn)以文檔形式驅(qū)動(dòng),每個(gè)階段都必須完成規(guī)定的文檔,沒(méi)有交出合格的文檔就是沒(méi)有完成該

9、階段的任務(wù)。 以里程碑開(kāi)發(fā)原則為基礎(chǔ),每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問(wèn)題,改正錯(cuò)誤。實(shí)際的瀑布模型是帶“反饋環(huán)”的,如圖2.2所示(圖中實(shí)線箭頭表示開(kāi)發(fā)過(guò)程,虛線箭頭表示維護(hù)過(guò)程)。當(dāng)在后面階段發(fā)現(xiàn)前面階段的錯(cuò)誤時(shí),需要沿圖中左側(cè)的反饋線返回前面的階段,修正前面階段的產(chǎn)品之后再回來(lái)繼續(xù)完成后面階段的任務(wù)。圖圖1.3 實(shí)際的瀑布模型實(shí)際的瀑布模型 瀑布模型的局限性瀑布模型是一種,理想的線性開(kāi)發(fā)模型,缺乏靈活性,無(wú)法解決軟件需求不明確或不準(zhǔn)確的問(wèn)題。1.不能保證工程每個(gè)階段都是正確的。2.通信中的誤解無(wú)法避免。3.用戶(hù)的新要求和環(huán)境的變化需要系統(tǒng)隨之改變。1.2.3增量模型

10、增量模型也稱(chēng)為漸增模型,如圖2.4所示。使用增量模型開(kāi)發(fā)軟件時(shí),把軟件產(chǎn)品作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、編碼、集成和測(cè)試。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。使用增量模型時(shí),第一個(gè)增量構(gòu)件往往實(shí)現(xiàn)軟件的基本需求,提供最核心的功能。圖1.4增量模型圖1.5 風(fēng)險(xiǎn)更大的增量模型1.2.4螺旋模型軟件開(kāi)發(fā)幾乎總要冒一定風(fēng)險(xiǎn),因此,在軟件開(kāi)發(fā)過(guò)程中必須及時(shí)識(shí)別和分析風(fēng)險(xiǎn),并且采取適當(dāng)措施以消除或減少風(fēng)險(xiǎn)的危害。螺旋模型的基本思想是,使用原型及其他方法來(lái)盡量降低風(fēng)險(xiǎn)。理解這種模型的一個(gè)簡(jiǎn)便方法,是把它看作在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過(guò)程的快速原型模型,如圖1.6所示。完整的螺旋模型

11、如圖1.7所示。圖中帶箭頭的點(diǎn)劃線的長(zhǎng)度代表當(dāng)前累計(jì)的開(kāi)發(fā)費(fèi)用,螺線旋過(guò)的角度值代表開(kāi)發(fā)進(jìn)度。圖1.6 簡(jiǎn)化的螺旋模型圖1.7 完整的螺旋模型1.2.5 噴泉模型 迭代是軟件開(kāi)發(fā)過(guò)程中普遍存在的一種內(nèi)在屬性。經(jīng)驗(yàn)表明,軟件過(guò)程各個(gè)階段之間的迭代或一個(gè)階段內(nèi)各個(gè)工作步驟之間的迭代,在面向?qū)ο蠓缎椭斜仍诮Y(jié)構(gòu)化范型中更常見(jiàn)。圖1.8所示的噴泉模型是典型的面向?qū)ο笊芷谀P汀?“噴泉”這個(gè)詞體現(xiàn)了面向?qū)ο筌浖_(kāi)發(fā)過(guò)程迭代和無(wú)縫的特性。 為避免使用噴泉模型開(kāi)發(fā)軟件時(shí)開(kāi)發(fā)過(guò)程過(guò)分無(wú)序,應(yīng)該把一個(gè)線性過(guò)程(例如,快速原型模型或圖1.8中的中心垂線)作為總目標(biāo)。但是,同時(shí)也應(yīng)該記住,面向?qū)ο竽P捅旧硪蠼?jīng)常

12、對(duì)開(kāi)發(fā)活動(dòng)進(jìn)行迭代或求精。圖1.8 噴泉模型智能模型是基于知識(shí)的軟件開(kāi)發(fā)模型,它綜合了上述若干模型,并把專(zhuān)家系統(tǒng)結(jié)合在一起。該模型應(yīng)用基于規(guī)則的系統(tǒng)。1.2.6 智能模型1.2.7快速原型模型所謂快速原型是快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。如圖1.9所示(圖中實(shí)線箭頭表示開(kāi)發(fā)過(guò)程,虛線箭頭表示維護(hù)過(guò)程),快速原型模型的第一步是快速建立一個(gè)能反映用戶(hù)主要需求的原型系統(tǒng),讓用戶(hù)在計(jì)算機(jī)上試用它,通過(guò)實(shí)踐來(lái)了解目標(biāo)系統(tǒng)的概貌。通常,用戶(hù)試用原型系統(tǒng)之后會(huì)提出許多修改意見(jiàn),開(kāi)發(fā)人員按照用戶(hù)的意見(jiàn)快速地修改原型系統(tǒng),然后再次請(qǐng)用戶(hù)試用。一旦用戶(hù)

13、認(rèn)為這個(gè)原型系統(tǒng)確實(shí)能做他們所需要的工作,開(kāi)發(fā)人員便可據(jù)此書(shū)寫(xiě)規(guī)格說(shuō)明文檔,根據(jù)這份文檔開(kāi)發(fā)出的軟件可以滿(mǎn)足用戶(hù)的真實(shí)需求。圖圖1.9快速原型模型快速原型模型 快速原型的本質(zhì)是“快速”。開(kāi)發(fā)人員應(yīng)該盡可能快地建造出原型系統(tǒng),以加速軟件開(kāi)發(fā)過(guò)程,節(jié)約軟件開(kāi)發(fā)成本。原型的用途是獲知用戶(hù)的真正需求,一旦需求確定了,原型將被拋棄。GIS軟件工程的生存周期指一個(gè)GIS軟件從提出開(kāi)發(fā)要求開(kāi)始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。GIS軟件工程整個(gè)生存周期劃分為四個(gè)階段:系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施、系統(tǒng)評(píng)價(jià)及維護(hù)。GIS軟件工程整個(gè)生存周期按工程化的思想可劃分為五個(gè)階段:前期工程、設(shè)計(jì)工程、數(shù)據(jù)工程、工程實(shí)施、維

14、護(hù)工程。1.3 GIS軟件工程的生存周期前期工程包括工程調(diào)研、可行性研究、制定項(xiàng)目計(jì)劃、需求分析等子階段。1.工程調(diào)研通過(guò)走訪、交談、函件往來(lái)、資料檢索等方式對(duì)相關(guān)項(xiàng)目進(jìn)行調(diào)研,為擬開(kāi)展的軟件工程項(xiàng)目提供有價(jià)值的參考資料。2.可行性研究可行性研究階段必須回答的問(wèn)題是:“要解決的問(wèn)題是什么,是否有行得通的解決辦法”。1.3.1 前期工程3.制定項(xiàng)目計(jì)劃根據(jù)開(kāi)發(fā)項(xiàng)目的目標(biāo)、功能、性質(zhì)及規(guī)模,估計(jì)項(xiàng)目需要的軟、硬件和開(kāi)發(fā)人員等資源,估算軟件開(kāi)發(fā)費(fèi)用,估計(jì)開(kāi)發(fā)進(jìn)度,制定完成任務(wù)的實(shí)施計(jì)劃。4.需求分析這個(gè)階段的任務(wù)仍然不是具體地解決客戶(hù)的問(wèn)題,而是準(zhǔn)確地回答“目標(biāo)系統(tǒng)必須做什么”這個(gè)問(wèn)題。 這個(gè)階段的

15、另外一項(xiàng)重要任務(wù),是用正式文檔準(zhǔn)確地記錄對(duì)目標(biāo)系統(tǒng)的需求,這份文檔通常稱(chēng)為規(guī)格說(shuō)明(specification)。1.3.2 設(shè)計(jì)工程設(shè)計(jì)工程包括總體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、模型設(shè)計(jì)、詳細(xì)設(shè)計(jì)等子階段。1.總體設(shè)計(jì)總體設(shè)計(jì)就是設(shè)計(jì)軟件的結(jié)構(gòu),包括模塊組成、模塊的層次結(jié)構(gòu)、模塊的調(diào)用關(guān)系、各模塊的功能。2.數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是指把現(xiàn)實(shí)世界中一定范圍內(nèi)存在的應(yīng)用處理和數(shù)據(jù)抽象成一個(gè)數(shù)據(jù)庫(kù)的具體結(jié)構(gòu)的過(guò)程。3.應(yīng)用模型設(shè)計(jì)應(yīng)用模型設(shè)計(jì)是針對(duì)擬開(kāi)發(fā)領(lǐng)域的特殊技術(shù)要求,運(yùn)用并分析該領(lǐng)域的應(yīng)用模型,設(shè)計(jì)實(shí)現(xiàn)該模型的技術(shù)方法。4.詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)階段是為每個(gè)模塊完成的功能進(jìn)行具體描述,要把功能描述轉(zhuǎn)變?yōu)榫_的、

16、結(jié)構(gòu)化的過(guò)程描述。這個(gè)階段的任務(wù)還不是編寫(xiě)程序,而是設(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明。1.3.3 數(shù)據(jù)工程數(shù)據(jù)工程包括數(shù)據(jù)預(yù)處理、數(shù)據(jù)采集、數(shù)據(jù)處理等子階段。1.數(shù)據(jù)預(yù)處理通過(guò)數(shù)據(jù)預(yù)處理,才能獲得凈化的數(shù)據(jù)文件,使采集的數(shù)據(jù)符合規(guī)范化標(biāo)準(zhǔn)。2.數(shù)據(jù)采集數(shù)據(jù)采集就是將圖形數(shù)據(jù)和屬性數(shù)據(jù)輸入到地理數(shù)據(jù)庫(kù)中。2.數(shù)據(jù)采集數(shù)據(jù)采集包括野外數(shù)據(jù)采集、圖形數(shù)據(jù)采集、屬性數(shù)據(jù)采集、圖形數(shù)據(jù)和屬性數(shù)據(jù)的連接。野外數(shù)據(jù)采集的方法:GPS方法 攝影測(cè)量方法測(cè)量法圖形數(shù)據(jù)采集的方式:手扶跟蹤數(shù)字化掃描數(shù)字化3.數(shù)據(jù)處理數(shù)據(jù)處理包括:格式轉(zhuǎn)換圖形單元的修改與增刪圖幅拼接坐標(biāo)轉(zhuǎn)換幾何糾正數(shù)據(jù)編輯處理拓?fù)浣Y(jié)構(gòu)拓?fù)潢P(guān)系的自動(dòng)生成1

17、.3.4 工程實(shí)施工程實(shí)施包括程序編制、測(cè)試、試運(yùn)行等子階段。1.程序編制這個(gè)階段的關(guān)鍵任務(wù)是寫(xiě)出正確的容易理解、容易維護(hù)的程序模塊。2.測(cè)試測(cè)試方式是在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上檢驗(yàn)軟件的各個(gè)組成部分。測(cè)試分為模塊測(cè)試、組裝測(cè)試、確認(rèn)測(cè)試。3.試運(yùn)行試運(yùn)行是保證最終交付給用戶(hù)的軟件質(zhì)量的重要手段。1.3.5 維護(hù)工程維護(hù)工程包括數(shù)據(jù)庫(kù)維護(hù)、軟硬件維護(hù)等方面。1.數(shù)據(jù)庫(kù)維護(hù)根據(jù)系統(tǒng)的規(guī)模和實(shí)際需求,建立系統(tǒng)的數(shù)據(jù)維護(hù)更新機(jī)制,規(guī)定系統(tǒng)數(shù)據(jù)維護(hù)更新的周期,使系統(tǒng)的所有數(shù)據(jù)均相對(duì)地處于最新的狀態(tài)。2.軟件維護(hù)維護(hù)階段的關(guān)鍵任務(wù)是,通過(guò)各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿(mǎn)足用戶(hù)的需要。 通常有四類(lèi)維護(hù)活動(dòng):改

18、正性維護(hù),也就是診斷和改正在使用過(guò)程中發(fā)現(xiàn)的軟件錯(cuò)誤;適應(yīng)性維護(hù),即修改軟件以適應(yīng)環(huán)境的變化;完善性維護(hù),即根據(jù)用戶(hù)的要求改進(jìn)或擴(kuò)充軟件使它更完善;預(yù)防性維護(hù),即修改軟件為將來(lái)的維護(hù)活動(dòng)預(yù)先做準(zhǔn)備。GIS與一般信息系統(tǒng)的區(qū)別:1.綜合性強(qiáng),橫跨多學(xué)科;2.數(shù)據(jù)組織以空間數(shù)據(jù)為主;3.面向應(yīng)用,以空間分析為主。1.4 GIS軟件工程建設(shè)的主要過(guò)程按照軟件工程化方法,GIS開(kāi)發(fā)分為以下六個(gè)步驟:1.制定GIS開(kāi)發(fā)計(jì)劃2.GIS需求分析3.GIS系統(tǒng)設(shè)計(jì)(包括總體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和詳細(xì)設(shè)計(jì))4.GIS程序編碼5.GIS產(chǎn)品測(cè)試 6.GIS產(chǎn)品的運(yùn)行維護(hù)1.4.1 GIS軟件開(kāi)發(fā)的工程化方法1.4.2

19、 GIS軟件工程的系統(tǒng)分析 GIS軟件工程系統(tǒng)分析的目標(biāo):1.較低的開(kāi)發(fā)成本2.符合要求的功能3.較好的性能和可靠性4.較好的移植性和較低的維護(hù)費(fèi)用5.按時(shí)完成軟件并及時(shí)交付使用GIS軟件工程系統(tǒng)分析的步驟:1.識(shí)別GIS用戶(hù)要求2.評(píng)價(jià)GIS的可行性3.進(jìn)行GIS開(kāi)發(fā)經(jīng)濟(jì)分析和技術(shù)分析4.把功能分配給GIS軟硬件、人、 GIS數(shù)據(jù)庫(kù)和其他系統(tǒng)元素5.建立GIS開(kāi)發(fā)成本和進(jìn)度限制6.生成GIS規(guī)格說(shuō)明,形成所有后續(xù)GIS工程的基礎(chǔ) GIS軟件工程的可行性研究GIS可行性研究包括:1.經(jīng)濟(jì)可行性2.技術(shù)可行性3.法律可行性4.對(duì)系統(tǒng)不同開(kāi)發(fā)方案進(jìn)行比較評(píng)估 GIS軟件工程的可行性研究GIS可行性

20、研究報(bào)告的內(nèi)容:1.GIS項(xiàng)目背景2.候選方案3.GIS系統(tǒng)描述4.經(jīng)濟(jì)可行性5.技術(shù)可行性6.法律可行性7.GIS用戶(hù)使用可行性 GIS開(kāi)發(fā)成本效益分析成本效益分析的目的是從經(jīng)濟(jì)角度評(píng)價(jià)開(kāi)發(fā)一個(gè)新的GIS項(xiàng)目是否可行。成本效益分析首先是估算待開(kāi)發(fā)GIS的成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡。 GIS開(kāi)發(fā)技術(shù)分析技術(shù)分析的內(nèi)容:1.完成GIS的功能和性能需要什么技術(shù)2.哪些新設(shè)備、方法、算法或者過(guò)程3.有什么開(kāi)發(fā)風(fēng)險(xiǎn)4.這些技術(shù)問(wèn)題對(duì)成本的影響如何 分配與權(quán)衡對(duì)各候選GIS的系統(tǒng)配置方案進(jìn)行評(píng)估,并將每一個(gè)GIS功能,與其必要的一些性能和接口特性一起分配給一個(gè)或多個(gè)系統(tǒng)元素(軟硬件、數(shù)據(jù)庫(kù)

21、、人員、文檔等),并據(jù)此建立AFD層次結(jié)構(gòu)模型,用以表達(dá)GIS系統(tǒng)元素之間的相互關(guān)系。1.4.3 GIS軟件工程的需求分析GIS軟件工程需求分析的目的是把GIS的功能和性能的總體概念描述為具體的GIS產(chǎn)品需求規(guī)格說(shuō)明;其任務(wù)是深入描述GIS的功能和性能,確定GIS系統(tǒng)設(shè)計(jì)的限制和GIS同其他系統(tǒng)元素的接口細(xì)節(jié)。 GIS軟件工程需求分析的原則1.必須能夠表達(dá)和理解問(wèn)題的數(shù)據(jù)域和功能域數(shù)據(jù)域包括:數(shù)據(jù)流:數(shù)據(jù)通過(guò)一個(gè)GIS系統(tǒng)時(shí)的變化方式數(shù)據(jù)內(nèi)容:數(shù)據(jù)項(xiàng)數(shù)據(jù)結(jié)構(gòu)218:各種數(shù)據(jù)的邏輯組織2.必須按自頂向下、逐層分解22的方式對(duì)問(wèn)題進(jìn)行分解和不斷細(xì)化分解分為橫向分解和縱向分解。橫向分解是同一層次的分

22、解;縱向分解是多層次的分解 GIS軟件工程需求分析的過(guò)程GIS軟件工程需求分析的內(nèi)容:對(duì)問(wèn)題的識(shí)別、分析與綜合、制定規(guī)格說(shuō)明和評(píng)審。1.對(duì)問(wèn)題的識(shí)別問(wèn)題的識(shí)別要確定對(duì)GIS的綜合要求,并提出這些要求的實(shí)現(xiàn)條件,應(yīng)達(dá)到的標(biāo)準(zhǔn)。這些需求包括:功能需求性能需求環(huán)境需求可靠性分析安全保密要求用戶(hù)界面需求2.分析與綜合分析方法包括:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA)面向數(shù)據(jù)結(jié)構(gòu)(JSD)方法面向?qū)ο蠓治龇椒ǎ∣OA)用于建立動(dòng)態(tài)模型的狀態(tài)遷移圖或Petri網(wǎng)3.編制需求分析文檔需求分析文檔是指軟件需求規(guī)格說(shuō)明書(shū)。1.4.4 GIS軟件工程的系統(tǒng)設(shè)計(jì)GIS軟件工程系統(tǒng)設(shè)計(jì)的內(nèi)容包括數(shù)據(jù)設(shè)計(jì)、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和

23、過(guò)程設(shè)計(jì)。數(shù)據(jù)設(shè)計(jì)側(cè)重于空間數(shù)據(jù)結(jié)構(gòu)和屬性數(shù)據(jù)庫(kù)結(jié)構(gòu)的定義;系統(tǒng)結(jié)構(gòu)設(shè)計(jì)定義GIS各主要成分之間的關(guān)系;過(guò)程設(shè)計(jì)是把結(jié)構(gòu)成分轉(zhuǎn)換成GIS的過(guò)程性描述。GIS軟件工程系統(tǒng)設(shè)計(jì)的方法包括結(jié)構(gòu)化設(shè)計(jì)方法、原型化設(shè)計(jì)方法和面向?qū)ο笤O(shè)計(jì)方法。 結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法是基于模塊化、自頂向下逐層細(xì)化、結(jié)構(gòu)化程序設(shè)計(jì)等程序設(shè)計(jì)技術(shù)基礎(chǔ)上發(fā)展起來(lái)的,該方法的要點(diǎn):1.首先研究、分析數(shù)據(jù)流圖,從GIS的需求規(guī)格說(shuō)明中弄清數(shù)據(jù)流加工的過(guò)程;2.根據(jù)數(shù)據(jù)流圖決定問(wèn)題的類(lèi)型;3.由數(shù)據(jù)流圖推導(dǎo)出GIS的初始結(jié)構(gòu)圖;4.利用一些調(diào)控性原則來(lái)改進(jìn)GIS的初始結(jié)構(gòu)圖,直到得到符合要求的結(jié)構(gòu)圖為止;5.修改和補(bǔ)充數(shù)據(jù)詞典

24、;6.制定測(cè)試計(jì)劃。GIS軟件工程系統(tǒng)設(shè)計(jì)的方法包括結(jié)構(gòu)化設(shè)計(jì)方法、原型化設(shè)計(jì)方法和面向?qū)ο笤O(shè)計(jì)方法。 原型化設(shè)計(jì)方法原型是指模擬某種產(chǎn)品的原始模型。原型化設(shè)計(jì)方法的優(yōu)點(diǎn):1.增進(jìn)GIS開(kāi)發(fā)人員和GIS用戶(hù)對(duì)系統(tǒng)服務(wù)需求的理解,使比較含糊的具有不確定性的GIS需求明確化;2.用戶(hù)可以親身體驗(yàn)早期的開(kāi)發(fā)過(guò)程,獲得關(guān)于GIS系統(tǒng)的專(zhuān)門(mén)知識(shí);3.可以容易地確定GIS的性能,確認(rèn)各項(xiàng)主要系統(tǒng)服務(wù)的可應(yīng)用性,確認(rèn)系統(tǒng)設(shè)計(jì)的可行性和系統(tǒng)作為產(chǎn)品的結(jié)果;4.原型經(jīng)過(guò)略加修改可成為系統(tǒng)的一個(gè)組成部分。 面向?qū)ο笤O(shè)計(jì)方法基本概念:1.對(duì)象是客觀世界實(shí)體的抽象描述,由信息(數(shù)據(jù))和對(duì)數(shù)據(jù)的操作組合而成;2.類(lèi)是多

25、個(gè)相似對(duì)象共同特性的描述;3.消息是對(duì)象之間通信的手段,是對(duì)象之間相互請(qǐng)求或相互協(xié)作的途徑,它用來(lái)指示對(duì)象的操作;4.方法是對(duì)象接收到信息后應(yīng)采取的行動(dòng)序列的描述;5.繼承是一種現(xiàn)實(shí)世界中對(duì)象之間獨(dú)特的關(guān)系,它使得某類(lèi)對(duì)象可以繼承另一類(lèi)對(duì)象的特征和能力;6.持久性是指數(shù)據(jù)能在進(jìn)程或操作中存在,并且能在下一個(gè)進(jìn)程或操作中重新使用的能力。 結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)的三種基本控制結(jié)構(gòu):1.順序結(jié)構(gòu)2.選擇結(jié)構(gòu)3.重復(fù)(循環(huán))結(jié)構(gòu)1.4.5 GIS軟件工程的編碼設(shè)計(jì) 圖圖1.101.10三種基本的控制結(jié)構(gòu)三種基本的控制結(jié)構(gòu)(a) (a) 順序結(jié)構(gòu),先執(zhí)行順序結(jié)構(gòu),先執(zhí)行A A再執(zhí)行再執(zhí)行B B;(b) IF-THEN-ELSE(b) IF-THEN-ELSE型選擇型選擇( (分支分支) )結(jié)構(gòu);結(jié)構(gòu);(c) DO-WHILE(c) DO-WHILE型循環(huán)結(jié)構(gòu)型循環(huán)結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)的主要原理:1.使用程序設(shè)計(jì)語(yǔ)言中的順序、選擇、重復(fù)等基本控制結(jié)構(gòu)表示程序和邏輯結(jié)構(gòu);2.選用的控制結(jié)構(gòu)只允許有一個(gè)入口和出口;3.程序由容易識(shí)別的塊組成,每個(gè)塊只有一個(gè)出口和入口;4.復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn);5.嚴(yán)格控制使用GOTO語(yǔ)句。程序設(shè)計(jì)自頂向下,逐步求精方法的優(yōu)點(diǎn):1.符合人們解決復(fù)雜問(wèn)題的普遍規(guī)律,可提高軟件開(kāi)發(fā)的成功率和生產(chǎn)率;

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論