[UML]UML系列——用例图Use Case
用例圖的概念
????? 用例圖是描述用例、參與者以及它們之間關系的圖。??
用例圖的作用
參與者的概念(actor,執行者,活動者)
?????? 參與者是指在系統之外,但與系統直接交互的對象。先舉個例子,對參與者有個具體的概念,如圖:
參與者用人形符號表示,在人形符號下面標出參與者的角色名(不是人名)例如:
參與者的類型
- 人員
- 信息系統
- 設備
實例:在線選課管理系統
?教師選擇本學期要教授的課程,每位教師最多只能上報4門課程。 ?教師選課結束后,教務管理人員進行協調和確認教師的課程,并創建本學期的課程目錄表,向學生公布。 ?學生填寫課程選修表,每個學生最多選修4門課程;每門選修課程的學生數最多為10人,最少為3人。人數達到10人時,停止學生登記注冊此門課程; ?學生選課結束后,系統自動取消人數少于三人的課程。 ?財務處的財務管理系統讀取最終的課程表,并辦理收費手續。 ?教師可查詢所教課程的學生花名冊(roster)。 ?教務管理人員維護學生、教師和課程的信息。 通過該實例可以分析出有哪些參與者?識別參與者的方法
?????? 人:
????? 設備:系統控制的硬件有哪些?
??????信息系統:系統需要與哪些其他系統進行交互?
????? 注意:與系統進行交互、從系統中獲取信息或向系統輸入信息的人或事物。
實例:飲料自動售貨機的參與者有哪些?
?
??????分析結果:
?
?用例的概念
??????用例是用戶期望系統具備的功能,每一個用例說明一個系統提供給它的使用者的一種服務或功能。
????? 用例的目標是要定義系統的一個行為,但并不顯示系統的內部結構。
用例的符號
???????
???????? 用例名一般為動賓短語。上圖分別為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入門的。
?????真心感謝大學所有老師,您們教的東西幾乎都用到了,淚噴了......
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的[UML]UML系列——用例图Use Case的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【SQL Server备份恢复】数据库恢
- 下一篇: JVM系列一:Java虚拟机与操作系统结