是一種可視化的語言
創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元黑山做網(wǎng)站,已為上家服務(wù),為黑山各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
UML應(yīng)用范圍
1.面向?qū)ο蠓椒ㄐg(shù)語/符號
主要有兩類術(shù)語:
2. UML 術(shù)語表
一種是表達(dá)結(jié)構(gòu)化事物的術(shù)語
對象:是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體。一個(gè)對象由一組屬性和對這組屬性進(jìn)行操作一組方法組成。
類:是具有相同屬性、操作、關(guān)系和語義的一組對象集合
屬性:描述了對象的具體特征,屬性具有屬性名和屬性值(屬性狀態(tài))
語法:可見性 屬性名:類型 = 缺省值 {性質(zhì)串}
可見性:public(+)、protected(#)、private(-)、包內(nèi)的(~)
操作(方法):一個(gè)操作抽象了一個(gè)對象所要做的事情,并且該類的其它對象也要做這件事
語法:可見性 操作名(參數(shù)表):返回類型{性質(zhì)串}
可見性:public(+)、protected(#)、private(-)、包內(nèi)的(~)
接口: 是操作的一個(gè)集合,其中每個(gè)操作描述了類、構(gòu)件或子系統(tǒng)的一個(gè)服務(wù)
協(xié)作:是一個(gè)交互,涉及交互的三要素:交互各方、交互方式以及交互內(nèi)容
用況:對一組動(dòng)作序列的描述,系統(tǒng)執(zhí)行這些動(dòng)作應(yīng)產(chǎn)生對特定參與者有值的、可觀察的結(jié)果
主動(dòng)類(類似java中的主啟動(dòng)類的main方法):至少具有一個(gè)進(jìn)程或線程的類。
表示:兩條豎線
構(gòu)件:系統(tǒng)設(shè)計(jì)中的一種模塊化部件,通過外部接口隱藏了它的內(nèi)部實(shí)現(xiàn)
制品:系統(tǒng)中包含物理信息、可替代的物理部件
結(jié)點(diǎn):運(yùn)行時(shí)存在的物理元素,通常表示一種具有記憶能力和處理能力的計(jì)算機(jī)資源
多態(tài)性(Polymorphism):是指一般了中定義的屬性或服務(wù)被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為
多態(tài)性實(shí)現(xiàn)的方法:
細(xì)化:是類目之間的語義關(guān)系,其中一個(gè)類目規(guī)約了保證另一類目執(zhí)行的契約
包:是模型元素的一個(gè)分組,一個(gè)包本身可以被嵌套在其他包中,并且可以含有子包和其他類型的模型元素
一種是表達(dá)關(guān)系的術(shù)語
關(guān)聯(lián):反映了類與類之間的靜態(tài)關(guān)系
關(guān)聯(lián)名(name):關(guān)聯(lián)可以有一個(gè)名字
角色(role):一個(gè)類參與一個(gè)關(guān)聯(lián)時(shí),有一個(gè)特定的角色
多重性(multiplicity):類中對象參與一個(gè)關(guān)聯(lián)的數(shù)目
聚合(aggregation):一種特殊形式的關(guān)聯(lián),表達(dá)一種“整體/部分“關(guān)系,一個(gè)類是另一個(gè)類的一部分
組合(composition):是聚合的一種特殊形式
限定符:一個(gè)限定符是一個(gè)關(guān)聯(lián)的屬性或?qū)傩员恚@些屬性的值將對該關(guān)聯(lián)相關(guān)的對象集做了一個(gè)劃分
關(guān)聯(lián)類:一種模型元素,它有關(guān)聯(lián)和類的特性
約束
泛化/繼承:特殊類(子類)的對象擁有其一般類(超類)的全部屬性和服務(wù),稱作特殊類對一般類的繼承
子類可繼承父類的屬性和操作,并可有更多的屬性和操作
子類可以替換父類的生明
若子類的一個(gè)操作的實(shí)現(xiàn)覆蓋了父類同一個(gè)操作的實(shí)現(xiàn),這就是多態(tài)性,但兩個(gè)操作必須具有相同的名字和參數(shù)
一個(gè)類可以有0個(gè)、1個(gè)或多個(gè)父類。沒有父類且最少有一個(gè)子類的類被稱為根類或基類;沒有子類的類稱為葉子類
依賴:是一種使用關(guān)系,用于描述一個(gè)類目使用另一類目的信息和服務(wù)
實(shí)現(xiàn)(realization):是類目之間的一種語義關(guān)系,其中一個(gè)類目規(guī)約了保證另一個(gè)類目執(zhí)行的契約
3.靜態(tài)模型表達(dá)工具 -- 類圖
類圖是給出一組類、接口、協(xié)作以及它們之間關(guān)系的圖
作用:
類圖的內(nèi)容:類、接口、依賴、泛化、關(guān)聯(lián)
類圖的一般用法
類圖主要用于對系統(tǒng)的靜態(tài)設(shè)計(jì)視圖(投影)進(jìn)行建模,支持表達(dá)系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù)。
對系統(tǒng)中的詞匯建模
當(dāng)需要決策:使用哪些類目和UML關(guān)系,作為系統(tǒng)的組成部分;哪些類目和UML關(guān)系,處于系統(tǒng)之外。
對簡單協(xié)作進(jìn)行建模
當(dāng)需要一組類來表達(dá)系統(tǒng)中的某一事物語義時(shí),可使用類圖詳細(xì)描述這組類以及它們之間的關(guān)系
對邏輯數(shù)據(jù)庫模式建模
當(dāng)需要給出數(shù)據(jù)庫概念設(shè)計(jì)的指導(dǎo),可對要在數(shù)據(jù)庫中存儲的信息,采用類圖相應(yīng)的數(shù)據(jù)庫模式進(jìn)行建模
系統(tǒng)行為(交互)的建模工具 -- 順序圖
順序圖是一種交互圖,即由一組對象以及這些對象之間的關(guān)系組成,其中還包含這些對象之間被發(fā)送的消息
順序圖包含的內(nèi)容:
5點(diǎn)說明:
順序圖包含了一些由時(shí)間定序的消息
如果消息是異步的,用枝行箭頭線表示:
如果消息是同步的,
則用實(shí)心三角箭頭線表示:
同步消息的回復(fù)用虛線枝行箭頭線表示:
對象生命線,用于表示一個(gè)對象在一個(gè)特定的時(shí)間段中的存在
控制焦點(diǎn),表達(dá)一個(gè)對象執(zhí)行了一個(gè)動(dòng)作的時(shí)間段
時(shí)序,一條生命線上的時(shí)序是非常重要的,使消息集合形成了一個(gè)偏序關(guān)系,建立了一個(gè)因果鏈
順序圖中的結(jié)構(gòu)控制
常見的控制類型:
系統(tǒng)行為(生存周期)的建模工具 -- 狀態(tài)圖
狀態(tài)圖是顯示一個(gè)狀態(tài)機(jī),其中強(qiáng)調(diào)了從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的控制流
狀態(tài)圖包含:
狀態(tài):
一個(gè)狀態(tài)是類目的一個(gè)實(shí)例(簡稱對象)在其生存周期的一種條件(condition)或情況(situation),該期間該對象滿足這一條件,執(zhí)行某一活動(dòng)或等待某一消息
表示:
狀態(tài)的分類:
初態(tài):表達(dá)狀態(tài)機(jī)默認(rèn)的開始位置,用實(shí)心圓來表示:
終態(tài):表達(dá)狀態(tài)機(jī)的執(zhí)行已經(jīng)完成,用內(nèi)含一個(gè)實(shí)心圓的圓來表示:
正常狀態(tài)(中間態(tài)):既不是初態(tài)又不是終態(tài)
狀態(tài)的規(guī)約:
“do”
事件:
一個(gè)事件是對一個(gè)有意義的發(fā)生的規(guī)約,該發(fā)生有其自己的時(shí)空
可模型化的4種事件
狀態(tài)轉(zhuǎn)換:
一個(gè)狀態(tài)轉(zhuǎn)換是兩個(gè)狀態(tài)間的一種關(guān)系
狀態(tài)轉(zhuǎn)換的規(guī)約,5個(gè)部分: