2014-12-07 62 views
1

我想知道是否應該將關聯添加到擴展的用例中。用例圖 - 擴展並關聯到擴展的UC

在我的情況下,演員必須「穿過」基礎UC以獲得擴展名。他無法直接訪問它。

它應該是:

like this

like that

總而言之,擴展UC也是這個演員的使用​​情況,所以應該被標記爲連接,以這個演員還有足夠的延伸嗎?

回答

2

UseCase定義說,在執行UseCase時,系統通過關聯與連接到UseCase的外部實體(actor)進行交互。在擴展關係的情況下,可以獨立於擴展的UseCase(示例中的顯示列表)執行擴展用例(在您的示例中添加新)。如果你的actor在Add List UseCase的執行過程中與系統交互,那麼actor和usecase之間的關聯是必須的。擴展(不像包含)不一定總是被應用,通常定義一些什麼時候使用它的條件。

結論如下:如果Actor在執行Add New UseCase期間與系統交互,則應連接到Add New UseCase。你提到Actor訪問UseCase(直接或間接無關緊要),所以第二個圖是正確的。

我建議您閱讀UML的規範,部分UseCases。你會在那裏找到你的問題的確切答案。 UML Webside

+0

看來您已經閱讀過UML規範。你能更清楚地回答OP的問題嗎?通過顯示「正確」的圖片? – xmojmr 2014-12-07 11:10:01

+1

好的,第二個。看到我的答案。 – Vladimir 2014-12-07 12:02:54

+0

我不認爲Add New可以獨立執行。如果不是,演員不應該有直接的關聯,這是一種顯示Add New的唯一入口點是通過show list的方式。 – BobRodes 2014-12-09 17:43:28