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