UML參考手冊 第二部分 基 本 概 念 第5章 用 例 視 圖

來源:互聯網
上載者:User
UML參考手冊  

  第二部分 基 本 概 念  

第5章 用 例 視 圖

5.1 概述
  當用例視圖在外部使用者前出現時,它捕獲到系統、子系統或類的行為。它將系統功能劃分成對參與者(即系統的理想使用者)有用的需求。而互動功能部分被稱作用例。用例使用系統與一個或多個參與者之間的一系列訊息來描述系統中的互動作用。參與者可以是人,也可以是外部電腦系統和外部進程。圖5-1表述了一個電話目錄銷售的用例視圖。此例是實際系統簡化後的例子。

圖5-1 使用案例圖
5.2 參與者
  參與者是與系統、子系統或類發生互動作用的外部使用者、進程或其他系統的理想化概念。作為外部使用者與系統發生互動作用,這是參與者的特徵。在系統的實際運作中,一個實際使用者可能對應系統的多個參與者。不同的使用者也可以只對應於一個參與者,從而代表同一參與者的不同執行個體。
  每個參與者可以參與一個或多個用例。它通過交換資訊與用例發生互動作用(因此也與用例所在的系統或類發生了互動作用),而參與者的內部實現與用例是不相關的,參與者可以被一組定義它的狀態的屬性充分描述。
  參與者可以通過泛化關係來定義,在這種泛化關係中,一個參與者的抽象描述可以被一個或多個具體的參與者所共用。
  參與者可以是人、另一個電腦系統或一些可啟動並執行進程。在圖中,參與者用一個名字寫在下面的小人表示。
5.3 用例
  用例是外部可見的一個系統功能單元,這些功能由系統單元所提供,並通過一系列系統單元與一個或多個參與者之間交換的訊息所表達。用例的用途是在不揭示系統內部構造的情況下定義連貫的行為。用例的定義包含用例所必需的所有行為—執行用例功能的主線次序、標準行為的不同變形、一般行為下的所有異常情況及其預期反應。從使用者角度來看,上述情況很可能是異常情況;從系統角度來看,它們是必須被描述和處理的附加情況。
  在模型中,每個用例的執行獨立於其他用例,雖然在具體執行一個用例功能時由於用例之間共用對象的緣故可能會造成本用例與其他用例之間有這樣或那樣的隱含的依賴關係。每一個用例都是一個縱向的功能塊,這個功能塊的執行會和其他用例的執行發生混雜。
  用例的動態執行過程可以用UML的互動作用來說明,可以用狀態圖、順序圖、合作圖或非正式的文字描述來表示。用例功能的執行通過類之間的協作來實現。一個類可以參與多個協作,因此也參與了多個用例。
  在系統層,用例表示整個系統對外部使用者可見的行為。一個用例就像外部使用者可使用的系統操作。然而,它又與操作不同,用例可以在執行過程中持續接受參與者的輸入資訊。用例也可以被像子系統和獨立類這樣的小單元所應用。一個內部用例表示了系統的一部分對另一部分呈現出的行為。例如,某個類的用例表示了一個連貫的功能,這個功能是該類提供給系統內其他有特殊作用的類的。一個類可以有多個用例。
  用例是對系統一部分功能的邏輯描述,它不是明顯的用於系統實現的構件。非但如此,每個用例必須與實現系統的類相映射。用例的行為與類的狀態轉換和類所定義的操作相對應。只要一個類在系統的實現中充當多重角色,那麼它將實現多個用例的一部分功能。設計過程的一部分工作即在不引入混亂的情況下,找出具有明顯的多重角色的類,以實現這些角色所涉及的用例功能。用例功能靠類間的協作來實現。
  用例除了與其參與者發生關聯外,還可以參與系統中的多個關係(如表5-1)。
表5-1 用例之間的關係


5-2,用例用一個名字在裡面的橢圓表示,用例和與它通訊的參與者之間用實線串連。

圖5-2 用例之間的關係
  雖然每個用例的執行個體是獨立的,但是一個用例可以用其他的更簡單的用例來描述。這有點像一個類可以通過繼承它的超類並增加附加描述來定義。一個用例可以簡單地包含其他用例具有的行為,並把它所包含的用例行為做為自身行為的一部分,這被稱作內含項目關聯性。在這種情況下,新用例不是初始用例的一個特殊例子,而且不能被初始用例代替。
  一個用例也可以被定義為基用例的增量擴充,這叫做擴充關係。同一個基用例的幾個擴充用例可以在一起應用。基用例的擴充增加了原有的語義, 此時是本用例而不是擴充用例被作為例子使用。
包含和擴充關係可以用含有關鍵字<<include>>和<<extend>>的帶箭頭的虛線表示。內含項目關聯性箭頭指向被包含的用例,擴充關係箭頭指向被擴充的用例。
  一個用例也可以被特別列舉為一個或多個子用例,這被稱做用例泛化。當父用例能夠被使用時,任何子用例也可以被使用。
  用例泛化與其他泛化關係的標記法相同,都用一個三角箭頭從子用例指向父用例。圖5-2表示了銷售中的用例關係。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.