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

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

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

    皇家方舟

    Use Case 中 include 與 extend 的區別

    最近上論壇,看到在爭論 Use Case 中 includeextend 的區別。其實這兩者是很容易區分的。

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



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

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



    在 extend 關系中,UseCaseA 不知道 UseCaseB 和 UseCaseC 的存在,但 UseCaseB 和 UseCaseC 卻是知道 UseCaseA 并且知道如何在 UseCaseA 中作擴展的。

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



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


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

    Feedback

    # re: Use Case 中 include 與 extend 的區別 2006-12-01 14:59 心內求法

    頂一個  回復  更多評論   

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

    ding  回復  更多評論   

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

    crystal clear
    thanks~~~~~~  回復  更多評論   

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

    好文章!  回復  更多評論   


    My Links

    Blog Stats

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: jiz zz在亚洲| 亚洲人成网国产最新在线| 一个人看的免费高清视频日本| 宅男666在线永久免费观看| 亚洲精华液一二三产区| 精品久久免费视频| 亚洲成av人片在线天堂无| 国产大片51精品免费观看| 国产精品亚洲小说专区| 亚洲精品动漫人成3d在线| 一级有奶水毛片免费看| 亚洲大尺度无码无码专区| 免费看美女让人桶尿口| 亚洲精品乱码久久久久久V| 欧洲美熟女乱又伦免费视频| 国产亚洲午夜精品| 久久久久亚洲AV成人网人人软件 | 亚洲一区在线免费观看| 成人性生交大片免费看无遮挡| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲国产精品乱码一区二区| 国产成人久久AV免费| 亚洲一级视频在线观看| 日本19禁啪啪无遮挡免费动图| jzzijzzij在线观看亚洲熟妇| 亚洲精品偷拍视频免费观看| 黄色网址在线免费| 亚洲人成片在线观看| 免费一级毛片在线播放不收费| 亚洲精品日韩专区silk| 成人毛片免费观看| 久久久久女教师免费一区| 亚洲黄色免费在线观看| 国产成人精品123区免费视频| 国产性生大片免费观看性| 亚洲国产成人久久| 亚洲精品乱码久久久久久蜜桃| 真实国产乱子伦精品免费| 色偷偷噜噜噜亚洲男人| 成人无遮挡毛片免费看| 曰批全过程免费视频在线观看无码 |