版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章第一章軟件工程概述軟件工程概述company logo軟件工程概述軟件工程概述v1.1軟件概述軟件概述v1.2軟件危機(jī)軟件危機(jī)v1.3軟件工程軟件工程v1.4軟件過(guò)程軟件過(guò)程v1.5軟件開發(fā)方法軟件開發(fā)方法v1.6軟件工程工具軟件工程工具 v1.7軟件工程課程學(xué)習(xí)資源軟件工程課程學(xué)習(xí)資源 v1.8“學(xué)生檔案管理系統(tǒng)學(xué)生檔案管理系統(tǒng)”案例介紹案例介紹 company logo1.1軟件概述軟件概述v軟件的概述及特點(diǎn)軟件的概述及特點(diǎn)v軟件的分類軟件的分類什么是軟件什么是軟件v軟件是指與操作一個(gè)計(jì)算機(jī)有關(guān)的計(jì)算機(jī)軟件是指與操作一個(gè)計(jì)算機(jī)有關(guān)的計(jì)算機(jī)程序、進(jìn)程以及可能相關(guān)的記錄和數(shù)據(jù)。程序、進(jìn)程
2、以及可能相關(guān)的記錄和數(shù)據(jù)。v軟件的工作是告訴計(jì)算機(jī)做什么和如何做。軟件的工作是告訴計(jì)算機(jī)做什么和如何做。v軟件具有與硬件明顯不同的特點(diǎn):軟件具有與硬件明顯不同的特點(diǎn): 軟件是被開發(fā)或設(shè)計(jì)的,而不是被制造的 軟件不會(huì)“磨損” 復(fù)雜性是軟件的一個(gè)固有特性軟件的復(fù)雜性軟件的復(fù)雜性v為什么會(huì)有這么多的軟件開發(fā)項(xiàng)目失敗?為什么會(huì)有這么多的軟件開發(fā)項(xiàng)目失???答案只有一個(gè)詞,即復(fù)雜性。答案只有一個(gè)詞,即復(fù)雜性。v我們?cè)撛趺崔k?簡(jiǎn)單地用一個(gè)詞來(lái)回答就我們?cè)撛趺崔k?簡(jiǎn)單地用一個(gè)詞來(lái)回答就是組織(是組織(organization)。)。company logo軟件的概述及特點(diǎn)軟件的概述及特點(diǎn)v軟件是計(jì)算機(jī)系統(tǒng)中不
3、可或缺的一部分,它與硬軟件是計(jì)算機(jī)系統(tǒng)中不可或缺的一部分,它與硬件合為一體,從而完成特定的系統(tǒng)功能。件合為一體,從而完成特定的系統(tǒng)功能。 v程序是人們?yōu)榱送瓿商囟ǖ墓δ芏幹频囊唤M指程序是人們?yōu)榱送瓿商囟ǖ墓δ芏幹频囊唤M指令集,它由計(jì)算機(jī)的語(yǔ)言描述,并且能在計(jì)算機(jī)令集,它由計(jì)算機(jī)的語(yǔ)言描述,并且能在計(jì)算機(jī)系統(tǒng)上執(zhí)行。而軟件不僅包括程序,還包括程序系統(tǒng)上執(zhí)行。而軟件不僅包括程序,還包括程序的處理對(duì)象的處理對(duì)象數(shù)據(jù),以及與程序開發(fā)、維護(hù)和數(shù)據(jù),以及與程序開發(fā)、維護(hù)和使用有關(guān)的圖文資料,即文檔。使用有關(guān)的圖文資料,即文檔。v計(jì)算機(jī)系統(tǒng)由軟件和硬件組成。當(dāng)建造硬件時(shí),計(jì)算機(jī)系統(tǒng)由軟件和硬件組成。當(dāng)建
4、造硬件時(shí),人的創(chuàng)造性過(guò)程最終被轉(zhuǎn)換成有形的形式。人的創(chuàng)造性過(guò)程最終被轉(zhuǎn)換成有形的形式。 company logo軟件的概述及特點(diǎn)軟件的概述及特點(diǎn)v 作為計(jì)算機(jī)系統(tǒng)的重要組成部分,計(jì)算機(jī)軟件功能的發(fā)揮作為計(jì)算機(jī)系統(tǒng)的重要組成部分,計(jì)算機(jī)軟件功能的發(fā)揮依賴于計(jì)算機(jī)硬件的支持,它與硬件相比,具有以下一些依賴于計(jì)算機(jī)硬件的支持,它與硬件相比,具有以下一些特點(diǎn):特點(diǎn): 軟件是一種邏輯實(shí)體,具有抽象性。 軟件的生產(chǎn)與硬件的制造不同。 軟件在運(yùn)行使用過(guò)程中,不會(huì)磨損。 軟件的開發(fā)至今尚未完全擺脫手工藝的開發(fā)方式。 軟件的開發(fā)和運(yùn)行必須依附于特定的計(jì)算機(jī)系統(tǒng)環(huán)境。 company logo軟件的概述及特點(diǎn)軟件
5、的概述及特點(diǎn)圖 1 1 硬件失效曲線圖company logo軟件的概述及特點(diǎn)軟件的概述及特點(diǎn)圖 1 2 軟件失效曲線圖company logo軟件的分類軟件的分類圖 1 3 軟件的分類company logo1.2軟件危機(jī)軟件危機(jī)v 軟件危機(jī)的表現(xiàn)與原因軟件危機(jī)的表現(xiàn)與原因v 軟件危機(jī)的啟示軟件危機(jī)的啟示v計(jì)算機(jī)軟件發(fā)展的三個(gè)時(shí)期:計(jì)算機(jī)軟件發(fā)展的三個(gè)時(shí)期:早期時(shí)代(早期時(shí)代(60年中期以前)年中期以前)軟件作坊(軟件作坊(60-70年代)年代)軟件工程軟件工程n軟件技術(shù)面臨的問(wèn)題軟件技術(shù)面臨的問(wèn)題:n 復(fù)雜性復(fù)雜性n 生產(chǎn)率生產(chǎn)率v例例:windows95:windows95有有10001
6、000萬(wàn)行代碼萬(wàn)行代碼 windows2000windows2000有有50005000萬(wàn)行代碼萬(wàn)行代碼 windows2000 windows2000開發(fā)人員結(jié)構(gòu):開發(fā)人員結(jié)構(gòu):windows20002000項(xiàng)目經(jīng)理項(xiàng)目經(jīng)理約約250人人開發(fā)人員開發(fā)人員約約1700人人測(cè)試人員測(cè)試人員約約3200人人軟件災(zāi)難故事軟件災(zāi)難故事v受醫(yī)用線性加速器的過(guò)度輻射,造成受醫(yī)用線性加速器的過(guò)度輻射,造成6人嚴(yán)重?zé)藝?yán)重?zé)齻蛩劳觥蛩劳?。v火星氣候軌道航天器撞到了火星的表面?;鹦菤夂蜍壍篮教炱髯驳搅嘶鹦堑谋砻妗幾架幾架“黑鷹黑鷹”直升機(jī)撞毀,多人罹難。直升機(jī)撞毀,多人罹難。vcomfirm旅游預(yù)訂系統(tǒng)
7、在經(jīng)過(guò)旅游預(yù)訂系統(tǒng)在經(jīng)過(guò)1.25億美元的投億美元的投資后流產(chǎn)。資后流產(chǎn)。vf22戰(zhàn)機(jī)的一個(gè)軟件故障(邊界值測(cè)試的漏洞)戰(zhàn)機(jī)的一個(gè)軟件故障(邊界值測(cè)試的漏洞)v2007年北京機(jī)場(chǎng)信息系統(tǒng)癱瘓。年北京機(jī)場(chǎng)信息系統(tǒng)癱瘓。v國(guó)外開發(fā)的國(guó)外開發(fā)的2008北京奧運(yùn)售票系統(tǒng)癱瘓。北京奧運(yùn)售票系統(tǒng)癱瘓。失效原因失效原因v軟件復(fù)雜度軟件復(fù)雜度v非線性(多線程)軟件非線性(多線程)軟件v對(duì)不期待的輸入或條件估計(jì)不足對(duì)不期待的輸入或條件估計(jì)不足v與外設(shè)接口動(dòng)作異常與外設(shè)接口動(dòng)作異常v硬件或操作系統(tǒng)與軟件不兼容硬件或操作系統(tǒng)與軟件不兼容v管理不善管理不善v測(cè)試不充分測(cè)試不充分v粗心大意粗心大意失效原因失效原因v想走捷
8、徑想走捷徑v不向管理部門通報(bào)問(wèn)題不向管理部門通報(bào)問(wèn)題v風(fēng)險(xiǎn)分析不充分風(fēng)險(xiǎn)分析不充分v數(shù)據(jù)輸入錯(cuò)誤數(shù)據(jù)輸入錯(cuò)誤v錯(cuò)誤的輸出解釋錯(cuò)誤的輸出解釋v對(duì)軟件過(guò)于自信對(duì)軟件過(guò)于自信v缺乏生產(chǎn)高質(zhì)量軟件的市場(chǎng)或法律壓力缺乏生產(chǎn)高質(zhì)量軟件的市場(chǎng)或法律壓力不按工程生產(chǎn)軟件的代價(jià)不按工程生產(chǎn)軟件的代價(jià)v不得不重新構(gòu)造代碼;不得不重新構(gòu)造代碼;v由于不良的代碼結(jié)構(gòu)造成昂貴的維護(hù)代價(jià);由于不良的代碼結(jié)構(gòu)造成昂貴的維護(hù)代價(jià);v產(chǎn)生出含有錯(cuò)誤或不可靠的代碼;產(chǎn)生出含有錯(cuò)誤或不可靠的代碼;v由于誤解而不得不重寫代碼;由于誤解而不得不重寫代碼;v很難集成系統(tǒng)中各獨(dú)立成份;很難集成系統(tǒng)中各獨(dú)立成份;v項(xiàng)目管理困難;項(xiàng)目管理困難
9、;v超出預(yù)算和工期。超出預(yù)算和工期。company logo什么是軟件危機(jī):什么是軟件危機(jī): 指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。到的一系列嚴(yán)重問(wèn)題。軟件危機(jī)包括兩個(gè)方面的問(wèn)題:軟件危機(jī)包括兩個(gè)方面的問(wèn)題: 如何如何開發(fā)開發(fā)軟件,怎樣滿足對(duì)軟件的日益增長(zhǎng)的軟件,怎樣滿足對(duì)軟件的日益增長(zhǎng)的需要。需要。 如何如何維護(hù)維護(hù)數(shù)量不斷膨脹的已有軟件。數(shù)量不斷膨脹的已有軟件。company logo軟件危機(jī)的表現(xiàn)與原因軟件危機(jī)的表現(xiàn)與原因v軟件危機(jī)主要表現(xiàn)為:軟件危機(jī)主要表現(xiàn)為: 開發(fā)出來(lái)的軟件產(chǎn)品不能滿足用戶的需求,即產(chǎn)品的功能或特性與需求不符。
10、相比越來(lái)越廉價(jià)的硬件,軟件代價(jià)過(guò)高。軟件質(zhì)量難以得到保證,且難以發(fā)揮硬件潛能。難以準(zhǔn)確估計(jì)軟件開發(fā)、維護(hù)的費(fèi)用以及開發(fā)周期。難于控制開發(fā)風(fēng)險(xiǎn),開發(fā)速度趕不上市場(chǎng)變化 。軟件產(chǎn)品修改維護(hù)困難,集成遺留系統(tǒng)更困難。軟件文檔不完備,并且存在著文檔內(nèi)容與軟件產(chǎn)品不符的情況。 company logo軟件危機(jī)的表現(xiàn)與原因軟件危機(jī)的表現(xiàn)與原因v人們對(duì)軟件產(chǎn)品認(rèn)識(shí)的不足以及對(duì)軟件開發(fā)的內(nèi)在規(guī)律人們對(duì)軟件產(chǎn)品認(rèn)識(shí)的不足以及對(duì)軟件開發(fā)的內(nèi)在規(guī)律理解的偏差是軟件危機(jī)出現(xiàn)的本質(zhì)原因。具體來(lái)說(shuō),軟理解的偏差是軟件危機(jī)出現(xiàn)的本質(zhì)原因。具體來(lái)說(shuō),軟件危機(jī)出現(xiàn)的原因可以概括為以下幾點(diǎn):件危機(jī)出現(xiàn)的原因可以概括為以下幾點(diǎn):忽
11、視軟件開發(fā)前期的需求分析 。開發(fā)過(guò)程缺乏統(tǒng)一的、規(guī)范化的方法論的指導(dǎo)。文檔資料不齊全或不準(zhǔn)確。忽視與用戶之間、開發(fā)組成員之間的交流 。忽視測(cè)試的重要性。不重視維護(hù)或由于上述原因造成維護(hù)工作的困難。 從事軟件開發(fā)的專業(yè)人員對(duì)這個(gè)產(chǎn)業(yè)認(rèn)識(shí)不充分,缺乏經(jīng)驗(yàn)。 沒(méi)有完善的質(zhì)量保證體系。 company logo軟件危機(jī)的啟示軟件危機(jī)的啟示v軟件危機(jī)給我們的最大啟示,是使我們更加深刻的認(rèn)識(shí)軟件危機(jī)給我們的最大啟示,是使我們更加深刻的認(rèn)識(shí)到軟件的特性以及軟件產(chǎn)品開發(fā)的內(nèi)在規(guī)律。到軟件的特性以及軟件產(chǎn)品開發(fā)的內(nèi)在規(guī)律。軟件產(chǎn)品是復(fù)雜的人造系統(tǒng),具有復(fù)雜性、不可見性和易變性,難以處理。個(gè)人或小組在開發(fā)小型軟件
12、時(shí)使用到的非常有效的編程技術(shù)和過(guò)程,在開發(fā)大型、復(fù)雜系統(tǒng)時(shí)難以發(fā)揮同樣的作用。從本質(zhì)上講,軟件開發(fā)的創(chuàng)造性成分很大、發(fā)揮的余地也很大,很接近于藝術(shù)。計(jì)算機(jī)和軟件技術(shù)的快速發(fā)展,提高了用戶對(duì)軟件的期望,促進(jìn)了軟件產(chǎn)品的演化,為軟件產(chǎn)品提出了新的、更多的需求,難以在可接受的開發(fā)進(jìn)度內(nèi)保證軟件的質(zhì)量。幾乎所有的軟件項(xiàng)目都是新的,而且是不斷變化的。 “人月神化”現(xiàn)象生產(chǎn)力與人數(shù)并不成正比。為了解決軟件危機(jī),人們開始嘗試著用工程化的思想去指導(dǎo)軟為了解決軟件危機(jī),人們開始嘗試著用工程化的思想去指導(dǎo)軟件開發(fā),于是軟件工程誕生了。件開發(fā),于是軟件工程誕生了。company logo1.3軟件工程軟件工程v 軟
13、件工程概念軟件工程概念v 軟件工程發(fā)展軟件工程發(fā)展v 軟件工程目標(biāo)和原則軟件工程目標(biāo)和原則v 軟件工程知識(shí)體軟件工程知識(shí)體company logo軟件工程概念軟件工程概念vieee對(duì)軟件工程的定義為:(對(duì)軟件工程的定義為:(1)將系統(tǒng)化、嚴(yán))將系統(tǒng)化、嚴(yán)格約束的、可量化的方法應(yīng)用于軟件的開發(fā)、運(yùn)格約束的、可量化的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即將工程化應(yīng)用于軟件。(行和維護(hù),即將工程化應(yīng)用于軟件。(2)對(duì)()對(duì)(1)中所述方法的研究。中所述方法的研究。v具體說(shuō)來(lái),軟件工程是以借鑒傳統(tǒng)工程的原則、具體說(shuō)來(lái),軟件工程是以借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的指導(dǎo)計(jì)算機(jī)方法,以提高
14、質(zhì)量,降低成本為目的指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。它是一種層次化的軟件開發(fā)和維護(hù)的工程學(xué)科。它是一種層次化的技術(shù)。技術(shù)。 company logo軟件工程概念軟件工程概念圖 1 4 軟件工程層次圖company logo軟件工程發(fā)展軟件工程發(fā)展v 20世紀(jì)世紀(jì)50年代,軟件已經(jīng)出現(xiàn),但其作用和人們對(duì)其重視程度遠(yuǎn)遠(yuǎn)年代,軟件已經(jīng)出現(xiàn),但其作用和人們對(duì)其重視程度遠(yuǎn)遠(yuǎn)不如硬件不如硬件 。v 60年代,人們開始發(fā)現(xiàn)軟件和硬件在許多方面都存在著不同年代,人們開始發(fā)現(xiàn)軟件和硬件在許多方面都存在著不同 。v 70年代,人們開始采用與六十年代的年代,人們開始采用與六十年代的“編碼和組裝編碼和組裝”相反的
15、過(guò)程,先相反的過(guò)程,先做系統(tǒng)需求分析,然后再設(shè)計(jì),最后再編碼,并把五十年代硬件工程做系統(tǒng)需求分析,然后再設(shè)計(jì),最后再編碼,并把五十年代硬件工程技術(shù)最好的方面和改進(jìn)的軟件方向的技術(shù)加以總結(jié)技術(shù)最好的方面和改進(jìn)的軟件方向的技術(shù)加以總結(jié) 。v 伴隨先前伴隨先前70年代開發(fā)的一些年代開發(fā)的一些“最佳實(shí)踐最佳實(shí)踐”,80年代開始了一系列工年代開始了一系列工作以處理七十年代遺留問(wèn)題,并且開始改進(jìn)軟件工程的生產(chǎn)效率和可作以處理七十年代遺留問(wèn)題,并且開始改進(jìn)軟件工程的生產(chǎn)效率和可測(cè)量性。測(cè)量性。 v 90年代,面向?qū)ο蠓椒ǖ膹?qiáng)勁勢(shì)頭得以持續(xù)。年代,面向?qū)ο蠓椒ǖ膹?qiáng)勁勢(shì)頭得以持續(xù)。 v 90年代末,出現(xiàn)了許多的
16、敏捷方法年代末,出現(xiàn)了許多的敏捷方法 。v 在新千年里,對(duì)快速應(yīng)用開發(fā)追求的趨勢(shì)仍在繼續(xù),在信息技術(shù)、組在新千年里,對(duì)快速應(yīng)用開發(fā)追求的趨勢(shì)仍在繼續(xù),在信息技術(shù)、組織、競(jìng)爭(zhēng)對(duì)策以及環(huán)境等方面的變革步伐也正在加快。織、競(jìng)爭(zhēng)對(duì)策以及環(huán)境等方面的變革步伐也正在加快。 company logo軟件工程目標(biāo)和原則軟件工程目標(biāo)和原則v軟件工程要達(dá)到的基本目標(biāo)包括:軟件工程要達(dá)到的基本目標(biāo)包括: 達(dá)到要求的軟件功能; 取得較好的軟件性能; 開發(fā)出高質(zhì)量的軟件; 付出較低的開發(fā)成本; 需要較低的維護(hù)費(fèi)用; 能按時(shí)完成開發(fā)工作,及時(shí)交付使用。company logo軟件工程目標(biāo)和原則軟件工程目標(biāo)和原則v 為了達(dá)
17、到上述目標(biāo),軟件工程設(shè)計(jì)、工程支持以及工程管為了達(dá)到上述目標(biāo),軟件工程設(shè)計(jì)、工程支持以及工程管理在軟件開發(fā)過(guò)程中必須遵循一些基本原則。著名軟件工理在軟件開發(fā)過(guò)程中必須遵循一些基本原則。著名軟件工程專家程專家b.boehmb.boehm綜合有關(guān)專家和學(xué)者的意見并總結(jié)了多年綜合有關(guān)專家和學(xué)者的意見并總結(jié)了多年來(lái)開發(fā)軟件的經(jīng)驗(yàn),提出了軟件工程的七條基本原則:來(lái)開發(fā)軟件的經(jīng)驗(yàn),提出了軟件工程的七條基本原則:用分階段的生存周期計(jì)劃進(jìn)行嚴(yán)格的管理 堅(jiān)持進(jìn)行階段評(píng)審 實(shí)行嚴(yán)格的產(chǎn)品控制 采用現(xiàn)代程序設(shè)計(jì)技術(shù) 軟件工程結(jié)果應(yīng)能清楚地審查 開發(fā)小組的人員應(yīng)該少而精 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性 b.boeh
18、m指出,遵循前六條基本原則,能夠?qū)崿F(xiàn)軟件的工程化生產(chǎn);指出,遵循前六條基本原則,能夠?qū)崿F(xiàn)軟件的工程化生產(chǎn);按照第七條原則,不僅要積極主動(dòng)地采納新的軟件技術(shù),而且要按照第七條原則,不僅要積極主動(dòng)地采納新的軟件技術(shù),而且要注意不斷總結(jié)經(jīng)驗(yàn)。注意不斷總結(jié)經(jīng)驗(yàn)。company logo軟件工程知識(shí)體軟件工程知識(shí)體v 概括來(lái)講,美國(guó)概括來(lái)講,美國(guó)ieee協(xié)會(huì)和協(xié)會(huì)和acm的聯(lián)合的聯(lián)合建立建立“軟件工程知識(shí)體系指南軟件工程知識(shí)體系指南”的目的主的目的主要有以下幾點(diǎn):要有以下幾點(diǎn):促進(jìn)世界范圍內(nèi)對(duì)軟件工程的一致觀點(diǎn)。闡明軟件工程相對(duì)其他學(xué)科的位置,并確立它們的分界??坍嬡浖こ虒W(xué)科的內(nèi)容。提供使用知識(shí)體系的
19、主題。為開發(fā)課程表、個(gè)人認(rèn)證和許可材料提供基礎(chǔ)。company logo軟件工程知識(shí)體軟件工程知識(shí)體知識(shí)領(lǐng)域包含的子域軟件需求(sr)軟件需求基礎(chǔ)需求過(guò)程需求提取需求分析需求規(guī)格需求確認(rèn)實(shí)踐應(yīng)用考慮軟件設(shè)計(jì)(sd)軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)中的關(guān)鍵問(wèn)題軟件結(jié)構(gòu)和體系結(jié)構(gòu)軟件設(shè)計(jì)質(zhì)量分析和評(píng)價(jià)軟件設(shè)計(jì)符號(hào)軟件設(shè)計(jì)策略和方法軟件構(gòu)造(sc)軟件構(gòu)造基礎(chǔ)構(gòu)造管理實(shí)踐應(yīng)用考慮軟件測(cè)試(st)軟件測(cè)試基礎(chǔ)測(cè)試等級(jí)測(cè)試技術(shù)測(cè)試度量測(cè)試過(guò)程軟件維護(hù)(sm)軟件維護(hù)基礎(chǔ)軟件維護(hù)中的關(guān)鍵問(wèn)題維護(hù)技術(shù)維護(hù)過(guò)程軟件配置管理(smc)軟件配置管理過(guò)程的管理軟件配置標(biāo)識(shí)軟件配置控制軟件配置狀態(tài)統(tǒng)計(jì)軟件配置審核軟件發(fā)行管理和交
20、付軟件工程管理(sem)初始和范圍定義軟件項(xiàng)目計(jì)劃軟件項(xiàng)目制定評(píng)審和評(píng)估項(xiàng)目終止軟件工程度量軟件工程過(guò)程(sep)過(guò)程執(zhí)行和變更過(guò)程定義過(guò)程評(píng)價(jià)過(guò)程和產(chǎn)品度量軟件工程工具和方法(setm)軟件工程工具軟件工程方法軟件質(zhì)量(sq)軟件質(zhì)量基礎(chǔ)軟件質(zhì)量管理過(guò)程實(shí)踐應(yīng)用考慮company logo1.4軟件過(guò)程軟件過(guò)程v 軟件過(guò)程概念軟件過(guò)程概念v 軟件過(guò)程標(biāo)準(zhǔn)軟件過(guò)程標(biāo)準(zhǔn) v 軟件生存周期模型軟件生存周期模型 company logov軟件過(guò)程又稱為軟件生存周期過(guò)程,是軟件生存周期內(nèi)軟件過(guò)程又稱為軟件生存周期過(guò)程,是軟件生存周期內(nèi)為達(dá)到一定目標(biāo)而必須實(shí)施的一系列相關(guān)過(guò)程的集合。為達(dá)到一定目標(biāo)而必須
21、實(shí)施的一系列相關(guān)過(guò)程的集合。它是圍繞軟件的活動(dòng)序列,財(cái)務(wù)、市場(chǎng)等活動(dòng)不屬于軟它是圍繞軟件的活動(dòng)序列,財(cái)務(wù)、市場(chǎng)等活動(dòng)不屬于軟件過(guò)程。件過(guò)程。v在傳統(tǒng)的軟件工程中,軟件產(chǎn)品的生存周期一般可以劃在傳統(tǒng)的軟件工程中,軟件產(chǎn)品的生存周期一般可以劃分為分為6個(gè)階段,分別是:個(gè)階段,分別是:可行性研究需求分析 軟件設(shè)計(jì)編碼 軟件測(cè)試 軟件維護(hù) 軟件過(guò)程概念軟件過(guò)程概念圖 1 5 傳統(tǒng)軟件生存周期的各個(gè)階段company logo軟件過(guò)程標(biāo)準(zhǔn)軟件過(guò)程標(biāo)準(zhǔn)圖 1 6 iso12207軟件生存周期過(guò)程標(biāo)準(zhǔn)框架company logo軟件過(guò)程標(biāo)準(zhǔn)軟件過(guò)程標(biāo)準(zhǔn)v 主過(guò)程是構(gòu)成軟件生存周期主要部分的那些過(guò)程,正是這主
22、過(guò)程是構(gòu)成軟件生存周期主要部分的那些過(guò)程,正是這些過(guò)程啟動(dòng)或進(jìn)行軟件產(chǎn)品的開發(fā)、操作或維護(hù)。這些過(guò)些過(guò)程啟動(dòng)或進(jìn)行軟件產(chǎn)品的開發(fā)、操作或維護(hù)。這些過(guò)程共有五個(gè)程共有五個(gè),它們是:它們是: 獲取過(guò)程:定義需方(即獲取一個(gè)系統(tǒng)、軟件產(chǎn)品或軟件服務(wù)的組織)的活動(dòng); 供應(yīng)過(guò)程:定義供方(即向需方提供系統(tǒng)、軟件產(chǎn)品或軟件服務(wù)的組織)的活動(dòng); 開發(fā)過(guò)程:定義開發(fā)者(即定義和開發(fā)軟件產(chǎn)品的組織)的活動(dòng); 維護(hù)過(guò)程:定義維護(hù)者(即對(duì)軟件產(chǎn)品進(jìn)行維護(hù)服務(wù)的組織)的活動(dòng),這個(gè)過(guò)程包括系統(tǒng)移植和退役; 運(yùn)行過(guò)程:定義運(yùn)行者(即在計(jì)算機(jī)系統(tǒng)運(yùn)行環(huán)境中向其用戶提供運(yùn)行服務(wù)的組織)的活動(dòng)。company logo軟件過(guò)程
23、標(biāo)準(zhǔn)軟件過(guò)程標(biāo)準(zhǔn)v 支持過(guò)程是對(duì)另一個(gè)過(guò)程提供支持的過(guò)程。被支持的過(guò)程支持過(guò)程是對(duì)另一個(gè)過(guò)程提供支持的過(guò)程。被支持的過(guò)程根據(jù)需要采用支持性過(guò)程,并與該過(guò)程結(jié)合,幫助軟件項(xiàng)根據(jù)需要采用支持性過(guò)程,并與該過(guò)程結(jié)合,幫助軟件項(xiàng)目獲得成功目獲得成功,并提高質(zhì)量。支持過(guò)程共有如下八個(gè):并提高質(zhì)量。支持過(guò)程共有如下八個(gè): 文檔過(guò)程:定義對(duì)某生存周期過(guò)程所產(chǎn)生的信息進(jìn)行記錄的活動(dòng); 配置管理過(guò)程:定義配置管理活動(dòng); 質(zhì)量保證過(guò)程:定義客觀地保證軟件產(chǎn)品和過(guò)程符合規(guī)定要求、遵守已定計(jì)劃的活動(dòng); 驗(yàn)證過(guò)程:定義需方、供方或獨(dú)立的第三方對(duì)軟件產(chǎn)品進(jìn)行驗(yàn)證的活動(dòng),這些驗(yàn)證活動(dòng)的深度由軟件項(xiàng)目的性質(zhì)決定; 確認(rèn)過(guò)程:
24、定義需方、供方或獨(dú)立的第三方對(duì)軟件產(chǎn)品進(jìn)行確認(rèn)的活動(dòng); 聯(lián)合評(píng)審過(guò)程:定義對(duì)某項(xiàng)活動(dòng)的狀態(tài)和產(chǎn)品進(jìn)行評(píng)價(jià)的活動(dòng),這一過(guò)程可由任何雙方共同采用,其中一方(評(píng)審方)評(píng)審另一方(被評(píng)方); 審計(jì)過(guò)程:定義對(duì)是否符合要求、計(jì)劃和合同進(jìn)行確定的過(guò)程,這個(gè)過(guò)程可由任何雙方采用,其中一方(審計(jì)方)審計(jì)另一方(被審方)的軟件產(chǎn)品或活動(dòng); 問(wèn)題解決過(guò)程:定義對(duì)開發(fā)、操作、維護(hù)或其它過(guò)程中發(fā)現(xiàn)的問(wèn)題(包括不一致性)進(jìn)行分析和排除的過(guò)程。company logo軟件過(guò)程標(biāo)準(zhǔn)軟件過(guò)程標(biāo)準(zhǔn)v 輔助過(guò)程是一個(gè)組織用來(lái)建立、實(shí)施一種基礎(chǔ)結(jié)構(gòu)、并不輔助過(guò)程是一個(gè)組織用來(lái)建立、實(shí)施一種基礎(chǔ)結(jié)構(gòu)、并不斷改進(jìn)該基礎(chǔ)結(jié)構(gòu)的過(guò)程?;A(chǔ)
25、結(jié)構(gòu)由一些相關(guān)的生存周斷改進(jìn)該基礎(chǔ)結(jié)構(gòu)的過(guò)程?;A(chǔ)結(jié)構(gòu)由一些相關(guān)的生存周期過(guò)程和人員組成。這些輔助過(guò)程有如下四個(gè):期過(guò)程和人員組成。這些輔助過(guò)程有如下四個(gè): 基礎(chǔ)設(shè)施過(guò)程:定義建立生存周期過(guò)程的基礎(chǔ)結(jié)構(gòu)所需的基本活動(dòng); 管理過(guò)程:定義在生存周期過(guò)程中管理(包括項(xiàng)目管理)的基本活動(dòng); 培訓(xùn)過(guò)程:定義為提供經(jīng)過(guò)適當(dāng)培訓(xùn)的人員所需的一些活動(dòng); 過(guò)程改進(jìn)過(guò)程:定義一個(gè)組織(即需方、供方、開發(fā)者、操作者、維護(hù)者或另一過(guò)程的管理者)為了建立、測(cè)量、控制和改進(jìn)其生存周期過(guò)程需完成的基本活動(dòng)。company logo軟件過(guò)程標(biāo)準(zhǔn)軟件過(guò)程標(biāo)準(zhǔn)v 該標(biāo)準(zhǔn)適用面很廣,對(duì)于一個(gè)具體軟件項(xiàng)目來(lái)說(shuō),執(zhí)行該該標(biāo)準(zhǔn)適用面很廣
26、,對(duì)于一個(gè)具體軟件項(xiàng)目來(lái)說(shuō),執(zhí)行該標(biāo)準(zhǔn)時(shí)必須加以剪裁,刪去一些不適用的過(guò)程、活動(dòng)和任標(biāo)準(zhǔn)時(shí)必須加以剪裁,刪去一些不適用的過(guò)程、活動(dòng)和任務(wù),必要時(shí)還可根據(jù)合同要求增加一些特殊的過(guò)程、活動(dòng)務(wù),必要時(shí)還可根據(jù)合同要求增加一些特殊的過(guò)程、活動(dòng)和任務(wù)。該標(biāo)準(zhǔn)的一項(xiàng)重要內(nèi)容就是給出了剪裁過(guò)程。它和任務(wù)。該標(biāo)準(zhǔn)的一項(xiàng)重要內(nèi)容就是給出了剪裁過(guò)程。它包括四項(xiàng)活動(dòng):包括四項(xiàng)活動(dòng): 標(biāo)識(shí)項(xiàng)目環(huán)境; 征求輸入,考慮受剪裁決策影響的各組織的意見; 選擇過(guò)程、活動(dòng)和任務(wù); 將剪裁決策及其原理寫成文檔。company logo軟件過(guò)程標(biāo)準(zhǔn)軟件過(guò)程標(biāo)準(zhǔn)v此外,該標(biāo)準(zhǔn)還提供了一個(gè)簡(jiǎn)要的剪裁指南,指此外,該標(biāo)準(zhǔn)還提供了一個(gè)簡(jiǎn)要的
27、剪裁指南,指出在兩個(gè)層次上應(yīng)用此剪裁指南的不同考慮:出在兩個(gè)層次上應(yīng)用此剪裁指南的不同考慮: 第一層剪裁考慮不同業(yè)務(wù)領(lǐng)域的不同要求,例如航空、核、醫(yī)學(xué)、軍事、國(guó)家或組織; 第二層剪裁考慮具體項(xiàng)目或合同的要求,它給出了把開發(fā)過(guò)程作為第一層剪裁的推薦意見,對(duì)有關(guān)評(píng)價(jià)活動(dòng)的剪裁意見,以及剪裁時(shí)對(duì)組織方針、獲取策略、支持方案、生存周期模型、涉及的部門、系統(tǒng)生存周期活動(dòng)、系統(tǒng)級(jí)特性等關(guān)鍵項(xiàng)目特性的考慮。company logo軟件生存周期模型軟件生存周期模型viso12207標(biāo)準(zhǔn)將軟件生存周期模型定義為:標(biāo)準(zhǔn)將軟件生存周期模型定義為: 一個(gè)包括軟件產(chǎn)品開發(fā)、運(yùn)行和維護(hù)中有關(guān)過(guò)程、活動(dòng)和任務(wù)的框架,其中這
28、些過(guò)程、活動(dòng)和任務(wù)覆蓋了從該系統(tǒng)的需求定義到系統(tǒng)的使用終止。v把這個(gè)概念應(yīng)用到開發(fā)過(guò)程中,可以發(fā)現(xiàn)所有軟把這個(gè)概念應(yīng)用到開發(fā)過(guò)程中,可以發(fā)現(xiàn)所有軟件開發(fā)生存周期模型的內(nèi)在基本特征:件開發(fā)生存周期模型的內(nèi)在基本特征: 描述了開發(fā)的主要階段 定義了每一個(gè)階段要完成的主要過(guò)程和活動(dòng) 規(guī)范了每一個(gè)階段的輸入和輸出(提交物) 提供了一個(gè)框架,可以把必要的活動(dòng)映射到該框架中company logo軟件生存周期模型軟件生存周期模型v常見的軟件生存周期模型包括:常見的軟件生存周期模型包括: 瀑布模型 原型模型 增量模型 演化模型 螺旋模型 統(tǒng)一過(guò)程模型 敏捷過(guò)程模型company logo瀑布模型瀑布模型圖
29、1 7 瀑布模型company logo瀑布模型瀑布模型v瀑布模型的優(yōu)點(diǎn)是過(guò)程模型簡(jiǎn)單,執(zhí)行容易;缺瀑布模型的優(yōu)點(diǎn)是過(guò)程模型簡(jiǎn)單,執(zhí)行容易;缺點(diǎn)是無(wú)法適應(yīng)變更。瀑布模型適應(yīng)于具有以下特點(diǎn)是無(wú)法適應(yīng)變更。瀑布模型適應(yīng)于具有以下特征的軟件開發(fā)項(xiàng)目:征的軟件開發(fā)項(xiàng)目: 在軟件開發(fā)的過(guò)程中,需求不發(fā)生或發(fā)生很少變化,并且開發(fā)人員可以一次性獲取到全部需求。否則,由于瀑布模型較差的可回溯性,在后續(xù)階段中需求經(jīng)常性的變更需要付出高昂的代價(jià)。 軟件開發(fā)人員具有豐富的經(jīng)驗(yàn),對(duì)軟件應(yīng)用領(lǐng)域很熟悉。 軟件項(xiàng)目的風(fēng)險(xiǎn)較低。瀑布模型不具有完善的風(fēng)險(xiǎn)控制機(jī)制。company logo原型模型原型模型v 原型模型主要用于挖
30、掘需求,或是進(jìn)行某種技術(shù)或開發(fā)方原型模型主要用于挖掘需求,或是進(jìn)行某種技術(shù)或開發(fā)方法的可行性研究,是一種開發(fā)人員為了快速而準(zhǔn)確地獲取法的可行性研究,是一種開發(fā)人員為了快速而準(zhǔn)確地獲取需求經(jīng)常采用的方法。需求經(jīng)常采用的方法。v 在初步獲取需求后,開發(fā)人員會(huì)快速地開發(fā)一個(gè)原型系統(tǒng)。在初步獲取需求后,開發(fā)人員會(huì)快速地開發(fā)一個(gè)原型系統(tǒng)。通過(guò)對(duì)原型系統(tǒng)進(jìn)行模擬操作,開發(fā)人員可以更直觀、更通過(guò)對(duì)原型系統(tǒng)進(jìn)行模擬操作,開發(fā)人員可以更直觀、更全面和更準(zhǔn)確地了解用戶對(duì)待開發(fā)系統(tǒng)的各項(xiàng)要求,同時(shí)全面和更準(zhǔn)確地了解用戶對(duì)待開發(fā)系統(tǒng)的各項(xiàng)要求,同時(shí)還能挖掘到隱藏的需求。如果開發(fā)人員對(duì)將采用的開發(fā)技還能挖掘到隱藏的需求
31、。如果開發(fā)人員對(duì)將采用的開發(fā)技術(shù)把握不大,也可以采用原型模型進(jìn)行技術(shù)上的嘗試,以術(shù)把握不大,也可以采用原型模型進(jìn)行技術(shù)上的嘗試,以降低后續(xù)開發(fā)的風(fēng)險(xiǎn)。降低后續(xù)開發(fā)的風(fēng)險(xiǎn)。v 原型系統(tǒng)通常針對(duì)軟件開發(fā)系統(tǒng)的子功能模塊,所以功能原型系統(tǒng)通常針對(duì)軟件開發(fā)系統(tǒng)的子功能模塊,所以功能相對(duì)不完善。此外,由于原型系統(tǒng)功能的局部性以及存在相對(duì)不完善。此外,由于原型系統(tǒng)功能的局部性以及存在階段的局部性,在軟件開發(fā)的實(shí)踐中,原型模型通常結(jié)合階段的局部性,在軟件開發(fā)的實(shí)踐中,原型模型通常結(jié)合其他的軟件開發(fā)模型共同使用,發(fā)揮作用。其他的軟件開發(fā)模型共同使用,發(fā)揮作用。company logo原型模型原型模型圖 1 8
32、 原型模型company logo增量模型增量模型 圖 1 9 增量模型增量模型假設(shè)需求可以分段,成為一系列增量產(chǎn)品,每一增量增量模型假設(shè)需求可以分段,成為一系列增量產(chǎn)品,每一增量可以分別地開發(fā)。如圖可以分別地開發(fā)。如圖1-9所示。所示。company logo增量模型增量模型 v增量模型作為瀑布模型的一個(gè)變體,具有瀑布模增量模型作為瀑布模型的一個(gè)變體,具有瀑布模型的所有優(yōu)點(diǎn),此外,它還有以下優(yōu)點(diǎn):型的所有優(yōu)點(diǎn),此外,它還有以下優(yōu)點(diǎn): 第一個(gè)可交付版本所需要的成本和時(shí)間很少; 開發(fā)由增量表示的小系統(tǒng)所承擔(dān)的風(fēng)險(xiǎn)不大; 由于很快發(fā)布了第一個(gè)版本,因此可以減少用戶需求的變更; 允許增量投資,即在項(xiàng)
33、目開始時(shí),可以僅對(duì)一個(gè)或兩個(gè)增量投資。v增量模型的不足為:增量模型的不足為: 如果沒(méi)有對(duì)用戶的變更要求進(jìn)行規(guī)劃,那么產(chǎn)生的初始增量可能會(huì)造成后來(lái)增量的不穩(wěn)定; 如果需求不像早期思考的那樣穩(wěn)定和完整,那么一些增量就可能需要重新開發(fā),重新發(fā)布; 管理發(fā)生的成本、進(jìn)度和配置的復(fù)雜性,可能會(huì)超出組織的能力。company logo增量模型增量模型v增量模型適用于以下特點(diǎn)的軟件項(xiàng)目。增量模型適用于以下特點(diǎn)的軟件項(xiàng)目。 軟件產(chǎn)品可以分批次地進(jìn)行交付。 待開發(fā)的軟件系統(tǒng)能夠被模塊化。 軟件開發(fā)人員對(duì)應(yīng)用領(lǐng)域不熟悉,難以一次性地進(jìn)行系統(tǒng)開發(fā)。 項(xiàng)目管理人員對(duì)全局把握的水平較高。company logo演化模型
34、演化模型 v 演化模型顯式地把增量模型擴(kuò)展到需求階段。演化模型顯式地把增量模型擴(kuò)展到需求階段。v 為了第二個(gè)構(gòu)造增量,使用了第一個(gè)構(gòu)造增量來(lái)精化需求。為了第二個(gè)構(gòu)造增量,使用了第一個(gè)構(gòu)造增量來(lái)精化需求。 圖 1 10 演化模型company logo演化模型演化模型v演化模型具有以下優(yōu)點(diǎn):演化模型具有以下優(yōu)點(diǎn): 在需求不能予以規(guī)范時(shí),可以使用這一演化模型; 用戶可以通過(guò)運(yùn)行系統(tǒng)的實(shí)踐,對(duì)需求進(jìn)行改進(jìn); 與瀑布模型相比,需要更多用戶/獲取方的參與。v演化模型的不足包括:演化模型的不足包括: 演化模型的使用仍然處于初步探索階段,因此具有較大的風(fēng)險(xiǎn),需要有利的管理; 即使很好地理解了需求或設(shè)計(jì),該模
35、型的使用也很容易成為不編寫需求或設(shè)計(jì)文檔的借口; 用戶/獲取方不理解該方法的自然屬性,因此當(dāng)結(jié)果不夠理想時(shí),可能會(huì)產(chǎn)生抱怨。v演化模型基于這樣的假定:演化模型基于這樣的假定: 需求是最基本的,是唯一的風(fēng)險(xiǎn)。 company logo螺旋模型螺旋模型v 螺旋模型通常用來(lái)指導(dǎo)大型軟件項(xiàng)目的開發(fā)。它把開發(fā)過(guò)程分為制定螺旋模型通常用來(lái)指導(dǎo)大型軟件項(xiàng)目的開發(fā)。它把開發(fā)過(guò)程分為制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施開發(fā)和用戶評(píng)估四類活動(dòng)。風(fēng)險(xiǎn)分析被擴(kuò)展到計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施開發(fā)和用戶評(píng)估四類活動(dòng)。風(fēng)險(xiǎn)分析被擴(kuò)展到了各個(gè)階段中,因此采用螺旋模型可以降低項(xiàng)目開發(fā)的風(fēng)險(xiǎn)。了各個(gè)階段中,因此采用螺旋模型可以降低項(xiàng)目開發(fā)的風(fēng)險(xiǎn)。
36、圖 1 11 螺旋模型company logo螺旋模型螺旋模型v螺旋模型綜合了傳統(tǒng)的生存期模型的優(yōu)點(diǎn),同時(shí)螺旋模型綜合了傳統(tǒng)的生存期模型的優(yōu)點(diǎn),同時(shí)擴(kuò)展了增量模型管理任務(wù)的范圍:風(fēng)險(xiǎn)分析,用擴(kuò)展了增量模型管理任務(wù)的范圍:風(fēng)險(xiǎn)分析,用來(lái)彌補(bǔ)其不足。螺旋模型的另外一個(gè)特征是,只來(lái)彌補(bǔ)其不足。螺旋模型的另外一個(gè)特征是,只有一個(gè)迭代過(guò)程真正開發(fā)可交付的軟件。螺旋模有一個(gè)迭代過(guò)程真正開發(fā)可交付的軟件。螺旋模型也存在其缺點(diǎn):一個(gè)周期執(zhí)行時(shí)間太長(zhǎng);要有型也存在其缺點(diǎn):一個(gè)周期執(zhí)行時(shí)間太長(zhǎng);要有方法和自動(dòng)化工具支持,否則無(wú)法實(shí)施。方法和自動(dòng)化工具支持,否則無(wú)法實(shí)施。v螺旋模型適應(yīng)于風(fēng)險(xiǎn)較大的大型軟件項(xiàng)目的開發(fā)
37、。螺旋模型適應(yīng)于風(fēng)險(xiǎn)較大的大型軟件項(xiàng)目的開發(fā)。company logo統(tǒng)一過(guò)程模型統(tǒng)一過(guò)程模型 v統(tǒng)一過(guò)程模型(統(tǒng)一過(guò)程模型(rational unified process)是種軟件工程過(guò)程,它提供了如何在開發(fā)組織中是種軟件工程過(guò)程,它提供了如何在開發(fā)組織中嚴(yán)格分配任務(wù)和職責(zé)的方法;統(tǒng)一過(guò)程模型是一嚴(yán)格分配任務(wù)和職責(zé)的方法;統(tǒng)一過(guò)程模型是一個(gè)過(guò)程產(chǎn)品,有自己的過(guò)程框架,捕獲了現(xiàn)代軟個(gè)過(guò)程產(chǎn)品,有自己的過(guò)程框架,捕獲了現(xiàn)代軟件開發(fā)中的最佳實(shí)踐。統(tǒng)一過(guò)程模型具有三大特件開發(fā)中的最佳實(shí)踐。統(tǒng)一過(guò)程模型具有三大特點(diǎn):用例驅(qū)動(dòng),以架構(gòu)為中心,迭代和增量開發(fā)。點(diǎn):用例驅(qū)動(dòng),以架構(gòu)為中心,迭代和增量開發(fā)。
38、 company logo統(tǒng)一過(guò)程模型統(tǒng)一過(guò)程模型 圖 1 12 統(tǒng)一過(guò)程模型company logo統(tǒng)一過(guò)程模型統(tǒng)一過(guò)程模型 v 統(tǒng)一過(guò)程模型核心是解決可操作性問(wèn)題,幫助開發(fā)人員盡統(tǒng)一過(guò)程模型核心是解決可操作性問(wèn)題,幫助開發(fā)人員盡可能少地依賴那些可能少地依賴那些“不可描述的經(jīng)驗(yàn)不可描述的經(jīng)驗(yàn)”。它詳細(xì)給出了每。它詳細(xì)給出了每個(gè)階段參與該過(guò)程的各種角色,然后標(biāo)識(shí)在過(guò)程中,該角個(gè)階段參與該過(guò)程的各種角色,然后標(biāo)識(shí)在過(guò)程中,該角色創(chuàng)建的制品。統(tǒng)一過(guò)程模型在實(shí)際實(shí)施過(guò)程中也存在很色創(chuàng)建的制品。統(tǒng)一過(guò)程模型在實(shí)際實(shí)施過(guò)程中也存在很多的困難,包括:多層次持續(xù)的規(guī)劃與評(píng)估;判斷構(gòu)架中多的困難,包括:多層次
39、持續(xù)的規(guī)劃與評(píng)估;判斷構(gòu)架中關(guān)鍵風(fēng)險(xiǎn)的經(jīng)驗(yàn);高效率的驗(yàn)證和評(píng)價(jià)手段;多工種之間關(guān)鍵風(fēng)險(xiǎn)的經(jīng)驗(yàn);高效率的驗(yàn)證和評(píng)價(jià)手段;多工種之間的頻繁溝通;多版本工作產(chǎn)品的管理等。的頻繁溝通;多版本工作產(chǎn)品的管理等。v 統(tǒng)一過(guò)程模型是基于迭代思想的軟件開發(fā)模型。在傳統(tǒng)的統(tǒng)一過(guò)程模型是基于迭代思想的軟件開發(fā)模型。在傳統(tǒng)的瀑布模型中,組織項(xiàng)目的方法是使其按順序一次性地完成瀑布模型中,組織項(xiàng)目的方法是使其按順序一次性地完成每個(gè)工作流程。通常,在項(xiàng)目前期出現(xiàn)的問(wèn)題推遲到后期每個(gè)工作流程。通常,在項(xiàng)目前期出現(xiàn)的問(wèn)題推遲到后期才能發(fā)現(xiàn),這不僅增大了軟件開發(fā)的成本,還嚴(yán)重影響了才能發(fā)現(xiàn),這不僅增大了軟件開發(fā)的成本,還嚴(yán)重影
40、響了軟件開發(fā)的進(jìn)度。采用迭代的軟件工程思想可以多次執(zhí)行軟件開發(fā)的進(jìn)度。采用迭代的軟件工程思想可以多次執(zhí)行各個(gè)工作流程,從而有利于更好地理解需求、設(shè)計(jì)出合理各個(gè)工作流程,從而有利于更好地理解需求、設(shè)計(jì)出合理的系統(tǒng)構(gòu)架,并最終交付一系列漸趨完善的成果。的系統(tǒng)構(gòu)架,并最終交付一系列漸趨完善的成果。v 統(tǒng)一過(guò)程模型適用的范圍極為廣泛,但是對(duì)開發(fā)人員的素統(tǒng)一過(guò)程模型適用的范圍極為廣泛,但是對(duì)開發(fā)人員的素質(zhì)要求較高。質(zhì)要求較高。company logo敏捷模型敏捷模型 v “敏捷聯(lián)盟敏捷聯(lián)盟”為了幫助希望使用敏捷方法來(lái)進(jìn)行軟件開發(fā)為了幫助希望使用敏捷方法來(lái)進(jìn)行軟件開發(fā)的人們定義了的人們定義了12條原則:條
41、原則: (1) 我們首先要做的是通過(guò)盡早和持續(xù)交付有價(jià)值的軟件來(lái)讓客戶滿意。 (2) 需求變更可以發(fā)生在整個(gè)軟件的開發(fā)過(guò)程中,即使在開發(fā)后期,我們也歡迎客戶對(duì)于需求的變更。敏捷過(guò)程利用變更為客戶創(chuàng)造競(jìng)爭(zhēng)優(yōu)勢(shì)。 (3) 經(jīng)常交付可工作的軟件。交付的時(shí)間間隔越短越好,最好23周一次。 (4) 在整個(gè)的軟件開發(fā)周期中,業(yè)務(wù)人員和開發(fā)人員應(yīng)該天天在一起工作。 (5) 圍繞受激勵(lì)的個(gè)人構(gòu)建項(xiàng)目,給他們提供所需的環(huán)境和支持,并且信任他們能夠完成工作。 (6) 在團(tuán)隊(duì)的內(nèi)部,最有效果和效率的信息傳遞方法是面對(duì)面交談。 (7) 可工作的軟件是進(jìn)度的首要度量標(biāo)準(zhǔn)。 (8) 敏捷過(guò)程提倡可持續(xù)的開發(fā)速度。責(zé)任人、
42、開發(fā)人員和用戶應(yīng)該能夠保持一種長(zhǎng)期穩(wěn)定的開發(fā)速度。 (9) 不斷地關(guān)注優(yōu)秀的技能和好的設(shè)計(jì)會(huì)增強(qiáng)敏捷能力。 (10) 盡量使工作簡(jiǎn)單化。 (11) 好的架構(gòu)、需求和設(shè)計(jì)來(lái)源于自組織團(tuán)隊(duì)。 (12) 每隔一定時(shí)間,團(tuán)隊(duì)?wèi)?yīng)該反省如何才能有效地工作,并相應(yīng)調(diào)整自己的行為。company logo敏捷模型敏捷模型 v 敏捷方法是一種輕量級(jí)的軟件工程方法,相對(duì)于傳統(tǒng)的軟敏捷方法是一種輕量級(jí)的軟件工程方法,相對(duì)于傳統(tǒng)的軟件工程方法,它更強(qiáng)調(diào)軟件開發(fā)過(guò)程中各種變化的必然性,件工程方法,它更強(qiáng)調(diào)軟件開發(fā)過(guò)程中各種變化的必然性,通過(guò)團(tuán)隊(duì)成員之間充分的交流與溝通以及合理的機(jī)制來(lái)有通過(guò)團(tuán)隊(duì)成員之間充分的交流與溝通以
43、及合理的機(jī)制來(lái)有效地響應(yīng)變化。效地響應(yīng)變化。v 敏捷開發(fā)啟動(dòng)于敏捷開發(fā)啟動(dòng)于“敏捷軟件開發(fā)宣言敏捷軟件開發(fā)宣言”。在。在2001年年2月,月,17位軟件開發(fā)者在位軟件開發(fā)者在utah召開了長(zhǎng)達(dá)兩天的會(huì)議,制訂并召開了長(zhǎng)達(dá)兩天的會(huì)議,制訂并簽署了簽署了“敏捷軟件開發(fā)宣言敏捷軟件開發(fā)宣言”,該宣言聲明如下:,該宣言聲明如下: 我們正在通過(guò)親身實(shí)踐以及幫助他人實(shí)踐的方式來(lái)揭示更好的軟件開發(fā)之路,通過(guò)這項(xiàng)工作,我們認(rèn)為: 個(gè)體和交互勝過(guò)過(guò)程和工具; 可工作軟件勝過(guò)寬泛的文檔; 客戶合作勝過(guò)合同談判; 響應(yīng)變化勝過(guò)遵循計(jì)劃。company logo敏捷模型敏捷模型 v 敏捷模型避免了傳統(tǒng)的重量級(jí)軟件開發(fā)
44、過(guò)程復(fù)雜、文檔繁敏捷模型避免了傳統(tǒng)的重量級(jí)軟件開發(fā)過(guò)程復(fù)雜、文檔繁瑣和對(duì)變化的適應(yīng)性低等各種弊端,它強(qiáng)調(diào)軟件開發(fā)過(guò)程瑣和對(duì)變化的適應(yīng)性低等各種弊端,它強(qiáng)調(diào)軟件開發(fā)過(guò)程中團(tuán)隊(duì)成員之間的交流、過(guò)程的簡(jiǎn)潔性、用戶反饋、對(duì)所中團(tuán)隊(duì)成員之間的交流、過(guò)程的簡(jiǎn)潔性、用戶反饋、對(duì)所作決定的信心以及人性化的特征。作決定的信心以及人性化的特征。v 敏捷過(guò)程模型中比較有代表性的是敏捷過(guò)程模型中比較有代表性的是xp模型(模型(extreme programming)。它由一系列與開發(fā)相關(guān)的規(guī)則、規(guī)范)。它由一系列與開發(fā)相關(guān)的規(guī)則、規(guī)范和慣例組成。其規(guī)則和文檔較少,流程靈活,易于小型開和慣例組成。其規(guī)則和文檔較少,流程
45、靈活,易于小型開發(fā)團(tuán)隊(duì)使用。發(fā)團(tuán)隊(duì)使用。xp認(rèn)為軟件開發(fā)有效的活動(dòng)是:需求、設(shè)認(rèn)為軟件開發(fā)有效的活動(dòng)是:需求、設(shè)計(jì)、編碼和測(cè)試,并且在一個(gè)極限的環(huán)境下使它們發(fā)揮到計(jì)、編碼和測(cè)試,并且在一個(gè)極限的環(huán)境下使它們發(fā)揮到極致,做到最好。極致,做到最好。xp偏重于軟件過(guò)程的描述,表現(xiàn)為激偏重于軟件過(guò)程的描述,表現(xiàn)為激進(jìn)的迭代,組織模型和建模方法比較薄弱。進(jìn)的迭代,組織模型和建模方法比較薄弱。生存周期模型的選擇要結(jié)合具體的項(xiàng)目特色,并在項(xiàng)生存周期模型的選擇要結(jié)合具體的項(xiàng)目特色,并在項(xiàng)目實(shí)施過(guò)程中予以改進(jìn)。目實(shí)施過(guò)程中予以改進(jìn)。company logo1.5軟件開發(fā)方法軟件開發(fā)方法v軟件開發(fā)方法是一種使用定
46、義好的技術(shù)集及符號(hào)表軟件開發(fā)方法是一種使用定義好的技術(shù)集及符號(hào)表示組織軟件生產(chǎn)的過(guò)程,它的目標(biāo)是在規(guī)定的時(shí)間示組織軟件生產(chǎn)的過(guò)程,它的目標(biāo)是在規(guī)定的時(shí)間和成本內(nèi),開發(fā)出符合用戶需求的高質(zhì)量的軟件。和成本內(nèi),開發(fā)出符合用戶需求的高質(zhì)量的軟件。因此,針對(duì)不同的軟件開發(fā)項(xiàng)目和對(duì)應(yīng)的軟件過(guò)程,因此,針對(duì)不同的軟件開發(fā)項(xiàng)目和對(duì)應(yīng)的軟件過(guò)程,應(yīng)該選擇合適的軟件開發(fā)方法。應(yīng)該選擇合適的軟件開發(fā)方法。v常見的軟件開發(fā)方法包括:常見的軟件開發(fā)方法包括:結(jié)構(gòu)化方法面向數(shù)據(jù)結(jié)構(gòu)方法面向?qū)ο蠓椒ㄐ问交椒?此外,軟件開發(fā)方法還有問(wèn)題分析法、可視化開此外,軟件開發(fā)方法還有問(wèn)題分析法、可視化開發(fā)方法等。本書接下來(lái)的章節(jié)中將會(huì)對(duì)結(jié)構(gòu)化方發(fā)方法等。本書接下來(lái)的章節(jié)中將會(huì)對(duì)結(jié)構(gòu)化方法和面向?qū)ο蠓椒ㄟM(jìn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年華師大新版七年級(jí)生物下冊(cè)月考試卷含答案
- 2025年湘教新版九年級(jí)歷史下冊(cè)階段測(cè)試試卷含答案
- 2025年浙教版必修1歷史下冊(cè)月考試卷
- 2025年人教A新版七年級(jí)科學(xué)下冊(cè)階段測(cè)試試卷含答案
- 2025年蘇教新版九年級(jí)歷史下冊(cè)月考試卷
- 2025年仁愛科普版選擇性必修1語(yǔ)文上冊(cè)階段測(cè)試試卷含答案
- 二零二五版木材加工廢棄物處理合同3篇
- 二零二五年度苗圃場(chǎng)租賃與環(huán)保技術(shù)應(yīng)用合同3篇
- 承包協(xié)議合同(2篇)
- 二零二五版農(nóng)業(yè)用地流轉(zhuǎn)合同范本(含政府補(bǔ)貼條款)3篇
- 【語(yǔ)文】第23課《“蛟龍”探?!氛n件 2024-2025學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 加強(qiáng)教師隊(duì)伍建設(shè)教師領(lǐng)域?qū)W習(xí)二十屆三中全會(huì)精神專題課
- 2024-2025學(xué)年人教版數(shù)學(xué)七年級(jí)上冊(cè)期末復(fù)習(xí)卷(含答案)
- 2024年決戰(zhàn)行測(cè)5000題言語(yǔ)理解與表達(dá)(培優(yōu)b卷)
- 四年級(jí)數(shù)學(xué)上冊(cè)人教版24秋《小學(xué)學(xué)霸單元期末標(biāo)準(zhǔn)卷》考前專項(xiàng)沖刺訓(xùn)練
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
- (完整版)減數(shù)分裂課件
- 銀行辦公大樓物業(yè)服務(wù)投標(biāo)方案投標(biāo)文件(技術(shù)方案)
- 第01講 直線的方程(九大題型)(練習(xí))
- 微粒貸逾期還款協(xié)議書范本
- 人教版七年級(jí)上冊(cè)數(shù)學(xué)全冊(cè)課時(shí)練習(xí)帶答案
評(píng)論
0/150
提交評(píng)論