- 你所在位置:首页 〉VS.net〉UML〉基础知识〉UML 顺序图简介
- UML 顺序图简介
- 作者:佚名 文章来源:http://www.ibm.com 发布日期:2008-02-28 浏览次数:2076
-
- 打印这篇文章
-
順序圖用於為使用方案的邏輯塑模。使用方案恰如其名稱所揭示的那樣--描述使用系統的潛在方法。使用方案的邏輯可以是使用案例的一部分,可能是備選過程。它也可以是整個使用案例過程,例如由基本行動過程描述的邏輯,或者部分基本行動過程再加上一個或多個替代方案描述的邏輯。使用方案的邏輯也可以是幾個使用案例中套件包括的邏輯。例如,一個學生在大學入學後,立即參加了三個研習班。順序圖以可視模式為系統中邏輯的塑模流程,能夠讓您記載和驗証邏輯,這通常用於分析和設計目的。
圖 1是「參加研習班」使用案例的基本行動過程的模型。您可能想要現下打開該圖,並在閱讀本文時參考它。
分類器
橫貫該圖頂部的那些框表示的是分類器或它們的實例 --通常是使用案例、物件、類別或參與者(往往用長方形表示,但它們也可以是符號)。因為既可以向物件發送訊息,又可以向類別發送訊息(物件透過調整操作來附應訊息,而類別則透過調整靜態操作來附應訊息),所以有必要將它們套件都包括在順序圖中。另外,因為參與者在使用方案中發起操作並佔據主動地位,因此也要將他們套件包括在順序圖中。物件的標籤具有標準UML 格式 "name: ClassName",其中的 "name"是可選的。(在圖中沒有給出名稱的物件稱為匿名物件。)類別標籤的格式為"ClassName",而參與者名的格式為 "Actor Name" -- 這些也都是 UML標準。
例如在圖 1 中,"Student"(「學生」)參與者的名稱為 "AStudent",它的標籤為原型 <
>。表示 "UI32 SeminarSelection Screen"(「UI32 研習班選擇螢幕」)的主要 UI元素的實例是名稱為 ":SeminarSelector"、原型為 < >的匿名物件。因為向 "Student" 類別發送靜態訊息 "isEligible(name,studentNumber)",所以在圖中標名了該類別(名稱為 "Student"的框)。我們稍後再詳細說明。 在圖中,因為 "Student"的實例在幾個地方都用作訊息中的參數,所以為它提供了名稱"theStudent"。與之相反,"StudentsFees"類別的實例不需要在圖中的其它任何地方引用,因此可以是匿名的。
生命線
從各個框垂下來的虛線稱為物件生命線,表示在對方案塑模期間物件的生命跨度。生命線上的細長框是方法呼叫框,表明正在由目標物件/類別執行處理,以完成訊息。方法呼叫框底部的X 是一種 UML 約定,表明物件已從內存中除去,這通常是接收到原型為<> 的訊息的結果。 為訊息塑模
訊息以帶有標籤的箭頭表示。當訊息的來源和目標為物件或類別時,標籤是附應訊息時所呼叫方法的簽名。不過,如果來源或目標中有一方是人類參與者,那麼訊息就用來描述正在交流的訊息的簡要文件。例如,":EnrollInSeminar"物件向 "Seminar" 的實例發送訊息"isEligibleToEnroll(theStudent)"。請注意我是如何同時含有方法名和參數名的(如果有參數名,則傳遞給它)。圖 1 還表明 "Student" 參與者透過標籤為 "name"(「姓名」)和"student number"(「學號」)的訊息方向 ":SecurityLogon"物件提供訊息。(這些實際上並不是訊息;它們實際上是使用者互動。)回傳值可以使用帶有表明是回傳值標籤的虛線箭頭表示。例如,標出了從"Student" 類別返回的,作為呼叫訊息結果的回傳值"theStudent",而沒有標出向 "seminar" 發送訊息"isEligibleToEnroll(theStudent)"的結果的回傳值。我的風格是,當返回內容很明顯時不標出回傳值,這樣就不會把順序圖搞亂。(您可以發現,順序圖可以很快變得相當複雜。)
訊息實現使用案例步驟的邏輯,圖的左側概括了這些步驟。請注意,由於步驟的描述往往太過冗長,以至於無法恰當地放在一張圖上,因此並沒有對使用案例步驟使用確切的措辭。關鍵是,步驟號要與使用案例中的步驟號對應起來,使圖的讀者能夠清楚地了解步驟的大體思想。
下面列出的是圖 1 所顯示的 UML順序圖「參加研習班」使用案例的基本行動過程。
「參加研習班」使用案例
名稱︰參加研習班 標識︰UC 17 描述︰允許有資格的學生參加研習班。 前提︰是在校註冊學生。 結果︰在學生有資格且有空位的條件下,允許該生參加他想參加的課程。 擴展︰N/A 套件包括︰N/A 繼承自︰N/A
基本行動過程︰
- 學生想參加研習班。
- 學生透過「UI23 安全登錄螢幕」將他的姓名和學號輸入系統。
- 系統根據「BR129確定參加資格」商業規則來驗証該學生是否有資格參加學校裡的研習班。
- 系統顯示可供選擇的研習班列表「UI32 研習班選擇螢幕」。
- 學生指定他想參加的研習班。
- 系統根據「BR130確定學生參加研習班的資格」商業規則來驗証該學生是否有資格參加研習班。
- 系統根據「BR143驗証學生研習班課程表」商業規則來驗証研習班是否適合該學生的現有課程表。
- 系統根據課程目錄中公佈的費用、適用的學生費用和適用的稅款來計算研習班的費用。應用「BR180 計算學生費用」和「BR45 計算研習班稅款」商業規則。
- 系統透過「UI33 顯示研習班費用螢幕」顯示費用。
- 系統詢問該學生是否仍然想參加研習班。
- 學生表明他想參加研習班。
- 系統招收該生參加研習班。
- 系統透過「UI88 研習班註冊摘要螢幕」通知該學生註冊成功。
- 系統根據商業規則「BR100為學生開具研習班帳單」給該學生開出參加研習班費用的帳單。
- 系統詢問該生是否想列印註冊報告書。
- 學生表明他想列印報告書。
- 系統列印註冊報告書 -「UI89 註冊摘要報告書」。
- 當學生拿到列印的報告書後,使用案例結束。
備選過程 A︰學生沒有資格參加研習班
- 系統確定學生沒有資格參加研習班。
- 系統通知該生,他沒有資格參加研習班。
- 使用案例結束。
備選過程 B︰學生不具備前提條件
- 系統確定學生沒有資格參加他所挑選的研習班。
- 系統通知該生,他不具備前提條件。
- 系統通知該生他所需的前提條件。
- 使用案例返回至基本行動過程的第 4 步繼續。
備選過程 C︰學生決定不參加現有的研習班
- 學生在查看了研習班的列表之後,發現沒有他想要參加的研習班。
- 使用案例結束。



回到頂端
- 您可以參閱本文在 developerWorks 全球網站上的
- 英文原文.
- The Object Primer 2nd Edition,由 Scott W. Ambler 著。New York: Cambridge University Press, 2001。
- The Unified Process Inception Phase,由 Scott W. Ambler 和 Larry L. Constantine 合著。Gilroy, CA: R&D Books, 2000。
- The Unified Modeling Language Reference Manual,由 James Rumbaugh、Grady Booch 和 Ivar Jacobson 合著。Reading, MA: Addison-Wesley Longman, Inc., 1999。



回到頂端
參考資料

Scott W. Ambler 是Ronin International 的總裁,該公司是一家專門提供對於軟體開發程序指導、架構塑模和 Enterprise JavaBean (EJB) 開發的咨詢企業。他創作或者與其他人合著了幾本有關對於套件開發的書籍,包括最近出版的 Object Primer 2nd Edition,該書詳細介紹了本文所概述的主題。可以透過scott.ambler@ronin-intl.com 與他聯繫,他的網站位於 www.ambysoft.com。
- 打印这篇文章
- 与本文主题相关的文章
- 返回首页
