深入剖析四種UML面向?qū)ο蠼i_發(fā)模式
本文和大家重點討論一下UML面向?qū)ο蠼?,軟件開發(fā)模式是跨越整個軟件生存周期的系統(tǒng)開發(fā),這里介紹4種常見的UML面向?qū)ο蠼i_發(fā)模式。首先我們來看一下為什么要用UML面向?qū)ο蠼#?/p>
為什么要用UML面向?qū)ο蠼#?/strong>
模型是什么?模型就是對現(xiàn)實世界的形狀或狀態(tài)的抽象模擬和簡化,模型提供了系統(tǒng)的骨架和藍圖.
◆模型有助于按照實際情況或按照所需要的樣式對系統(tǒng)進行可視化.
◆模型能夠規(guī)約系統(tǒng)的結(jié)構(gòu)或行為.
◆模型給出了指導(dǎo)構(gòu)造系統(tǒng)的模板.
對系統(tǒng)用戶而言,軟件的開發(fā)模型向他們描述了軟件開發(fā)者對軟件系統(tǒng)需求的理解.讓系統(tǒng)用戶查看軟件對象模型并且找到其中的問題,可以使開發(fā)者不至于從一開始就發(fā)生錯誤.
對軟件開發(fā)而言,軟件的對象模型有助于他們對軟件的需求以及系統(tǒng)的架構(gòu)和功能進行溝通.
對軟件的維護和技術(shù)支持者而言,在軟件系統(tǒng)開始運行后的相當(dāng)長的一段時間內(nèi),軟件的對象模型能夠幫助他們理解程序的架構(gòu)和功能,迅速地對軟件所出現(xiàn)的問題進行修復(fù).
建模并不是僅對大型的軟件系統(tǒng),甚至一個小型的留言本也能從建模的過程中受益.
UML面向?qū)ο蠼榛A(chǔ)的4種開發(fā)模式
軟件生命周期可以分為制定計劃,需求分析,設(shè)計,編碼,測試,運行和維護.軟件開發(fā)模式是跨越整個軟件生存周期的系統(tǒng)開發(fā),運行和維護所實施的全部內(nèi)容光煥發(fā)結(jié)構(gòu)框架,給出軟件開發(fā)活動中各個階段之間的關(guān)系.這里介紹4種常見的開發(fā)模式.
(1)瀑布模型
瀑布模型也被軟為生存周期模型,其核心思想是按照相應(yīng)的工序?qū)栴}進行簡化,將系統(tǒng)功能的實現(xiàn)與系統(tǒng)的設(shè)計工作分開,便于項目之間的分工與協(xié)件,即采用結(jié)構(gòu)化的分析與設(shè)計方法將邏輯實現(xiàn)與物理實現(xiàn)分開.瀑布模型將軟件生命周期劃分為項目計劃,需求分析,軟件設(shè)計,軟件實現(xiàn),軟件測試,軟件運行與維護6個階段.并規(guī)定了他們自上而下的次序,每一個階段都是依次銜接的.
UML瀑布模型為項目提供了接階段劃分的檢查點,這樣有利于軟件開發(fā)過程中人員的組織及管理.UML面向?qū)ο蠼V衅俨寄P驮诋?dāng)前階段完成后才去關(guān)注后續(xù)階段,這樣有有利于開發(fā)大型的項目.然后也存在一定的缺陷.比如當(dāng)開發(fā)成果尚未經(jīng)過測試時,用戶無法看到軟件效果,不能得到在開發(fā)過程中的及時反饋,增加了項目開發(fā)過程的風(fēng)險.對需求不穩(wěn)定的項目來說缺乏足夠的靈活性.并具要在需求分析階段要完全確定系統(tǒng)用戶所需要的所有需求也相當(dāng)?shù)睦щy.
(2)噴泉模型
噴泉模型以對象為驅(qū)動,以用戶需求為動力.用來描述面向?qū)ο蟮能浖_發(fā)過程.噴泉模型認為軟件開發(fā)過程自下而上,各階段是相互復(fù)疊和多次反復(fù)的.各個開發(fā)階段沒有特定的次序要求,并且可以交互進行.可以在某個開發(fā)階段中隨時補充其他任何開發(fā)階段的遺漏.
UML面向?qū)ο蠼V袊娙P筒幌衿俨寄P湍菢?需要分析活動結(jié)束后才開始設(shè)計活動.設(shè)計活動結(jié)束后才開始編碼.該模型的各個階段沒有明顯的界限.開發(fā)人員可以同步進行開發(fā),其優(yōu)點是可以提高軟件項目開發(fā)效率,節(jié)省開發(fā)時間.但也使開發(fā)過程中需要大量的開發(fā)人員,因此不利于項目的管理.此處這種模型要求嚴格管理文檔,使得審核的對度加大,尤其是面對可能隨時加入各種信息,需求與資料的情況.
(3)基于構(gòu)件的開發(fā)模型
基于構(gòu)件的開模型利用模塊化方法將整個系統(tǒng)模塊化,并在一定構(gòu)件模型的支持下復(fù)用構(gòu)件庫中的一個或多個構(gòu)件,通過組合手段高速率,高質(zhì)量地構(gòu)造應(yīng)用程序軟件系發(fā)統(tǒng)的過程.
UML基于構(gòu)件的開發(fā)方法使得軟件開發(fā)就得容易,構(gòu)件組裝模型導(dǎo)致了軟件的復(fù)用,提高了軟件開發(fā)效率.構(gòu)件組裝模型允許多個項目同時開發(fā),降件了費用,提高了可維護性,可分步提交軟件產(chǎn)品.但也因為采用自定義組裝結(jié)構(gòu)標準,缺乏通用的組裝結(jié)構(gòu)標準,因而引入了軟大的風(fēng)險.可重用性和軟件高效性不易協(xié)調(diào),并且由于過分依賴于構(gòu)件,所以構(gòu)件庫的質(zhì)量影響著產(chǎn)品的質(zhì)量.
(4)XP方法
敏捷方法.是近幾年興起的一種輕量級的開發(fā)方法,它強調(diào)適應(yīng)性而非預(yù)測性,強調(diào)以人為中心而不是以流程為中心,以及對變化的適應(yīng)對和人性的關(guān)注.
UML面向?qū)ο蠼V蠿P(eXtremeProgramming)方法是最引人注目的一種敏捷方法.它規(guī)定了一組核心價值和方法,消除了大多數(shù)重量型開發(fā)過程中的不必要產(chǎn)物,建立一個漸進型開發(fā)過程.該方法將開發(fā)階段的4個活動(分析,設(shè)計,編碼和測試)混合在一起,在全過程中采用迭代增量開發(fā),反饋修正和反復(fù)測試.
采用簡單計劃策略,不需要長期計劃和復(fù)雜模型,開發(fā)周期短.在全過程中中采用迭代增量開發(fā),反饋修正和反復(fù)測試.保證了軟件的質(zhì)量.能夠適應(yīng)用戶經(jīng)常變化的需求,提供用戶滿意的高質(zhì)量軟件.
【編輯推薦】
- 詳解以UML面向?qū)ο蠼榛A(chǔ)的幾種開發(fā)模式
- UML面向?qū)ο蠼VR簡介
- 技術(shù)分享 UML面向?qū)ο蠼=馕?/a>
- 五大UML建模工具免費體驗
- UML面向?qū)ο蠼V兴姆N常見開發(fā)模式