![第章 軟件與軟件工程介紹_第1頁(yè)](http://file4.renrendoc.com/view/ec85b742dd164ec3ce4d4e877d9c2dc8/ec85b742dd164ec3ce4d4e877d9c2dc81.gif)
![第章 軟件與軟件工程介紹_第2頁(yè)](http://file4.renrendoc.com/view/ec85b742dd164ec3ce4d4e877d9c2dc8/ec85b742dd164ec3ce4d4e877d9c2dc82.gif)
![第章 軟件與軟件工程介紹_第3頁(yè)](http://file4.renrendoc.com/view/ec85b742dd164ec3ce4d4e877d9c2dc8/ec85b742dd164ec3ce4d4e877d9c2dc83.gif)
![第章 軟件與軟件工程介紹_第4頁(yè)](http://file4.renrendoc.com/view/ec85b742dd164ec3ce4d4e877d9c2dc8/ec85b742dd164ec3ce4d4e877d9c2dc84.gif)
![第章 軟件與軟件工程介紹_第5頁(yè)](http://file4.renrendoc.com/view/ec85b742dd164ec3ce4d4e877d9c2dc8/ec85b742dd164ec3ce4d4e877d9c2dc85.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章軟件與軟件工程的概念軟件的概念、特性和分類(lèi)軟件危機(jī)與軟件工程系統(tǒng)工程的目標(biāo)軟件生存期軟件生存期模型軟件工程知識(shí)體系及知識(shí)域1.1軟件的概念、特性和分類(lèi)軟件的作用具有產(chǎn)品和產(chǎn)品生產(chǎn)載體的雙重作用。作為產(chǎn)品,軟件顯示了由計(jì)算機(jī)硬件體現(xiàn)的計(jì)算能力,扮演著信息轉(zhuǎn)換的角色:產(chǎn)生、管理、查詢、修改、顯示或者傳遞各種不同的信息。作為產(chǎn)品生產(chǎn)的載體,軟件提供了計(jì)算機(jī)控制(操作系統(tǒng))、信息通信(網(wǎng)絡(luò)),以及應(yīng)用程序開(kāi)發(fā)和控制的基礎(chǔ)平臺(tái)(軟件工具和環(huán)境)。
1.1軟件的概念、特性和分類(lèi)軟件的概念
雖然軟件對(duì)于現(xiàn)代的人并不陌生,但很多人對(duì)于軟件的理解并不準(zhǔn)確,“軟件就是程序,軟件開(kāi)發(fā)就是編程序”的這種錯(cuò)誤觀點(diǎn)仍然存在。什么是軟件?1.1軟件的概念、特性和分類(lèi)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開(kāi)發(fā),維護(hù)和使用有關(guān)的圖文材料。1.1軟件的概念、特性和分類(lèi)軟件的特性(1)
形態(tài)特性:軟件是無(wú)形的、不可見(jiàn)的邏輯實(shí)體。度量常規(guī)產(chǎn)品的幾何尺寸、物理性質(zhì)和化學(xué)成分對(duì)它卻是毫無(wú)意義的。
(2)
智能特性:軟件是復(fù)雜的智力產(chǎn)品,它的開(kāi)發(fā)凝聚了人們的大量腦力勞動(dòng),它本身也體現(xiàn)了知識(shí)實(shí)踐經(jīng)驗(yàn)和人類(lèi)的智慧,具有一定的智能。它可以幫助我們解決復(fù)雜的計(jì)算、分析、判斷和決策問(wèn)題。(3)
開(kāi)發(fā)特性:盡管已經(jīng)有了一些工具(也是軟件)來(lái)輔助軟件開(kāi)發(fā)工作,但到目前為止尚未實(shí)現(xiàn)自動(dòng)化。軟件開(kāi)發(fā)中仍然包含了相當(dāng)份量的個(gè)體勞動(dòng),使得這一大規(guī)模知識(shí)型工作充滿了個(gè)人行為和個(gè)人因素。(4)
質(zhì)量特性:目前還無(wú)法得到完全沒(méi)有缺陷的軟件產(chǎn)品。1.1軟件的概念、特性和分類(lèi)(5)
生產(chǎn)特性:與硬件或傳統(tǒng)的制造業(yè)產(chǎn)品的生產(chǎn)完全不同,軟件一旦設(shè)計(jì)開(kāi)發(fā)出來(lái),如果需要提供多個(gè)用戶,它的復(fù)制十分簡(jiǎn)單,其成本也極為有限。(6)
管理特性:由于上述的幾個(gè)特點(diǎn),使得軟件的開(kāi)發(fā)管理顯得更為重要,也更為獨(dú)特。1.1軟件的概念、特性和分類(lèi)(7)
環(huán)境特性:軟件的開(kāi)發(fā)和運(yùn)行都離不開(kāi)相關(guān)的計(jì)算機(jī)系統(tǒng)環(huán)境,包括支持它的開(kāi)發(fā)和運(yùn)行的相關(guān)硬件和軟件。軟件對(duì)于計(jì)算機(jī)系統(tǒng)的環(huán)境有著不可擺脫的依賴性。(8)
維護(hù)特性:軟件投入使用以后需要進(jìn)行維護(hù),但這種維護(hù)與傳統(tǒng)產(chǎn)業(yè)產(chǎn)品的維護(hù)概念有著很大差別。
1.1軟件的概念、特性和分類(lèi)(9)
廢棄特性:與硬件不同,軟件并不是由于被“用壞”而被廢棄的
。(10)
應(yīng)用特性:軟件的應(yīng)用極為廣泛,如今它已滲入國(guó)民經(jīng)濟(jì)和國(guó)防的各個(gè)領(lǐng)域,現(xiàn)已成為信息產(chǎn)業(yè)、先進(jìn)制造業(yè)和現(xiàn)代服務(wù)業(yè)的核心,占據(jù)了無(wú)可取代的地位。1.1軟件的概念、特性和分類(lèi)1.1軟件的概念、特性和分類(lèi)軟件的分類(lèi)按照軟件的作用,一般可以將軟件做如下分類(lèi)。
(1)系統(tǒng)軟件(2)應(yīng)用軟件(3)支撐軟件(4)可復(fù)用軟件軟件危機(jī)暴暴發(fā)于上個(gè)個(gè)世紀(jì)六十十年代末。。主要表現(xiàn)為為:軟件的的發(fā)展速度度遠(yuǎn)遠(yuǎn)滯后后于硬件的的發(fā)展速度度,不能滿滿足社會(huì)日日益增長(zhǎng)的的軟件需求求。軟件開(kāi)開(kāi)發(fā)周期長(zhǎng)長(zhǎng)、成本高高、質(zhì)量差差、維護(hù)困困難。1.2軟軟件危機(jī)機(jī)與軟件工工程軟件危機(jī)典型例子::美國(guó)IBM公司在在1963年至1966年開(kāi)開(kāi)發(fā)的IBM360機(jī)的操操作系統(tǒng)。。這個(gè)項(xiàng)目的的負(fù)責(zé)人F.D.Brooks事后總總結(jié)了他在在組織開(kāi)發(fā)發(fā)過(guò)程中的的沉痛教訓(xùn)訓(xùn)時(shí)說(shuō):……正像一一只逃亡的的野獸落到到泥潭中做做垂死的掙掙扎,越是是掙扎,陷陷得越深。。最后無(wú)法法逃脫滅頂頂?shù)臑?zāi)難,,……程序序設(shè)計(jì)工作作正像這樣樣一個(gè)泥潭潭,……一一批批程序序員被迫在在泥潭中拼拼命掙扎,,……誰(shuí)也也沒(méi)有料到到竟會(huì)陷入入這樣的困困境……1.2軟軟件危機(jī)機(jī)與軟件工工程具體來(lái)說(shuō),,軟件危機(jī)機(jī)主要有以以下一些典典型表現(xiàn):對(duì)軟件開(kāi)發(fā)發(fā)成本和進(jìn)進(jìn)度的估計(jì)計(jì)常常很不不準(zhǔn)確。用戶對(duì)“已已完成的””軟件系統(tǒng)統(tǒng)不滿意的的現(xiàn)象經(jīng)常常發(fā)生。軟件產(chǎn)品的的質(zhì)量往往往靠不住。。軟件常常是是不可維護(hù)護(hù)的。軟件通常沒(méi)沒(méi)有適當(dāng)?shù)牡奈臋n資料料。軟件成本在在計(jì)算機(jī)系系統(tǒng)總成本本中所占的的比例逐年年上升。軟件開(kāi)發(fā)生生產(chǎn)率提高高的速度,,既跟不上上硬件的發(fā)發(fā)展速度,,也遠(yuǎn)遠(yuǎn)跟跟不上計(jì)算算機(jī)應(yīng)用迅迅速普及深深入的趨勢(shì)勢(shì)。1.2軟軟件危機(jī)機(jī)與軟件工工程除了軟件本本身的特點(diǎn)點(diǎn),軟件危危機(jī)發(fā)生的的主要原因因有:缺乏軟件開(kāi)開(kāi)發(fā)的經(jīng)驗(yàn)驗(yàn)和有關(guān)軟軟件開(kāi)發(fā)數(shù)數(shù)據(jù)的積累累,使得開(kāi)開(kāi)發(fā)工作的的計(jì)劃很難難制定。軟件人員與與用戶的交交流存在障障礙,使得得獲取的需需求不充分分或存在錯(cuò)錯(cuò)誤。軟件開(kāi)發(fā)過(guò)過(guò)程不規(guī)范范。如,沒(méi)沒(méi)有真正了了解用戶的的需求就開(kāi)開(kāi)始編程序序。隨著軟件規(guī)規(guī)模的增大大,其復(fù)雜雜性往往會(huì)會(huì)呈指數(shù)級(jí)級(jí)升高。需需要很多人人分工協(xié)作作,不僅涉涉及技術(shù)問(wèn)問(wèn)題,更重重要的是必必須有科學(xué)學(xué)嚴(yán)格的管管理。缺少有效的的軟件評(píng)測(cè)測(cè)手段,提提交用戶的的軟件質(zhì)量量不能完全全保證。1.2軟軟件危機(jī)機(jī)與軟件工工程徹底消除““軟件就是是程序”的的錯(cuò)誤觀念念。充分認(rèn)識(shí)到到軟件開(kāi)發(fā)發(fā)應(yīng)該是一一種組織良良好、管理理嚴(yán)密、各各類(lèi)人員協(xié)協(xié)同配合、、共同完成成的工程項(xiàng)項(xiàng)目。推廣和使用用在實(shí)踐中中總結(jié)出來(lái)來(lái)的開(kāi)發(fā)軟軟件的成功功技術(shù)、方方法和工具具。按工程化的的原則和方方法組織軟軟件開(kāi)發(fā)工工作。如何擺脫軟軟件危機(jī)?1.2軟軟件危機(jī)機(jī)與軟件工工程1.2軟軟件危機(jī)機(jī)與軟件工工程軟件工程的的概念為了克服軟軟件危機(jī),,1968年10月月在北大西西洋公約組組織(NATO)召召開(kāi)的計(jì)算算機(jī)科學(xué)會(huì)會(huì)議上,F(xiàn)ritzBauer首次次提出“軟軟件工程””的概念,,試圖將工工程化方法法應(yīng)用于軟軟件開(kāi)發(fā)。。在NATO會(huì)議議上,F(xiàn)ritzBauer對(duì)軟軟件工程程的定義義是:““軟件工工程就是是為了經(jīng)經(jīng)濟(jì)地獲獲得可靠靠的且能能在實(shí)際際機(jī)器上上有效地地運(yùn)行的的軟件,,而建立立和使用用完善的的工程原原理。””1993年IEEE給給出的定定義:“軟件工工程是::①把把系統(tǒng)的的、規(guī)范范的、可可度量的的途徑應(yīng)應(yīng)用于軟軟件開(kāi)發(fā)發(fā)、運(yùn)行行和維護(hù)護(hù)過(guò)程,,也就是是把工程程應(yīng)用于于軟件;;②研研究①中中提到的的途徑。。”。1.2軟軟件件危機(jī)與與軟件工工程軟件工程程是指導(dǎo)計(jì)計(jì)算機(jī)軟軟件開(kāi)發(fā)發(fā)和維護(hù)護(hù)的一門(mén)門(mén)工程學(xué)學(xué)科。采采用工程程的概念念、原理理、技術(shù)術(shù)和方法法來(lái)開(kāi)發(fā)發(fā)和維護(hù)護(hù)軟件,,把經(jīng)過(guò)過(guò)時(shí)間考考驗(yàn)而證證明正確確的管理理技術(shù)和和當(dāng)前能能夠得到到的最好好技術(shù)結(jié)結(jié)合起來(lái)來(lái),以經(jīng)經(jīng)濟(jì)地開(kāi)開(kāi)發(fā)出高高質(zhì)量的的軟件并并有效地地維護(hù)它它,這就就是軟件件工程。。1.2軟軟件件危機(jī)與與軟件工工程1.3軟軟件工工程的目目標(biāo)軟件工程程的目標(biāo)標(biāo)是運(yùn)用用先進(jìn)的的軟件開(kāi)開(kāi)發(fā)技術(shù)術(shù)和管理理方法來(lái)來(lái)提高軟軟件的質(zhì)質(zhì)量和生生產(chǎn)率,,也就是是要以較較短的周周期、較較低的成成本生產(chǎn)產(chǎn)出高質(zhì)質(zhì)量的軟軟件產(chǎn)品品,并最最終實(shí)現(xiàn)現(xiàn)軟件的的工業(yè)化化生產(chǎn)。。1.3軟軟件工工程的目目標(biāo)軟件的質(zhì)質(zhì)量特性性:功能性、可靠性、可使用性性、效率、可維護(hù)性性和可移植性性。功能性是指軟件件所實(shí)現(xiàn)現(xiàn)的功能能達(dá)到它它的設(shè)計(jì)計(jì)規(guī)范和和滿足用用戶需求求的程度度;可靠性是指在規(guī)規(guī)定的時(shí)時(shí)間和條條件下,,軟件能能夠正常常維持其其工作的的能力;;可使用性性是指為了了使用該該軟件所所需要的的能力;;效率是指在規(guī)規(guī)定的條條件下用用軟件實(shí)實(shí)現(xiàn)某種種功能所所需要的的計(jì)算機(jī)機(jī)資源的的有效性性;可維護(hù)性性是指當(dāng)環(huán)環(huán)境改變變或軟件件運(yùn)行發(fā)發(fā)生故障障時(shí),為為了使其其恢復(fù)正正常運(yùn)行行所做努努力的程程度;可可移植性性是指軟軟件從某某一環(huán)境境轉(zhuǎn)移到到另一環(huán)環(huán)境時(shí)所所做努力力的程度度。1.3軟軟件工工程的目目標(biāo)質(zhì)量目標(biāo)標(biāo)之間的的關(guān)系(1)關(guān)關(guān)注大型型軟件的的構(gòu)造(2)中中心課題題是控制制復(fù)雜性性(3)軟軟件經(jīng)常常變化(4)開(kāi)開(kāi)發(fā)軟件件的效率率非常重重要(5)和和諧地合合作是開(kāi)開(kāi)發(fā)軟件件的關(guān)鍵鍵(6)軟軟件必須須有效地地支持它它的用戶戶(7)在在軟件工工程領(lǐng)域域中是由由一種文文化背景景的人替替具有另另一種文文化背景景的人創(chuàng)創(chuàng)造產(chǎn)品品軟件工程程的本質(zhì)質(zhì)特性(1)按按軟件生生存周期期分階段段制訂計(jì)計(jì)劃并認(rèn)認(rèn)真實(shí)施施(2)堅(jiān)堅(jiān)持進(jìn)行行階段評(píng)評(píng)審(3)堅(jiān)堅(jiān)持嚴(yán)格格的產(chǎn)品品控制(4)使使用現(xiàn)代代軟件開(kāi)開(kāi)發(fā)技術(shù)術(shù)(5)明明確責(zé)任任(6)用用人少而而精(7)不不斷改進(jìn)進(jìn)開(kāi)發(fā)過(guò)過(guò)程軟件工程程的基本本原理1.4軟件件生存期概念軟件也有一個(gè)個(gè)孕育、誕生生、成長(zhǎng)、成成熟和衰亡的的生存過(guò)程,,我們稱這個(gè)個(gè)過(guò)程為軟件生命周期期或軟件生存期。軟件生存期由由軟件定義、、軟件開(kāi)發(fā)和和運(yùn)行維護(hù)3個(gè)時(shí)期組成成,每個(gè)時(shí)期期又可劃分為為若干個(gè)階段段。1.4軟件件生存期軟件定義時(shí)期期主要任務(wù)是解解決“做什么么”的問(wèn)題,,即確定工程程的總目標(biāo)和和可行性;導(dǎo)導(dǎo)出實(shí)現(xiàn)工程程目標(biāo)應(yīng)使用用的策略及系系統(tǒng)必須完成成的功能;估估計(jì)完成工程程需要的資源源和成本;制制訂工程進(jìn)度度表。通常又分為3個(gè)階段:?jiǎn)栴}定義、可行性研究和需求分析。1.4軟件件生存期軟件開(kāi)發(fā)時(shí)期期主要任務(wù)是解解決“如何做做”的問(wèn)題,,即具體設(shè)計(jì)計(jì)和實(shí)現(xiàn)在前前一個(gè)時(shí)期定定義的軟件。。由概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試4個(gè)階段組成成。1.4軟件件生存期軟件運(yùn)行維護(hù)護(hù)時(shí)期主要任務(wù)是使使軟件持久地地滿足用戶的的需要,通常常有4類(lèi)維護(hù)護(hù)活動(dòng):改正性維護(hù),也就是診斷斷和改正在使使用過(guò)程中發(fā)發(fā)現(xiàn)的軟件錯(cuò)錯(cuò)誤;適應(yīng)性維護(hù),即修改軟件件以適應(yīng)環(huán)境境的變化;完善性維護(hù),即根據(jù)用戶戶的要求改進(jìn)進(jìn)或擴(kuò)充軟件件,使它更完完善;預(yù)防性維護(hù),即修改軟件件為將來(lái)的維維護(hù)活動(dòng)預(yù)先先做準(zhǔn)備。1.4軟件件生存期開(kāi)發(fā)過(guò)程中的的典型文檔①軟件需求規(guī)格格說(shuō)明書(shū):描述將要開(kāi)開(kāi)發(fā)的軟件做做什么。②項(xiàng)目計(jì)劃:描述將要完完成的任務(wù)及及其順序,并并估計(jì)所需要要的時(shí)間及工工作量。③軟件測(cè)試計(jì)劃劃:描述如何測(cè)測(cè)試軟件,使使之確保軟件件應(yīng)實(shí)現(xiàn)規(guī)定定的功能,并并達(dá)到預(yù)期的的性能。④軟件設(shè)計(jì)說(shuō)明明書(shū):描述軟件的的結(jié)構(gòu),包括括概要設(shè)計(jì)及及詳細(xì)設(shè)計(jì)。。⑤用戶手冊(cè):描述如何使使用軟件。1.4軟件件生存期各個(gè)階段所要要完成的基本本任務(wù)問(wèn)題定義與可可行性研究本階段要回答答的關(guān)鍵問(wèn)題題是“到底要要解決什么問(wèn)問(wèn)題?在成本本和時(shí)間的限限制條件下能能否解決問(wèn)題題?是否值得得做?”(2)需求求分析本階段要回答答的關(guān)鍵問(wèn)題題是“目標(biāo)系系統(tǒng)應(yīng)當(dāng)做什什么?”(3)軟件件設(shè)計(jì)設(shè)計(jì)是軟件工工程的技術(shù)核核心。本階段段要回答的關(guān)關(guān)鍵問(wèn)題是““如何實(shí)現(xiàn)目目標(biāo)系統(tǒng)?””1.4軟件件生存期各個(gè)階段所要要完成的基本本任務(wù)(4)程序序編碼和單元元測(cè)試本階段要解決決的問(wèn)題是““正確地實(shí)現(xiàn)現(xiàn)已做的設(shè)計(jì)計(jì)”,即“如如何編寫(xiě)正確確的、可維護(hù)護(hù)的程序代碼碼?”(5)集成成和系統(tǒng)測(cè)試試測(cè)試是控制軟軟件質(zhì)量的重重要手段,本本階段的主要要任務(wù)是做集集成測(cè)試和系系統(tǒng)測(cè)試。(6)軟件件運(yùn)行和維護(hù)護(hù)已交付的軟件件投入正式使使用,便進(jìn)入入運(yùn)行階段。。這一階段可可能持續(xù)若干干年。軟件在在運(yùn)行中可能能由于多方面面的原因,需需要對(duì)它進(jìn)行行修改。1.5軟件件生存期模型型瀑布模型快速原型模型型增量模型螺旋模型噴泉模型統(tǒng)一過(guò)程瀑布模型在20世紀(jì)80年代之前前,瀑布模型型一直是唯一一被廣泛采用用的生命周期期模型。傳統(tǒng)的瀑布模模型如圖所示示。瀑布模型瀑布模型的特特點(diǎn)階段間具有順順序性和依賴賴性。其中包包含兩重含義義:①必須等前前一階段的工工作完成之后后,才能開(kāi)始始后一階段的的工作;②前一階段段的輸出文檔檔就是后一階階段的輸入文文檔。瀑布模型瀑布模型的特特點(diǎn)推遲實(shí)現(xiàn)的觀觀點(diǎn)①瀑布模型型在編碼之前前設(shè)置了系統(tǒng)統(tǒng)分析和系統(tǒng)統(tǒng)設(shè)計(jì)的各個(gè)個(gè)階段,分析析與設(shè)計(jì)階段段的基本任務(wù)務(wù)規(guī)定,在這這兩個(gè)階段主主要考慮目標(biāo)標(biāo)系統(tǒng)的邏輯輯模型,不涉涉及軟件的物物理實(shí)現(xiàn)。②清楚地區(qū)區(qū)分邏輯設(shè)計(jì)計(jì)與物理設(shè)計(jì)計(jì),盡可能推推遲程序的物物理實(shí)現(xiàn),是是按照瀑布模模型開(kāi)發(fā)軟件件的一條重要要的指導(dǎo)思想想。瀑布模型瀑布模型的特特點(diǎn)質(zhì)量保證的觀觀點(diǎn)①每個(gè)階段段都必須完成成規(guī)定的文檔檔,沒(méi)有交出出合格的文檔檔就是沒(méi)有完完成該階段的的任務(wù)。②每個(gè)階段段結(jié)束前都要要對(duì)所完成的的文檔進(jìn)行評(píng)評(píng)審,以便盡盡早發(fā)現(xiàn)問(wèn)題題,改正錯(cuò)誤誤。瀑布模型實(shí)際的瀑布模模型實(shí)際的瀑布模模型是帶“反反饋環(huán)”的,,如圖所示。。圖中實(shí)線箭頭表示示開(kāi)發(fā)過(guò)程,虛線箭頭表示示維護(hù)過(guò)程。瀑布模型瀑布模型的優(yōu)優(yōu)點(diǎn)可強(qiáng)迫開(kāi)發(fā)人人員采用規(guī)范范化的方法。。嚴(yán)格地規(guī)定了了每個(gè)階段必必須提交的文文檔。要求每個(gè)階段段交出的所有有產(chǎn)品都必須須是經(jīng)過(guò)驗(yàn)證證的。瀑布模型瀑布模型的缺缺點(diǎn)由于瀑布模型型幾乎完全依依賴于書(shū)面的的規(guī)格說(shuō)明,,很可能導(dǎo)致致最終開(kāi)發(fā)出出的軟件產(chǎn)品品不能真正滿滿足用戶的需需要。如果需需求規(guī)格說(shuō)明明與用戶需求求之間有差異異,就會(huì)發(fā)生生這種情況。。瀑布模型只適適用于項(xiàng)目開(kāi)開(kāi)始時(shí)需求已已確定的情況況??焖僭湍P托涂焖僭褪强炜焖俳⑵饋?lái)來(lái)的可以在計(jì)計(jì)算機(jī)上運(yùn)行行的程序,它它所能完成的的功能往往是是最終產(chǎn)品能能完成的功能能的一個(gè)子集集。快速原型模型型如圖所示。??焖僭湍P托涂焖僭湍P托偷膬?yōu)點(diǎn)(1)有助于于滿足用戶的的真實(shí)需求。。(2)原型系系統(tǒng)已經(jīng)通過(guò)過(guò)與用戶的交交互而得到驗(yàn)驗(yàn)證,據(jù)此產(chǎn)產(chǎn)生的規(guī)格說(shuō)說(shuō)明文檔能夠夠正確地描述述用戶需求。。(3)軟件產(chǎn)產(chǎn)品的開(kāi)發(fā)基基本上是按線線性順序進(jìn)行行。(4)因?yàn)橐?guī)規(guī)格說(shuō)明文檔檔正確地描述述了用戶需求求,因此,在在開(kāi)發(fā)過(guò)程的的后續(xù)階段不不會(huì)因?yàn)榘l(fā)現(xiàn)現(xiàn)規(guī)格說(shuō)明文文檔的錯(cuò)誤而而進(jìn)行較大的的返工。快速原型模型型快速原型模型型的優(yōu)點(diǎn)(5)開(kāi)發(fā)人人員通過(guò)建立立原型系統(tǒng)已已經(jīng)學(xué)到了許許多東西,因因此,在設(shè)計(jì)計(jì)和編碼階段段發(fā)生錯(cuò)誤的的可能性也比比較小,這自自然減少了在在后續(xù)階段需需要改正前面面階段所犯錯(cuò)錯(cuò)誤的可能性性。(6)快速速原型的突出出特點(diǎn)是“快快速”。開(kāi)發(fā)發(fā)人員應(yīng)該盡盡可能快地建建造出原型系系統(tǒng),以加速速軟件開(kāi)發(fā)過(guò)過(guò)程,節(jié)約軟軟件開(kāi)發(fā)成本本。原型的用途是是獲知用戶的的真正需求,,一旦需求確確定了,原型型可以拋棄,,當(dāng)然也可以以在原型的基基礎(chǔ)上進(jìn)行開(kāi)開(kāi)發(fā)。增量模型增量模型也也稱為漸增增模型,是是Mills等于1980年年提出來(lái)的的。使用增量模模型開(kāi)發(fā)軟軟件時(shí),把把軟件產(chǎn)品品作為一系系列的增量量構(gòu)件來(lái)設(shè)設(shè)計(jì)、編碼碼、集成和和測(cè)試。每個(gè)構(gòu)件由由多個(gè)相互互作用的模模塊構(gòu)成,,并且能夠夠完成特定定的功能。。增量模型增量模型如如圖所示。。增量模型增量模型的的優(yōu)點(diǎn)(1)能在在較短時(shí)間間內(nèi)向用戶戶提交可完完成一些有有用的工作作產(chǎn)品,即即從第1個(gè)個(gè)構(gòu)件交付付之日起,,用戶就能能做一些有有用的工作作。(2)逐步步增加產(chǎn)品品的功能可可以使用戶戶有較充裕裕的時(shí)間學(xué)學(xué)習(xí)和適應(yīng)應(yīng)新產(chǎn)品,,從而減少少一個(gè)全新新的軟件可可能給用戶戶組織帶來(lái)來(lái)的沖擊。。(3)項(xiàng)目目失敗的風(fēng)風(fēng)險(xiǎn)較低,,雖然在某某些增量構(gòu)構(gòu)件中可能能遇到一些些問(wèn)題,但但其他增量量構(gòu)件將能能夠成功地地交付給客客戶。(4)優(yōu)先先級(jí)最高的的服務(wù)首先先交付,然然后再將其其他增量構(gòu)構(gòu)件逐次集集成進(jìn)來(lái)。。因此,最最重要的系系統(tǒng)服務(wù)將將接受最多多的測(cè)試。。增量模型增量構(gòu)件開(kāi)開(kāi)發(fā)每個(gè)增量構(gòu)構(gòu)件應(yīng)當(dāng)實(shí)實(shí)現(xiàn)某種系系統(tǒng)功能,,因此增量量構(gòu)件的開(kāi)開(kāi)發(fā)可以采采用瀑布模模型的方式式,如圖所所示。增量模型采用增量模模型需注意意的問(wèn)題(1)在把把每個(gè)新的的增量構(gòu)件件集成到現(xiàn)現(xiàn)有軟件體體系結(jié)構(gòu)中中時(shí),必須須不破壞原原來(lái)已經(jīng)開(kāi)開(kāi)發(fā)出的產(chǎn)產(chǎn)品。(2)軟件件體系結(jié)構(gòu)構(gòu)必須是開(kāi)開(kāi)放的,即即向現(xiàn)有產(chǎn)產(chǎn)品中加入入新構(gòu)件的的過(guò)程必須須簡(jiǎn)單、方方便。因此,采用用增量模型型比采用瀑瀑布模型和和快速原型型模型更需需要精心的的設(shè)計(jì)。螺旋模型螺旋模型最最初是Boehm于于1988年提出來(lái)來(lái)的。該模型將瀑瀑布模型與與快速原型型模型結(jié)合合起來(lái),并并且加入兩兩種模型均均忽略了的的風(fēng)險(xiǎn)分析析。螺旋模型的的基本思想想是,使用用原型及其其他方法來(lái)來(lái)盡量降低低風(fēng)險(xiǎn)。螺旋模型理解這種模模型的一個(gè)個(gè)簡(jiǎn)便方法法,是把它它看做在每每個(gè)階段之之前都增加加了風(fēng)險(xiǎn)分分析過(guò)程的的快速原型型模型。螺旋模型完整的螺旋旋模型螺旋模型完整的螺旋旋模型在螺旋模型型中,軟件件過(guò)程表示示成一個(gè)螺螺線,而不不是像以往往的模型那那樣表示為為一個(gè)具有有回溯的活活動(dòng)序列。。在螺線上的的每一個(gè)循循環(huán)表示過(guò)過(guò)程的一個(gè)個(gè)階段。每個(gè)階段開(kāi)開(kāi)始時(shí)的任任務(wù)是確定定該階段的的目標(biāo)、為為完成這些些目標(biāo)選擇擇方案及設(shè)設(shè)定這些方方案的約束束條件。接接下來(lái)的任任務(wù)是,從從風(fēng)險(xiǎn)角度度分析上一一步的工作作結(jié)果,努努力排除各各種潛在的的風(fēng)險(xiǎn),通通常用建造造原型的方方法來(lái)排除除風(fēng)險(xiǎn)。如如果成功地地排除了所所有風(fēng)險(xiǎn),,則啟動(dòng)下下一步開(kāi)發(fā)發(fā)步驟,在在這個(gè)步驟驟的工作過(guò)過(guò)程相當(dāng)于于純粹的瀑瀑布模型。。最后是評(píng)評(píng)價(jià)該階段段的工作成成果并計(jì)劃劃下一個(gè)階階段的工作作。螺旋模型螺旋模型的的4項(xiàng)活動(dòng)動(dòng)螺線上的每每一個(gè)循環(huán)環(huán)可劃分為為4個(gè)象限限,分別表表達(dá)了4個(gè)個(gè)方面的活活動(dòng)。(1)目目標(biāo)標(biāo)設(shè)設(shè)定定————定定義義在在該該階階段段的的目目標(biāo)標(biāo),,弄弄清清對(duì)對(duì)過(guò)過(guò)程程和和產(chǎn)產(chǎn)品品的的限限制制條條件件,,制制訂訂詳詳細(xì)細(xì)的的管管理理計(jì)計(jì)劃劃,,識(shí)識(shí)別別項(xiàng)項(xiàng)目目風(fēng)風(fēng)險(xiǎn)險(xiǎn),,可可能能還還要要計(jì)計(jì)劃劃與與這這些些風(fēng)風(fēng)險(xiǎn)險(xiǎn)有有關(guān)關(guān)的的對(duì)對(duì)策策。。(2)風(fēng)風(fēng)險(xiǎn)險(xiǎn)估估計(jì)計(jì)與與弱弱化化————針針對(duì)對(duì)每每一一個(gè)個(gè)風(fēng)風(fēng)險(xiǎn)險(xiǎn)進(jìn)進(jìn)行行詳詳細(xì)細(xì)分分析析,,設(shè)設(shè)想想弱弱化化風(fēng)風(fēng)險(xiǎn)險(xiǎn)的的步步驟驟。。(3)開(kāi)開(kāi)發(fā)發(fā)與與驗(yàn)驗(yàn)證證————評(píng)評(píng)價(jià)價(jià)風(fēng)風(fēng)險(xiǎn)險(xiǎn)之之后后選選擇擇系系統(tǒng)統(tǒng)開(kāi)開(kāi)發(fā)發(fā)模模型型。。(4)計(jì)計(jì)劃劃————評(píng)評(píng)價(jià)價(jià)開(kāi)開(kāi)發(fā)發(fā)工工作作,,確確定定是是否否繼繼續(xù)續(xù)進(jìn)進(jìn)行行螺螺線線的的下下一一個(gè)個(gè)循循環(huán)環(huán)。。如如果果確確定定要要繼繼續(xù)續(xù),,則則計(jì)計(jì)劃劃項(xiàng)項(xiàng)目目的的下下一一個(gè)個(gè)階階段段的的工工作作。。螺旋旋模模型型螺旋旋模模型型的的優(yōu)優(yōu)點(diǎn)點(diǎn)對(duì)可可選選方方案案和和約約束束條條件件的的強(qiáng)強(qiáng)調(diào)調(diào)有有利利于于已已有有軟軟件件的的重重用用,,也也有有助助于于把把軟軟件件質(zhì)質(zhì)量量作作為為軟軟件件開(kāi)開(kāi)發(fā)發(fā)的的一一個(gè)個(gè)重重要要目目標(biāo)標(biāo)。。減少少了了過(guò)過(guò)多多測(cè)測(cè)試試或或測(cè)測(cè)試試不不足足所所帶帶來(lái)來(lái)的的風(fēng)風(fēng)險(xiǎn)險(xiǎn)。。在螺螺旋旋模模型型中中維維護(hù)護(hù)只只是是模模型型的的另另一一個(gè)個(gè)周周期期,,因因而而在在維維護(hù)護(hù)和和開(kāi)開(kāi)發(fā)發(fā)之之間間并并沒(méi)沒(méi)有有本本質(zhì)質(zhì)區(qū)區(qū)別別。。螺旋旋模模型型的的缺缺點(diǎn)點(diǎn)螺旋旋模模型型是是風(fēng)風(fēng)險(xiǎn)險(xiǎn)驅(qū)驅(qū)動(dòng)動(dòng)的的,,因因此此要要求求軟軟件件開(kāi)開(kāi)發(fā)發(fā)人人員員必必須須具具有有豐豐富富的的風(fēng)風(fēng)險(xiǎn)險(xiǎn)評(píng)評(píng)估估經(jīng)經(jīng)驗(yàn)驗(yàn)和和這這方方面面的的專專門(mén)門(mén)知知識(shí)識(shí),,否否則則將將出出現(xiàn)現(xiàn)真真正正的的風(fēng)風(fēng)險(xiǎn)險(xiǎn)::當(dāng)當(dāng)項(xiàng)項(xiàng)目目實(shí)實(shí)際際上上正正在在走走向向?yàn)?zāi)災(zāi)難難時(shí)時(shí),,開(kāi)開(kāi)發(fā)發(fā)人人員員可可能能還還以以為為一一切切正正常常。。噴泉模型型噴泉模型型是典型型的面向向?qū)ο笊芷谄谀P汀?。“噴泉””一詞體體現(xiàn)了迭迭代和無(wú)無(wú)間隙特特性。圖圖中代表表不同階階段的圓圓圈相互互重疊,,這明確確表示兩兩個(gè)活動(dòng)動(dòng)之間存存在重疊疊。基于構(gòu)件件的開(kāi)發(fā)發(fā)模型基于構(gòu)件件的軟件件工程((component-basedsoftwareengineering,CBSE))是強(qiáng)調(diào)調(diào)使用可可復(fù)用的的軟件““構(gòu)件””來(lái)設(shè)計(jì)計(jì)和構(gòu)造造基于計(jì)計(jì)算機(jī)的的系統(tǒng)的的過(guò)程。。基于構(gòu)件件的開(kāi)發(fā)發(fā)模型Clements對(duì)CBSE給出了了如下描描述。CBSE正在改改變大型型軟件系系統(tǒng)的開(kāi)開(kāi)發(fā)方式式。CBSE體體現(xiàn)了FrodBrooks和其其他人支支持的““購(gòu)買(mǎi),,而非構(gòu)構(gòu)造”的的思想。。就如同同早期的的子程序序?qū)⒊绦蛐騿T從考考慮編程程細(xì)節(jié)中中解脫出出來(lái)一樣樣,CBSE將將考慮的的重點(diǎn)從從編碼轉(zhuǎn)轉(zhuǎn)移到組組裝軟件件系統(tǒng)。。考慮的焦焦點(diǎn)是““集成””,而不不再是““實(shí)現(xiàn)””。這樣做的的基礎(chǔ)是是假定在在很多大大型軟件件系統(tǒng)中中存在足足夠多的的共性,,使得開(kāi)開(kāi)發(fā)可復(fù)復(fù)用的構(gòu)構(gòu)件來(lái)滿滿足這些些共性是是可行的的。基于構(gòu)件件的開(kāi)發(fā)發(fā)模型當(dāng)軟件團(tuán)團(tuán)隊(duì)使用用傳統(tǒng)的的需求獲獲取技術(shù)術(shù)確定了了待開(kāi)發(fā)發(fā)軟件的的系統(tǒng)需需求時(shí),,該過(guò)程程開(kāi)始。。體系結(jié)構(gòu)構(gòu)設(shè)計(jì)完完成后,,并不立立即進(jìn)行行詳細(xì)設(shè)設(shè)計(jì)任務(wù)務(wù),而是是針對(duì)每每一系統(tǒng)統(tǒng)需求考考慮以下下問(wèn)題:(1)現(xiàn)現(xiàn)有的商商品化構(gòu)構(gòu)件(commercialoff-the-shelf,,COTS)是是否能夠夠?qū)崿F(xiàn)該該需求??(2)內(nèi)內(nèi)部開(kāi)發(fā)發(fā)的可復(fù)復(fù)用構(gòu)件件是否能能夠?qū)崿F(xiàn)現(xiàn)該需求求?(3)可可用構(gòu)件件的接口口與待構(gòu)構(gòu)造系統(tǒng)統(tǒng)的體系系結(jié)構(gòu)是是否相容容?基于構(gòu)件件的開(kāi)發(fā)發(fā)模型基于構(gòu)件件的開(kāi)發(fā)發(fā)模型如如下圖。。基于構(gòu)件件的開(kāi)發(fā)發(fā)模型開(kāi)發(fā)步驟驟不考慮構(gòu)構(gòu)件的開(kāi)開(kāi)發(fā)技術(shù)術(shù),基于于構(gòu)件的的開(kāi)發(fā)模模型由以以下步驟驟組成::(1)對(duì)對(duì)于該問(wèn)問(wèn)題領(lǐng)域域的基于于構(gòu)件的的可用產(chǎn)產(chǎn)品進(jìn)行行研究和和評(píng)估。。(2)考考慮構(gòu)件件集成的的問(wèn)題。。(3)設(shè)設(shè)計(jì)軟件件架構(gòu)以以容納這這些構(gòu)件件。(4)將將構(gòu)件集集成到架架構(gòu)中。。(5)進(jìn)進(jìn)行充分分的測(cè)試試以保證證功能正正常。基于構(gòu)件件的開(kāi)發(fā)發(fā)模型典型的構(gòu)構(gòu)件模型型(1)OMG/CORBA。對(duì)象管管理組織織發(fā)布了了公共對(duì)對(duì)象請(qǐng)求求代理體體系結(jié)構(gòu)構(gòu)(OMG/CORBA),,一個(gè)對(duì)對(duì)象請(qǐng)求求代理提提供了多多種服務(wù)務(wù),使得得可復(fù)用用構(gòu)件((對(duì)象))可以與與其他構(gòu)構(gòu)件通信信。(2)MicrosoftCOM/DCOM/.NET。微軟公公司開(kāi)發(fā)發(fā)了構(gòu)件件對(duì)象模模型(COM)),此模模型提供供了構(gòu)件件的規(guī)格格說(shuō)明,在Windows操操作系統(tǒng)統(tǒng),一個(gè)個(gè)應(yīng)用系系統(tǒng)中可可以使用用不同廠廠商生產(chǎn)產(chǎn)的構(gòu)件件。(3)SunJavaBean構(gòu)構(gòu)件。JavaBean構(gòu)構(gòu)件系統(tǒng)統(tǒng)是一個(gè)個(gè)可移植植的、平平臺(tái)獨(dú)立立的、使使用Java程程序設(shè)計(jì)計(jì)語(yǔ)言開(kāi)開(kāi)發(fā)的CBSE基礎(chǔ)設(shè)設(shè)施。統(tǒng)一過(guò)程程由Booch、、Jacobson及及Rumbaugh提提出,統(tǒng)統(tǒng)一過(guò)程程模型如如圖所示示。統(tǒng)一過(guò)程程統(tǒng)一過(guò)程程的工作作流在統(tǒng)一過(guò)過(guò)程中,,有6個(gè)個(gè)核心工工作流。。①業(yè)務(wù)建模模工作流流。用商業(yè)業(yè)用例為為商業(yè)過(guò)過(guò)程建立立文檔。。②需求工作作流。目標(biāo)是是描述系系統(tǒng)應(yīng)該該做什么么,確保保開(kāi)發(fā)人人員構(gòu)建建正確的的系統(tǒng)。。為此,,需明確確系統(tǒng)的的功能需需求和非非功能需需求(約約束)。。③分析和設(shè)設(shè)計(jì)工作作流。其目標(biāo)標(biāo)是說(shuō)明明如何做做。結(jié)果果是分析析模型和和設(shè)計(jì)模模型。統(tǒng)一過(guò)程程④實(shí)現(xiàn)工作作流。用分層層的方式式組織代代碼的結(jié)結(jié)構(gòu),用用構(gòu)件的的形式來(lái)來(lái)實(shí)現(xiàn)類(lèi)類(lèi),對(duì)構(gòu)構(gòu)件進(jìn)行行單元測(cè)測(cè)試,將將構(gòu)件集集成到可可執(zhí)行的的系統(tǒng)中中。⑤測(cè)試工作作流。驗(yàn)證對(duì)對(duì)象之間間的交互互、是否否所有的的構(gòu)件都都集成了了、是否否正確實(shí)實(shí)現(xiàn)了所所有需求求、查錯(cuò)錯(cuò)并改正正。⑥部署工工作流流。制作作軟件件的外外部版版本、、軟件件打包包、分分發(fā)、、為用用戶提提供幫幫助和和支持持。統(tǒng)一過(guò)過(guò)程統(tǒng)一過(guò)過(guò)程的的階段段統(tǒng)一過(guò)過(guò)程有有4個(gè)個(gè)階段段,分分別是是初始始階段段、細(xì)細(xì)化階階段、、構(gòu)造造階段段和移移交階階段。。①初始階階段。初始始階段段主要要關(guān)注注項(xiàng)目目計(jì)劃劃和風(fēng)風(fēng)險(xiǎn)評(píng)評(píng)估,,其目目的是是確定定是否否值得得開(kāi)發(fā)發(fā)目標(biāo)標(biāo)信息息系統(tǒng)統(tǒng)。②細(xì)化階階段。細(xì)化化階段段關(guān)心心定義義系統(tǒng)統(tǒng)的總總體框框架,,其目目標(biāo)是是:細(xì)細(xì)化初初始需需求((用況況)、、細(xì)化化體系系結(jié)構(gòu)構(gòu)、監(jiān)監(jiān)控風(fēng)風(fēng)險(xiǎn)并并細(xì)化化它們們的優(yōu)優(yōu)先級(jí)級(jí)、細(xì)細(xì)化業(yè)業(yè)務(wù)案案例以以及制制訂項(xiàng)項(xiàng)目管管理計(jì)計(jì)劃。。統(tǒng)一過(guò)過(guò)程統(tǒng)一過(guò)過(guò)程的的階段段③構(gòu)造階階段。構(gòu)造造階段段是建建立系
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年七年級(jí)歷史下冊(cè) 第16課 明朝的科技、建筑與文學(xué)說(shuō)課稿 新人教版
- 2025瓷磚買(mǎi)賣(mài)合同
- Unit 3 Family Matters Understanding ideas Like Father,Like Son 說(shuō)課稿 -2024-2025學(xué)年高中英語(yǔ)外研版(2019)必修第一冊(cè)
- 2024-2025學(xué)年高中語(yǔ)文 第三課 第4節(jié) 咬文嚼字-消滅錯(cuò)別字說(shuō)課稿2 新人教版選修《語(yǔ)言文字應(yīng)用》
- 21 古詩(shī)三首 第一課時(shí) 說(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)上冊(cè)
- 2025購(gòu)銷(xiāo)合同范本
- 森林安全監(jiān)管方案
- 企業(yè)派駐合同范例
- 網(wǎng)狀吊索拱橋施工方案
- 黔東南綠化草坪施工方案
- 新生兒黃疸早期識(shí)別課件
- 醫(yī)藥營(yíng)銷(xiāo)團(tuán)隊(duì)建設(shè)與管理
- 新生兒氣管插管操作評(píng)分標(biāo)準(zhǔn)
- 二年級(jí)數(shù)學(xué)上冊(cè)口算題100道(全冊(cè)完整)
- 冷軋工程專業(yè)詞匯匯編注音版
- 小升初幼升小擇校畢業(yè)升學(xué)兒童簡(jiǎn)歷
- 第一單元(金融知識(shí)進(jìn)課堂)課件
- 五年級(jí)語(yǔ)文閱讀訓(xùn)練20篇專項(xiàng)訓(xùn)練帶答案解析
- 介入導(dǎo)管室護(hù)士述職報(bào)告(5篇)
- GB/T 37062-2018水產(chǎn)品感官評(píng)價(jià)指南
- 零件的工藝分析及毛坯選擇
評(píng)論
0/150
提交評(píng)論