UML—用例圖的擴展關係和包含關係的區別

用例圖(Use Case Diagram)是從用戶的角度描述系統的功能,並指出各功能的操作者,主要作用有3個:獲取需求、指導測試、在整個過程中的其他工作流中期指導作用。用例元素包括參與者和用例,用例間的關係主要是:繼承關係、擴展關係和包含關係,這裏比較難區分的的是擴展關係和包含關係,比較容易混淆,分析整理一下。

【知識點】

         擴展關係(Extend):當某個新用例在原來的用例基礎上增加了新的步驟序列,則原來用例被稱爲基用例,這種關係稱爲擴展關係,可以這樣理解這裏的基用例是一個完整的用例,即使沒有子用例的參與,也可以完成一個完整的功能,只有當擴展點被激活時,子用例纔會被執行。由子用例指向基用例,比如說充值金額查詢用例中有導出Excel子用例,離開子用例不影響充值金額查詢的功能,這就是擴展關係。

        包含關係(include):幾個用例可以提取他們共用的用例作爲子用例,使其成爲自己行爲的一部分,因爲子用例被提出,基用例並非一個完整的用例,所以include關係中的基用例必須和子用例一起使用纔夠完整,子用例也必然被執行。由基用例指向子用例,比如幾個用例都要用到登錄子用例,登錄作爲子用例沒有它的參與,其他用例也無法執行,這就是包含關係。

        比較:容易混淆的原因在於不理解擴展和包含的含義,所謂擴展是從基用例的基礎上擴展出新的功能(子用例),子用例不影響基用例,基用例本身是完整的,沒有子用例的參與也可以完成自己的功能,而包含關係是提取出來的用例是基用例的一部分基用例和子用例必須一起使用才完整。二者的關鍵在於離開子用例,基用例是否可以完成一個完整的功能。

       如圖:

                                                 

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