自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析UML用例圖中include與extend的區(qū)別

開發(fā) 架構(gòu)
UML用例圖有很多值得學(xué)習(xí)的地方,這里向大家簡單介紹一下UML用例圖中include與extend的區(qū)別,希望本文的介紹對你有所幫助。

本文和大家重點討論一下UML用例圖中include與extend的區(qū)別,include是指用例中的包含關(guān)系,通常發(fā)生在多個用例中,有可以提取出來的公共部分,而extend則恰好相反。下面請看本文詳細(xì)介紹。

UML用例圖中include與extend的區(qū)別

最近上論壇,看到在爭論UseCase中include與extend的區(qū)別。其實這兩者是很容易區(qū)分的。

include是指用例中的包含關(guān)系,通常發(fā)生在多個用例中,有可以提取出來的公共部分(就象提取公因式一樣),例如UseCaseA中包括了a和b兩個流程,而UseCaseC中包含了c和b兩個流程。為了提高復(fù)用性,可以把b提取出來,形成另一個用例UseCaseB,此時,UseCaseAincludeUseCaseB(表現(xiàn)為一條指向UseCaseB的虛線,箭頭在UseCaseB側(cè)),UseCaseC也includeUseCaseB。因而,當(dāng)有include關(guān)系時,被include的用例通常會被兩個以上的其他用例include(否則就不需要重用,也就不需要提取出來了),UML用例圖如下:


在include關(guān)系中,“UseCaseA和UseCaseC知道UseCaseB的存在,而UseCaseB根本不知道有UseCaseA和UseCaseC);

extend則恰好相反。假設(shè)UseCaseA的功能描述為“發(fā)送一條通知”,可是,發(fā)送通知的方式可能有許多種,例如通過郵件發(fā)送、通過短信發(fā)送等。在需求分析階段,可能無法明確到底有多少種方式,在用例分析階段,UseCaseA需要留出擴(kuò)展接口,然后把已知的發(fā)送方式作為擴(kuò)展用例給出,例如UseCaseB是“通過短信發(fā)送”,而UseCaseC是“通過郵件發(fā)送”,此時,UseCaseB和UseCaseCextend了UseCaseA,表現(xiàn)為兩根虛線,箭頭指向UseCaseA,UML用例圖如下:


在extend關(guān)系中,UseCaseA不知道UseCaseB和UseCaseC的存在,但UseCaseB和UseCaseC卻是知道UseCaseA并且知道如何在UseCaseA中作擴(kuò)展的。

另:在UML用例圖中,有時會看到兩個用例之間有依賴關(guān)系(表現(xiàn)為一條單向或雙向的實線),這是錯誤的,說明用例沒有提純。
 


也許有人會問“如果兩個用例之間,一個要調(diào)用另一個時,怎么辦?”(有可能是混淆了用例和模塊的關(guān)系),那么,首先要區(qū)分概念,用例就是用例,用例不是模塊,也不是組件(雖然一個用例能發(fā)展成為“一個或多個”模塊或組件);其次,從用例分析的角度來看,如果用例A確實要調(diào)用到用例B,那么,可以進(jìn)一步分析:A是調(diào)用了B的所有流程呢,還是其中一部分流程?

(1)如果是調(diào)用了一部分,此時可以把B中的那部分流程提取出來,形成用例C,然后A和B都includeC;

(2)如果是調(diào)用了所有流程,那么,A直接includeB即可;

(3)如果A沒有調(diào)用B中的任何流程……faint,那還畫那條代表依賴的實線干嘛?
 

【編輯推薦】

  1. 解析繪制UML用例圖的基本步驟
  2. UML用例圖實例解析
  3. UML建模:創(chuàng)建UML用例圖
  4. 揭秘三大UML用例圖關(guān)系
  5. 學(xué)習(xí)筆記 解析UML用例圖元素之間的關(guān)系

 

 


 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-06-30 17:24:46

UML用例圖

2010-06-09 18:38:28

UML用例圖

2010-07-02 08:57:45

UML用例圖

2010-07-01 13:00:20

UML用例圖

2010-06-13 15:43:32

UML用例圖

2010-07-02 09:06:29

UML用例建模

2010-06-17 12:48:08

UML用例模型

2010-07-12 12:32:35

UML用例圖

2010-06-13 14:51:27

UML實踐

2010-06-13 14:37:04

UML實踐

2010-07-08 15:48:47

UML用例圖

2010-06-18 18:07:19

UML用例圖

2010-07-05 11:01:05

常用UML圖

2010-06-30 17:46:36

UML用例建模

2010-07-05 12:50:01

用Visio畫UML用

2010-06-18 14:56:15

UML綜合實例

2010-06-17 12:32:54

UML用例建模

2010-06-30 17:36:58

UML用例圖

2010-06-08 09:30:20

UML圖

2010-07-07 14:09:05

UML用例圖
點贊
收藏

51CTO技術(shù)棧公眾號