[英]UML Use-Case Diagram
我正在為以下場景繪制 UML 用例圖:
所以我的 2 個參與者是:這個外部系統生成的事件和接收通知的用戶。
現在,我不確定如何對我的初始列表中的其他項目進行建模,這些項目應該完全建模。
我應該有類似的東西:
我應該完全模擬丟棄事件嗎?
謝謝!
讓我們看看定義。
我將使用UML 規范18.1.3.1 節中的定義
Actor 對實體所扮演的角色類型進行建模,該實體與其關聯的用例的主題進行交互(例如,通過交換信號和數據)。 參與者可能代表人類用戶、外部硬件或其他系統所扮演的角色
它清楚地列出了誰/什么可以成為演員的詳細名單。 在您的情況下,它是一個與您的系統交互的External System
,因此它是您的 Actor。 另一個 Actor 自然是User
。
在這里,我將使用 Alistair Cockburn 的“編寫有效用例”一書(第 1.1 節)中的定義來支持自己。
用例捕獲系統利益相關者之間關於其行為的契約。 用例描述了系統在各種條件下的行為,因為它響應來自一個利益相關者(稱為主要參與者)的請求。 主要參與者發起與系統的交互以完成某個目標。 系統響應,保護所有利益相關者的利益。 根據提出的特定請求和請求周圍的條件,可以展開不同的行為序列或場景。 用例將這些不同的場景收集在一起。
在您的情況下,很明顯,一旦External System
(主要參與者)提供事件,處理就會由您的系統執行,直到通知User
(次要參與者)或事件被丟棄。 為了實現這一目標,似乎不需要延遲或進一步的交互,所以它顯然只是一個用例, Ingest event
。
通過通知User
結束的處理將是您的主要路徑,而事件被丟棄的路徑將是替代路徑甚至是負面路徑(取決於您如何看待它)。
如果您將丟棄視為替代路徑,則應將與User
關聯的多重性建模為0..1
以顯示User
並不總是得到通知。 如果您將此視為負面路徑,則不必這樣做,因為這些被視為“失敗路徑”,因此並非 UC 的所有任務都必須發生。 不過我會非常小心。 由於您希望丟棄是定期發生的事情,因此它似乎是一種替代途徑而不是消極途徑。
我的模型中的假設是您主動通知User
(例如向他發送推送、郵件或執行其他操作)。
盡管您只是創建了一個通知並且User
必須主動閱讀它,但也有可能。 在這種情況下, User
根本不是Ingest event
的Ingest event
。 相反,作為Ingest event
的結果,您會創建一個通知(在 UC 圖上不可見)。 此外, User
需要一個額外的用例來Read notifications
,其中他是主要(發起)Actor。
您的場景中只有一個用例: Ingest event
。
您的演員是: External System
(主要)和User
(次要,多重性0..1
)。
Event
不是演員。 Event
是一個事件。 如果您沒有特定名稱,則將其稱為External system
。Ingest event
可以作為 UC。Ingest event
。 丟棄它也是如此。 兩者都是用例內的活動。Inform User
--- User
。Inform User
活動中的一個路徑。一般來說:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.