常用技术文档图--usecase图
構成
用例圖由參與者(Actor)、用例(Use Case)、系統邊界、箭頭組成,用畫圖的方法來完成。
參與者
參與者不是特指人,是指系統以外的,在使用系統或與系統交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時間或其他系統等等。還有一點要注意的是,參湖與者不是指人或事物本身,而是表示人或事物當時所扮演的角色。比如小明是圖書館的管理員,他參與圖書館管理系統的交互,這時他既可以作為管理員這個角色參與管理,也可以作為借書者向圖書館借書,在這里小明扮演了兩個角色,是兩個不同的參與者。參與者在畫圖中用簡筆人物畫來表示,人物下面附上參與者的名稱。
用例
是對包括變量在內的一組動作序列的描述,系統執行這些動作,并產生傳遞特定參與者的價值的可觀察結果。這是UML對用例的正式定義,對我們初學者可能有點難懂。我們可以這樣去理解,用例是參與者想要系統做的事情。對于對用例的命名,我們可以給用例取一個簡單、描述性的名稱,一般為帶有動作性的詞。用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱。
系統邊界
系統邊界是用來表示正在建模系統的邊界。邊界內表示系統的組成部分,邊界外表示系統外部。系統邊界在畫圖中方框來表示,同時附上系統的名稱,參與者畫在邊界的外面,用例畫在邊界里面。因為系統邊界的作用有時候不是很明顯,所以我個人理解,在畫圖時可省略。
箭頭
箭頭用來表示參與者和系統通過相互發送信號或消息進行交互的關聯關系。箭頭尾部用來表示啟動交互的一方,箭頭頭部用來表示被啟動的一方,其中用例總是要由參與者來啟動。
用例圖主要的作用有三個:(1)獲取需求;(2)指導測試;(3)還可在整個過程中的其它工作流起到指導作用。
元素之間的關系用例圖中包含的元素除了系統邊界、角色和用例,另外就是關系。關系包括用例之間的關系,角色之間的關系,用例和角色之間的關系。
角色之間的關系
角色之間的關系。由于角色實質上也是類,所以它擁有與類相同的關系描述,即角色之間存在泛化關系,泛化關系的含溺義是把某些角色的共同行為汰提取出來表示為通用的行為。
用例之間的關系:
包含關系:基
USE CASE圖
USE CASE圖
本用例的行為包含了另一個用例的行為。基本用例描述在多個用例中都有的公共行為。包含關系本質上是比較特殊的依賴關系。它比一般的依賴關系多了一些語義。在包含關系中箭頭的方向是從基本用例到包含用例。在UML1.1中用例之間是使用和擴展這兩種關系,這兩種關系都是泛化關系的版型。在UML1.3以后的版本中用例之間是包含和擴展這兩種關系。
泛化關系:代表一般與特殊的關系。它的意思和面向對象程序設計中的繼承的概念是類似的。不同的是繼承使用在實施階段,泛化使用在分析、設計階段。在泛化關系中子用例繼承了父用例的行為和含義,子用例也可以增加新的行為和含義或者覆蓋父用例中的行為和含義。
擴展關系的基本含義和傭泛化關系類似,但在擴展
USE CASE圖
USE CASE圖
關系中,對于擴展用例有更多的規則限制,基本用例必須聲明擴展點,而擴展用例只能在擴展點上增加新的行為和含義。與包含關系一樣,擴展關系也是依賴關系的版型。在擴展關系中,箭頭的方向是從擴展用例到基本用例,這與包含關系是不同的。
用例的泛化、包含、擴展關系的比較。一般來說可以使用“is a”和“has a”來判斷使用那種關系。泛化和擴展關系表示用例之間是“is a”關系,包含關系表示用例之間是“has a”關系。擴展與泛化相比多了擴展點,擴展用例只能在基本用例的擴展點上進行擴展。在擴展關系中基本用例是獨立存在。在包含關系中在執行基本用例的時候一定會執行包含用例。如果需要重復處理兩個或多個用例時可以考慮使用包含關系,實現一個基本用例對另一個的引用。當處理正常行為的變形是偶爾描述時可以考慮只用泛化關系。當描述正常行為的變形希望采用更多的控制方式時,可以
USE CASE圖
USE CASE圖
在基本用例中設置擴展點,使用擴展關系。擴展關系比較難理解,如果把擴展關系看作是帶有更多規則限制的泛化關系,可以幫助理解。通常先獲得基本用例,針對這個用例中的每一個行為提問:該步驟會出什么差錯?該步驟有不同的情況工作怎樣以不同的方式進行等,把所有的變化情況都標識為擴展。通常基本用例很容易構造,而擴展用例需要反復分析、驗證。當我們發現已經存在的兩個用例間具有某種相似性時,可以把相似的部分從兩個用例中抽象出來單獨作為一個用例,該用例被這兩個用例同時使用,這個抽象出的用例和另外兩個用例形成包含關系。
用例之間的關系舉例
包含:業務中,總是存在著維護某某信息的功能,如果將它作為一個用例,那新建、編輯以及修改都要在用例詳述中描述,過于復雜;如果分成新建用例、編輯用例和刪除用例,則劃分太細。這時包含關系可以用來理清關系。
擴展:系統中允許用戶對查詢的結果進行導出、打印。對于查詢而言,能不能導出、打印查詢都是一樣的,導出、打印是不可見的。導出、打印和查詢相對獨立,而且為查詢添加了新行為。
泛化:子用例將繼承父用例的所有結構、行為和關系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。
用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯系的。用例圖用于對系統、子系統或類的行為進行可視化,使用戶能夠理解如何使用這些元素,并使開發者能夠實現這些元素。
將每個系統中的用戶分出工作狀態的屬旺性和工作內容,方便建模,防止功能重復和多余的類。
用例圖定義了系統的功能需求,它是從系統的外部看系統功能,并不描述系統內部對功能的具體實現。
總結
以上是生活随笔為你收集整理的常用技术文档图--usecase图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QUI框架学习链接
- 下一篇: 新概念英语第一册——视频