版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、UML面向?qū)ο蠼;A,交互圖,交互圖概述,Interaction diagram,是描述對象之間的關系和對象之間的信息傳遞的圖; 強調(diào)對象交互的圖 順序圖(Sequence Diagram) 通信圖(Communication Diagram) 專門的圖 時間圖(Timing Diagram) 交互縱覽圖(Interaction Overview Diagram),Sequence Diagram 面向時間描述對象交互的視圖 Communication Diagram 對象間消息的結(jié)構(gòu)化視圖,Timing Diagram 交互中消息有關的時間約束視圖 Interaction Overview
2、 Diagram 混合邏輯序列的高級交互視圖,一、順序圖,按照時間順序顯示對象之間交互的圖;,交互模型的類型與演變,分析級,可以用來概要描述交互的場景(考慮分析),設計級,順序圖組成,活動者(actor) 對象(object) 生命線(lifeline) 控制焦點( focus of control )/激活期 消息(message) 交互片斷(Interaction Frame),活動者或?qū)ο?一般活動者和對象按照從左到右的順序排列,主要活動者排在最左邊;,對象的命名方式有三種: 包括對象名和類名 類名(匿名對象) 對象名(不關心類),生命線,每個對象都有自己的生命線,是一條垂直的虛線,用來
3、表示一個對象在一段時間內(nèi)存在。 如對象生命期結(jié)束,則用注銷符號表示;,控制焦點,控制焦點( focus of control )/激活期 對象執(zhí)行某個動作的時期,消息,對象間交互信息的方式,消息分為五種: 對象創(chuàng)建、同步調(diào)用、返回、異步消息、交叉異步消息、對象銷毀,UML三種消息: 同步調(diào)用(Procedure Call):發(fā)送者把消息發(fā)送后,等待直到接收者返回控制,可以表示同步; 異步(Asynchronous):消息發(fā)送后,發(fā)送者繼續(xù)操作,不等待,常用于并發(fā); 返回(Return):表示消息的返回。一般同步(過程調(diào)用)的返回不需畫出,直接隱含,而異步返回則可用它。,自調(diào)用(Self Cal
4、l) UML 標記,交互片斷,Alt (備選) 表示多條件的分支結(jié)構(gòu)(選擇結(jié)構(gòu)) 虛線分隔區(qū)域,每一個區(qū)域設置一個監(jiān)護條件,代表一個分支,Opt (可選) 表示滿足條件則執(zhí)行分支結(jié)構(gòu) loop (循環(huán)) 表示該片斷執(zhí)行多次,assert 用來表示內(nèi)容所描述的行為是執(zhí)行過程中那個時刻唯一的有效行為。如果執(zhí)行到這個片斷的前面,則說明該片斷就一定會發(fā) 生。它通常和ignore 或consider一起使用, 以斷言某種特定種類 的消息行為. consider 表示只允許出現(xiàn)列表 中的消息,Break 通常break用來定義一個含有監(jiān)護條件的子片斷。 如果監(jiān)護條件為“真”則執(zhí)行子片斷,而且不執(zhí)行包含子片
5、斷的圖 中其它交互;如 果監(jiān)護條件為 “假”,那么 執(zhí)行將正常地繼 續(xù)進行.,Critical 表示該子片斷是“臨界區(qū)域”,在臨界區(qū)域中生命線上的事件序列不能夠和其它區(qū)域中的任何其他事件交錯。通常用來表示一個原子性的連續(xù)操作,例如事務性操作。,Par 用來表示“并行”的,也就是用來表示兩個或多個并發(fā)執(zhí)行的子片斷,并行子片斷中單個元素的執(zhí)行次序可以以任何可能的順序相互操作。,Ref 在一個交互圖中,我們可以引用其它的交互圖,其表示的方法是用一個矩形,加上ref操作符,并寫明引用的交互圖名稱即可。,時間約束,建立順序圖步驟,確定交互的范圍; 識別參與交互的對象和活動者; 設置對象生命線的開始和結(jié)束
6、; 設置消息; 細化消息; * 提取邊界類、實體類和控制類; 構(gòu)造交互圖; 根據(jù)交互圖精化類圖。,提取邊界類、實體類和控制類,邊界類描述目標軟件系統(tǒng)與外部環(huán)境的交互,主要任務: (1) 界面控制:包括輸入數(shù)據(jù)的格式及內(nèi)容轉(zhuǎn)換,輸出結(jié)果的呈現(xiàn),軟件運行過程中界面的變化與切換等。 (2) 外部接口:實現(xiàn)目標軟件系統(tǒng)與外部系統(tǒng)或外部設備之間的信息交流和互操作。主要關注跨越目標軟件系統(tǒng)邊界的通信協(xié)議。 (3) 環(huán)境隔離:將目標軟件系統(tǒng)與操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、應用服務器中間件等環(huán)境軟件進行交互的功能與特性封裝于邊界類之中,使目標軟件系統(tǒng)的其余部分盡可能地獨立于環(huán)境軟件。 例如,“家庭保安系統(tǒng)”中的邊
7、界類有“輸入鍵盤接口類”、“傳感器接口類”、“警報器接口類”、“報警電話接口類”和“顯示面板接口類”。,實體類表示目標軟件系統(tǒng)中具有持久意義的信息項及其操作。實體類的操作具有“內(nèi)向收斂”特征,它們僅向目標軟件系統(tǒng)的其余部分提供讀、寫信息項內(nèi)容的必要的操作接口,并不涉及業(yè)務邏輯處理。實體類的UML構(gòu)造型為entity。 例如,“家庭保安系統(tǒng)”中的“異常事件”為實體類。,控制類作為完成用例任務的責任承擔者,協(xié)調(diào)、控制其他類共同完成用例規(guī)定的功能或行為。對于比較復雜的用例,控制類通常并不處理具體的任務細節(jié),但是它應知道如何分解任務,如何將子任務分派給適當?shù)妮o助類,如何在輔助類之間進行消息傳遞和協(xié)調(diào)。
8、 例如,“家庭保安系統(tǒng)”中,“用戶命令處理器”和“監(jiān)測器”均為控制類。,在討論了邊界類、實體類和控制類的基本概念之后,下面介紹如何從分析模型中的用例描述和領域概念模型出發(fā)獲取這些類。 通常情況下,執(zhí)行者與用例之間的一種通信連接對應一個邊界類。但是,如果兩個以上的用例與同一執(zhí)行者交互,并且這些交互具有共同的行為、完成相同或類似的任務,就可以考慮用同一邊界類實現(xiàn)用例與執(zhí)行者之間的交互。這就意味著邊界類的作用范圍可以超越單個用例。,實體類源于領域概念模型。有時也需要認真研讀用例描述,從中發(fā)掘具有持久意義的信息項。 如果執(zhí)行者的屬性需要持久保存,也可以建立相應于執(zhí)行者的實體類。 假設一個實體類A僅僅被
9、系統(tǒng)中的另一個類B引用,并且系統(tǒng)勿需關心A的行為特征,那么,為了簡化設計模型,應將A中信息項直接作為B的屬性。 如果A被系統(tǒng)中的多個類引用,或者A具有不容忽略的行為特征,那么應將A作為獨立的實體類。,一個用例通常對應一個控制類。 如果不同用例的任務有較多類似之處,也可以考慮在多個用例的實現(xiàn)方案中共享同一控制類,此種情況應審慎對待,不同用例所需要的控制、協(xié)調(diào)行為往往會有差異。 對于那些事件流非常簡單的用例,可以不設獨立的控制類,直接在邊界類中設置控制、協(xié)調(diào)功能,邊界類在實體類的幫助下完成用例要求的功能及行為。,構(gòu)造交互圖,在標識邊界類、實體類和控制類之后,接下來的任務是,將分析模型中的用例描述轉(zhuǎn)
10、化成UML交互圖,以交互圖作為用例的精確實現(xiàn)方案。 用例描述中已包含事件流說明。 事件流中的事件應直接對應于交互圖中的消息,而事件間的先后關系體現(xiàn)為交互圖中的時序,對消息的響應則構(gòu)成消息接收者的職責。 這種職責在后續(xù)的設計活動中將被確立為類的方法。,對于比較復雜的用例,僅僅依靠控制類、邊界類和實體類會使單個控制類過于龐大、復雜,它既承擔控制、協(xié)調(diào)的任務,又承擔復雜的計算任務。 在設計復雜用例的實施方案時,應考慮為控制類設置一些獨立的輔助類,讓控制類將一些任務委托給輔助類完成。 如,在 “家庭保安系統(tǒng)”類圖中,“系統(tǒng)配置管理器”和“日志管理器”就是這種意義上的輔助類。,UML順序圖的橫向排列次序
11、 用例的主動執(zhí)行者 用戶界面的邊界類 控制類 實體類和輔助類 外部接口和環(huán)境隔離層的邊界類 目標軟件系統(tǒng)的邊界之外的被動執(zhí)行者 按此布局,在順序圖中不應該出現(xiàn)穿越控制類生命線的消息,即,主動執(zhí)行者向界面類發(fā)出命令,界面類將命令進行適當轉(zhuǎn)換后傳送至控制類,控制類通過消息請求輔助類、實體類的幫助,協(xié)調(diào)、控制它們共同完成來自主動執(zhí)行者的命令。,控制類或輔助類可以向右側(cè)的邊界類發(fā)送消息,將信息或外部處理請求由邊界類傳向外部系統(tǒng)(被動執(zhí)行者)。 在用例描述中,許多用例除主事件流外,往往還包含備選事件流,以說明在某些特殊或者異常情況下的事件和響應動作序列。為易于理解,在設計模型中應該用分離的UML交互圖分
12、別表示事件流和每個備選事件流。 按照上述布局規(guī)則繪制的典型的順序圖如圖所示,典型布局規(guī)則下的順序圖,例 家庭保安系統(tǒng)“傳感器監(jiān)測”用例的順序圖,例 家庭保安系統(tǒng)“命令處理”用例的順序圖,精化類圖,在UML交互圖中,對每個類的對象都規(guī)定了它必須響應的消息以及類的對象之間的消息傳遞通道。前者對應于類的操作,后者則對應于類之間的連接關系。因此,可以利用交互圖精化分析模型中的類圖,將交互圖中出現(xiàn)的新類添加到原有類圖中,并且對相關的類進行精化,定義其屬性和操作。 原則上,每個類都應該有一個操作來響應交互圖中指向其對象的那條消息。但是,這并不意味著消息與操作一定會一一對應,因為類的一個操作可能具有響應多條
13、消息的能力。同理,兩個類之間的一條連接關系也可以為多條消息提供傳遞通道。為了簡化設計模型,也為了提高重用程度,設計人員應該盡量使用已有的操作來響應新消息,并盡量使用已存在的連接路徑作為消息傳遞的通道。如果兩個類之間存在明確、自然的聚合或組合關系,則可以在類圖中直接用相應的UML圖元符號表示類間的聚合和組成關系,這兩個關系均可提供消息傳遞通道。,接下來討論如何根據(jù)交互圖確立類的屬性。類的操作完成消息響應責任的能力,來源于兩方面的知識,一是類本身具有的信息,即類的屬性,二是類能夠找到的其他類,通過其他類協(xié)助其完成消息響應。在綜合考慮這兩個因素之后,類的操作應該明確哪些子任務可通過消息傳遞路徑委托給
14、其他類完成,哪些子任務必須由自身完成。根據(jù)后一種子任務的需要,結(jié)合領域和業(yè)務知識即可推導出類應具有的屬性。 在類圖的基礎上,得出“家庭保安系統(tǒng)”的類圖如下圖所示。為簡潔見,僅標出控制類“監(jiān)測器”和“用戶命令處理器”的方法,以及實體類“異常事件”的屬性。,“家庭保安系統(tǒng)”的精化類圖,Eg:用戶登錄活動的順序圖。,二、通信圖,描述系統(tǒng)對象(或活動者)如何共同協(xié)作實現(xiàn)用例;,通信圖組成,鏈: 連接器,是用來表示對象之間的語義連接,一般而言,鏈是關聯(lián)的一個實例(包括association、self、global、local等)。不過在UML 2中已經(jīng)開始弱化它們的使用,因此除非必要,無需過多地考慮它們
15、。 消息編號: 消息的編號有兩種,一種是無層次編號,它簡單直觀;另一種是嵌套的編號,它更易于表示消息的包含關系 迭代標記: 用*號表示,表示循環(huán),通常還有迭代表達式,用來說明循環(huán)規(guī)則,監(jiān)護條件: 通常是用來表示分支的,也就是表示“如果條件為true,才發(fā)送消息”,多重對象 多個對象的集合,往往是同類的對象; 如果消息同時發(fā)給多個對象,則用多重對象表示; 在順序圖中仍然顯示為單對象一樣的圖標;,活動對象 擁有控制線程的對象,能夠發(fā)起控制活動; 某種意義下,代表線程;,例:存款,典型的協(xié)作圖,例 “1.1 msg2”表明msg2是“對象1”為了處理“1. msg1”而發(fā)送的第一條消息 “1.2 msg4”是“對象1”為了處理“1. msg1”而發(fā)送的第二條消息 “1.1.1 msg3”表明msg3是“對象2”為了處理“1.1 msg2”而發(fā)送的第一條消息,依此類推。,Eg
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年賽罕區(qū)第三幼兒園招聘備考題庫有答案詳解
- 吉林大學附屬中學2026年公開招聘教師備考題庫及一套參考答案詳解
- 公共交通服務質(zhì)量評估制度
- 2026年銀聯(lián)國際有限公司招聘備考題庫及參考答案詳解
- 2026年砂子塘街道社區(qū)衛(wèi)生服務中心公開招聘備考題庫及答案詳解一套
- 中學學生社團活動經(jīng)費管理制度
- 中學教學質(zhì)量監(jiān)控制度
- 2026年未央?yún)^(qū)大明宮社區(qū)衛(wèi)生服務中心招聘備考題庫完整參考答案詳解
- 2026年浙商中拓集團股份有限公司社會招聘備考題庫附答案詳解
- 交通設施報廢更新制度
- 外貿(mào)跟單員年度工作總結(jié)
- 肝癌破裂出血課件
- 《地基處理技術(shù)》課件
- 老年人床上擦浴課件
- 2025年安全教育培訓試題及答案
- 地勘合同(標準版)
- 材料租賃經(jīng)營方案(3篇)
- 2025秋季學期國開電大法律事務專科《民法學(2)》期末紙質(zhì)考試名詞解釋題庫珍藏版
- 超星爾雅學習通《科學與文化的足跡(東南大學)》2025章節(jié)測試附答案
- 女性腫瘤患者生育力保存
- 施工班組獎懲管理辦法
評論
0/150
提交評論