2013-02-18 49 views

回答

-2

是的! (也是最後一個,因爲UseCase是Classifier的一個特化)。

引用統一建模語言(OMG UML),上部結構:

推廣

  • 用例(從UseCases)專業BehavioredClassifier(從BasicBehaviors,通信)。

  • BehavioredClassifier專門分類(從內核,依賴關係,PowerTypes,接口)。

屬性分類具有以下屬性:

  • isAbstract:布爾(如果爲true,分類並沒有提供完整的申報,可通常不能被實例化) 。

  • isFinalSpecialization:布爾值(如果爲true,分類器不能通過泛化來專門化)。

約束:分類可能只專注一個有效的類型的分類。

self.parents()->forAll(c | self.maySpecializeType(c)) 

附加操作

查詢maySpecializeType()確定該分類是否可能具有爲指定的類型的分類器泛化關係。默認情況下,分類器可能專門化相同或更一般類型的分類器。

Classifier::maySpecializeType(c : Classifier) : Boolean; 
maySpecializeType = self.oclIsKindOf(c.oclType) 

而且最後但並非最不重要的,即使它說,maySpecializeType()「旨在通過具有不同專長的約束分類重新定義」 ......還有的用例BehavioredClassifier沒有maySpecializeType()重新定義

來源:統一建模語言(OMG UML),上層結構,版本2.4.1。

+2

請擴大您的答案;你是否有源碼/參考資料,或者有關如何執行提問者想要的一些具體指導? – kwah 2013-02-21 15:34:04

+0

很明顯,您不知道用例圖元素的semanthics,或者您不明白他的問題。 @observer有更好的答案。 – gustavogbc 2013-06-14 19:37:22

-2

您的術語有點偏離,但總的來說答案是肯定的。

沒有「父母」或「孩子」用例這樣的術語。通常,用例是用戶觸發的行爲。您似乎需要的是基於和包含的用例之間的include關係。它被用來提取通用功能塊,以便被不同的用例重用。例如:Use-case include relationship example

看到這裏一些更多的信息:What's is the difference between include and extend in use case diagram?

+1

搞笑。任何downvoters關心評論? – SomeWittyUsername 2013-03-26 06:24:33

1

是的,有可能是「父母」和「孩子」的用例。用於建模此關係的連接器稱爲generalization。看到這裏:Use case generalization versus extension一個包括圖的例子也在那裏給出。

請注意:如果你對一個用例進行泛化,那麼這是另一個(!)而不是<<extend>>之一。

您可以在文本用例描述中添加關於調用約束的註釋。

0

@ observer的答案几乎是完美的(我已經+1了:) :),除非他沒有完全回答你的問題。

你可能在你的情況做的是如下:

enter image description here

  • Actor0將設法Pay bill,無論是與Pay with credit cardPay with PayPal
  • 另一方面,Actor1將只能夠Pay with credit card

這意味着:

  1. 使用泛化,以你的「父母」的用例和它的「孩子」之間的relationshipt建模。
  2. 讓您想要「訪問」只有一個孩子的演員,只與該用例相關聯。