登錄

UML

1.什么是統(tǒng)一建模語(yǔ)言

  統(tǒng)一建模語(yǔ)言(UML,Unified Modeling Language)是非專(zhuān)利的第三代建模和規(guī)約語(yǔ)言。UML是一種開(kāi)放的方法,用于說(shuō)明、可視化、構(gòu)建和編寫(xiě)一個(gè)正在開(kāi)發(fā)的、面向?qū)ο蟮?、軟件密集系統(tǒng)的制品的開(kāi)放方法。UML展現(xiàn)了一系列最佳工程實(shí)踐,這些最佳實(shí)踐在對(duì)大規(guī)模,復(fù)雜系統(tǒng)進(jìn)行建模方面,特別是在軟件架構(gòu)層次已經(jīng)被驗(yàn)證有效。

  UML集成了Booch,OMT和面向?qū)ο?a href="/wiki/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B" title="軟件工程">軟件工程的概念,將這些方法融合為單一的,通用的,并且可以廣泛使用的建模語(yǔ)言。UML打算成為可以對(duì)并發(fā)和分布式系統(tǒng)的標(biāo)準(zhǔn)建模語(yǔ)言。

  UML并不是一個(gè)工業(yè)標(biāo)準(zhǔn),但在Object Management Group的主持和資助下,UML正在逐漸成為工業(yè)標(biāo)準(zhǔn)。OMG 之前曾經(jīng)呼吁業(yè)界向其提供有關(guān)物件導(dǎo)向的理論及實(shí)現(xiàn)的方法,以便制作一個(gè)嚴(yán)謹(jǐn)?shù)能涹w塑模語(yǔ)言(software modeling language)。有很多業(yè)界的領(lǐng)袖亦真誠(chéng)地回應(yīng)OMG,幫助她建立一個(gè)業(yè)界標(biāo)準(zhǔn)。

物件導(dǎo)向分析的歷史
放大
物件導(dǎo)向分析的歷史

2.UML的模型

  在UML系統(tǒng)開(kāi)發(fā)中有三個(gè)主要的模型:

  • 功能模型:從用戶的角度展示系統(tǒng)的功能,包括用例圖。
  • 對(duì)象模型:采用對(duì)象,屬性,操作,關(guān)聯(lián)等概念展示系統(tǒng)的結(jié)構(gòu)和基礎(chǔ),包括類(lèi)圖。
  • 動(dòng)態(tài)模型:展現(xiàn)系統(tǒng)的內(nèi)部行為。包括序列圖,活動(dòng)圖,狀態(tài)圖。

  區(qū)分UML模型和UML圖是非常重要的,UML圖,包括用例圖、協(xié)作圖、活動(dòng)圖、序列圖、部署圖、構(gòu)件圖、類(lèi)圖、狀態(tài)圖,是模型中信息的圖形表達(dá)方式,但是UML模型獨(dú)立于UML圖存在。XML的當(dāng)前版本只提供了模型信息的交換,而沒(méi)有提供圖信息的交換。

  UML使用一套與Java語(yǔ)言或其他面向?qū)ο笳Z(yǔ)言等價(jià)物,同時(shí)也是本體論等價(jià)物的圖形標(biāo)記。

  UML并不是一個(gè)方法學(xué),也不要求使用一個(gè)方法學(xué),但是UML對(duì)于Rational 統(tǒng)一過(guò)程來(lái)說(shuō)是必不可少的。

3.UML圖形

UML 2.0
放大
UML 2.0

  UML 2.0 中一共定義了13 種圖示(diagrams)。為方便了解,可分類(lèi)成右側(cè)的結(jié)構(gòu)。

  結(jié)構(gòu)性圖形(Structure diagrams) 強(qiáng)調(diào)的是系統(tǒng)式的建模:

  • 類(lèi)別圖 (Class Diagram)
  • 元件圖(Component diagram)
  • 復(fù)合結(jié)構(gòu)圖(Composite structure diagram)
  • 部署圖(Deployment diagram)
  • 物件圖(Object diagram)
  • 包圖(Package diagram)

  行為式圖形(Behavior diagrams) 強(qiáng)調(diào)系統(tǒng)模型中觸發(fā)的事件:

  • 活動(dòng)圖(Activity diagram)
  • 狀態(tài)機(jī)圖 (State Machine diagram)
  • 使用個(gè)案圖 (Use Case Diagram)

  溝通性圖形(Interaction diagrams), 屬于行為圖形的子集合,強(qiáng)調(diào)系統(tǒng)模型中的資料流程:

  • 通信圖(Communication diagram]]
  • 交互概述圖(Interaction overview diagram) (UML 2.0)
  • 循序圖(Sequence diagram)
  • 時(shí)間圖(UML Timing Diagram) (UML 2.0)

  協(xié)定狀態(tài)機(jī)是狀態(tài)機(jī)的子變種。它用來(lái)塑造網(wǎng)路通訊協(xié)定模型。

  UML 并不限定 UML 要素型別非得是某圖形上的型別。一般來(lái)說(shuō),每個(gè) UML 要素大約會(huì)出現(xiàn)在圖的所有型別。這種彈性在 UML 2.0 部分被限定。

  為了要保持工程圖的傳統(tǒng),在您的 UML 圖上加注用途、約束、或意圖永遠(yuǎn)無(wú)傷大雅。

4.UML的相關(guān)概念

  UML 從來(lái)源中使用相當(dāng)多的概念. 我們將之定義于統(tǒng)一建模語(yǔ)言術(shù)語(yǔ)匯表。下面僅列代表性的概念.

  • 對(duì)于結(jié)構(gòu)而言

執(zhí)行者,屬性,類(lèi),元件,接口,對(duì)象,包。

  • 對(duì)于行為而言

活動(dòng),事件,訊息,方法,操作,狀態(tài),用例。

  • 對(duì)于關(guān)系而言

聚合,關(guān)聯(lián),組合,相依,廣義化 (or 繼承)。

  • 其他概念
    • 構(gòu)造型 — 這規(guī)范符號(hào)應(yīng)用到的模型
    • 多重性 — 多重性標(biāo)記法與資料庫(kù)塑?;鶖?shù)對(duì)應(yīng),例如: 1, 0..1, 1..*
    • 角色
評(píng)論  |   0條評(píng)論