人數

2010年7月2日 星期五

系統分析設計王堯天第14章 統一塑模語言


14 統一塑模語言
¾動態模型分析與設計工具
1. 何謂「動態模型」?建立動態模型的實施步驟爲何?
【參考答案】:
所謂「動態模型」是指:「套件、元件與物件的互動行為的描述。」動態模型的工作重點為時間序列的活動與狀態的處理,流程圖的製作是關鍵的部分,動態模型的主要用途是建構一個資訊系統之程式處理細節的主要內容。至於動態模型的建立步驟如下:(1)制定目標,(2)需求分析,(3)初步動態模型的製作¾流程圖,(4)細部動態模型的製作¾活動與狀態之處理細節,(5)檢討與修正,與(6)完成動態模型的製作動態模型主要是描述在不同時間點,資訊系統的ㄧ些動態行為,它涵蓋物件之間的互動行為或狀態。

2. UML 2.0 提供哪些動態模型的圖形工具?
【參考答案】:
UML 2.0 定義一系列動態模型的分析工具,主要的塑模工具包括:使用個案圖(Use Case Diagram)、活動圖(Activity Diagram)、狀態圖(State Machine Diagram)、循序圖(Sequence Diagram)、合作圖(Communication Diagram)、時序圖(Timing Diagram)與互動概觀圖(Interaction Overview Diagram)等(表一)。表二是以架構觀點彙整統一塑模語言的動態塑模工具,流程觀點包括狀態圖、活動圖、循序圖、合作圖、時序圖與互動概觀圖,情境觀點包括使用個案圖。
 表一:UML2.0 動態模型工具的彙總表
工具類型
說明
使用案例圖(Use Case Diagram
主要是描述行為者與使用個案之間互動的狀況,以劇情來描述使用個案的一些事件,以及使用個案與使用個案之間關係。
活動圖(Activity Diagram
主要是描述生命週期中系統執行過程與操作流程,主要是工作流程與操作流程的邏輯程序。
狀態圖(State Machine Diagram
主要是描述生命週期中類別、物件或使用個案的行為,除了描述系統內部組成物件的狀態,也可用來描述資訊系統在執行過程的行為,以及系統與外部相關的協定或溝通進行的狀態。
循序圖(Sequence Diagram
主要是以時間處理為主軸,用以表達系統執行之作業順序、並行程序及訊息傳遞,詳細描述物件之間的互動關係。
合作圖(Communication Diagram
主要是描述物件之間的結構關係,強調物件之間的互動關係,包括相關物件與訊息傳遞的描述等。
時序圖(Time Diagram
主要是描述不同物件之間對於相關訊息傳遞的時間關係,呈現物件在操作過程生命線的改變狀況。
互動概觀圖(Interaction Overview Diagram
主要是針對活動圖表達的資訊予以簡化,提供資訊系統開發人員掌握整個資訊系統的互動情形。
 註﹕循序圖、合作圖、時序圖與互動概觀圖四種圖統稱之為互動圖(Interaction Diagram)。
 表二:統一塑模語言的動態塑模工具彙總表¾架構觀點
架構觀點
UML圖形
主要的元件
流程觀點
狀態圖

移轉、活動、效果、事件、區域、狀態、牽引器
活動圖
動作、活動、控制流、物件流、例外處理、分岔、合併、結合、物件節點,Pin
循序圖
生命線、訊息、訊號、互動組合、互動運算元、發生/執行規格、互動
合作圖
合作、防衛條件、訊息、角色、序號
時序圖
狀態、生命線、顯示時間標記、
互動概觀圖
初始節點、終結節點、決策節點、互動事件、物件、生命線
情境觀點
使用個案圖
行為者、關聯、一般化、包含、擴充、使用個案

3. 何謂「使用案例圖」? 請問繪製使用案例圖的進行步驟爲何? 請舉一個實例加以說明之。
【參考答案】:
使用個案圖主要是針對使用者與系統之間的互動行為,透過劇情(Scenario)的描述來定義一連串活動的相關資訊,據以協助資訊系統設計人員充分掌握整體資訊系統的操作狀況及功能性需求,做為系統設計的依據。一個使用個案圖主要包括下列四個部份:(1)系統範圍¾定義系統功能與邊界,(2)參與者¾人、事、組織、設備或系統,(3)使用個案¾參與者與系統的活動,與(4)關係¾參與者與使用個案的關係或是使用個案彼此之間的關係。圖一是使用個案圖元件的表示符號。
















圖一:使用個案圖元件的表示符號
茲將製作使用個案圖的實施步驟說明如下:(圖二)
n步驟一:界定使用個案圖的主題、功能與範圍。
n步驟二:找出行為者。
n步驟三:找出使用個案。
n步驟四:描述使用個案。
n步驟五:找出使用個案之間的關係。

n步驟七:精煉使用個案圖。



 













圖二:製作使用個案圖的實施步驟

圖三是圖書管理系統的使用個案圖的ㄧ個實例,行為者包括讀者與圖書管理員,一共有預約、借閱、罰款、使用者身分檢查與庫存異動處理等五個使用個案,使用者與五個使用個案之間是存在關聯的關係,其中預約與借閱的關係是一種擴充的關係,而借閱與使用者身分檢查的關係是一種包含的關係。


圖三:使用個案圖的實例¾以圖書管理系統為例

5. 請問使用案例圖的規格主要包括哪些項目? 請舉一個實例加以說明之。
【參考答案】:
圖四是使用案例圖的規格的基本格式,茲將使用案例圖的內容說明如下﹕
1)使用個案名稱﹕描述使用個案名稱,通常是以文字大寫做開頭,動詞或動詞片語,例如 Pay_Sales_Tax等,使用個案名稱要求容易理解或記憶為主要原則。
2)使用個案識別子﹕識別子的資料型態以數字為主,例如 1001” 代表主流程或 1001.1” 是替代流程。
3)概述﹕描述使用個案圖的目的、主要重點以及次要參與者的處理作業。
4)參與者﹕主要參與者是啟動使用個案的參與者,次要參與者是非啟動使用個案的參與者。
5)前置條件﹕系統啟動前必須滿足的條件,若能通過這些條件才能啟動使用個案。
6)主流程﹕使用個案的主要活動,它是主要參與者的基本行為。
7)後置條件﹕使用個案執行完畢以後必須達到的條件。
8)替代流程﹕替代流程有三種用途,第一種是替代流程被觸發後取代主流程,第二種是主流程執行過程可能被觸發替代流程,第三種是替代流程回歸主流程。
 














圖四:使用案例圖的規格的基本格式



使用個案:Checkout
ID006
概述:
Customer結帳
系統依據購物車的選購商品產生訂單,Customer付款
主要參與者:
Customer
次要參與者:
InventorySystem
前置條件:
1. Customer登入系統
主流程:
1.當客戶選擇「結帳」,使用個案啟動
2.系統向InventorySystem參與者要求暫時保在留購物車已選購的商品
3.對於沒有庫存的商品
  3.1系統通知Customer該商品目前沒有現貨,並由訂單刪去
4.系統列出最後訂單給Customer審閱,訂單內列出每件商品的識別字、商品名稱、數量、單價、該項商品總金額,訂單列出運送地址與顧客信用卡明細清單,包括稅金與包裝郵寄費用之消費總金額
5.系統詢問Customer接受或不接受該訂單
6. Customer接受該訂單
7.Include(AcceptPaymentByCard)

後置條件:
1. Customer接受該訂單
2.訂購之商品由InventorySystem參與者要求保留
替代流程:

圖五:使用案例圖的規格的範例



6. 何謂「強韌分析」? 請問強韌分析的進行步驟爲何?
【參考答案】:
強韌分析(Robust Analysis)係針對一個使用個案之完整性與正確性進行驗證的工作,對於設計活動是一個重要的過程。強韌分析是確認物件導向需求分析之內容(What)與設計階段的中間處理過程(How)是否吻合,可以減少使用者期望的落差。強韌分析主要是扮演以下四種任務:(1)穩健性檢查¾主要是確保使用個案描述正確性,(2)完整性檢查¾針對行動內容能夠與使用個案對應,(3)確認物件正確性¾根據領域模式(Domain Model)的描述,針對物件名稱進行核對,尋找一些差異或衝突的物件名稱或是發現一些不完整的物件,(4)初步設計¾強韌圖比物件的循序圖或使用個案更為簡化。
茲將強韌分析的進行步驟說明如下:
n  步驟一:找出行為者
從使用者個案描述中尋找行為者,主要的作法是從問題的陳述名詞、代名詞或名詞片語,行為者大部分是資訊的提供者或資訊的接收者。另一種做法是檢查資料流程圖之環境圖(Context Diagram)的外部實體,由於外部實體與系統有互動關係,因此,外部實體有可能是行為者。
n  步驟二:找出物件、屬性與操作
   使用個案圖與強韌圖存在互動的關係,在進行互動過程中,其作法是逐一將使用個案圖與對應的強韌圖物件及互動關係做確認動作。針對強韌圖的物件或互動關係,逐一檢視使用個案圖的每一個描述是否與之對應。在進行強韌分析時,三個主要符號有「實體物件」、「控制物件」與「介面物件」(圖六)。實體物件是使用個案儲存料庫的資料或是暫時性的資料,控制物件是實體物件與介面物件的溝通者,負責協調與管理其他物件的工作,負責執行資訊傳遞與邏輯功能,傳遞資訊是從介面與實體接收資料或將資訊傳遞至其他物件,而執行邏輯功能是指接收來自其他物件的資料並執行邏輯功能的操作,例如控制物件是執行刪除某一個客戶資料,其作法是將刪除某一個客戶的資訊傳遞給客戶實體物件。其次,執行刪除該筆客戶資料。而介面物件主要是擔任行為者與系統溝通的一個媒介,例如表單、報表、硬體介面或其他系統溝通的介面等。










圖六:強韌分析的物件類型

根據使用者個案中的描述,舉凡名詞、名詞片語與代名詞有可能是物件或屬性,動詞部分歸入物件的操作,其次,活動圖中的使用者行為需要有元件來驅動時,可能將此元件轉換成介面的屬性與操作。活動圖的活動部份轉換為控制物件,當一個活動有對應控制物件時,屬性及操作可能會傳遞給對應的控制。註解可以轉換成介面物件時,包括屬性與操作均要移轉給介面處理,例如實體物件與控制物件均要有對應。
n  步驟三:找出行為者與物件之間關係
從使用者個案中事件的描述尋找行為者與物件的關係,其次,根據活動圖的處理過程,活動涉及的物件、介面以及傳遞資訊等連接規則,整理出行為者與物件的關係。
n  步驟四:建立強韌圖
根據上述的結果建立強韌圖,繪圖過程盡量保持簡化、容易閱讀與清晰性的原則,如果圖形太過於複雜時,建議採用多張強韌圖來描述之,一張強韌圖以2-5個控制物件為宜。由於強韌圖是一種輔助工具不定要求做到完美的地步。
n  步驟五:精煉使用個案
強韌圖是協助設計者找出物件、屬性與操作並驗證需求分析結果的完整性與正確性,協助其轉換到設計階段的類別圖與循序圖。使用者個案圖的基本路徑一定要進行確認與驗證工作,視有需要進行替代路徑的確認與驗證。經過強韌分析以後可以得知系統內部行為者與物件的互動關係,檢視使用個案內容描述之正確性與完整性。如有遺漏或不足的物件或關係時,必須針對使用個案進行加入或修正的工作,讓使用個案趨於完整。

7. 何謂「活動圖」? 請問繪製活動圖的進行步驟爲何? 請舉一個實例加以說明之。
【參考答案】:
活動圖主要目的是描述企業流程的運作,從一個工作流程的開始到結束為止。活動圖是從高階觀點進行企業流程的塑模,它可以補充敘述使用個案的執行細節,針對一個複雜運算之內部邏輯進行塑模工作。至於其應用對象包括企業的工作流程、使用個案的流程分析、商業規則的邏輯塑模作業、功能處理或是使用者介面的流程等。
茲將製作活動圖的實施步驟敘述如下﹕
n   步驟一﹕界定活動圖的主題與範圍
根據資訊系統的活動需求,制定一個明確的主題,界定活動圖的範圍應符合實用性、合理性與彈性的原則。
n   步驟二﹕找出活動
循序圖、使用個案或類別的操作描述中找出一些相關的活動。
n   步驟三﹕找出活動的轉換
從循序圖、使用個案、物件或類別的操作描述中找出一些相關的轉換,定義執行該活動的實體(e.g., 組織、人、團體、部門或系統, etc.)、活動發生以前或發生後的ㄧ些限制條件、狀態、介面、輸入與輸出或資料儲存等。
n   步驟四﹕繪製活動圖
從活動圖的左上方開始畫起,根據物件的操作、作業流程等活動執行之順序及彼此的關係,例如循序、平行與控制等逐次畫出相關活動與彼此間的連接關係,一直到結束節點為止,必要時可以利用「水道區」分出一些責任區。
n   步驟五﹕精煉活動圖
針對活動的順序與控制進行改良作業,主要工作重點在核心流程的審查以及複雜流程例如分岔、分支、合併的描述,迴圈、遺漏及無結束點等邏輯表示方法是否有錯誤,一直持續進行到活動圖達到符合設計的需求為止。
圖七是訂單處理流程的活動圖的ㄧ個實例,從接受訂單到實現訂單須先經過接受或不接受的決策,進入分岔點以後產生應收帳款、安排生產與利用庫存三個活動,經過結合點以後進入配送的程序,最後經過訂單檢查的程序,進入最終節點,整個活動才正式結束。





















圖七:活動圖的實例¾訂單處理的流程

8. 何謂「狀態圖」? 請問繪製狀態圖的進行步驟爲何? 請舉一個實例加以說明之。
【參考答案】:
狀態圖主要目的是描述一個系統在生命週期中物件的狀態及轉換的關係。換言之,狀態圖主要是用來描述活動與狀態之間的轉換,如果一個資訊系統是相當複雜時,狀態圖可以彌補生命週期中循序圖與合作圖等互動圖之不足的地方。所謂「狀態」(State)是指﹕「一個物件在生命週期中的一種條件(Condition)或狀況(Situation)。」一個物件若是滿足一些規定條件時,則物件會完成些活動或進入等待事件發生的狀況。換言之,物件在生命週期中是處於動態的狀態,隨著時間的移動,物件的狀態一直在改變,表示符號是一個圓角矩形。所謂「轉換」(Transition)是指﹕「描述兩個狀態之間的一種關係。」主要是描述物件在第一個狀態時,執行某些行動且當某一特殊事件發生或某一個特定條件被滿足以後,物件立即進入下一個狀態,表示符號是一個指向箭頭。所謂「轉換」(Transition)是指﹕「描述兩個狀態之間的一種關係。」主要是描述物件在第一個狀態時,執行某些行動且當某一特殊事件發生或某一個特定條件被滿足以後,物件立即進入下一個狀態,表示符號是一個指向箭頭。
茲將繪製狀態圖的進行步驟如下﹕
n   步驟一﹕決定狀態圖的主題與範圍
決定狀態圖的主題與範圍,原則上,狀態圖的主題必須維持單一主題,範圍適中即可。
n   步驟二﹕找出狀態之間的轉換
根據使用者個案圖或循序圖的內容,逐一找出狀態圖的各種可能的狀態與轉換,如有不合理的情形時,須進行修正與調整的工作,一直到全部的主流程順暢為止。每一個狀態轉換有下三種情形:事件、成立條件與動作。但是此三部份是選擇性不一定要全部條件皆要成立,只要一個條件成立即可。至於狀態與轉換的描述,製作過程之詳細程度視需要而定。
n   步驟三﹕繪製狀態圖
從左上方開始畫起,依據生命週期的先後次序,逐一畫出所有的狀態與轉換。若存在自身轉換時,通常利用一個繞圓弧指向狀態來表示之,並在適當位置說明事件、成立條件與動作等。
n   步驟四﹕精煉狀態圖
狀態圖的審查工作重點在於「轉換」與「狀態」兩個部分,對於轉換的條件、事件與動作要仔細核對清楚,核對狀態是否正確或符合事實的現狀,狀態與轉換的關係是否正確等。此外,線條盡量避免交叉,使狀態圖具有良好的閱讀性,對於狀態圖不斷進行修正與改進的工作,一直到符合設計的需求為止。
圖八是付款作業的狀態圖的ㄧ個實例,初始狀態是未付款的狀態,接著是接受付款的行動,至於付款有三種情況﹕付款金額超過欠款、付款金額等於欠款、付款金額少於欠款,此部份是一個決策過程,經過一系列轉換過程,最後進入結束狀態。


 
















       圖八:狀態圖的實例¾以付款作業為例



9. 何謂「循序圖」? 請問繪製循序圖的進行步驟爲何? 請舉一個實例加以說明之。
【參考答案】:
循序圖(Sequence Diagram)主要是針對使用個案之物件間的互動順序關係進行描述,應用在分析一個資訊系統運作的過程中,各種組成元素間的時間順序的動態行為包括訊息傳遞與處理程序,因此,循序圖亦是一種互動圖。
茲將繪製循序圖的進行步驟敘述如下﹕
n   步驟一﹕界定循序圖的主題與範圍
充分了解作業流程的需求,選定單一主題作為循序圖製作的對象,選取的範圍宜適中。
n   步驟二﹕找出物件
根據類別圖或活動圖的內容確認存在的物件。若尚未建立類別圖或活動圖時,確認物件的做法如同類別圖建立類別的方法。
n   步驟三﹕找出物件與物件的傳遞訊息與操作
       確認連結物件之間的訊息以及操作。主要來源是類別圖的操作,訊息的命名應符合現實世界的意涵,若有相同的操作或訊息內容時,使用的名稱必須維持統一的為原則。
n   步驟四﹕繪製循序圖
首先,在循序圖的最左方劃一條向下直線代表時間軸(圖九),並將物件置於循序圖的上方並排列成一直線。原則上,物件排列的次序是依據物件發生的時間先後,順序與物件之間的水平距離最短為佳,物件名稱下面劃底限,並繪製一條垂直虛線的生命線。從資訊系統的邊界開始,依據時間的順序繪製訊息傳遞與操作,由發送端的物件繪出一條水平線至接收端的物件,上面描述訊息與操作的名稱,其次,進行焦點控制的繪製與命名的工作。




圖九:循序圖的繪製程序

n   步驟五﹕精煉循序圖
檢查物件、操作或訊息是否有遺漏的地方,物件間的訊息傳遞是否正確,若資訊系統太過於複雜時,建議利用 框架來取代某一項複雜的作業。基本上,循序圖的製作以簡單、正確、精簡與實用為原則,不斷的進行檢討與改進的工作,一直到符合設計的需求為止。
     
圖十是一個訂單管理作業的循序圖,一共有客戶、訂單管理者與配送管理者三個物件。首先,由客戶提出訂單,經過訂單管理的處理以後產生訂單,此時狀態是未付款,如果客戶付錢時,訂單的狀態轉變為已付款,若配送管理者將產品送出時,訂單的狀態立即改變為 已送出。其中標籤A為客戶付款的時間點,至於標籤B為客戶付款以後28天內產品必須送達客戶的手中。




 












圖十:訂單管理作業的循序圖

10. 何謂「時序圖」? 請問繪製時序圖的進行步驟爲何? 請舉一個實例加以說明之。
【參考答案】:
時序圖(Time Diagram)主要是用來描述即時系統(Real Time System)不同物件之間對於相關訊息傳遞的時間關係,針對物件在操作過程中,生命線的改變狀況。基本上,時序對一個即時資訊系統是相當重要的一環,因為即時資訊系統必須有效處理時間視窗(Time Window)內部的一些事件之時間精確度。它是UML2.0一個新增加的功能,時序圖也是互動圖的一種類型,主要是描述物件間的互動行為,它與循序圖、合作圖最大差異為時序圖將重點置於物件之間訊息傳遞的時間關係上,因此,時序圖可以針對物件在即時作業過程中,有關生命線的改變情行提供詳細的說明。
茲將繪製時序圖的步驟敘述如下:
n   步驟一:詳閱狀態圖與循序圖的內容
充分了解狀態圖與循序圖的內容,分析時間系列下之物件的行為。
n   步驟二:針對重點部分的之狀態進行描述
針對重點部分的狀態進行描述的工作。
n   步驟三:連結兩個物件之間的訊息傳遞
描述物件之間的訊息傳遞訊息。
n   步驟四:繪製時序圖
以時間為橫軸,繪製時序圖。
n   步驟五:精煉時序圖
檢查時序圖的缺點並進行修正與改進的工作,一直到符合設計的需求為止。

至於時序圖的表示方法如下:縱軸部分是生命線與狀態,橫軸是時間座標的刻度。圖十一是時序圖的ㄧ個實例,描述員工登錄與POS彼此是對應的情形,狀態一是進入系統,狀態二是檢查中,而狀態三是已通過檢查。圖十二是價值生命線之時序圖,橫軸是時間,縱軸是POS系統,呈現在不同時間下POS系統的ㄧ些主要行為。因此,時序圖的主要元件包括生命線、狀態、物件與訊息等,


圖十一:時序圖





圖十二:時序圖¾價值生命線



11. 何謂「互動概觀圖」? 請問繪製互動概觀圖的進行步驟爲何? 請舉一個實例加以說明之。
【參考答案】:
互動概觀圖(Interaction Overview Diagram)主要是描述高層次的控制流程與元件之間的互動狀況,它是活動圖的一種變化圖形,主要是針對活動圖所表達的資訊予以簡化,提供資訊系統開發人員掌握整個資訊系統的互動情形。互動概觀圖的節點可以是循序圖、時序圖、合作圖或是代表另一個互動概觀圖。其表示符號除了缺乏動作(Action)以外,其餘類似於活動圖的表示符號例如初使節點、結束節點、物件與物件流、決策、合併節點、交叉節點等,請詳見活動圖的表示符號。為了要表示單一節點,增加了以下兩種符號:1)互動事件¾互動事件主要是指發生的事件,(2)互動元素¾互動元素主要是針對互動事件之內容進行描述。互動概觀圖是以互動使用(Interaction Use)或其他互動圖元件來取代動作圖形。此外,在循序圖中也可以利用「互動使用」來表示一些常用的系統互動流程,圖十三(a)是描述登入的互動圖,圖十三(b)是登入的互動圖的ㄧ個實例。




圖十三:互動概觀圖的一個實例

12. 解釋名詞
【參考答案】:
1)一般化
           使用個案之間具有繼承關係,圖十四是使用個案間的一般化關係的ㄧ個實例,使用個案「付款」若加以細分其付款方式時,區分為現金付款、支票付款與信用付款三種方式。





圖十四:使用個案之間的一般化關係的一個實例

2)關聯
         使用個案之間存在有某種程度的關係,圖十五是使用個案間的關聯關係的ㄧ個實例,使用個案「接受訂單」、「查詢庫存」、「生產」與「送貨」彼此之間存在有某種程度的關係。





圖十五:使用個案之間的關聯關係的一個實例

3)包含
         來源使用個案使用到目標使用個案的一些服務,圖十六是使用個案間存在包含關係的ㄧ個實例,使用個案「新增客戶資料」、「查詢客戶資料」「更新客戶資料」、與「刪除客戶資料」等均使用到「讀取客戶資料」的服務。





圖十六:使用個案的關聯關係的一個實例

4)延伸
         來源使用個案插入到目標使用個案的一些服務,圖十七是使用個案間的延伸關係的ㄧ個實例,使用個案「歸還書籍」在超過讀者合法的借閱期限時,依規定必須繳納規定金額的罰款,此時須執行使用個案「逾期罰款」,當讀者執行使用個案「借出書籍」時,若讀者是在使用個案「預約書籍」情形下,優先處理「借出書籍」作業,若該書並無讀者「預約書籍」情形下,則執行使用個案「借出書籍」作業。











圖十七:使用個案的延伸關係的一個實例

5)行動
所謂「行動」(Action)是指﹕「執行活動的單一步驟。」行動是一個活動的分析單元,表示符號是一個圓角矩形(圖十八)。





圖十八:行動的表示符號

6)控制流
所謂「控制流」(Control Flow)是指﹕「一個活動中相關行動之間的流程操作,即如何從某一個行動進入另一個行動。」控制流是以一條線來連接啟始行動,然後以箭頭的符號來指向下一個行動(圖十九)。







圖十九:控制流的表示符號

7)分岔點
所謂「分岔點」(Fork Node)是指﹕「當轉換發生時,有兩個或兩個以上的平行活動出現的情形。」表示符號是一條粗的橫向黑實線條,外加一條流入之垂直箭頭與多條流出的垂直箭頭(圖二十)。
     



圖二十:分岔點的表示符號

8)可中斷活動區域
所謂「可中斷活動區域」(Interruptible Activity Region)是指﹕「針對一些不可抗拒的因素導致正在運作的流程必須中斷的處理流程。」可中斷活動區域是活動圖的ㄧ個分析單元,表示符號是一個虛線圓角矩形並以閃電的符號來連接例外處理的行動(圖二十一)。







圖二十一:可中斷活動區域的表示符號

9)水道區
所謂「水道區」(Swinlane)是指﹕「為了區分責任部門的行為將涵蓋行動進行分割並清楚定義各部門的權責範圍。」表示符號是以隔間方式直線來區分各部分的權責的範圍,每一個隔間可以予以命名(圖二十二)。






圖二十二:分岔點的表示符號

10)分支點
所謂「決策點」(Decision Node)或分支點(Branch Node)是指﹕「當轉換發生時,有多個選擇路徑,但是僅能選擇其中一個路徑,這些條件彼此是互相排斥。」表示符號是一個菱形,外加一條流入菱形之箭頭與多條流入菱形之箭頭(圖二十三)。







圖二十三:分支點的表示符號

11)狀態
所謂「狀態」(State)是指﹕「一個物件在生命週期中的一種條件(Condition)或狀況(Situation)。」一個物件若是滿足一些規定條件時,則物件會完成些活動或進入等待事件發生的狀況。換言之,物件在生命週期中是處於動態的狀態,隨著時間的移動,物件的狀態一直在改變,表示符號是一個圓角矩形。茲將狀態的相關資訊說明如下﹕
1)狀態名稱¾主要是使用文字來表示,狀態須符合真實世界的意涵。
2)進入或離開的行動(Action¾進入或離開某一個狀態所需執行的行動。
3)內部轉換(Internal Transition¾ 一種內部轉換的控制,並不產生狀態的改變。
4)子狀態¾它是一種巢狀的結構,有分離(Disjoin)或同步(Concurrent)子狀態。
5)延遲事件¾某一些事件在狀態中並不會被處理,但是會延遲至另一個狀態的物件啟動時,才會被處理。
茲將狀態圖的主要類型敘述如下﹕(圖二十四)
(1)   開始狀態(Initial State¾它是物件生命週期的起點,表示符號是一個實心圓形。
(2)   一般狀態(General State¾它是一種簡單的狀態,主要是表達一個物件在生命週期中滿足某些條件、執行某些行動或等待某些事件發生的一種情況,表示符號是一個圓角矩形。
(3)   歷史狀態(History State¾它是一種虛擬狀態,主要是用途是使一個狀態回復至上一個狀態。因此,歷史狀態儲存上一次活動的狀態,表示符號是一個圓圈內加一個 “H”
(4)   同步組合狀態(Concurrent Composite State¾它是一種針對同步進行之不同狀態之組合狀態,區隔成不同的區域,這些被區隔出來的區域是屬於一種子狀態(Sub State),對於不同區域的狀態做集群的動作,其表示符號是一般狀態內部有若干個子狀態並以水平虛線區隔開來。
(5)   循序組合狀態(Sequential Composite State¾它是一種針對循序進行的狀態做紀錄,也是屬於一種次狀態(Sub-state),在某一個期間只有一個子狀態被啟動,其表示符號是一個圓角矩形,內部依據發生時間順序呈現出來。
(6)  



結束狀態(Final State¾它是整個狀態組合之終點,表示符號是一個實心黑點外加一個圓圈。
圖二十四:狀態圖元件與符號

12)轉換
所謂「轉換」(Transition)是指﹕「描述兩個狀態之間的一種關係。」主要是描述物件在第一個狀態時,執行某些行動且當某一特殊事件發生或某一個特定條件被滿足以後,物件立即進入下一個狀態,表示符號是一個指向箭頭。茲將轉換的五個部分說明如下﹕
(1)   來源狀態(Source State¾物件的初使狀態。
(2)   觸發事件(Trigger Event¾若該物件收到轉換的觸發事件並滿足其防衛條件時,立刻啟動一個事件。
(3)   防衛條件(Guard Condition¾它是用來描述轉換是否該執行的基本條件,通常防衛條件是利用布林式的表示方法,若條件為真(True)時,觸發轉換動作,若為假(False)時,該轉換並不會發生。
(4)   行動(Action¾活動執行的基本單位。
(5)   目的狀態(Target State¾轉換完成以後的狀態。

13)同步組合狀態
它是一種針對同步進行之不同狀態之組合狀態,區隔成不同的區域,這些被區隔出來的區域是屬於一種子狀態(Sub State),對於不同區域的狀態做集群的動作,其表示符號是一般狀態內部有若干個子狀態並以水平虛線區隔開來。

14)循序組合狀態
它是一種針對循序進行的狀態做紀錄,也是屬於一種次狀態(Sub-state),在某一個期間只有一個子狀態被啟動,其表示符號是一個圓角矩形,內部依據發生時間順序呈現出來。

15)生命線
生命線(Lifeline)是指:「在某一個時間點,參與此一任務的物件名稱,表示符號是在物件下面畫一條垂直虛線。」如圖二十五所示。



 














圖二十五:訊息類型的表示法

16)控制焦點
控制焦點(Focus of Control)是指:「表達物件執行某一個動作之時段與生命線重疊部分,正在執行某一個程式,通常是以長方圖來表示。」

17)系統邊界
系統邊界(Systems Boundary)是指:「表達系統與外界溝通之介面」,通常是被放置於最左邊的第一個物件的左側,畫出三條線以代表邊界(圖二十六)。


















圖二十六:系統邊界的一個實例

18)框架
框架(Frame)是指::「框架的主要目的是針對於某一個區段中一連串訊息、操作組合之控制流程,描述一個複雜的物件組合互動片段(Combined Fragment)。」一般而言,利用框架可以使互動圖看起來暨精簡又清晰,其表示符號為一個長方矩形,其左上角有一個五邊形的標題區域包含框架元素的種類以及框架名稱,第二個部分是框架的內容區域,如圖二十七所示。













圖二十七:框架的表示法

19)活動
所謂「活動」(Activity)是指﹕「一個行為所包含的相關組成元素或參數間順序關係的規格。」活動可以是一系列行動、單一行動或是一段可以執行的副程式,主要是包含完成此一活動的行為、控制流與其他相關元素,表示符號是一個圓角矩形,中間是活動名稱或行為之描述,有時候一個活動須描述其發生前或發生後之條件狀態、介面、資料儲存或物件,發生條件的表示符號是右上方折角之矩形,如圖二十八所示。





圖二十八:活動的表示符號

20)訊息
訊息(Message)是指:「表示物件之間溝通的訊息,由來源物件將它傳送至目的物件。」一般而言,訊息類型有同步訊息與非同步訊息兩種型態,同步訊息的傳遞須要等待傳送目標物件的回應以後,才能繼續執行下一個動作,非同步訊息傳遞則不須要傳送目標物件的回應即可以繼續執行下一個動作。訊息的表示符號是一條直線,直線上面則是放置訊息的名稱。

沒有留言: