一、UML介紹 UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言。它溶入了軟件工程領域的新思想、新方法和新技術。它的作用域不僅限于支持面向?qū)ο蟮姆治雠c設計,還支持從需求分析開始的軟件開發(fā)的全過程。 面向?qū)ο蟮姆治雠c設計(OOA&D)方法的發(fā)展在80年代末至90年代中出現(xiàn)了一個高潮,UML是這個高潮的產(chǎn)物。它不僅統(tǒng)一了Booch、Rumbaugh和Jacobson(UML之父:三人)的表示方法,而且對其作了進一步的發(fā)展,并最終統(tǒng)一為業(yè)界所接受的標準建模語言。 1997年,OMG組織(Object Management Group對象管理組織)發(fā)布了統(tǒng)一建模語言(Unified Modeling Language,UML)。UML的目標之一就是為開發(fā)團隊提供標準通用的設計語言來開發(fā)和構建計算機應用。UML提出了一套IT專業(yè)人員期待多年的統(tǒng)一的標準建模符號。通過使用UML,這些人員能夠閱讀和交流系統(tǒng)架構和設計規(guī)劃--就像建筑工人多年來所使用的建筑設計圖一樣。 UML基本上不能算作全新的發(fā)明,它并非學者教授、科研機構的研究成果,而是直接來自于產(chǎn)業(yè)界、工程界的實踐總結,是在歸納基礎上進行理論升華的產(chǎn)物,其核心內(nèi)容反映了30多年來全球軟件工業(yè)的領導者在軟件設計構造領域的最佳實踐和成功經(jīng)驗,因而具有很高的實用價值。 二、UML的適用范圍 UML的用途非常廣泛,UML及其平臺已被廣泛應用于軟件開發(fā)的各個階段,由于UML已由國際對象管理組織(OMG)標準化為軟件建模的統(tǒng)一語言,因此在工業(yè)界、學術界已被廣泛承認與采用。在世界范圍內(nèi),UML是面向?qū)ο蠹夹g領域內(nèi)占主導地位的標準建模語言。 三、UML在國際上的地位 UML已穩(wěn)占面向?qū)ο蠹夹g市場的95%,Rational、Sun、IBM、Oracle、Borland、CDEC、HP、I-Logix、ompuware、 Itellicorp、ICON Computing、MCI Systemhouse、Rational Software、TI以及Unisys等公司都是UML協(xié)會的成員,都參與了UML規(guī)約的制定。 UML培訓和認證在國外早已大行其道,以日本為例,2000年4月時UML的有關書籍只有14種,2003年5月時已有61種。 通過UML認證的高級設計師超過1000人,而UML資格認定合格者已有29079名,這個數(shù)字在5年后則將達到10萬人,而專門從事OO和UML培訓和顧問的公司超過30家。 四、UML在中國的現(xiàn)狀 如果僅僅說到UML這個概念在我國的引入和介紹,應該說已經(jīng)有相當長的時間,很多相關的知識和教材已經(jīng)被介紹進來,UML的三位創(chuàng)始人也分別訪問過中國,各個學校和培訓機構都開設了一些教程。 但在UML大行其道,成為國際上軟件業(yè)者重要的知識和技能構成的同時,我國卻一直沒有一家正式的UML推廣和培訓機構,這在某種程度上限制了國內(nèi)的軟件業(yè)者和國際接軌。目前在國內(nèi)的跨國軟件巨頭,對于應聘者的UML能力已經(jīng)提到了相當高的程度,但遺憾的是,國內(nèi)企業(yè)還不夠重視這一點。因此,推廣和普及UML語言,對于每個致力于發(fā)展中國軟件產(chǎn)業(yè)的人來說,都是任重而道遠。 五、UML達到的效果 在UML出現(xiàn)之前,軟件的編寫者往往必須通過文檔的形式描述、構建和交流軟件實施工程所需要的概念、要素和需求,但由于語言的多義性,這種交流非常困難,需要花費大量的精力,而且很難于傳承。 而使用了UML的方法之后,就好像建筑師一樣。既然世界上所有的建筑師都用一種規(guī)范畫圖。那么,資格越老的建筑師,他的經(jīng)驗也將越有價值。” 六、 UML在中國推廣的意義 UML進入中國,對中國軟件界是有特殊意義的,說明中國軟件產(chǎn)業(yè)和國際接軌的步伐日益加快。而其深層影響將在未來數(shù)年乃至十數(shù)年間逐漸顯示出來。 任何層次的軟件業(yè)者都有必要接受UML的訓練。如果你是一個程序員,掌握UML和編碼工具后,就像一個既能看懂圖紙又會操作車床的工人一樣,能把別人的意圖弄明白并實現(xiàn)出來。而更高層次的設計者和架構師,更需要通過這種方式來傳遞自己的設計理念。推廣普及UML的應用可以使我國軟件開發(fā)人員、軟件企業(yè)和客戶乃至整個行業(yè)都從中獲益: 1)個人 UML相關知識體系蘊含了非常豐富的當代軟件工程先進知識。軟件開發(fā)人員通過學習和掌握UML概念、表示法及相關的軟件過程、軟件工程技術,能夠加深對軟件設計與分析原則、方法的理解,提高抽象思維能力,從而站在更高的層次上分析問題、解決問題,這是一條快速提高個人軟件設計能力的有效途徑。 2)企業(yè) 對軟件企業(yè)內(nèi)部,用好UML,不但能直接提升企業(yè)的軟件設計開發(fā)能力,而且由于UML能形象直觀地記錄軟件設計的核心思想,可以使軟件開發(fā)管理透明化,促進企業(yè)知識資產(chǎn)的保護和增值,促進軟件重用和整體效益的提升。對外,由于UML是通行的軟件行業(yè)國際標準,企業(yè)在業(yè)務交往中有效運用UML,無論對于開拓國內(nèi)外產(chǎn)品市場還是保障工程承接、項目外包等業(yè)務的順利開展都大有裨益。 3)行業(yè) 積極采用國際通行的軟件描述和設計語言UML,一方面能增加信息透明度,顯著降低軟件企業(yè)之間、客戶與開發(fā)商之間的溝通成本,減少項目失敗的風險,另一方面能促進行業(yè)市場的規(guī)范化和標準化,增進國際技術交流,整體提高我國軟件業(yè)的技術水平和參與國際市場競爭的能力。 4)社會 UML還不只是對于軟件開發(fā)者有意義,現(xiàn)代的大型軟件架構極為復雜,比如銀行的業(yè)務系統(tǒng)、電信的計費系統(tǒng)等。企業(yè)的IT部門要提出自己的需求,再由軟件編寫者實現(xiàn)。但這種需求的表達往往是困難的,因為自然語言總有誤差,這是目前大型軟件開發(fā)中的一個難題。而如果需求的提出者能夠使用UML語言構建自己的需求圖,就能清晰準確的傳達自己的要求,從而大大減少信息傳遞和交流過程中的誤差。而且他不用學習很多語言,只要了解UML就行了。這方面的人士也是UML的強烈需求者。 5)節(jié)約成本 因為軟件項目中代價最高昂的錯誤就是需求的錯誤,一般來說需求錯誤的修復成本是維護階段錯誤的修復成本的200倍,而最常見的錯誤也是需求錯誤,一般來說軟件項目中77%的錯誤是需求錯誤。國內(nèi)企業(yè)與機構的軟件項目因為需求錯誤而發(fā)生的巨額費用追加屢見不鮮,所以我們?nèi)绻谛枨箅A段推廣UML應用,使得軟件需求方與軟件供應方雙方溝通更加有效,將極大減少軟件工程中所浪費的人力與物力,提高軟件項目成功率,降低軟件項目的總成本。 6)提升國際競爭力 國際軟件業(yè)的跨國巨頭已經(jīng)普遍的采用了UML語言,很多跨國軟件外包的公司,現(xiàn)在直接給承包商發(fā)UML的用例圖,而取代了以往的表達方式。因此,掌握UML工具,是國內(nèi)軟件業(yè)參與國際競爭必須掌握的武器。 如果把目光投向中國軟件業(yè)者津津樂道的印度,印度有幾個成為軟件開發(fā)大國的原因,首先是因為英文,但是印度所有的軟件公司對方法和流程的重視程度,是造成印度軟件能夠崛起的最主要的原因。而中國的軟件業(yè)有可能趕上的重要原因就在,通過UML的普及,軟件開發(fā)者之間的直接交流可以借助于通用圖表而非語言,因為,我們的競爭力不能仰賴于英文,我們要仰賴于流程和方法。這是我們競爭核心的來源。”
|