簡體   English   中英

UML:如何減少用戶帳戶系統的用例以避免冗余和不必要的用例?

[英]UML: How to reduce use cases for user accounts system to avoid redundancy and unnecessary use cases?

我需要幫助來減少我的子系統的用例。

這個子系統是關於管理具有以下要求的用戶、管理員和超級用戶的多個帳戶:

系統應管理用戶帳戶,其中有:

  • 用戶:可以創建、讀取、更新、刪除和阻止自己的帳戶,也可以登錄。

    創建需要email認證。 登錄應該要求兩步驗證(可選)

  • 管理員:可以作為用戶管理所有用戶帳戶(CRUD、阻止和登錄)。 也只讀並登錄自己的帳戶。

    登錄需要兩步驗證。

  • 超級用戶:可以管理用戶和管理員帳戶(CRUD、阻止、登錄)以及他們自己的超級用戶帳戶。

    創建管理員需要 email 和電話授權。
    登錄與管理員相同,需要兩步驗證。
    可以將超級用戶訪問權限委托給另一個管理員。

系統的流程需要用用例圖和用例描述清楚(沒有其他類型的圖)

設計這些用例的正確方法是什么,以避免在用例描述上冗余並在圖表上制作不必要的用例?

例如,在這個系統上,用戶、管理員和超級用戶各有一個登錄用例。 用戶登錄要求兩步驗證(可選),而在管理員和超級用戶上必須始終需要兩步驗證。

SuperUser 繼承自 Admin,Admin 繼承自 User。

我正在尋找的最終目標是(例如)將這 3 個登錄用例變成一個僅連接到用戶參與者的用例,以便 Admin 和 SuperUser 繼承用例但是,由於每個參與者的行為都不同,我想要放置一個登錄用例描述,它根據觸發登錄的參與者類型更改行為。 因此,我沒有 3 個登錄用例(每個演員一個),而是只有 1 個用例和 1 個適用於所有人的描述。

您似乎在尋找參數化用例,這是 Alistair Cockburn 為文本用例推廣的概念。

典型的例子是 CRUD,當重復使用相同的用例描述時,每個操作都有輕微的變化。 該方法是擁有一個參數化的用例,其中參數是操作(創建、讀取、更新、刪除)。

據我所知,UML 表示法中不存在相同的概念。 因此,您通常會有一個用例Manage XYZ並在敘述中描述詳細信息,或者四個用例Create XYZUpdate XYZDelete XYZRead XYZ 我個人更喜歡第一種,這樣用例就可以傳達全局。

除了為不同的參與者增加相同的用例,您還可以使用更少的用例並使用約束以純文本解釋適用於不同用例的不同參與者類別的特殊規則。

最后,我想補充一點,用例並不意味着 model 流程和事件序列。 用例旨在識別將轉化為不同類型交互的不同目標。 在這方面,我想知道區分Manage own accountManage other user account是否有意義,因為這對應於非常不同的目標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM