UML的現(xiàn)狀及未來UML發(fā)展趨勢
本節(jié)和大家一起來看一下UML的現(xiàn)狀及未來UML發(fā)展,UML是在多種面向?qū)ο蠼7椒ǖ幕A上發(fā)展起來的建模語言,主要用于軟件密集型系統(tǒng)的建模。下面我們來看一下UML的現(xiàn)狀及UML發(fā)展趨勢吧。
UML的現(xiàn)狀及未來UML發(fā)展
UML是在多種面向?qū)ο蠼7椒ǖ幕A上發(fā)展起來的建模語言,主要用于軟件密集型系統(tǒng)的建模。它的演化,可以按其性質(zhì)劃分為以下幾個階段:最初的階段是專家的聯(lián)合行動,由三位OO(面向?qū)ο螅┓椒▽W家將他們各自的方法結(jié)合在一起,形成UML0.9。第二階段是公司的聯(lián)合行動,由十幾家公司組成的“UML伙伴組織”將各自的意見加入UML,形成UML1.0和1.1,并作為向OMG申請成為建模語言規(guī)范的提案。第三階段是在OMG控制下的修訂與改進,OMG于1997年11月正式采納UML1.1作為建模語言規(guī)范,然后成立任務組進行不斷的修訂,并產(chǎn)生了UML1.2、1.3和1.4版本,其中UML1.3是較為重要的修訂版。目前正處于UML的重大修訂階段,目標是推出UML2.0,作為向ISO提交的標準提案。
在多種面向?qū)ο蠼7椒髋刹⒋婧拖嗷ジ偁幍木置嬷校琔ML發(fā)展樹起了統(tǒng)一的旗幟,使不同廠商開發(fā)的系統(tǒng)模型能夠基于共同的概念,使用相同的表示法,呈現(xiàn)彼此一致的模型風格。而且它從多種方法中吸收了大量有用(或者對一部分用戶可能有用)的建模概念,使它的概念和表示法在規(guī)模上超過了以往任何一種方法,并且提供了允許用戶對語言做進一步擴展的機制。
UML在語法和語義的定義方面也做了大量的工作。以往各種關(guān)于面向?qū)ο蠓椒ǖ闹魍ǔJ且员容^簡單的方式定義其建模概念,而以主要篇幅給出過程指導,論述如何運用這些概念來進行開發(fā)。UML則以一種建模語言的姿態(tài)出現(xiàn),使用語言學中的一些技術(shù)來定義。盡管真正從語言學的角度看它還有許多缺陷,但它在這方面所做的努力卻是以往的各種建模方法無法比擬的。
從UML的早期版本開始,便受到了計算機產(chǎn)業(yè)界的重視,OMG的采納和大公司的支持把它推上了實際上的工業(yè)標準的地位,使它擁有越來越多的用戶。它被廣泛地用于應用領(lǐng)域和多種類型的系統(tǒng)建模,如管理信息系統(tǒng)、通信與控制系統(tǒng)、嵌入式實時系統(tǒng)、分布式系統(tǒng)、系統(tǒng)軟件等。近幾年還被運用于軟件再工程、質(zhì)量管理、過程管理、配置管理等方面。而且它的應用不僅僅限于計算機軟件,還可用于非軟件系統(tǒng),例如硬件設計、業(yè)務處理流程、企業(yè)或事業(yè)單位的結(jié)構(gòu)與行為建模。
不過UML發(fā)展在取得巨大成功的同時,也不斷地受到批評。來自工業(yè)界的批評主要是,它過于龐大和復雜,用戶很難全面、熟練地掌握它,大多數(shù)用戶實際上只使用它一少部分的概念;它的許多概念含義不清,使用戶感到困惑。來自學術(shù)界的批評則主要針對它在理論上的缺陷和錯誤,包括語言體系結(jié)構(gòu)、語法、語義等方面的問題。
目前國內(nèi)也有不少軟件企業(yè)在學習并嘗試使用UML。從總體上看,我國計算機界對UML的了解還相當初步,但是對它的崇拜程度卻遠遠超過了西方發(fā)達國家。人們在學習和使用UML遇到和國外用戶相同的疑難和困惑時,卻不太敢懷疑UML有什么問題。所以國內(nèi)幾乎沒有批評的聲音,偶爾有一點,也會立即被捍衛(wèi)的聲音淹沒,即使對UML一些最明顯的缺點和錯誤也是如此。
相比之下,國際上對UML的討論和評價則要客觀得多。無論是Internet上的意見交流,或是每年一次的UML研討會,還是學術(shù)期刊上發(fā)表的文章,都是既肯定其成績,又指出其缺點和錯誤,并且以積極的態(tài)度提出建設性意見。在醞釀UML下一次的重大發(fā)布和籌劃UML2.0作為ISO標準提案的最近兩年內(nèi),圍繞UML的討論更為活躍和熱烈。
為了使我國計算機界對UML目前的狀況有較為客觀的了解,我們從大量的文獻資料中選擇了三篇最具權(quán)威性的文章,介紹給我國讀者。從這組文章中,我們可以得到關(guān)于UML現(xiàn)狀及未來發(fā)展的重要信息:
◆UML已經(jīng)取得重要成功,它已成為在軟件工業(yè)中占支配地位的建模語言,并在許多領(lǐng)域的軟件開發(fā)中得到應用。
◆UML還存在許多問題,自它產(chǎn)生之日起就從未離開過批評:用戶和教師抱怨它內(nèi)容龐大、難學難教而且太過復雜;學者認為它缺少一個精練的核心和定義良好的外圍,有些語義定義得不夠精確而且?guī)в卸x性;建模實踐者認為它缺少支持自己領(lǐng)域建模要求的機制;工具開發(fā)商則因為規(guī)范本身的不確定性而產(chǎn)生理解上的偏差,它們對UML的自行詮釋有可能誤導用戶。
◆UML發(fā)展的關(guān)鍵問題是過于龐大和復雜,以及在語言體系結(jié)構(gòu)、語義等方面存在理論缺陷。產(chǎn)生這些問題的一個重要原因是,在形成規(guī)范的過程中不得不照顧多種方法流派的觀點和多家公司的利益。
為了UML的下一次重大發(fā)布,UML2.0修訂的主持者正在廣泛收集各方面的意見。各界都給予了很高的關(guān)注,提出的意見涉及UML的各個方面。其中一個關(guān)鍵問題是UML是否需要簡化,以及如何使之更精練,最終大部分意見是提供一個精練的核心,而把不常用的內(nèi)容放到定義良好的外圍或擴展機制中。此外,UML2.0還將對UML的底層結(jié)構(gòu)、上層結(jié)構(gòu)和對象約束語言(OCL)做重大改進。
【編輯推薦】