UML輕松入門之基本概念
本節(jié)向大家介紹一下UML的基本概念,主要包括UML基本構(gòu)造模塊中事物,關(guān)系和圖等內(nèi)容,希望通過(guò)本節(jié)的學(xué)習(xí)你對(duì)UML有一定的認(rèn)識(shí),下面讓我們一起來(lái)學(xué)習(xí)有關(guān)UML的知識(shí)吧。
統(tǒng)一建模語(yǔ)言UML輕松入門之基本概念
作曲家會(huì)將其腦袋中的旋律譜成樂(lè)曲,建筑師會(huì)將其設(shè)計(jì)的建筑物畫(huà)成藍(lán)圖,這些樂(lè)曲、藍(lán)圖就是模型(Model),而建構(gòu)這些模型的過(guò)程就稱為建模(Modeling)。軟件開(kāi)發(fā)如同音樂(lè)譜曲及建筑設(shè)計(jì),其過(guò)程中也必須將需求、分析、設(shè)計(jì)、實(shí)現(xiàn)、布署等各項(xiàng)工作流程的構(gòu)想與結(jié)果予以呈現(xiàn),這就是軟件系統(tǒng)的建模。
那么為什么要建模呢?經(jīng)典答案是:建立大廈和建立狗窩的區(qū)別是建設(shè)狗窩不需要設(shè)計(jì),要生產(chǎn)合格的軟件就要有一套關(guān)于體系結(jié)構(gòu)、過(guò)程和工具的規(guī)范。
OMG官方發(fā)布的UML的當(dāng)前***版本為2.0,可以從http://www.uml.org/上下載。
UML由圖和元模型組成,圖是語(yǔ)法,元模型是語(yǔ)義。UML主要包括三個(gè)基本構(gòu)造塊:事物(Things)、關(guān)系(Relationships)和圖(Diagrams)。本次連載我們將對(duì)UML的這些基本組成部分及UML工具和應(yīng)用進(jìn)行介紹,使讀者對(duì)UML形成初步的整體印象。在其后的幾次連載里,再以數(shù)個(gè)實(shí)例對(duì)這些內(nèi)容逐步展開(kāi)。
1.1UML的基本構(gòu)造塊
1.1.1事物
事物是是實(shí)體抽象化的最終結(jié)果,是模型中的基本成員,UML中包含結(jié)構(gòu)事物、行為事物、分組事物和注釋事物。
(1)結(jié)構(gòu)事物(Structuralthings)
結(jié)構(gòu)事物是模型中的靜態(tài)部分,用以呈現(xiàn)概念或?qū)嶓w的表現(xiàn)元素,是軟件建模中最常見(jiàn)的元素,共有以下七種:
類(Class):類是指具有相同屬性、方法、關(guān)系和語(yǔ)義的對(duì)象的集合;
接口(Interface):接口是指類或組件所提供的服務(wù)(操作),描述了類或組件對(duì)外可見(jiàn)的動(dòng)作;
協(xié)作(Collaboration):協(xié)作描述合作完成某個(gè)特定任務(wù)的一組類及其關(guān)聯(lián)的集合,用于對(duì)使用情形的實(shí)現(xiàn)建模;
用例(UseCase):用例定義了執(zhí)行者(在系統(tǒng)外部和系統(tǒng)交互的人)和被考慮的系統(tǒng)之間的交互來(lái)實(shí)現(xiàn)的一個(gè)業(yè)務(wù)目標(biāo);
活動(dòng)類(ActiveClass):活動(dòng)類的對(duì)象有一個(gè)或多個(gè)進(jìn)程或線程。活動(dòng)類和類很相象,只是它的對(duì)象代表的元素的行為和其他的元素是同時(shí)存在的;
組件(Component):組件是物理的、可替換的部分,包含接口的集合,例如COM+、JAVABEANS等;
結(jié)點(diǎn)(Node):結(jié)點(diǎn)是系統(tǒng)在運(yùn)行時(shí)存在的物理元素,代表一個(gè)可計(jì)算的資源,通常占用一些內(nèi)存和具有處理能力。
(2)行為事物(Behavioralthings)
行為事物指的是UML模型中的動(dòng)態(tài)部分,代表語(yǔ)句里的"動(dòng)詞",表示模型里隨著時(shí)空不斷變化的部分,包含兩類:
交互(ineraction):交互是由一組對(duì)象之間在特定上下文中,為達(dá)到特定的目的而進(jìn)行的一系列消息交換而組成的動(dòng)作;
狀態(tài)機(jī)(statemachine):狀態(tài)機(jī)由一系列對(duì)象的狀態(tài)組成。
(3)分組事物(Groupingthings)
可以把分組事物看成是一個(gè)"盒子",模型可以在其中被分解。目前只有一種分組事物,即包(package)。結(jié)構(gòu)事物、動(dòng)作事物甚至分組事物都有可能放在一個(gè)包中。包純粹是概念上的,只存在于開(kāi)發(fā)階段,而組件在運(yùn)行時(shí)存在。
(4)注釋事物(Annotationalthings)
注釋事物是UML模型的解釋部分。
1.1.2關(guān)系
關(guān)系是將事物聯(lián)系在一起的方式,UML中定義了四種關(guān)系:
(1)依賴(Dependencies):兩個(gè)事物之間的語(yǔ)義關(guān)系,其中一個(gè)事物發(fā)生變化會(huì)影響另一個(gè)事物的語(yǔ)義;
(2)關(guān)聯(lián)(Association):一種描述一組對(duì)象之間連接的結(jié)構(gòu)關(guān)系,如聚合關(guān)系(描述了整體和部分間的結(jié)構(gòu)關(guān)系);
(3)泛化(Generalization):一種一般化-特殊化的關(guān)系;
(4)實(shí)現(xiàn)(Realization):類之間的語(yǔ)義關(guān)系,其中的一個(gè)類指定了由另一個(gè)類保證執(zhí)行的契約。
1.1.3圖
圖是事物集合的分類,UML中包含多種圖:
(1)類圖(ClassDiagram):類圖描述系統(tǒng)所包含的類、類的內(nèi)部結(jié)構(gòu)及類之間的關(guān)系;
(2)對(duì)象圖(ObjectDiagram):對(duì)象圖是類圖的一個(gè)具體實(shí)例;
(3)包圖(PackageDiagram):包圖表明包及其之間的依賴類圖;
(4)組件圖(CompomentDiagram,也稱構(gòu)件圖):組件圖描述代碼部件的物理結(jié)構(gòu)以及各部件之間的依賴關(guān)系;
(5)部署圖(DeploymentDiagram):部署圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu);
(6)用例圖(UsecaseDiagram):用例圖從用戶的角度出發(fā)描述系統(tǒng)的功能、需求,展示系統(tǒng)外部的各類角色與系統(tǒng)內(nèi)部的各種用例之間的關(guān)系;
(7)順序圖(SequenceDiagram):順序圖表示對(duì)象之間動(dòng)態(tài)合作的關(guān)系;
(8)協(xié)作圖(CollaborationDiagram):合作圖描述對(duì)象之間的協(xié)作關(guān)系;
(9)狀態(tài)圖(StatechartDiagram):狀態(tài)圖描述一類對(duì)象的所有可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件;
(10)活動(dòng)圖(ActivityDiagram):活動(dòng)圖描述系統(tǒng)中各種活動(dòng)的執(zhí)行順序。本節(jié)關(guān)于UML的相關(guān)內(nèi)容介紹到這。
【編輯推薦】
- 專家推薦 UML入門經(jīng)典
- UML面向?qū)ο笾R(shí)入門
- 直擊:中國(guó)系統(tǒng)與軟件過(guò)程改進(jìn)年會(huì)——UML專場(chǎng)
- 統(tǒng)一建模語(yǔ)言(UML) 版本 2.0
- UML面向?qū)ο蠼VR(shí)簡(jiǎn)介