軟件工程推進(jìn)方法第章aoweroin
第二章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),軟 件 工 程 推 進(jìn) 方 法,講 稿,李 超,成都信息工程學(xué)院,2005.6,第五章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,軟件開(kāi)發(fā)模型是軟件開(kāi)發(fā)的全部過(guò)程、活動(dòng)、任務(wù)和管理的結(jié)構(gòu)框架。,軟件開(kāi)發(fā)模型可以直觀地描述一個(gè)組織在開(kāi)發(fā)某項(xiàng)軟件過(guò)程中的全部活動(dòng),以及在開(kāi)發(fā)過(guò)程中的人員組織管理,工作順序和任務(wù)管理,軟件質(zhì)量保證等全部?jī)?nèi)容。,對(duì)軟件開(kāi)發(fā)模型的選用直接影響軟件開(kāi)發(fā)周期和人員使用,直接影響到軟件開(kāi)發(fā)的生產(chǎn)性和軟件的質(zhì)量。,第五章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,軟件開(kāi)發(fā)模型與軟件工程,軟件開(kāi)發(fā)模型是將軟件開(kāi)發(fā)中的主要活動(dòng)細(xì)分為:,系統(tǒng)需求分析,程序設(shè)計(jì),程序,編碼,測(cè),試,運(yùn)行維護(hù),系統(tǒng),設(shè)計(jì),人員管理,項(xiàng)目管理,第五章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,軟件開(kāi)發(fā)模型與軟件工程,根據(jù)不同的應(yīng)用系統(tǒng)合理地組織軟件開(kāi)發(fā)階段,由不同的軟件開(kāi)發(fā)階段的組織關(guān)系確定了軟件的開(kāi)發(fā)模型。,軟件開(kāi)發(fā)模型就是用一定的流程將軟件開(kāi)發(fā)的各個(gè)主要環(huán)節(jié)連接起來(lái),并可用規(guī)范的方式操作全過(guò)程,如同工廠的生產(chǎn)線。,第五章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,軟件開(kāi)發(fā)模型與軟件工程,常見(jiàn)的軟件開(kāi)發(fā)模型有:,瀑布,(,線性,),模型,演化模型,(,原型開(kāi)發(fā)模型,),,螺旋模型,,XP,開(kāi)發(fā)模型、,PSP,開(kāi)發(fā)模型,快速原型模型,形式化描述模型等。,由于現(xiàn)在還沒(méi)有任何一種方法能夠解決軟件危機(jī)中的所有問(wèn)題,所以在軟件開(kāi)發(fā)的各個(gè)階段采用綜合治理的方法,,軟件開(kāi)發(fā)模型直接影響軟件開(kāi)發(fā)的周期和軟件質(zhì)量,是軟件開(kāi)發(fā)的組織管理形式,是軟件工程的最重要內(nèi)容。,第五章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,瀑布式模型,瀑布模型概念,需求分析,系統(tǒng)設(shè)計(jì),合同,需求規(guī)格說(shuō)明,程序設(shè)計(jì),編程,測(cè)試,運(yùn)行及維護(hù),隱含要求及需求,確認(rèn),導(dǎo)出,要求,?,當(dāng)事人,驗(yàn)證,追蹤:,前向,后向,需求管理:,修改需求,瀑布模型概要圖,第五章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,瀑布式模型,瀑布模型特點(diǎn),瀑布模型是早期出現(xiàn)的軟件工程模型(又稱(chēng)為線性模型),它在出現(xiàn)后一直在大量使用,很多軟件組織為了有效地使用瀑布開(kāi)發(fā)模型實(shí)施開(kāi)發(fā),制定了軟件開(kāi)發(fā)規(guī)范和一些標(biāo)準(zhǔn)。其中明確了各個(gè)階段應(yīng)交付的產(chǎn)品,下一階段如何使用上一階段的成果物,為嚴(yán)格控制軟件開(kāi)發(fā)進(jìn)度,保證軟件質(zhì)量,成功地開(kāi)發(fā)軟件創(chuàng)造了有力條件。,瀑布模型在支持結(jié)構(gòu)化開(kāi)發(fā),控制軟件開(kāi)發(fā)的復(fù)雜性,促進(jìn)軟件工程化等方面起到了顯著的作用。但是,它太理想化,太單純。,第五章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,瀑布式模型,瀑布模型特點(diǎn),瀑布模型中軟件開(kāi)發(fā)的各階段之間具有如下特性:,從上一階段承接的成果物作為本階段的工作對(duì)象;,對(duì)上一階段成果物實(shí)施本階段的活動(dòng);,給出本階段的成果物,作為下一階段的輸入;,對(duì)本階段的工作進(jìn)行評(píng)審,若本階段的工作得到確認(rèn),則繼續(xù)下階段的工作,否則返回前一階段或更前一階段。,第五章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,瀑布式模型,瀑布模型特點(diǎn),該模型最重要的缺點(diǎn)是缺乏靈活性,無(wú)法通過(guò)開(kāi)發(fā)活動(dòng)完善本來(lái)就不太確定的軟件需求,開(kāi)發(fā)客戶(hù)真正需要的軟件。,使用瀑布式開(kāi)發(fā)需要客戶(hù)和開(kāi)發(fā)人員對(duì)軟件需求進(jìn)行充分地交流、溝通、充分地發(fā)掘需求,使軟件需求盡可能滿(mǎn)足客戶(hù)的需求,否則會(huì)造成需求不確定的開(kāi)發(fā),會(huì)給以后的開(kāi)發(fā)帶來(lái)大量的返工。經(jīng)驗(yàn)表明,早期的需求分析中的錯(cuò)誤,要改正它所需要的開(kāi)銷(xiāo)等于實(shí)現(xiàn)該錯(cuò)誤所需開(kāi)銷(xiāo)的,100,倍到,1000,倍。系統(tǒng)需求錯(cuò)誤對(duì)軟件開(kāi)發(fā)影響最大,帶來(lái)的損失最大。隨著軟件開(kāi)發(fā)項(xiàng)目規(guī)模的增大,該模型對(duì)于需求不能完全確定的軟件開(kāi)發(fā)項(xiàng)目將產(chǎn)生很大的風(fēng)險(xiǎn)。,第五章 軟件開(kāi)發(fā)模型與開(kāi)發(fā)方法,演化模型,在項(xiàng)目開(kāi)發(fā)的初始階段,如果人們對(duì)軟件的需求認(rèn)識(shí)往往不夠清楚,開(kāi)發(fā)人員和客戶(hù)都應(yīng)當(dāng)隨著開(kāi)發(fā)不斷的深入,不斷提高對(duì)系統(tǒng)的認(rèn)識(shí),很難做到軟件開(kāi)發(fā)一次成功,重復(fù)開(kāi)發(fā)在所難免。,演化模型就是為減少對(duì)軟件認(rèn)識(shí)的差異,先建立試驗(yàn)核心系統(tǒng),交給客戶(hù)使用,探索可行性,對(duì)其進(jìn)行評(píng)估,再進(jìn)一步提出精化系統(tǒng),增強(qiáng)軟件能力需求,或用此核心系統(tǒng)作為系統(tǒng)原型與客戶(hù)共同探討目標(biāo)軟件的需求,充分發(fā)掘客戶(hù)對(duì)軟件系統(tǒng)的全部需求,然后再進(jìn)行深入開(kāi)發(fā)。,第五章,軟,軟件開(kāi)發(fā)模,型,型與開(kāi)發(fā)方,法,法,演化模型,用戶(hù)評(píng)價(jià)原,型,型,生產(chǎn)產(chǎn)品,演化開(kāi)發(fā)模,型,型,系統(tǒng)需求分,析,析,系統(tǒng),設(shè)計(jì),程序,設(shè)計(jì),程序,編碼,測(cè),試,修改系統(tǒng)需,求,求,系統(tǒng),設(shè)計(jì),程序,設(shè)計(jì),程序,編碼,測(cè),試,運(yùn)行,維護(hù),第五章,軟,軟件開(kāi)發(fā)模,型,型與開(kāi)發(fā)方,法,法,演化模型,演化開(kāi)發(fā)又,稱(chēng),稱(chēng)為原型開(kāi),發(fā),發(fā)。主要有,三,三種形式:,一種是客戶(hù),界,界面原型,,主,主要描述系,統(tǒng),統(tǒng)輸入、輸,出,出界面,是,客,客戶(hù)了解系,統(tǒng),統(tǒng)操作或與,系,系統(tǒng)的對(duì)話(huà),方,方式。,另一種是可,以,以運(yùn)行的原,型,型,它實(shí)現(xiàn),開(kāi),開(kāi)發(fā)軟件所,要,要求功能的,一,一些重要子,集,集。,再一種是可,用,用程序原型,,,,它基本實(shí),現(xiàn),現(xiàn)重要部分,或,或全部功能,集,集合,但是,還,還需要進(jìn)行,改,改進(jìn)才能完,全,全適應(yīng)客戶(hù),工,工作。,第五章,軟,軟件開(kāi)發(fā)模,型,型與開(kāi)發(fā)方,法,法,螺旋模型,螺旋模型是,綜,綜合了瀑布,模,模型和演化,模,模型的優(yōu)點(diǎn),,,,加入兩者,所,所忽視的風(fēng),險(xiǎn),險(xiǎn)分析而建,立,立的一種軟,件,件開(kāi)發(fā)模型,。,。,軟件風(fēng)險(xiǎn)主,要,要有技術(shù)風(fēng),險(xiǎn),險(xiǎn),人力風(fēng),險(xiǎn),險(xiǎn),資源風(fēng),險(xiǎn),險(xiǎn),開(kāi)發(fā)時(shí),間,間或進(jìn)度風(fēng),險(xiǎn),險(xiǎn),投資風(fēng),險(xiǎn),險(xiǎn)和市場(chǎng)風(fēng),險(xiǎn),險(xiǎn)等。任何,軟,軟件開(kāi)發(fā)項(xiàng),目,目中都包含,各,各種風(fēng)險(xiǎn),,不,不同的項(xiàng)目,其,其風(fēng)險(xiǎn)有大,有,有小。在進(jìn),行,行一項(xiàng)軟件,開(kāi),開(kāi)發(fā)時(shí),需,要,要先進(jìn)行風(fēng),險(xiǎn),險(xiǎn)評(píng)估,而,一,一般風(fēng)險(xiǎn)評(píng),估,估都是系統(tǒng),分,分析人員和,項(xiàng),項(xiàng)目經(jīng)理根,據(jù),據(jù)已往的工,作,作經(jīng)驗(yàn)初步,作,作出的,其,準(zhǔn),準(zhǔn)確性很難,保,保證。對(duì)于,開(kāi),開(kāi)發(fā)項(xiàng)目規(guī),模,模越大,軟,件,件開(kāi)發(fā)中各,種,種風(fēng)險(xiǎn)因素,和,和不確定性,就,就越大,項(xiàng),目,目評(píng)估準(zhǔn)確,性,性越小,所,冒,冒的風(fēng)險(xiǎn)越,大,大。,為減少項(xiàng)目,開(kāi),開(kāi)發(fā)中的風(fēng),險(xiǎn),險(xiǎn),或?qū)㈨?xiàng),目,目風(fēng)險(xiǎn)控制,在,在可以操作,的,的范圍內(nèi),,可,可以減少因,為,為項(xiàng)目風(fēng)險(xiǎn),評(píng),評(píng)估不準(zhǔn)確,帶,帶來(lái)的損壞,,,,最有效的,方,方式是采用,螺,螺旋模型,,多,多次開(kāi)發(fā),,在,在每次開(kāi)發(fā),前,前評(píng)估風(fēng)險(xiǎn),,,,及時(shí)識(shí)別,風(fēng),風(fēng)險(xiǎn),分析,風(fēng),風(fēng)險(xiǎn),最終,控,控制損失。,第五章,軟,軟件開(kāi)發(fā)模,型,型與開(kāi)發(fā)方,法,法,螺旋模型,螺旋式開(kāi)發(fā),的,的一個(gè)完整,階,階段由制定,計(jì),計(jì)劃、風(fēng)險(xiǎn),分,分析、實(shí)施,工,工程、客戶(hù),評(píng),評(píng)估四個(gè)主,要,要活動(dòng)組成,。,。,沿螺旋線自,內(nèi),內(nèi)向外每旋,轉(zhuǎn),轉(zhuǎn)一圈,開(kāi),發(fā),發(fā)就完成四,個(gè),個(gè)主要活動(dòng),,,,產(chǎn)生一個(gè),新,新版本。,螺旋模型,螺旋模型,第五章,軟,軟件開(kāi)發(fā)模,型,型與開(kāi)發(fā)方,法,法,XP,開(kāi)發(fā)模型,XP,極端編程,(eXtreme Programming),是一種要求,首,首先開(kāi)發(fā)出,最,最重要的特,性,性,迅速向,客,客戶(hù)提供所,需,需的功能,,它,它通過(guò)非常,短,短的迭代周,期,期來(lái)應(yīng)對(duì)需,求,求的變化,,隨,隨著代碼的,演,演進(jìn)通過(guò)重,構(gòu),構(gòu)來(lái)滿(mǎn)足新,的,的需求,從,而,而使整個(gè)項(xiàng),目,目失敗的風(fēng),險(xiǎn),險(xiǎn)減到最小,的,的開(kāi)發(fā)方法,。,。,XP,的生命周期,包,包括,4,個(gè)基本活動(dòng),:,:編碼、測(cè),試,試、聆聽(tīng)和,設(shè),設(shè)計(jì)。,第五章,軟,軟件開(kāi)發(fā)模,型,型與開(kāi)發(fā)方,法,法,XP,開(kāi)發(fā)模型,XP,項(xiàng)目的狀態(tài),變遷圖,第五章,軟,軟件開(kāi)發(fā)模,型,型與開(kāi)發(fā)方,法,法,XP,開(kāi)發(fā)模型,XP,的特點(diǎn)是:,XP,是一種開(kāi)發(fā),紀(jì),紀(jì)律,以簡(jiǎn),單,單性、交流,、,、反饋和勇,氣,氣為基本宗,旨,旨;,XP,適合規(guī)模小,、,、進(jìn)度緊、,需,需求變化大,、,、質(zhì)量要求,嚴(yán),嚴(yán)的項(xiàng)目。,XP,以最高的,效,效率和質(zhì),量,量來(lái)解決,客,客戶(hù)目前,的,的問(wèn)題,,以,以最大的,靈,靈活性和,最,最小的代,價(jià),價(jià)來(lái)滿(mǎn)足,客,客戶(hù)未來(lái),的,的需求,,XP,在平衡短,期,期和長(zhǎng)期,利,利益之間,做,做了巧妙,的,的選擇。,演講完畢,,,,謝謝觀,看,看!,