用例圖的概念
用例圖是描述用例、參與者以及它們之間關系的圖。
用例圖的作用
- 用例圖是從用戶的角度來描述對信息系統的需求,分析產品的功能和行為。
- 用例圖定義和描述了系統的外部可見行為,是分析、設計直至組裝測試的重要依據。
- 讓用戶參與前期的系統分析與設計。
參與者的概念(actor,執行者,活動者)
參與者是指在系統之外,但與系統直接交互的對象。先舉個例子,對參與者有個具體的概念,如圖:
參與者用人形符號表示,在人形符號下面標出參與者的角色名(不是人名)例如:
參與者的類型
- 人員
- 信息系統
- 設備
實例:在線選課管理系統

識別參與者的方法
人:
-
- 系統的主要客戶是誰?
- 誰借助於系統完成日常工作?
- 誰來維護管理系統,保證系統正常運行?
設備:系統控制的硬件有哪些?
信息系統:系統需要與哪些其他系統進行交互?
注意:與系統進行交互、從系統中獲取信息或向系統輸入信息的人或事物。
實例:飲料自動售貨機的參與者有哪些?
分析結果:
用例的概念
用例是用戶期望系統具備的功能,每一個用例說明一個系統提供給它的使用者的一種服務或功能。
用例的目標是要定義系統的一個行為,但並不顯示系統的內部結構。
用例的符號
用例名一般為動賓短語。上圖分別為Rational Rose和Visio兩種不同的畫法。
識別用例的方法
識別用例的策略:對於已經識別的參與者,通過考慮每個參與者是如何使用系統的,以及系統對事件的相應來識別用例。
可以從以下幾個角度來尋找和確定用例:
- 參與者需要從系統中獲取哪種功能?
- 參與者是否需要讀取、產生、刪除、修改或存儲系統中的某種信息?
- 系統的狀態改變時,是否通知參與者?
- 是否存在影響系統的外部事件?
- 系統需要什么樣的輸入與輸出?
實例:識別用例
Email客戶端(如Outlook express):A在北京發郵件給上海的B,系統提醒B您有“新郵件”,B收郵件。
參與者A執行的用例有哪些?
參與者B執行的用例有哪些?
描述用例
用例圖沒有描述系統行為的細節,所以需要以書面文檔的形式對用例進行描述。至少包括:
1、名稱
與用例圖中的名稱保持一致
2、標識符
用例的代碼或編號
3、基本操作流程
描述各項工作都正常進行時用例的工作方式。
4、可選操作流程
很少使用、異常情況、發出錯誤的情況。
如:
用例名稱 |
歸還圖書 |
標識符 |
UC0002 |
基本操作流程 |
1.圖書管理員輸入圖書信息 2.檢索借閱該圖書的借閱者的信息 3.刪除與該圖書相關的借閱記錄 |
可選操作流程 |
1a.圖書管理員發現圖書被損壞,進行損壞處罰 1b.輸入的圖書不存在時,進行確認 2a.借閱者有超期的借閱信息時,進行超期處理 |
總結
該文主要介紹了參與者與用例圖的概念及在Rose中的畫法,下篇將着重介紹用例圖中的各種關系。
若想詳細了解,推薦閱讀《UML基礎與Rose建模教程》 這本書,這是大學四年留下幾本書中的其中一本(其他的書......你懂得!),參考着課件復習一下。
特別感謝當時教我們UML的劉老師,UML是我c#的入門課,LZ大學沒.net這門課,純粹靠UML入門的。
真心感謝大學所有老師,您們教的東西幾乎都用到了,淚噴了......