一、概述用例圖是編寫需求說明時經(jīng)常用到的需求表達方式,,用于向開發(fā),、測試同事說明需求中用戶與系統(tǒng)功能單元之間的關(guān)系。但是很多剛接觸用例的新人,,在準備用例說明時并不清楚參與者與用例之間應該如何表達,,網(wǎng)上教程五花八門,但感覺部分用例圖不夠規(guī)范,,因此對用例圖及用例說明梳理總結(jié),。 考慮到用例圖的作圖規(guī)范,使用Visio的UML用例組件,,對用例中的各種關(guān)系進行說明,。 二、用例圖用例圖的結(jié)構(gòu)主要分為三個部分:參與者,、用例,、參與者與用例之間的關(guān)系,,具體說明如下: 2.1 參與者顧名思義,代表系統(tǒng)外部與系統(tǒng)發(fā)生交互的人或事物,;需要注意,,人指的是參與者與系統(tǒng)發(fā)生交互時的角色,不代指具體的人,。 事物指的是某一個應用程序或者特殊進程,;例如微信登錄,通過跳轉(zhuǎn)微信確認登錄信息,,微信對系統(tǒng)產(chǎn)生輸入時,,可以把微信作為參與者;而設定時間,,強制退出賬號時,,時間這一特殊進程對系統(tǒng)產(chǎn)生輸入,因此時間也可以作為參與者,。 2.2 用例2.2.1 用例的說明 用例是系統(tǒng)外部可見的一個功能單元,,是某一個參與者在系統(tǒng)中做某件事從開始到結(jié)束的一系列活動的集合,以及結(jié)束時應該返回的可觀測,、有意義的結(jié)果,,其中還包含可能的各種分支情況;具體用例在用例屬性中說明,。 2.2.2 用例的特征
角色與用例之間的關(guān)系主要包括關(guān)聯(lián),、歸納(泛化),、包含、拓展和依賴,。 2.3.1 關(guān)聯(lián)關(guān)系
圖1 參與者與用例之間的關(guān)聯(lián)關(guān)系 2.3.2 歸納(泛化)關(guān)系
圖2 用戶之間、用例之間的歸納關(guān)系 2.3.3 包含關(guān)系
圖3 用例與用例之間的包含關(guān)系 2.3.4 拓展關(guān)系
圖4 用例與用例之間的拓展關(guān)系 2.3.5 依賴關(guān)系
圖5 用例與用例之間的依賴關(guān)系 2.3.6 注釋 對于部分有特殊條件支撐的用例,,也可以添加注釋加以說明,例如VIP用戶與普通用戶登錄系統(tǒng)后,,可查看的菜單,、數(shù)據(jù)甚至對系統(tǒng)的操作都是不一樣的,此時可以在對應用例上加以注釋,,以強調(diào)此用例的特殊需求,。 圖6 對用例進行注釋 2.3.7 子系統(tǒng) 關(guān)系說明:用于強調(diào)某部分用例的強關(guān)聯(lián)性,例如門戶包含系統(tǒng)登錄,、首頁信息展示等,。 圖7 子系統(tǒng)與用例之間的關(guān)系 2.3.8 各關(guān)系的對比 為了對包含、拓展和歸納(泛化)關(guān)系更好的區(qū)分,,以圖7為例說明各種關(guān)系之間的差別: 1)用例的使用條件 包含用例與歸納(泛化)的子用例,,都沒有限定的使用條件;例如用戶登錄系統(tǒng)時,,直接選擇輸入賬號密碼登錄系統(tǒng),,或者通過微信登錄系統(tǒng);而忘記密碼是在用戶賬號登錄時遺忘密碼才會發(fā)生的用例,,是有特定條件下才會發(fā)生的用例,。 2)直接、間接提供服務 歸納(泛化)的子用例與拓展用例為參與者直接提供服務,,例如用戶登錄系統(tǒng)時,,會直接選擇賬號登錄或微信登錄,而賬號登錄或微信登錄直接為參與者提供登錄服務,;而包含關(guān)系的用例,,為參與者提供間接服務,例如賬號登錄時,需要輸入賬號,、輸入密碼等,,這些用例直接鼓舞于賬號登錄這個用例,間接為參與者提供登錄服務,。 3)其余說明
三、用例描述完成了用例圖,,實際上工作只完成了一半,,更重要的是對每個用例進行具體的說明;包括說明用例之間的關(guān)系,、參與者身份角色以及用例從開始至結(jié)束過程中的條件及分支情況等,;具體用例說明形式可參考下表: 用例的描述針對不同業(yè)務系統(tǒng),描述的重點可能會存在差異,,因此用例描述的重點在于清晰表達用例需求,,不必拘泥于表達形式。 最后不管用例圖與表格畫得多么酷炫,,最終目的也是為了團隊同事可以用最短的時間及精力完成對需求的理解,。因此扎實的文檔能力是產(chǎn)品的基礎要求,希望這份總結(jié)能給到對用例說明無從下手的童鞋一點幫助,。 如有錯誤,,希望各位指正;共勉,! 本文由 @龐龐 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,。 題圖來自Unsplash,,基于CC0協(xié)議 |
|