我有一個父用例。我不想讓用戶使用父用例。我只希望用戶有權訪問兒童用例。把它看作Java中的抽象類。你永遠不能實例化一個抽象類。用例圖允許這樣的行爲嗎?用例圖 - 擴展一個用例,但從不使用父用例?
回答
是的! (也是最後一個,因爲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。
您的術語有點偏離,但總的來說答案是肯定的。
沒有「父母」或「孩子」用例這樣的術語。通常,用例是用戶觸發的行爲。您似乎需要的是基於和包含的用例之間的include
關係。它被用來提取通用功能塊,以便被不同的用例重用。例如:
看到這裏一些更多的信息:What's is the difference between include and extend in use case diagram?
搞笑。任何downvoters關心評論? – SomeWittyUsername 2013-03-26 06:24:33
是的,有可能是「父母」和「孩子」的用例。用於建模此關係的連接器稱爲generalization
。看到這裏:Use case generalization versus extension一個包括圖的例子也在那裏給出。
請注意:如果你對一個用例進行泛化,那麼這是另一個(!)而不是<<extend>>
之一。
您可以在文本用例描述中添加關於調用約束的註釋。
@ observer的答案几乎是完美的(我已經+1了:) :),除非他沒有完全回答你的問題。
你可能在你的情況做的是如下:
Actor0
將設法Pay bill
,無論是與Pay with credit card
或Pay with PayPal
。- 另一方面,
Actor1
將只能夠Pay with credit card
。
這意味着:
- 使用泛化,以你的「父母」的用例和它的「孩子」之間的relationshipt建模。
- 讓您想要「訪問」只有一個孩子的演員,只與該用例相關聯。
- 1. 用例圖:用例的幾個角色,只有一些用戶可以訪問擴展用例
- 2. 用例泛化與擴展
- 3. 用例圖包含並擴展
- 4. 擴展ec2保留實例的使用
- 5. 擴展與基本使用案例
- 6. 使用Opscode廚師擴展EC2實例
- 7. 在twgl.js中使用實例化擴展
- 8. 用例圖 - 擴展並關聯到擴展的UC
- 9. Matplotlib:垂直擴展圖例
- 10. 包含或擴展用例關係?
- 11. 包括和擴展的用例模型
- 12. 用原型擴展基礎實例?
- 13. 擴展和包含在用例中
- 14. 擴展Junit4或測試用例?
- 15. 需要示例用例圖
- 16. 用例圖中擴展關係的用法是否正確?
- 17. 在另一個案例中使用案例使用SQL時
- 18. 用例圖,從我的用例圖創建類圖
- 19. 模擬實例報告的一個實例:使用單例?
- 20. 擴展單例類?
- 21. Java擴展示例
- 22. 如何在調用另一個PowerShell實例時擴展變量?
- 23. 我想用一個UIPickerView擴展CoreDataBooks示例
- 24. 我可以多次擴展一個用例嗎?
- 25. UML擴展或不在兩個用例之間
- 26. 用例圖
- 27. 用例圖UML
- 28. 用例圖
- 29. VB.NET:不可能在System.Object實例上使用擴展方法
- 30. SAPUI5 JSONModel擴展爲單例實例
請擴大您的答案;你是否有源碼/參考資料,或者有關如何執行提問者想要的一些具體指導? – kwah 2013-02-21 15:34:04
很明顯,您不知道用例圖元素的semanthics,或者您不明白他的問題。 @observer有更好的答案。 – gustavogbc 2013-06-14 19:37:22