我在用例圖,Admin,SuperAdmin,User中有三個主角色。 現在SuperAdmin CRUD管理員,每個管理員都有不同的權限,3個不同的權限是精確的。 我的問題是我必須創建3種類型的管理員(所以2個更多的演員),每個管理員根據他的特權表示,或者只是創建一個單一的管理員連接到所有三個用例(3權限)?用例圖UML:管理員權限
我是UML的新用戶&這是我的第一個項目。
我在用例圖,Admin,SuperAdmin,User中有三個主角色。 現在SuperAdmin CRUD管理員,每個管理員都有不同的權限,3個不同的權限是精確的。 我的問題是我必須創建3種類型的管理員(所以2個更多的演員),每個管理員根據他的特權表示,或者只是創建一個單一的管理員連接到所有三個用例(3權限)?用例圖UML:管理員權限
我是UML的新用戶&這是我的第一個項目。
這取決於權限。
如果特權的使用情況 - 主題(系統正在創建)的特定行爲,暴露在用戶 - 那麼,如果兩個演員在准入此不同的使用情況下,它們應顯示爲不同的演員。例如,一個管理員可以註冊一個用戶,另一個則不能。爲他們製作不同的名字。
如果某個特權不是行爲 - 例如,一個管理員可以設置用戶0..5的優先級別,另一個可以將其設置在0..7範圍內,則可以將其顯示爲一個actor,特權可以顯示爲狀態。根據UML標準,狀態機可以包含在用例中。
如果權限僅僅是臨時性的,那麼一定要使用一個actor,因爲它是狀態。不要忘記,不同時刻的不同用戶往往有不同的選擇。但是這個事實是由狀態機來描述的,在用例圖的內部或外部。
通過UML定義,演員不代表特權。 UML說,當系統執行聲明的用例時,它與與用例相關的actor相互作用(或協作)。這意味着,如果actor與UseCase沒有關聯(直接或間接),則它無法訪問此功能。
演員可以專注其他演員,這意味着,專業演員usecases的執行過程中與系統進行交互,全髖關節置換更一般的演員有關聯等
不要定義角色纔剛剛來形容privilegies,這是不正確的做法。
很好的答案。您可能會考慮另一種解決方案:您可能會檢查用戶的特權級別,作爲用例的約束條件(前提條件)。 – chimp
@chimp謝謝。如果我們有幾個不同的特權 - 我們需要設置一個枚舉類並將其用作約束參數。允許在用例圖中使用類。但我不確定我們可以設置關聯約束類。我稍後再看。 – Gangnus