




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、資源環境信息系統(GIS)資源環境信息系統(GIS) 系統實施階段的任務,是實現系統設計階段提出的物理模型,按實施方案完成一個可以實際運行的信息系統,交付用戶使用。系統實施包括資源配置、程序編寫、系統安裝和系統測試。實施管理小組負責系統實施的進度和質量管理。9/10/20222 系統實施階段的任務,是實現系統設計階段提出的物理模型,按實(1)系 統 配 置系統配置包括軟硬件配置、人員組織以及數據準備等。9/10/20223(1)系 統 配 置系統配置包括軟硬件配置、人員組織以及數據軟硬件購置在規劃地理信息系統的軟硬件時,需要考慮的主要因素包括:系統的數據量有多大?用戶數有多少?網絡環境是什么?
2、投資規模如何?地理信息系統在整個系統中所處的位置是什么?也就是說,這是一個純粹的地理信息系統還是地理信息系統與其它系統相結合的綜合信息系統?如果是綜合系統,是以地理信息系統為主體還是以其它的系統為主體?9/10/20224軟硬件購置在規劃地理信息系統的軟硬件時,需要考慮的主要因素以ESRI公司的產品為例:如果所開發的系統投資規模比較小,對系統的功能要求不是很高,可以選用ArcView3.x軟件或MapObjects進行開發;如要求系統有較強的功能,系統投資規模較大,可考慮選用ArcGIS軟件進行開發;如系統數據量大,而且要滿足多用戶并發訪問,則需要配置ArcSDE;如系統是B/S結構,則可選用
3、ArcIMS開發;如開發的地理信息系統是綜合系統的一部分,利用MapObjects開發比較合適。每一種軟件,對硬件的配置有相應的要求,如ArcView 3.x要求主機的基本配置:主頻、內存。9/10/20225以ESRI公司的產品為例:9/3/20227硬件配置9/10/20226硬件配置9/3/20228人員組織軟件項目成功的關鍵是要有高素質的軟件開發人員。然而大多數軟件產品規模都很大,以至單個軟件開發人員無法在給定期限內完成開發工作,因此,必須把多個軟件開發人員組織起來,分工協作,共同完成開發工作。為了成功地完成軟件開發工作,項目組成員必須以一種有意義且有效的方式彼此交互和通信。如何組織項
4、目組是一個管理問題,管理者必須合理地組織項目組,使項目組有較高生產率,能夠按預定的進度計劃完成所承擔的工作。經驗表明,項目組組織的越好,其生產率越高,而且產品質量也越高。 9/10/20227人員組織9/3/20229現有的軟件項目組的組織方式很多,常見的有程序設計小組的組織、主程序員組的組織等。程序設計小組的規模以28名成員為宜,通常采用非正式的組織方式,也就是說,雖然名義上有一個組長,但是他和組內其他成員完成同樣的任務。在這樣的小組中,由全體討論決定應該完成的工作,并且根據每個人的能力和經驗分配適當的任務。如果組內多數成員是經驗豐富技術熟練的程序員,那么這種組織方式會非常成功。但如果組內多
5、數成員水平不高,沒有明確的權威指導開發工程的進行,最終可能會導致工程失敗。 9/10/20228現有的軟件項目組的組織方式很多,常見的有程序設計小組的組織、美國IBM公司在1970年代初期開始采用主程序員組的組織方式。主程序員組由主程序員、后備主程序員、編程秘書以及13名程序員組成。在必要的時候,該組還有其他領域的專家(例如,法律專家、財務專家等)協助。主程序員組的組織方式有不少優點,但典型的主程序員組在許多方面是不切實際的。9/10/20229美國IBM公司在1970年代初期開始采用主程序員組的組織方式人員配置 9/10/202210人員配置 9/3/202212(2)程 序 編 寫程序編寫
6、的過程就是利用某種程序設計語言把詳細設計編碼成計算機可接受的形式,也是人借助編程語言與計算機通信的過程。應該說,在系統開發的各個階段中,編程是最容易,也是人們已掌握得較好的一項工作。但編寫一個好的程序需要高水平的編程人員。9/10/202211(2)程 序 編 寫程序編寫的過程就是利用某種程序設計語言把對于程序好壞的評價,50年代與70年代的觀點有很大不同。50年代計算機內存小、速度慢,人們往往把程序的長度和執行速度放在重要位置,費盡心機縮短程序長度,減少存儲量,提高速度。現在情況有了很大的不同,一般認為好程序應具備的最重要條件是可讀性。9/10/202212對于程序好壞的評價,50年代與70
7、年代的觀點有很大不同。50 要使程序的可讀性好,程序員應有一定的寫作能力。他應寫出結構良好、層次分明、思路清晰的程序。 有人說:“對于程序員來說,最重要的不是學習程序設計語言(FORTRAN、C等),而是英語(日語、漢語)”。程序員在寫程序時應該記住:程序不僅是給計算機執行的,也是供人閱讀的。9/10/202213 要使程序的可讀性好,程序員應有一定的寫作能力。他應寫出結構程序設計語言 程序設計語言發展到今天,先后有幾百種程序設計語言。大致可分為四代。第一代語言是指與機器緊密相關的機器語言和匯編語言,其歷史可追溯到第一臺電子計算機問世。因其與硬件操作一一對應,基本上有多少種計算機就有多少種匯編
8、語言。第二代語言是20世紀50年代末至20世紀60年代初先后出現的,它們應用面廣,為人們熟悉和接受,有大量成熟的程序庫。這代語言包括FORTRAN、COBOL、Algol60和BASIC等。9/10/202214程序設計語言 程序設計語言發展到今天,先后有幾百種程序設計語 第三代語言,也稱結構化程序語言,其特點是直接支持結構化構件,并具有很強的過程能力和數據結構能力。這類語言本身又可細分為三類:通用高級語言(如Pascal、Ada等)、專用語言(如LISP、Prolog等)和面向對象的語言(如C+、Smalltalk、Java等)。 第四代語言實際上就是程序生成器,它能輸入由自然語言書寫的語句
9、,自動產生完整的程序,但目前這方面成功的例子還只限于商業信息系統的開發。9/10/202215 第三代語言,也稱結構化程序語言,其特點是直接支持結構化構件程序設計語言的選擇選擇合適的程序設計語言能減少編碼的工作量,產生易讀、易測試、易維護的代碼。程序設計語言的選擇應考慮的因素包括:應用領域、算法和計算的復雜性、軟件運行環境、軟件性能要求、數據結構的復雜性、軟件開發人員的知識水平等,其中,項目所屬的應用領域常常作為首要的標準。9/10/202216程序設計語言的選擇選擇合適的程序設計語言能減少編碼的工作量,程序設計語言的選擇例如,C語言常用于系統軟件開發; COBOL迄今仍為商業信息處理的首選語
10、言; FORTRAN始終占領著工程及科學計算領域的主導地位; 人工智能領域則更多地使用LISP、Prolog等。9/10/202217程序設計語言的選擇例如,C語言常用于系統軟件開發;9/3/2在GIS開發中的程序設計語言底層開發通常采用VC+等;組件開發通常采用VB、Delphi等;WebGIS開發通常采用Java等;虛擬現實GIS開發采用VRML等。9/10/202218在GIS開發中的程序設計語言9/3/202220編程的技巧和方法70年代以來,人們總結了使程序簡單、清晰的種種技巧和方法,包括:用結構化方法進行編程設計;程序中包括說明文檔;良好的程序書寫風格;良好的編程風格。9/10/2
11、02219編程的技巧和方法70年代以來,人們總結了使程序簡單、清晰的種結構化程序設計“結構化程序設計”是荷蘭學者Dijkctra提出的,他要求程序設計者不能隨心所欲地編寫程序,而要按照一定的結構形式來設計和編寫程序?;舅枷耄簩⒁粋€大的程序按功能分割成一些小模塊。開發方法:自上向下,逐步分解,分而治之。9/10/202220結構化程序設計“結構化程序設計”是荷蘭學者Dijkctra提結構化程序設計的特點各模塊相對獨立、功能單一、結構清晰、接口簡單控制了程序設計的復雜性提高元件的可靠性縮短開發周期易于維護和功能擴充具體有兩個方面:一是程序設計采用自頂向下,逐步細化的原則;二是程序的控制結構由三種
12、基本結構(順序結構;分支選擇結構和循環結構)構成。9/10/202221結構化程序設計的特點9/3/202223順序結構:以各子結構出現的次序順序控制執行。分支選擇結構有兩種,一是If-then-else結構,另一種是case結構。當滿足某個條件時反復執行,否則不執行(Do-while循環)。9/10/202222順序結構:以各子結構出現的次序順序控制執行。9/3/2022順序結構Input 請輸入梯形的上底: To M Input 請輸入梯形的下底: To N Input 請輸入梯形的高: To H ? 梯形面積=,Str(M+N)*H/2,10,2) Return9/10/202223順序
13、結構Input 請輸入梯形的上底: To M9/3/選擇結構9/10/202224選擇結構9/3/202226循環結構9/10/202225循環結構9/3/202227結構化程序設計有以下幾個特點:只有一個入口和一個出口。沒有死語句(永遠執行不到的語句)。沒有死循環(無限制的循環)。 9/10/202226結構化程序設計有以下幾個特點:9/3/202228提供說明文檔程序中的說明文檔可以用注釋語句書寫。程序適當加注釋后,閱讀時就不必再看其他說明材料了。因此,是提高程序可閱讀性的有力手段。程序中的注釋包括文件頭注釋、函數注釋、程序段注釋和語句注釋。9/10/202227提供說明文檔程序中的說明文
14、檔可以用注釋語句書寫。程序適當加注增加注釋的原則注釋必須與程序一致,否則毫無價值,甚至使人感到莫名其妙,所以,修改程序時。要注意對注釋進行相應的修改。注釋不是重復程序語句,而應提供從程序本身難以得到的信息。對程序段作注釋,而不是對每個語句作注釋。9/10/202228增加注釋的原則9/3/202230文件開頭的注釋模板/* 文件名:* Copyright (c) 1998-1999 *公司技術開發部* 創建人:* 日 期:* 修改人:* 日 期:* 描 述:* 版 本:*-*/9/10/202229文件開頭的注釋模板9/3/202231函數開頭的注釋模板/* 函數名:* 輸 入: a,b,c*
15、 a-* b-* c-* 輸 出: x-* x 為 1, 表示.* x 為 0, 表示.* 功能描述:* 全局變量:* 調用模塊:* 作 者:* 日 期:* 修 改:* 日 期:* 版本*/9/10/202230函數開頭的注釋模板9/3/202232程序段和語句注釋實例初始化控件_comboBox1.Items.Clear() 清空組合框_listBox1.Items.Clear() 清空列表框9/10/202231程序段和語句注釋實例9/3/202233良好的編程風格編程的風格在很大程度上影響著程序的可讀性、可測試性和可維護性。良好的編程風格是在不影響性能的前提下,有效地編排和組織程序,以提
16、高可讀性和可維護性。9/10/202232良好的編程風格編程的風格在很大程度上影響著程序的可讀性、可測良好的編程風格體現在:結構化規范化簡單化9/10/202233良好的編程風格體現在:9/3/202235結 構 化實質是控制編程中的復雜性。除了使用讀者明了的結構化程序部件 ,還包括用公共函數調用代替重復出現的表達式等。 9/10/202234結 構 化實質是控制編程中的復雜性。除了使用讀者明了的結構化規 范 化 理解變量的含義是理解程序邏輯的關鍵。在系統中,涉及的變量、過程、文件很多,編寫程序的人也很多。因此,在編寫程序之前,應對名字做出統一的規范標準。變量名應顯示說明,同一變量名不要具有多
17、種含義。一個變量在不同程序段中表示不同的含義,即使計算機不混淆,也不便于人的閱讀理解,修改程序時也容易造成錯誤。變量名、文件名、過程名應規范化,應選用表義性強的名字(相應英文名或縮寫)避免使用臨時變量而使可讀性下降;適當插入括號,使表達式的運算次序清晰直觀,排除二義性;有效使用空格符,以區別程序的不同意群(例如,注釋與程序、分程序之間等)。9/10/202235規 范 化 理解變量的含義是理解程序邏輯的關鍵。在系簡 單 化使用簡單的數據結構,避免使用多維數組、指針和復雜的表;使用執行時間短的算術運算;避免不同類型的對象混合操作;盡量使用整型運算和布爾表達式;以手工方式簡化算術和邏輯表達式;直接
18、地反映代碼的意圖。 9/10/202236簡 單 化使用簡單的數據結構,避免使用多維數組、指針和復雜的DO 14 I = 1, N DO 14 J = 1,N14 V(I , J) = (I/J) * (J/I)DO 5 I = 1,N DO 5 J = 1,N IF(I.EQ.J) THEN V(I , J) = 1.0 ELSE V(I , J) = 0.0 ENDIF 5 CONTINUE 兩個程序比較9/10/202237DO 14 I = 1, N DO 14 J =軟件測試9/10/202238軟件測試9/3/202240在開發軟件的過程中,人們使用了許多保證軟件質量的方法分析、設
19、計和實現軟件,但難免還會在工作中犯錯誤。這樣,在軟件產品中就會隱藏許多錯誤和缺陷。對于規模大、復雜性高的軟件更是如此。在這些錯誤中,有些是致命的錯誤,如果不排除,就會導致生命與財產的重大損失。9/10/202239在開發軟件的過程中,人們使用了許多保證軟件質量的方法分析、設1963年在美國曾發生了這樣一件事:把一個FORTRAN程序的循環語句 DO 5 I=1,3 誤寫成 DO 5 I=1.3。 循環語句被當作了賦值語句,一點之差致使飛往火星的火箭爆炸,造成1000萬美元的損失。這種情況迫使人們必須認真計劃、徹底地進行軟件測試。9/10/2022401963年在美國曾發生了這樣一件事:把一個F
20、ORTRAN程序什么是軟件測試軟件測試是為了發現錯誤而執行程序的過程。軟件測試在軟件生存期中橫跨兩個階段:通常在編寫出每一個模塊之后就對它做必要的測試(稱為單元測試)。編碼與單元測試屬于軟件生存期中的同一個階段。在結束這個階段之后,對軟件系統還要進行各種綜合測試,這是軟件生存期的另一個獨立階段,即測試階段。測試只能證明程序有錯誤,而不可能證明程序沒有錯誤。9/10/202241什么是軟件測試軟件測試是為了發現錯誤而執行程序的過程。9/3軟件測試的目的Grenford J.Myers提出以下觀點:測試是程序執行過程,目的在于發現錯誤;一個好的測試用例很可能找到迄今為止尚未發現的錯誤;一個成功的測
21、試是發現了至今未發現的錯誤的測試。E.W.Dijkstra 指出:程序測試能證明錯誤的存在,但不能證明錯誤不存在。測試的目的是發現程序中的錯誤,是為了證明程序有錯,而不是證明程序無錯。9/10/202242軟件測試的目的Grenford J.Myers提出以下觀點:軟件測試的目的測試的目的是想以最少的時間和人力系統地找出軟件中潛在的各種錯誤和缺陷。測試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符合。此外,實施測試收集到的測試結果數據為可靠性分析提供了依據。把證明程序無錯當作測試目的不僅是不正確的, 完全做不到的,而且對做好測試沒有任何益處,甚至是十分有害的。能夠發現錯誤的測試是成功的
22、測試,否則是失敗的測試。9/10/202243軟件測試的目的測試的目的是想以最少的時間和人力系統地找出軟件測試者知道軟件怎樣才能發生故障而導致失敗,并可記錄發生失敗的多種故障類型測試案例沒有冗余。每個測試案例都有不同的用途,不要重復相同意義的測試案例使用最具有代表性的案例,它能夠高效率揭示所有可能的錯誤每個測試應該能獨立執行,不能太復雜,也不會太簡單,它們能夠被組合用于一個測試案例中好的測試應該具有的特性9/10/202244測試者知道軟件怎樣才能發生故障而導致失敗,并可記錄發生失敗的軟件錯誤的分類按錯誤的影響和后果分類較小錯誤:只對系統輸出有一些非實質性影響。如,輸出的數據格式不合要求等。中
23、等錯誤:對系統的運行有局部影響。如輸出的某些數據有錯誤或出現冗余。較嚴重錯誤:系統的行為因錯誤的干擾而出現明顯不合情理的現象。比如開出了0.00元的支票,系統的輸出完全不可信賴。嚴重錯誤:系統運行不可跟蹤,一時不能掌握其規律,時好時壞。非常嚴重的錯誤:系統運行中突然停機,其原因不明,無法軟啟動。最嚴重的錯誤:系統運行導致環境破壞,或是造成事故,引起生命、財產的損失。9/10/202245軟件錯誤的分類按錯誤的影響和后果分類9/3/202247軟件測試的特點軟件測試的開銷大按照Boehm 的統計,軟件測試的開銷大約占總成本的30%50%。例如:APPOLLO登月計劃,80%的經費用于軟件測試。不
24、能進行窮舉測試只有將所有可能的情況都測試到,才有可能檢查出所有的錯誤。但這是不可能的。例如:程序P 有兩個整型輸入量X、Y,輸出量為Z,在32 位機上運行。所有的測試數據組(Xi,Yi)的數目為:232232264。假設毫秒執行次,如要進行完全測試,共需億年。9/10/202246軟件測試的特點軟件測試的開銷大例如:程序P 有兩個整型輸入量例:Windows95有1000萬行代碼 Windows2000有5000萬行代碼, 3000多個工程師,幾百個小團隊。Exchange2000和 Windows2000開發人員結構Exchange2000Windows2000項目經理25人約250人開發人員140人約1700人測試人員350人約3200人例:Windows95有1000萬行代碼Exchange2 軟件測試的原則嚴格執行測試計劃,排除測試的隨意性。測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 8 Reading1 教學設計 2024-2025學年譯林版(2024)七年級英語上冊
- 13我能行(教學設計)-2023-2024學年道德與法治二年級下冊統編版
- 2023四年級數學下冊 數學好玩第2課時 奧運中的數學教學設計 北師大版
- 復發性流產病人的護理
- 2024-2025學年高中歷史 第三單元 近代中國經濟結構的變動與資本主義的曲折發展 第9課 近代中國經濟結構的變動新課教學設計2 新人教版必修2
- 2024-2025學年高中化學 第三章 第二節 分子晶體與原子晶體 第2課時 原子晶體教學設計 新人教版選修3
- 2023七年級歷史下冊 第三單元 明清時期:統一多民族國家的鞏固與發展第18課 統一多民族國家的鞏固和發展教學設計 新人教版
- 2《不一樣的 你我他》(教學設計)-2023-2024學年道德與法治三年級下冊統編版
- Unit 2 Good Morning,Miss Wang (教學設計)-2024-2025學年新世紀英語一年級上冊
- Unit 1 What's the matter Section A 4a-4c 教案 2024-2025學年人教版八年級英語下冊
- 第六章 質量和密度 綜合素質評價卷(含答案)2024-2025學年北師大八年級物理下冊
- 金蝶EAS固定資產操作手冊
- 中華民族共同體概論教案第二講-樹立正確的中華民族歷史觀
- 國家開放大學《幼兒園社會教育專題》形考作業1-4參考答案
- 物理中考培訓心得體會
- 深度學習及自動駕駛應用 課件 第5章 基于CNN的自動駕駛目標檢測理論與實踐
- 山東淄博博山獼猴桃產業發展現狀與對策建議
- 人教版大單元教學設計-小學四年級數學下冊第五單元三角形
- 中建項目商務管理手冊
- 承插型盤扣式腳手架作業指導書
- 二氧化碳的檢測
評論
0/150
提交評論