UML介绍--用例图
生活随笔
收集整理的這篇文章主要介紹了
UML介绍--用例图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用例圖定義:由參與者(Actor)、用例(Use Case)以及它們之間的關系構成的用于描述系統功能的靜態視圖稱為用例圖。 用例圖(User Case)是被稱為參與者的外部用戶所能觀察到的系統功能的模型圖,呈現了一些參與者和一些用例,以及它們之間的關系,主要用于對系統、子系統或類的功能行為進行建模。 用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯系的。用例圖用于對系統、子系統或類的行為進行可視化,使用戶能夠理解如何使用這些元素,并使開發者能夠實現這些元素。 將每個系統中的用戶分出工作狀態的屬性和工作內容,方便建模,防止功能重復和多余的類。 用例圖定義了系統的功能需求,它是從系統的外部看系統功能,并不描述系統內部對功能的具體實現。 作用: 用例圖主要的作用有三個:(1)獲取需求;(2)指導測試;(3)還可在整個過程中的其它工作流起到指導作用。 元素之間的關系用例圖中包含的元素除了系統邊界、角色和用例,另外就是關系。關系包括用例之間的關系,角色之間的關系,用例和角色之間的關系。 角色之間的關系 角色之間的關系。由于角色實質上也是類,所以它擁有與類相同的關系描述,即角色之間存在泛化關系,泛化關系的含義是把某些角色的共同行為提取出來表示為通用的行為。 用例之間的關系: 包含關系:基本用例的行為包含了另一個用例的行為。基本用例描述在多個用例中都有的公共行為。包含關系本質上是比較特殊的依賴關系。它比一般的依賴關系多了一些語義。在包含關系中箭頭的方向是從基本用例到包含用例。在UML1.1中用例之間是使用和擴展這兩種關系,這兩種關系都是泛化關系的版型。在UML1.3以后的版本中用例之間是包含和擴展這兩種關系。 泛化關系:代表一般與特殊的關系。它的意思和面向對象程序設計中的繼承的概念是類似的。不同的是繼承使用在實施階段,泛化使用在分析、設計階段。在泛化關系中子用例繼承了父用例的行為和含義,子用例也可以增加新的行為和含義或者覆蓋父用例中的行為和含義。 擴展關系的基本含義和泛化關系類似,但在擴展關系中,對于擴展用例有更多的規則限制,基本用例必須聲明擴展點,而擴展用例只能在擴展點上增加新的行為和含義。與包含關系一樣,擴展關系也是依賴關系的版型。在擴展關系中,箭頭的方向是從擴展用例到基本用例,這與包含關系是不同的。 用例的泛化、包含、擴展關系的比較。一般來說可以使用“is a”和“has a”來判斷使用那種關系。泛化和擴展關系表示用例之間是“is a”關系,包含關系表示用例之間是“has a”關系。擴展與泛化相比多了擴展點,擴展用例只能在基本用例的擴展點上進行擴展。在擴展關系中基本用例是獨立存在。在包含關系中在執行基本用例的時候一定會執行包含用例。如果需要重復處理兩個或多個用例時可以考慮使用包含關系,實現一個基本用例對另一個的引用。當處理正常行為的變形是偶爾描述時可以考慮只用泛化關系。當描述正常行為的變形希望采用更多的控制方式時,可以在基本用例中設置擴展點,使用擴展關系。擴展關系比較難理解,如果把擴展關系看作是帶有更多規則限制的泛化關系,可以幫助理解。通常先獲得基本用例,針對這個用例中的每一個行為提問:該步驟會出什么差錯?該步驟有不同的情況嗎?該步驟的工作怎樣以不同的方式進行等,把所有的變化情況都標識為擴展。通常基本用例很容易構造,而擴展用例需要反復分析、驗證。當我們發現已經存在的兩個用例間具有某種相似性時,可以把相似的部分從兩個用例中抽象出來單獨作為一個用例,該用例被這兩個用例同時使用,這個抽象出的用例和另外兩個用例形成包含關系。 用例之間的關系舉例 包含:業務中,總是存在著維護某某信息的功能,如果將它作為一個用例,那新建、編輯以及修改都要在用例詳述中描述,過于復雜;如果分成新建用例、編輯用例和刪除用例,則劃分太細。這時包含關系可以用來理清關系。 擴展:系統中允許用戶對查詢的結果進行導出、打印。對于查詢而言,能不能導出、打印查詢都是一樣的,導出、打印是不可見的。導出、打印和查詢相對獨立,而且為查詢添加了新行為。 泛化:子用例將繼承父用例的所有結構、行為和關系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。
轉載于:https://www.cnblogs.com/Alandre/p/3222097.html
總結
以上是生活随笔為你收集整理的UML介绍--用例图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 4618 - Palindrom
- 下一篇: win7_64bit下桌面及开始菜单中图