UML學習入門就這一篇文章

發表于:2012-01-04來源:未知作者:張傳波點擊數: 標簽:
UML學習入門就這一篇文章,你可能會問:這明明是一種圖形,為什么說是語言呢?偉大的漢字還不是從圖形(象形文字)開始的嗎?語言是包括文字和圖形的!其實有很多內容文字是無法表達的,你見過建筑設計圖紙嗎?里面還不是很多圖形,光用文字能表達清楚建筑設計嗎?在

  1.1 UML基礎知識掃盲

  UML這三個字母的全稱是Unified Modeling Language,直接翻譯就是統一建模語言,簡單地說就是一種有特殊用途的語言。

  你可能會問:這明明是一種圖形,為什么說是語言呢?偉大的漢字還不是從圖形(象形文字)開始的嗎?語言是包括文字和圖形的!其實有很多內容文字是無法表達的,你見過建筑設計圖紙嗎?里面還不是很多圖形,光用文字能表達清楚建筑設計嗎?在建筑界,有一套標準來描述設計,同樣道理,在軟件開發界,我們也需要一套標準來幫助我們做好軟件開發的工作。UML就是其中的一種標準,注意這可不是唯一標準,只是UML是大家比較推崇的一種標準而已,說不定以后有一個更好的標準可能會取代她呢!UML并不是強制性標準,沒有法律規定你在軟件開發中一定要用UML,不能用其它的,我們的目標是善用包括UML在內的各種標準,來提高我們軟件開發的水平。

  UML由1.0版發展到1.1、1.2、...,到現在的2.0、2.x,本書將會以2.x版本為基礎開展討論。網絡上、書籍、還有各種UML工具軟件,各自基于的UML版本可能會不一樣,大家在學習過程中可能會有一些困惑,不過沒關系,本課程在某些關鍵地方會描述1.x與2.x的差異。

  UML有什么用?

  有很多人認為,UML的主要用途就是軟件設計!也有人認為,如果你不是開發人員,是難以理解UML的。

  然而我第一次在實際工作中應用UML的卻不是軟件設計,而是軟件需求分析!當時我們和客戶面對面溝通調研需求的時候,直接用類圖、順序圖、活動圖、用例圖等UML。我們并沒有因此和客戶無法溝通,反而是溝通得更加順暢??蛻粼谖覀兊囊龑?,很快就會讀懂這些UML圖,因為UML圖,讓我們和客戶的溝通效率和效果更好!你可能覺得很神奇,在后續章節中,我將會為你逐一揭開神奇背后的“秘密”。

  UML可幫助我們做軟件需求分析和軟件設計的工作,在我工作中大概各占了50%的比例,當然在你的實際工作中不一定是這樣的比例。UML會讓你的需求分析或者軟件設計工作更上一層樓,本書將會介紹UML在需求分析方面的最佳實踐。

  告訴你一個秘密,UML應用于軟件需求分析時,其學習門檻將會大大降低!語法復雜度會降低,而且你基本不需要掌握軟件開發的知識。只要你對軟件需求分析感興趣,認真學習和應用UML,就很有機會成為軟件需求分析高手。

  UML的分類

  UML有很多種圖,大體可以分為兩類:

  結構型的圖(Structure Diagram)

  類圖(Class Diagram)

  對象圖(Object Diagram)

  構件圖(Component Diagram)

  部署圖(Deployment Diagram)

  包圖(Package Diagram)

  行為型的圖(Behavior Diagram)

  活動圖(Activity Diagram)

  狀態機圖(State Machine Diagram)

  順序圖(Sequence Diagram)

  通信圖(Communication Diagram)

  用例圖(Use Case Diagram)

  時序圖(Timing Diagram)

  本書所描述的UML的各種圖的名字,以上述的為準。

  UML各種圖的中文譯名,因為翻譯的原因可能會有所不一樣,如:Sequence Diagram和Timing Diagram有時候都會被譯成“時序圖”,這是最讓人困擾的地方!Sequence Diagram 除了被譯為順序圖,還有序列圖的譯法。

  中國軟件行業協會(CSIA)與日本UML建模推進協會(UMTP)共同在中國推動的UML專家認證,兩個協會共同頒發認證證書、兩國互認,CSIA與UMTP共同推出了UML中文術語標準,該標準全稱為:CSIA-UMTP UML中文術語標準v1.0(本書后文將會簡稱為UML中文術語標準)。本書將會遵循UML中文術語標準,并且我們會同時給出中文譯名和英文原名,大家要留意看英文名字噢,這樣能幫助你不會被眾多的中文譯名混淆。

  UML圖為什么會分為結構型和行為型兩種呢?

  顧名思義,結構型的圖描述的是某種結構,這種結構在某段時間內應該是穩定的,“靜態”的;而結構型的圖描述的是某種行為,是“動態”的。

  分析系統需求時,我們會面對很多業務概念,它們之間會有某些關系,這些內容可以看成是“靜態”的,我們可以利用UML的結構性的圖來分析。同時,業務會涉及大量的流程、過程等,這些內容是“動態”的,我們可以用行為型的UML圖來分析。

  在我們軟件設計時,我們需要考慮需要那些類、哪些構件、系統最后怎樣部署等,這些內容可以看成是“靜態”的,我們可以利用UML的結構型的圖來設計。同時,我們也需要考慮軟件如何和用戶交互,類、構件、模塊之間如何聯系等“動態”內容,我們可以利用行為型的圖來設計。

  所謂“靜態”和“動態”不是絕對的,下文我們將會進一步介紹結構型的UML和行為型的UML。通過下面的學習,你將會初步認識UML的各種圖,你可能還會有很多問題,本章的主要目的是讓你對UML有一個宏觀的認識,帶著你的問題繼續閱讀后面的章節吧!

  1.2 結構型的UML(Structure Diagram)

  類圖(Class Diagram)

  請看下面這個類圖:

  圖 1.1 某模具系統類圖

  此圖截取自某模具管理系統的業務概念分析圖,圖中一個一個的矩形就是類,這些類之間有各種線條連接,這些線條表示類之間的關系。類圖是分析業務概念的首選,類圖可能是使用率最高的UML圖。

  再看下面這個Person類圖,這時軟件設計時用到的一個圖:

  圖 1.2 Person類圖

  該Person類有以下屬性(Attribute):Name(姓名),Sex(性別),Department(部門)等,有以下操作(Operation):Work(工作)等。類有屬性和操作,但用類圖分析業務模型時,往往不需要使用操作,如圖1.1中的類就只有屬性。

  Attribute有特性、特征等譯法,Operation也稱作方法,但本書遵循UML中文術語標準,即Attribute為屬性,Operation為操作。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97