自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深入學(xué)習(xí)UML順序圖的通用準(zhǔn)則和消息原則

開發(fā) 架構(gòu)
UML順序圖是將交互關(guān)系表示為一個二維圖,UML順序圖中縱向是時間軸,時間沿豎線向下延伸,而橫向軸代表了在協(xié)作中各獨立對象的類元角色。

本文和大家重點討論一下UML順序圖,和合作圖、活動圖一樣,UML順序圖(Rumbaugh、Jacobson、和booch,1999)是一種動態(tài)建模方法。UML順序圖一般用于:確認(rèn)和豐富一個使用情境的邏輯。

UML順序圖是將交互關(guān)系表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協(xié)作中各獨立對象的類元角色。類元角色用生命線表示。當(dāng)對象存在時,角色用一條虛線表示,當(dāng)對象的過程處于激活狀態(tài)時,生命線是一個雙道線。

UML順序圖簡介

  消息用從一個對象的生命線到另一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。
  和合作圖、活動圖一樣,UML順序圖(Rumbaugh、Jacobson、和booch,1999)是一種動態(tài)建模方法。UML順序圖一般用于:確認(rèn)和豐富一個使用情境的邏輯。一個使用情境就是系統(tǒng)潛在的使用方式的描述,也就是它的名稱所要描述的。一個使用情境的邏輯可能是一個用例的一部分,或是一條備選線路;一個貫穿單個用例的完整流程,例如動作基本過程的邏輯描述,或是動作的基本過程的一部分再加上一個或多個的備用情境的邏輯描述?;蚴前趲讉€用例中的流程,例如一個學(xué)生注冊入學(xué)之后,立即就要在三個班級注冊。

  研究你的設(shè)計,因為它們?yōu)槟闾峁┝艘环N方式,你可以使用這種方式來可視化的調(diào)用類定義的操作。檢測面向?qū)ο蟮脑O(shè)計中的瓶頸。通過觀察什么消息被發(fā)送給一個對象,以及通過概略的觀察運行被調(diào)用的方法需要花費多長時間,你很快就能了解那里的設(shè)計需要變化,以達(dá)到在系統(tǒng)內(nèi)部平衡負(fù)荷的目的。實際上某些CASE工具甚至能夠讓你模擬軟件這些特征。
  使你能夠感覺到你的應(yīng)用程序的那個類將會變得復(fù)雜的,這是個信號,意味著你需要為那些類畫狀態(tài)圖了。

UML順序圖的通用準(zhǔn)則

  盡力保持消息的順序是從左到右排列的。

  一個UML順序圖的消息流開始于左上方,消息乙的位置比消息甲低,這意味著消息乙的順序比消息乙要遲。因為西方的閱讀習(xí)慣是從左到右,你應(yīng)該盡量按照和描述消息流一樣的方式,從左至右排列分類器(角色、類、對象,和用例)。在圖1中你可以看到分類器已經(jīng)按照這種方式排列好了,如果Seminar對象在controller的左邊,那排列方式就不是標(biāo)準(zhǔn)的了。注意有時候消息流從左到右的排列是不可能的,例如一對對象彼此調(diào)用操作的情形。

UML順序圖中消息的原則

  注意∶操作符號的命名規(guī)則,和消息、參數(shù)、返回值的命名有關(guān)的原則都在UML類圖的風(fēng)格指南中描述。
  把消息名放在箭頭旁邊。

圖2

  大多數(shù)的建模者都會調(diào)整消息名,例如圖2中的calculateTotal (),因此消息名總是靠近箭頭的。 一般我們認(rèn)為消息的接受者將會實現(xiàn)相應(yīng)的操作,因此把消息名放在離分類器接近的位置是有意義的。

 

圖3

  注意,圖3并沒有遵循這些原則,所有的消息名都排列在接近發(fā)送者的地方。 這種方法的優(yōu)點在于它很容易看出欲建模的情境的邏輯,而且,如果你使用了清楚的消息和參數(shù)名稱,那你也許可以不用遵循包含邏輯的敘述性描述的原則。而這種方法的缺點是很難判斷哪個操作是被圖右方的分類器所調(diào)用的。 象往常一樣,選擇一種方法并一致的應(yīng)用它。
 

【編輯推薦】

  1. 解析UML順序圖通用規(guī)則
  2. 專家解析 UML順序圖如何使用
  3. 術(shù)語匯編 UML順序圖簡介
  4. 三大常用UML工具性能對比
  5. 學(xué)習(xí)筆記 基于UML順序圖的場景測試用例生成方法

 

 

責(zé)任編輯:佚名 來源: baidu.com
相關(guān)推薦

2010-07-12 13:09:05

UML協(xié)作圖

2010-07-06 10:41:22

UML對象及關(guān)系圖

2010-06-29 15:29:22

UML建模流程

2010-07-06 17:41:58

UML時序圖

2010-07-05 09:59:27

UML類關(guān)系圖

2010-07-01 15:36:22

UML順序圖

2010-07-05 11:31:00

常用UML圖

2010-07-08 13:55:21

UML建模

2010-07-08 16:25:10

UML包圖

2010-07-12 15:00:56

UML狀態(tài)機(jī)視圖

2010-07-09 11:01:30

UML動態(tài)建模

2010-09-08 13:14:03

CSS濾鏡

2009-11-17 14:13:34

PHP配置

2010-06-12 14:35:46

UML對象圖

2015-09-29 08:57:46

javascript對象

2010-08-23 09:01:45

MarginPadding

2010-06-13 15:03:25

UML實踐

2010-07-09 09:26:06

UML順序圖

2015-09-29 09:27:04

JavaScript對象

2010-07-01 15:22:28

UML順序圖
點贊
收藏

51CTO技術(shù)棧公眾號