用例圖的概念
????? 用例圖是描述用例、參與者以及它們之間關系的圖。??
用例圖的作用
- 用例圖是從用戶的角度來描述對信息系統的需求,分析產品的功能和行為。
- 用例圖定義和描述了系統的外部可見行為,是分析、設計直至組裝測試的重要依據。
- 讓用戶參與前期的系統分析與設計。
參與者的概念(actor,執行者,活動者)
?????? 參與者是指在系統之外,但與系統直接交互的對象。先舉個例子,對參與者有個具體的概念,如圖:
參與者用 人形符號 表示,在人形符號下面標出參與者的 角色名 (不是人名)例如:
參與者的類型
- 人員
- 信息系統
- 設備
實例:在線選課管理系統
![[UML]UML系列——用例圖Use Case](http://img.it610.com/image/product/e58ff827d62043d1929ca60eb41e1182.png)
識別參與者的方法
?????? 人:
-
- 系統的主要客戶是誰?
- 誰借助于系統完成日常工作?
- 誰來維護管理系統,保證系統正常運行?
????? 設備:系統控制的硬件有哪些?
??????信息系統:系統需要與哪些其他系統進行交互?
????? 注意:與系統進行交互、從系統中獲取信息或向系統輸入信息的人或事物。
實例:飲料自動售貨機的參與者有哪些?
?
??????分析結果:
?
?用例的概念
??????用例是用戶期望系統具備的功能,每一個用例說明一個系統提供給它的使用者的一種服務或功能。
????? 用例的目標是要定義系統的一個行為,但并不顯示系統的內部結構。
用例的符號
???????
???????? 用例名一般為動賓短語。上圖分別為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建模教程》 這本書,這是大學四年留下幾本書中的其中一本(其他的書......你懂得?。瑓⒖贾n件復習一下。
?????特別感謝當時教我們UML的劉老師,UML是我c#的入門課,LZ大學沒.net這門課,純粹靠UML入門的。
?????真心感謝大學所有老師,您們教的東西幾乎都用到了,淚噴了......
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
