freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[高等教育]第二章gis軟件工程概述-資料下載頁

2025-01-21 22:49本頁面
  

【正文】 IS需求說明后,通過快速分析構(gòu)造出一個小型 GIS,滿足用戶的基本要求,使用戶可在試用原形系統(tǒng)的過程中得到親身感受和啟發(fā),做出反應(yīng)和評價,然后開發(fā)者根據(jù)用戶的意見對原型加以改進(jìn)。隨著不斷試驗(yàn)、糾錯、使用、評價和修改,獲得新的原型版本,如此周而復(fù)始,逐步減少分析和通信中的誤解,彌補(bǔ)不足之處,進(jìn)一步確定各種需求細(xì)節(jié),適應(yīng)需求的變更,從而提高最終 GIS產(chǎn)品的質(zhì)量。 建立快速原型法的優(yōu)點(diǎn)主要表現(xiàn)在以下方面: (1)增進(jìn) GIS開發(fā)人員和 GIS用戶對系統(tǒng)服務(wù)需求的理解,使比較含糊的具有不確定性的 GIS需求明確化。 (2)原型化方法提供了一種有力的學(xué)習(xí)手段。通過原型法,用戶可以親身體驗(yàn)早期的開發(fā)過程,獲得關(guān)于 GIS系統(tǒng)的專門知識,對培訓(xùn)使用者有積極作用。 (3)使用原型化方法可以容易地確定 GIS的性能,確認(rèn)各項(xiàng)主要系統(tǒng)服務(wù)的可應(yīng)用性,確認(rèn)系統(tǒng)設(shè)計(jì)的可行性和系統(tǒng)作為產(chǎn)品的結(jié)果。 (4)GIS原型的最終版本,有時略加修改就可以成為最終系統(tǒng)的一個組成部分。 3.面向?qū)ο笤O(shè)計(jì)方法 面向?qū)ο?(ObjectOriented)的概念起源于程序設(shè)計(jì)語言。對象是客觀世界實(shí)體的抽象描述,由信息(數(shù)據(jù) )和對數(shù)據(jù)的操作組合而成。類是多個相似對象共同特性的描述。消息是對象之間通信的手段,是對象之間相互請求或相互協(xié)作的途徑,它用來指示對象的操作。方法是對象接收到消息后應(yīng)采取的動作序列的描述。實(shí)例是由一特定類描述的具體對象。在系統(tǒng)構(gòu)成上,類形成了一個具有特定功能的模塊和一種代碼共享的手段,類和實(shí)例之間的關(guān)系是抽象和具體的關(guān)系。實(shí)例是類的具體事物,類是多個實(shí)例的綜合抽象。 對象具有封裝性,對外部只提供一個抽象接口而隱藏具體實(shí)現(xiàn)細(xì)節(jié)。類具有繼承的特性。繼承是一種現(xiàn)實(shí)世界中對象之間獨(dú)特的關(guān)系,它使得某類對象可以繼承另外一類對象的特征和能力。繼承性具有雙重作用,一是減少代碼冗余,二是通過協(xié)調(diào)性來減少相互之間的接口和界面。研究人員在面向?qū)ο蟪绦蛟O(shè)計(jì)中試圖加進(jìn)數(shù)據(jù)持久性的概念,以支持?jǐn)?shù)據(jù)庫。持久性是指數(shù)據(jù)能在進(jìn)程或操作中存在,并且能在下一個進(jìn)程或操作中重新使用的能力。 面向?qū)ο蠹夹g(shù)所追求的目標(biāo) —— 將世界上的問題求解盡可能地簡化。 在 GIS領(lǐng)域,面向?qū)ο蟮脑O(shè)計(jì)方法和面向?qū)ο?GIS產(chǎn)品有著非常廣闊的前景。在 GIS系統(tǒng)設(shè)計(jì)中,可以將 GIS的數(shù)據(jù)獲取、格式轉(zhuǎn)換、圖形顯示等內(nèi)容分別封裝為數(shù)據(jù)獲取類、格式轉(zhuǎn)換類、圖形顯示類等,然后定義各類的屬性、方法和事件。如對圖形顯示類可以定義顯示范圍、背景顏色、符號式樣等屬性,放大、縮小、平移等方法以及單擊、拖拽等鼠標(biāo)事件。 各種組件式 GIS產(chǎn)品,是體現(xiàn)面向?qū)ο?GIS技術(shù)的典型代表。如 Maplnfo公司的 MapX, ESRI公司的 Mapobjects等產(chǎn)品,都將 GIS的常用功能封裝成類和對象呈現(xiàn)給開發(fā)者。 五、 GIS軟件工程的編碼設(shè)計(jì) 程序設(shè)計(jì)語言的特性和程序設(shè)計(jì)風(fēng)格會深刻地影響 GIS軟件的質(zhì)量和可維護(hù)性。為了保證程序編碼的質(zhì)量,程序員必須深刻理解掌握程序設(shè)計(jì)語言的特性,只有語法上沒有錯誤的程序才能通過編譯系統(tǒng)的語法檢查。但是軟件工程對代碼編寫的要求并不僅僅是源程序語法上的正確性,它還要求源程序具有良好的結(jié)構(gòu)性和程序設(shè)計(jì)風(fēng)格。 1.結(jié)構(gòu)化程序設(shè)計(jì) 早在 20世紀(jì) 60年代初,人們就發(fā)現(xiàn),在程序中大量地、沒有節(jié)制地使用 GOTO語句會使程序結(jié)構(gòu)變得非常混亂。后來又有人證明,任何單人口、單出口的“沒有死循環(huán)”的程序都能由三種最基本的控制結(jié)構(gòu)構(gòu)造出來。這三種基本控制結(jié)構(gòu)是“順序結(jié)構(gòu)”、“ IFTHENELSE選擇結(jié)構(gòu)”和 DOWHILE或 DOUNTIL重復(fù)結(jié)構(gòu)”。 在后來發(fā)展的圍繞 GOTO語句的爭論中,產(chǎn)生了一種新的程序設(shè)計(jì)思想、方法和風(fēng)格,即結(jié)構(gòu)化程序設(shè)計(jì),這種程序設(shè)計(jì)方法顯著提高了軟件質(zhì)量和生產(chǎn)效率,并降低了軟件維護(hù)成本。 1)結(jié)構(gòu)化程序設(shè)計(jì)的主要原則 (1)使用程序設(shè)計(jì)語言中的/順序、選擇、重復(fù)等有限的,基本控制結(jié)構(gòu)表示程序和邏輯結(jié)構(gòu)。 (2)選用的控制結(jié)構(gòu)只允許有一個人口和出口。 (3)程序應(yīng)由容易識別的塊組成,每個塊 (Block)只有一個人口和一個出口。 (4)復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)。 (5)嚴(yán)格控制使用 GOTO語句 (出錯處理除外 )。 2)程序設(shè)計(jì)自頂向下逐步求精 在總體設(shè)計(jì)階段,我們經(jīng)常使用自頂向下,逐步細(xì)化的方法,把一個復(fù)雜問題的解法分解為一個由許多功能模塊組成的層次結(jié)構(gòu)軟件系統(tǒng),在詳細(xì)設(shè)計(jì)和編碼階段,仍應(yīng)當(dāng)采取自頂向下逐步求精的方法,把一個模塊的功能逐步分解,細(xì)化為一系列具體步驟。 自頂向下,逐步求精方法具有以下優(yōu)點(diǎn): (1)符合人們解決復(fù)雜問題的普遍規(guī)律,可提高軟件開發(fā)的成功率和生產(chǎn)率。 (2)用先全局后局部、先整體后細(xì)節(jié)、先抽象后具體逐步求精的過程開發(fā)出來的程序具有清晰的層次結(jié)構(gòu)和可讀性。 (3)自頂向下,逐步細(xì)化的程序設(shè)計(jì)形成 (倒 )樹形結(jié)構(gòu),可以理解為:任何節(jié)點(diǎn)上發(fā)生的錯誤只影響它的下層節(jié)點(diǎn),而同層的其他節(jié)點(diǎn)不受影響,并有利于對各節(jié)點(diǎn)進(jìn)行獨(dú)立測試。 (4)可重復(fù)使用的代碼量大,易于系統(tǒng)的修改和重新設(shè)計(jì)。 2.程序設(shè)計(jì)風(fēng)格 設(shè)計(jì)的程序不僅是給機(jī)器執(zhí)行,而且要供他人閱讀。閱讀程序是軟件開發(fā)和維護(hù)過程中的重要組成部分,特別是在軟件測試和維護(hù)階段,程序員和參與測試、維護(hù)的人都要閱讀程序。一個好的程序應(yīng)具有良好的可讀性和風(fēng)格,這將大量減少人們讀程序的時間,因而從整體上看,效率是最高的。 一個良好的程序應(yīng)從以下幾個方面提高其可讀性: 1)源程序文檔化 2)數(shù)據(jù)說明 3)語句結(jié)構(gòu) 源程序的文檔化包括選擇符號的名稱、安排注釋、程序的視覺組織等。 (1)符號的命名。 (2)程序的注釋。 大多數(shù)程序設(shè)計(jì)語言允許用自然語言來寫注釋,注釋分為序言性注釋和功能性注釋兩種。序言性注釋通常置于每個模塊的開頭部分,給出程序和整體說明,對于理解程序有引導(dǎo)作用。序言性注釋列出的有關(guān)項(xiàng)目包括:程序標(biāo)題、有關(guān)該模塊功能和目的的說明;主要算法;接口說明:包括調(diào)用方式、參數(shù)描述、子程序清單;有關(guān)數(shù)據(jù)的描述;開發(fā)簡歷等。 (3)視覺組織 —— 空格、空行和縮進(jìn)。恰當(dāng)?shù)剡\(yùn)用空格、空行和縮進(jìn)技巧,可以突出運(yùn)算的優(yōu)先性,并使程序?qū)哟畏置鳌? 2)數(shù)據(jù)說明 在數(shù)據(jù)說明中要注意: (1)數(shù)據(jù)說明的次序應(yīng)當(dāng)規(guī)范化,這樣有利于查找、測試和維護(hù)。原則上數(shù)據(jù)說明的次序與語法無關(guān),但出于閱讀和維護(hù)的需要,最好使其規(guī)范化,使說明的先后次序固定。如先是常量說明,然后是簡單變量說明,接下來是數(shù)組說明、自定義變量說明等。 (2)當(dāng)多個變量名用一個語句說明時,應(yīng)將這些變量按一定順序 (字母順序 )排列。 (3)對于自定義的復(fù)雜數(shù)據(jù)結(jié)構(gòu),要注釋說明數(shù)據(jù)結(jié)構(gòu)在程序?qū)崿F(xiàn)時的特點(diǎn)。 3)語句結(jié)構(gòu) 語句結(jié)構(gòu)力求簡單、直觀,不能片面追求效率而過于緊湊,使語句結(jié)構(gòu)復(fù)雜化,這主要體現(xiàn)在: (1)一行內(nèi)只寫一條語句,并采取適當(dāng)?shù)目s進(jìn)格式。 (2)程序編寫首先應(yīng)考慮可讀性和清晰性,而不應(yīng)刻意追求技巧性,使程序編寫得過于緊湊。 (3)除非對效率有特殊的要求,否則程序的編寫應(yīng)做到清晰第一,效率第二,程序效率主要應(yīng)通過選擇高效的算法來實(shí)現(xiàn)。 (4)盡可能使用庫函數(shù),將復(fù)雜程序段模塊化。 (5)盡可能用公共過程或子程序代替重復(fù)的功能代碼,要注意將功能獨(dú)立和代碼抽出,組成一個公共過程或子程序。 (6)盡可能采用面向?qū)ο笤O(shè)計(jì)方法,創(chuàng)建類模塊,這將使程序更易于維護(hù),并進(jìn)一步提高代碼的重用率。 (7)盡量只采用三種基本的控制結(jié)構(gòu)來編定程序。 (8)避免過多的循環(huán)嵌套和條件嵌套。 (9)對不太長的程序,要分塊編寫、測試,然后再集成。 (10)對于不好的程序,要重新編寫,不要反復(fù)地修飾。 六、 GIS軟件工程建設(shè)過程中的文檔 為了對 GIS建設(shè)進(jìn)行科學(xué)管理,規(guī)范建設(shè)文檔, GIS建設(shè)過程中必須完成以下各項(xiàng)文件: (1)立項(xiàng)報告。 (2)可行性研究報告。 (3)系統(tǒng)設(shè)計(jì)任務(wù)書。 (4)用戶需求分析報告。 (5)系統(tǒng)總體設(shè)計(jì)方案和各子系統(tǒng)設(shè)計(jì)方案。 (6)系統(tǒng)實(shí)施總結(jié)報告。 (7)系統(tǒng)測試報告。 (8)用戶使用報告。 (9)系統(tǒng)驗(yàn)收報告。 (10)系統(tǒng)建設(shè)總結(jié)報告。 思考題 1. GIS軟件的主要特點(diǎn)有哪些 ? 2. GIS軟件開發(fā)過程中存在哪些問題 ?產(chǎn)生這些問題的原因是什么 ? 3. GIS軟件工程的特色表現(xiàn)在哪幾個方面 ? 4.常見的軟件生存周期模型有哪幾種 ?請簡要加以介紹 。 5. GIS軟件工程生存周期包含哪幾個階段 ?每個階段的主要任務(wù)是什么 ? 6. GIS系統(tǒng)分析包含哪些主要步驟 ? 7. GIS系統(tǒng)設(shè)計(jì)中可以采用的設(shè)計(jì)方法有哪幾種 ?簡要說明其主要內(nèi)容。 8. GIS建設(shè)過程中需要建立哪些文檔
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1