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