Transcript CH06.ppt
物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 第6章 物件互動行為塑模 ISBN 978-986-012-6 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 內容大綱 學習目標 6.1 導論 6.2 物件互動行為塑模 6.3 循序圖 6.4 溝通圖 6.5 狀態機圖 6.6 結論 ISBN 978-986-457-012-6 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 學習目標 詳讀本章,你至少能瞭解: 物件導向系統分析與設計中之物件互動行為塑模工作。 何謂循序圖、溝通圖與狀態機圖及其用途。 如何建構循序圖、溝通圖與狀態機圖及其建構準則。 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 6.3 循序圖 循序圖是用來描述一個使用個案中參與物件及物件間的互動行為, 強調以時間發生之先後順序表達物件間的訊息傳遞與處理程序。 1. 2. (1) (2) ① ② 3. 操作描述 … 顯示細部說明() 執行時機:客戶瀏覽便當型錄時 點選【顯示細部說明】超連結。 執行事項: 系統依客戶點選的便當編號至資 料庫中搜尋該便當資料。 將此便當的所有欄位資料﹝便當 編號、便當名稱、單價、餐廳﹞ 顯示在新網頁,同時出現【瀏覽 便當型錄】按鈕。 … 4-4 物件導向系統分析與設計—結合MDA與UML(五版) ISBN 978-986-457-012-6 吳仁和 著 6.3.1 循序圖之元件(1/5) 循序圖之重要元件包括生命線、訊息、操作與操作描述、控制 焦點與框架等。 循序圖元件 生命線 訊息線 (傳遞非同步訊息) 訊息線 (傳遞同步訊息) 訊息線(回傳) 訊息與操作 控制焦點 框架 符號 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 6.3.1.2 物件(3/3) 為便於分析之進行,建議先準備一張物件匯總表,配合分析過 程逐步將資料填入表中。 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 6.3.1.6 框架 (1/9) 為一種圖示標記,把原來單一線式訊息擴充成由一連串線式訊 息組成的區段來表達,用以表達循序圖中某一區段範圍內一連 串相關訊息與操作組合之控制流程、輸入與輸出等,簡稱組合 區段。 名稱 框架內容(組合區段) 目前UML 2.2 (OMG, 2009) 中共定義了十一種框架類型,以下 將介紹常用的六種。 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 6.3.1.6 框架(2/13) 多選一 (Alternative) 多選一框架是用以表達彼此互斥的訊息序列選擇,典型的 範例是「If 前提為真,執行運算域A;Else 執行運算域 B」,其中每個運算域可包含多個線式訊息傳遞。 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 圖6-2c 「自由選擇框架」範例 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 6.3.1.6 框架(4/13) 迴圈 (Loop) 迴圈框架之表達結構很像自由選擇,它有成立條件與一個 運算域,該運算域也可包含多個線式訊息傳遞。當條件成 立(為「True」)時,運算域中的訊息會持續地被執行, 直到條件不成立(為「False」)為止。 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 圖6-2c 「終止框架」範例 物件導向系統分析與設計—結合MDA與UML(五版) ISBN 978-986-457-012-6 吳仁和 著 6.3.1.6 框架(7/13) 平行 (Parallel) 平行框架是用以表達可同時執行的多個訊息傳遞。 : 使用者[行為者] 使用者介面 Application Core 1: 訂購產品() par 2: 傳送交貨資料 () 3: 傳送訂購資料 () 4: 訂購成功訊息 () 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 6.3.1.6 框架(8/13) 參考 (Referencing) 參考框架是用以表達某個循序圖可藉由一個訊息傳遞以參 考其他循序圖,例如提供服務,提升循序圖之重複使用 性,也可讓循序圖具有組合能力。 物件導向系統分析與設計—結合MDA與UML(五版) ISBN 978-986-457-012-6 吳仁和 著 圖 6-2h 被參考之循序圖範例 查詢餘額 : 使用者[行為者] 使用者介面 查詢 帳戶分錄 1: 查詢餘額(帳號) 2: 查詢餘額(帳號) 3: 搜尋(帳號) 4: 回傳客戶帳號() 5: 查詢餘額(帳號) 6: 回傳餘額() 7: 回傳餘額() 活存帳號 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 圖6-2i 以循序圖表示Include 關係範例 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 圖6-2j 以循序圖表示Extend 關係範例 物件導向系統分析與設計—結合MDA與UML(五版) ISBN 978-986-457-012-6 吳仁和 著 6.3.2 循序圖之建構步驟與準則(1/4) 確認物件 以生命線出現之順序或按時間發生先後順序排列 生命線1 生命線2 生命線3 生命線4 兩個生命線間,表達訊息之水平線距離愈短愈好 生命線A 生命線B 生命線C 1: 生命線A 生命線C 生命線B 1: 2: 2: 物件導向系統分析與設計—結合MDA與UML(五版) ISBN 978-986-457-012-6 吳仁和 著 6.3.2 循序圖之建構步驟與準則(2/4) 操作描述 擺在循序圖的最左側,描述內容主要來自使用個案之情節 描述。 可考慮僅作功能性的描述,而完整及詳細的程式邏輯描 述,則另外以結構化英文、程式設計語言或物件限制語言 描述。 生命線1 生命線2 生命線3 1: 開始() 2: 操作() 3: 回傳值 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 6.4 溝通圖 溝通圖強調以物件的結構化組織表達物件間的訊息傳遞與處理 程序。 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 6.4.1 溝通圖之元件(1/2) 生命線 溝通圖之生命線與循序圖之生命線相同,均是指參與互動之物 件。 與循序圖之生命線不同的地方在於,溝通圖之生命線並沒有下方 的垂直虛線。 溝通圖元件 生命線 訊息 符號 物件導向系統分析與設計—結合MDA與UML(五版) ISBN 978-986-457-012-6 吳仁和 著 6.5.1 行為狀態機圖之元件(1/9) 行為狀態機圖元件 符 號 開始狀態 簡單狀態 歷史狀態 組合狀態 21 物件導向系統分析與設計—結合MDA與UML(五版) ISBN 978-986-457-012-6 吳仁和 著 6.5.1 行為狀態機圖之元件(2/9) 行為狀態機圖元件 符 號 分解分隔 轉換 (事件[成立條件]/動 作) 選擇 22 物件導向系統分析與設計—結合MDA與UML(五版) ISBN 978-986-457-012-6 吳仁和 著 6.5.1 行為狀態機圖之元件(3/9) 行為狀態機圖元件 符 號 分岔 合併 結束狀態 23 物件導向系統分析與設計—結合MDA與UML(五版) ISBN 978-986-457-012-6 吳仁和 著 6.5.1 行為狀態機圖之元件(4/9) 行為狀態機圖元件 符 號 進入點 離開點 終止節點 24 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 圖6-7 工作分配之同步組合狀態 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 圖6-9 行為狀態機圖範例 ISBN 978-986-457-012-6 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 超行為狀態機範例 ISBN 978-986-457-012-6 物件導向系統分析與設計—結合MDA與UML(五版) 吳仁和 著 ISBN 978-986-457-012-6 6.6 結論 物件互動行為塑模是物件導向系統分析與設計過程中很重要的 一環,主要應用循序圖、溝通圖與狀態圖來表達一個使用個案 內物件間與物件內元件之互動行為,有利於物件進一步之封 裝。 進行物件互動行為塑模時,每一個使用個案須建立一個互動 圖,建構互動圖所需之資訊主要來自於使用個案之情節描述、 表單、活動圖或類別圖,以及與使用者之互動。 一個使用個案應有一個與之對應的互動圖來表達該個案內,許 多物件間之動態互動行為;也應有一個與之對應的類別圖來表 達該個案內,許多物件間之靜態結構關係。