版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章
軟件生存周期與軟件過(guò)程
Chapter2
SoftwareLifeCycle&
SoftwareProcess1軟件工程2.1軟件生存周期(SoftwareLifeCycle)●一個(gè)軟件從開(kāi)始計(jì)劃起,到廢棄不用的整個(gè)時(shí)期,稱為軟件生存周期?!癜衍浖嬷芷趧澐譃檩^小的階段的目的:給每個(gè)階段賦予確定而有限的任務(wù),能夠簡(jiǎn)化每一步的工作內(nèi)容,使軟件復(fù)雜性變得較易控制和管理。2軟件工程●軟件生存周期模型(SoftwareLifecycle
Model)根據(jù)軟件生存周期為各項(xiàng)開(kāi)發(fā)活動(dòng)的流程確定一個(gè)合理的框架,稱為軟件生存周期模型或軟件開(kāi)發(fā)模型(即描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型。)3軟件工程2.1.1軟件生存周期的主要活動(dòng)●軟件生存周期包含3個(gè)時(shí)期:計(jì)劃、開(kāi)發(fā)和運(yùn)行時(shí)期?!窀鲿r(shí)期又分為若干階段,共6個(gè)階段。4軟件工程需求分析軟件設(shè)計(jì)測(cè)試編碼圖2.1典型的軟件生存周期運(yùn)行維護(hù)可行性研究開(kāi)發(fā)時(shí)期運(yùn)行時(shí)期計(jì)劃時(shí)期5軟件工程1.可行性研究(FeasibilityStudy)(詳見(jiàn)第35頁(yè),2.6.1)●解決“是否能做?是否值得做?”的問(wèn)題。(Whethercando?Whetheritisworthtodo?)●主要文檔:可行性論證報(bào)告(FeasibilityReport)、項(xiàng)目實(shí)施計(jì)劃(簡(jiǎn)稱項(xiàng)目計(jì)劃,ProjectPlan)。6軟件工程2.需求分析(RequirementAnalysis)●解決系統(tǒng)“做什么?(Whattodo?)”問(wèn)題?!衽逵脩魧?duì)系統(tǒng)的需求,包括功能需求、性能需求、環(huán)境約束和用戶界面等(其中功能需求是最重要的),建立分析模型。●主要文檔:需求規(guī)格說(shuō)明書(shū)(SoftwareRequirementSpecification,SRS)。及初步的系統(tǒng)用戶手冊(cè)提交管理機(jī)構(gòu)評(píng)審7軟件工程3.軟件設(shè)計(jì)(SoftwareDesign
):分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。①總體設(shè)計(jì)(General
Design;又稱概要設(shè)計(jì),PreliminaryDesign)主要確定軟件的體系結(jié)構(gòu)。把各項(xiàng)需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu)。結(jié)構(gòu)中每一組成部分都是意義明確的模塊,每個(gè)模塊都和某些需求相對(duì)應(yīng)8軟件工程②詳細(xì)設(shè)計(jì)(DetailDesign):又稱過(guò)程設(shè)計(jì)(ProcessDesign
),主要設(shè)計(jì)每個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)。
●主要文檔:概要設(shè)計(jì)說(shuō)明書(shū)和詳細(xì)設(shè)計(jì)說(shuō)明書(shū)(PreliminaryDesignSpecification&DetailDesignSpecification)。提交管理機(jī)構(gòu)評(píng)審9軟件工程4.編碼(Coding):把設(shè)計(jì)翻譯為源程序●編寫(xiě)源程序(SourceProgram)。5.測(cè)試(Testing):●進(jìn)行單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試?!裰饕臋n:測(cè)試計(jì)劃(TestingPlant)、測(cè)試報(bào)告(TestingReport)等。●3.~5.解決“怎么做?(Howtodo?)”的問(wèn)題。10軟件工程6.運(yùn)行維護(hù)(Running/
Maintenance):●做好軟件的維護(hù)工作?!裰饕臋n:維護(hù)申請(qǐng)單(MaintenanceRequestForm)和軟件修改報(bào)告(SoftwareChangeReport)等11軟件工程2.1.2生存周期和軟件過(guò)程的關(guān)系1.從軟件生存周期到軟件過(guò)程●軟件過(guò)程(SoftwareProcess):圍繞軟件開(kāi)發(fā)所進(jìn)行的一系列活動(dòng)。(通俗地,也可以把軟件過(guò)程稱為“軟件開(kāi)發(fā)模型”)2.軟件過(guò)程的演變傳統(tǒng)的線性開(kāi)發(fā)模型→迭代的過(guò)程模型12軟件工程2.2傳統(tǒng)的軟件過(guò)程(ConventionalSoftwareProcess)2.2.1瀑布模型(WaterfallModel)●瀑布模型:是一種基于軟件生存周期的線性開(kāi)發(fā)模型。13軟件工程WaterfallModelREQUIREMENTSANALYSISSYSTEMDESIGNPROCESSDESIGNCODINGTESTINGOPERATION&MAINTENANCE14軟件工程●瀑布模型的特點(diǎn):1.階段間的順序性和依賴性:各個(gè)階段按自上而下、相互銜接的固定次序,如同瀑布逐級(jí)下落。2.推遲實(shí)現(xiàn)的觀點(diǎn):瀑布模型在編碼以前安排了分析階段和設(shè)計(jì)階段,直到設(shè)計(jì)階段結(jié)束,才實(shí)現(xiàn)編碼,有利于提高軟件質(zhì)量。允許迭代,但卻是間接迭代變更可引起混亂15軟件工程3.質(zhì)量保證的觀點(diǎn)(文檔驅(qū)動(dòng)):(1)每個(gè)階段都要完成規(guī)定的文檔。(2)每個(gè)階段結(jié)束前都要對(duì)已完成的的文檔進(jìn)行復(fù)審(審查)。4.存在的問(wèn)題:不適合需求模糊的系統(tǒng)。開(kāi)發(fā)的初始階段很難徹底弄清軟件需求?!駷榱私鉀Q這個(gè)問(wèn)題,提出“快速原型模型”。16軟件工程用戶要求編碼需求分析模塊說(shuō)明詳細(xì)設(shè)計(jì)需求規(guī)格說(shuō)明軟件結(jié)構(gòu)圖總體設(shè)計(jì)單元測(cè)試程序清單確認(rèn)測(cè)試綜合測(cè)試系統(tǒng)測(cè)試瀑布模型的階段與文檔17軟件工程WaterfallModel–features1.Verywelldistinguishedprocess(easytounderstand).2.Everystepsinthemodelcompleteswithamilestone.3.Amilestoneisdefinedasacompletionofsetofdocuments.4.Whenthedocumentsareapprovedthenextstepcanbetaken.(瀑布模型的特點(diǎn):1.過(guò)程清晰,比較容易理解;2.每一階段結(jié)束都有一個(gè)里程碑來(lái)標(biāo)志;3.里程碑定義了一組文檔集合;4.只有文檔被大家認(rèn)可后,下一階段才能啟動(dòng)。)18軟件工程間潔性提供一個(gè)模板,使得分析、設(shè)計(jì)、編碼、測(cè)試與維護(hù)工作可以在該模板的指導(dǎo)下有序展開(kāi),避免開(kāi)發(fā)過(guò)程的隨意性。采用此方法劃分階段,可以很容易地為各個(gè)階段分配相應(yīng)的資源瀑布模型的優(yōu)點(diǎn)19軟件工程瀑布模型的優(yōu)點(diǎn)可強(qiáng)迫開(kāi)發(fā)人員采用規(guī)范的方法嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過(guò)質(zhì)量保證小組的仔細(xì)驗(yàn)證瀑布模型的缺點(diǎn)周期長(zhǎng):順序推進(jìn),環(huán)環(huán)審查需求難以準(zhǔn)確把握(不能準(zhǔn)確提出和溝通、不能快速適應(yīng)變化的需求),導(dǎo)致返工甚至推倒重來(lái)無(wú)法預(yù)測(cè)新引入模塊的影響最終的形式難以預(yù)料不適合需求模糊的系統(tǒng)
20軟件工程2.2.2快速原型模型(RapidPrototypeModel)1.原型開(kāi)發(fā)的優(yōu)越性●快速原型模型的中心思想是:首先建立一個(gè)能夠反映用戶主要需求的原型,讓用戶看一看未來(lái)系統(tǒng)的概貌,以便判斷哪些功能是符合需要的,哪些方面還需要改進(jìn);然后將原型反復(fù)改進(jìn),最終建立符合用戶要求的新系統(tǒng)。21軟件工程快速原型模型示意圖快速分析運(yùn)行原型快速設(shè)計(jì)建造原型客戶評(píng)價(jià)修改開(kāi)始22軟件工程2.原型開(kāi)發(fā)的方法(1)原型系統(tǒng)僅包括未來(lái)系統(tǒng)的主要功能以及系統(tǒng)的重要接口,不包括系統(tǒng)的細(xì)節(jié)。(2)開(kāi)發(fā)原型系統(tǒng)時(shí)盡量使用能縮短開(kāi)發(fā)周期的先進(jìn)的語(yǔ)言和工具(如4GL)。(3)把原型系統(tǒng)作為基礎(chǔ),通過(guò)補(bǔ)充和修改獲得最終的實(shí)際系統(tǒng)。(快速原型模型也常常被當(dāng)作幫助定義軟件需求的一種手段,大多數(shù)原型都廢棄不用。)23軟件工程3.原型模型的啟示“逼真”的原型可以使用戶迅速作出反饋。循環(huán)回溯和迭代:非線性模型。4.應(yīng)該防止的偏向舍不得拋棄,從而影響軟件質(zhì)量。5.原型模型的種類漸進(jìn)型:對(duì)原型補(bǔ)充和修改獲得最終系統(tǒng)。拋棄型:原型廢棄不用。24軟件工程
AdvantagesandDisadvantagesofPrototype1.AdvantagesRequirementsbetterspecifiedandvalidatedStronginvolvementofthecustomerintheprototypingphase2.DisadvantageHigherdevelopmenteffort原型模型的優(yōu)缺點(diǎn):1、優(yōu)點(diǎn):需求說(shuō)明可以被更好的描述和驗(yàn)證;在原型階段用戶可以更深地加入到開(kāi)發(fā)中來(lái)。2、缺點(diǎn):需要更高的開(kāi)發(fā)技術(shù)要求。25軟件工程Prototypeisapartiallydevelopedproductthatenablescustomersanddevelopertoexaminesomeaspectoftheproposedsystemanddecideifitissuitableorappropriatesforthefinishedproduct.(原型是一個(gè)被開(kāi)發(fā)的部分產(chǎn)品,用來(lái)使用戶和開(kāi)發(fā)者對(duì)想象產(chǎn)品的某些方面進(jìn)行測(cè)試,判斷它是否適合于最終的產(chǎn)品。)26軟件工程用戶界面的開(kāi)發(fā):用得最多的地方。工作流的模擬:如可演示出系統(tǒng)中的一個(gè)具體的購(gòu)物過(guò)程(包括在什么地方產(chǎn)生此類購(gòu)買活動(dòng),針對(duì)不同活動(dòng)所產(chǎn)生的各種用戶界面與對(duì)話框等)。采用這種方法可以對(duì)整個(gè)工作流加以模擬,并且可以讓用戶與軟件開(kāi)發(fā)人員親眼看到相應(yīng)的過(guò)程,考慮到所有可能的場(chǎng)景,從而在最終產(chǎn)品中不漏掉任何一種邏輯情況??焖僭湍P偷倪m用性27軟件工程存在多個(gè)客戶的情況:在此情況下,針對(duì)變化所作出的原型可能不能令所有的客戶滿意,因此很可能花大代價(jià)制作多個(gè)原型。即使每個(gè)原型均能各自滿足相應(yīng)客戶的要求,也可能存在相互矛盾的需求。最終客戶并不明確的情況:產(chǎn)品有關(guān)的功能很可能對(duì)于真正的客戶來(lái)說(shuō)是無(wú)意義的。無(wú)法將外部的客戶請(qǐng)到開(kāi)發(fā)現(xiàn)場(chǎng)為開(kāi)發(fā)人員提供幫助??焖僭湍P偷牟贿m用性28軟件工程2.3軟件演化模型基本思想:分期完成,分步提交,先提交一個(gè)有限功能的版本,再逐步地使其完善。主要特點(diǎn):利用“迭代”方法,使?jié)u進(jìn)開(kāi)發(fā)生產(chǎn)出逐步完善的軟件版本兼有線性順序模型和原型模型的特點(diǎn)。據(jù)策略不同分為:增量模型和螺旋模型29軟件工程2.3軟件演化模型(SoftwareEvolutionaryModel
)2.3.1增量模型(IncrementalModel
)●增量模型是瀑布模型的順序特征與快速原型模型的迭代特征相結(jié)合的產(chǎn)物。它把軟件看做一系列相互聯(lián)系的增量,在開(kāi)發(fā)過(guò)程的各次迭代中,每次完成其中的一個(gè)增量。30軟件工程時(shí)間分析增量1
增量1交付客戶設(shè)計(jì)編碼測(cè)試分析增量2增量2交付客戶設(shè)計(jì)編碼測(cè)試分析增量3增量3交付客戶設(shè)計(jì)編碼測(cè)試分析增量4增量4交付客戶設(shè)計(jì)編碼測(cè)試系統(tǒng)和信息工程31軟件工程優(yōu)點(diǎn)能在較短的時(shí)間內(nèi)向用戶提交部分功能的構(gòu)件;逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,減少一個(gè)全新軟件可能給用戶帶來(lái)的沖擊。缺點(diǎn)增量構(gòu)件的劃分依賴于系統(tǒng)功能的構(gòu)成和軟件開(kāi)發(fā)人員的經(jīng)驗(yàn);要求軟件系統(tǒng)的體系結(jié)構(gòu)具有高度的可擴(kuò)充性和開(kāi)放性。32軟件工程2.3.2螺旋模型(SpiralModel
)●螺旋模型是在結(jié)合瀑布模型與快速原型模型的基礎(chǔ)上增加了風(fēng)險(xiǎn)分析而形成的。1.典型的迭代模型●螺旋模型是一種迭代模型,每迭代一次,螺線線就前進(jìn)一周,每輪螺旋均包含以下4個(gè)活動(dòng):(1)計(jì)劃:確定目標(biāo),選擇方案。(2)風(fēng)險(xiǎn)分析:分析所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn)。(3)建立原型:實(shí)施本周期的開(kāi)發(fā)任務(wù)。(4)用戶評(píng)審:用戶評(píng)價(jià)前一步結(jié)果,提出修正建議。33軟件工程決定目標(biāo)、方案和限制評(píng)價(jià)方案、識(shí)別風(fēng)險(xiǎn)、弱化風(fēng)險(xiǎn)
開(kāi)發(fā)、驗(yàn)證、下一級(jí)產(chǎn)品
計(jì)劃下一階段集成測(cè)試34軟件工程SpiralModelSuggestedbyBoehm(1988);Combinesdevelopmentactivitieswithrisk
management
to
minimize
andcontrol
risks.螺旋模型,1988年由勃姆提出。綜合了風(fēng)險(xiǎn)管理到開(kāi)發(fā)活動(dòng)中,以控制風(fēng)險(xiǎn)使其最小化。螺旋模型主要適用于內(nèi)部開(kāi)發(fā)的大規(guī)模軟件項(xiàng)目。當(dāng)風(fēng)險(xiǎn)過(guò)大時(shí),可方便的終止項(xiàng)目。35軟件工程2.風(fēng)險(xiǎn)分析:軟件開(kāi)發(fā)存在風(fēng)險(xiǎn),風(fēng)險(xiǎn)分析的目的就是要了解、分析并設(shè)法降低和排除風(fēng)險(xiǎn)。對(duì)高風(fēng)險(xiǎn)的大型軟件,螺旋模型是一個(gè)理想的開(kāi)發(fā)過(guò)程。3.螺旋模型的特點(diǎn)在項(xiàng)目開(kāi)發(fā)的所有階段都考慮各類風(fēng)險(xiǎn)。36軟件工程2.3.3構(gòu)件集成模型(ComponentIntegratedModel)1.面向?qū)ο蟮幕靖拍?1)對(duì)象(Object):數(shù)據(jù)和操作的封裝體。(2)類(Class):類是對(duì)象的抽象,對(duì)象是類的實(shí)例。(3)繼承(Inheritance):子類可以共享父類的數(shù)據(jù)和操作。(4)消息(Message):對(duì)象通過(guò)消息進(jìn)行通信?!衩嫦?qū)ο?對(duì)象+分類+繼承+通過(guò)消息的通信ObjectOriented=Object+Classfication+ Inheritance+CommunicationwithMessage37軟件工程對(duì)象(Object):現(xiàn)實(shí)世界中實(shí)體或事物的抽象表示,是屬性和相關(guān)操作的統(tǒng)一封裝體。屬性:對(duì)象的性質(zhì);操作:該對(duì)象可以展現(xiàn)的外部服務(wù)。特點(diǎn):以數(shù)據(jù)為中心,操作針對(duì)屬性的變化,操作的結(jié)果與對(duì)象當(dāng)前的屬性有關(guān)。主動(dòng)的,對(duì)象的屬性通常是由該對(duì)象自己的操作改變的。數(shù)據(jù)封裝,描述對(duì)象屬性信息的數(shù)據(jù)被封裝在對(duì)象內(nèi)部,外部對(duì)象不必了解其數(shù)據(jù)結(jié)構(gòu)和具體的實(shí)現(xiàn)細(xì)節(jié),只需知道數(shù)據(jù)的取值范圍和對(duì)數(shù)據(jù)提供哪些公共操作。模塊的獨(dú)立性好,對(duì)象的內(nèi)部包括數(shù)據(jù)與處理數(shù)據(jù)的操作。因此,模塊內(nèi)部各種元素彼此結(jié)合得很緊密,對(duì)象間聯(lián)系少。
面向?qū)ο蟮幕靖拍?8軟件工程對(duì)象是面向?qū)ο箝_(kāi)發(fā)模式的基本成份。每個(gè)對(duì)象可用它本身的一組屬性和它可以執(zhí)行的一組操作來(lái)定義。電子信箱收件人主題優(yōu)先級(jí)收郵件發(fā)郵件手機(jī)短消息屬性操作對(duì)象面向?qū)ο箝_(kāi)發(fā)模型:對(duì)象39軟件工程對(duì)象:電視機(jī)—封裝40軟件工程InternalState對(duì)象的例子:TV開(kāi)請(qǐng)求變更頻道調(diào)節(jié)聲音TurnOnTurnOffChangeChannelAdjustVolumeOthers...被封裝的行為和狀態(tài)關(guān)請(qǐng)求41軟件工程面向?qū)ο箝_(kāi)發(fā)模型:類類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對(duì)象的集合。類的定義包括一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作。類定義可以視為一個(gè)具有類似特性與共同行為的對(duì)象的模板,可用來(lái)產(chǎn)生對(duì)象。在一個(gè)類中,每個(gè)對(duì)象都是類的實(shí)例,它們都可使用類中提供的函數(shù)。42軟件工程類(Class):某些對(duì)象的共同特征(屬性和操作)。相同屬性和相同操作的對(duì)象的抽象。定義一個(gè)類,如:類名:圓類的屬性:圓心坐標(biāo)、半徑、填充顏色類的操作:顯示、放大、縮小、移動(dòng)、改變顏色可生成三個(gè)圓,屬性值不同,是三個(gè)對(duì)象。
面向?qū)ο箝_(kāi)發(fā)模型43軟件工程例子:四邊形類&兩個(gè)四邊形對(duì)象四邊形類對(duì)象1對(duì)象244軟件工程繼承(Inheritance):類之間可以存在繼承關(guān)系。子類自動(dòng)地共享其父類中定義的屬性和操作機(jī)制,繼承性使相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序的冗余信息。繼承性使得軟件的維護(hù)和修改工作量減少了許多,當(dāng)需要擴(kuò)充軟件原有的功能是,先要從修改的類派生出一個(gè)子類,子類繼承父類的所有的屬性和方法,根據(jù)需要在派生來(lái)中添加必要的代碼。當(dāng)需要完全改變父類中的某個(gè)操作時(shí),可以在派生類中定義一個(gè)同名的方法。若要新增加一個(gè)功能。則可以在派生類中定義并實(shí)現(xiàn)一個(gè)全新的方法。面向?qū)ο蠡靖拍?5軟件工程面向?qū)ο蠡靖拍?繼承繼承是使用已存在的定義做為基礎(chǔ)建立新定義的技術(shù)。新類的定義可以是既存類所聲明的數(shù)據(jù)和新類所增加的聲明的組合。新類復(fù)用既存的定義,而不要求修改既存類。既存類可當(dāng)做基類來(lái)引用,則新類相應(yīng)地可當(dāng)做派生類來(lái)引用。46軟件工程繼承的例子多邊形類四邊形類47軟件工程消息是一個(gè)對(duì)象與另一個(gè)對(duì)象的通信單元,是要求某個(gè)對(duì)象執(zhí)行類中定義的某個(gè)操作的規(guī)格說(shuō)明。發(fā)送給一個(gè)對(duì)象的消息定義了一個(gè)方法名和一個(gè)參數(shù)表(可能是空的),并指定某一個(gè)對(duì)象。一個(gè)對(duì)象接收的消息則調(diào)用消息中指定的方法,并將形式參數(shù)與參數(shù)表中相應(yīng)的值結(jié)合起來(lái)。面向?qū)ο箝_(kāi)發(fā)模型:消息48軟件工程消息(Message):消息傳遞是對(duì)象與外部世界相互聯(lián)系的唯一途徑。由發(fā)送對(duì)象發(fā)送給接收對(duì)象的一個(gè)操作請(qǐng)求,發(fā)送方發(fā)出命令和參數(shù),接受方接受操作,執(zhí)行結(jié)束后,將控制權(quán)返回給發(fā)送方,同時(shí)送回某些結(jié)果。消息有三部分組成:對(duì)象名:接收消息的對(duì)象消息名:要求接收對(duì)象完成的操作參數(shù):執(zhí)行操作時(shí)的參數(shù)或操作返回的結(jié)果。例如:mycircle
是一個(gè)對(duì)象,mycircle.changcolor(Green)面向?qū)ο蠡靖拍?9軟件工程Question:考慮電視機(jī)的例子怎樣發(fā)送消息?50軟件工程假定系統(tǒng)的各個(gè)組建已經(jīng)存在,系統(tǒng)開(kāi)發(fā)過(guò)程的焦點(diǎn)在于集成這些組件,而不是從頭開(kāi)始重新開(kāi)發(fā)。構(gòu)件:一個(gè)或多個(gè)相關(guān)類的組合稱為一個(gè)構(gòu)件。特點(diǎn):有通用性,可在不同軟件中復(fù)用。構(gòu)件集成模型51軟件工程構(gòu)件集成模型查找構(gòu)件進(jìn)行下一次迭代標(biāo)志候選構(gòu)件將新構(gòu)件存入庫(kù)中若存在則提取構(gòu)件若不存在則構(gòu)造構(gòu)件構(gòu)件庫(kù)52軟件工程2.什么是構(gòu)件構(gòu)件(Component)是一種通用的(可復(fù)用的)、可支持不同應(yīng)用系統(tǒng)的軟件組件。3.構(gòu)件集成模型的特征融合螺旋模型特征。支持軟件開(kāi)發(fā)的迭代方法?;跇?gòu)件庫(kù);●構(gòu)件集成模型利用預(yù)先封裝好的構(gòu)件來(lái)構(gòu)造應(yīng)用軟件系統(tǒng)。53軟件工程融合螺旋模型的特征,但它是利用預(yù)先包裝好的軟件構(gòu)件來(lái)構(gòu)造軟件,若有完善構(gòu)件標(biāo)準(zhǔn)可實(shí)現(xiàn)軟件生產(chǎn)規(guī)?;?、工程化的一個(gè)最有前途的模型據(jù)QSM報(bào)告稱:
縮短70%開(kāi)發(fā)周期
降低84%的項(xiàng)目成本構(gòu)件集成模型優(yōu)點(diǎn)54軟件工程2.4形式化方法模型(ModelofFormalMethod)2.4.1轉(zhuǎn)換模型(TransformationalModel, 又稱變換模型)軟件工程中涉及的語(yǔ)言有3種:(1)自然語(yǔ)言
(2)半形式語(yǔ)言:圖表、圖形;(3)形式語(yǔ)言:計(jì)算機(jī)可運(yùn)行的語(yǔ)言。55軟件工程結(jié)合形式化軟件開(kāi)發(fā)方法和程序自動(dòng)生成技術(shù)的一種軟件開(kāi)發(fā)模型。對(duì)系統(tǒng)進(jìn)行形式化的數(shù)學(xué)描述,然后把這種描述用數(shù)學(xué)方法轉(zhuǎn)換成程序,這種轉(zhuǎn)換是“正確性保持的”可保證開(kāi)發(fā)的程序滿足其描述。理論:一個(gè)正確的,滿足客戶需要的形式化規(guī)格說(shuō)明,經(jīng)過(guò)一系列正確的程序變換后,可以確保得到一個(gè)正確的軟件系統(tǒng)。特點(diǎn):試圖通過(guò)減少某些主要的開(kāi)發(fā)步驟來(lái)減少出錯(cuò)的機(jī)會(huì)。轉(zhuǎn)換模型(形式化方法)56軟件工程圖2.2轉(zhuǎn)換模型形式化規(guī)格說(shuō)明與需求比較后修正變換2變換1變換n測(cè)試形式化開(kāi)發(fā)記錄系統(tǒng)需求目標(biāo)系統(tǒng)……57軟件工程2.4.2凈室模型(CleanroomModel)凈室模型是一種形式化的增量開(kāi)發(fā)模型。該模型只適合于軟件的形式化開(kāi)發(fā)方法;需要嚴(yán)格的數(shù)學(xué)理論和形式化技術(shù)支持;需要一整套開(kāi)發(fā)環(huán)境(如程序變換工具、定理證明工具等)的支持。58軟件工程凈室模型(形式化方法)形式化的增量開(kāi)發(fā)模型,力求在分析和設(shè)計(jì)階段就消除錯(cuò)誤,然后在無(wú)缺陷或“潔凈”的狀態(tài)下實(shí)現(xiàn)軟件的制作。需求收集統(tǒng)計(jì)性使用測(cè)試認(rèn)證盒結(jié)構(gòu)規(guī)約形式化設(shè)計(jì)正
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人抵押借款簡(jiǎn)單合同(2024版)
- 二零二五版電子數(shù)碼產(chǎn)品門店承包經(jīng)營(yíng)合同4篇
- 2025年度紡織行業(yè)原材料電商直采服務(wù)合同3篇
- 馬鈴薯購(gòu)銷2025版:年度種植收購(gòu)合同2篇
- 二零二五版苗圃場(chǎng)技術(shù)員園藝栽培技術(shù)聘用合同4篇
- 情感溝通解決客戶投訴的關(guān)鍵技巧
- 長(zhǎng)春科技學(xué)院《健“聲”》2023-2024學(xué)年第一學(xué)期期末試卷
- 長(zhǎng)春工程學(xué)院《大學(xué)基礎(chǔ)讀寫(xiě)4》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五版車輛抵押反擔(dān)保車輛租賃擔(dān)保協(xié)議2篇
- 二零二五版房地產(chǎn)開(kāi)發(fā)與文化藝術(shù)合作協(xié)議3篇
- AQ6111-2023個(gè)體防護(hù)裝備安全管理規(guī)范
- 2024年高考語(yǔ)文備考之??甲骷易髌罚ㄏ拢褐袊?guó)現(xiàn)當(dāng)代、外國(guó)
- T-CSTM 01124-2024 油氣管道工程用工廠預(yù)制袖管三通
- 2019版新人教版高中英語(yǔ)必修+選擇性必修共7冊(cè)詞匯表匯總(帶音標(biāo))
- 新譯林版高中英語(yǔ)必修二全冊(cè)短語(yǔ)匯總
- 基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)模糊推理系統(tǒng)的游客規(guī)模預(yù)測(cè)研究
- 河道保潔服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 品管圈(QCC)案例-縮短接臺(tái)手術(shù)送手術(shù)時(shí)間
- 精神科病程記錄
- 閱讀理解特訓(xùn)卷-英語(yǔ)四年級(jí)上冊(cè)譯林版三起含答案
- 清華大學(xué)考博英語(yǔ)歷年真題詳解
評(píng)論
0/150
提交評(píng)論