UML學習筆記(五)【用例圖】

基本概念html

用例圖(Use Case Diagram):用例圖顯示誰是相關的用戶,用戶但願系統提供什麼服務(用例),以及用例之間的關係圖。用例圖主要的做用是獲取需求、指導測試。  app

基本組件:參與者(Actor)、用例(Use Case)、關係(Relationship)和系統。測試

關係(Relationship):爲了體現一些用例之間的業務關係,提升可維護性和一致性,用例之間能夠抽象出包含(include)、擴展(extend)和泛化(generalization)幾種關係。spa

共性:都是從現有的用例中抽取出公共的那部分信息,做爲一個單獨的用例,而後通後過不一樣的方法來重用這個公共的用例,以減小模型維護的工做量。.net

包含(include):就是爲了共性,具體語言方法體如今,抽出一個公有的方法,它存在於別的用例體內一塊兒用,自己不完整,或者說它是業務片斷。本人以爲也能夠爲了未來好靈活使用該片斷業務或開發維護,能夠抽出來。htm

擴展(extend):自己是一個完整的業務,但在流程上,是從基用例上觸發出來的。文字形式的用例描述能夠很好的體現擴展,如流程走到A的時候,基用例是B,(能夠擴展下)不一樣的狀況下或者基礎上添點其餘功能業務,能夠是B一、B2。(B一、B2擴展用例,獨立且可選)對象

泛化(generalization):繼承blog

方向:對於剛纔的幾種關係的圖形方向箭頭,咱們先談依賴關係,一段虛線的箭頭,箭頭指向被依賴的對象。以上關係,都遵循依賴關係,好比包含關係,基用例依賴它所包含的用例,箭頭指向包含用例。擴展用例依賴基用例,它由基用例觸發出來的,箭頭指向基用例。泛化,兒子是父親生出來的,兒子依賴父親,箭頭指向父親。繼承

幾者的區別事件

●泛化側重表示子用例間的互斥性;它一定發生,如審批泛化出工資調整審批、請假審批。
●包含側重表示提供間接性的服務;它一定發生,如發送郵件包含在修改密碼中,又包含在其餘通知業務中。
●擴展側重表示選擇性的觸發;基用例一定發生,但擴展用例某些狀況下才發生。如查詢某個表,擴展出導出這個表的EXCEL。

 

《UML精粹》下的用例:

用例是捕獲系統功能需求的技能。用例描述了系統用戶和系統自己的典型交互,提供了系統如何被使用的說明。

場景(scenario):用戶和系統之間交互的步驟序列。

目標,用例的關鍵,用例經過共同用戶目標綁在一塊兒的場景集合。

咱們爲了目標,挑選出一個場景,做爲主成功場景,把其餘場景做爲擴展。而擴展的場景,須要一個條件觸發。他們保證會完成某個目標。同時,某個複雜的步驟能夠抽出來變爲一個用例,該用例包含於它的母用例中。

用例的一些公共信息

前置條件(pre-condition):用例開始以前,確保爲真的東西。該用例自己不會去檢查該條件,調用者檢查。

觸發器(trigger):觸發用例開始的事件

保證(guarantee):用例結束時,系統會確保的東西。成功場景結束後獲得成功保證;任何場景結束後都會獲得最小保證。

用例的級別

風箏級別(kite-level):業務用例。

海平面級別(sea-level):核心用例,對主執行者有價值的東西,一般花幾分鐘到半小時完成。(系統用例)

魚級別(fish-level):包含於海平面級別。(系統用例)

特性與用例

特性多是整個用例、用例中的場景、用例中的步驟或一些變體。

推薦:使用文本形式表達用例,表達系統的外部視圖,不要指望和系統類之間的關聯,上面有些關聯了,只是爲了便於理解反過來講明的。

如:

 

[plain] view plain copy

  1. 用例名  
  2. 用例級別  
  3.   
  4. 主成功場景:  
  5. 1  
  6. 2  
  7. 3  
  8.   
  9. 擴展  
  10. 2a:當某某狀況的時候  
  11.      1。。。  
  12.      2。。。  
  13. 3a:當某某狀況的時候  
  14.      1。。。  
  15.      2。。。  


 

 

 

參考資料:

用例圖《UML精粹:標準對象建模語言建模指南(第3版)》Martin Fowler

用例圖_百度百科   http://baike.baidu.com/view/1281729.htm

博客園  UML用例圖博客  http://www.cnblogs.com/panjun-Donet/archive/2008/10/20/1315030.html

ITEYE  UML用例圖帖子   http://www.iteye.com/topic/958803

相關文章
相關標籤/搜索