2012-07-12 83 views
0

我正在研究一個大學項目。我有以下問題。這是一個發佈系統的用例圖。正如你所看到的那樣,它有一個混亂。我不知道如何以及在哪裏使用擴展包含關係。還有如何使用繼承UCs。所有的報告是否應該從主要的報告 - 統一通信?我們在哪裏可以包含擴展關係? enter image description here用例圖混淆:泛化和依賴關係

回答

3

警告

「使用案例」 通常以動詞開始,指示動作。

快速簡答

也許,你可能要堅持到標準的「用例」。

「繼承」&「包含」可能有幫助,但是,也可能會讓您更加困惑。

龍鏜擴展回答

1.繼承

您的發佈系統的幾個用戶。其中一些用戶由不包含的通用「用戶」代表,需要登錄到系統中。

例如,您可能有一個通用的「管理員」,有權執行一些操作,而您的「經理」演員&從您那裏繼承。

o 
-+- 
| 
/\ 
"Administrator" 
^   ^
|    | 
| "inherits" | "inherits" 
|    | 
o    o 
-+-   -+- 
|    | 
/\   /\ 
"Manager" "Responsible" 

這些參與者共享幾個用例,但並沒有完全相同的用例。

「繼承」更關注「演員」(「人」),而不是「用例」(「bubles」)。

2.擴展/包括

中的「擴展/包含」更集中在「使用情況」,而不是「演員」。

這種情況需要幾個可能獨立的「使用案例」,而其他組成的「使用案例」需要獨立的案例。

您可能有「與作者簽訂合同」用例。該使用案例包括更多的使用案例:

2.1「與作者簽訂合同」,即其爲手動操作,而不是電腦操作。

("Make a Contract with the Author") --includes--> ("Deal the Contract with the Author") 

2.2「登錄系統」,即在系統中的模塊,可以包括在其他使用案例,並通過自身及其上獨立。

("Make a Contract with the Author") --includes--> ("Login into the System") 

2.3「註冊與作者的合同」,即在系統中的模塊,需要「登錄到系統」的使用情況,如果合同數據被捕獲。

("Make a Contract with the Author") --includes--> ("Register the Contract with the Author") 

摘要

我學到的第一U.M.L.不包括「繼承」或「擴展/包含」的「用例」圖的版本。後來,我發現了,如何使用它們。

作爲一項家庭作業,您的項目是否需要實施它們?

+0

謝謝親愛的「umlcat」爲你的偉大答案,是的,你的回答將幫助我在這種情況下。最好的祝福。 – 2012-07-12 22:23:05

+0

@umlcat,** 2.2 **,不應該* <> *在另一個方向?我的意思是' - 包括 - >'... – MikO 2013-05-13 14:04:06

+0

@MikO你是對的,對不起。我也傾向於向後改變協會。 – umlcat 2014-10-18 16:28:37