




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
地理信息系統(tǒng)軟件工程綜述第一講內(nèi)容提要GIS基本概念及發(fā)展地理信息系統(tǒng)的基本組成地理信息系統(tǒng)的未來(lái)發(fā)展軟件工程的技術(shù)綜述2GIS基本概念信息革命與GIS的產(chǎn)生
1.信息革命:人類(lèi)社會(huì)發(fā)展進(jìn)程計(jì)算機(jī)的應(yīng)用(第一次信息革命)
信息產(chǎn)業(yè)的興起與發(fā)展信息高速公路與數(shù)字地球(第二次信息革命)3信息時(shí)代的特性:對(duì)海量信息的科學(xué)管理和充分利用“瓶頸”問(wèn)題:具有地理坐標(biāo)的空間數(shù)據(jù)GIS的產(chǎn)生背景:數(shù)字地球的雛形
GIS是信息時(shí)代地學(xué)科學(xué)的必然產(chǎn)物4與信息有關(guān)的概念信息:客觀事物在人腦中的反映數(shù)據(jù):對(duì)客觀事物進(jìn)行定性,定量描述的原始材料,是信息的符號(hào)表示。
數(shù)據(jù)與信息的關(guān)系:數(shù)據(jù)是信息的載體,信息是數(shù)據(jù)的內(nèi)涵,二者不可分離數(shù)據(jù)處理的目的:為獲取信息和知識(shí)。5地理信息:與空間地理分布有關(guān)的信息,具有空間定位和多維結(jié)構(gòu)的性質(zhì)。信息系統(tǒng):具有對(duì)數(shù)據(jù)進(jìn)行各種處理功能并可向用戶(hù)提供輔助預(yù)決策信息的計(jì)算機(jī)系統(tǒng)。與信息有關(guān)的概念6GIS的定義地理信息系統(tǒng)(GeographicInformationSystem,GIS)是用于采集、模擬、處理、檢索、分析和表達(dá)地理空間數(shù)據(jù)的計(jì)算機(jī)信息系統(tǒng)。作為一種通用技術(shù),GIS針對(duì)特定的應(yīng)用任務(wù),存儲(chǔ)事物的空間數(shù)據(jù)和屬性數(shù)據(jù),記錄事物之間的關(guān)系和演變過(guò)程。它可根據(jù)事物的地理坐標(biāo)對(duì)其進(jìn)行管理、檢索、評(píng)價(jià)、分析、結(jié)果輸出等處理,提供決策支持、動(dòng)態(tài)模擬、統(tǒng)計(jì)分析、預(yù)測(cè)預(yù)報(bào)等服務(wù)。其應(yīng)用覆蓋工業(yè)、農(nóng)業(yè)、交通運(yùn)輸、環(huán)保、國(guó)防、公安等諸多領(lǐng)域,其應(yīng)用幾乎涉及人類(lèi)生活的各個(gè)方面。7地理信息系統(tǒng)的類(lèi)型與特點(diǎn)地理信息系統(tǒng)的類(lèi)型地理信息系統(tǒng)按其內(nèi)容可以分為三類(lèi):①專(zhuān)題地理信息系統(tǒng)(ThematicGIS)
②區(qū)域信息系統(tǒng)(RegionalGIS)
③地理信息系統(tǒng)工具或地理信息系統(tǒng)外殼(GISTools)8地理信息系統(tǒng)具有以下三個(gè)方面的特征:①具有采集、管理、分析和輸出多種地理信息的能力,具有空間性和動(dòng)態(tài)性。②由計(jì)算機(jī)系統(tǒng)支持進(jìn)行空間地理數(shù)據(jù)管理,并由計(jì)算機(jī)程序模擬常規(guī)的或?qū)iT(mén)的地理分析方法,作用于空間數(shù)據(jù),產(chǎn)生有用信息,完成人類(lèi)難以完成的任務(wù)。③計(jì)算機(jī)系統(tǒng)的支持是地理信息系統(tǒng)的重要特征,因而使得地理信息系統(tǒng)能以快速、精確、綜合地對(duì)復(fù)雜的地理系統(tǒng)進(jìn)行空間定位和過(guò)程動(dòng)態(tài)分析。
地理信息系統(tǒng)的特征9GIS的發(fā)展
地理信息系統(tǒng)的發(fā)展是與地理學(xué)、地圖學(xué)、攝影測(cè)量學(xué)、遙感技術(shù)、數(shù)學(xué)和統(tǒng)計(jì)科學(xué)、計(jì)算機(jī)科學(xué)以及一切與處理和分析空間數(shù)據(jù)有關(guān)的學(xué)科發(fā)展分不開(kāi)。以時(shí)間發(fā)展為序列,可分為60年代起始發(fā)展階段、70年代發(fā)展鞏固階段、80年代推廣應(yīng)用階段、90年代蓬勃發(fā)展階段、21世紀(jì)走向大眾化階段。10
1963年加拿大測(cè)量學(xué)家RogerF.Tomlinson提出了世界上第一個(gè)地理信息系統(tǒng),稱(chēng)為加拿大地理信息系統(tǒng)(CGIS),主要用于自然資源的管理和規(guī)劃。70年代,由于計(jì)算機(jī)硬件和軟件技術(shù)的飛速發(fā)展,尤其是大容量存儲(chǔ)設(shè)備的使用,促進(jìn)了GIS朝實(shí)用方向發(fā)展,不同專(zhuān)題、不同規(guī)模、不同類(lèi)型的各具特色的地理信息系統(tǒng)在世界各地紛紛研制,美國(guó)、加拿大、英國(guó)、西德、瑞典和日本等國(guó)對(duì)GIS的研究均投入了大量人力、物力財(cái)力。
GIS的發(fā)展11
80年代,GIS逐步走向成熟,并在全世界范圍內(nèi)全面推廣應(yīng)用,GIS與衛(wèi)星遙感技術(shù)結(jié)合,開(kāi)始用于全球性的問(wèn)題,如全球變化和全球監(jiān)測(cè)、全球沙漠化、全球可居住區(qū)評(píng)價(jià)及酸雨、核擴(kuò)散及核廢料等。90年代,隨著地理信息產(chǎn)生的建立和數(shù)字化信息產(chǎn)品在全世界的普及,GIS已成為確定性的產(chǎn)業(yè),市場(chǎng)的年增長(zhǎng)率為35%以上,GIS已滲透到各行各業(yè),涉及千家萬(wàn)戶(hù),成為人們生產(chǎn)、生活、學(xué)習(xí)和工作中不可缺少的工具和幫手。
GIS的發(fā)展12地理信息系統(tǒng)的研制與應(yīng)用在我國(guó)起步較晚,但是發(fā)展勢(shì)頭迅猛。GIS在中國(guó)的發(fā)展可分為三個(gè)階段。
第一個(gè)階段(1978-1980),為準(zhǔn)備階段,主要進(jìn)行輿論準(zhǔn)備,正式提出倡議,開(kāi)始組建隊(duì)伍,培訓(xùn)人才,組織個(gè)別實(shí)驗(yàn)研究。機(jī)助制圖和遙感應(yīng)用,為GIS的研制和應(yīng)用作了技術(shù)上和理論上的準(zhǔn)備。
第二個(gè)階段(1980-1985),為起步階段,完成了技術(shù)引進(jìn),研究數(shù)據(jù)規(guī)范和標(biāo)準(zhǔn),空間數(shù)據(jù)庫(kù)建立,數(shù)據(jù)處理和分析算法及應(yīng)用軟件的開(kāi)發(fā)等,對(duì)GIS進(jìn)行理論探索和區(qū)域性實(shí)驗(yàn)研究。
第三個(gè)階段(1986-現(xiàn)在),為初步發(fā)展階段,我國(guó)GIS的研究和應(yīng)用進(jìn)入有組織、有計(jì)劃、有目標(biāo)的階段,逐步建立了不同層次、不同規(guī)模的組織機(jī)構(gòu)、研究中心和實(shí)驗(yàn)室。GIS在我國(guó)的發(fā)展13地理信息系統(tǒng)的組成14構(gòu)成計(jì)算機(jī)硬件系統(tǒng)的基本組件包括輸入/輸出設(shè)備、中央處理單元、存儲(chǔ)器(包括主存儲(chǔ)器、輔助存儲(chǔ)器硬件)等,這些硬件組件協(xié)同工作,向計(jì)算機(jī)系統(tǒng)提供必要的信息,使其完成任務(wù);保存數(shù)據(jù)以備現(xiàn)在或?qū)?lái)使用;將處理得到的結(jié)果或信息提供給用戶(hù)。圖1-2表示了常見(jiàn)的實(shí)現(xiàn)輸入輸出功能的計(jì)算機(jī)外部設(shè)備。系統(tǒng)硬件15GIS軟件是系統(tǒng)的核心,用于執(zhí)行GIS功能的各種操作,包括數(shù)據(jù)輸入、處理、數(shù)據(jù)庫(kù)管理、空間分析和圖形用戶(hù)界面等。按照其功能分為:GIS專(zhuān)業(yè)軟件,數(shù)據(jù)庫(kù)軟件和系統(tǒng)管理軟件等(如圖1-3所示)。
1.GIS專(zhuān)業(yè)軟件
2.數(shù)據(jù)庫(kù)軟件
3.系統(tǒng)管理軟件系統(tǒng)軟件16根據(jù)地理實(shí)體的空間圖形表示形式,它們的數(shù)據(jù)表達(dá)可以采用矢量和柵格兩種組織形式,分別稱(chēng)為矢量數(shù)據(jù)結(jié)構(gòu)和柵格數(shù)據(jù)結(jié)構(gòu)。地理信息系統(tǒng)中的數(shù)據(jù)包括兩大類(lèi)型:
1.空間數(shù)據(jù)用來(lái)確定圖形和制圖特征的位置,這是以地球表面空間位置為參照的。
2.非空間的屬性數(shù)據(jù)用來(lái)反映與幾何位置無(wú)關(guān)的屬性,即通常所說(shuō)的非幾何屬性,它是與地理實(shí)體相聯(lián)系的地理變量或地理意義,一般是經(jīng)過(guò)抽象的概念,通過(guò)分類(lèi)、命名、量算、統(tǒng)計(jì)等方法得到。空間數(shù)據(jù)17人是GIS中的重要構(gòu)成因素,GIS不同于一幅地圖,而是一個(gè)動(dòng)態(tài)的地理模型。僅有系統(tǒng)軟硬件和數(shù)據(jù)還不能構(gòu)成完整的地理信息系統(tǒng),需要人進(jìn)行系統(tǒng)組織、管理、維護(hù)和數(shù)據(jù)更新、系統(tǒng)擴(kuò)充完善、應(yīng)用程序開(kāi)發(fā),并靈活采用地理分析模型提取多種信息,為研究和決策服務(wù)。一個(gè)周密規(guī)劃的地理信息系統(tǒng)項(xiàng)目應(yīng)包括負(fù)責(zé)系統(tǒng)設(shè)計(jì)和執(zhí)行的項(xiàng)目經(jīng)理、信息管理的技術(shù)人員、系統(tǒng)用戶(hù)化的應(yīng)用工程師以及最終運(yùn)行系統(tǒng)的用戶(hù)。系統(tǒng)管理和操作人員18地理信息系統(tǒng)的功能
由計(jì)算機(jī)技術(shù)和空間數(shù)據(jù)相結(jié)合而產(chǎn)生的GIS這一高新技術(shù),它包含了處理地理信息的各種高級(jí)功能,但是它的基本功能是數(shù)據(jù)的采集、管理、處理、分析和輸出。
1.數(shù)據(jù)采集與編輯
2.數(shù)據(jù)存儲(chǔ)與管理
3.數(shù)據(jù)處理與變換
4.空間查詢(xún)與分析
5.數(shù)據(jù)顯示與輸出19地理信息系統(tǒng)與其他學(xué)科的關(guān)系
許多不同的學(xué)科,包括地理學(xué)、地圖制圖學(xué)、測(cè)量學(xué)、數(shù)學(xué)、統(tǒng)計(jì)學(xué)、計(jì)算機(jī)科學(xué)以及一切與處理和分析空間數(shù)據(jù)有關(guān)的學(xué)科與技術(shù)。GIS的相關(guān)學(xué)科技術(shù)如圖1-4所示。
20地理信息系統(tǒng)的發(fā)展歷史縱觀GIS發(fā)展,可將地理信息系統(tǒng)發(fā)展分為以下幾個(gè)階段:
1.20世紀(jì)60年代地理信息系統(tǒng)的開(kāi)拓期
2.20世紀(jì)70年代地理信息系統(tǒng)的鞏固發(fā)展期
3.20世紀(jì)80年代地理信息系統(tǒng)技術(shù)大發(fā)展時(shí)期
4.20世紀(jì)90年代地理信息系統(tǒng)的應(yīng)用普及時(shí)代21地理信息系統(tǒng)的應(yīng)用隨著信息技術(shù)的發(fā)展和GIS理論、技術(shù)方法的進(jìn)步,GIS的應(yīng)用早已滲透到人類(lèi)生活的許多方面。到目前為此,GIS在如下幾個(gè)方面得到了普遍的應(yīng)用,取得了明顯的經(jīng)濟(jì)效益和社會(huì)效益。①專(zhuān)題地圖制圖②礦產(chǎn)資源評(píng)價(jià)③環(huán)境評(píng)價(jià)與監(jiān)測(cè)④土地、水資源調(diào)查與管理22
⑤資源開(kāi)采⑥管網(wǎng)、交通模擬模型⑦導(dǎo)航系統(tǒng)⑧城市規(guī)劃⑨教練與模擬⑩輔助決策23地理信息系統(tǒng)的發(fā)展趨勢(shì)GIS發(fā)展趨勢(shì)網(wǎng)絡(luò)GIS——WebGIS
開(kāi)放式GIS——OpenGIS組件式GIS——ComGIS
虛擬GIS——VGIS
多媒體GIS——MGIS
三維GIS——3DGIS
時(shí)態(tài)GIS——TGIS
無(wú)線(xiàn)通訊與GIS
24GIS的未來(lái)趨勢(shì)-智能化GISGIS將不斷的發(fā)展和變化。它的發(fā)展不僅基于一系列基本的GIS的特性,而且還依賴(lài)于計(jì)算機(jī)和Internet技術(shù)的不斷發(fā)展。下面是一些重要的影響因素:GIS已經(jīng)從數(shù)據(jù)庫(kù)和數(shù)據(jù)共享的方式發(fā)展成為一種知識(shí)方法。基于GIS數(shù)據(jù)集,GIS用戶(hù)的工作還要涉及到地圖和全球視圖,空間處理和工作流模型以及多領(lǐng)域的GIS數(shù)據(jù)庫(kù)模型(數(shù)據(jù)模型)。所有這些都可以通過(guò)元數(shù)據(jù)管理發(fā)布和共享地理知識(shí)。25GIS的未來(lái)趨勢(shì)-智能化GISGIS系統(tǒng)越來(lái)越相互關(guān)聯(lián),地理知識(shí)正在網(wǎng)絡(luò)上共享。用戶(hù)可以在系統(tǒng)間共享和復(fù)制更新,InternetGIS將會(huì)更加成熟和被廣泛使用。日益增強(qiáng)的分布式GIS的功能將被看作是一個(gè)完整的GIS平臺(tái)的重要組成部分。在過(guò)去的幾年里,GIS門(mén)戶(hù)已經(jīng)被用于許多機(jī)構(gòu),提供對(duì)分布信息的集中式訪(fǎng)問(wèn)。隨著時(shí)間的推移,GIS門(mén)戶(hù)將會(huì)有助于分布式GIS數(shù)據(jù)管理和使用。26GIS的未來(lái)趨勢(shì)-智能化GIS獨(dú)立GIS系統(tǒng)將會(huì)基于網(wǎng)絡(luò)以一種松散耦合的方式相互連接。Internet很快將成為統(tǒng)一訪(fǎng)問(wèn)地理知識(shí)的框架。這些地理知識(shí)依然由許多獨(dú)立的GIS結(jié)點(diǎn)創(chuàng)建、維護(hù)和發(fā)布。在過(guò)去的十年里,這個(gè)遠(yuǎn)景曾被作為國(guó)家或全球空間基礎(chǔ)設(shè)施(SDI)詳細(xì)描述過(guò)。實(shí)施這個(gè)遠(yuǎn)景的技術(shù)正在成熟。27GIS的未來(lái)趨勢(shì)-智能化GISGIS系統(tǒng)具有固有的分布式的特性。用戶(hù)相互依靠彼此的信息共享和使用。分布式GIS的內(nèi)涵遠(yuǎn)不只是分布式的GIS數(shù)據(jù)庫(kù)和數(shù)據(jù)復(fù)制,而是所有GIS任務(wù)的分布式協(xié)作。除了GIS發(fā)布和數(shù)據(jù)共享之外,用戶(hù)還可以通過(guò)Internet來(lái)編輯、應(yīng)用和管理地理知識(shí)。28GIS的未來(lái)趨勢(shì)-智能化GIS智能化GIS“GIS正在從數(shù)據(jù)庫(kù)方法向知識(shí)方法演變?!保璄SRI總裁JackDangermond
,2003年7月。
歷史上,人們通常用抽象化的方式來(lái)表達(dá)和共享知識(shí)。這些抽象化的方式,匯總了大量知識(shí),用于表達(dá)人類(lèi)的經(jīng)驗(yàn)和理解。這些抽象化的結(jié)果--如:文字、象形文字、語(yǔ)言、數(shù)學(xué)、音樂(lè),以及藝術(shù)品、繪畫(huà)、肖像、地圖等--被用來(lái)一代一代地進(jìn)行文化和文明的記錄與交流。29GIS的未來(lái)趨勢(shì)-智能化GIS人類(lèi)通過(guò)抽象化的方式表達(dá)和交流人們對(duì)地球以及整個(gè)環(huán)境的理解。
地理為關(guān)于“位置”的抽象和表達(dá)提供了一種通用的框架。
30GIS的未來(lái)趨勢(shì)-智能化GIS在數(shù)字計(jì)算時(shí)代,我們已經(jīng)開(kāi)始獲取我們所知的任何事物并通過(guò)網(wǎng)絡(luò)(互聯(lián)網(wǎng))進(jìn)行共享。這些知識(shí)很快被數(shù)字化。同時(shí)GIS正在不斷發(fā)展,幫助人們更好地在各個(gè)層面上理解、表達(dá)、管理和溝通整個(gè)地球,并使之成為一個(gè)系統(tǒng)。31GIS的未來(lái)趨勢(shì)-智能化GIS關(guān)于世界的一些概念,地理學(xué)提供了一種傳統(tǒng)的重要框架和語(yǔ)言進(jìn)行組織和交流。而GIS則是一種相對(duì)較新的機(jī)制,它將地理知識(shí)劃分為五個(gè)主要元素:地圖和全球可視化提供一種交互式視角展現(xiàn)地理信息。用于回答問(wèn)題,表達(dá)結(jié)果以及作為真實(shí)工作的操作臺(tái)。32GIS的未來(lái)趨勢(shì)-智能化GIS地理數(shù)據(jù)集基于文件和數(shù)據(jù)庫(kù)的地理信息——要素、網(wǎng)絡(luò)、拓?fù)洹⒌乇?、測(cè)量和屬性??臻g處理和工作流模型用于自動(dòng)化和重復(fù)性任務(wù)的空間處理過(guò)程的集合。數(shù)據(jù)模型地理數(shù)據(jù)集的模式、行為和完整性規(guī)則。元數(shù)據(jù)描述其它元素的文檔——幫助用戶(hù)組織、發(fā)現(xiàn)和獲取共享地理知識(shí)的文檔目錄。33GIS的未來(lái)趨勢(shì)-智能化GIS這五個(gè)元素,與完整的GIS軟件一起構(gòu)成了建立智能化地理信息系統(tǒng)的基石。智能化GIS使得封裝數(shù)字化的地理知識(shí)成為可能。這些元素也為應(yīng)用GIS戰(zhàn)勝諸多挑戰(zhàn)提供了基礎(chǔ)(例如,效率的提高,智能的有見(jiàn)地的決策,有科學(xué)依據(jù)的規(guī)劃,資源計(jì)算、評(píng)估和交流等)。34GIS的未來(lái)趨勢(shì)-智能化GISGIS將地理信息抽象為五種元素用于表達(dá)地理知識(shí)。這些元素
與高級(jí)軟件一起組成了構(gòu)建智能化GIS的基石
35GIS的未來(lái)趨勢(shì)-分布式GIS分布式GIS長(zhǎng)期以來(lái),GIS用戶(hù)在數(shù)據(jù)共享和使用上依靠相互協(xié)作。今天,大家已經(jīng)達(dá)成共識(shí),地理信息系統(tǒng)中使用的數(shù)據(jù)和屬性來(lái)源于多種組織機(jī)構(gòu)。每個(gè)GIS組織開(kāi)發(fā)自己地理信息系統(tǒng)中信息內(nèi)容的一部分,但不是全部,至少一些層來(lái)自于組織的外部。36GIS的未來(lái)趨勢(shì)-分布式GIS
GIS標(biāo)準(zhǔn)的演化
WebServices提供了一種新的多系統(tǒng)集成的互操作方式
37GIS的未來(lái)趨勢(shì)-分布式GIS
分布式GISGIS最重要的標(biāo)準(zhǔn)將以不斷發(fā)展的計(jì)算機(jī)和網(wǎng)絡(luò)標(biāo)準(zhǔn)為基礎(chǔ)。Internet在分布式GIS中扮演了至關(guān)重要的角色并將持續(xù)下去。不斷發(fā)展的信息技術(shù)框架也將會(huì)起到巨大的幫助作用。基于XML和SOAP的WebServices框架幫助獨(dú)立的系統(tǒng)通過(guò)網(wǎng)絡(luò)相互協(xié)作。無(wú)線(xiàn)通訊技術(shù)和基于瀏覽器訪(fǎng)問(wèn)的集中式的企業(yè)級(jí)應(yīng)用架構(gòu)的發(fā)展都意味著,對(duì)用戶(hù)來(lái)說(shuō),GIS可以分布在任何計(jì)算機(jī)環(huán)境中。38GIS的未來(lái)趨勢(shì)-分布式GIS
分布式GIS應(yīng)用范圍不斷擴(kuò)大大多數(shù)GIS數(shù)據(jù)共享還會(huì)基于文件共享和數(shù)據(jù)復(fù)制FTP下載的這兩種簡(jiǎn)單機(jī)制。然而,數(shù)據(jù)共享框架將不斷發(fā)展。例如,應(yīng)用ArcIMS或類(lèi)似技術(shù)廣泛實(shí)施的GIS網(wǎng)絡(luò)發(fā)布應(yīng)用。而且,部署GIS目錄門(mén)戶(hù)的應(yīng)用也不斷增加,提供了通過(guò)GIS站點(diǎn)集中訪(fǎng)問(wèn)發(fā)布的地理信息的途徑。所有這些分布式GIS應(yīng)用將會(huì)非常重要。39GIS的未來(lái)趨勢(shì)-分布式GIS
分布式GIS應(yīng)用范圍不斷擴(kuò)大除了GIS數(shù)據(jù)的發(fā)布和使用,GIS用戶(hù)也會(huì)在分布式GIS數(shù)據(jù)管理和空間處理方面加強(qiáng)合作。一些組織將會(huì)建立越來(lái)越復(fù)雜的企業(yè)級(jí)系統(tǒng)來(lái)支持所有這些應(yīng)用,其他的組織會(huì)根據(jù)他們的特定需要實(shí)施部分的應(yīng)用。40GIS的未來(lái)趨勢(shì)-分布式GIS
GIS系統(tǒng)架構(gòu)不斷發(fā)展,基于Internet的分布式趨勢(shì)也越來(lái)越明顯
41GIS的未來(lái)趨勢(shì)-分布式GIS
實(shí)際上,GIS用戶(hù)有可能位于InternetGIS應(yīng)用的任何一個(gè)級(jí)別。組織內(nèi)部的數(shù)據(jù)共享將會(huì)最終導(dǎo)致實(shí)施InternetGIS的需求。許多組織將會(huì)沿著由簡(jiǎn)單到高級(jí)的趨勢(shì)不斷地推動(dòng)GIS應(yīng)用的實(shí)施。GIS軟件技術(shù)的持續(xù)發(fā)展,必然提供對(duì)高級(jí)應(yīng)用的支持。然而也必須提供足夠的靈活度,支持完整的各個(gè)層面GIS應(yīng)用的實(shí)施。42GIS的未來(lái)趨勢(shì)-分布式GIS
InternetGIS不斷發(fā)展的使用模型
43GIS的未來(lái)趨勢(shì)-分布式GIS
分布式GIS技術(shù)的遠(yuǎn)景許多組織依靠相互協(xié)作的GIS--構(gòu)建,并維護(hù)最新的,多尺度的,連續(xù)的地理信息。這個(gè)過(guò)程不是作為單一組織的獨(dú)立行為,而是依靠多組織的相互協(xié)作。目前,大多數(shù)組織建立和維持著自己的地理內(nèi)容。雖然組織之間的信息類(lèi)型差別很大,但大多開(kāi)始于相同的基礎(chǔ)數(shù)據(jù)集,并不斷更新、豐富以滿(mǎn)足特定的需求。44GIS的未來(lái)趨勢(shì)-分布式GIS
分布式GIS技術(shù)的遠(yuǎn)景大多數(shù)用戶(hù)都意識(shí)到了分享和重新利用這些豐富數(shù)據(jù)的潛在需求。許多人希望把GIS數(shù)據(jù)合并為一個(gè)覆蓋更大區(qū)域的,完整的、多用途的圖層,滿(mǎn)足許多組織和應(yīng)用軟件的要求。此外,他們希望相互合作建立其他的關(guān)鍵GIS數(shù)據(jù)層。一些重要的應(yīng)用,如地籍?dāng)?shù)據(jù)管理、國(guó)家制圖、應(yīng)急響應(yīng)和國(guó)土安全都推動(dòng)了這些需求。45GIS的未來(lái)趨勢(shì)-分布式GIS
分布式GIS技術(shù)的遠(yuǎn)景
為達(dá)成這一目的,一個(gè)方式就是建立一個(gè)GIS組織的分布式網(wǎng)絡(luò),每個(gè)組織擁有一部分?jǐn)?shù)據(jù),并有數(shù)據(jù)共享的責(zé)任共同建立一個(gè)共享數(shù)據(jù)庫(kù)。GIS數(shù)據(jù)庫(kù)應(yīng)該是多用途的,并堅(jiān)持具有共同的表現(xiàn)形式和內(nèi)容的指導(dǎo)方針。每個(gè)參與者都必須使用本地GIS去建立、維持、分享和出版特定區(qū)域或特定專(zhuān)題的GIS數(shù)據(jù)。
46GIS的未來(lái)趨勢(shì)-分布式GIS
分布式GIS技術(shù)的遠(yuǎn)景協(xié)作式GIS對(duì)聯(lián)合并集成獨(dú)立的數(shù)據(jù)提供者,構(gòu)成一個(gè)GIS網(wǎng)絡(luò)邁出重要的一步。GIS網(wǎng)絡(luò)將獨(dú)立的個(gè)體連接成為一個(gè)整體(例如:為一個(gè)地方政府、州、國(guó)家乃至世界維護(hù)一個(gè)完整的地理信息數(shù)據(jù))。用戶(hù)還希望構(gòu)建一個(gè)框架,可以通過(guò)Internet進(jìn)行更新和共享,用以維護(hù)一個(gè)能夠保持同步復(fù)制的智能GIS數(shù)據(jù)。47GIS的未來(lái)趨勢(shì)-分布式GIS
達(dá)到這一預(yù)想需要六個(gè)基本的GIS技術(shù):1.開(kāi)放的、多用途的GIS數(shù)據(jù)管理技術(shù)。地理信息必須被構(gòu)建和維護(hù),并可重復(fù)利用。地理信息必須通過(guò)被廣泛接受的GIS數(shù)據(jù)格式進(jìn)行共享。2.基礎(chǔ)信息采用通用的數(shù)據(jù)模型(內(nèi)容標(biāo)準(zhǔn))。數(shù)據(jù)的互操作性是必需的。用戶(hù)可以建立基本的可重用的GIS數(shù)據(jù)庫(kù)模式,并在基本的數(shù)據(jù)模型之上增加專(zhuān)題數(shù)據(jù)要求。48GIS的未來(lái)趨勢(shì)-分布式GIS
3.強(qiáng)大的、完整的GIS工具用于創(chuàng)建和生產(chǎn)地理信息。例如,數(shù)據(jù)生產(chǎn)和編輯、數(shù)據(jù)轉(zhuǎn)換、空間處理、元數(shù)據(jù)建檔和編目、繪圖和制圖。GIS桌面將繼續(xù)成為這項(xiàng)工作的主要平臺(tái)。4.基于網(wǎng)絡(luò)的數(shù)據(jù)管理和分發(fā)框架。基于www的GIS服務(wù)器、GIS網(wǎng)絡(luò)和GIS門(mén)戶(hù)技術(shù)將提供一個(gè)標(biāo)準(zhǔn)的廣泛參與的GIS框架。GIS門(mén)戶(hù)將扮演一個(gè)重要角色。這些將基于被廣泛采用的計(jì)算機(jī)標(biāo)準(zhǔn)建立,如WebServices。49GIS的未來(lái)趨勢(shì)-分布式GIS
5.廣泛采用最好的GIS實(shí)踐、方法和流程的實(shí)際應(yīng)用。為了鼓勵(lì)廣泛的參與,協(xié)作式GIS必需滿(mǎn)足GIS用戶(hù)完成工作的方式。用戶(hù)在協(xié)作和參與中,應(yīng)重在實(shí)踐,而非前沿理論。GIS標(biāo)準(zhǔn)必須是來(lái)源于實(shí)踐并被實(shí)踐檢驗(yàn)和廣泛接受的方法。6.采用已被證明的工業(yè)標(biāo)準(zhǔn)的應(yīng)用。分布式、協(xié)作式GIS要求采用被廣泛接受和使用的信息技術(shù)。50GIS的未來(lái)趨勢(shì)-分布式GIS
這些和其他GIS遠(yuǎn)景可以通過(guò)完整的GIS技術(shù)進(jìn)行配置,如,智能GIS數(shù)據(jù)庫(kù)、完整的桌面GIS、嵌入式GIS、服務(wù)器GIS和移動(dòng)GIS,以支持這些概念和要求。
51軟件工程技術(shù)綜述-內(nèi)容提要軟件、危機(jī)與神話(huà)軟件工程的內(nèi)涵軟件開(kāi)發(fā)階段軟件開(kāi)發(fā)生命周期模型軟件開(kāi)發(fā)方法和技術(shù)軟件工程的研究?jī)?nèi)容和研究領(lǐng)域GIS軟件工程特點(diǎn)52軟件工程技術(shù)綜述-課程目標(biāo)了解軟件的含義理解軟件項(xiàng)目失敗的原因明確軟件工程是解決軟件問(wèn)題的出路了解軟件工程化的內(nèi)涵理解軟件開(kāi)發(fā)分階段進(jìn)行的特征,每個(gè)階段有哪些明確分工理解軟件開(kāi)發(fā)各階段的不同組織方式,以及這些方式的適應(yīng)性了解軟件開(kāi)發(fā)方法和技術(shù)53軟件的發(fā)展Late1950’s:Intheearlydays:
“Software”=“Placeasequenceofinstructionstogethertogetthecomputertodosomethinguseful”.UserComputerComputerbecamecheaperandmorecommonHighlevellanguageswereinventedProgrammerUserComputereasier54軟件的發(fā)展Early1960s:Veryfewlargesoftwareprojectsweredonebysomeexperts.Middletolate1960s:Trulylargesoftwaresystemswereattempted.After1968:SoftwareEngineering55計(jì)算機(jī)和軟件的歷史觀70年代和80年代“新的工業(yè)革命”“工業(yè)社會(huì)將轉(zhuǎn)變?yōu)樾畔⑸鐣?huì)”……90年代“知識(shí)的民主化將改變舊的權(quán)力結(jié)構(gòu)”21世紀(jì)初“Y2K定時(shí)炸彈”“無(wú)所不在的計(jì)算”56軟件的定義定義:
指程序及支持其安裝、操作、維護(hù)和增強(qiáng)的所有有關(guān)信息和資料。(IEEE-STD-610)完整的程序規(guī)程文檔和數(shù)據(jù)57什么是軟件軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔是與程序開(kāi)發(fā),維護(hù)和使用有關(guān)的圖文材料58軟件的角色軟件在社會(huì)上扮演了雙重角色它本身是一種產(chǎn)品將計(jì)算機(jī)硬件的計(jì)算能力發(fā)揮出來(lái)同時(shí),是開(kāi)發(fā)和運(yùn)行產(chǎn)品的載體,是一種傳遞產(chǎn)品的工具軟件傳遞了我們這個(gè)時(shí)代最重要的產(chǎn)品:信息59軟件-特征軟件是被開(kāi)發(fā)或設(shè)計(jì)的,大多數(shù)軟件是定制的軟件不會(huì)“磨損”,軟件是無(wú)形的邏輯產(chǎn)品軟件是易復(fù)制、易修改的軟件產(chǎn)品的復(fù)雜性,缺陷不易發(fā)現(xiàn)時(shí)間失效率硬件軟件(理論)軟件(實(shí)際)修改60軟件的特點(diǎn)軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體。因而它具有抽象性軟件的生產(chǎn)與硬件不同,在它的開(kāi)發(fā)過(guò)程中沒(méi)有明顯的制造過(guò)程在軟件的運(yùn)行和使用期間,沒(méi)有硬件那樣的機(jī)械磨損,老化問(wèn)題61軟件的特點(diǎn)軟件的開(kāi)發(fā)和運(yùn)行常受到計(jì)算機(jī)系統(tǒng)的限制,對(duì)計(jì)算機(jī)系統(tǒng)有著不同程度的依賴(lài)性軟件的開(kāi)發(fā)至今尚未完全擺脫手工藝的開(kāi)發(fā)方式軟件本身是復(fù)雜的實(shí)際問(wèn)題的復(fù)雜性程序邏輯結(jié)構(gòu)的復(fù)雜性軟件成本相當(dāng)昂貴相當(dāng)多的軟件工作涉及到社會(huì)因素62軟、硬件成本變化63軟件的分類(lèi)按軟件的功能進(jìn)行劃分:系統(tǒng)軟件使計(jì)算機(jī)系統(tǒng)各個(gè)部件、相關(guān)軟件和數(shù)據(jù)協(xié)調(diào)、高效地工作的軟件操作系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)備驅(qū)動(dòng)程序通信處理程序等64軟件的分類(lèi)支撐軟件協(xié)助用戶(hù)開(kāi)發(fā)軟件的工具軟件文本編輯程序文件格式化程序磁盤(pán)向磁帶進(jìn)行數(shù)據(jù)傳輸?shù)某绦虺绦驇?kù)系統(tǒng)支持需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和支持管理的軟件65軟件的分類(lèi)應(yīng)用軟件商業(yè)數(shù)據(jù)處理軟件工程與科學(xué)計(jì)算軟件計(jì)算機(jī)輔助設(shè)計(jì)/制造軟件系統(tǒng)仿真軟件智能產(chǎn)品嵌入軟件醫(yī)療、制藥軟件事務(wù)管理、辦公自動(dòng)化軟件計(jì)算機(jī)輔助教學(xué)軟件66軟件的分類(lèi)按軟件規(guī)模進(jìn)行劃分:類(lèi)別參加人員數(shù)研制期限源程序行數(shù)
微型
1 1~4周0.5k小型
1 1~6月1k~2k
數(shù)值計(jì)算或數(shù)據(jù)處理,通常沒(méi)有與其它程序的接口。需要按一定的標(biāo)準(zhǔn)化技術(shù)、正規(guī)的資料書(shū)寫(xiě)以及定期的系統(tǒng)審查。只是沒(méi)有大題目那樣嚴(yán)格。中型
2~5 1~2年5k~50k
軟件人員之間、與用戶(hù)之間的聯(lián)系、協(xié)調(diào)的配合關(guān)系。因而計(jì)劃、資料書(shū)寫(xiě)以及技術(shù)審查需要比較嚴(yán)格地進(jìn)行。應(yīng)用程序和系統(tǒng)程序。系統(tǒng)的軟件工程方法是完全必要的。67軟件的分類(lèi)大型
5~20 2~3年50k~100k編譯程序、小型分時(shí)系統(tǒng)、實(shí)時(shí)控制系統(tǒng)等。二級(jí)管理,若干小組,每組5人以下。人員調(diào)整往往不可避免,新手的培訓(xùn)。采用統(tǒng)一的標(biāo)準(zhǔn),實(shí)行嚴(yán)格的審查是絕對(duì)必要的。甚大型
100~10004~5年1M(=1000k)
若干個(gè)子項(xiàng)目,每一個(gè)子項(xiàng)目都是一個(gè)大型軟件。子項(xiàng)目之間具有復(fù)雜的接口。如遠(yuǎn)程通信系統(tǒng)、多任務(wù)系統(tǒng)、大型操作系統(tǒng)、大型數(shù)據(jù)庫(kù)管理系統(tǒng)、軍事指揮系統(tǒng)通常現(xiàn)有這樣的規(guī)模。很顯然,這類(lèi)問(wèn)題沒(méi)有軟件工程方法的支持,它的開(kāi)發(fā)工作是不可想象的。極大型
2000~50005~10年1M~10M
軍事指揮、彈道導(dǎo)彈防御系統(tǒng)。只是對(duì)軟件工程技術(shù)依賴(lài)的程度不同而已。68軟件的分類(lèi)按軟件工作方式劃分:
實(shí)時(shí)處理軟件分時(shí)軟件交互式軟件批處理軟件69軟件的分類(lèi)按軟件服務(wù)對(duì)象的范圍劃分:
項(xiàng)目軟件產(chǎn)品軟件70軟件的分類(lèi)按使用的頻度進(jìn)行劃分:一次使用頻繁使用71軟件的分類(lèi)按軟件失效的影響進(jìn)行劃分:高可靠性軟件一般可靠性軟件72軟件-應(yīng)用73軟件危機(jī)美國(guó)IBM公司在1963年至1966年開(kāi)發(fā)的IBM360機(jī)的操作系統(tǒng)。這一項(xiàng)目花了5000人一年的工作量,最多時(shí)有1000人投入開(kāi)發(fā)工作,寫(xiě)出了近100萬(wàn)行源程序。據(jù)統(tǒng)計(jì),這個(gè)操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個(gè)程序錯(cuò)誤而修正的結(jié)果。這個(gè)項(xiàng)目的負(fù)責(zé)人F.D.Brooks事后總結(jié)了他在組織開(kāi)發(fā)過(guò)程中的沉痛教訓(xùn)時(shí)說(shuō):“正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深,最后無(wú)法逃脫滅頂?shù)臑?zāi)難。程序設(shè)計(jì)工作正像這樣一個(gè)泥潭,一批批程序員被迫在泥潭中拼命掙扎,誰(shuí)也沒(méi)有料到問(wèn)題竟會(huì)陷入這樣的困境”。IBM360操作系統(tǒng)的歷史教訓(xùn)成為軟件開(kāi)發(fā)項(xiàng)目的典型事例為人們所記取。SoftwareCrisis!74軟件危機(jī)⑴項(xiàng)目沒(méi)有被很好地理解;計(jì)劃不周,最終導(dǎo)致進(jìn)度拖延。例1.Inthelate1960s,abright-eyedyoungengineer*waschosento“write”acomputerprogramforanautomatedmanufacturingapplication.Thereasonforhisselectionwassimple.Hewastheonlypersoninhistechnicalgroupwhohadattendedacomputerprogrammingseminar.Heknewthein’sandout’sofassemblerlanguageandFortran,butnothingaboutsoftwareengineeringandevenlessaboutprojectschedulingandtracking.問(wèn)題出在哪里?75軟件危機(jī)Hisbossgavehimtheappropriatemanualsandaverbaldescriptionofwhathadtobedone.Hewasinformedthattheprojectmustbecompletedintwomonths.Hereadthemanuals,consideredhisapproach,andbeganwritingcode.Aftertwoweeks,thebosscalledhimintohisofficeandaskedhowthingsweregoing.“Reallygreat,”saidtheyoungengineerwithyouthfulenthusiasm,“ThiswasmuchsimplerthanIthought.I’mprobablycloseto75percentfinished.”Thebosssmiled.“That’sreallyterrific,”hesaid.Hethentoldtheyoungengineertokeepupthegoodworkandplantomeetagaininaweek’stime.76軟件危機(jī)Aweeklaterthebosscalledtheengineerintohisofficeandasked,“Wherearewe?”“Everything’sgoingwell,”saidtheyoungster,“butI’verunintoafewsmallsnags.I’llgetthemironedoutandbebackontracksoon.”“Howdoesthedeadlinelook?”thebossasked.“Noproblem,”saidtheengineer.“I’mcloseto90percentcomplete.”Ifyou’vebeenworkinginthesoftwareworldformorethanafewyears,youcanfinishthestory.It’llcomeasnosurprisethattheyoungengineerstayed90percentcompletefortheentireprojectdurationandonlyfinished(withthehelpofothers)onemonthlate.77軟件危機(jī)例2:Intheearly1980s,theUnitedStates’InternalRevenueService(IRS)國(guó)內(nèi)稅收
hiredSperryCorporationtobuildanautomatedfederalincometaxformprocessingsystem.AccordingtotheWashingtonPost,the“systemhasprovedinadequatetotheworkload,costnearlytwicewhatwasexpectedandmustbereplacedsoon”(Sawyer1985).In1985,anextra$90millionwasneededtoenhancetheoriginal$103millionworthofSperryequipment.Inaddition,becausetheproblempreventedtheIRSfromreturningrefunds退款totaxpayersbythedeadline,theIRSwasforcedtopay$40.2millionininterestand$22.3millioninovertimewagesforitsemployeeswhoweretryingtocatchup.78軟件危機(jī)In1996,thesituationhadnotimproved.TheLosAngelesTimesreportedonMarch29thattherewasstillnomasterplanforthemodernizationofIRScomputers,onlyasix-thousandtechnicaldocument.CongressmanJimLightfootcalledtheproject“a$4-billionfiasco慘敗thatisfloundering(掙扎)becauseofinadequateplanning”(Vartabedian1996).79軟件危機(jī)⑵沒(méi)有充分的文檔資料(documentation)人與人的交流比寫(xiě)程序困難得多。Managers——evaluate,trackprogress,Programmers——communicatetoeachotherMaintainers——80軟件危機(jī)⑶軟件可靠性(reliability)缺少度量的標(biāo)準(zhǔn),質(zhì)量無(wú)法保證。如何保證軟件產(chǎn)品的質(zhì)量,是非常復(fù)雜困難的問(wèn)題。特別對(duì)于規(guī)模龐大的軟件,如:.ThesoftwaresupportingtheAmericanspaceshuttle
(航天飛機(jī))consistsof3millionlinesofcode,includingcomputersonthegroundcontrollingthelaunchandtheflight;therewereonehundredthousandlines(10萬(wàn))ofcodeintheshuttleitselfin1985.PresidentReagan’sproposedStrategicDefenseInitiative(SDI)isestimatedtorequire10to100millionlinesofcode.Manycomputerscientistsandsoftwareengineerscontinuetobelievethereisnowaytowriteandtestthesoftwaretoguaranteeadequatereliability.81軟件危機(jī)⑷軟件難以維護(hù)(maintainability)
不易升級(jí)(evolvability)(5)
用戶(hù)對(duì)已完成的軟件系統(tǒng)不滿(mǎn)意的現(xiàn)象經(jīng)常發(fā)生。82危機(jī)-起因60年代末期對(duì)軟件應(yīng)用快速增長(zhǎng)的要求軟件開(kāi)發(fā)被視作編寫(xiě)程序程序設(shè)計(jì)被看作一門(mén)藝術(shù)軟件不被視作單獨(dú)的產(chǎn)品沒(méi)有標(biāo)準(zhǔn)和規(guī)范,無(wú)法協(xié)同開(kāi)發(fā)軟件技術(shù)水平達(dá)不到要求軟件開(kāi)發(fā)沒(méi)有被視作一項(xiàng)工程83危機(jī)-問(wèn)題缺乏透明度,所有“秘密”在開(kāi)發(fā)人員的腦子里片面追求個(gè)人技巧,缺乏整體規(guī)范忽視編程前后的大量工作當(dāng)時(shí)硬件成本大,軟件成本被忽視。現(xiàn)在軟件成本成為突出問(wèn)題。84危機(jī)-后果開(kāi)發(fā)預(yù)算一再突破開(kāi)發(fā)進(jìn)度一拖再拖軟件產(chǎn)品質(zhì)量不可靠軟件難以維護(hù)用戶(hù)對(duì)“已完成的”軟件系統(tǒng)不滿(mǎn)意85危機(jī)-解決沒(méi)有捷徑!86危機(jī)-項(xiàng)目失敗軟件項(xiàng)目失敗的含義:進(jìn)度超期經(jīng)費(fèi)超支系統(tǒng)不滿(mǎn)足需求系統(tǒng)不穩(wěn)定/不可靠E。全部問(wèn)題:軟件項(xiàng)目失敗的百分比是多少?14%以下19%20%47%86%87危機(jī)-統(tǒng)計(jì)數(shù)據(jù)1997年,美國(guó)公司花在軟件項(xiàng)目上的經(jīng)費(fèi)為$2500億到$3000億;$1000億花到了被取消的項(xiàng)目上;$450億用于時(shí)間和經(jīng)費(fèi)嚴(yán)重超支的項(xiàng)目。為什么80%的時(shí)間都用在修改錯(cuò)誤和返工上了呢?88阿麗亞娜號(hào)5型火箭升空中爆炸1996年6月,歐洲航天局研制的“阿麗亞娜5型火箭”在圭亞那庫(kù)魯航天中心發(fā)射,生空約30秒,距地面4000米爆炸。*70億美元*10年研制*萬(wàn)人投入原因:慣性制導(dǎo)系統(tǒng)的軟件出現(xiàn)規(guī)格和設(shè)計(jì)錯(cuò)誤。89危機(jī)-項(xiàng)目失敗的原因未經(jīng)定義的過(guò)程需求快速變化并難以管理人員及培訓(xùn)不夠不適當(dāng)?shù)挠脩?hù)或客戶(hù)參與遵循僵化的過(guò)程,無(wú)法適應(yīng)變化,扼殺創(chuàng)造力迅速地變換技術(shù)特征超載/蔓延(太多的需求)缺乏追加的投資90神話(huà)-1神話(huà)1:
已經(jīng)有了關(guān)于建造軟件的標(biāo)準(zhǔn)和規(guī)范,可提供所有希望知道的信息?,F(xiàn)實(shí)1:
下列問(wèn)題的答案通常是“No”已經(jīng)存在的有關(guān)標(biāo)準(zhǔn)和規(guī)范被真正使用了嗎?標(biāo)準(zhǔn)和規(guī)范是否反映了現(xiàn)代軟件工程實(shí)踐?現(xiàn)有的標(biāo)準(zhǔn)和規(guī)范完備嗎?標(biāo)準(zhǔn)和規(guī)范在保持對(duì)質(zhì)量關(guān)注的前提下,有利于改善交付時(shí)間和開(kāi)發(fā)成本嗎?91神話(huà)-2神話(huà)2:
軟件項(xiàng)目組中有一兩個(gè)優(yōu)秀的人,有其特定的工作程序和標(biāo)準(zhǔn)集,自始至終指導(dǎo)他們實(shí)現(xiàn)項(xiàng)目?,F(xiàn)實(shí)2:軟件項(xiàng)目組常常遵循未經(jīng)定義的開(kāi)發(fā)程序;軟件項(xiàng)目是否成功,更多的取決于項(xiàng)目小組能否將技術(shù)技能和明確定義工作過(guò)程無(wú)縫結(jié)合。92神話(huà)-3神話(huà)3:
隨著越來(lái)越多新技術(shù)的出現(xiàn),軟件開(kāi)發(fā)變得更加容易了,我們已經(jīng)有了很多很好的軟件開(kāi)發(fā)工具和開(kāi)發(fā)平臺(tái)?,F(xiàn)實(shí)3:隨著越來(lái)越多新技術(shù)的出現(xiàn),軟件開(kāi)發(fā)變得更加復(fù)雜。投入未能得到很好的利用。93神話(huà)-4神話(huà)4:
當(dāng)進(jìn)度落后時(shí),可以通過(guò)增加開(kāi)發(fā)人員數(shù)量和加班來(lái)解決?,F(xiàn)實(shí)4:軟件開(kāi)發(fā)不是機(jī)械過(guò)程。人員和時(shí)間之間不是簡(jiǎn)單的替換關(guān)系94神話(huà)-5神話(huà)5:
如果將軟件項(xiàng)目外包給第三方,可以由第三方完成一切?,F(xiàn)實(shí)5:如果一個(gè)機(jī)構(gòu)不了解如何進(jìn)行內(nèi)部管理和外包控制,外包軟件項(xiàng)目時(shí),總是處于掙扎的境地;外包軟件往往難以受控,常常導(dǎo)致從頭再來(lái)。95神話(huà)-6神話(huà)6:
有了對(duì)開(kāi)發(fā)目標(biāo)的總的描述就夠了,可以開(kāi)始寫(xiě)程序了,細(xì)節(jié)和文檔可以以后再補(bǔ)充?,F(xiàn)實(shí)6:糟糕的系統(tǒng)定義是軟件項(xiàng)目失敗的主要原因;分析設(shè)計(jì)和文檔往往僅僅被視作一種要求,其實(shí),分析設(shè)計(jì)和文檔不是目的,而是一種手段,是更好的做出產(chǎn)品的手段。96神話(huà)-7神話(huà)7:
項(xiàng)目需求總是在不斷變更,但軟件是靈活的,應(yīng)該能夠適應(yīng)這些變更,不會(huì)影響軟件的可靠性、交付日期?,F(xiàn)實(shí)7:不同階段的變更,代價(jià)相差很大;需求不斷變更往往造成需求蔓延,需求蔓延是項(xiàng)目失敗最主要原因。費(fèi)用開(kāi)發(fā)階段不同開(kāi)發(fā)階段需求變更費(fèi)用示意圖97神話(huà)-8神話(huà)8:
項(xiàng)目開(kāi)始時(shí)用戶(hù)/客戶(hù)知道系統(tǒng)的全部需求;可以使用清晰的文檔化的方法固化系統(tǒng)需求,使得項(xiàng)目開(kāi)發(fā)過(guò)程中,系統(tǒng)需求不改變或者很少改變。現(xiàn)實(shí)8:用戶(hù)/客戶(hù)并不總能確定新的系統(tǒng)做什么。需求無(wú)法達(dá)到清晰的文檔化。需求經(jīng)常改變(活動(dòng)目標(biāo))。98神話(huà)-9神話(huà)9:
只要盡快把程序?qū)懗鰜?lái),并使其正常運(yùn)行,開(kāi)發(fā)工作就基本完成了?,F(xiàn)實(shí)9:存在軟件生命周期模型;編碼越早,完成時(shí)間越長(zhǎng)。99神話(huà)-10神話(huà)10:
程序能夠運(yùn)行前,沒(méi)有辦法評(píng)估其質(zhì)量。評(píng)審太浪費(fèi)時(shí)間了,很難組織,簡(jiǎn)直就是多余?,F(xiàn)實(shí)10:
軟件評(píng)審是“質(zhì)量過(guò)濾器”,但往往不受重視。100神話(huà)-11神話(huà)11:
一個(gè)成功的項(xiàng)目唯一必須提交的就是運(yùn)行程序。現(xiàn)實(shí)11:
運(yùn)行程序僅是軟件配置的一部分。101神話(huà)-12神話(huà)12:軟件工程化要求創(chuàng)建大量的、不必要的文檔,會(huì)延緩進(jìn)度?,F(xiàn)實(shí)12:軟件工程化不是為了創(chuàng)建文檔,是為了創(chuàng)建質(zhì)量。即使鉛筆1角錢(qián)1支,橡皮帶來(lái)的消耗卻無(wú)法計(jì)算。102一個(gè)軟件開(kāi)發(fā)周期-漫畫(huà)需求規(guī)格說(shuō)明如此定義開(kāi)發(fā)人員如此理解代碼調(diào)試前的狀況代碼調(diào)試中的狀況代碼調(diào)試之后狀況事實(shí)上,客戶(hù)希望得到的…103軟件、危機(jī)與神話(huà)-回顧軟件的定義、角色、特征及應(yīng)用軟件危機(jī)的起因、問(wèn)題和后果影響軟件開(kāi)發(fā)的若干神話(huà)104軟件工程
BettermanagementDifferentteamorganizationsBetterlanguages&toolsUniformcodingconventions
必須意識(shí)到:“軟件”編程,它有自己的生命周期
(lifecycle)。大型軟件系統(tǒng)的開(kāi)發(fā)與其它工程項(xiàng)目如建造橋梁、制造飛機(jī)、輪船等的開(kāi)發(fā)是同理的?!败浖こ獭?SoftwareEngineering)NATOConference,Garmisch,Germany,1968.解決問(wèn)題的想法:105軟件工程-提出軟件工程是1968年NATO學(xué)術(shù)會(huì)議上,研討“軟件危機(jī)”產(chǎn)生的原因與對(duì)策而提出這一概念,經(jīng)過(guò)30年的發(fā)展已形成一門(mén)新興學(xué)科。定義(IEEE):(1)將系統(tǒng)化的、嚴(yán)格約束的、可量化方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù),即將工程化應(yīng)用于軟件;(2)對(duì)(1)所述方法的研究。106軟件工程定義Boehm:運(yùn)用現(xiàn)代科學(xué)技術(shù)知識(shí)來(lái)設(shè)計(jì)并構(gòu)造計(jì)算機(jī)程序及為開(kāi)發(fā)、運(yùn)行和維護(hù)這些程序所必需的相關(guān)文件資料IEEE:軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法FritzBauer:建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法107軟件工程要素軟件工程三要素:方法、工具和過(guò)程軟件工程方法為軟件開(kāi)發(fā)提供了“如何做”的技術(shù)軟件工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境軟件工程過(guò)程定義了:
方法使用的順序要求交付的文檔資料為保證質(zhì)量和適應(yīng)變化所需要的管理軟件開(kāi)發(fā)各個(gè)階段完成的里程碑108軟件工程原理⑴用分階段的生命周期計(jì)劃嚴(yán)格管理
項(xiàng)目概要計(jì)劃里程碑計(jì)劃項(xiàng)目控制計(jì)劃
產(chǎn)品控制計(jì)劃
驗(yàn)證計(jì)劃
運(yùn)行維護(hù)計(jì)劃⑵堅(jiān)持進(jìn)行階段評(píng)審⑶實(shí)行嚴(yán)格的產(chǎn)品控制——基準(zhǔn)配置管理(Baselineconfigurationmanagement)⑹開(kāi)發(fā)小組的成員應(yīng)該少而精1+1<2⑷采用現(xiàn)代程序設(shè)計(jì)技術(shù)⑸結(jié)果應(yīng)能清楚地審查—setstandards⑺承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性109軟件工程-基本目標(biāo)降低軟件開(kāi)發(fā)和生產(chǎn)的成本達(dá)到要求的軟件功能獲得較好的軟件性能需要較低的軟件維護(hù)費(fèi)用開(kāi)發(fā)的軟件易于重用能按時(shí)完成開(kāi)發(fā)工作,及時(shí)交付使用110軟件工程-要素軟件工程的過(guò)程和組織軟件工程的方法和技術(shù)軟件工程的標(biāo)準(zhǔn)和規(guī)范軟件工程的工具和環(huán)境111軟件工程-一般視圖定義階段-做什么開(kāi)發(fā)階段-如何做支持階段-控制變化112軟件工程-軟件生命周期軟件生命周期:是指一個(gè)從用戶(hù)需求開(kāi)始,經(jīng)過(guò)開(kāi)發(fā)、交付使用,在使用中不斷增補(bǔ)修訂,直到退役的全過(guò)程。軟件生命周期的主要階段系統(tǒng)分析與軟件定義軟件需求分析軟件設(shè)計(jì)軟件實(shí)現(xiàn)軟件集成軟件驗(yàn)收交付軟件維護(hù)113軟件工程-方法結(jié)構(gòu)化方法原型化方法面向?qū)ο蠓椒ㄐ问交椒ɑ谥赜眉夹g(shù)的方法114軟件工程-標(biāo)準(zhǔn)和規(guī)范軟件開(kāi)發(fā)規(guī)范軟件文檔編制規(guī)范軟件質(zhì)量保證規(guī)范軟件配置管理規(guī)范115軟件工程-工具和環(huán)境軟件工具為軟件工程方法提供了自動(dòng)或半自動(dòng)的軟件支撐環(huán)境。目前,已開(kāi)發(fā)了許多軟件工具來(lái)支持各種軟件工程方法。此外,有人把諸多工具集成起來(lái),建立起一種稱(chēng)之為計(jì)算機(jī)輔助軟件工程(CASE)的軟件支撐環(huán)境。軟件工具和環(huán)境按集成化程度可分為CASE集成環(huán)境和生產(chǎn)線(xiàn)、軟件工具箱和專(zhuān)用軟件工具三類(lèi)。116軟件工程-CASE工具特征:
支持軟件開(kāi)發(fā)的各個(gè)階段,把軟件開(kāi)發(fā)視為一種產(chǎn)品的生產(chǎn),把軟件開(kāi)發(fā)過(guò)程視為生產(chǎn)流水線(xiàn),強(qiáng)調(diào)各種工具在各開(kāi)發(fā)階段中的特殊作用,各種軟件開(kāi)發(fā)工具巧妙地涵蓋整個(gè)開(kāi)發(fā)過(guò)程。好處:完整的需求規(guī)格說(shuō)明精確的設(shè)計(jì)規(guī)格說(shuō)明有助于設(shè)計(jì)與代碼實(shí)現(xiàn)保持同步能支持各種開(kāi)發(fā)方法和軟件開(kāi)發(fā)標(biāo)準(zhǔn),規(guī)范易于擴(kuò)充和維護(hù),支持正向工程,逆向工程提高工作效率117軟件工程-回顧軟件工程的目標(biāo)軟件工程的要素軟件工程的一視圖軟件生命周期過(guò)程軟件工程方法軟件工程的標(biāo)準(zhǔn)與規(guī)范軟件工程工具和環(huán)境118軟件開(kāi)發(fā)階段-幽默故事客戶(hù)準(zhǔn)備花1.98元,要求得到月亮、星星以及太陽(yáng)系的所有行星;承制商同意,獲得合同;承制商與客戶(hù)重新商談,僅交付月亮,價(jià)格提升為29.95元;客戶(hù)同意,但是必須在交付月亮的時(shí)候一起交付幾個(gè)大的太空定居點(diǎn)和兩個(gè)同步軌道空間站;承制商同意,開(kāi)始工作;客戶(hù)改變了主意:花4.99元,建造觀測(cè)太空的天文臺(tái);承制商同意,
重新開(kāi)始工作
–價(jià)格增加到14.95元;3年之后,由于成本超支和缺乏真正的目標(biāo),項(xiàng)目終止。119軟件開(kāi)發(fā)階段-主要階段系統(tǒng)分析與軟件定義軟件需求分析軟件設(shè)計(jì)軟件實(shí)現(xiàn)軟件集成軟件驗(yàn)收交付120軟件開(kāi)發(fā)階段-階段1階段:系統(tǒng)分析與軟件定義主要工作:分析系統(tǒng)要求和使用環(huán)境擬定軟件任務(wù)書(shū)和明確軟件驗(yàn)收方法確定軟件關(guān)鍵程度等級(jí)完成標(biāo)志:制定軟件研制任務(wù)書(shū)主要質(zhì)量控制手段:評(píng)審軟件研制任務(wù)書(shū)擬定軟件質(zhì)量保證大綱121軟件開(kāi)發(fā)階段-階段2階段:軟件需求分析主要工作:確定軟件的功能、性能和接口要求,編寫(xiě)需求規(guī)格說(shuō)明制定軟件可靠性、安全型設(shè)計(jì)準(zhǔn)則擬定軟件的系統(tǒng)測(cè)試計(jì)劃完成標(biāo)志:提交軟件需求規(guī)格說(shuō)明(GB9385-88計(jì)算機(jī)軟件需求說(shuō)用編制指南)提交項(xiàng)目開(kāi)發(fā)計(jì)劃主要質(zhì)量控制手段:評(píng)審軟件需求規(guī)格說(shuō)明制定軟件質(zhì)量保證大綱實(shí)施計(jì)劃,并選定適當(dāng)?shù)囊?guī)范122軟件開(kāi)發(fā)階段-開(kāi)發(fā)軟件需求設(shè)想與范圍文檔#2:
用戶(hù)需求使用用例文檔#3:功能需求軟件需求規(guī)格說(shuō)明約束非功能性需求商業(yè)規(guī)則質(zhì)量屬性系統(tǒng)需求#1:商業(yè)需求基線(xiàn)基線(xiàn)基線(xiàn)123軟件開(kāi)發(fā)階段-階段3階段:軟件設(shè)計(jì)主要工作:進(jìn)行軟件概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)對(duì)關(guān)鍵、重要的軟件進(jìn)行可靠性、安全性分析和設(shè)計(jì)擬定軟件的集成測(cè)試計(jì)劃完成標(biāo)志:提交軟件概要設(shè)計(jì)說(shuō)明提交軟件詳細(xì)設(shè)計(jì)說(shuō)明主要質(zhì)量控制手段:評(píng)審軟件概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)說(shuō)明軟件配置管理124軟件開(kāi)發(fā)階段-階段4階段:軟件實(shí)現(xiàn)主要工作:編寫(xiě)程序?qū)Τ绦蜻M(jìn)行代碼復(fù)審、靜態(tài)分析和單元測(cè)試編寫(xiě)軟件使用說(shuō)明完成標(biāo)志:提交源程序提交程序單元測(cè)試規(guī)程、用例和報(bào)告提交軟件使用說(shuō)明(初稿)主要質(zhì)量控制手段:源程序的代碼復(fù)審、靜態(tài)分析和單元測(cè)試軟件配置管理125軟件開(kāi)發(fā)階段-階段5階段:軟件集成主要工作:進(jìn)行軟件的集成與測(cè)試完成軟件使用說(shuō)明的編制完成標(biāo)志:提交通過(guò)測(cè)試的軟件系統(tǒng)提交軟件集成測(cè)試和系統(tǒng)測(cè)試分析報(bào)告提交軟件使用說(shuō)明主要質(zhì)量控制手段:對(duì)軟件集成測(cè)試和系統(tǒng)測(cè)試的計(jì)劃、規(guī)程、用例和報(bào)告進(jìn)行評(píng)審,對(duì)測(cè)試過(guò)程進(jìn)行監(jiān)控軟件配置管理126軟件開(kāi)發(fā)階段-階段6階段:軟件驗(yàn)收交付主要工作:進(jìn)行軟件的驗(yàn)收測(cè)試和審計(jì)組織軟件的交付完成標(biāo)志:通過(guò)驗(yàn)收測(cè)試主要質(zhì)量控制手段:對(duì)軟件驗(yàn)收測(cè)試和交付過(guò)程進(jìn)行監(jiān)控和審核127軟件開(kāi)發(fā)階段-回顧軟件開(kāi)發(fā)的6個(gè)主要階段各階段的主要工作、完成標(biāo)志和主要的質(zhì)量控制手段128軟件開(kāi)發(fā)生命周期模型-概念主要功能:
確定項(xiàng)目計(jì)劃、需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試或其它相關(guān)活動(dòng)的次序,使得這些活動(dòng)能夠有序的進(jìn)行。作用:借助已有的經(jīng)驗(yàn)一致的工作框架專(zhuān)心自己的工作考慮因素:由于軟件項(xiàng)目各不相同,所需的模型也有差異;缺乏通用模型時(shí),組織或項(xiàng)目必須定義滿(mǎn)足特定需求的模型;用于給定項(xiàng)目時(shí),必須考慮人員經(jīng)驗(yàn)水平、產(chǎn)品當(dāng)前狀態(tài)和可用的工具和設(shè)施。129軟件開(kāi)發(fā)生命周期模型-類(lèi)別編碼修正模型瀑布模型改進(jìn)的瀑布模型漸進(jìn)原型模型增量模型漸進(jìn)交付模型螺旋模型RAD(快速應(yīng)用開(kāi)發(fā))模型130編碼修正模型-特征從一個(gè)大致的想法開(kāi)始,可能有一個(gè)規(guī)范,也可能沒(méi)有。然后,使用比較隨意的設(shè)計(jì)、編碼、調(diào)試和測(cè)試方法,去完成產(chǎn)品開(kāi)發(fā)。不太有用,但是比較常見(jiàn)。第一個(gè)原型修改直到滿(mǎn)意考慮改進(jìn)131編碼修正模型-圖示132編碼修正模型-優(yōu)缺點(diǎn)優(yōu)點(diǎn):開(kāi)發(fā)成本比較低對(duì)開(kāi)發(fā)人員的專(zhuān)業(yè)知識(shí)要求較低缺點(diǎn):很少文檔化記錄不提供任何質(zhì)量評(píng)估和風(fēng)險(xiǎn)識(shí)別手段系統(tǒng)需要永不結(jié)束地修改,直到癱瘓,從頭再開(kāi)始建或拋棄。133編碼修正模型-使用時(shí)機(jī)適應(yīng)一些非常小的項(xiàng)目開(kāi)發(fā)完成之后很快會(huì)被丟棄的項(xiàng)目134瀑布模型-特征瀑布模型是70年代的軟件技術(shù)中認(rèn)為最好的、而今還在被廣泛使用的模型。在瀑布模型中,項(xiàng)目從始至終按照一定順序的步驟從計(jì)劃進(jìn)展到驗(yàn)收交付。項(xiàng)目確保在每個(gè)階段結(jié)束時(shí)進(jìn)行檢查,以判斷是否可以進(jìn)入下一階段。如果檢查的結(jié)果是還沒(méi)有準(zhǔn)備好,就停留在當(dāng)前階段,直到當(dāng)前階段工作完成。瀑布模型是文檔驅(qū)動(dòng)的,主要工作是通過(guò)文檔從一個(gè)階段傳遞到下一個(gè)階段。也稱(chēng)線(xiàn)性順序模型135瀑布模型-圖示計(jì)劃需求分析設(shè)計(jì)編碼集成使用維護(hù)維護(hù)階段開(kāi)發(fā)階段定義階段評(píng)審V&VV&VV&VV&VV&VV&V136瀑布模型-優(yōu)缺點(diǎn)優(yōu)點(diǎn):嚴(yán)格;應(yīng)用廣泛;提供了模板。缺點(diǎn):實(shí)際的項(xiàng)目很少按照該模型給定的順序進(jìn)行;軟件運(yùn)行版本要等到開(kāi)發(fā)周期的晚期才能得到,如有重大問(wèn)題,后果是災(zāi)難性的;客戶(hù)常常難以給出所有需求,但瀑布模型卻要求如此,缺乏適應(yīng)需求變化的靈活性;瀑布模型可能會(huì)導(dǎo)致過(guò)多的文檔,更新文檔成為一項(xiàng)專(zhuān)門(mén)的工作;因等待造成“阻塞”。137瀑布模型-使用時(shí)機(jī)存在一個(gè)穩(wěn)定的產(chǎn)品定義對(duì)一個(gè)定義得很好的版本進(jìn)行維護(hù)將一個(gè)產(chǎn)品移植到一個(gè)新的平臺(tái)上很容易理解但很復(fù)雜質(zhì)量需求高于成本和進(jìn)度需求開(kāi)發(fā)隊(duì)伍實(shí)力不強(qiáng)技術(shù)力量比較薄弱缺乏足夠的工程經(jīng)驗(yàn)138改進(jìn)的瀑布模型-生魚(yú)片特征:生魚(yú)片模型允許并建議各個(gè)開(kāi)發(fā)階段之間有大幅度的重疊。優(yōu)點(diǎn):對(duì)于在各階段使用同一個(gè)開(kāi)發(fā)組的項(xiàng)目,可充分減少文檔。缺點(diǎn):里程碑不明確,很難精確地進(jìn)行過(guò)程跟蹤??赡軙?huì)導(dǎo)致溝通不暢、理解錯(cuò)誤和效率低下。139改進(jìn)的瀑布模型-生魚(yú)片圖示計(jì)劃需求分析設(shè)計(jì)編碼/測(cè)試集成運(yùn)行/維護(hù)140改進(jìn)的瀑布模型-子項(xiàng)目特征:在概要設(shè)計(jì)階段將系統(tǒng)分成邏輯上相對(duì)獨(dú)立的若干個(gè)子系統(tǒng),每個(gè)子系統(tǒng)作為一個(gè)子項(xiàng)目,每個(gè)子項(xiàng)目按照自己的實(shí)際情況執(zhí)行。優(yōu)點(diǎn):成熟的、簡(jiǎn)單的、明確的子項(xiàng)目不必等待。缺點(diǎn):需要對(duì)子項(xiàng)目的相關(guān)性進(jìn)行分析。141改進(jìn)的瀑布模型-子項(xiàng)目圖示計(jì)劃需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼/測(cè)試子系統(tǒng)集成詳細(xì)設(shè)計(jì)編碼/測(cè)試子系統(tǒng)集成詳細(xì)設(shè)計(jì)編碼/測(cè)試子系統(tǒng)集成系統(tǒng)集成142需求不穩(wěn)定的風(fēng)險(xiǎn)1987年美國(guó)國(guó)防部的關(guān)于軍用軟件的研究報(bào)告中指出:“作為復(fù)雜的硬件系統(tǒng),最困難的是搞清軟件任務(wù)的需求…”,“沒(méi)有技術(shù)和方法建立詳細(xì)的需求…,對(duì)于需求的錯(cuò)誤判斷嚴(yán)重的影響效率、費(fèi)用和進(jìn)度…”“我們相信,沒(méi)有在真實(shí)的操作環(huán)境下測(cè)試并對(duì)需求反復(fù)迭代,用戶(hù)無(wú)論怎樣努力和聰明,也不可能說(shuō)清操作需求…”美國(guó)國(guó)防部的報(bào)告對(duì)軟件界產(chǎn)生深刻的影響,加速了從順序到迭代方法的發(fā)展。143漸進(jìn)原型模型-特征漸進(jìn)原型模型是為了確定需求而提出的一種機(jī)制。開(kāi)發(fā)者和用戶(hù)共同定義軟件的總體目標(biāo),標(biāo)識(shí)出已知的需求,并規(guī)劃出進(jìn)一步定義的區(qū)域,然后快速設(shè)計(jì)出原型,原型重點(diǎn)實(shí)現(xiàn)軟件中那些用戶(hù)可見(jiàn)部分(輸入方式、輸出格式)。原型由用戶(hù)評(píng)估并進(jìn)一步細(xì)化待開(kāi)發(fā)的軟件需求。逐步調(diào)整原型使其滿(mǎn)足用戶(hù)的要求,同時(shí)也是開(kāi)發(fā)者對(duì)將要做的事情有更好的理解。通過(guò)原型正確的確定軟件需求后,進(jìn)一步進(jìn)行系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。144漸進(jìn)原型模型-圖示計(jì)劃需求分析原型開(kāi)發(fā)最終系統(tǒng)設(shè)計(jì)最終系統(tǒng)實(shí)現(xiàn)原型評(píng)價(jià)145漸進(jìn)原型模型-優(yōu)缺點(diǎn)優(yōu)點(diǎn):與用戶(hù)見(jiàn)面快開(kāi)發(fā)成功率高需求可以不太明確缺點(diǎn):周期長(zhǎng)通常開(kāi)發(fā)成本較高原型的設(shè)計(jì)對(duì)后期的開(kāi)發(fā)帶來(lái)影響(直接使用原型/保留了不恰當(dāng)?shù)募夹g(shù)特征)使用不當(dāng)會(huì)發(fā)生變異(編碼修正模型)146漸進(jìn)原型模型-使用時(shí)機(jī)用戶(hù)定義了軟件的一組一般型目標(biāo),但無(wú)法確定詳細(xì)的輸入、處理和輸出需求;開(kāi)發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性、人機(jī)交互的形式。147漸進(jìn)原型模型-風(fēng)險(xiǎn)管理不切實(shí)際的進(jìn)度和預(yù)算項(xiàng)目可控性降低缺乏最終用戶(hù)或客戶(hù)的反饋產(chǎn)品性能不佳不切實(shí)際的性能期望設(shè)計(jì)不佳可維護(hù)性差目標(biāo)偏移原型開(kāi)發(fā)階段效率低下148漸進(jìn)原型模型-如何成功在開(kāi)始就決定要開(kāi)發(fā)的原型是要保留的還是要丟棄的,并確保管理者和開(kāi)發(fā)者都明確;明確客戶(hù)的期望與項(xiàng)目進(jìn)度、預(yù)算及產(chǎn)品性能之間的關(guān)系;控制客戶(hù)與原型間的交流,減少對(duì)項(xiàng)目的影響;使用有經(jīng)驗(yàn)的開(kāi)發(fā)人員;在每個(gè)階段使用代碼質(zhì)量檢查表,確保原型系統(tǒng)的質(zhì)量和可維護(hù)性;盡早考慮產(chǎn)品的性能。149增量模型-特征增量模型是有Mill在70年代初期提出的,80年代在IBM的靜室方法中得到發(fā)展。它從一組給定的需求開(kāi)始,通過(guò)構(gòu)造一系列可執(zhí)行中間版本來(lái)實(shí)施開(kāi)發(fā)活動(dòng)。第一個(gè)中間版本納入一部分需求,下一個(gè)版本納入更多的需求,依此類(lèi)推,直到系統(tǒng)完成。增量模型首先要經(jīng)過(guò)計(jì)劃、需求分析、概要設(shè)計(jì)等瀑布模型階段,然后分若干階段進(jìn)行詳細(xì)設(shè)計(jì)、編碼和測(cè)試,并交付中間版本。150增量模型-圖示概要設(shè)計(jì)增量開(kāi)發(fā)增量1增量2增量3最終系統(tǒng)需求分析客戶(hù)/用戶(hù)反饋軟件概念反饋交付詳細(xì)設(shè)計(jì)(增量1)編碼(增量1)測(cè)試(增量1)詳細(xì)設(shè)計(jì)(增量1)編碼(增量1)測(cè)試(增量1)詳細(xì)設(shè)計(jì)(增量1)編碼(增量1)測(cè)試(增量1)151增量模型-優(yōu)缺點(diǎn)優(yōu)點(diǎn):增加定制軟件開(kāi)發(fā)過(guò)程的可視性縮短了封裝軟件的發(fā)布期問(wèn)題的預(yù)先告警降低管理費(fèi)用可選擇的范圍更大減少估計(jì)的錯(cuò)誤使整合問(wèn)題最小化缺點(diǎn):需要在管理和技術(shù)層面上進(jìn)行良好的規(guī)劃需要對(duì)各階段交付進(jìn)行相依性分析需要控制目標(biāo)偏移的風(fēng)險(xiǎn)152增量模型-使用時(shí)機(jī)開(kāi)發(fā)者對(duì)系統(tǒng)完全熟知;用戶(hù)需要早期獲得部分功能;中間產(chǎn)品可以提供使用;系統(tǒng)被自然地分割成漸增的模式;工作人員或資金可以逐步增加。153增量模型-例子文字處理程序的增量開(kāi)發(fā)階段交付階段1文本編輯器可以使用,包括編輯、存儲(chǔ)和打印階段2字符和段落格式化可以使用階段3高級(jí)格式化完成階段4完成服務(wù)程序,包括評(píng)寫(xiě)檢查、詞典、郵件嵌入階段5與其他產(chǎn)品整合已經(jīng)完成154增量模型-面向進(jìn)度按優(yōu)先級(jí)區(qū)分系統(tǒng)特征,規(guī)劃開(kāi)發(fā)階段;前面的階段交付高優(yōu)先級(jí)的特征,后面的階段交付低優(yōu)先級(jí)的特征;到達(dá)不可改變的最后期限,就中止開(kāi)發(fā)。155增量模型-面向進(jìn)度圖示概要設(shè)計(jì)增量開(kāi)發(fā)增量1(高優(yōu)先級(jí))增量2(中優(yōu)先級(jí))增量3(低優(yōu)先級(jí))需求分析客戶(hù)/用戶(hù)反饋軟件概念反饋超出時(shí)間或費(fèi)用交付最終系統(tǒng)詳細(xì)設(shè)計(jì)(增量1)編碼(增量1)測(cè)試(增量1)詳細(xì)設(shè)計(jì)(增量1)編碼(增量1)測(cè)試(增量1)詳細(xì)設(shè)計(jì)(增量1)編碼(增量1)測(cè)試(增量1)反饋156漸進(jìn)交付模型-特征漸進(jìn)交付模型在漸進(jìn)原型模型和增量模型之間尋找平衡。增量模型可以為用戶(hù)提供明顯的進(jìn)展標(biāo)志,在管理上具有很高的可控性,但缺乏靈活性;漸進(jìn)原型模型也向用戶(hù)提供明顯的進(jìn)展標(biāo)志,提供了很高的靈活性,但管理上的可控性卻很低。漸進(jìn)交付模型先建立系統(tǒng)的框架和核心,系統(tǒng)核心應(yīng)由那些不會(huì)因客戶(hù)反饋而改變的較低層的系統(tǒng)功能組成,以這個(gè)框架和核心為基礎(chǔ)開(kāi)發(fā)產(chǎn)品的一個(gè)版本,展示給用戶(hù),然后根據(jù)用戶(hù)的反饋改善產(chǎn)品,直至滿(mǎn)足中止條件。157漸進(jìn)交付模型-圖示計(jì)劃需求分析概要設(shè)計(jì)開(kāi)發(fā)一個(gè)版本交付該版本得到用戶(hù)反饋并入用戶(hù)反饋交付最終版本重復(fù)這個(gè)循環(huán),直到:消耗完時(shí)間、金錢(qián)/完成計(jì)劃的循環(huán)數(shù)/客戶(hù)滿(mǎn)意158漸進(jìn)交付模型-如何運(yùn)用確信產(chǎn)品框架能夠支持你所想象的各種未來(lái)系統(tǒng)的發(fā)展方向。仔細(xì)地定義系統(tǒng)核心。根據(jù)你對(duì)客戶(hù)需求改變的適應(yīng)程度,來(lái)確定是向漸近原型還是增量模型傾斜。按照“最確定”到“最不確定”的順序來(lái)安排各項(xiàng)系統(tǒng)功能。處理好用戶(hù)期望與項(xiàng)目進(jìn)度、預(yù)算以及結(jié)果之間的關(guān)系??紤]純粹漸近原型模型或增量模型是否更適合你的項(xiàng)目。159螺旋模型-特征螺旋模型是一種以風(fēng)險(xiǎn)為導(dǎo)向的生命周期模型,主要基礎(chǔ)是迭代式的風(fēng)險(xiǎn)評(píng)估。把一個(gè)軟件項(xiàng)目分解成若干個(gè)小項(xiàng)目,每個(gè)項(xiàng)目都表示一個(gè)或者多個(gè)風(fēng)險(xiǎn)因素,直到所有主要風(fēng)險(xiǎn)因素都被確認(rèn)為止。在螺旋模型中,軟件開(kāi)發(fā)是一系列的增量發(fā)布,這些增量可能是文檔化的模型或快速實(shí)現(xiàn)的原型,也可能是軟件產(chǎn)品的部分實(shí)現(xiàn),隨著迭代的進(jìn)行更完善的版本逐漸產(chǎn)生。160螺旋模型-迭代步驟確定目標(biāo)、方案和約束條件;識(shí)別并解決風(fēng)險(xiǎn);評(píng)價(jià)備選方案;開(kāi)發(fā)本次迭代可共交付的內(nèi)容,并檢查其正確性;如果需要,規(guī)劃下一個(gè)迭代過(guò)程,開(kāi)始新的迭代過(guò)程。161螺旋模型-圖示開(kāi)發(fā)本次迭代可供交付的內(nèi)容,并檢查其正確性概要設(shè)計(jì)概要設(shè)計(jì)確認(rèn)162螺旋模型-優(yōu)缺點(diǎn)優(yōu)點(diǎn):風(fēng)險(xiǎn)管理過(guò)程靈活性缺點(diǎn):使用該模型需要具有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專(zhuān)門(mén)知識(shí)。目前,國(guó)內(nèi)軟件公司還未能及時(shí)掌握和運(yùn)用,有待進(jìn)一步積累經(jīng)驗(yàn)。163RAD模型-特征特征:增量型開(kāi)發(fā),強(qiáng)調(diào)極短的開(kāi)發(fā)周期;瀑布模型的“高速”變種,采用分治的原則,每個(gè)工程小組負(fù)責(zé)完成自己的構(gòu)件,一般遵照螺旋方法。階段:業(yè)務(wù)建模數(shù)據(jù)建模過(guò)程建模應(yīng)用生成測(cè)試周期性集成并多次迭代。164RAD模型-圖示業(yè)務(wù)建模數(shù)據(jù)建模過(guò)程建模應(yīng)用生成測(cè)試小組3#業(yè)務(wù)建模數(shù)據(jù)建模過(guò)程建模應(yīng)用生成測(cè)試小組2#業(yè)務(wù)建模數(shù)據(jù)建模過(guò)程建模應(yīng)用生成測(cè)試小組1#計(jì)劃分解集成165RAD模型-優(yōu)缺點(diǎn)優(yōu)點(diǎn):快速并行缺點(diǎn):需要充足的人力資源不適應(yīng)難以模塊化的系統(tǒng)不適合技術(shù)風(fēng)險(xiǎn)高的情況166RAD模型-使用時(shí)機(jī)需求理解得很好項(xiàng)目確定了約束范圍應(yīng)用能夠模塊化167模型選擇-需求理解前題:當(dāng)開(kāi)發(fā)者和用戶(hù)沒(méi)有很好地理解系統(tǒng)需求或者用戶(hù)傾向于改變需求時(shí),生命周期模型的工作狀態(tài)。模型表現(xiàn)編碼修正差瀑布差改進(jìn)的瀑布好與一般之間RAD差螺旋好漸進(jìn)原型好增量差漸進(jìn)交付好與一般之間168模型選擇-理解系統(tǒng)框架前題:當(dāng)開(kāi)發(fā)一個(gè)新領(lǐng)域的應(yīng)用或者是在一個(gè)熟悉的領(lǐng)域開(kāi)發(fā)不熟悉的部分時(shí),生命周期模型的工作狀態(tài)。模型表現(xiàn)編碼修正差瀑布差修改的瀑布好與一般之間RAD差螺旋好漸進(jìn)原型好與一般之間增量差漸進(jìn)交付差169模型選擇-系統(tǒng)可靠性前題:在開(kāi)發(fā)高可靠性系統(tǒng)的實(shí)際操作過(guò)程中,采用的生命周期模型會(huì)帶來(lái)多少缺陷。模型表現(xiàn)編碼修正差瀑布好修改的瀑布好RAD一般螺旋好漸進(jìn)原型一般增量好漸進(jìn)交付好與一般之間170模型選擇-系統(tǒng)成長(zhǎng)性前題:能否比較容易的在生命周期中調(diào)整系統(tǒng)的規(guī)模和做不同的改變(未來(lái)版本)。模型表現(xiàn)編碼修正差與一般之間瀑布好修改的瀑布好RAD好螺旋好漸進(jìn)原型好增量好漸進(jìn)交付好171模型選擇-管理風(fēng)險(xiǎn)前題:生命周期模型對(duì)定義和控制進(jìn)度風(fēng)險(xiǎn)、產(chǎn)品風(fēng)險(xiǎn)和其它風(fēng)險(xiǎn)的支持能力。模型表現(xiàn)編碼修正差瀑布差修改的瀑布一般RAD一般螺旋好漸進(jìn)原型一般增量一般漸進(jìn)交付一般172模型選擇-進(jìn)度前題:生命周期模型對(duì)存在不可改變交付日期的項(xiàng)目是否可以很好地支持。模型表現(xiàn)編碼修正差瀑布一般修改的瀑布一般RAD好螺旋一般漸進(jìn)原型差增量一般漸進(jìn)交付一般173模型選擇-費(fèi)用前題:有效地使用生命周期模型帶來(lái)的管理費(fèi)用和技術(shù)費(fèi)用的節(jié)省。這些費(fèi)用包括進(jìn)度狀態(tài)跟蹤、文檔寫(xiě)作、產(chǎn)品包裝等等。模型表現(xiàn)編碼修正好瀑布差修改的瀑布好RAD一般螺旋一般漸進(jìn)原型一般增量一般漸進(jìn)交付一般174模型選擇-允許變更前題:在開(kāi)發(fā)過(guò)程中對(duì)產(chǎn)品進(jìn)行重大變更的能力。不包括產(chǎn)品基本定義的改變,但包括顯著的擴(kuò)展。模型表現(xiàn)編碼修正好瀑布差修改的瀑布好到差之間RAD差螺旋一般漸進(jìn)原型好增量差漸進(jìn)交付好與一般之間175模型選擇-用戶(hù)可視前題:生命周期可以自動(dòng)生成一些階段標(biāo)識(shí),以便用戶(hù)具備跟蹤項(xiàng)目進(jìn)展?fàn)顟B(tài)的能力。模型表現(xiàn)編碼修正一般瀑布差修改的瀑布一般RAD一般螺旋好漸進(jìn)原型好增量一般漸進(jìn)交付好176模型選擇-管理人員可視前題:生命周期可以自動(dòng)生成一些階段標(biāo)識(shí),以便管理者具備跟蹤項(xiàng)目進(jìn)展?fàn)顟B(tài)的能力。模型表現(xiàn)編碼修正差瀑布一般修改的瀑布好與一般之間RAD一般螺旋好漸進(jìn)原型一般增量好漸進(jìn)交付好177模型選擇-經(jīng)驗(yàn)前題:成功地使用該生命周期模型所需要的教育、培訓(xùn)和能力的程度。模型表現(xiàn)編碼修正好瀑布一般修改的瀑布差與一般之間RAD差螺旋差漸進(jìn)原型差增量一般漸進(jìn)交付一般178模型選擇-揚(yáng)長(zhǎng)避短原則:當(dāng)規(guī)劃一個(gè)具體的軟件項(xiàng)目時(shí),可以綜合利用各個(gè)模型的最優(yōu)特征。RAD漸進(jìn)交付模型增量漸進(jìn)原型螺旋修改的瀑布瀑布獨(dú)立構(gòu)件把項(xiàng)目分解不同版本發(fā)布優(yōu)秀特征把項(xiàng)目分解不同功能發(fā)布高層初始分析原型化和風(fēng)險(xiǎn)分析同上階段化概念,文檔驅(qū)動(dòng)無(wú)編碼修正179軟件開(kāi)發(fā)生命周期模型-回顧軟件開(kāi)發(fā)生命周期常見(jiàn)的軟件開(kāi)發(fā)生命周期模型模型比較例子中關(guān)于模型的選取有問(wèn)題嗎?180軟件開(kāi)發(fā)生命周期方法-類(lèi)型
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外語(yǔ)課本劇情感悟征文
- 2025年搖籃大班語(yǔ)言學(xué)習(xí)指南發(fā)布
- 銀行綜治宣傳月總結(jié)(3篇)
- 參加業(yè)務(wù)培訓(xùn)心得體會(huì)(30篇)
- 農(nóng)業(yè)公司飯?zhí)贸邪贤?篇)
- 銷(xiāo)售主管年度個(gè)人總結(jié)(9篇)
- 弓弩基本知識(shí)培訓(xùn)課件
- 平安租賃汽車(chē)金融創(chuàng)意提案
- 平安青島國(guó)信綜合融資方案
- 同致地產(chǎn)港中旅香蜜湖項(xiàng)目策劃思路71P
- 《汽車(chē)專(zhuān)業(yè)英語(yǔ)》2024年課程標(biāo)準(zhǔn)(含課程思政設(shè)計(jì))
- 部編四年級(jí)道德與法治下冊(cè)全冊(cè)教案(含反思)
- JBT 11699-2013 高處作業(yè)吊籃安裝、拆卸、使用技術(shù)規(guī)程
- AutoCAD 2020中文版從入門(mén)到精通(標(biāo)準(zhǔn)版)
- 煙草栽培(二級(jí))鑒定理論考試復(fù)習(xí)題庫(kù)-上(單選題匯總)
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 散文課堂教學(xué)評(píng)價(jià)重點(diǎn)標(biāo)準(zhǔn)
- 橋梁鋼筋加工安裝
- 動(dòng)物生物化學(xué)(全套577PPT課件)
- 中國(guó)傳統(tǒng)二十四節(jié)氣立春節(jié)氣介紹PPT模板課件
- 個(gè)人簡(jiǎn)歷求職競(jìng)聘自我介紹PPT模板課件
評(píng)論
0/150
提交評(píng)論