《類圖交互作用圖》PPT課件.ppt
《《類圖交互作用圖》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《類圖交互作用圖》PPT課件.ppt(61頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第5章 類圖 交互作用圖,授課教師:付 超,內(nèi)容提綱,1. 類圖 2. 交互作用圖,1. 類圖,1.1 類圖 1.2 類圖的劃分 1.3 類圖的應(yīng)用 1.4 對象圖 1.5 對象圖的應(yīng)用,1. 類圖,類圖(Class Diagrams) 軟件系統(tǒng)中,類模型和對象模型揭示了系統(tǒng)的結(jié)構(gòu)。在UML中,類模型和對象模型分別由類圖和對象圖表示。 類圖描述了類集、接口集、協(xié)作以及它們之間的關(guān)系。在類圖基礎(chǔ)上,狀態(tài)圖、協(xié)作圖等進(jìn)一步描述系統(tǒng)其它方面的特征。 類圖可用來為系統(tǒng)的靜態(tài)設(shè)計視建模。類圖組成: (1) 類 (2) 接口(操作集合) (3) 協(xié)作 (4) 依賴、類屬、實現(xiàn)或關(guān)聯(lián)關(guān)系,1.1
2、 類圖,1. 類圖,1. 類圖,含有注釋和約束,還可包含包或子系統(tǒng),組裝為大模塊,1. 類圖,1. 類圖,組合:整體生命周期,1. 類圖,類圖的劃分 在軟件開發(fā)的不同階段,類圖描述了不同層次的抽象。以需求階段、設(shè)計階段、實現(xiàn)階段將類圖劃分為三個層次: (1) 概念層(Conceptual)類圖描述問題域中的概念(概念模型獨立于實現(xiàn)軟件和程序語言) (2) 說明層(Specification)類圖描述軟件的接口,接口區(qū)別于實現(xiàn)。,1.2 類圖的劃分,1. 類圖,類圖的劃分 (3) 實現(xiàn)層(Implementation)揭示軟件的實現(xiàn)部分(使用的主流) 正確區(qū)分類圖的三個層次,利于畫類圖
3、和讀懂類圖。 接口:接口因?qū)崿F(xiàn)環(huán)境、運行特性或用戶的不同而具有多種實現(xiàn)。,1.2 類圖的劃分,1. 類圖,類圖的應(yīng)用 在為系統(tǒng)靜態(tài)設(shè)計視建模時,類圖可用來描述以下三種建模: (1) 為系統(tǒng)的詞匯表建模 確定抽象與系統(tǒng)的界定,即抽象屬于系統(tǒng)或不屬于,規(guī)定抽象及其責(zé)任。 (2) 為簡單的協(xié)作建模 (a) 確定要與之建模的機(jī)制,機(jī)制代表了需要被模擬的部分系統(tǒng)的功能和行為(由類、接口等交互作用產(chǎn)生),1.3 類圖的應(yīng)用,1. 類圖,類圖的應(yīng)用 (2) 為簡單的協(xié)作建模 (b) 對于每個機(jī)制,確定參與這個協(xié)作的類、接口和其他動作,確定這些元素間的關(guān)系 (c) 根據(jù)協(xié)作的腳本,發(fā)現(xiàn)遺漏的
4、模型部分,以及簡單的語義錯誤 (d) 確定對象的屬性和操作,公司通過外部銀行發(fā)薪水,1. 類圖,類圖的應(yīng)用 (3) 為邏輯的數(shù)據(jù)庫模式建模 需要在數(shù)據(jù)庫中存儲持久性信息。 (a) 確定模型中的一些類,這些類的狀態(tài)的存在超過了程序的生命周期 (b) 創(chuàng)建一個類圖,包含這些類并標(biāo)記為持久類 (c) 擴(kuò)充這些類的結(jié)構(gòu)信息,如屬性、階元 (d) 如有必要,創(chuàng)建中間抽象以簡化數(shù)據(jù)庫的邏輯結(jié)構(gòu),1. 類圖,類圖的應(yīng)用 (3) 為邏輯的數(shù)據(jù)庫模式建模 (e) 考慮類的行為,擴(kuò)充對于數(shù)據(jù)訪問和數(shù)據(jù)完整性很重要的操作(完備性) (f) 如可能,用工具將邏輯設(shè)計轉(zhuǎn)變?yōu)槲锢碓O(shè)計(存在一些專門的D
5、B ASSISTANT),1. 類圖,類圖的應(yīng)用 類實例存儲于數(shù)據(jù)庫中,原型為persistent,一個ITEM有一個TITLE,一個TITLE存在于0-N個ITEM中。一個ITEM有0-1個借閱信息,一條借閱信息僅有一個ITEM。 一個TITLE有0-N個預(yù)訂記錄。一個借閱人信息有0-N個預(yù)訂記錄,0-N個借閱記錄。,1. 類圖,用例與類圖 用例圖實質(zhì)上是一種系統(tǒng)描述的形式,自然可以根據(jù)用例描述來識別類。針對各個用例,通??梢愿鶕?jù)如下的問題輔助識別: (1)用例描述中出現(xiàn)了那些實體? (2)用例的完成需要哪些實體合作? (3)用例執(zhí)行過程中會產(chǎn)生并存儲哪些信息? (4)用例要求
6、與之關(guān)聯(lián)的每個角色的輸入是什么? (5)用例反饋與之關(guān)聯(lián)的每個角色的輸出是什么? (6)用例需要操作哪些硬設(shè)備?,1. 類圖,選課管理系統(tǒng)的簡單用例,1. 類圖,選課管理系統(tǒng)的簡單用例(屬性和操作),1. 類圖,遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng) 在該系統(tǒng)中,系統(tǒng)的參與者為學(xué)生、教師和系統(tǒng)管理員。學(xué)生包括登錄名稱、登錄密碼、學(xué)生編號、性別、年齡、班級、年級、郵箱等屬性。教師包含自己的登錄名稱、登錄密碼、姓名、性別、教授課程、電話號碼和郵箱等屬性。系統(tǒng)管理員包含系統(tǒng)管理員用戶名、系統(tǒng)管理員密碼、郵箱等屬性。根據(jù)這些信息,創(chuàng)建系統(tǒng)的類圖。,1. 類圖,遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng),1. 類圖,遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng) 將參與者
7、學(xué)生、教師和系統(tǒng)管理員進(jìn)行抽象,形成一個單獨的人員類,學(xué)生、教師和系統(tǒng)管理員分別是人員類的繼承。根據(jù)這些信息,重新創(chuàng)建類圖。,1. 類圖,對象圖(Object Diagrams) 對象圖模擬類圖中所含有的類的實例,描述了某一瞬間(具體時刻)對象集及對象間的關(guān)系,主要用來為對象結(jié)構(gòu)建模。 對象圖可以看作是類圖的實例,對象間的連接是類間關(guān)聯(lián)的實例。對象圖中通常含有: (1) 對象(Objects) (2) 連接(Links),1.4 對象圖,1. 類圖,對象圖(Object Diagrams) 對象圖中含有注釋、約束、包或子系統(tǒng)。描述靜態(tài)的數(shù)據(jù)結(jié)構(gòu)。,1. 類圖,對象圖的應(yīng)用 通常用于
8、為對象結(jié)構(gòu)建模,可用來可視化、規(guī)范、構(gòu)造、并文檔化系統(tǒng)中特定實例的存在以及實例間的關(guān)系。為對象結(jié)構(gòu)建模時: (1) 確定要模擬的機(jī)制,機(jī)制代表了所模擬的部分系統(tǒng)的由類、接口等交互作用產(chǎn)生的功能或行為 (2) 對于每個機(jī)制,識別參與這個協(xié)作的類、接口以及其他元素,并確定這些元素間的關(guān)系,1.5 對象圖的應(yīng)用,1. 類圖,對象圖的應(yīng)用 (3) 考慮貫穿這個機(jī)制的一個腳本,顯示在腳本的某一時間點參與這個機(jī)制的對象(時間點的動態(tài)性) (4) 如有必要,揭示每個對象的狀態(tài)和屬性值(圖形是否能表示清楚,不至于過于復(fù)雜) (5) 類似地,揭示對象間的連接,這些連接是關(guān)聯(lián)關(guān)系的實例,各同類對象的名稱
9、不同,1. 類圖,2. 交互作用圖,2.1 交互作用圖 2.2 時序圖 2.3 協(xié)作圖 2.5 語義等價 2.6 交互作用圖的應(yīng)用,Page 29,UML及其建模工具,2. 交互作用圖,交互作用圖 包括時序圖和協(xié)作圖,為系統(tǒng)的動態(tài)方面建模。時序圖和協(xié)作圖以不同的方式表達(dá)了類似的信息。時序圖描述消息的時間順序,適合于描述實時系統(tǒng)和復(fù)雜的腳本;協(xié)作圖描述對象間的關(guān)系。兩者在語義上相當(dāng),彼此轉(zhuǎn)換而不損失信息。 交互作用圖主要組成元素 (1) 對象 (2) 連接 (3) 消息 包含注釋和約束,2.1 交互作用圖,2. 交互作用圖,時序圖實例,2. 交互作用圖,協(xié)作圖實例,2. 交互作用圖,
10、時序圖(Sequence Diagrams) 存在兩個軸,水平軸表示不同的對象,垂直軸表示時間。 時序圖標(biāo)識元素 (1) 對象:帶垂直虛線的矩形框 (2) 垂直虛線:對象的生命線 (3) 對象間通信:對象的生命線間畫消息,2.2 時序圖,2. 交互作用圖,時序圖實例,,,2. 交互作用圖,消息 可以是信號、操作調(diào)用等。當(dāng)收到消息,接收對象執(zhí)行相應(yīng)的活動,對象生命線上細(xì)長矩形框表示對象激活。 消息以帶標(biāo)簽的箭頭表示,省去序列號,可帶條件表達(dá)式,即互斥的分支。 時序圖與協(xié)作圖區(qū)別 (1) 有對象生命線 垂直的虛線,對象生命線代表對象創(chuàng)建直到結(jié)束的生命周期,生命線的終端標(biāo)一個“X”(
11、對象此時被銷毀)。,2. 交互作用圖,時序圖與協(xié)作圖區(qū)別 (2) 有控制中心 細(xì)長的矩形,表示對象直接或通過子過程執(zhí)行一個動作的時間段。矩形的頂端和動作的開始對齊,矩形的底部和動作的完成對齊(可以用返回消息來標(biāo)記)。,2. 交互作用圖,時序圖中的激活,2. 交互作用圖,時序圖中的消息,2. 交互作用圖,時序圖與協(xié)作圖區(qū)別 客戶端發(fā)消息給PrintService,Service接著發(fā)消息給Image創(chuàng)建工資單,在建立工資單的打印圖象時,需要雇員的信息,及工資數(shù),而后建立打印圖象。最后,Service發(fā)消息到打印接口,打印工資單。,2. 交互作用圖,學(xué)生信息查詢需求分析 基本工作流程如下:
12、 (1)李老師希望通過系統(tǒng)查詢某名學(xué)生的學(xué)科成績。 (2)李老師通過用戶界面錄入學(xué)生的學(xué)號以及學(xué)科科目請求學(xué)生信息。 (3)用戶界面根據(jù)學(xué)生的學(xué)號向數(shù)據(jù)庫訪問層請求學(xué)生信息。 (4)數(shù)據(jù)庫訪問層根據(jù)學(xué)生的學(xué)號加載學(xué)生信息。 (5)數(shù)據(jù)庫訪問層根據(jù)學(xué)生信息和學(xué)科科目獲取該名學(xué)生的分?jǐn)?shù)信息。 (6)數(shù)據(jù)庫訪問層將學(xué)生信息和分?jǐn)?shù)信息提供給用戶界面。 (7)用戶界面將學(xué)生信息和分?jǐn)?shù)信息顯示出來。,2. 交互作用圖,學(xué)生信息查詢確定序列對象 建模時序圖的下一步是從左到右布置在該工作流程中所有的參與者和對象,同時也包含要添加消息的對象生命線。,2. 交互作用圖,學(xué)生信息查詢創(chuàng)建時序圖,2.
13、 交互作用圖,遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng) 在該系統(tǒng)中,系統(tǒng)管理員需要登錄系統(tǒng)才能進(jìn)行系統(tǒng)維護(hù)工作,如添加教師信息、刪除教師信息等。根據(jù)系統(tǒng)管理員添加教師信息用例,創(chuàng)建相關(guān)時序圖。,2. 交互作用圖,遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng) 如果我們單獨抽象出來一個數(shù)據(jù)訪問類來進(jìn)行數(shù)據(jù)訪問。那么,根據(jù)系統(tǒng)管理員添加教師信息用例,重新創(chuàng)建相關(guān)序列圖。,2. 交互作用圖,協(xié)作圖 強(qiáng)調(diào)參與交互作用的對象的組織。描述了交互作用的對象的靜態(tài)結(jié)構(gòu)(上下文),對象間交換的消息的時間順序(交互作用) 。 區(qū)別于時序圖的特點 (1) 有路徑:表示對象間如何連接 (2) 有序列號:表示消息的時間順序,如1、1.1、2、3.4,可以是任意深度
14、的嵌套。,2.3 協(xié)作圖,2. 交互作用圖,協(xié)作圖的特點 1. 通過描繪對象之間消息的傳遞情況來反映具體的使用語境的邏輯表達(dá)。一個使用情境的邏輯可能是一個用例的一部分,或是一條控制流。 2. 顯示對象及其交互關(guān)系的空間組織結(jié)構(gòu)。協(xié)作圖顯示了在交互過程中各個對象之間的組織交互關(guān)系以及對象彼此之間的鏈接。與時序圖不同,協(xié)作圖顯示的是對象之間的關(guān)系,并不側(cè)重交互的順序,它沒有將時間作為一個單獨的維度,而是使用序列號來確定消息及并發(fā)線程的順序。 3. 協(xié)作圖的另外一個作用是表現(xiàn)一個類操作的實現(xiàn)。協(xié)作圖可以說明類操作中使用到的參數(shù)、局部變量以及返回值等。當(dāng)使用協(xié)作圖表現(xiàn)一個系統(tǒng)行為時,消息編號對應(yīng)了程序
15、中嵌套調(diào)用結(jié)構(gòu)和信號傳遞過程。,2. 交互作用圖,創(chuàng)建協(xié)作圖的步驟 (1) 根據(jù)系統(tǒng)的用例或具體的場景,確定協(xié)作圖中應(yīng)當(dāng)包含的元素。 (2) 確定這些元素之間的關(guān)系,可以著手建立早期的協(xié)作圖,在元素之間添加鏈接和關(guān)聯(lián)角色等。 (3) 將早期的協(xié)作圖進(jìn)行細(xì)化,把類角色修改為對象實例,并且鏈上添加消息并指定消息的序列。,2. 交互作用圖,2. 交互作用圖,不帶有消息的協(xié)作圖標(biāo)明了交互作用發(fā)生的上下文,而不表示交互。它可以用來表示單一操作的上下文,甚至可以表示一個或一組類中所有操作的上下文。如果關(guān)聯(lián)線上標(biāo)有消息,圖形就可以表示一個交互。典型的,一個交互用來代表一個操作或者用例的實現(xiàn),2. 交互
16、作用圖,學(xué)生信息查詢需求分析 基本工作流程如下: (1)李老師希望通過系統(tǒng)查詢某名學(xué)生的學(xué)科成績。 (2)李老師通過用戶界面錄入學(xué)生的學(xué)號以及學(xué)科科目請求學(xué)生信息。 (3)用戶界面根據(jù)學(xué)生的學(xué)號向數(shù)據(jù)庫訪問層請求學(xué)生信息。 (4)數(shù)據(jù)庫訪問層根據(jù)學(xué)生的學(xué)號加載學(xué)生信息。 (5)數(shù)據(jù)庫訪問層根據(jù)學(xué)生信息和學(xué)科科目獲取該名學(xué)生的分?jǐn)?shù)信息。 (6)數(shù)據(jù)庫訪問層將學(xué)生信息和分?jǐn)?shù)信息提供給用戶界面。 (7)用戶界面將學(xué)生信息和分?jǐn)?shù)信息顯示出來。,2. 交互作用圖,學(xué)生信息查詢確定協(xié)作圖元素 從已經(jīng)描述的用例中,我們可以確定需要“教師”、“學(xué)生”和“成績”對象,我們還要一個提供教師與系統(tǒng)
17、交互的場所,那么我們需要一個“用戶界面”對象?!坝脩艚缑妗睂ο笕绻@取“學(xué)生”和“成績”對象的信息,那么我們還需要一個用來訪問數(shù)據(jù)庫的對象。將這些對象列舉到協(xié)作圖中。,2. 交互作用圖,學(xué)生信息查詢確定元素間的關(guān)系 確定這些對象之間的連接關(guān)系,使用鏈和角色將這些對象連接起來。在這一步中,我們基本上可以建立早期的協(xié)作圖,表達(dá)出協(xié)作圖中的元素如何在空間上進(jìn)行交互。,2. 交互作用圖,學(xué)生信息查詢創(chuàng)建協(xié)作圖,2. 交互作用圖,遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng) 在該系統(tǒng)中,系統(tǒng)管理員需要登錄系統(tǒng)才能進(jìn)行系統(tǒng)維護(hù)工作,如添加教師信息、刪除教師信息等。根據(jù)系統(tǒng)管理員添加教師信息用例,創(chuàng)建相關(guān)協(xié)作圖。,2. 交互作用
18、圖,遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng) 如果我們單獨抽象出來一個數(shù)據(jù)訪問類來進(jìn)行數(shù)據(jù)訪問。那么,根據(jù)系統(tǒng)管理員添加教師信息用例,重新創(chuàng)建相關(guān)協(xié)作圖。與前述的時序圖進(jìn)行對比?,2. 交互作用圖,語義等價 時序圖與協(xié)作圖在語義上是等價的,因而它們可以相互轉(zhuǎn)換而不損失信息。但它們顯式地可視化描述了不同的信息,協(xié)作圖顯式描述對象間如何連接,時序圖顯式描述對象間交互消息的時間順序。 前面描述打印工資單的時序圖和協(xié)作圖是等價的,可以相互轉(zhuǎn)換而不損失信息。,2.4 語義等價,2. 交互作用圖,交互作用圖的應(yīng)用 為系統(tǒng)的動態(tài)方面建模,上下文(建模環(huán)境)可以是整個系統(tǒng)、一個子系統(tǒng)、一個操作或一個類,還可為用例的一個腳本建
19、模。 (1) 按時間順序為控制流建模 (a) 確定交互作用的上下文 (b) 確定參與交互作用的對象,按重要性從左至右放在時序圖中 (c) 確定每個對象的生命線 (d) 按消息發(fā)生的時間從上到下放置在生命線間,2.5 交互作用圖的應(yīng)用,2. 交互作用圖,交互作用圖的應(yīng)用 (1) 按時間順序為控制流建模 (e) 如需規(guī)定時間或空間約束,可為消息附加適當(dāng)?shù)臅r間或空間約束 (f) 如想更正式地描述這個控制流,可為每個消息添加前置條件和后置條件 (2) 按組織結(jié)構(gòu)為控制流建模 (a) 確定交互作用的上下文 (b) 確定參與交互作用的對象,按重要性由中間到四周放在協(xié)作圖中,2. 交互作用圖,交互作用圖的應(yīng)用 (2) 按組織結(jié)構(gòu)為控制流建模 (c) 確定每個對象的初始特性,顯示對象在交互作用期間發(fā)生的變化,用復(fù)制對象表示變化后的對象以區(qū)別于原對象(體現(xiàn)對象隨時間的變化) (d) 確定對象間的連接 (i) 先布置關(guān)聯(lián)連接 (ii) 再布置其他的連接:按消息發(fā)生的時間順序確定消息序列號,可為消息附加適當(dāng)?shù)臅r間或空間約束,可為消息添加前置條件和后置條件。,2. 交互作用圖,交互作用圖的應(yīng)用 單個協(xié)作圖只描述一個控制流。通常,采用多個交互作用圖來描述系統(tǒng)的動態(tài)特性,一部分描述主要過程,其它的描述備選過程或例外過程。,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案