UML 簡 介 _Use Case Diagram 資 訊 科 技 系 林 偉 川 UML 簡 介 2 1
UML UML 是 Unified Modeling Language 的 縮 寫, 中 文 翻 譯 為 統 一 塑 模 語 言 UML 統 合 了 物 件 導 向 方 法 論 之 各 派 不 同 的 方 法, 提 供 了 一 致 性 的 圖 形 語 言 做 為 開 發 系 統 的 溝 通 媒 介 UML 是 一 種 圖 形 語 言 3 圖 形 的 溝 通 工 具 對 於 系 統 的 使 用 者, 可 以 用 UML 來 表 達 系 統 的 功 能, 讓 使 用 者 對 於 系 統 所 能 從 事 的 工 作 有 一 個 高 層 次 的 了 解 對 於 系 統 分 析 師, 可 以 使 用 UML 來 做 為 討 論 系 統 架 構 的 工 具 對 於 軟 體 工 程 師, 可 以 利 用 UML 來 從 事 物 件 導 向 的 系 統 分 析 與 設 計, 塑 模 出 物 件 之 間 的 靜 態 以 及 動 態 關 係 系 統 的 管 理 者 也 可 以 藉 由 UML 來 表 達 硬 體 或 是 軟 體 元 件 的 佈 署 與 配 置 情 形 4 2
塑 模 (Modeling) Why? 那 麼 塑 模 (Modeling) 的 意 思 呢? 顧 名 思 義, 塑 模 就 是 塑 造 模 型 為 什 麼 要 塑 造 模 型? 應 該 都 曾 看 過 樣 品 屋, 可 能 曾 在 建 築 公 司 見 過, 或 者 是 從 電 視 上 看 到 為 什 麼 建 築 師 要 蓋 那 些 樣 品 屋? 它 又 不 能 住 人 同 樣 出 現 在 許 多 的 不 同 的 工 程 領 域 中 為 什 麼 飛 機 製 造 商 要 建 造 飛 機 的 模 型? 為 什 麼 造 橋 的 工 程 師 也 要 蓋 橋 的 模 型? 這 些 模 型 到 底 有 什 麼 做 用? 5 塑 模 的 原 因 工 程 師 建 造 模 型 來 驗 證 設 計 不 會 出 問 題 並 且, 如 果 設 計 真 的 出 了 問 題, 損 失 的 只 是 模 型 飛 機 製 造 商 藉 由 飛 機 的 模 型 以 及 風 動 的 測 試 來 看 看 設 計 出 來 的 飛 機 可 不 可 以 飛 ; 造 橋 的 工 程 師 可 以 利 用 模 型 來 測 試 橋 樑 可 以 承 受 的 強 風 或 是 重 量 而 不 至 於 斷 裂 建 築 師 利 用 樣 品 屋 可 以 知 道 到 底 有 沒 有 人 會 想 要 買 他 設 計 出 來 的 房 子 6 3
塑 模 的 好 處 建 構 模 型 比 建 構 實 物 來 得 較 容 易, 也 較 便 宜 模 型 可 以 用 來 模 擬 如 果 出 現 了 錯 誤, 也 不 至 於 造 成 重 大 的 損 失 使 用 模 型 可 以 幫 助 學 習 使 用 模 型 是 一 種 有 效 的 溝 通 方 式 使 用 模 型, 可 以 用 來 表 達 不 同 層 次 的 細 節 7 軟 體 塑 模 透 過 塑 模, 可 以 對 於 即 將 開 發 的 系 統 有 更 好 的 了 解 ; 利 用 塑 模, 可 以 幫 助 預 見 將 來 在 系 統 開 發 時 所 會 面 臨 到 的 問 題, 及 早 做 修 正 8 4
塑 模 可 以 達 成 的 四 個 目 標 Booch 等 在 書 中 指 出 了 塑 模 可 以 達 成 的 四 個 目 標 模 型 幫 助 視 覺 化 一 個 系 統 模 型 允 許 詳 述 一 個 系 統 的 結 構 或 是 行 為 模 型 給 出 了 指 引 建 構 系 統 的 一 個 樣 板 模 型 記 錄 所 做 的 決 定 9 4+1 觀 點 4+1 觀 點 最 早 是 由 Philippe Kruchten 於 1995 年 在 一 篇 論 文 中 所 提 出 所 謂 的 4+1 觀 點 是 用 來 做 為 塑 模 系 統 架 構 的 一 個 藍 圖 Booch 等 在 他 們 所 出 版 的 UML 使 用 手 冊 中 定 義 了 UML 中 的 4+1 觀 點 10 5
使 用 案 例 觀 點 (Use Case View) 從 系 統 外 部 的 使 用 者 角 度, 表 達 系 統 所 提 供 的 功 能 (4+1 中 的 1 指 的 是 使 用 案 例 觀 點 ) 11 設 計 觀 點 (Design View) 描 繪 出 系 統 的 靜 態 結 構 以 及 動 態 行 為, 以 做 為 系 統 所 應 提 供 之 功 能 的 解 答 因 此, 設 計 觀 點 圍 繞 在 類 別, 介 面 以 及 物 件 的 合 作 等 等 設 計 問 題 上 12 6
處 理 流 程 觀 點 (Process View) 描 繪 出 組 成 系 統 的 平 行 以 及 同 步 機 制 之 執 行 緒 (thread) 以 及 程 序 (process) 這 個 觀 點 強 調 系 統 的 功 能 延 展 性 等 非 功 能 性 需 求 13 實 作 觀 點 (Implementation View) 以 模 組 或 元 件 來 顯 示 設 計 觀 點 的 物 件 是 在 那 一 個 模 組 或 元 件 中 實 作 14 7
部 署 觀 點 (Deployment View) 描 繪 系 統 在 執 行 時, 各 個 組 成 元 件 的 實 際 佈 置 與 安 裝 強 調 系 統 執 行 環 境 的 硬 體 拓 樸 結 構 15 4+1 觀 點 對 於 4+1 觀 點 中 的 每 一 個 觀 點, 可 以 利 用 UML 所 提 供 的 九 種 圖 形 來 表 達 對 於 每 一 個 不 同 的 觀 點, 又 可 區 分 為 靜 態 及 動 態 面, 因 此, 這 九 種 UML 圖 形 在 各 觀 點 的 應 用 時 機 可 以 利 用 下 面 表 格 來 做 一 個 歸 納 整 理 16 8
靜 態 模 型 動 態 模 型 使 用 案 例 觀 點 使 用 案 例 圖 互 動 圖 狀 態 圖 活 動 圖 設 計 觀 點 類 別 圖 物 件 圖 互 動 圖 狀 態 圖 活 動 圖 處 理 流 程 觀 點 類 別 圖 物 件 圖 互 動 圖 狀 態 圖 活 動 圖 實 作 觀 點 元 件 圖 互 動 圖 狀 態 圖 活 動 圖 部 署 觀 點 部 屬 圖 互 動 圖 狀 態 圖 活 動 圖 17 4+1 觀 點 利 用 不 同 的 觀 點 來 看 系 統 是 了 解 系 統 架 構 相 當 有 效 的 方 式 而 利 用 RUP (Rational Unified Process) 所 提 出 之 各 種 不 同 觀 點, 基 本 上 可 以 將 系 統 以 下 列 的 方 式 來 看 之 功 能 觀 點 靜 態 觀 點 動 態 觀 點 部 署 觀 點 18 9
UML 工 具 Rational Rose 19 Visual Paradigm UML 工 具 20 10
UML 工 具 JUDE 21 22 11
使 用 案 例 圖 23 4+1 觀 點 利 用 不 同 的 觀 點 來 看 系 統 是 了 解 系 統 架 構 相 當 有 效 的 方 式 而 利 用 RUP 所 提 出 之 各 種 不 同 觀 點, 基 本 上 可 以 將 系 統 以 下 列 的 方 式 來 看 之 功 能 觀 點 靜 態 觀 點 動 態 觀 點 部 署 觀 點 24 12
使 用 案 例 圖 的 目 的 目 的 塑 模 出 系 統 應 該 做 什 麼 (what), 而 不 是 如 何 (how) 做 從 高 層 的 角 度 來 看 系 統 的 功 能 從 系 統 的 外 部 來 看 系 統 的 用 途 25 使 用 案 例 的 意 思 什 麼 是 使 用 案 例 (Use Case)? 從 字 意 上 來 說, 使 用 案 例 指 的 是 可 以 使 用 (Use) 系 統 來 處 理 的 個 案 (Case) 這 句 話 可 以 換 個 方 式 來 講 : 系 統 提 供 的 功 能 是 什 麼 (what)? 因 為 系 統 可 以 處 理 的 事 情 表 示 系 統 所 具 有 的 功 能 26 13
塑 模 系 統 的 功 能 使 用 案 例 圖 用 來 塑 模 系 統 的 功 能 系 統 的 用 途 使 用 案 例 圖 描 述 系 統 的 行 為 使 用 案 例 圖 的 繪 製 工 作 就 是 要 從 需 求 分 析 文 件 中 找 出 actor 使 用 案 例 以 及 使 用 案 例 之 間 的 關 係 27 符 號 介 紹 演 員 (actor) 演 員 這 個 字 是 從 英 文 直 接 翻 譯 過 來 在 UML 中, 與 系 統 互 動 的 使 用 者 稱 為 actor 把 actor 當 成 是 使 用 者 參 與 者 或 是 角 色 也 無 妨 在 不 同 的 討 論 環 境 下 會 相 互 交 替 使 用 不 同 的 意 思 一 般 來 說, 還 是 直 接 使 用 其 英 文 字 actor 28 14
Actor 代 表 角 色 Actor 代 表 的 是 一 個 角 色 它 不 一 定 是 代 表 真 正 的 人, 更 不 會 代 表 哪 一 個 特 定 的 人 它 要 表 達 的 是 一 個 與 系 統 互 動 的 角 色 在 戲 劇 的 腳 本 中, 一 個 角 色 可 以 由 不 同 的 人 來 擔 任 如 果 玩 過 角 色 扮 演 遊 戲, 就 應 該 體 會 出 它 所 代 表 的 意 思 了 凡 是 會 與 系 統 互 動 的 都 可 以 是 actor 一 個 使 用 案 例 可 以 跟 許 多 個 actor 產 生 互 動 一 個 使 用 案 例 不 會 單 獨 存 在 它 至 少 會 跟 一 個 actor 有 互 動 29 常 見 的 Actor 使 用 者 系 統 時 間 可 能 的 Actor 30 15
Actor: 時 間 (Time) 時 間 (Time) 有 些 時 候, 驅 動 系 統 執 行 某 項 功 能 的 原 因 是 因 為 時 間 到 了 例 如, 產 生 月 報 表 這 個 功 能 如 果 在 系 統 需 求 文 件 中 有 記 載 著 系 統 必 須 提 供 此 功 能, 並 且 要 求 這 個 事 件 是 時 間 一 到 便 會 驅 動 系 統 自 動 來 執 行, 那 麼 可 以 將 這 個 actor 命 名 為 : Time 31 Actor: 系 統 (System) 系 統 (System) 另 外, 在 某 些 情 況 下, 一 些 特 定 的 功 能 是 由 系 統 自 己 來 驅 動 例 如, 當 一 筆 訂 單 確 認 後, 系 統 必 須 主 動 寄 發 email 給 顧 客 這 個 事 件 對 於 這 個 事 件, 系 統 (system) 就 是 actor 32 16
角 色 的 找 法 對 於 角 色 的 找 法, 嘗 試 著 回 答 下 列 的 問 題 誰 要 使 用 到 此 系 統? 誰 提 供 這 些 資 訊? 誰 需 要 這 些 資 訊? 誰 可 以 改 變 這 些 資 訊? 誰 可 以 刪 除 這 些 資 訊? 再 次 強 調, 誰 不 一 定 是 代 表 哪 些 人 33 使 用 案 例 (Use Case) 使 用 案 例 基 本 的 介 紹 : 可 以 使 用 (Use) 系 統 來 處 理 的 個 案 (Case) 這 樣 的 解 釋 很 類 似 Larman 在 書 中 對 Use Case 的 定 義 : They are stories or cases of using a system 34 17
事 件 與 使 用 案 例 事 件 表 是 用 來 表 達 系 統 應 該 提 供 的 功 能 因 此, 使 用 案 例 與 事 件 會 有 對 應 上 的 關 係 如 果 需 求 文 件 是 以 事 件 表 的 方 式 寫 成, 可 以 直 接 就 將 事 件 名 稱 用 到 使 用 案 例 的 名 稱 上 35 使 用 案 例 的 命 名 使 用 案 例 的 命 名 應 該 從 使 用 者 的 觀 點 來 描 述 如 果 事 件 描 述 不 是 從 使 用 者 的 觀 點, 那 麼 不 應 該 直 接 拷 貝 事 件 的 名 稱 做 為 使 用 案 例 名 稱 並 不 是 任 何 的 動 作 都 是 使 用 案 例! 系 統 所 執 行 的 處 理 中 有 很 多 是 使 用 者 看 不 到 的 36 18
使 用 案 例 的 命 名 一 個 使 用 案 例 都 有 一 個 唯 一 的 名 稱, 並 且, 使 用 案 例 的 名 稱 均 以 動 詞 為 開 頭 這 是 從 英 文 的 語 法 結 構 來 講 如 果 是 用 中 文 來 描 述 使 用 案 例, 使 用 案 例 是 代 表 系 統 能 夠 執 行 的 功 能, 它 代 表 的 是 動 作 處 理, 因 為 使 用 案 例 描 述 系 統 的 行 為 37 UML 在 UML 中, 以 一 個 橢 圓 形 來 表 示 使 用 案 例 使 用 案 例 用 來 表 示 系 統 應 提 供 的 功 能 下 圖 顯 示 一 個 顧 客 (customer) 以 及 一 個 使 用 案 例 - 瀏 覽 目 錄 (Browse Catalog) 38 19
使 用 案 例 找 法 最 基 本 的 方 式 就 是 從 事 件 表 開 始 找 起 有 時 候, 事 件 的 描 述 太 細 了, 可 以 將 一 系 列 相 關 的 事 件 有 組 織 地 集 合 起 來 使 之 成 為 一 個 使 用 案 例 利 用 事 件 表, 應 該 可 以 開 始 找 出 許 多 的 使 用 案 例 39 使 用 案 例 找 法 可 能 也 要 考 慮 到, 有 其 他 的 系 統 需 要 跟 本 系 統 互 動? 假 設 說 在 公 司 中 的 郵 件 系 統 是 一 個 獨 立 的 資 訊 系 統, 而 所 要 建 立 的 系 統 需 要 寄 送 郵 件 來 通 知 顧 客 某 些 事 情, 那 麼 這 兩 個 系 統 就 會 有 互 動 40 20
描 述 的 範 圍 使 用 案 例 所 描 述 的 功 能 範 圍 可 大 可 小 至 於 有 沒 有 範 圍 的 限 制 則 沒 有 一 定 的 規 則 儘 量 用 actor 可 以 看 到 的 系 統 功 能 來 進 行 塑 模 所 討 論 的 actor 必 須 是 人, 也 就 是 使 用 者 41 描 述 的 例 子 處 理 訂 單 這 個 使 用 案 例 如 果 包 含 有 建 立 新 訂 單, 提 交 訂 單, 更 改 訂 單, 處 理 訂 單 這 個 使 用 案 例 就 描 述 的 太 大 了 更 改 訂 單 的 郵 遞 區 號 這 個 使 用 案 例 就 描 述 的 太 細 了 42 21
利 用 CRUD 來 捕 捉 Use Case CRUD 指 的 就 是 建 立 (Create) 存 取 (Retrieve) 更 新 (Update) 刪 除 (Delete) 這 四 個 動 作 這 是 從 資 料 庫 的 觀 點 來 看 一 個 資 訊 系 統 的 主 要 功 能 就 是 在 處 理 資 料 而 處 理 資 料 牽 涉 到 的 就 是 這 四 個 基 本 動 作 當 系 統 執 行 這 些 CRUD 的 動 作 時, 都 會 在 結 束 後, 給 使 用 者 一 些 有 意 義 的 回 應, 例 如 成 功 或 是 失 敗 的 訊 息 43 連 結 線 連 結 線 是 一 條 直 線, 它 用 來 連 結 使 用 者 及 系 統 執 行 的 功 能 這 條 連 結 線 表 示 某 個 角 色 的 演 員 啟 動 了 某 個 案 例 下 圖 顯 示 使 用 者 瀏 覽 產 品 目 錄 44 22
系 統 系 統 以 一 個 方 形 為 代 表 用 以 表 示 系 統 的 邊 界 當 開 發 的 系 統 並 不 與 其 他 系 統 有 互 動 時, 有 時 候 會 省 略 它 45 關 係 (Relationship) 在 使 用 案 例 圖 中, 除 了 包 含 有 演 員, 系 統, 使 用 案 例, 連 結 線 之 外, 使 用 案 例 與 使 用 案 例 之 間 也 可 以 有 關 係 的 存 在 使 用 案 例 的 關 係 中 最 常 用 到 兩 種 : 包 含 關 係 (include) 延 伸 關 係 (extend) 46 23
包 含 關 係 (include) <<include>>: 包 含 關 係 有 點 像 程 式 語 言 中 的 副 程 式 對 於 一 個 ATM 的 系 統, 提 款 為 一 個 典 型 的 使 用 案 例 提 款 這 個 使 用 案 例 一 定 會 包 含 有 更 新 餘 額 這 個 使 用 案 例 那 麼 可 以 將 它 們 繪 製 如 下 : 47 包 含 關 係 (include) 如 果 一 個 使 用 案 例 A 在 其 執 行 的 過 程 中 一 定 會 使 用 到 使 用 案 例 B, 則 案 例 A 包 含 案 例 B 這 個 關 係 強 調 的 是 百 分 之 一 百 的 肯 定 48 24
包 含 關 係 的 繪 製 方 法 包 含 關 係 的 表 法 為 畫 一 條 帶 有 箭 頭 的 虛 線, 從 案 例 A( 包 含 者 ) 連 到 案 例 B( 被 包 含 者 ), 並 且 在 線 上 要 標 記 出 <<include>> 在 UML 中, 帶 有 箭 頭 的 虛 線 表 示 相 依 的 關 係 所 以 上 圖 可 以 說 成 : 提 款 使 用 案 例 依 賴 於 更 新 帳 戶 餘 額 使 用 案 例 因 為 A 依 賴 B, 所 以 A 沒 有 B 不 行 所 以,A 一 定 會 用 到 B 49 包 含 關 係 的 好 處 利 用 包 含 的 關 係 就 不 需 要 在 不 同 的 地 方 重 複 描 述 同 一 個 使 用 案 例 當 發 現 許 多 個 使 用 案 例 都 共 用 一 些 相 同 的 功 能 時, 可 以 把 此 功 能 獨 立 出 來, 讓 它 自 成 一 個 案 例, 其 他 的 使 用 案 例 只 需 要 包 含 它 就 可 以 50 25
例 子 : 登 入 在 一 個 購 物 系 統 中, 管 理 者 可 以 執 行 訂 單 處 理 以 及 退 貨 處 理 這 兩 個 使 用 案 例 在 執 行 這 兩 個 使 用 案 例 前, 管 理 者 必 須 要 登 入 到 系 統 並 且 通 過 查 核 才 可 以 執 行 它 們 面 對 這 種 需 求 描 述, 可 以 把 它 繪 製 如 下 51 例 子 : 讀 碼 曾 經 到 圖 書 館 借 過 書 也 一 定 還 過 書 是 否 有 注 意 到 不 論 是 借 書 或 是 還 書, 圖 書 館 的 管 理 員 都 會 掃 描 書 上 的 條 碼 ( 假 設 圖 書 館 採 用 讀 碼 機 )? 如 果 要 為 某 個 圖 書 館 建 置 管 理 系 統 並 且 該 圖 書 館 也 將 採 用 讀 碼 機 的 話, 使 用 案 例 圖 中 應 該 會 有 : 52 26
關 係 繪 製 的 建 議 先 將 所 有 的 使 用 案 例 都 劃 上 再 討 論 案 例 與 案 例 的 關 係 在 得 出 上 面 的 使 用 案 例 圖 之 前, 初 步 使 用 案 例 圖 可 能 如 下, 也 就 是 每 個 案 例 都 是 獨 立 的 53 Stereotype include 這 個 字 的 前 後 有 加 上 << >> 在 UML 中, 它 稱 為 stereotype 主 要 的 作 用 是 用 來 擴 充 UML 的 詞 彙 (vocabulary), 提 供 不 修 改 UML 而 將 其 延 伸 的 功 能 54 27
Stereotype UML 適 用 的 領 域 很 廣 針 對 不 同 的 領 域 及 實 際 情 況, 使 用 者 可 以 自 行 定 義 詞 彙, 進 而 擴 充 UML 的 功 能 定 義 詞 彙 的 方 式 就 是 在 字 的 兩 旁 加 上 << 詞 彙 >> 所 以,stereotype 是 UML 所 提 供 的 一 種 擴 充 語 意 的 機 制 UML 本 身 有 針 對 一 些 情 形 定 義 一 些 stereotype <<include>> 以 及 <<extend>> 這 兩 個 stereotype 會 出 現 在 使 用 案 例 圖 中 55 Stereotype UML 還 提 供 了 標 記 值 (tagged value) 以 及 限 制 (constrain) 做 為 其 擴 充 機 制 56 28
延 伸 關 係 (extend) <<extend>>: 延 伸 關 係 在 某 些 情 況 或 是 條 件 下, 一 個 使 用 案 例 的 行 為 可 以 被 另 一 個 使 用 案 例 的 行 為 所 延 伸 某 些 情 況 或 是 條 件 稱 為 延 伸 點 (extension point) 延 伸 的 關 係 不 太 好 理 解 初 學 UML 的 人 很 容 易 把 延 伸 跟 包 含 混 淆 如 果 用 安 插 這 兩 個 字 來 取 代 延 伸, 可 能 會 比 較 容 易 去 了 解 意 義 57 簡 單 的 範 例 假 設 說 有 兩 個 使 用 案 例 使 用 案 例 A 以 及 使 用 案 例 B 使 用 案 例 B 延 伸 使 用 案 例 A 此 延 伸 關 係 的 表 示 方 法 為 從 使 用 案 例 B 畫 一 條 帶 有 箭 頭 的 虛 線 指 向 使 用 案 例 A 也 就 是 使 用 案 例 B 安 插 到 使 用 案 例 A 58 29
延 伸 點 假 設 在 需 求 描 述 中 有 : 使 用 者 可 以 下 訂 單 系 統 會 去 檢 查 庫 存 有 無 貨 品 若 是 沒 有 存 貨, 系 統 要 執 行 訂 貨 從 這 個 描 述 裡 頭 中, 看 出 了 兩 個 使 用 案 例, 一 個 是 下 訂 單, 另 一 個 是 訂 貨 而 敘 述 中 的 檢 查 庫 存 有 無 貨 品, 若 是 這 一 段 話 就 是 條 件, 它 就 是 所 謂 的 延 伸 點 59 延 伸 點 訂 貨 使 用 案 例 可 以 被 安 插 在 下 訂 單 使 用 案 例 中 訂 貨 使 用 案 例 延 伸 了 下 訂 單 使 用 案 例 的 功 能 訂 貨 使 用 案 例 可 以 單 獨 存 在 訂 貨 使 用 案 例 並 不 是 一 定 會 被 叫 用 只 有 當 某 些 條 件 滿 足 時, 才 會 被 叫 用 60 30
注 意 事 項 <<extend>> 跟 程 式 語 言 中 的 extends 完 全 沒 有 關 係 如 果 用 程 式 語 言 的 extends 來 想 使 用 案 例 的 extend, 那 就 大 錯 特 錯 了 61 一 般 化 關 係 (generalization) 使 用 案 例 圖 中 也 可 以 表 示 一 般 化 關 係, 使 用 案 例 的 一 般 化 關 係 與 物 件 導 向 語 言 的 一 般 化 關 係 是 類 似 的 概 念 62 31
例 子 : 一 個 訂 票 系 統 訂 票 是 一 個 很 容 易 捕 捉 的 使 用 案 例 如 果 要 細 分 訂 票 方 式 的 種 類, 那 麼 訂 票 的 方 式 可 能 是 打 電 話 來 訂 票, 或 者 是 直 接 在 網 路 上 訂 票 再 來 取 票 那 麼 可 以 利 用 下 列 的 方 式 來 表 達 63 << essential >> 這 個 使 用 案 例 圖 說 明 了 電 話 訂 票 以 及 網 路 訂 票 在 本 質 (essential) 上 都 是 訂 票 所 以 可 以 使 用 一 般 化 來 塑 模 這 些 案 例 們 並 且 在 父 使 用 案 例 加 上 <<essential>> 這 個 stereotype 來 表 明 這 個 一 般 化 的 關 係 64 32
情 節 65 使 用 案 例 使 用 案 例 圖 的 繪 製 其 實 很 簡 單 它 只 牽 涉 到 幾 個 非 常 基 本 的 UML 圖 形, 直 覺 上 好 像 是 畫 幾 個 人 型 圖 案 幾 個 橢 圓, 然 後 用 直 線 把 它 們 連 一 連, 使 用 案 例 就 完 成 了 當 然, 對 於 系 統 的 高 階 動 態 描 述 絕 不 是 繪 製 完 使 用 案 例 圖 就 結 束 了 66 33
Use Case 是 一 個 開 端 系 統 開 發 的 過 程 中, 使 用 案 例 圖 只 是 一 個 開 端 使 用 案 例 圖 將 會 驅 動 整 個 系 統 開 發 的 過 程 而 這 也 是 RUP 所 強 調 的 精 神 之 一 那 麼, 接 下 來 的 工 作 要 看 的 是 使 用 案 例 描 述 及 情 節 (scenario) 67 使 用 案 例 描 述 在 Booch 等 所 著 的 UML 使 用 手 冊 這 本 書 中, 給 出 了 下 面 的 使 用 案 例 定 義 : " a description of set of sequences of actions, including variants, that a system performs that yield an observable result of value to an actor." 翻 譯 成 中 文, 它 的 意 思 是 : 一 個 系 統 執 行 並 且 產 生 可 觀 察 且 對 使 用 者 有 價 值 的 結 果 之 一 序 列 動 作 的 描 述 68 34
使 用 案 例 是 動 作 的 描 述 使 用 案 例 是 動 作 的 描 述, 它 還 是 一 序 列 動 作 的 描 述 使 用 案 例 描 述 系 統 行 為 的 執 行 步 驟, 並 且 包 含 過 程 中 的 可 能 發 生 狀 況 使 用 案 例 的 執 行 應 該 產 生 對 於 使 用 者 有 價 值 的 結 果 使 用 案 例 不 是 只 有 一 個 橢 圓 形 就 沒 了! 它 只 表 示 了 故 事 的 開 端 69 系 統 行 為 的 描 述 對 於 系 統 行 為 的 描 述 可 以 用 一 般 敘 述 性 的 文 字 來 表 達 在 描 述 的 內 容 上, 一 方 面 採 用 使 用 者 的 觀 點, 也 就 是 使 用 者 從 外 面 看 得 到 的 系 統 行 為, 另 一 方 面 則 是 描 述 系 統 的 回 應 對 於 描 述, 可 能 會 有 一 個 疑 問, 那 就 是 描 述 的 範 圍 是 要 到 哪 個 程 度? 這 個 沒 有 一 定 的 答 案 不 要 在 描 述 中 談 論 設 計 細 節 或 是 特 定 的 實 作 方 法 70 35
描 述 行 為 的 例 子 案 例 描 述 中 可 能 會 出 現 系 統 顯 示 產 品 目 錄 給 使 用 者 並 沒 有 提 到 如 何 顯 示 顯 示 在 哪 裡 顯 示 的 格 式 儲 存 產 品 目 錄 的 資 料 庫 是 哪 種 資 料 庫 等 細 節 產 品 目 錄 一 定 是 存 放 在 某 個 資 料 庫 上 面 那 句 話 細 緻 化 成 系 統 首 先 取 出 產 品 目 錄 然 後, 系 統 將 產 品 目 錄 顯 示 給 使 用 者 如 何 取 出 從 哪 裡 取 出 等 等 細 節 都 不 是 目 前 關 心 的 重 點 只 知 道 要 去 取 出 來, 才 有 東 西 可 以 顯 示 給 使 用 者 看 71 描 述 使 用 案 例 描 述 使 用 案 例 時, 敘 述 內 容 應 該 紀 錄 以 下 幾 大 項 目 : 使 用 案 例 如 何 開 始 使 用 案 例 如 何 結 束 使 用 者 如 何 與 系 統 互 動 互 動 的 過 程 有 什 麼 樣 的 訊 息 交 換 互 動 行 為 的 正 常 過 程, 以 及 其 他 的 過 程 72 36
描 述 的 格 式 使 用 案 例 描 述 的 格 式 並 沒 有 一 定 的 規 格 採 用 表 格 的 方 式 此 表 格 分 為 左 右 兩 個 欄 位 左 欄 記 載 著 使 用 者 (actor) 的 請 求 動 作, 右 欄 記 載 著 系 統 的 回 應 Actor 動 作 系 統 回 應 73 使 用 者 訂 購 音 樂 CD 使 用 者 訂 購 音 樂 CD 這 個 使 用 案 例 來 了 解 如 何 進 行 使 用 案 例 描 述 假 設 顧 客 在 之 前 已 經 利 用 系 統 所 提 供 的 搜 尋 功 能 找 到 了 所 想 要 購 買 的 音 樂 CD 摘 要 系 統 顯 示 音 樂 CD 摘 要 的 網 頁 給 顧 客 接 下 來, 可 能 會 發 生 的 情 節 把 它 寫 成 如 下 : 74 37
Actor 動 作 系 統 回 應 1. TUCBW: 顧 客 選 擇 其 中 的 一 個 CD 以 查 看 更 多 的 資 訊 2. 系 統 提 供 顧 客 CD 的 詳 細 資 訊 3. 顧 客 把 CD 加 入 到 購 物 車 4. 系 統 顯 示 購 物 車 內 容 5. 顧 客 登 入 系 統 結 帳 6. 系 統 驗 證 顧 客 的 信 用 卡 資 料 7. 系 統 儲 存 訂 單 交 易 資 訊 8. 系 統 寄 發 訂 單 確 認 函 (email) 給 顧 客 9. TUCEW : 系 統 顯 示 訂 單 內 容 以 及 交 易 明 細 75 描 述 的 說 明 用 數 字 來 表 示 執 行 的 步 驟 可 以 發 覺 到 兩 個 奇 怪 的 英 文 出 現 在 第 1 步 驟 以 及 第 9 步 驟 步 驟 1 的 TUCBW 是 The Use Case Begin With 的 縮 寫 它 的 意 思 是 這 個 使 用 案 例 開 始 於 TUCEW 則 是 The Use Case End With 的 縮 寫, 它 的 意 思 是 這 個 使 用 案 例 結 束 於 76 38
情 節 (scenario) 討 論 使 用 案 例 時, 一 定 會 提 到 情 節 上 面 的 描 述 就 是 一 個 情 節 的 例 子 在 使 用 案 例 中, 所 謂 的 情 節 是 指 使 用 案 例 的 某 單 一 執 行 路 徑 為 什 麼 使 用 案 例 會 有 不 同 的 情 節? 因 為 使 用 案 例 並 不 是 只 有 單 一 的 執 行 路 徑 77 上 面 的 例 子 使 用 者 訂 購 音 樂 CD 這 個 使 用 案 例 描 述 中 的 步 驟 尤 其 是 第 6 步 驟 : 系 統 驗 證 顧 客 的 信 用 卡 資 料 78 39
上 面 的 例 子 驗 證 信 用 卡 時 可 能 有 兩 種 情 況 會 產 生 : 成 功 與 失 敗 成 功 的 時 候, 使 用 案 例 會 繼 續 第 7 個 步 驟 失 敗 時 上 面 的 表 格 中 並 沒 有 寫 出 所 以, 使 用 案 例 是 會 有 不 同 的 執 行 路 徑 上 面 的 表 格 所 描 述 的 路 徑 稱 為 正 常 路 徑 對 於 使 用 案 例 的 可 能 不 同 路 徑 可 以 用 另 一 個 表 格 來 表 示 有 時 候 也 可 以 只 是 文 字 敘 述 79 例 外 路 徑 : 信 用 卡 驗 證 失 敗 Actor 動 作 系 統 回 應 1. TUCBW: 顧 客 選 擇 其 中 的 一 個 CD 以 查 看 更 多 的 資 訊 3. 顧 客 把 CD 加 入 到 購 物 車 2. 系 統 提 供 顧 客 CD 的 詳 細 資 訊 4. 系 統 顯 示 購 物 車 內 容 5. 顧 客 登 入 系 統 結 帳 6. 系 統 驗 證 顧 客 的 信 用 卡 資 料 7. TUCEW : 驗 證 失 敗, 系 統 顯 示 錯 誤 訊 息 80 40
例 外 路 徑 : 信 用 卡 驗 證 失 敗 例 外 路 徑 : 信 用 卡 驗 證 失 敗 步 驟 6: 系 統 驗 證 顧 客 信 用 卡 資 料, 驗 證 失 敗 步 驟 7: 系 統 顯 示 錯 誤 訊 息 81 購 物 系 統 例 子 如 果 需 求 分 析 中 對 於 下 訂 單 使 用 案 例 的 描 述 為 : 使 用 者 藉 由 網 路 下 訂 單 系 統 接 到 了 訂 單, 會 去 檢 查 庫 存 有 無 貨 品 若 是 沒 有 存 貨, 系 統 要 執 行 訂 貨 那 麼 使 用 案 例 描 述 會 是 : 82 41
例 外 路 徑 : 缺 貨 ( 用 表 格 式 ) Actor 動 作 系 統 回 應 5. 顧 客 登 入 系 統 結 帳 6. 系 統 驗 證 顧 客 的 信 用 卡 資 料 7. 系 統 檢 查 貨 品 庫 存 量 8. 系 統 執 行 補 訂 貨 使 用 案 例 9. TUCEW : 系 統 顯 示 缺 貨 訊 息 83 使 用 案 例 文 件 對 於 每 一 個 使 用 案 例 應 該 有 一 份 相 對 應 之 使 用 案 例 說 明 文 件 從 使 用 案 例 描 述 所 建 議 的 事 項, 使 用 案 例 文 件 可 以 包 含 有 下 列 項 目 使 用 案 例 名 稱 案 例 簡 述 參 與 角 色 前 提 成 功 條 件 主 要 路 徑 其 他 或 是 例 外 路 徑 詞 彙 表 其 他 相 關 資 料 84 42