軟件體系結(jié)構(gòu)SoftwareArchitectu
《軟件體系結(jié)構(gòu)SoftwareArchitectu》由會員分享,可在線閱讀,更多相關(guān)《軟件體系結(jié)構(gòu)SoftwareArchitectu(137頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、軟 件 體 系 結(jié) 構(gòu)(Software Architecture)講 義 13: 統(tǒng) 一 軟 件 開 發(fā) 過 程 ( RUP) 一、引言 為屏蔽計算機硬件的異構(gòu)性,發(fā)展了操作系統(tǒng).NET/COMWeb ServicesJ2EE/EJB操 作 系 統(tǒng) UNIX WindowsLinux C/C+語 言Java語 言支 撐 軟 件 中 間 件為屏蔽操作系統(tǒng)和編程語言的異構(gòu)性,發(fā)展了支撐軟件和中間件為了屏蔽中間件之間的異構(gòu)性,出現(xiàn)了Web技術(shù)。Fortran語 言為了禰補應(yīng)用軟件與現(xiàn)實計算環(huán)境之間的距離應(yīng) 用 系 統(tǒng) 網(wǎng) 絡(luò) 層 綜 觀 軟 件 技 術(shù) 的 發(fā) 展 應(yīng) 用 系 統(tǒng) 概 念 不 同
2、, 邏 輯 不 同 。解 決 問 題 的 思 維 邏 輯不 同 。 -“距 離 ”語 言網(wǎng) 絡(luò) 異 構(gòu)VB、 VC -程 序 設(shè) 計 環(huán) 境中 間 件 技 術(shù) 與 產(chǎn) 品面 向 領(lǐng) 域 的 軟件 體 系 結(jié) 構(gòu) 應(yīng) 用 框 架領(lǐng) 域 軟 件 生 產(chǎn) 線系 統(tǒng) 建 模 運 行 平 臺開 發(fā) 平 臺軟 件 工 程 學(xué) 科 所 要 解 決 的 問 題 軟 件 開 發(fā) 的 本 質(zhì) 可 概 括 為 : 第 一 點 : 問 題 空 間 的 概 念 與 解 空 間 的 模 型 化 概 念 之 間 的 映 射 例 如 : 對 象 = F( 張 山 ) ( 模 型 化 概 念 ) ( 問 題 空 間 的 概 念
3、 ) 其 中 , 對 應(yīng) 的 過 程 : 需 求 分 析 使 用 的 技 術(shù) : 面 向 對 象 使 用 的 原 理 : 數(shù) 據(jù) 抽 象 目 的 : 作 為 計 算 的 客 體 。 第 二 點 : 問 題 空 間 的 處 理 邏 輯 與 解 空 間 處 理 邏 輯 之 間 的 映 射 例 如 1: 加 工 1( 及 相 關(guān) 的 數(shù) 據(jù) 流 ) =F( 計 算 學(xué) 生 成 績 ) 其 中 : 使 用 的 方 法 : 結(jié) 構(gòu) 化 方 法 ; 對 應(yīng) 的 過 程 : 需 求 分 析 使 用 的 原 理 : 過 程 抽 象 加 工 1計 算 學(xué) 生 平 均 成 績科 目 +年 級 /班學(xué) 生 成 績
4、文 件 學(xué) 生 平 均 成 績規(guī) 約 后 的 處 理 邏 輯 例 如 2: 交 互 圖 1=H( 計 算 學(xué) 生 成 績 ) 其 中 : 對 應(yīng) 的 過 程 : 需 求 分 析 使 用 的 方 法 : 面 向 對 象 使 用 的 原 理 : 行 為 結(jié) 構(gòu) 抽 象 ( 簡 稱 行 為 抽 象 ) 作 用 : 作 為 計 算 規(guī) 則: 教 務(wù) 員 : 教 員遞 交 A科 學(xué) 生 成 績 表A科 學(xué) 生 成 績 表: 教 學(xué) 主 任 求 A科 平 均A科 平 均 由 于 以 上 兩 個 映 射 是 由 “ 人 ” 完 成 的 , 因 此 就 軟 件 開 發(fā) 而 言 , 需 要 解 決 兩 個 方
5、面 的 問 題 : 1: 技 術(shù) 2: 管 理 進 一 步 說 , 技 術(shù) 問 題 主 要 是 指 軟 件 開 發(fā) 過 程 通 常 需要 遵 循 的 途 徑 和 方 向 其 中 , 過 程 方 向 確 定 用 于 創(chuàng) 建 問 題 模 型 和 設(shè) 計 解 的 特 定 的 抽 象 層 次 例 如 , 需 求 、 設(shè) 計 、 實 現(xiàn) 、 部 署 等 問 題 空 間需 求 -一 個 抽 象 層設(shè) 計 -一 個 抽 象 層實 現(xiàn) -一 個 抽 象 層部 署 -一 個 抽 象 層特 定 的 notation特 定 的 notation特 定 的 notation特 定 的 notation驗證 /確認 問
6、 題 空 間需 求 -一 個 抽 象 層設(shè) 計 -一 個 抽 象 層實 現(xiàn) -一 個 抽 象 層部 署 -一 個 抽 象 層特 定 的 notation特 定 的 notation特 定 的 notation特 定 的 notation驗證 /確認 它 們體 現(xiàn)了 我們 所說 的一 些軟 件設(shè) 計原 理 過 程 途 徑 實 現(xiàn) 不 同 抽 象 層 次 的 映 射 ? ? ? ? ? 典 型 的 途 徑 有 : 結(jié) 構(gòu) 化 方 法 面 向 數(shù) 據(jù) 結(jié) 構(gòu) 方 法 面 向 對 象 方 法 以 及 維 也 納 開 發(fā) 方 法 ( VDM) 等 注 : 主 要 講 解 結(jié) 構(gòu) 化 方 法 和 面 向
7、對 象 方 法 。 RUP的 本 質(zhì) 及 特 點 (1) 是 一 種 迭 代 的 、 以 架 構(gòu) 為 中 心 的 、 用 例 驅(qū) 動 的 軟 件 開 發(fā)方 法 (2) 是 一 種 具 有 明 確 定 義 和 結(jié) 構(gòu) 的 軟 件 工 程 過 程 , 包 括 規(guī) 定了 人 員 的 職 責(zé) 、 如 何 完 成 各 項 工 作 以 及 何 時 完 成 各 項 工作 。 還 提 供 了 軟 件 開 發(fā) 生 命 周 期 的 結(jié) 構(gòu) , 明 確 定 義 了 主要 里 程 碑 和 決 策 的 關(guān) 系 (3) 是 一 個 過 程 產(chǎn) 品 , 提 供 了 可 定 制 的 軟 件 工 程 的 過 程 框 架 ???
8、以 適 用 于 于 不 同 規(guī) 模 的 開 發(fā) 團 隊 和 規(guī) 范 程 度 不 同 的 開發(fā) 方 法 l RUP的基本原理盡早并且不斷化解重大的風(fēng)險確保滿足客戶的需求把注意力放到可執(zhí)行軟件上盡早在項目中適應(yīng)變化在早期確定一個可執(zhí)行的架構(gòu)使用構(gòu)件構(gòu)造系統(tǒng)建立高效的開發(fā)團隊 突 出 特 點 是 : Use Case 驅(qū) 動 的 、 以 體 系 結(jié) 構(gòu) 為 中 心 的 、 迭 代 、 增 量 的 開 發(fā) . 何 謂 USE CASE 驅(qū) 動USE CASE 分 析輸 入 設(shè) 計 實 現(xiàn)跟 蹤輸 入跟 蹤 輸 入跟 蹤 輸 入輸 入 測 試輸 入跟 蹤 輸 入 從 USE CASE模 型 的 視 覺從
9、 分 析 模 型 的 視 覺從 設(shè) 計 模 型 的 視 覺從 實 現(xiàn) 模 型 的 視 覺從 部 署 模 型 的 視 覺給 出 體 系 結(jié) 構(gòu) 描 述 何 謂 以 體 系 結(jié) 構(gòu) 為 中 心 階 段核 心 工 作 流 何 謂 迭 代 、 增 量 的 開 發(fā) u 初 始 階 段 ( the inception phase) 的 基 本 目 標(biāo) 是 : -了 解 項 目 的 范 圍 -建 立 業(yè) 務(wù) 模 型 -得 到 涉 眾 的 認 可 換 言 之 , 其 目 標(biāo) 是 : 建 立 該 項 目 的 生 存 周 期 目 標(biāo) ( objectives) 精 化 階 段 ( the elaboration
10、phase) 的 基 本 目 標(biāo) 是 -建 立 體 系 結(jié) 構(gòu) 基 線 -捕 獲 大 多 數(shù) 的 需 求 -降 低 主 要 的 技 術(shù) 風(fēng) 險 -減 少 次 要 的 錯 誤 風(fēng) 險 , 即 建 立 生 存 周 期 體 系 結(jié) 構(gòu) ( the life cycle architecture) . 到 該 階 段 末 , 就 能 夠 估 算 成 本 、 進 度 , 并 能 詳 細 地規(guī) 劃 構(gòu) 造 階 段 ( the construction phase) 。 w構(gòu) 造 階 段 ( the construction phase) 的 基 本 目 標(biāo) 是 : -開 發(fā) 完 整 的 系 統(tǒng) -確 保
11、產(chǎn) 品 可 以 開 始 向 客 戶 交 付 , 即 具 有 初 始 操 作 能 力 。 x交 付 階 段 ( the transition phase) 的 基 本 目 標(biāo) 是 : -確 保 有 一 個 實 在 的 產(chǎn) 品 , 發(fā) 布 給 用 戶 群 。 期 間 , 培 訓(xùn) 用 戶 如 何 使 用 該 軟 件 。注 : 這 4個 階 段 是 演 化 模 型 的 一 個 變 體 。 由 上 可 見 : USDP對 于 如 何 運 用 UML的 概 念 進 行 軟 件 開 發(fā) 提 供了 詳 細 指 導(dǎo) 。 即 : 指 導(dǎo) 開 發(fā) 隊 伍 安 排 其 開 發(fā) 活 動 的 次 序 ; 為 各 開 發(fā)
12、者 和 整 個 開 發(fā) 組 指 定 任 務(wù) ; 明 確 地 規(guī) 定 需 要 開 發(fā) 的 制 品 ; 提 供 對 項 目 中 的 制 品 和 活 動 進 行 監(jiān) 控 與 度 量 的 準(zhǔn) 則 。 1) 需 求 獲 取 的 目 標(biāo) 對 大 系 統(tǒng) 的 開 發(fā) 來 說 , 需 求 一 般 包 括 需 求 獲 取 和 需 求 分 析 需 求 獲 取 的 目 標(biāo) 是 : 需 求 分 析 的 目 標(biāo) 是 : 客 觀 問 題 ( 系 統(tǒng) )系 統(tǒng) 需 求 獲 取 模 型形 成 -涉 及 : 不 同 概 念 和 不 同 處 理 邏 輯 形 成 -涉 及 : 不 同 概 念 和 不 同 處 理 邏 輯系 統(tǒng) 分
13、析 模 型描 述 系 統(tǒng) 需 求 獲 取 模 型體 系 結(jié) 構(gòu) 描 述 -USE CASE模 型體 系 結(jié) 構(gòu) 描 述 -Analysis模 型 實 現(xiàn) 需 求 獲 取 目 標(biāo) 的 基 本 途 徑 實 現(xiàn) 需 求 獲 取 的 目 標(biāo) , 即 實 現(xiàn) 實 際 問 題 到 軟 件 開 發(fā) 需求 獲 取 層 的 映 射 , 從 軟 件 開 發(fā) 的 角 度 -實 現(xiàn) 第 一 次 抽 象 。其 中 至 少 涉 及 以 下 3個 問 題 : 如 何 定 義 需 求 獲 取 層 , 即 給 出 該 層 的 術(shù) 語 ; 如 何 確 定 模 型 表 示 工 具 ; 如 何 映 射 。 實 際 問 題需 求 獲
14、取 層 模 型 表 示工 具 注 : 這 些 概 念 體 現(xiàn) 了 一 些 設(shè) 計 原 理 ( 1) 需 求 獲 取 層 的 術(shù) 語 ( 概 念 ) USE CASE actor 以 及 4個 表 達 關(guān) 系 的 概 念 : 關(guān) 聯(lián) 、 包 含 、 擴 展 、 泛 化 。 以 及 USE CASE圖 。實 際 問 題 模 型 表 示工 具-USE CASE圖體 系 結(jié) 構(gòu) 描 述 -USE CASE模 型 ( 2) 需 求 工 作 流 實 際 問 題?需 求 獲 取 模 型-( USE CASE 模 型 )形 成體 系 結(jié) 構(gòu) 描 述 -USE CASE模 型形 成 2.1 需 求 工 作 流
15、及 所 創(chuàng) 建 的 制 品 一 般 來 說 , 需 求 工 作 流 包 括 以 下 四 步 , 但 它 們 并 非 是 嚴(yán) 格分 離 的 。 要 做 的 工 作 產(chǎn) 生 的 制 品 -列 出 候 選 的 需 求 特 征 ( Feature) 列 表 -理 解 系 統(tǒng) 語 境 領(lǐng) 域 模 型 或 業(yè) 務(wù) 模 型 -捕 獲 功 能 需 求 Use case 模 型 -捕 獲 非 功 能 需 求 補 充 需 求 或 針 對 一 些 特 定 需 求 的 use cases u特 征 ( Feature) : 一 個 功 能 項 ( function item ) 以 及 相 關(guān) 的 簡 要 描 述稱
16、為 特 征 ( feature) 。 作 為 需 求 , 并 被 轉(zhuǎn) 換 為 其 它 制 品 。 應(yīng) 用 系 統(tǒng) 潛 在 的 抽 象 層例 如 : 按 學(xué) 科 計 算 每 一 學(xué) 生 的 期 末 考 試 平 均 成 績 。 統(tǒng) 計 2科 以 上 不 及 格 的 人 數(shù) 。 給 出 各 分 段 ( 0-60, 60-85, 85-100) 的 人 數(shù) 分 布 情 況 。feature 作 為 需 求 , 被 轉(zhuǎn) 換 為 其 它 制 品 。應(yīng) 用 系 統(tǒng) 潛 在 的 抽 象 層( 特 征 層 )一 個 抽 象 層( USE CASE 層 ) USE CASE1USE CASE USE CASE2U
17、SE CASE3制 品 : USE CASE模 型 規(guī) 約規(guī) 約形 成Actor 關(guān) 聯(lián) 關(guān) 于 特 征 的 幾 點 說 明 : -每 一 特 征 有 一 個 簡 短 的 名 字 和 簡 要 的 說 明 或 定 義 。 -每 一 特 征 還 有 一 組 對 規(guī) 劃 有 意 義 的 信 息 , 可 以 包 括 : 狀 態(tài) ( Status) , 例 如 , 提 交 , 批 準(zhǔn) , 確 認 是 組 成 的 等 。 估 算 的 實 現(xiàn) 成 本 。 ( 所 需 的 資 源 類 型 和 人 /時 ) 。 優(yōu) 先 級 ( Priority) (e.g.,critical, important, or an
18、cillary)。 實 現(xiàn) 中 相 聯(lián) 的 風(fēng) 險 等 級 。 業(yè) 務(wù) 模 型 或 領(lǐng) 域 模 型領(lǐng) 域 模 型 領(lǐng) 域 模 型 捕 獲 了 系 統(tǒng) 語 境 中 的 一 些 重 要 對 象 類 型 。 其 中 領(lǐng) 域?qū)?象 表 示 系 統(tǒng) 工 作 環(huán) 境 中 存 在 的 事 物 或 發(fā) 生 的 事 件 。 一 般 來 說 , 領(lǐng) 域 類 以 三 種 形 態(tài) 出 現(xiàn) : 業(yè) 務(wù) 對 象 : 表 示 那 些 被 業(yè) 務(wù) 所 操 縱 ( manipulate) 的 事 物( thing) , 例 如 定 單 , 帳 目 和 合 同 等 。 實 在 對 象 ( Real-world objects)
19、和 概 念 : 例 如 飛 機 ,火 箭 等 。 事 件 ( Events) : 例 如 飛 機 到 達 , 飛 機 起 飛 等 。 一 般 來 說 , 領(lǐng) 域 模 型 是 以 類 圖 予 以 描 述 的 。 Order date of submission delivery address Item description picture cost Invoice amount date of submission last date of payment Account balance owner1.* payable 1.* buyer 1 seller 1 A class diagra
20、m in a domain model, capturing the most important concepts in the context of the system Example: Domain Classes Order, Invoice, Item, and Account 業(yè) 務(wù) 模 型 業(yè) 務(wù) 模 型 可 以 分 為 以 下 2個 層 次 : 業(yè) 務(wù) use case 模 型 通 過 業(yè) 務(wù) use case和 業(yè) 務(wù) actors 來 描 述 業(yè) 務(wù) 過 程 , 他 們 分 別 對 應(yīng) 業(yè) 務(wù) 過 程 ( business processes) 和 客 戶 ( custo
21、mers ) 。 一 般 來 說 , 業(yè) 務(wù) use case 模 型 是 以 use case 圖 予 以 描 述 的 . 業(yè) 務(wù) 對 象 模 型 業(yè) 務(wù) 對 象 模 型 是 一 個 業(yè) 務(wù) 的 內(nèi) 部 ( interior) 模 型 。 描 述 每 一 個 業(yè) 務(wù) use case 是 如 何 通 過 一 組 workers 、 business entities 、 work units予 以 細 化 的 。 其 中 , Business entity 表 示 某 些 事 物 ( something) ,例 如 一 張 發(fā) 票 。 它 們 在 一 個 業(yè) 務(wù) use case中 被 使
22、用 之 。 A work unit 是 這 樣 實 體 的 一 個 集 合 , 對 最 終 用 戶 而 言 , 形 成 了 可 認 知 的 整 體 。 Business entities 和 work unit 用 于 表 達 同 一 類 概 念 , 作 為 領(lǐng) 域 類 , 例 如 定 單 , 欄 目 , 發(fā) 票 等 。 每 一 個 業(yè) 務(wù) use case的 細 化 可 以 通 過 交 互 圖 和 活 動 圖 予 以 表 示 。 w 以 use case 捕 獲 需 求 Use-Case 模 型 Use-Case 模 型 用 以 表 達 客 戶 認 可 的 需 求 -系 統(tǒng) 必 須 滿 足
23、的 條 件 和 能 力 。 Use-Case模 型 作 為 客 戶 和 開 發(fā) 人 員 之 間 的 一 種 共 識 。 Use-Case 模 型 是 一 個 系 統(tǒng) 的 一 種 模 型 , 包 括 actors、 use cases 以 及 它 們 之 間 的 關(guān) 系 。 Use-Case systemUse-Case model Actor Use case* *1 The Use-Case system denotes the top-level package of the modelUse-Case 模 型 以 及 其 內(nèi) 容 參 與 需 求 工 作 流 的 有 關(guān) 人 員 Syste
24、m Analysis responsible for Use-case Specifier responsible for User-interface designer responsible for Architect responsible for use case model Actor Glossary Use case User interface prototype Architecture Description 需 求 捕 獲 工 作 流 中 的 活 動 1、 發(fā) 現(xiàn) 并 描 述 Actor( 1) 發(fā) 現(xiàn) Actor的 方 法發(fā) 現(xiàn) actor的 這 一 任 務(wù) , 依 賴
25、 于 起 始 點 : - 當(dāng) 存 在 業(yè) 務(wù) 模 型 時 可 以 直 接 地 發(fā) 現(xiàn) 一 些 候 選 的 actors, 即 : 對 于 業(yè) 務(wù) 中 的 每 一 個 工 作 人 員 , 可 以 建 議 一 個 候 選 的 actor 對 于 每 一 個 將 要 使 用 該 信 息 系 統(tǒng) 的 業(yè) 務(wù) actor ( 即 每 一 個 業(yè) 務(wù) 客 戶 ) , 可 以 建 議 候 選 的 一 個 actor。 - 當(dāng) 有 或 沒 有 領(lǐng) 域 模 型 時 分 析 人 員 就 要 與 客 戶 一 起 標(biāo) 識 actor, 并 將 所 標(biāo) 識 actor進 行 分 類 , 形 成 一 些 候 選 的 ac
26、tors。 Note:還 要 標(biāo) 識 表 示 外 部 系 統(tǒng) 的 actor和 系 統(tǒng) 維 護 和 運 行 所 需 要 的 actor 。 在 確 定 系 統(tǒng) actors 時 可 用 的 2條 準(zhǔn) 則 : 第 一 條 準(zhǔn) 則 : 至 少 要 識 別 出 一 個 用 戶 , 可 以 扮 演 候 選 的 actor。 該 準(zhǔn) 則 將 幫 助 我 們 僅 發(fā) 現(xiàn) 那 些 相 關(guān) 的 actors, 避 免 actor 僅 是 一 些 想 象 的 “ 事 物 ” 。 第 二 條 準(zhǔn) 則 : 系 統(tǒng) 中 不 同 actors 實 例 之 間 , 其 角 色 的 重 疊 應(yīng) 是 最 少 的 。 如 果
27、2個 或 多 個 actors有 著 幾 乎 相 同 的 角 色 , 那 么 就 應(yīng) 該 考 慮 : 是 否 將 這 些 角 色 組 合 到 一 個 actor的 角 色 中 , 或 是 否 需 要 發(fā) 現(xiàn) 另 外 一 個 “ 一 般 化 ” 的 actor, 使 之 具 有 那些 重 疊 的 、 公 共 的 角 色 , 并 可 以 通 過 “ 泛 化 ” , 形 成 那 些特 定 actor。 ( 2) Actors的 命 名 與 描 述 Actors的 命 名 : 對 actors給 出 恰 當(dāng) 的 名 字 是 非 常 重 要 的 。 這 樣 的 名 字 可 以“ 傳 達 ” ( conv
28、ey) 所 期 望 的 語 義 。Actors的 描 述 : 對 actor的 描 述 , 應(yīng) 包 含 其 角 色 ( 責(zé) 任 ) 以 及 為 了 完 成 其責(zé) 任 所 需 要 的 條 件 。 例 如 : the Buyer, Seller,and Accounting System Actors Buyer A Buyer represents a person who is responsible for buying goods or services as described in the business use case Sales: from Order to Delivery.
29、 This person may be an individual or someone within a business organization. The Buyer of goods and services need the Billing and Payment System to send order and to pay invoices. Seller A Seller represents a person who sells and delivers goods or services. The Seller uses the system to look for new
30、 orders and to send order confirmations, invoices, and payment reminders. Accounting System The Billing and Payment System sends verifications of transactions to the Accounting System. Order Goods or ServicesConfirm OrderInvoice Buyer Pay InvoicePerform Transaction Pay Overdraft FeeSend Reminders ex
31、tendInitiatorInitiator InitiatorInitiatorInitiatorBuyer SellerAccounting systemUse case in the Billing and Payment System that support the business use case Sales:From Order to Delivery. The role initiator, attached to the associations, indicate which actor starts the use case. 2、 發(fā) 現(xiàn) 并 描 述 Use Case
32、 (1) 對 use case的 回 顧 A use case specifies a sequence of actions, including alternatives of the sequence , that the system can perform , interacting with actor of the system. actor 使 用 系 統(tǒng) 的 每 一 方 法 ( way ) , 被 表 示 為 一 個 use case Use case 是 系 統(tǒng) 向 它 的 actors 提 供 結(jié) 果 ( 值 ) 的 功 能 塊 ( chunks ) 。 例 如 , us
33、e case 實 例 Withdraw money The use case Withdraw money enables instances of the actor Bank Customer to withdraw money through an ATM 因 此 對 一 個 use case的 描 述 可 以 使 用 正 文 事 件 流 、 狀 態(tài) 圖 、 活 動 圖 、 通 訊 圖 和 順 序 圖 。 在 一 個 use case中 的 一 條 路 徑 , 可 以 看 作 : u 啟 動 了 該 use case實 例 , 并 使 之 處 于 一 個 開 始 狀 態(tài) ; 該 狀 態(tài)
34、由 一 個 外 部 的 actor所 引 發(fā) ( invoke) ; 并 由 一 個 動 作 序 列 的 執(zhí) 行 , 使 之 轉(zhuǎn) 化 為 另 一 狀 態(tài) 。 其 中 該 序 列 包 含 內(nèi) 部 計 算 、 路 徑 選 擇 和 向 某 一 actor發(fā) 送 消 息 。 w 在 一 個 新 的 狀 態(tài) 中 , 等 待 actor發(fā) 送 另 一 外 部 消 息 。 x 該 狀 態(tài) 由 一 個 新 的 消 息 予 以 引 發(fā) ( invoke) , 以 此 繼 續(xù) , 通 過 了 許 多 狀 態(tài) , 直 到 該 use case實 例 被 終 止 . 大 部 分 是 一 個 actor實 例 引 發(fā)
35、一 個 use case實 例 , 但 也 可 能由 一 個 事 件 所 引 發(fā) , 例 如 由 系 統(tǒng) 之 外 的 定 時 時 鐘 所 引 發(fā) 。 Use case有 其 自 己 的 屬 性 ,例 如 Withdraw money 這 一 use case 可 以 認 為 它 有 屬 性 “ 帳 目 ” ( account) 、 存 款 數(shù) 目 ( amount to be withdrawn) 等 , 這 些 值 局 部 于 一 個 use case實 例 Use case實 例 不 能 與 其 它 use case 實 例 發(fā) 生 交 互 。 在 use case模 型 中 , 唯 一
36、的 一 類 交 互 可 以 發(fā) 生 在 actor實 例和 use case 實 例 之 間 。 這 是 由 于 我 們 把 use case實 例 看 作 是 原子 的 , 每 一 個 use case的 行 為 可 以 被 其 它 use case所 中 斷 , 這就 確 保 了 我 們 可 以 理 解 一 個 特 定 的 use case模 型 。 (2) 發(fā) 現(xiàn) Use Case的 方 法 當(dāng) 開 始 點 是 一 個 業(yè) 務(wù) 模 型 時 一 旦 我 們 發(fā) 現(xiàn) 了 一 個 工 作 人 員 或 業(yè) 務(wù) actor的 所 有 角 色 , 標(biāo) 識 一 些 暫 時 的 use case最 直
37、接 的 方 法 是 : 對 每 一 工 作 人 員 和 業(yè) 務(wù) actor 的 每 一 角 色 , 對 應(yīng) 地 創(chuàng) 建一 個 use case。 因 此 , u針 對 每 一 業(yè) 務(wù) use case ,為 每 一 工 作 人 員 和 業(yè) 務(wù) actor, 設(shè) 置 一 個 use case。 細 化 并 調(diào) 整 這 些 暫 時 的 use cases. w 決 策 工 作 人 員 和 業(yè) 務(wù) actor 的 那 些 任 務(wù) 應(yīng) 該 由 系 統(tǒng) 自 動 地 予 以 實 現(xiàn) , 作 為 use cases, 并 重 新 組 織 這 些 use case, 更 好 地 適 應(yīng) actors的 要 求
38、 ( needs) 。 結(jié) 論 : 為 參 與 業(yè) 務(wù) use case細 化 ( realization) 的 、 使 用 該 信 息 系 統(tǒng) 的每 一 工 作 人 員 的 每 一 角 色 , 建 議 一 個 use case。 當(dāng) 開 始 點 沒 有 業(yè) 務(wù) 模 型 時 要 通 過 與 客 戶 以 及 用 戶 一 起 工 作 來 標(biāo) 識 use case。 其 中 : 應(yīng) 一 個 一 個 地 審 閱 actors, 為 每 一 個 actor建 議 一 些 侯 選 的 use case。 例 如 , 可 以 與 他 們 進 行 交 談 , 研 究 需 要 哪 些 use case。 其 中
39、 , 均 應(yīng) 根 據(jù) actor的 需 求 來 發(fā) 現(xiàn) use case: - actor通 常 需 要 use cases來 支 持 他 們 的 工 作 : 創(chuàng) 建 、 改 變 、 跟 蹤 、 遷 移 業(yè) 務(wù) use cases中 使 用 的 業(yè) 務(wù) 對 象 ,例 如 定 單 和 帳 目 。 -actor 可 能 還 要 通 知 系 統(tǒng) 一 些 外 部 事 件 , 包 括 已 經(jīng) 發(fā) 生 的一 些 事 件 , 例 如 : 發(fā) 票 已 經(jīng) 過 期 。 -還 可 能 存 在 一 些 其 他 的 actors , 他 們 執(zhí) 行 系 統(tǒng) 的 啟 動 、 終 止 和 維 護 。 對 發(fā) 現(xiàn) 的 候
40、選 use cases 的 初 始 處 理 : 根 據(jù) 以 上 發(fā) 現(xiàn) 的 那 些 侯 選 的 use cases, 為 了 使 系 統(tǒng) use cases容 易 修 改 、 復(fù) 審 、 測 試 和 管 理 , 應(yīng) 考 慮 它 們 之 間 的 組 成 關(guān) 系 。 為 每 一 use cases 選 擇 一 個 名 字 ( 一 般 應(yīng) 以 動 詞 開 始 ) , 這個 可 以 引 導(dǎo) 我 們 思 考 其 中 向 actor產(chǎn) 生 值 的 特 定 動 作 序 列 。 用 戶和 系 統(tǒng) 的 一 個 交 互 序 列 , 可 以 在 一 個 use case中 予 以 規(guī) 約 , 也 可以 在 多 個
41、use case中 予 以 規(guī) 約 。 當(dāng) 決 定 把 一 個 侯 選 的 use case 最 終 作 為 系 統(tǒng) 的 一 個 use case 時 , 必 須 考 慮 : 它 是 否 是 完 整 的 ( complete) ; 它 是 否 是 另 一 use case的 組 成 部 分 。 use case大 小 的 確 定 確 定 use case的 大 小 , 有 時 是 相 當(dāng) 困 難 的 . 對 此 , 必 須 了 解 : - use case 應(yīng) 為 它 的 actors產(chǎn) 生 相 應(yīng) 的 值 . -特 別 地 , use case 向 一 個 特 定 的 actor交 付 了
42、可 見 的 結(jié) 果 ( 值 ) . 以 上 的 了 解 , 可 以 指 導(dǎo) 我 們 合 適 的 確 定 use case大 小 。 其 中 要 注 意 2個 關(guān) 鍵 詞 : 結(jié) 果 ( 值 ) ( result of value ) 特 定 的 actor( particular actor ) 結(jié) 果 ( 值 ) (result of value) 每 一 個 成 功 執(zhí) 行 的 use case 應(yīng) 向 actor 提 供 一 些 值 , 使 actor 達 到 某 一 目 的 。 注 意 : 一 個 use case 實 例 , 例 如 電 話 呼 叫 , 可 能 涉 及 多 個 act
43、or. 在 這 種 情 況 中 , 應(yīng) 當(dāng) 應(yīng) 用 “ 可 見 的 結(jié) 果 值 ” 這 一 準(zhǔn) 則 ,啟 動 actor ( to initiating actor) . “結(jié) 果 ( 值 ) result of value ” 這 一 準(zhǔn) 則 , 可 以 幫 助 我 們 避免 使 發(fā) 現(xiàn) 的 use cases 太 小 。 特 定 的 actor ( particular actor) 通 過 使 標(biāo) 識 的 use cases 都 有 相 應(yīng) 的 真 實 用 戶 , 這 樣 可 以 確保 不 會 太 大 。 針 對 一 些 actors, 我 們 第 一 次 發(fā) 現(xiàn) 的 use cases
44、 常 常 需要 予 以 重 新 組 織 , 重 新 評 估 , 使 之 更 加 “ 穩(wěn) 定 ” 。 例 如 , 一旦 我 們 已 經(jīng) 有 了 一 個 體 系 結(jié) 構(gòu) , 那 么 對 于 我 們 捕 獲 的 新 的 use cases 就 必 須 進 行 調(diào) 整 , 以 便 適 應(yīng) 已 有 的 體 系 結(jié) 構(gòu) 。 這樣 , 就 有 可 能 需 要 相 當(dāng) 大 的 變 動 。 (3) use case的 簡 單 描 述 當(dāng) 分 析 員 標(biāo) 識 use case時 , 首 先 , 一 般 要 給 出 該 use case的名 字 。 繼 之 , 對 use case給 出 簡 單 描 述 : 開 始
45、 , 用 幾 句 話 概 括 其 中 的 動 作 ; 而 后 , 對 系 統(tǒng) 與 其 actor交 互 時 要 做 的 事 情 予 以 一 步 一 步 地 描 述 .例 如 : 描 述 Pay Invoice Use Cases u概 括 動 作 The use case Pay Invoice is used by a Buyer to schedule invoice payments. The Pay Invoice use case then effects the payment on the due date. 一 步 一 步 的 描 述 Before this use case
46、can be initiated, the Buyer has already received an invoice (delivered by another use case called Invoice Buyer ) and has also received the goods or services ordered.: 1. The buyer studies the invoice to pay and checks that it is consistent with the original order. 2. The Buyer schedules the invoice
47、 for payment by the bank. 3. On the day payment is due, the system checks to see if there is enough money in the Buyers account. If enough money is available, the transaction is made. (4) 確 定 use case的 優(yōu) 先 級 ( Priority) 目 的 用 于 決 定 哪 些 use case在 早 期 的 迭 代 中 予 以 開 發(fā) ( 即 分 析 、設(shè) 計 、 實 現(xiàn) 等 ) , 哪 些 use c
48、ase在 后 期 的 迭 代 中 予 以 開 發(fā) 。 輸 入 與 輸 出 Architect Use Case model outlined Supplementary Requirements Glossary Architecture Description view of the use case modelPrioritized Use Cases 視 角 與 使 用 視 角 : 從 體 系 結(jié) 構(gòu) 的 視 覺 , 來 審 視 所 建 立 的 use case 模 型 。 并 給 出 在 這 一 視 覺 下 的 體 系 結(jié) 構(gòu) 描 述 。 ( 注 : 其 中 必 須 與 項 目 經(jīng) 理
49、 一 起 來 工 作 。 ) 使 用 : 由 該 視 角 形 成 的 體 系 結(jié) 構(gòu) , 可 以 在 規(guī) 劃 的 一 個 迭 代 中 針 對 要 開 發(fā) 什 么 時 予 以 使 用 。 其 中 , 要 注 意 : 在 這 一 規(guī) 劃 中 , 還 需 要 考 慮 其 它 非 技 術(shù) 因 素 , 例 如 系 統(tǒng) 開 發(fā) 的 業(yè) 務(wù) 和 經(jīng) 濟 方 面 的 因 素 。 內(nèi) 容 : Use Case 模 型 視 覺 下 的 體 系 結(jié) 構(gòu) 描 述 , 刻 畫 了 在 體 系 結(jié) 構(gòu) 方 面 具 有 重 要 意 義 的 use cases。 包 含 : -某 些 重 要 、 關(guān) 鍵 功 能 的 use
50、case ; 或 -那 些 必 須 在 軟 件 生 存 周 期 早 期 予 以 開 發(fā) 的 某 些 重 要 需 求 的 use case。 ( 5) Detail a Use Case 目 的 詳 細 地 描 述 事 件 流 , 包 括 use case是 怎 樣 開 始 的 , 是 怎 樣 結(jié) 束的 , 是 怎 樣 與 actors 進 行 交 互 的 。 輸 入 與 輸 出 Use case Specifier Use Case model outlined Supplementary Requirements Glossary Use Case detailedDetail a Use
51、Case The result is a detailed description of a particular use case in text and diagram. 細 化 途 徑 涉 及 : 如 何 描 述 一 個 use case中 所 有 可 選 的 路 徑 ; 在 一 個 use case的 描 述 中 包 括 的 內(nèi) 容 ; 如 何 在 必 要 時 形 式 化 地 給 出 use case的 描 述 。 其 中 規(guī) 約 人 員 應(yīng) 當(dāng) : -緊 密 地 與 該 use case的 實 際 用 戶 一 起 工 作 ; -在 與 用 戶 的 交 談 中 , 通 常 需 要 記
52、錄 他 們 對 該 use case 的 理 解 ; -與 用 戶 討 論 建 議 方 案 , 并 請 他 們 復(fù) 審 use case描 述 。 有 效 技 術(shù) : 事 件 流 技 術(shù) 關(guān) 于 事 件 流 ( Flow of Events) 的 作 用 : 當(dāng) 所 規(guī) 約 的 use case執(zhí) 行 時 , 事 件 流 規(guī) 約 了 系 統(tǒng) 做 什 么 。 即每 一 個 use case的 事 件 流 , 可 以 作 為 use case的 動 作 序 列 的 正 文描 述 。 當(dāng) 所 規(guī) 約 的 use case執(zhí) 行 時 , 事 件 流 還 規(guī) 約 了 系 統(tǒng) 怎 樣 與 其actors進
53、 行 交 互 基 本 要 求 : 從 管 理 的 角 度 來 說 , 一 個 事 件 流 的 描 述 應(yīng) 包 括 一 組動 作 序 列 , 該 組 動 作 序 列 適 于 修 改 、 復(fù) 審 、 設(shè) 計 、 實 現(xiàn) 和 測 試 ,并 作 為 用 戶 手 冊 的 一 節(jié) 。 以 事 件 流 描 述 Use Case所 采 用 的 結(jié) 構(gòu) 一 個 use case 可 以 被 認 為 有 一 個 開 始 狀 態(tài) , 一 些 中 間狀 態(tài) , 并 從 一 個 狀 態(tài) 轉(zhuǎn) 換 為 另 一 狀 態(tài) , 如 下 所 示 :其 中 , 紅 箭 頭 線 表 示 基 本 路 徑 , 曲 線 是 其 它 路 徑
54、。 當(dāng) 被 一 個 事 件 ( 例 如 一 個 消 息 ) 激 發(fā) 時 , 每 一 這 樣 的 轉(zhuǎn)換 是 該 use-case的 一 個 實 例 所 執(zhí) 行 的 一 個 動 作 序 列 。 細 化 USE CASE, 即 : u 從 開 始 狀 態(tài) 到 終 止 狀 態(tài) 選 擇 一 條 完 整 的 基 本 路 徑 , 并 在 一節(jié) 中 對 該 路 徑 予 以 描 述 。 其 中 , 這 一 路 徑 的 選 擇 應(yīng) 該 是 用 戶 認 為 它 是 一 條 最 通 常 的路 徑 , 并 對 相 關(guān) 的 actor產(chǎn) 生 最 明 顯 的 值 ( the most obvious value ) 。 一
55、 般 來 說 , 這 樣 的 一 條 路 徑 應(yīng) 該 包 含 系統(tǒng) 不 大 需 要 的 一 些 例 外 和 異 常 處 理 。 接 之 , 在 另 一 節(jié) 中 描 述 其 余 的 可 選 路 徑 其 中 , 有 些 可 選 的 路 徑 是 很 小 的 , 是 否 可 以 把 它 作 為 基 本路 徑 的 組 成 部 分 還 是 在 一 個 獨 立 的 一 節(jié) 中 作 為 可 選 路 徑 予 以描 述 , 這 是 一 個 設(shè) 計 決 策 問 題 , 取 決 于 該 描 述 是 否 精 確 , 是否 容 易 閱 讀 。 . 注 意 : 不 管 我 們 選 擇 了 什 么 描 述 技 術(shù) , 都 必
56、 須 描 述 所 有 的可 選 路 徑 , 否 則 就 不 能 說 給 出 了 對 該 use case的 規(guī) 約 。 Example: Paths of the Pay Invoice Use Case Precondition: The buyer has received the goods or services ordered and at least one invoice from the system. The buyer now plans to schedule the invoice(s) for payment.Flow of EventsBasic Path 1 Th
57、e buyer invokes the use case by beginning to browse the invoices received by the system. The system checks that the content of each invoice is consistent with order confirmations received early(as part of the Confirm Order use case) and somehow indicates this to the buyer. The order confirmation des
58、cribes which items will be delivered, when , where, and at what price. 2 The buyer decides to schedule an invoice for payment by the bank, and the system generates a payment request to transfer money to the sellers account. Note that a buyer may not schedule the same invoice for payment twice.3 late
59、r, if there is enough money in the buyers account, a payment transaction is made on the scheduled date. During the transaction, money is transferred from the buyers account to the sellers account, as described by the abstract use case Perform Transaction(which is used by Pay Invoice). The buyer and
60、the seller are notified of the result of the transaction. The bank collect a fee for the transaction, which is withdrawn from the buyers account by the system. 4 The use case instance terminates. Alternative PathIn Step 2, the buyer may instead ask the system to send an invoice rejection back to the
61、 seller.In Step 3, if there is not enough money in the account, the use case will cancel the payment and notify the buyer. Post-condition: The use case instance ends when the invoice has been paid or when the invoice payment was canceled and no money was transferred. Use Case 描 述 中 的 基 本 內(nèi) 容 一 個 use
62、-case 描 述 中 , 必 須 包 括 : 定 義 其 開 始 狀 態(tài) , 作 為 一 個 前 置 條 件 ( recondition) . 定 義 第 一 個 要 執(zhí) 行 的 動 作 , 例 如 Step 1, 即 描 述 該 use case 是 如 何 開 始 的 , 什 么 時 候 開 始 。 定 義 所 要 求 的 次 序 , 即 給 出 其 中 的 動 作 必 須 以 該 次 序 予 以 執(zhí) 行 。 例 中 , 該 次 序 是 通 過 步 驟 號 予 以 定 義 的 ( (Step 1-4) ) 。 描 述 該 use case 是 如 何 結(jié) 束 的 , 什 么 時 候 結(jié)
63、束 ( Step 4 ) 。 定 義 可 能 的 結(jié) 束 狀 態(tài) , 作 為 后 置 條 件 ( post conditions) . 給 出 在 基 本 路 徑 描 述 中 的 可 選 路 徑 的 描 述 。 給 出 那 些 基 本 路 徑 之 外 的 可 選 路 徑 的 描 述 。 定 義 與 actors 的 系 統(tǒng) 交 互 以 及 它 們 之 間 的 交 換 (Step 2 and Step 3), 即 描 述 該 use case 動 作 序 列 , 這 些 動 作 是 如 何 被 相 關(guān) 的 actors予 以 激 發(fā) ( invoke) 以 及 它 們 是 如 何 執(zhí) 行 的 ,
64、 以 響 應(yīng) actor的 要 求 。 描 述 系 統(tǒng) 中 有 關(guān) 對 象 、 值 和 資 源 的 用 法 ( Usage ) (Step 3). 即 描 述 在 一 個 use-case使 用 中 的 動 作 序 列 以 及 對 該 use-case屬 性 所 賦 予 的 值 。 如 果 該 系 統(tǒng) 與 其 它 系 統(tǒng) 交 互 , 則 必 須 規(guī) 約 這 一 交 互 ,例 如 引 用 一 個 標(biāo) 準(zhǔn) 的 通 訊 協(xié) 議 。注 意 : 在 use-case 描 述 中 , 我 們 必 須 顯 式 地 描 述 系 統(tǒng) 做 什 么 ( 執(zhí) 行 的 動 作 ) , 以 及 actor做 什 么 。
65、應(yīng) 從 actors 做 什 么 中 分 離 出 系 統(tǒng) 的 責(zé) 任 。 否 則 , 對 系 統(tǒng) 規(guī) 約 的 使 用 來 說 , 這 樣 的 use-case描 述 就 不 夠 精 確 。 當(dāng) use case 描 述 是 : 可 理 解 的 ; 正 確 的 ( 即 捕 獲 了 正 確 的 需 求 ) ; 完 備 的 ( complete, 例 如 , 描 述 了 所 有 可 能 的 路 徑 ) ; 一 致 的 . 我 們 才 可 以 說 , 結(jié) 束 了 use case的 描 述 。 該 描 述 可 以 在 需 求 捕 獲 結(jié) 束 的 復(fù) 審 會 中 , 由 分 析 員 予 以 評 估, 也
66、 可 以 由 用 戶 和 客 戶 予 以 評 估 。 但 僅 客 戶 和 用 戶 才 能 確 認 該use cases是 否 是 正 確 的 。 半 形 式 化 的 Use-Case描 述 前 置 條 件 對 于 一 個 復(fù) 雜 的 實 時 系 統(tǒng) , use case可 能 是 相 當(dāng) 負 責(zé) 的 ,例 如 actors和 use case 之 間 的 交 互 可 能 經(jīng) 過 相 當(dāng) 多 的 狀 態(tài) 和狀 態(tài) 轉(zhuǎn) 換 , 從 而 幾 乎 不 可 能 保 持 正 文 描 述 的 use case 的 一 致性 。 相 關(guān) 的 技 術(shù) 為 此 , 需 要 使 用 更 結(jié) 構(gòu) 化 的 描 述 技 術(shù) , 這 樣 的 技 術(shù) 一 般 使用 可 視 化 的 建 模 技 術(shù) , 來 描 述 use cases 。 以 下 技 術(shù) 可 以 幫 助系 統(tǒng) 分 析 人 員 更 好 地 理 解 use cases : BrowsingSchedule RejectInvoice ScheduledPay on due dateInvoice Paid Invoice CancelledThe state
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。