用例模型是一種系統模型,旨在展示系統預期功能及其運行環境。它是客戶與開發人員之間的一種協議,貫穿整個系統開發過程。同一用例模型可用于需求、分析設計和測試等多個工作流程。
建模介紹
系統建模有多種方法,其中用例模型的作用在于向客戶或最終用戶提供易懂的系統行為描述。模型的設計應考慮到用戶的理解和接受度。
用途說明
用例模型的角色包括可能與系統互動的用戶和其他系統。角色幫助定義系統范圍并提供明確的系統用途說明。用例的編寫應基于角色的需求,以確保系統符合用戶期望。
如何演進
用例模型的發展過程中,主角和用例的確定是關鍵步驟。在詳細描述用例前,客戶應審查模型以確認所有必要的元素均已涵蓋。在迭代開發環境下,可以選擇一組用例進行詳細描述。完成的用例模型應經過審核,以確保開發人員和客戶對系統所需操作達成共識。
功能分解
為了避免用例模型退化而導致的功能分解,應注意避免出現過于簡單的用例和過多的用例數量。用例應該是完整的事件流,能為角色帶來實際價值。
非功能性需求
用例模型不僅涵蓋了功能性需求,也包含了非功能性需求,如可用性、可靠性和性能等方面的要求。這些需求可以通過用例內的特征或作為用例的特殊需求來獲取。
內容與方式的平衡
確定用例的適當細節水平是一項挑戰。用例應規定系統做什么,而非如何做。這取決于個人背景和對“什么”和“如何”的理解。
具體用例與抽象用例
具體用例是由角色啟動的完整事件流,而抽象用例本身不被實例化,但可在其他用例中包含、擴展或泛化。重要的是區分這兩類用例,因為角色只能看到和啟動具體用例。
構建用例模型
構建用例模型有三個主要原因:提高可理解性、分離公共行為和便于維護。但在構建模型之前,應先深入了解用例的行為,并為其建立詳細的事件流大綱。
關系類型
用例模型中有三種關系:包含關系、擴展關系和泛化關系。這些關系可用于分析用例組件,以便在其他用例中重用或作為特例或選項。
主角泛化關系
主角泛化關系可用于顯示角色間的特化情況。例如,在訂單管理系統中,互聯網客戶是從普通客戶派生出來的,兩者的關系可通過主角泛化關系表示。
包裝用例
為了更好地組織用例模型,可以將用例劃分為多個包,形成層級結構。用例模型可以組織成一個有層次的用例包結構,而角色或用例是該結構中的葉子節點。
用例與角色的關系
每個用例的執行都需要與一個或多個角色進行交互。用例實例總是通過角色的要求啟動。每個用例都需要與角色建立通信關聯關系,除非用例是抽象的,或者在泛化或包含關系中,父用例或基本用例已經說明了所有的角色通信。
調查說明
用例模型的調查說明應包括系統的主要用例、技術實現、系統邊界、環境概述和用例執行順序等內容。例如,關于回收機的用例模型的調查說明應包括三個角色和三個用例,重點突出主要用例“回收項”。
參考資料
- [1] https://zh.wikipedia.org/wiki/%E7%94%A8%E4%BE%8B%E6%A8%A1%E5%9E%8B
參考資料 >
軟件設計用例模型 V1.0.CSDN博客.2024-11-01
用例建模.豆丁網.2024-11-01
用例模型.螞蟻文庫.2024-11-01