UML軟件開發(fā)與建模工具Enterprise Architect教程:UML 2教程-序列圖
Enterprise Architect是一個(gè)對(duì)于軟件系統(tǒng)開發(fā)有著極好支持的CASE軟件(Computer Aided Software Engineering)。EA不同于普通的UML畫圖工具(如VISIO),它將支撐系統(tǒng)開發(fā)的全過程。在需求分析階段,系統(tǒng)分析與設(shè)計(jì)階段,系統(tǒng)開發(fā) 及部署等方面有著強(qiáng)大的支持,同時(shí)加上對(duì)10種編程語(yǔ)言的正反向工程,項(xiàng)目管理,文檔生成,數(shù)據(jù)建模等方面。可以讓系統(tǒng)開發(fā)中各個(gè)角色都獲得最好的開發(fā)效率。
點(diǎn)擊下載Enterprise Architect最新試用版
序列圖
序列圖是交互圖的一種形式,將對(duì)象顯示為沿著頁(yè)面運(yùn)行的生命線,其隨時(shí)間的交互表示為從源生命線到目標(biāo)生命線的箭頭繪制的消息。順序圖擅長(zhǎng)顯示哪些對(duì)象與哪些其他對(duì)象通信;以及哪些消息觸發(fā)了這些通信。順序圖并非旨在顯示復(fù)雜的過程邏輯。
生命線
生命線代表序列圖中的單個(gè)參與者。生命線通常會(huì)有一個(gè)包含其對(duì)象名稱的矩形。如果其名稱為“ self”,則表示生命線代表?yè)碛行蛄袌D的分類器。
有時(shí),序列圖會(huì)帶有一條生命線,其頭部帶有actor元素符號(hào)。如果序列圖屬于用例,通常就是這種情況。穩(wěn)健性圖中的邊界,控制和實(shí)體元素也可以擁有生命線。
留言內(nèi)容
消息顯示為箭頭。消息可以是完整,丟失或發(fā)現(xiàn)的;同步或異步 呼叫或信號(hào)。在下圖中,第一個(gè)消息是同步消息(由實(shí)心箭頭表示),并帶有隱式返回消息;第二條消息是異步的(由箭頭線表示),第三條消息是異步的返回消息(由虛線表示)。
執(zhí)行發(fā)生
沿著生命線延伸的細(xì)矩形表示執(zhí)行的發(fā)生或控件焦點(diǎn)的激活。在上圖中,有三個(gè)執(zhí)行事件。第一個(gè)是源對(duì)象發(fā)送兩個(gè)消息并接收兩個(gè)答復(fù)。第二個(gè)是目標(biāo)對(duì)象接收同步消息并返回答復(fù)。第三個(gè)是接收異步消息并返回答復(fù)的目標(biāo)對(duì)象。
自身消息
自身消息可以表示操作的遞歸調(diào)用,也可以表示一個(gè)方法調(diào)用屬于同一對(duì)象的另一個(gè)方法。它顯示為在生命線的執(zhí)行事件中創(chuàng)建嵌套的控件焦點(diǎn)。
丟失的消息
丟失的消息是已發(fā)送但未到達(dá)預(yù)期收件人的消息,或發(fā)往當(dāng)前圖中未顯示的收件人的消息。找到的消息是從未知發(fā)件人或當(dāng)前圖中未顯示的發(fā)件人收到的消息。它們被表示為去往或來自端點(diǎn)元素。
生命線的開始和結(jié)束
生命線可以在時(shí)序圖表示的時(shí)間范圍內(nèi)創(chuàng)建或銷毀。在后一種情況下,生命線由停止符號(hào)終止,表示為十字形。在前一種情況下,生命線開頭的符號(hào)在頁(yè)面下方比導(dǎo)致創(chuàng)建的對(duì)象的符號(hào)低。下圖顯示了正在創(chuàng)建和銷毀的對(duì)象。
持續(xù)時(shí)間和時(shí)間限制
默認(rèn)情況下,一條消息顯示為一條水平線。由于生命線代表屏幕上時(shí)間的流逝,因此在對(duì)實(shí)時(shí)系統(tǒng)甚至有時(shí)限的業(yè)務(wù)流程進(jìn)行建模時(shí),考慮執(zhí)行操作所花費(fèi)的時(shí)間可能很重要。通過設(shè)置消息的持續(xù)時(shí)間約束,消息將顯示為斜線。
組合碎片
前面已經(jīng)說過,順序圖并非旨在顯示復(fù)雜的過程邏輯。在這種情況下,確實(shí)有許多機(jī)制可以在圖表中添加一定程度的過程邏輯,并且這些機(jī)制都位于組合片段的標(biāo)題之下。組合片段是一個(gè)或多個(gè)處理序列,包含在框架中并在特定的命名環(huán)境下執(zhí)行。可用的片段有:
if…then…else構(gòu)造,則使用替代片段(表示為“ alt”)模型。
選項(xiàng)片段(表示為“ opt”)模型轉(zhuǎn)換構(gòu)造。
中斷片段對(duì)替代的事件序列進(jìn)行建模,而不是處理整個(gè)圖的其余部分。
并行片段(表示為“ par”)對(duì)并發(fā)處理進(jìn)行建模。
弱排序片段(表示為“ seq”)包含許多序列,必須在前一個(gè)片段中處理所有消息,然后才能開始下一個(gè)片段,但是不會(huì)在不共享消息的片段中強(qiáng)加任何序列生命線。
嚴(yán)格的排序片段(表示為“strict”)包含必須按給定順序處理的一系列消息。
負(fù)片(表示為“ neg”)包含無效的一系列消息。
關(guān)鍵片段包含一個(gè)關(guān)鍵部分。
如果消息或消息出現(xiàn)在當(dāng)前上下文中,則忽略片段將其無關(guān)。
考慮片段實(shí)際上與忽略片段相反:考慮片段中未包括的任何消息都應(yīng)被忽略。
斷言片段(表示為“assert”)表示未顯示為斷言操作數(shù)的任何序列均無效。
循環(huán)片段包含一系列重復(fù)的消息。
下圖顯示了一個(gè)循環(huán)片段。
還有一個(gè)交互事件,類似于組合片段。交互事件是對(duì)另一個(gè)圖的引用,該圖在框架的左上角具有單詞“ ref”,并且在框架的中間顯示了該引用圖的名稱。
Gate
Gate是用于將片段內(nèi)的消息與片段外的消息連接的連接點(diǎn)。EA將門顯示為片段框架上的小方塊。圖表Gate充當(dāng)順序圖的頁(yè)外連接器,表示傳入消息的源或傳出消息的目標(biāo)。以下兩個(gè)圖顯示了如何在實(shí)踐中使用它們。請(qǐng)注意,頂層圖上的Gate是消息箭頭接觸參考片段的點(diǎn)-無需將其呈現(xiàn)為盒子形狀。
零件分解
一個(gè)對(duì)象可以有多個(gè)生命線。這允許對(duì)象間消息和對(duì)象內(nèi)消息顯示在同一圖表上。
狀態(tài)不變式/連續(xù)性
狀態(tài)不變性是生命線上放置的約束,在運(yùn)行時(shí)必須為真。它顯示為具有半圓形末端的矩形。
延續(xù)與狀態(tài)不變具有相同的表示法,但用于組合片段中,并且可以跨越多個(gè)生命線。
=====================================================
想要了解或購(gòu)買Enterprise Architect正版版權(quán),請(qǐng)
更多精彩內(nèi)容,歡迎關(guān)注下方的微信公眾號(hào),及時(shí)獲取產(chǎn)品最新資訊▼▼▼