<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jhonney的專欄

       ----人見人愛
    隨筆 - 49, 文章 - 1, 評論 - 23, 引用 - 0
    數(shù)據(jù)加載中……

    [轉(zhuǎn)]UML學習筆記

    作者:Thatway (mailto:outhatway (at) hotmail (dot) com)
    來自:http://www.hibernate.org.cn

    目 錄


    為什么重要

    您應該使用UML嗎?一個字:是!……新的書、文章等等將會全部以UML作為符號。……如果你正要開始使用建模符號,您就應該直接學習UML

    —— Martin Fowler 1997

    統(tǒng)一建模語言UML(Unified Modeling Language)是一套用于面向?qū)ο笙到y(tǒng)建模的標準符號,在20世紀90年代幾經(jīng)波折,終于得到對象管理組織OMG(Object Management Group)的支持,成為業(yè)界符號系統(tǒng)的統(tǒng)一標準。

    因此,了解它是學習后面技術的前提。這并不是夸張,在看懂(并非精通)UML以前,我壓根沒明白《設計模式》,因為《設》里面就用到象UML那樣的語言——OMT。

    UML無疑是重要,但它能很好的勝任建模工作嗎?關于這個問題,我沒有能力給您一個完美的答復,相關的“討論”也在繼續(xù),但下面的幾個事實相信會給您信心。

    1。UML吸取多種建模語言的優(yōu)點,包括三位全球頂級方法學家的貢獻。2。它在風雨中崛起,經(jīng)受考驗。3。UML得到OMG組織及其成員的支持。4。相當多的業(yè)界巨頭們也在使用著它。

    學習旅程

    UML體系是如此復雜,可能會讓您覺得難以把握。但是我們只要有選擇性的學習就足夠了,剩下的當日后有需要時再深入研究。

    在學習之前,我們先來做一個說明,UML僅是一門語言,學習UML不等同于學習系統(tǒng)建模,它們的關系就好比學習中文和學習文章寫作那樣。只是很多情況下,我們都會把它們聯(lián)系在一起而已。


     

    視圖和圖

     

     

    那好,就讓我們開始吧,先來瀏覽一下UML的全貌。由于我們很難只從一個角度去完整描述一個系統(tǒng)的所有方面。因此UML提供了以下五種視圖,它們分工合作,又互相補充。

    1)    用況視圖(Use Case View)2)    設計視圖(Design View)或邏輯視圖(Logical View)3)    進程視圖(Process View)4)    實現(xiàn)視圖(Implementation View)或組件視圖(Component View)5)    實施視圖(Deployment View)

    而這五個視圖又分別用到以下九種圖中的一種或幾種。

    1)    用況圖2)    類圖3)    對象圖4)    順序圖5)    協(xié)作圖6)    狀態(tài)圖7)    活動圖8)    構(gòu)件圖9)    實施圖


     

    相關資源

     

     

    好,看一下相關資源。

    1) 《UML用戶指南》

    此書出自名家,只是部分翻譯欠佳。閱讀時弄清楚上述五個視圖的概念和幾種常用的圖的表示即可,初次閱讀不必深究。

    2) 《UML和模式應用》

    書中示范如何結(jié)合UML以增量方式開發(fā)一個系統(tǒng),著重介紹了OO分析的技巧和法則。內(nèi)容稍嫌羅嗦,但不失為一本好書。

    3) 《UML Distilled》

    另一本入門好書,作為普通使用已經(jīng)足夠。

    4) 《非程序員》第二期之《用UML設計Java應用程序》

    閱讀這一短篇文章,可以快速了解如何在實際項目中使用UML

    5) http://www.uml.org/

    UML的官方網(wǎng)站,可以找到很多有用資料。

    6) http://www.umlchina.com/

    它發(fā)行《非程序員》電子雜志和記錄很多中文文檔,還有一個非常活躍的討論組。

    7) http://www.csdn.net/develop/

    8) http://www-900.ibm.com/developerworks/cn

    這兩個網(wǎng)站可以搜索到很多UML的中文文章,只是比較零散,不大適合系統(tǒng)學習。

     

    再來看一下UML工具。在這方面我沒有很好的經(jīng)驗,且看看別人怎么說。

    1) 《非程序員》第一期的“選擇一種UML建模工具”介紹了評價UML工具的一系列標準。

    2) UML官方網(wǎng)站資源頁的“UML Tools”欄(鏈接)列出了極多的UML工具,可供選擇。


     

    聚合、關聯(lián)和引用

     

    最后,我們討論一下幾個具有“爭議”性的概念——聚合(Aggregation)、組合(Composition)、相識(Acquaintance)、關聯(lián)(Association)、依賴(Dependence)和引用(Reference)。它們極具相似性,在代碼的實現(xiàn)上有些甚至是完全一樣的,然而從概念上理解和區(qū)分它們對我們的系統(tǒng)分析和設計是有重要意義的。

    聚合是指一個對象擁有另一個對象,僅強調(diào)“擁有”。而組合是指一個對象是另一個對象的一部分,強調(diào)“不可分割”,兩個對象具有相同的生命周期。兩者的差別就好比創(chuàng)立一間公司時您可以不要雇員(擁有),但創(chuàng)造一個人時您卻不能丟掉了他的心(不可分割)。

    關聯(lián)和依賴都是指一個對象知道另一個對象。區(qū)別在于關聯(lián)是一種結(jié)構(gòu)關系,表現(xiàn)為一個對象能夠獲得另一個對象的實例引用并調(diào)用它的服務(即使用它);依賴是一種使用關系,表現(xiàn)為一個對象僅僅是調(diào)用了另一個對象的服務。相識既可能是關聯(lián),也可能是依賴。

    引用是指那些指向?qū)ο蟮念悓傩浴崿F(xiàn)組合、聚合和關聯(lián)時無可避免的要用到引用,但實現(xiàn)依賴時卻不一定用到。

    總的來說,關聯(lián)和依賴是同級的;組合是一種聚合,而聚合是一種關聯(lián);引用則是相對獨立的。

    與此相關的文章有:

    1) 《UML用戶指南》第10章,Booch+詳細講述了依賴和關聯(lián)的含義和區(qū)別。

    2) 《設計模式》中文版第15~16頁,Gof講述了聚合和相識的差別。

    3) 《非程序員》第二期之《類之間設置成“關聯(lián)”OR“依賴”似乎全在個人喜好》是幾位朋友就聚合、關聯(lián)和依賴的區(qū)別進行的很好的討論。

    至此,如果您對它們的定義持不同意見,又或者覺得難以理解的話,不妨把別人的那一套都拋開,自己把它們重定義一遍。反正我們又不是理論家,就算定義得不科學也沒關系,只要和我們的項目有關的人員都一致的理解和接受就可以了。畢竟有效的溝通才是我們真正的目的。


    實踐建議

    按需剪裁。項目要用到什么就學習什么,暫時不用的就放下。我們的目的是當前的系統(tǒng)建模,而不是一下子成為UML高手。

    自由擴展。結(jié)合我們的實際情況,在使用的過程中,要明確UML的重點是“溝通”,其次才是“公共”。UML本身有許多規(guī)則和約定,但沒必要一一遵守。只要有利于溝通的,我們就采用,否則就摒棄。通常我們的文檔只是在小范圍里傳播,要統(tǒng)一理解并不困難。當然,當規(guī)則定好了后,最好就不要隨意更改了。

    posted on 2007-08-05 17:02 Jhonney 閱讀(441) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 无码区日韩特区永久免费系列 | 最近中文字幕完整免费视频ww | 国产精品观看在线亚洲人成网| 免费三级毛片电影片| 亚洲欧洲尹人香蕉综合| 动漫黄网站免费永久在线观看| 亚洲av午夜精品无码专区| 亚洲黄色免费网址| 亚洲人成www在线播放| 女人被免费视频网站| 亚洲av无码兔费综合| 亚洲欧洲精品成人久久曰影片| EEUSS影院WWW在线观看免费| 亚洲自偷自偷图片| 亚洲免费在线播放| 国产AV旡码专区亚洲AV苍井空 | 国产乱人免费视频| 久久er国产精品免费观看8| 亚洲av之男人的天堂网站| 69国产精品视频免费| 亚洲真人无码永久在线观看| 免费a在线观看播放| 青柠影视在线观看免费高清| 亚洲日韩中文字幕| 国产国产人免费人成免费视频| 一级做α爱过程免费视频| 亚洲国产精品久久66| 成人毛片免费播放| 国产精品午夜免费观看网站| 亚洲视频欧洲视频| 四虎免费永久在线播放| 日韩电影免费在线观看中文字幕| 亚洲另类小说图片| 国产精品亚洲w码日韩中文| 一区二区三区观看免费中文视频在线播放 | 成人黄软件网18免费下载成人黄18免费视频 | 国产乱子伦精品免费无码专区| 国内精品一级毛片免费看| 波多野结衣亚洲一级| 国产亚洲精品福利在线无卡一 | 久久久青草青青国产亚洲免观|