2017-05-29 21 views
0

如果一個actor與用例A進行通信,他是否會自動與擴展用例B進行通信,或者是否必須在actor和用例B之間繪製第二個關聯關係 - 如果我的意圖是讓演員同時執行A和B?如果,而不是< < extends >>,A和B之間的關聯是< < includes >>?行爲者和用例A之間的界限是否也暗示該角色可以執行包含的用例(B)?或者我必須從演員中抽出第二行來使用情況b?UML中的參與者和擴展用例


編輯:恐怕我沒有讓自己清楚。我的疑問不是關於的語義,包括延伸或使用它們時,而是它們在圖表上的正確表示。如果我被要求繪製ATM用例圖,那麼我可能會想出與@RedBeard相同的圖。然而,在網站[http://elearning.uml.ac.at/]中,他們斷言,根據它們的UML2標準,爲了使圖完整,還應該再繪製兩個關聯,將關聯者直接連接到包含和擴展用例,即一行從演員到Card Identification,還有一個從演員到Online Help,否則這些用例永遠不會執行。由於我在UML Super Strucure書中找不到這種解釋,因此我決定在這裏發佈這個問題。

回答

0

我添加了一個來自UML2.5規範的示例(或多或少)。正如你可以看到,當一個「客戶」想「退出」他必須「卡Identication」因爲你有一個包括從「退出」到「卡Identication」這樣一個「卡身份始終包含在當一個」客戶「要」撤回「。

在當「客戶」想「執行ATM交易」的同時(可以是「撤櫃」,一個「轉移」,或「存款」) ,他可能或不可以選擇一個「在線幫助」。 Thsi是由於擴展之間鏈接「執行ATM交易」和「在線幫助」這意味着「執行ATM交易可以通過擴展「在線幫助」。

所以,如果你想的事實,演員需要做的總是A和B模型的包括鏈接會工作。一個包括鏈接模型a 可能擴展它不是強制性的。希望是明確的。

enter image description here

+0

感謝您的回答,紅鬍子。請參閱我對原始問題的編輯。 – user160902

+0

對我來說,你不需要更多的關聯...... 我可以理解這些額外的關聯,但我不是這裏的UML想法...... –