小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

需求分析用啥圖?UML全家桶-時序圖

 萬里潮涌 2023-04-16 發(fā)布于浙江

上次講完形象的用例圖,這次繼續(xù)講UML的另一種重要的圖:時序圖(Sequence Diagram). 這是一種以時間為主線,通過發(fā)送信息的時間順序來描述各對象之間的動態(tài)協(xié)作的UML交互圖。

Image

1. 元素

時序圖的元素主要包括下面幾種:

角色 Actor

我的理解這個元素應(yīng)該叫主角,一般一個時序圖里會有一個主角,復(fù)雜的圖會有更多個。角色可以是人、機器、系統(tǒng)或子系統(tǒng)。可以用人形圖標(biāo)表示。

Image

對象 Object

在時序圖中,對象是信息交互的主體(個人認為角色其實也屬于對象的范疇,只是為了強調(diào)其重要性,所以往上拎了)。對象在時序圖中可以用三種方式表示:只顯示對象名,只顯示類名,對象名+類名都顯示,這個根據(jù)場景的情況和作圖方便來定,同一個時序圖統(tǒng)一一種對象顯示方式即可。

對象的排列順序 Sequence

既然叫時序圖,那最好就是按照對象的交互先后進行排列了,有點類似演出上場。不同的是,時序圖里是主角先登場,然后才是其他對象。還有,如果兩個對象的交互比較頻繁,那就盡可能靠在一起,方便標(biāo)注信息和后面特寫嘛(焦點,組合)。

生命線 Lifeline

在時序圖里,每個對象都是有存在的時間段的,這就需要用生命線進行展示-在對象下方延伸一條虛線,虛線長度代表存在的時間段。生命線也是時間概念,但為了主時間線錯開方便作圖,所以采用向下延伸的方式。

Image

控制焦點 Focus of Control

對象激活的時間段,在這個時段內(nèi)對象有特定動作需要執(zhí)行。這個可以理解為特寫鏡頭,聚焦對象之間的互動。用矩形框表示。

Image

消息 Message

這部分代表對象之間的信息傳送。消息主要可分為同步信息、異步信息和返回信息。

同步信息和異步信息是一對相對概念,差別在于發(fā)送者傳遞信息給接收者之后的動作:

a. 消息傳遞完,發(fā)送者停止活動,等待接收者反饋(拒絕Reject或者返回控制Process), 這是同步消息;

b. 消息傳遞完,發(fā)送者繼續(xù)干自己手上的活,不等待接收者反饋。這是異步消息。

返回信息是過程調(diào)用返回的,比如下游接口pAPI的返回信息response。

還有一類消息-自關(guān)聯(lián)消息,表示方法的自我調(diào)用,或者在一個對象內(nèi)方法A調(diào)用方法B。

2. 關(guān)系表示

在時序圖中,關(guān)系的表示主要通過組合片段進行。組合片段是時序圖中專門用來解決交互執(zhí)行條件和方式的描述手段。組合片段可直接表示邏輯組件,通過框定指定條件或子進程的作用域,可以為任何生命線的任何部分定義特定條件和子進程。相當(dāng)于控制焦點+特寫說明Image

組合片段總共有13種,包括如下:

a.選項Opt,抉擇Alt

抉擇比較常用,指在一個預(yù)設(shè)條件下只能發(fā)生一個序列。比如去取款時,ATM機沒錢了,那就不會有取款選項。 

選項這種通常是用戶有多個選擇的情況。同樣是在ATM機操作,你可以取款,也可以不取款就站著看。

b.循環(huán)Loop,中斷Break,并行Par,關(guān)鍵Critical,弱順序/強順序 Seq/Strict,

循環(huán)應(yīng)該是開發(fā)人員非常熟悉的了,當(dāng)滿足重復(fù)條件,循環(huán)就能一直進行。

并行,上面講元素-消息時也提過,是發(fā)送者無需等待反饋繼續(xù)進行活動,與串行是相對的。

c.考慮Consider,忽略Ignore,斷言Assert,否定Neg

考慮和忽略主要針對片段描述的消息列表,兩者對當(dāng)前描述來說意義不大,但只能取一個。

斷言和否定是在考慮/忽略的片段中,斷言是操作數(shù)片段指定唯一有效的序列,否定是此片段中顯示的序列不得發(fā)生。(說實話這個真不好理解。)

另外,如果要描述組合片段之間的關(guān)系怎么辦呢?那就用門 Gate 吧:門是連接組合A中的消息和組合B中的消息的連接點。在時序圖中,用一個小方框表示。這個門可以理解為下層展開/關(guān)閉的開關(guān)。

Image

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多