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