亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 技術開發 > 正文

UML系列內容之九:協作圖

2023-06-17 18:00:45
字體:
來源:轉載
供稿:網友

Hello,everybody. 這一期我們來探討一下UML中的協作圖。

1 協作圖的含義

協作圖(Collaboration Diagram,又稱協同圖)也是交互圖的一種,它主要描述用例在實現過程中參與的對象以及對象之間的交互消息。

可以認為協作圖是序列圖的另外一種表示交互的方法,但它不強調時間和序列。

協作圖的主要用途是描述類的一個操作的實現,用于描述對象之間的簡單交互。

2 協作圖的構成

協作圖主要由對象(Object)、消息(Message)和鏈(Link)三個元素構成。

2.1 對象

協作圖中的對象與序列圖中的對象概念相同,也是類的一個實例,其應該是類圖中某個類的實例。

對象的表示法也與序列圖中相同,其命名方式也相同:

協作圖中的對象命名方式

即:“對象名:所屬類名”、“對象名”或“:所屬類名”三種,同時也在名稱下畫一條橫線,以表示其是類的一個實例。

也可以使用下面的形式來表示類的多個實例:

多個對象

2.2 消息

協作圖中的消息與序列圖中的消息概念相同,都是從一個對象(發送者)向另外一個對象或幾個其它對象(接收者)發送信號,或由一個對象(發送者或調用者)調用另外一個對象(接收者)的操作。

協作圖中的消息也是由三個基本部分構成:發送者、接收者和消息名稱。

消息也是由帶消息名稱標簽的箭頭表示。它附著在對象之間的鏈上。箭頭方向指向消息的接收者。

一個消息也可以發送給對象自己,即消息的發送者和接收者都是對象自己。

每個消息都有一個序號,用以表明消息的發送順序。消息也有自己的名稱,即操作的名稱,也可以附帶參數,即操作的參數。

下圖中的“1:getRecords(reader)”及箭頭即表示一個消息。它表示對象borrowForm要調用borrowRecords對象的一個操作。

對象消息

2.3 鏈

鏈是對象之間的連接,也是類關聯的一個實例。在協作圖中,鏈使用實線或弧來連接兩個對象。

鏈也可以位于一個對象跟自己的連接,鏈的起點和終點在一個對象上。

如下圖就是鏈位于單個對象上的情形。

對象鏈

3 協作圖建模

3.1 基本策略

(1)設置交互的語境;

(2)設置交互的場景;

(3)對每個對象設置初始特性;

(4)描述對象之間可能有信息沿著它傳遞的鏈;

(5)設置消息的順序號。

3.2 具體步驟

(1)確定用例中的交互過程——要描述哪個交互;

(2)識別參與交互過程的對象——有哪些對象參與到交互中來;

(3)如果需要,為每個對象設置初始特性——這些初始值對對象間的交互是否有影響,有的話可以添加,否則所有對象都有類似的行為;

(4)確定對象之間的鏈, 及沿著鏈的消息——對象之間有消息傳送,就可以確定一個鏈;

(5)從引發該交互過程的初始消息開始,將每個消息附到相應的鏈;

(6)可以使用特別技巧設置消息的循環發送、時間約束等;

(7)如果需要,可以為每個消息設置前置條件和后置條件。

4 協作圖案例

仍以圖書館借閱系統為例說明協作圖的創作過程。

(1)確定一個交互

讀者還書時,圖書館工作人員使用歸還圖書幫助讀者完成還書的交互過程。

(2)確定參與的對象

圖書館工作人員、還書界面、借閱記錄、業務邏輯處理和數據庫。

(3)繪制對象

在Rose中,“Logical View”(邏輯視圖)上右擊,然后選擇“New”(新建),然后再選擇“Collaboration Diagram”(協作圖),如下圖所示:

 Rose中新建協作圖

將新建的協作圖命名為“還書協作圖”。

雙擊“還書協作圖”,則可以打開繪圖界面。

協作圖初始界面

協作圖中工具箱中的內容及含義如下:

協作圖工具箱

創建對象時,可以直接從左側的元素瀏覽器中,把相應的類拖拽到協作圖繪制區中來。

本例中,從左側把圖書館工作人員、還書業務邏輯、還書數據處理邏輯、還書界面、借閱記錄相關類拖拽到繪圖區,形成以下情形:

創建協作圖中的對象

(4)確定對象之間的鏈

根據還書業務,哪些對象之間有消息發送,則可以繪制對象之間的鏈。

繪制鏈的方法是,在工具箱中選擇“對象鏈”,鼠標會變為一個向上的箭頭,如下圖所示:

創建對象間的鏈

將鼠標移動到其中一個對象上,按下鼠標并滑動到另外一個對象上后,松開鼠標,則創建完兩個對象之間的鏈了。

如果想刪除一個鏈,可以選中鏈之后,按下“CTRL+D”組合鍵,或者在鏈上右擊,然后選擇“Edit”(編輯),再選擇“Delete From Model”(從模型中刪除),則可以徹底刪除該鏈。

本例中最終形成以下效果:

對象間的鏈

(5)為鏈添加消息

選擇工具箱中的“鏈消息”或“鏈的反向消息”工具為鏈添加消息。

當選擇一種消息后,鼠標會變為黑色十字圖標,在要添加消息的鏈上點擊后,則完成添加消息,如下圖所示:

為鏈添加消息

點擊后的消息暫無名稱,只有序號,如下圖所示:

鏈上的消息

我們可以通過雙擊消息箭頭來為消息命名或通過兩次點擊(注意不是雙擊)序號來直接輸入消息的名稱。

下圖是通過雙擊箭頭來命名的圖示:

雙擊修改鏈上的消息

點擊“Apply”(應用)按鈕,則可以在鏈上顯示消息名稱。

同時,在“Detail”選項卡中指定消息的類型和頻次。如下圖:

鏈的消息類型

界面中,上部分指定消息的“同時性”特征,從上到下分別為:簡單消息、同步消息、阻斷消息、超時消息、過程調用、異步消息和返回消息。

其中阻斷消息和超時消息是Rose添加的兩種消息。

阻斷消息是指消息發送者只有在消息接收者能接受消息時發送消息,否則消息發送者將放棄該消息。

超時消息是指發送消息的對象在發送消息時指定等待時間,如果消息接收者未能在指定時間內處理完該消息,則消息發送者將放棄該消息。

過程調用是指對象發出消息后,等待處理消息的整個過程完畢后才繼續工作。

消息的頻次可以設置消息按規定的時間間隔發送。

其中,Aperiodic是指不定期發送的消息,Periodic是指定消息為定期發送。

我們也可以雙擊鏈或右擊鏈后選擇“Open Specification...”來為鏈添加消息。

這兩種操作都會打開一個下圖所示的對話框。

消息對話框

在該對話框的“General”選項卡中可以設置鏈的名稱,關聯的名稱,以及作為提供者類和客戶類的可見性。

“Messages”選項卡中的內容如下:

消息選項卡

在這里,可以修改鏈上已有消息的內容或添加新消息。

在已有消息中雙擊后彈出的對話框與雙擊消息箭頭時彈出的對話框相同,可以進一步指定消息的名稱、消息的類型等內容。

在上圖空白處右擊,可以選擇“Insert To”命令為鏈的某一端對象添加操作(消息提供者)。如下圖所示:

新建消息

在插入新建消息時,要指明消息的提供者(操作的提供者)。

也可以在已有的消息上右擊選擇“<new operation>”,為鏈添加方向一致的消息。如下圖所示:

新建消息2

(6)調整對象布局

設置完對象的消息后,通過調整對象的布局,消息的排列,使圖閱讀更加容易。

本例的最終效果如下圖所示:

協作圖示例

5 由序列圖生成協作圖

在Rose中,序列圖和協作圖可以相互轉換。

由序列圖生成協作圖的具體操作方法為:

(1)打開已經創建好的序列圖;

(2)選擇“Browse”菜單下的“Create Collaboration Diagram”或按下F5快捷鍵,則完成了由序列圖生成協作圖的操作。

(3)優化排列 雖然生成了協作圖,但排列還比較混亂,需要通過調整對象的位置和對象間的距離來完整顯示相關內容。

下圖是由上篇文章中繪制的序列圖生成的協作圖。

協作圖示例2

以上是關于協作圖的有關內容,如有問題請留言。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久有精品国产| 日本a级片电影一区二区| 欧美在线观看www| 中文国产成人精品久久一| 中文字幕亚洲专区| 国产精品三级在线| 国产精品99久久久久久白浆小说| 一本一道久久a久久精品逆3p| 国产一区二区三区中文| 日韩欧美在线中文字幕| 美女扒开尿口让男人操亚洲视频网站| 久久九九精品99国产精品| 欧美黑人xxx| 欧美精品在线免费| 精品一区二区三区电影| 日韩资源在线观看| 久久人人爽人人爽爽久久| 日韩电影在线观看永久视频免费网站| 亚洲欧洲偷拍精品| 日韩电影中文字幕在线观看| 欧美精品免费在线| 日韩不卡中文字幕| 日本高清+成人网在线观看| 精品中文视频在线| 亚洲人成自拍网站| 亚洲成年人影院在线| 亚洲欧美制服中文字幕| 欧美限制级电影在线观看| 亚洲成人精品在线| 91免费精品国偷自产在线| 成人写真视频福利网| 国产suv精品一区二区| 国产精品久久久久久av福利软件| 亚洲国产古装精品网站| 麻豆精品精华液| 亚洲片在线资源| 欧美在线免费视频| 一区二区三区视频观看| 欧美视频在线观看免费网址| 日韩国产在线播放| 欧美影院成年免费版| 国产日韩欧美成人| 97热在线精品视频在线观看| 欧美不卡视频一区发布| 18性欧美xxxⅹ性满足| 欧美大肥婆大肥bbbbb| 国产精品中文字幕在线| 久热国产精品视频| 国产成人一区三区| 欧美亚洲另类激情另类| 欧美高跟鞋交xxxxhd| 国产欧美日韩精品在线观看| 久久97久久97精品免视看| 亚洲国产精品va在看黑人| 伊人青青综合网站| 成人午夜小视频| 久久久久久网址| 在线观看精品自拍私拍| 欧美性猛交xxxx黑人| 日本高清不卡在线| 国产91av在线| 日韩不卡在线观看| 久久综合免费视频| 日韩经典中文字幕| 国产精品h片在线播放| 亚洲人成啪啪网站| 久久艹在线视频| 91精品国产高清久久久久久| 中文字幕国产亚洲| 欧美日韩国产在线播放| 亚洲成人网av| 亚洲最新视频在线| 美女久久久久久久久久久| 国产午夜精品理论片a级探花| 欧美中文在线视频| 国产免费亚洲高清| 国产欧美日韩中文字幕| 亚洲精品小视频在线观看| 51视频国产精品一区二区| 福利微拍一区二区| 国产视频亚洲视频| 欧美午夜精品久久久久久浪潮| 精品久久久久久久久久ntr影视| 日本一区二区三区在线播放| 日韩精品在线视频| 精品国产一区二区三区在线观看| 亚洲精品99久久久久中文字幕| 欧美激情xxxx性bbbb| 不卡中文字幕av| 亚洲精品videossex少妇| 国产999视频| 日韩精品极品在线观看播放免费视频| 黑人极品videos精品欧美裸| 久久久久久国产免费| 欧美国产日韩视频| 亚洲成人精品久久久| www.日韩不卡电影av| 亚洲电影第1页| 欧美日韩国产在线播放| 精品人伦一区二区三区蜜桃免费| 日韩国产一区三区| 色先锋资源久久综合5566| 久久免费视频在线| 日本一区二三区好的精华液| 亚洲娇小xxxx欧美娇小| 久久久久久一区二区三区| 成人精品一区二区三区电影免费| 91极品女神在线| 亚洲精品中文字幕av| 成人精品久久一区二区三区| 97视频网站入口| 久久久精品一区二区三区| 国产97在线视频| 亚洲欧美综合v| 上原亚衣av一区二区三区| 成人av.网址在线网站| 亚洲午夜未满十八勿入免费观看全集| 日韩精品视频在线观看免费| 国产日韩欧美在线视频观看| 欧美色videos| 精品国产区一区二区三区在线观看| 国产亚洲人成a一在线v站| 日韩激情在线视频| www.日韩视频| 欧美日韩免费网站| 国产精品自拍小视频| 欧美在线视频一二三| 91精品美女在线| 亚洲专区国产精品| 亚洲精品欧美日韩| 国产亚洲精品久久久久久777| 国产脚交av在线一区二区| 日韩欧美一区二区三区久久| 日韩va亚洲va欧洲va国产| 亚洲欧美日韩国产中文| 久久视频在线观看免费| 欧美猛交ⅹxxx乱大交视频| 亚洲石原莉奈一区二区在线观看| 成人综合国产精品| 亚洲天堂一区二区三区| 国产精品老女人视频| 日韩理论片久久| 91久久久久久久久| 懂色av中文一区二区三区天美| 亚洲日韩中文字幕在线播放| 亚洲xxxxx| 精品成人69xx.xyz| 亚洲影视九九影院在线观看| 美日韩丰满少妇在线观看| 久久99精品久久久久久噜噜| 国产精品激情av在线播放| 在线免费看av不卡| 成人黄色影片在线| 人人做人人澡人人爽欧美| 1769国内精品视频在线播放| 欧美大片欧美激情性色a∨久久| 欧美夫妻性视频| 亚洲电影中文字幕| 中文国产成人精品| 久久人人爽人人爽人人片亚洲| 2019精品视频| 日韩中文字幕在线播放| 欧美黄色小视频| 久久久国产精品一区|