新聞中心
本文和大家重點(diǎn)討論一下UML模型圖,九種UML模型圖分為三大類:結(jié)構(gòu)分類、動(dòng)態(tài)行為和模型管理,結(jié)構(gòu)分類包括用例圖、類圖、對(duì)象圖、構(gòu)件圖和部署圖,動(dòng)態(tài)行為包括狀態(tài)圖、活動(dòng)圖、順序圖和協(xié)作圖,模型管理則包含類圖。本文主要介紹一下動(dòng)態(tài)UML模型圖。

UML模型圖
UML定義了九種UML模型圖:用例圖(UseCaseView)、類圖(ClassDiagram)、對(duì)象圖(ObjectDiagram)、構(gòu)件圖(ComponentDiagram)、部署圖(DeploymentDiagram)、狀態(tài)圖(StateChartDiagram)、活動(dòng)圖(ActivityDiagram)、序列圖(SequenceDiagram)以及協(xié)作圖(CollaborationDiagram)。這九種UML模型圖各有側(cè)重,如用例圖側(cè)重描述用戶需求,類圖側(cè)重描述系統(tǒng)具體實(shí)現(xiàn);描述的方面都不相同,如類圖描述的是系統(tǒng)的結(jié)構(gòu),序列圖描述的是系統(tǒng)的行為;抽象的層次也不同,如構(gòu)件圖描述系統(tǒng)的模塊結(jié)構(gòu),抽象層次較高,類圖是描述具體模塊的結(jié)構(gòu),抽象層次一般,對(duì)象圖描述了具體的模塊實(shí)現(xiàn),抽象層次較低。
在有的文獻(xiàn)書籍中,將這九種UML模型圖分為三大類:結(jié)構(gòu)分類、動(dòng)態(tài)行為和模型管理,結(jié)構(gòu)分類包括用例圖、類圖、對(duì)象圖、構(gòu)件圖和部署圖,動(dòng)態(tài)行為包括狀態(tài)圖、活動(dòng)圖、順序圖和協(xié)作圖,模型管理則包含類圖。本文則從動(dòng)態(tài)和靜態(tài)的角度分別介紹UML的九種UML模型圖。
1.動(dòng)態(tài)UML模型圖
動(dòng)態(tài)行為UML模型圖描述了系統(tǒng)隨時(shí)間變化的行為。動(dòng)態(tài)UML模型圖包括:用例圖、狀態(tài)圖、活動(dòng)圖、順序圖和協(xié)作圖。
1.1用例圖
用例圖從用戶的角度來(lái)描述系統(tǒng)的行為和特征。用例圖一般是用來(lái)進(jìn)行系統(tǒng)的需求分析的工具。
用例圖中首先要明確的概念就是用例。用例是系統(tǒng)的一個(gè)功能單元,描述了參與者與系統(tǒng)發(fā)生的一次交互行為。例如:銀行的ATM自動(dòng)提款機(jī)系統(tǒng),用戶提款就是一個(gè)用例。
用例圖有以下幾種模型元素:用例(UseCase)、參與者(Actor)、關(guān)聯(lián)關(guān)系(Association)、包含關(guān)系(Include)、擴(kuò)展關(guān)系(Extend)以及泛化關(guān)系(Generalization)。用例是以一個(gè)橢圓形來(lái)表示,橢圓中心是用例的名稱;參與者就是與所要建模的系統(tǒng)交互的外部用戶、進(jìn)程或其他系統(tǒng),參與者是以一個(gè)人形的圖標(biāo)表示;關(guān)聯(lián)關(guān)系描述參與者與其需要交互的用例之間的通信路徑,用一條實(shí)線段表示;包含關(guān)系描述一個(gè)用例利用另一個(gè)用例完成某個(gè)過(guò)程,用一個(gè)帶箭頭的虛線段并在虛線段上以“《include》”作為標(biāo)識(shí)來(lái)表示,箭頭指向被包含的用例;擴(kuò)展關(guān)系描述一個(gè)用例在原有的另一個(gè)用例的基礎(chǔ)上,擴(kuò)展了那個(gè)用例的部分功能,和包含關(guān)系類似,也是以一個(gè)帶箭頭的虛線段表示,不同的是虛線段上顯示的是“《extend》”,箭頭指向被擴(kuò)展的用例;泛化關(guān)系描述用例之間的一般和特殊的關(guān)系,特殊用例是在繼承了一般用例的特性的基礎(chǔ)上添加了新的特性,泛化關(guān)系和擴(kuò)展關(guān)系有相似之處,不同的是擴(kuò)展關(guān)系的需要明確標(biāo)明被擴(kuò)展用例的擴(kuò)展點(diǎn),擴(kuò)展用例只能擴(kuò)展這些擴(kuò)展點(diǎn),泛化關(guān)系用一個(gè)帶有空心三角箭頭的實(shí)線段表示。
1.2狀態(tài)圖
UML模型圖中狀態(tài)圖以狀態(tài)的概念描述對(duì)象、子系統(tǒng)、系統(tǒng)在生命周期中的各種行為,簡(jiǎn)單的說(shuō)就是一個(gè)狀態(tài)圖只描述某一個(gè)對(duì)象(可以是類、程序模塊、系統(tǒng))的行為。通過(guò)狀態(tài)圖可以知道一個(gè)對(duì)象、子系統(tǒng)、系統(tǒng)的各種狀態(tài)及其收到的消息對(duì)其狀態(tài)的影響。世界萬(wàn)物都有可以描述的狀態(tài),因此都可以通過(guò)狀態(tài)圖來(lái)描述他們的行為,狀態(tài)圖具有很強(qiáng)的表達(dá)能力。
狀態(tài)圖有以下幾種常用的模型元素:狀態(tài)(State)、轉(zhuǎn)換(Transition)、起始狀態(tài)(StartState)、終止?fàn)顟B(tài)(EndState)。狀態(tài)描述一個(gè)對(duì)象的生命周期中某個(gè)時(shí)間段的特征,狀態(tài)是用圓角的矩形表示;轉(zhuǎn)換描述狀態(tài)間的轉(zhuǎn)移,用一個(gè)帶箭頭的實(shí)線段表示,還可以給轉(zhuǎn)換添加標(biāo)注,通過(guò)標(biāo)注來(lái)描述引起狀態(tài)轉(zhuǎn)移的事件、條件和要執(zhí)行的操作,標(biāo)注的格式為:事件名[條件]/操作,標(biāo)注的每個(gè)部分都可以省略;起始狀態(tài)描述對(duì)象生命周期的開(kāi)始階段,用一個(gè)黑色的圓表示,有時(shí)為了表述清楚,在不產(chǎn)生混淆概念的情況下,可以省去起始狀態(tài);終止?fàn)顟B(tài)描述對(duì)象生命周期的終止階段,用一個(gè)帶圓形外框的黑色圓表示,一個(gè)狀態(tài)圖可以有多個(gè)終止?fàn)顟B(tài),有時(shí)為了表述清楚,在不產(chǎn)生混淆概念的情況下,可以省去終止?fàn)顟B(tài)。
1.3活動(dòng)圖
活動(dòng)圖是通過(guò)一系列活動(dòng)描述對(duì)象的行為,對(duì)象可以是程序、模塊、子系統(tǒng)、系統(tǒng)。通過(guò)活動(dòng)圖,可以了解所描述對(duì)象的要進(jìn)行的各種任務(wù)和過(guò)程。
UML模型圖中活動(dòng)圖常用的模型元素包括:活動(dòng)(Activity)、起始點(diǎn)(Start)、終止點(diǎn)(End)、轉(zhuǎn)換(Transition)、對(duì)象(Object)、條件判斷(Decision)、同步條(SynchronizationBar)、信息流和泳道(Swinlane)?;顒?dòng)描述的是系統(tǒng)要完成的一個(gè)任務(wù)或要進(jìn)行的一個(gè)過(guò)程,是活動(dòng)圖中的一個(gè)原子活動(dòng),活動(dòng)用一個(gè)圓角的矩形表示,并標(biāo)上活動(dòng)名;起始點(diǎn)描述活動(dòng)圖的開(kāi)始狀態(tài),與狀態(tài)圖類似,用一個(gè)黑色的圓標(biāo)識(shí),活動(dòng)圖可以有多個(gè)起始點(diǎn);終止點(diǎn)描述活動(dòng)圖的終止?fàn)顟B(tài),與狀態(tài)圖類似,用一個(gè)帶圓圈的黑色圓表示,活動(dòng)圖可以有多個(gè)終止點(diǎn);轉(zhuǎn)換描述活動(dòng)之間的轉(zhuǎn)換,也就是被描述對(duì)象的控制流,轉(zhuǎn)換用帶箭頭的實(shí)線段表示,箭頭指向轉(zhuǎn)向的活動(dòng),可以在轉(zhuǎn)換上用文字標(biāo)識(shí)轉(zhuǎn)換發(fā)生的條件;對(duì)象是活動(dòng)圖中參與的對(duì)象,它可以發(fā)送信號(hào)給活動(dòng)或是接收活動(dòng)的信號(hào),也可以表示活動(dòng)的輸入/輸出結(jié)果,對(duì)象的表示和對(duì)象圖中的表示相同。
條件判斷描述活動(dòng)間轉(zhuǎn)換的分支,只有一個(gè)流入的信息流,不同的條件下輸出的信息流有不同的流向,條件判斷用一個(gè)菱形表示;同步條描述活動(dòng)之間的同步,一般有多個(gè)信息流流入,多個(gè)信息流流出,必須是流入的信息流都到達(dá),流出的信息流才能同時(shí)流出,同步條用一條較粗的水平的或是垂直的實(shí)線段表示;信息流描述活動(dòng)和對(duì)象的交互關(guān)系,對(duì)象可以作為活動(dòng)的輸入/輸出,也可以作為一個(gè)實(shí)體,接收活動(dòng)的信號(hào)或是向活動(dòng)發(fā)送信號(hào),信息流用帶箭頭的虛線段表示,箭頭標(biāo)識(shí)信息流的方向;泳道描述的是活動(dòng)圖中的活動(dòng)的分組,通常,可以將活動(dòng)按照某種標(biāo)準(zhǔn)分組,泳道在UML活動(dòng)圖中的表示就是在橫向上將活動(dòng)圖劃分出一個(gè)縱向的區(qū)域,同組的活動(dòng)和對(duì)象都在這個(gè)區(qū)域中,區(qū)域之間用虛線分隔。
1.4順序圖
順序圖通過(guò)描述對(duì)象之間的交互來(lái)表達(dá)被描述對(duì)象的行為。順序圖重點(diǎn)強(qiáng)調(diào)對(duì)象交互的時(shí)間性順序性。與前面介紹的UML模型圖可以隨意組織模型元素不同,順序圖有一定的結(jié)構(gòu),可以將順序圖看成一個(gè)二維坐標(biāo),縱向上表示的是不同的對(duì)象,橫向上是順序的時(shí)間
順序圖常用的模型元素有:對(duì)象(Object)和消息(Message)。對(duì)象是順序圖描述的對(duì)象中的一個(gè)子對(duì)象,對(duì)象的表示和對(duì)象圖的類似,但是順序圖中的對(duì)象只放置在圖中對(duì)象所在的縱向區(qū)域的頂端,同時(shí)有一條向下延伸的虛線,表示對(duì)象的生命線,在對(duì)象正在執(zhí)行動(dòng)作(如向其它對(duì)象發(fā)送消息)的區(qū)間,生命線的虛線就被一個(gè)矩形方塊代替,用來(lái)表示此時(shí)對(duì)象處于激活狀態(tài),在對(duì)象生命線末尾用一個(gè)“×”標(biāo)識(shí)對(duì)象生命期的結(jié)束;消息是對(duì)象間通訊的信息,可以是控制信息、數(shù)據(jù)信息等,消息可以分為簡(jiǎn)單消息、同步消息、異步消息和返回消息,簡(jiǎn)單消息標(biāo)識(shí)對(duì)象間的一般消息,沒(méi)有具體的細(xì)節(jié),只描述了對(duì)象間的一次通訊,簡(jiǎn)單消息用一個(gè)帶箭頭的實(shí)線段表示,同步消息描述的是消息的發(fā)送方發(fā)送了消息之后,必須收到回復(fù)消息才能進(jìn)行后續(xù)的動(dòng)作,同步消息用帶實(shí)心三角箭頭的實(shí)線段表示,異步消息描述的是消息的發(fā)送方在發(fā)送了消息之后就能進(jìn)行后續(xù)動(dòng)作,不需要等待回復(fù)消息,返回消息描述的是從同步消息激活的動(dòng)作返回到同步消息發(fā)送者的消息,返回消息用帶箭頭的虛線段表示。
1.5協(xié)作圖
UML模型圖中協(xié)作圖描述在一定的語(yǔ)境中一組對(duì)象以及用來(lái)實(shí)現(xiàn)某些功能的對(duì)象之間的相互作用和對(duì)象之間的關(guān)系。協(xié)作圖可以看成是在對(duì)象圖的基礎(chǔ)上,加入了對(duì)象之間的消息通訊以描述對(duì)象之間的交互。與順序圖不同,協(xié)作圖重點(diǎn)是在空間上描述對(duì)象的交互。
協(xié)作圖除了具有對(duì)象圖的模型元素之外,就是加入了消息(Message),消息是對(duì)象之間的通訊,從而實(shí)現(xiàn)對(duì)象的交互,消息可以分為:指向源的簡(jiǎn)單消息、指向目的的簡(jiǎn)單消息、指向源的異步消息、指向目的的異步消息、指向源的同步消息、指向目的的同步消息,指向源和指向目的都是表示簡(jiǎn)單消息的流向,只是圖形表示的指向不同而已,指向源的簡(jiǎn)單消息和指向目的的簡(jiǎn)單消息都用帶箭頭的線段表示,指向源的簡(jiǎn)單消息只指向左邊邊,指向目的的簡(jiǎn)單消息只指向右邊,指向源的異步消息用帶有下半個(gè)箭頭的實(shí)線段表示,指向目的的異步消息用帶有上半個(gè)箭頭的實(shí)線段表示,指向源的同步消息和指向目的的同步消息用帶實(shí)心三角箭頭的實(shí)線段表示,指向源的同步消息只指向左邊,指向目的的同步消息只指向右邊。
【編輯推薦】
- 深入剖析靜態(tài)UML模型圖
- 術(shù)語(yǔ)匯編 UML模型圖組成解析
- 九種UML模型圖及其功能詳解
- 解析UML中五類UML模型圖
- 用UML模型實(shí)現(xiàn)大型實(shí)時(shí)監(jiān)控應(yīng)用軟件
名稱欄目:UML基礎(chǔ)解析動(dòng)態(tài)UML模型圖
文章分享:http://www.dlmjj.cn/article/dhoeecg.html


咨詢
建站咨詢
