2010-05-15 46 views
23

我正在製作一個新系統的用例圖。我想知道什麼時候系統應該被包含在用例圖中的actor中?如何在用例圖中包含系統作爲參與者?

謝謝。

+0

此主題可能還有助於闡明何時將系統表示爲參與者:[UML用例圖:參考](http://msdn.microsoft.com/en-us/library/dd409432.aspx) – 2010-06-28 20:50:11

回答

15

正如另一個答案說,演員是正在開發的系統交互的系統或角色。如果系統在您正在開發的系統之外,並且它直接與您正在開發的系統進行交互,則應該將系統作爲參與者包含在用例中。

,因爲你需要定義你的系統,這意味着它的範圍和接口的邊界這是非常重要的。將系統作爲參與者包含在內,將明確說明正在開發的系統的要求,以便爲該參與者系統提供適當的界面。

+0

是數據庫系統是一個用例,如存儲數據或外部參與者,因爲它接收輸入或給系統輸出結果? – commonSenseCode 2015-10-01 23:27:10

+0

通常,數據庫被認爲是系統邊界內,即,它是黑盒,與演員(一個或多個),而不是一個演員本身交互的一部分。但也有例外。假設您設計了一個連接到現有數據庫的新系統,並保持原樣,那麼您可以將該數據庫視爲演員。但是,只有在閱讀您的用例的利益相關方相關時才這樣做。 – 2016-10-17 11:44:33

13

不同的人對如何在UML中正確模擬不同的理念(因爲UML是由標準化委員會,這並不奇怪)。

我使用參與者來捕捉每個可以與我設計的系統進行交互的「事物」(人類類型,系統類型),並發現它們對於在所有利益相關者之間建立共同理解新系統將如何與之交互。

我建議創建你知道會與系統進行交互,和微量元素,演員每個用例演員可以執行所有的演員。這樣,你就可以充分理解誰可以做什麼。

3

系統是從來沒有在一個用例模型中的演員。你必須考慮引發被調查系統執行過程的事情。這個系統本身是愚蠢的,無法觸發自己的行動。它只能由用戶或時間觸發。如果你認爲系統觸發了這個動作,那麼它可能就是演員的時間。例如,當收到電子消息時觸發一個進程運行。這個過程是完全自動化的,並且不是由用戶告訴系統消息已經到達,所以誰是演員?這不是系統,而是時間。你必須想象的是,有一個過程來尋找電子信息的到達,並且這是查看特定的時間間隔,例如每秒或每分鐘或每月一次等等。因此,觸發當收到電子消息時運行的過程是時間。

+0

您專注於觸發,GabrielŠčerbák專注於邊界和範圍。你們倆都指出了很好的指南。 – Alireza 2014-10-13 13:45:17

+0

是的。規範明確指出,你可以從OMG下載並檢查它。外部系統可以描述爲用例圖的參與者。而UML 2.5正式定義了一個沒有演員的用例是由它所包含的主題觸發的(例如一個預定作業)。 – BonanzaOne 2015-04-03 18:12:07

相關問題