一、用例圖的描述
用例(Use Case)是指系統的外部事物(活動者、裝置或外部系統)與系統互動,它表達了系統的功能,即系統所提供的服務。
用例圖是一種描述用例的可視化工具,用簡單的圖形元素表示出系統的活動者、用例及它們之間的關系,準确地表達了活動者與系統的互動情況和系統所能提供的服務。用例圖是從使用者角度而不是從開發者角度來描述對軟體産品的需求,分析産品所需的功能和動态行為。
二、活動者
确定活動者。活動者可以通過泛化關系定義。
1. 系統的主要客戶是誰
2. 誰從該系統擷取資訊
3. 誰向系統提供資訊
4. 誰來安裝、操作該系統
5. 誰來關閉該系統
6. 在預定的時刻,是否有時間自動發生
7. 誰使用或删除系統中的資訊
8. 系統從何處獲得資訊
三、用例描述
用例的描述其實是一個關于角色和系統如何互動的規格說明,該規格清晰明了,沒有二義性。一般情況下,用例描述包括 用例的目标、用例是怎樣被啟動的、用例和活動者間的消息流、用例的多種執行方案、用例怎樣才算完成并把值傳給了活動者。用例描述可以使用用例模闆來實作。
用例模闆
用例名稱 (用例名)
用例目标 (用例在系統中的目标)
級别 (概要任務)
活動者 (此用例的活動者)
狀态
前提條件 用例執行前系統應具有的狀态
置後條件 用例成功執行後系統應具備的狀态
主路徑 用例主路徑的名稱
可選路徑 用例的可選路徑
例外路徑 用例的例外路徑
四、用例間的關系
用例除了與其活動者發生關聯外,它們之間也存在一定的聯系,包括泛化關系、使用關系、包含關系、擴充關系等。
五、用例模組化
建立用例圖一般可按以下步驟進行:
1. 确定系統的邊界和範圍,明确系統外部的活動者和外部系統。
2. 确定每個活動者所期望的系統行為。
3. 把這些系統行為作為系統的用例。
4. 把公共的系統行為分解為新的用例,供其它用例引用。把變更的行為分解為擴充用例。
5. 編制每個用例的劇本。
6. 繪制用例圖。
7. 區分主業務流和異常情況的事件流。可以把表達異常情況的事件流的用例畫成一個單獨的子用例圖。
8. 精化用例圖。解決用例圖的重複與沖突問題,簡化用例中的對話序列。高層次的用例可以分解為若幹下屬子系統中的用例。
六、例子
在圖書管理系統中,從業人員可以維護(增加、删除、更新)讀者資訊,可以維護書籍資訊,讀者可以通過圖書管理者請求借書、還書和續借,讀者可以登入并查詢書籍和借閱資訊。給出用例圖。
參考文獻:
[1] 唐學忠等著. UML面向對象分析與模組化. 電子工業出版社. 2008
[2] 蔡敏等著. UML基礎與ROSE模組化教程. 人民郵電出版社. 2006
[3] Carlo Ghezzi等著. 施平安譯. 軟體工程基礎(第2版) 清華大學出版社. 2003
[4] 參考網站: