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