? asked in 電腦與網際網路程式設計 · 1 decade ago

Use case diagram relationaship

relationship <include> <use> <extend> 各有什麼異同之處?

Use case ovals 之間 是否有 generalization 的關係??

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    1. <<include>> : A <<include>> B表示在A的流程中要把B的流程包含進來,最常舉的例子就是Login,例如說ATM系統中,無論提款或者查詢餘額都要有Login的流程,所以就要<<include>> Login的Use Case。而且Login的流程是不會單獨存在的,因為如果只是 Login是沒有意義的。

    2. << uses >> : 在現在新定義的 Use Case中我們都不用<< Include>>了,而改使用<<uses>>,其實兩者的定義是很類似的,所以用法也相同。

    3. <<extend>>: A<<extend>>B 表示A在一個或多個地方會使用到B的流程,例如說提款的過程,會先查一次餘額,看是否有溢領,在吐鈔後,再查詢一次餘額,Show給使用者看。跟<<uses>>/<<include>>最大的不同就是B可以單獨存在,可以單獨被Actor使用,是一個獨立的 Use Case。

    4. Use case ovals之間不會有generalization的關係,因為每個oval都被視為獨立的功能,可以被獨立的開發,彼此有generalization反而破壞的這個立意。但是Actor之間可以有generalization的關係,不過好像也不建議使用。

    2006-03-14 11:12:39 補充:

    Use case的generalization的關係並不是正規的表示法,我下面放了一個網站有提到這點:http://www.visualcase.com/kbase/use_case.htm而 OMG(UML的官網)中的Use Case的圖,也確實沒有generalization relationship.我把Use Case的Definition 放在我的Blog中:http://tw.myblog.yahoo.com/weijenlu/photo?pid=10圖中... association.ps. 樓下的,教學相長,口氣別這樣吧。

    2006-03-14 23:53:48 補充:

    <uses>是UML 1.0時的產物,後來就改成<include>了。

    UML DISTILL 不是官方出版的,不過UML DISTLL是一本很好的書,當你要查某一個圖的時候很方便。但是他並不是教科書,所以要看它,你還是有點基礎較好。

    UML確實有方言喔,例如說SDL,Embbed UML對某些圖的解釋都不太一致。

    Source(s): 自己,UML Distill
    • Login to reply the answers
  • 1 decade ago

    > 4. Use case ovals之間不會有generalization的關係,因為每個oval都被視為獨立的功能,可以被獨立的開發,彼此有generalization 反而破壞的這個立意。但是Actor之間可以有generalization的關係,不過好像也不建議使用。

    -----------------------------------------------------------------

    鬼扯淡,Use case怎麼會沒有generalization的關係

    證據就在UML Distill 第三版中譯本, pp. 9-7 ~ 9-8明明就寫了generailized use case,甚至還有個圖咧

    Source(s): UML Distill第三版
    • Login to reply the answers
Still have questions? Get your answers by asking now.