軟件工程模型方法
《軟件工程模型方法》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程模型方法(49頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,-軟件過程模型,軟件工程,1,軟件過程與軟件過程模型,軟件工程方法,面向功能的方法,面向?qū)ο蠓椒?內(nèi)容提要,2,軟件過程,軟件過程,是指開發(fā)軟件產(chǎn)品的一組活動(dòng)及其結(jié)果。,即是人們用于開發(fā)和維護(hù)軟件及其相關(guān)過程的一系列活動(dòng),包括軟件工程活動(dòng)和軟件管理活動(dòng)。,3,軟件過程模型,軟件過程模型是從一特定角度提出的,軟件過程的簡(jiǎn)化描述,。,“模型的本質(zhì)在于簡(jiǎn)化”,軟件過程模型就是對(duì)描述的實(shí)際過程的抽象,它包括構(gòu)成軟件過程的各種活動(dòng)
2、、軟件產(chǎn)品及軟件工程人員參與的不同角色。,4,軟件過程模型的分類,以軟件需求完全確定為基礎(chǔ)的瀑布模型;,在開發(fā)初期僅給出基本需求的漸進(jìn)式模型,如原型模型、螺旋模型、噴泉模型等;,以形式化開發(fā)方法為基礎(chǔ)的變換模型、基于四代技術(shù)的模型(,4G,模型);,基于知識(shí)的智能模型等等。,在實(shí)際開發(fā)時(shí),應(yīng)根據(jù)項(xiàng)目的特點(diǎn)和現(xiàn)有的條件選取合適的模型,也可以把幾種模型組合起來使用以便充分利用各模型的優(yōu)點(diǎn)。,5,瀑布模型,瀑布模型(waterfall model)是由W.Royce于1970年提出來的。又稱為軟件生存周期模型。,瀑布模型嚴(yán)格按照軟件生存周期各個(gè)階段來進(jìn)行開發(fā),上一階段的輸出即是下一階段的輸入,并強(qiáng)調(diào)
3、每一階段的嚴(yán)格性。它規(guī)定了各階段的任務(wù)和應(yīng)提交的成果及文檔,每一階段的任務(wù)完成后,都必須對(duì)其階段性產(chǎn)品(主要是文檔)進(jìn)行評(píng)審,通過后才能開始下一階段的工作。因此,它是一種,以文檔作為驅(qū)動(dòng),的模型。,6,瀑布模型,驗(yàn)收測(cè)試,組裝測(cè)試,實(shí)現(xiàn),詳細(xì)設(shè)計(jì),概要設(shè)計(jì),需求分析,退役,可行性研究,使用與維護(hù),特點(diǎn):,階段間具有順序性和依賴性,推遲實(shí)現(xiàn)的觀點(diǎn),質(zhì)量保證的觀點(diǎn),7,瀑布模型的優(yōu)點(diǎn),可強(qiáng)迫開發(fā)人員采用的規(guī)范方法;,嚴(yán)格規(guī)定了每一階段必須提交的文檔;,要求每一階段交付之產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)審查;,清晰區(qū)分了邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn)。,“一種文檔驅(qū)動(dòng)的模型”,提供了軟
4、件開發(fā)的基本框架,有利于大型軟件開發(fā)過程中人員的組織、管理,有利于軟件開發(fā)方法和工具的研究與使用,因此,在軟件工程中占有重要的地位。,8,瀑布模型的不足,它將項(xiàng)目生硬的分解為確切的階段,委托事項(xiàng)一定要在過程的早期階段清晰給出,這意味著對(duì)用戶需求變更響應(yīng)困難。,因?yàn)樯珊痛_認(rèn)文檔成本很高且很費(fèi)時(shí),因此經(jīng)過少量的反復(fù)后,要凍結(jié)部分開發(fā)過程,繼續(xù)進(jìn)行后面的開發(fā)階段。這種對(duì)需求的凍結(jié)使需求相當(dāng)不成熟,系統(tǒng)不能滿足用戶需求。,作為整體開發(fā)的瀑布模型,由于不支持產(chǎn)品的演化,缺乏靈活性,對(duì)開發(fā)過程中很難發(fā)現(xiàn)錯(cuò)誤,只有在最終產(chǎn)品運(yùn)行時(shí)才能暴露出來,從而使軟件產(chǎn)品難以維護(hù)。,9,瀑布模型的適應(yīng)場(chǎng)合,瀑布模型一般
5、適用于功能、性能明確、完整、無重大變化的軟件系統(tǒng)的開發(fā)。例如操作系統(tǒng)、編譯系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)等系統(tǒng)軟件的開發(fā)。應(yīng)用有一定的局限性。,10,原型模型,原型模型(prototyping model)的基本框架是,軟件開發(fā)人員根據(jù)用戶提出的軟件基本需求快速開發(fā)一個(gè)原型,,以便向用戶展示軟件系統(tǒng)應(yīng)有的部分或全部功能和性能,在征求用戶對(duì)原型的評(píng)價(jià)意見后,進(jìn)一步使需求精確化、完全化,并據(jù)此改進(jìn)、完善原型,如此迭代,直到軟件開發(fā)人員和用戶都確認(rèn)軟件系統(tǒng)的需求并達(dá)成一致的理解為止。軟件需求確定后,便可進(jìn)行設(shè)計(jì),編碼、測(cè)試等以后的各個(gè)開發(fā)步驟。,11,快速原型方法,建造/修改原型,用戶測(cè)試,運(yùn)行原型,聽取用戶
6、意見,12,初步需求,分析,快速設(shè)計(jì),建造原型,用戶評(píng)估原,型(新需求),對(duì)原型加工,開發(fā)產(chǎn)品,開始,結(jié)束,用戶,/,客戶給出軟件產(chǎn)品的一般需求,開發(fā)小組和用戶共同定義軟件總體目標(biāo),標(biāo)識(shí)已知需求,對(duì)界面、功能、人機(jī)交互方式等,進(jìn)行設(shè)計(jì)并建造原型,強(qiáng)調(diào)“快速”,釆用基于構(gòu)件的軟件開發(fā)方法,盡量縮短軟件開發(fā)周期,不宜釆用過多的新技術(shù),用戶,/,客戶對(duì)原型進(jìn)行評(píng)估,修改需求、更新設(shè)計(jì)、完善原型直至確定需求。,原型模型示意圖,13,快速原型的開發(fā)途徑,僅模擬軟件系統(tǒng)的人機(jī)界面和人機(jī)交互方式。,開發(fā)一個(gè)工作模型,實(shí)現(xiàn)軟件系統(tǒng)中重要的或容易產(chǎn)生誤解的功能。,利用一個(gè)或幾個(gè)類似的正在運(yùn)行的軟件向用戶展示軟件
7、需求中的部分或全部功能。,建造原型應(yīng)盡量采用相應(yīng)的軟件工具和環(huán)境,并盡量采用軟件重用技術(shù),在運(yùn)行效率方面可做出讓步,以便盡快提供。同時(shí),原型應(yīng)充分展示軟件系統(tǒng)的可見部分,如人機(jī)界面、數(shù)據(jù)的輸入方式和輸出格式等。,14,采用原型模型的軟件生命周期,生成,原型,測(cè)試,分析定義,系統(tǒng)需求,系統(tǒng),設(shè)計(jì),程序,設(shè)計(jì),含原型化的,軟件生存期,原型化,運(yùn) 行,和維護(hù),編碼,15,原型模型的優(yōu)點(diǎn),原型模型比瀑布模型更符合人們認(rèn)識(shí)事物的過程和規(guī)律,是一種較實(shí)用的開發(fā)框架。,它產(chǎn)生的正式需求文擋,是軟件開發(fā)的基礎(chǔ)。,如果開發(fā)的原型是可運(yùn)行的,它的若干高質(zhì)量的程序片段和開發(fā)工具可用于工作程序的開發(fā)。,原型的開發(fā)和評(píng)
8、審是系統(tǒng)分析員和用戶,/,客戶共同參予的迭代過程,每個(gè)迭代循環(huán)都是線性過程。,16,原型模型的缺點(diǎn),對(duì)于大型軟件項(xiàng)目,原型模型需要足夠的人力資源以建立足夠的原型組。,原型模型要求,開發(fā)者,和,客戶,在一段時(shí)間內(nèi),共同完成原型系統(tǒng)的開發(fā),,如果任何一方?jīng)]有實(shí)現(xiàn)承諾,會(huì)導(dǎo)致原型開發(fā)的失敗。,如果系統(tǒng)難以模塊化,建造原型所需構(gòu)件就有問題;如果高性能是一個(gè)指標(biāo),原型模型也可能不奏效。,原型模型不適合采用很多新技術(shù)的項(xiàng)目。,17,原型模型的適應(yīng)場(chǎng)合,它適合于那些不能預(yù)先確切定義需求的軟件系統(tǒng)的開發(fā),更適合于那些項(xiàng)目組成員(包括分析員、設(shè)計(jì)員、程序員和用戶)不能很好交流或通信有困難的情況。,18,螺旋模型
9、,螺旋模型(spiral model)是B.Boehm于1988年提出的。它綜合了瀑布模型和原型模型的優(yōu)點(diǎn),即將兩者結(jié)合,并加入了風(fēng)險(xiǎn)分析機(jī)制。螺旋模型的基本框架如圖:,19,螺旋模型,第一圈 產(chǎn)生產(chǎn)品規(guī)格說明,第二圈 產(chǎn)生一個(gè)用于開發(fā)的原型,第三圈 產(chǎn)生軟件產(chǎn)品的初始版本,第四圈 產(chǎn)生軟件產(chǎn)品比較完善的新版本,原型1,原型2,原型3,風(fēng)險(xiǎn),分析,風(fēng)險(xiǎn)分析,風(fēng)險(xiǎn)分析,風(fēng)險(xiǎn)分析,操作原型,評(píng)審,需求計(jì)劃和生,存周期計(jì)劃,操作的概念,軟件需求,需求有效,性驗(yàn)證,預(yù)估可選方案,,明,確并解決風(fēng)險(xiǎn),驗(yàn)收測(cè)試計(jì)劃,組裝測(cè)試計(jì)劃,規(guī)劃下階段工作,設(shè)計(jì)驗(yàn)證,與確認(rèn),產(chǎn)品,設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,單元,測(cè)試,組
10、裝,測(cè)試,驗(yàn)收,測(cè)試,運(yùn)行,維護(hù),開發(fā)驗(yàn)證下一級(jí)產(chǎn)品,對(duì)目標(biāo)、,可選方,案和約束的確定,提交線,制定計(jì)劃,風(fēng)險(xiǎn)分析,實(shí)施工程,客戶評(píng)估,建模,模擬,評(píng)價(jià),需求評(píng)價(jià),需求精化計(jì)劃,開發(fā)計(jì)劃,實(shí)現(xiàn)計(jì)劃,順時(shí)針為進(jìn)展方向,20,螺旋模型,螺旋模型的每一個(gè)周期都包括計(jì)劃(需求定義)、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評(píng)審4個(gè)階段。,1)計(jì)劃(需求定義),首先開始利用需求分析技術(shù)理解應(yīng)用領(lǐng)域,獲取初步用戶需求,制定項(xiàng)目開發(fā)計(jì)劃(即整個(gè)軟件生命周期計(jì)劃)和需求分析計(jì)劃。然后根據(jù)用戶和開發(fā)人員對(duì)上一周期工作成果評(píng)價(jià)和評(píng)審,修改、完善需求,明確下一周期軟件開發(fā)的目標(biāo)、約束條件,并據(jù)此制定新一輪的軟件開發(fā)計(jì)劃。,21,螺旋模
11、型,2)風(fēng)險(xiǎn)分析,根據(jù)本輪制定的開發(fā)計(jì)劃,進(jìn)行風(fēng)險(xiǎn)分析,評(píng)估可選方案,并構(gòu)造原型進(jìn)一步分析風(fēng)險(xiǎn),給出消除或減少風(fēng)險(xiǎn)的途徑。此時(shí)根據(jù)風(fēng)險(xiǎn)分析的結(jié)果決策項(xiàng)目是否繼續(xù)。所以,螺旋模型是一個(gè),風(fēng)險(xiǎn)驅(qū)動(dòng),的模型。,3)工程實(shí)現(xiàn),利用構(gòu)造的原型進(jìn)行需求建模或進(jìn)行系統(tǒng)模擬,直至實(shí)現(xiàn)軟件系統(tǒng)。,22,螺旋模型,4)用戶評(píng)價(jià)與階段評(píng)審,將原型提交用戶使用并征求改進(jìn)意見。開發(fā)人員應(yīng)在用戶的密切配合下進(jìn)一步完善用戶需求,直到用戶認(rèn)為原型可滿足需求,或?qū)浖a(chǎn)品設(shè)計(jì)進(jìn)行評(píng)價(jià)或確認(rèn)等。,螺旋模型從第一個(gè)周期的計(jì)劃開始,一個(gè)周期、一個(gè)周期地不斷迭代,直到整個(gè)軟件系統(tǒng)開發(fā)完成。,23,螺旋模型的優(yōu)點(diǎn),支持用戶需求的,動(dòng)態(tài)變
12、化,。支持軟件系統(tǒng)的,可維護(hù)性,,每次維護(hù)過程只是沿螺旋模型繼續(xù)多走一兩個(gè)周期。,這符合人們認(rèn)識(shí)現(xiàn)實(shí)世界和軟件開發(fā)的客觀規(guī)律,。,原型可看作形式的,可執(zhí)行的需求規(guī)格說明,,易于為用戶和開發(fā)人員共同理解,還可作為繼續(xù)開發(fā)的基礎(chǔ),并為用戶參與所有關(guān)鍵決策提供了方便。,開發(fā)者和用戶共同參與軟件開發(fā),可盡早發(fā)現(xiàn)軟件中的錯(cuò)誤,。,螺旋模型特別強(qiáng)調(diào)原型的可擴(kuò)充性和可修改性,,原型的進(jìn)化貫穿整個(gè)軟件生存周期,,這將有助于目標(biāo)軟件的適應(yīng)能力。,既保持瀑布模型的系統(tǒng)性、階段性,又可利用原型評(píng)估降低開發(fā)風(fēng)險(xiǎn),。,螺旋模型為項(xiàng)目管理人員及時(shí)調(diào)整管理決策提供了方便,進(jìn)而可降低開發(fā)風(fēng)險(xiǎn)。,24,螺旋模型的缺點(diǎn),如果每次
13、迭代的效率不高,致使迭代次數(shù)過多,將會(huì)增加成本并推遲提交時(shí)間;,使用該模型需要有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),要求開發(fā)隊(duì)伍水平較高。,25,螺旋模型適應(yīng)場(chǎng)合,支持需求不明確、特別是大型軟件系統(tǒng)的開發(fā),并支持面向規(guī)格說明、面向過程、面向?qū)ο蟮榷喾N軟件開發(fā)方法,是一種具有廣闊前景的模型。,26,變換模型,變換模型是基于形式化規(guī)格說明語言以及程序變換技術(shù)的軟件系統(tǒng)開發(fā)模型,它主要用于軟件的形式化開發(fā)方法。,在軟件需求分析確定以后,便用形式化的規(guī)格說明語言將其描述為“形式化軟件規(guī)格說明”,然后對(duì)其進(jìn)行一系列自動(dòng)或半自動(dòng)的變換,最終得到軟件系統(tǒng)的目標(biāo)程序。,27,變換模型,形式化軟件規(guī),格說明(M,
14、0,),模型檢查,需求分析,形式化軟件設(shè),計(jì)說明(M,1,),(M,2,),目標(biāo)程序(M),變換,28,變換模型,變換模型也應(yīng)引入迭代機(jī)制。即將第一次用變換模型得來的目標(biāo)程序作為“原型”,讓用戶評(píng)價(jià),以便使用戶需求精確化、完全化,再把精化后的需求作為輸入,第二次用變換模型進(jìn)行變換,等等。,以形式化開發(fā)方法為基礎(chǔ)的變換模型需要邏輯、代數(shù)等嚴(yán)格的數(shù)學(xué)理論和諸如形式化的需求規(guī)格說明語言、程序變換工具、定理證明工具等一整套開發(fā)環(huán)境的支持。,形式化開發(fā)方法提出的比較早,但到目前為止,其在理論和實(shí)踐等方面離工程實(shí)際應(yīng)用還有較長(zhǎng)一段距離。,29,噴泉模型,噴泉模型是近幾年提出來的軟件生存周期模型。它是以面向
15、對(duì)象的軟件開發(fā)方法為基礎(chǔ),以用戶需求為動(dòng)力,以,對(duì)象來驅(qū)動(dòng),的模型。,維 護(hù),測(cè) 試,實(shí) 現(xiàn),設(shè) 計(jì),分 析,30,噴泉模型的特點(diǎn),軟件系統(tǒng)可維護(hù)性較好;,各階段相互重疊,表明了面向?qū)ο箝_發(fā)方法各階段間的交叉和無縫過渡;,整個(gè)模型是一個(gè)迭代的過程,包括一個(gè)階段內(nèi)部的迭代和跨階段的迭代;,模型具有增量開發(fā)特性,即能做到分析一點(diǎn)、設(shè)計(jì)一點(diǎn)、實(shí)現(xiàn)一點(diǎn),測(cè)試一點(diǎn),使相關(guān)功能隨之加入到演化的系統(tǒng)中。,模型是對(duì)象驅(qū)動(dòng)的,對(duì)象是各階段活動(dòng)的主體,也是項(xiàng)目管理的基本內(nèi)容。,該模型很自然地支持軟部件的重用。,31,軟件工程方法,軟件工程方法是完成軟件工程項(xiàng)目的技術(shù)手段。它支持軟件開發(fā)與維護(hù)的全部過程。,軟件工程
16、方法劃分為:,面向功能的方法,結(jié)構(gòu)化分析方法,Jackson,方法,Warnier,方法,面向?qū)ο蠓椒?UML,軟件工程方法是軟件開發(fā)的結(jié)構(gòu)化方法,軟件工程過程是方法的使用活動(dòng),32,結(jié)構(gòu)化分析方法,一種面向數(shù)據(jù)流的開發(fā)方法。圖形表示方法為數(shù)據(jù)流圖,(DFD),和模塊層次結(jié)構(gòu)圖,(SC),。,現(xiàn)有的軟件開發(fā)方法中最成熟,應(yīng)用最廣泛的方法,主要特點(diǎn)是快速,自然和方便。,結(jié)構(gòu)化方法總的指導(dǎo)思想自頂向下、逐步求精,分解成若干個(gè)具有合適大小和功能的模塊并對(duì)各個(gè)模塊進(jìn)行定義和描述,其實(shí)質(zhì)就是功能分解和抽象。,33,結(jié)構(gòu)化方法的發(fā)展,70,年代初 結(jié)構(gòu)化程序設(shè)計(jì)方法,SP,法,(Structured Program),70,年代中 結(jié)構(gòu)化設(shè)計(jì)方法,SD,法,(Structured Design),70,年代末 結(jié)構(gòu)化分析方法,SA,法,(Structured Analysis),SA,,,SD,,,SP,法相互銜接,形成了一整套開發(fā)方法。若將,SA,,,SD,法結(jié)合起來,又稱為結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù),即,SDAT,技術(shù)。,34,Jackson方法,Jackson,方法是最典型的面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險(xiǎn)源安全管理制度
- 安全培訓(xùn)資料:典型建筑火災(zāi)的防治基本原則與救援技術(shù)
- 企業(yè)雙重預(yù)防體系應(yīng)知應(yīng)會(huì)知識(shí)問答
- 8 各種煤礦安全考試試題
- 9 危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全生產(chǎn)管理人員模擬考試題庫(kù)試卷附答案
- 加壓過濾機(jī)司機(jī)技術(shù)操作規(guī)程
- 樹脂砂混砂工藝知識(shí)總結(jié)
- XXXXX現(xiàn)場(chǎng)安全應(yīng)急處置預(yù)案
- 某公司消防安全檢查制度總結(jié)
- 1 煤礦安全檢查工(中級(jí))職業(yè)技能理論知識(shí)考核試題含答案
- 4.燃?xì)獍踩a(chǎn)企業(yè)主要負(fù)責(zé)人模擬考試題庫(kù)試卷含答案
- 工段(班組)級(jí)安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫(kù)試卷含答案-4
- 建筑起重司索信號(hào)工安全操作要點(diǎn)
- 實(shí)驗(yàn)室計(jì)量常見的30個(gè)問問答題含解析