<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    皇家方舟

    Use Case 中 include 與 extend 的區(qū)別

    最近上論壇,看到在爭(zhēng)論 Use Case 中 includeextend 的區(qū)別。其實(shí)這兩者是很容易區(qū)分的。

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



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

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



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

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



    也許有人會(huì)問“如果兩個(gè)用例之間,一個(gè)要調(diào)用另一個(gè)時(shí),怎么辦?”(有可能是混淆了用例和模塊的關(guān)系),那么,首先要區(qū)分概念,用例就是用例,用例不是模塊,也不是組件(雖然一個(gè)用例能發(fā)展成為“一個(gè)或多個(gè)”模塊或組件);其次,從用例分析的角度來(lái)看,如果用例 A 確實(shí)要調(diào)用到用例 B,那么,可以進(jìn)一步分析:A 是調(diào)用了 B 的所有流程呢,還是其中一部分流程?
    (1)如果是調(diào)用了一部分,此時(shí)可以把 B 中的那部分流程提取出來(lái),形成用例 C,然后 A 和 B 都 include C;
    (2)如果是調(diào)用了所有流程,那么,A 直接 include B 即可;
    (3)如果 A 沒有調(diào)用 B 中的任何流程……faint,那還畫那條代表依賴的實(shí)線干嘛?


    posted on 2006-09-19 17:12 阿輝 閱讀(3813) 評(píng)論(4)  編輯  收藏 所屬分類: eclipse

    Feedback

    # re: Use Case 中 include 與 extend 的區(qū)別 2006-12-01 14:59 心內(nèi)求法

    頂一個(gè)  回復(fù)  更多評(píng)論   

    # re: Use Case 中 include 與 extend 的區(qū)別 [未登錄] 2007-03-24 15:30 bruce

    ding  回復(fù)  更多評(píng)論   

    # re: Use Case 中 include 與 extend 的區(qū)別 2007-04-10 15:13 aylwin

    crystal clear
    thanks~~~~~~  回復(fù)  更多評(píng)論   

    # re: Use Case 中 include 與 extend 的區(qū)別 2007-06-15 10:45 huwei

    好文章!  回復(fù)  更多評(píng)論   



    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    My Links

    Blog Stats

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 暖暖免费高清日本一区二区三区| 亚洲午夜精品久久久久久浪潮| 99热在线免费观看| 亚洲美女aⅴ久久久91| 最好免费观看韩国+日本 | 桃子视频在线观看高清免费视频| 久久精品国产亚洲精品2020| 成人免费福利电影| 亚洲日韩精品无码专区加勒比| 亚洲毛片在线免费观看| 精品无码专区亚洲| 久久精品亚洲中文字幕无码网站 | 亚洲一区二区三区夜色| 在线观看免费成人| 国产成人免费ā片在线观看老同学 | 日韩毛片一区视频免费| 国产又长又粗又爽免费视频 | 人妻视频一区二区三区免费| 爱情岛论坛免费视频| 免费在线视频一区| 一级做a爱过程免费视频高清| 亚洲午夜久久久精品影院| 67194国产精品免费观看| 理论亚洲区美一区二区三区| 亚洲一区影音先锋色资源| 免费在线精品视频| 成人女人A级毛片免费软件| 亚洲欧美日韩自偷自拍| 久久精品国产亚洲AV麻豆不卡 | 丁香花在线观看免费观看图片| 国产亚洲大尺度无码无码专线| 国产成人精品免费视频大| 国产成人1024精品免费| 亚洲人成色99999在线观看| 亚洲人成在线播放网站岛国| 亚洲国产精品专区在线观看| 中文无码成人免费视频在线观看| 亚洲精品国产首次亮相| 亚洲人成网亚洲欧洲无码久久| 37pao成人国产永久免费视频| 国产美女视频免费观看的网站 |