偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

解析Java與UML交互圖有何關(guān)聯(lián)

開發(fā) 架構(gòu)
Java與UML交互圖的關(guān)系你是否了解,本文討論的是一種UML圖——交互圖(InteractionDiagram)。交互圖描述的是一組對象之間的交互過程。

本文和大家重點討論一下Java與UML交互圖,UML交互圖以圖形的形式表示出方法調(diào)用過程,它有兩種形式:序列圖(SequenceDiagram)和協(xié)作圖(CollaborationDiagram)。

Java與UML交互圖

引用:http://www.qqread.com/soft-engineering/w962383110.html
  本文討論的是一種UML圖——交互圖(InteractionDiagram)。交互圖描述的是一組對象之間的交互過程,或者說,這里我們實際上要回答這樣一個問題:“方法調(diào)用過程在UML中怎樣表示?”

UML交互圖

本文將通過一個非常簡單的交易系統(tǒng)來說明UML交互圖。這個系統(tǒng)包含六個Java類。從前面幾篇文章中,我們已經(jīng)知道UML類圖是分析Java程序結(jié)構(gòu)的有效方法,圖一顯示了這個交易和支付系統(tǒng)的類圖。為了更清楚地說明各個類的職能和角色,圖一利用了前面介紹過的彩色類原型表示法。

圖一一個簡單交易系統(tǒng)的UML類圖

如果我們跟蹤任意一個Java程序的執(zhí)行過程,就會發(fā)現(xiàn),這個過程包含了一個或者多個對類和對象的方法調(diào)用。我們通過調(diào)用對象的方法來尋求特定問題的答案或執(zhí)行一個特定的動作。很多時候,被調(diào)用的方法還會調(diào)用其他方法——或者是同一對象的方法,或者是同一類的其他對象的方法,或者是其他類的對象的方法。類似地,這些被調(diào)用的方法又會繼續(xù)調(diào)用其他方法,直至問題得到了明確的答案或動作全部執(zhí)行完畢(或者出現(xiàn)異常,這時問題將沒有答案或動作不能完成)。

UML交互圖以圖形的形式表示出方法調(diào)用過程,它有兩種形式:序列圖(SequenceDiagram)和協(xié)作圖(CollaborationDiagram)。

序列圖

要達到某個特定的目標(biāo),必然要執(zhí)行一系列的方法調(diào)用。Java與UML交互圖中UML序列圖的典型用途就是顯示出方法調(diào)用過程。圖二顯示了一個交易事務(wù)中計算累計金額的序列圖,調(diào)用從Sale類的calcTotal()方法開始,相關(guān)的代碼片斷在序列圖之后給出。

術(shù)語說明:UML把操作(Operation)定義為方法的特征(Signature)。“方法”(Method)這一術(shù)語被保留給實現(xiàn)操作的代碼。但在Java環(huán)境中,“方法”這一術(shù)語的應(yīng)用范圍更廣泛一些。在UML序列圖中,調(diào)用一個操作就叫做發(fā)送一個消息(Message)。序列圖實際上闡述了操作的具體實現(xiàn),所以下面我們會較多地用到“方法”這個術(shù)語(偶爾也會用到“消息”這個術(shù)語)。


圖二計算交易總金額的序列圖

為了便于把握序列圖的總體情況,圖一只顯示了方法的名稱。詳細的序列圖可以顯示出方法的參數(shù)和返回值。在序列圖中,對象以常規(guī)的UML符號顯示,即使用與對象所屬的類一樣的形狀或符號(默認(rèn)是矩形),再注明對象的名稱,加上一個冒號,再加上相應(yīng)的類名稱。然后再為整個名字加上下劃線(例如,圖二中的aProduct:Product)??梢允÷詫ο蟮拿郑ɡ鐖D二中的:Sale),也可以省略類的名字(例如圖二的Sender),但兩者都省略顯然是不允許的。如果省略了類的名字,冒號必須保留。

時間的流逝方向是從上到下的垂直方向。每一個對象有一條順著頁面垂直向下的生命線(Lifeline),緊接著表示對象的矩形。方法調(diào)用的表示方式是,畫一根從發(fā)出調(diào)用的對象的生命線指向被調(diào)用對象生命線的箭頭。只要對象的任意方法處于執(zhí)行狀態(tài),對象的生命線加寬。加寬之后的生命線稱為“活動條”(ActivationBar),活動條可以嵌套,表示在前一方法的執(zhí)行過程中,又有同一對象的另一個方法被調(diào)用,圖二的getQuantity()方法示范了活動條嵌套的一個例子。

方法的返回值可以通過虛線開叉箭頭的形式表示,但這是可選的,例如圖二中從:Sale指向Sender的箭頭。

如果要在一個對象的集合上進行迭代操作,則在方法的名字前面加上一個星號(再在方括號里面說明循環(huán)條件,可選)。在圖二中,Sale類對LineItem類對象的調(diào)用給出了迭代操作的一個例子。
就象UML類圖一樣,原本需要查看多個源代碼文件才能了解的信息,通過一個UML序列圖就可以表示出來。對已有的代碼實施反向工程獲得對應(yīng)的序列圖,可以幫助不熟悉代碼的開發(fā)者快速了解程序的工作流程。

協(xié)作圖

UML交互圖的另一種形式是協(xié)作圖(CollaborationDiagram)。Java與UML交互圖中協(xié)作圖和序列圖在語義上相同,但協(xié)作圖排列對象的方式比較自由,完全由繪圖者的喜好決定。在協(xié)作圖中,交互動作的次序由消息的編號決定。一些人偏愛這種繪圖方式,許多功能比較完善的UML工具允許用戶將一個圖在協(xié)作圖符號和序列圖符號之間來回轉(zhuǎn)換。一些開發(fā)者建議,用協(xié)作圖來顯示組件之間的交互過程,用序列圖來顯示組件內(nèi)部各個類的交互過程。四的序列圖一樣。

 

圖五 與圖二等價的協(xié)作圖

圖六 與圖四等價的協(xié)作圖

在實踐中,許多必需的交互序列可以隱含在類圖之中,特別是類圖用類原型和Stereotype來表示特定的行為和交互模式之時。UML交互圖把原本隱含的交互過程明確地表達出來,同時也明確地說明了原本在類圖中不明確的交互過程。換句話說,UML交互圖是對傾向于描述靜態(tài)特征的類圖的補充,使得對象的動態(tài)交互過程明確化。
 

【編輯推薦】

  1. Java與UML交互圖關(guān)系揭秘
  2. 全面認(rèn)識九種基本的UML模型圖
  3. 繪制UML圖時應(yīng)避免的六大問題
  4. Java與UML交互圖
  5. 九步實現(xiàn)UML包圖創(chuàng)建

 

 

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

2010-07-08 10:13:54

UML交互圖

2010-06-13 10:19:24

面向?qū)ο蠹夹g(shù)與UML

2010-07-02 13:22:25

UML交互圖

2010-06-17 09:22:48

UML面向?qū)ο蠓治雠c建

2010-06-13 09:32:01

UML依賴

2022-09-13 11:38:23

元宇宙數(shù)字孿生

2010-07-12 10:43:41

UML交互圖

2022-09-11 21:30:48

數(shù)字孿生元宇宙

2009-04-23 14:24:36

UML建模組件圖

2010-07-12 09:18:36

UML模型圖

2010-07-12 10:25:44

UML類圖

2010-07-09 10:26:35

UML類圖關(guān)系

2010-06-11 17:59:24

UML對象圖

2010-07-12 15:16:29

UML關(guān)聯(lián)

2010-06-11 10:31:19

UML部署圖

2010-06-18 09:05:04

UML交互圖

2010-07-02 09:21:34

UML部署圖

2010-07-06 13:04:33

UML系統(tǒng)組件圖

2010-07-07 10:54:53

UML關(guān)聯(lián)關(guān)系

2010-07-02 10:25:50

UML模型圖
點贊
收藏

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