類圖交互作用圖_第1頁
類圖交互作用圖_第2頁
類圖交互作用圖_第3頁
類圖交互作用圖_第4頁
類圖交互作用圖_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

類圖交互作用圖第一頁,共六十一頁,2022年,8月28日內容提綱1.類圖2.交互作用圖第二頁,共六十一頁,2022年,8月28日1.類圖1.1類圖1.2類圖的劃分1.3類圖的應用1.4對象圖1.5對象圖的應用第三頁,共六十一頁,2022年,8月28日1.類圖類圖(ClassDiagrams)

軟件系統(tǒng)中,類模型和對象模型揭示了系統(tǒng)的結構。在UML中,類模型和對象模型分別由類圖和對象圖表示。類圖描述了類集、接口集、協作以及它們之間的關系。在類圖基礎上,狀態(tài)圖、協作圖等進一步描述系統(tǒng)其它方面的特征。類圖可用來為系統(tǒng)的靜態(tài)設計視建模。類圖組成:

(1)類 (2)接口(操作集合)(3)協作 (4)依賴、類屬、實現或關聯關系1.1類圖第四頁,共六十一頁,2022年,8月28日1.類圖第五頁,共六十一頁,2022年,8月28日1.類圖第六頁,共六十一頁,2022年,8月28日1.類圖第七頁,共六十一頁,2022年,8月28日1.類圖第八頁,共六十一頁,2022年,8月28日1.類圖類圖的劃分在軟件開發(fā)的不同階段,類圖描述了不同層次的抽象。以需求階段、設計階段、實現階段將類圖劃分為三個層次:

(1)概念層(Conceptual)類圖描述問題域中的概念(概念模型獨立于實現軟件和程序語言)

(2)說明層(Specification)類圖描述軟件的接口,接口區(qū)別于實現。

1.2類圖的劃分第九頁,共六十一頁,2022年,8月28日1.類圖類圖的劃分(3)實現層(Implementation)揭示軟件的實現部分(使用的主流)正確區(qū)分類圖的三個層次,利于畫類圖和讀懂類圖。

接口:接口因實現環(huán)境、運行特性或用戶的不同而具有多種實現。1.2類圖的劃分第十頁,共六十一頁,2022年,8月28日1.類圖類圖的應用

在為系統(tǒng)靜態(tài)設計視建模時,類圖可用來描述以下三種建模:

(1)為系統(tǒng)的詞匯表建模確定抽象與系統(tǒng)的界定,即抽象屬于系統(tǒng)或不屬于,規(guī)定抽象及其責任。

(2)為簡單的協作建模

(a)確定要與之建模的機制,機制代表了需要被模擬的部分系統(tǒng)的功能和行為(由類、接口等交互作用產生)1.3類圖的應用第十一頁,共六十一頁,2022年,8月28日1.類圖類圖的應用(2)為簡單的協作建模

(b)對于每個機制,確定參與這個協作的類、接口和其他動作,確定這些元素間的關系

(c)根據協作的腳本,發(fā)現遺漏的模型部分,以及簡單的語義錯誤

(d)確定對象的屬性和操作第十二頁,共六十一頁,2022年,8月28日第十三頁,共六十一頁,2022年,8月28日1.類圖類圖的應用(3)為邏輯的數據庫模式建模需要在數據庫中存儲持久性信息。

(a)確定模型中的一些類,這些類的狀態(tài)的存在超過了程序的生命周期

(b)創(chuàng)建一個類圖,包含這些類并標記為持久類

(c)擴充這些類的結構信息,如屬性、階元

(d)如有必要,創(chuàng)建中間抽象以簡化數據庫的邏輯結構第十四頁,共六十一頁,2022年,8月28日1.類圖類圖的應用(3)為邏輯的數據庫模式建模

(e)考慮類的行為,擴充對于數據訪問和數據完整性很重要的操作(完備性)

(f)如可能,用工具將邏輯設計轉變?yōu)槲锢碓O計(存在一些專門的DBASSISTANT)第十五頁,共六十一頁,2022年,8月28日第十六頁,共六十一頁,2022年,8月28日1.類圖類圖的應用類實例存儲于數據庫中,原型為《persistent》,一個ITEM有一個TITLE,一個TITLE存在于0-N個ITEM中。一個ITEM有0-1個借閱信息,一條借閱信息僅有一個ITEM。

一個TITLE有0-N個預訂記錄。一個借閱人信息有0-N個預訂記錄,0-N個借閱記錄。第十七頁,共六十一頁,2022年,8月28日1.類圖用例與類圖用例圖實質上是一種系統(tǒng)描述的形式,自然可以根據用例描述來識別類。針對各個用例,通??梢愿鶕缦碌膯栴}輔助識別:

(1)用例描述中出現了那些實體?

(2)用例的完成需要哪些實體合作?

(3)用例執(zhí)行過程中會產生并存儲哪些信息?

(4)用例要求與之關聯的每個角色的輸入是什么?

(5)用例反饋與之關聯的每個角色的輸出是什么?

(6)用例需要操作哪些硬設備?第十八頁,共六十一頁,2022年,8月28日1.類圖選課管理系統(tǒng)的簡單用例

第十九頁,共六十一頁,2022年,8月28日1.類圖選課管理系統(tǒng)的簡單用例(屬性和操作)

第二十頁,共六十一頁,2022年,8月28日1.類圖遠程網絡教學系統(tǒng)在該系統(tǒng)中,系統(tǒng)的參與者為學生、教師和系統(tǒng)管理員。學生包括登錄名稱、登錄密碼、學生編號、性別、年齡、班級、年級、郵箱等屬性。教師包含自己的登錄名稱、登錄密碼、姓名、性別、教授課程、電話號碼和郵箱等屬性。系統(tǒng)管理員包含系統(tǒng)管理員用戶名、系統(tǒng)管理員密碼、郵箱等屬性。根據這些信息,創(chuàng)建系統(tǒng)的類圖。第二十一頁,共六十一頁,2022年,8月28日1.類圖遠程網絡教學系統(tǒng)第二十二頁,共六十一頁,2022年,8月28日1.類圖遠程網絡教學系統(tǒng)將參與者學生、教師和系統(tǒng)管理員進行抽象,形成一個單獨的人員類,學生、教師和系統(tǒng)管理員分別是人員類的繼承。根據這些信息,重新創(chuàng)建類圖。第二十三頁,共六十一頁,2022年,8月28日1.類圖對象圖(ObjectDiagrams)對象圖模擬類圖中所含有的類的實例,描述了某一瞬間(具體時刻)對象集及對象間的關系,主要用來為對象結構建模。對象圖可以看作是類圖的實例,對象間的連接是類間關聯的實例。對象圖中通常含有:

(1)對象(Objects)(2)連接(Links)1.4對象圖第二十四頁,共六十一頁,2022年,8月28日1.類圖對象圖(ObjectDiagrams)對象圖中含有注釋、約束、包或子系統(tǒng)。描述靜態(tài)的數據結構。第二十五頁,共六十一頁,2022年,8月28日1.類圖對象圖的應用通常用于為對象結構建模,可用來可視化、規(guī)范、構造、并文檔化系統(tǒng)中特定實例的存在以及實例間的關系。為對象結構建模時:

(1)確定要模擬的機制,機制代表了所模擬的部分系統(tǒng)的由類、接口等交互作用產生的功能或行為

(2)對于每個機制,識別參與這個協作的類、接口以及其他元素,并確定這些元素間的關系1.5對象圖的應用第二十六頁,共六十一頁,2022年,8月28日1.類圖對象圖的應用(3)考慮貫穿這個機制的一個腳本,顯示在腳本的某一時間點參與這個機制的對象(時間點的動態(tài)性)

(4)如有必要,揭示每個對象的狀態(tài)和屬性值(圖形是否能表示清楚,不至于過于復雜)

(5)類似地,揭示對象間的連接,這些連接是關聯關系的實例第二十七頁,共六十一頁,2022年,8月28日1.類圖第二十八頁,共六十一頁,2022年,8月28日2.交互作用圖2.1交互作用圖2.2時序圖2.3協作圖2.5語義等價2.6交互作用圖的應用Page29UML及其建模工具第二十九頁,共六十一頁,2022年,8月28日2.交互作用圖交互作用圖 包括時序圖和協作圖,為系統(tǒng)的動態(tài)方面建模。時序圖和協作圖以不同的方式表達了類似的信息。時序圖描述消息的時間順序,適合于描述實時系統(tǒng)和復雜的腳本;協作圖描述對象間的關系。兩者在語義上相當,彼此轉換而不損失信息。交互作用圖主要組成元素

(1)對象(2)連接(3)消息

包含注釋和約束2.1交互作用圖第三十頁,共六十一頁,2022年,8月28日2.交互作用圖

時序圖實例

第三十一頁,共六十一頁,2022年,8月28日2.交互作用圖

協作圖實例

第三十二頁,共六十一頁,2022年,8月28日2.交互作用圖時序圖(SequenceDiagrams)

存在兩個軸,水平軸表示不同的對象,垂直軸表示時間。時序圖標識元素(1)對象:帶垂直虛線的矩形框(2)垂直虛線:對象的生命線

(3)對象間通信:對象的生命線間畫消息2.2時序圖第三十三頁,共六十一頁,2022年,8月28日2.交互作用圖時序圖實例××第三十四頁,共六十一頁,2022年,8月28日2.交互作用圖消息

可以是信號、操作調用等。當收到消息,接收對象執(zhí)行相應的活動,對象生命線上細長矩形框表示對象激活。消息以帶標簽的箭頭表示,省去序列號,可帶條件表達式,即互斥的分支。時序圖與協作圖區(qū)別

(1)有對象生命線

垂直的虛線,對象生命線代表對象創(chuàng)建直到結束的生命周期,生命線的終端標一個“X”(對象此時被銷毀)。第三十五頁,共六十一頁,2022年,8月28日2.交互作用圖時序圖與協作圖區(qū)別(2)有控制中心

細長的矩形,表示對象直接或通過子過程執(zhí)行一個動作的時間段。矩形的頂端和動作的開始對齊,矩形的底部和動作的完成對齊(可以用返回消息來標記)。第三十六頁,共六十一頁,2022年,8月28日2.交互作用圖時序圖中的激活第三十七頁,共六十一頁,2022年,8月28日2.交互作用圖時序圖中的消息第三十八頁,共六十一頁,2022年,8月28日第三十九頁,共六十一頁,2022年,8月28日2.交互作用圖時序圖與協作圖區(qū)別客戶端發(fā)消息給PrintService,Service接著發(fā)消息給Image創(chuàng)建工資單,在建立工資單的打印圖象時,需要雇員的信息,及工資數,而后建立打印圖象。最后,Service發(fā)消息到打印接口,打印工資單。第四十頁,共六十一頁,2022年,8月28日2.交互作用圖學生信息查詢—需求分析基本工作流程如下:(1)李老師希望通過系統(tǒng)查詢某名學生的學科成績。(2)李老師通過用戶界面錄入學生的學號以及學科科目請求學生信息。(3)用戶界面根據學生的學號向數據庫訪問層請求學生信息。(4)數據庫訪問層根據學生的學號加載學生信息。(5)數據庫訪問層根據學生信息和學科科目獲取該名學生的分數信息。(6)數據庫訪問層將學生信息和分數信息提供給用戶界面。(7)用戶界面將學生信息和分數信息顯示出來。第四十一頁,共六十一頁,2022年,8月28日2.交互作用圖學生信息查詢—確定序列對象建模時序圖的下一步是從左到右布置在該工作流程中所有的參與者和對象,同時也包含要添加消息的對象生命線。第四十二頁,共六十一頁,2022年,8月28日2.交互作用圖學生信息查詢—創(chuàng)建時序圖第四十三頁,共六十一頁,2022年,8月28日2.交互作用圖遠程網絡教學系統(tǒng)在該系統(tǒng)中,系統(tǒng)管理員需要登錄系統(tǒng)才能進行系統(tǒng)維護工作,如添加教師信息、刪除教師信息等。根據系統(tǒng)管理員添加教師信息用例,創(chuàng)建相關時序圖。第四十四頁,共六十一頁,2022年,8月28日2.交互作用圖遠程網絡教學系統(tǒng)如果我們單獨抽象出來一個數據訪問類來進行數據訪問。那么,根據系統(tǒng)管理員添加教師信息用例,重新創(chuàng)建相關序列圖。第四十五頁,共六十一頁,2022年,8月28日2.交互作用圖協作圖強調參與交互作用的對象的組織。描述了交互作用的對象的靜態(tài)結構(上下文),對象間交換的消息的時間順序(交互作用)。區(qū)別于時序圖的特點

(1)有路徑:表示對象間如何連接

(2)有序列號:表示消息的時間順序,如1、1.1、2、3.4,可以是任意深度的嵌套。2.3協作圖第四十六頁,共六十一頁,2022年,8月28日2.交互作用圖協作圖的特點1.通過描繪對象之間消息的傳遞情況來反映具體的使用語境的邏輯表達。一個使用情境的邏輯可能是一個用例的一部分,或是一條控制流。2.顯示對象及其交互關系的空間組織結構。協作圖顯示了在交互過程中各個對象之間的組織交互關系以及對象彼此之間的鏈接。與時序圖不同,協作圖顯示的是對象之間的關系,并不側重交互的順序,它沒有將時間作為一個單獨的維度,而是使用序列號來確定消息及并發(fā)線程的順序。3.協作圖的另外一個作用是表現一個類操作的實現。協作圖可以說明類操作中使用到的參數、局部變量以及返回值等。當使用協作圖表現一個系統(tǒng)行為時,消息編號對應了程序中嵌套調用結構和信號傳遞過程。第四十七頁,共六十一頁,2022年,8月28日2.交互作用圖創(chuàng)建協作圖的步驟(1)根據系統(tǒng)的用例或具體的場景,確定協作圖中應當包含的元素。(2)確定這些元素之間的關系,可以著手建立早期的協作圖,在元素之間添加鏈接和關聯角色等。(3)將早期的協作圖進行細化,把類角色修改為對象實例,并且鏈上添加消息并指定消息的序列。第四十八頁,共六十一頁,2022年,8月28日2.交互作用圖第四十九頁,共六十一頁,2022年,8月28日2.交互作用圖不帶有消息的協作圖標明了交互作用發(fā)生的上下文,而不表示交互。它可以用來表示單一操作的上下文,甚至可以表示一個或一組類中所有操作的上下文。如果關聯線上標有消息,圖形就可以表示一個交互。典型的,一個交互用來代表一個操作或者用例的實現第五十頁,共六十一頁,2022年,8月28日2.交互作用圖學生信息查詢—需求分析基本工作流程如下:(1)李老師希望通過系統(tǒng)查詢某名學生的學科成績。(2)李老師通過用戶界面錄入學生的學號以及學科科目請求學生信息。(3)用戶界面根據學生的學號向數據庫訪問層請求學生信息。(4)數據庫訪問層根據學生的學號加載學生信息。(5)數據庫訪問層根據學生信息和學科科目獲取該名學生的分數信息。(6)數據庫訪問層將學生信息和分數信息提供給用戶界面。(7)用戶界面將學生信息和分數信息顯示出來。第五十一頁,共六十一頁,2022年,8月28日2.交互作用圖學生信息查詢—確定協作圖元素從已經描述的用例中,我們可以確定需要“教師”、“學生”和“成績”對象,我們還要一個提供教師與系統(tǒng)交互的場所,那么我們需要一個“用戶界面”對象?!坝脩艚缑妗睂ο笕绻@取“學生”和“成績”對象的信息,那么我們還需要一個用來訪問數據庫的對象。將這些對象列舉到協作圖中。第五十二頁,共六十一頁,2022年,8月28日2.交互作用圖學生信息查詢—確定元素間的關系確定這些對象之間的連接關系,使用鏈和角色將這些對象連接起來。在這一步中,我們基本上可以建立早期的協作圖,表達出協作圖中的元素如何在空間上進行交互。第五十三頁,共六十一頁,2022年,8月28日2.交互作用圖學生信息查詢—創(chuàng)建協作圖第五十四頁,共六十一頁,2022年,8月28日2.交互作用圖遠程網絡教學系統(tǒng)在該系統(tǒng)中,系統(tǒng)管理員需要登錄系統(tǒng)才能進行系統(tǒng)維護工作,如添加教師信息、刪除教師信息等。根據系統(tǒng)管理員添加教師信息用例,創(chuàng)建相關協作圖。第五十五頁,共六十一頁,2022年,8月28日2.交互作用圖遠程網絡教學系統(tǒng)如果我們單獨抽象出來一個數據訪問類來進行數據訪問。那么,根據系統(tǒng)管理員添加教師信息用例,重新創(chuàng)建相關協作圖。與前述的時序圖進行對比?第五十六頁,共六十一頁,2022年,8月28日2.交互作用圖語義等價

時序圖與協作圖在語義上是等價的,因而它們可以相互轉換而不損失信息。但它們顯式地可視化描述了不同的信息,協作圖顯式描述對象間如何連接,時序圖顯式描述對象間交互消息的時間順序。前面描述打印工資單的時序圖和協作圖是等價的,可以相互轉換而不損失信息。2.4語義等價第五十七頁,共六十一頁,2022年,8月28日2.交互作用圖交互作用圖的應用

為系統(tǒng)的動態(tài)方面建模,上下文(建模環(huán)境

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論