UML時序圖


一、什么是時序圖

序列圖表示了系統在參與者互動執行某一個用例期間,系統內部的一群對象的協作情況。一個用例就對應一個時序圖。序列圖是對系統動態行為進行描述。用於用例分析和設計階段。

 

二、對比

1、序列圖和協作圖

序列圖跟協作圖相似,兩種圖傳遞的意思是一樣的。不同的是序列圖強調的是消息的傳遞順序,它將交互關系表示為一個二維圖。縱向是時間軸,橫軸是對象,對象的生命周期沿豎線向下延伸。而協作圖強調的是系統間的組織結構,重在表現對象的角色,消息的傳遞順序不明顯。

看示例:

時序圖

 

協作圖

2、時序圖和類圖、用例圖

用例圖是系統外部對象(參與者)與系統這兩大對象之間的互動,而類圖是對系統中涉及到得所有對象,進行抽象描述。時序圖是參與者和系統進行交互,系統內部對象之間的具體互動實現。SO,時序圖關聯了類圖與用例圖,可以通過用例圖和類圖進行整合。

 

三、時序圖的構成

1、角色:參與者。

角色是類中的用戶類,可以直接拖過來用,但是這里的角色應該是脫離系統之外的一個單純的角色。類中定義的屬性和操作可以不考慮。

 

2、對象:系統內部參與用例的一群對象。

 

對象的來源

1、類圖。

開篇已經說過時序圖其實可以是用例圖和類圖的整合。所以時序圖中的對象大部分是已經存在的。

存在哪?在類圖中。也就是說時序圖中的對象是我們在類中已經創建好的,我們只需要拿來用。還有一點要注意:時序圖中用到得是具體的對象,而非類,所以時序圖中的對象是類圖中類的實例化。

畫法:

2、創建

還有一小部分對象是在交互過程中通過消息創建的。

畫法:

當然有創建就有撤銷:在生命線的末尾打岔。

 

3、消息:角色,跟對象,對象和對象之間信息的傳遞。

簡單消息:

同步消息:發出消息后等待對方回應后,再去做別的事情。

異步消息::發出消息后無需等待對方回應,可以先去做別的事情。

返回消息:

4、生命線:對象在某一用例中的生命周期。

激活期:生命線上不是虛線的部分,代表對象在某一用例過程中執行某一操作的時間。

 

PS:    一個用例,可以對應生成一個用例。

參與者對象只能跟邊界對象互動。

實體對象不能發送消息給邊界對象和控制對象。

如只是對數據增,刪,該,查,可以不設置控制對象。

關系:序列圖的一群對象來自類圖,對象之間的交互來自用例描述。

 

四、時序圖怎么畫?

采用BCE(boundary-control-entity patterns)模式繪制時序圖。

BCE 模型中將對象分為三類:邊界類,控制類,實體類。

邊界類:用來隔離系統內外,通常負責接收並響應系統內外消息,參與者與系統對象進行消息傳遞要通過邊界類來實現。

控制類:一個用例會生成一個控制類。用來控制用例執行期間的復雜運算或者業務邏輯。

實體類:系統內部的對象。

他們的排列如下圖所示。

步驟:1、找出參與者和添加用例控制類。

2、然后根據用例流程不斷對邊界類和實體類進行填充。

PS:控制類只有一個,邊界類和實體類可以使多個。

 

分析下來,其實我們的具體實現是在做一道填空題。我們需要向B,C,E三個框中添加對象。

 

以下是對機房收費系統登陸用例的時序圖:

按F5鍵同時生成的協作圖:

 

修改密碼示例:圖一個為一次修改成功:

圖二為二次修改成功

 

圖二的畫法不確定,請指正。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM