淺談UML中常用的幾種圖——用例圖

1.UML簡介

  統一建模語言(Unified Modeling Language,UML)又稱標準建模語言,是始於1997年的一個OMG標準,它是一個支持模型化和軟件系統開發的圖形化語言,爲軟件開發的所有階段提供模型化和可視化支持,包括由需求分析到規格,到構造和配置。

  *注:OMG, Object Management Group 對象管理組織

2.UML常見圖分類

  UML從考慮系統的不同角度出發,定義了用例圖類圖、對象圖、包圖、狀態圖、活動圖、序列圖、協作圖、構件圖、部署圖等10種圖。

  常見的UML圖有用例圖(Use Case Diagram)、類圖(Class Diagram)和序列圖(Sequence Diagram)。下面也將主要闡述這三種UML圖.

 

3.用例圖

  用例圖,展現了一組用例、參與者(actor)以及它們之間的關係。用例圖從用戶角度描述系統的靜態使用情況,用於建立需求模型。

 

參與者(Actor)

  在系統外部與系統直接交互的人或事物。需要注意以下兩點:

  1)參與者是角色而不是具體的人,它代表了參與者在與系統打交道的過程中所扮演的角色。所以在系統的實際運作中,一

個實際用戶可能對應系統的多個參與者。不同的用戶也可以只對應於一個參與者,從而代表同一參與者的不同實例。

  2)參與者作爲外部用戶(而不是內部)與系統發生交互作用,是它的主要特徵。

  在UML中,參與者使用如圖所示的一個小人表示:

 

用例(Use Case

  系統外部可見的一個系統功能單元。系統的功能由系統單元所提供,並通過一系列系統單元與一個或多個參與者之間交換的消息所表達。用橢圓表示,橢圓中的文字簡述系統的功能:

子系統(Subsystem)

  用來展示系統的一部分功能,這部分功能聯繫緊密。

 

 

關係(Relationship)

  常見關係類型有關聯、泛化、包含和擴展。

  以上各關係在uml圖中的表示方式,如下表所示:

  

  a. 關聯(Association)

  表示參與者與用例之間的通信,任何一方都可發送或接受消息。

  【箭頭指向】:指向消息接收方

  b. 泛化(Inheritance)

  就是通常理解的繼承關係,子用例和父用例相似,但表現出更特別的行爲;子用例將繼承父用例的所有結構、行爲和關係。子用例可以使用父用例的一段行爲,也可以重載它。父用例通常是抽象的。

  【箭頭指向】:指向父用例

  c. 包含(Include)

  包含關係用來把一個較複雜用例所表示的功能分解成較小的步驟。

  【箭頭指向】:指向分解出來的功能用例

  d. 擴展(Extend)

  擴展關係是指用例功能的延伸,相當於爲基礎用例提供一個附加功能。

  【箭頭指向】:指向基礎用例

 

 

包含(include)、擴展(extend)、泛化(Inheritance) 的區別:

  條件性:泛化中的子用例和include中的被包含的用例會無條件發生,而extend中的延伸用例的發生是有條件的;

  直接性:泛化中的子用例和extend中的延伸用例爲參與者提供直接服務,而include中被包含的用例爲參與者提供間接服務。

  對extend而言,延伸用例並不包含基礎用例的內容,基礎用例也不包含延伸用例的內容。

  對Inheritance而言,子用例包含基礎用例的所有內容及其和其他用例或參與者之間的關係;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章