關(guān)于我們
書單推薦
新書推薦
|
軟件建模與設(shè)計(jì):UML、用例、模式和軟件體系結(jié)構(gòu)
本書介紹了關(guān)于軟件應(yīng)用建模和設(shè)計(jì)的知識(shí)。從UML中的用況到軟件體系結(jié)構(gòu),本書展示了如何在解決現(xiàn)實(shí)世界問題的過程中應(yīng)用COMET,介紹了針對(duì)各種體系結(jié)構(gòu)的模式,包括客戶端/服務(wù)器以及基于構(gòu)件的軟件體系結(jié)構(gòu)中的客戶端/服務(wù)模式,面向服務(wù)的體系結(jié)構(gòu)中的代理、發(fā)現(xiàn)和事務(wù)模式,實(shí)時(shí)軟件體系結(jié)構(gòu)中的實(shí)時(shí)控制模式,軟件產(chǎn)品線體系結(jié)構(gòu)的分層模式。此外,還介紹了軟件質(zhì)量屬性,包括可維護(hù)性、可修改性、可測試性、可追蹤性、可伸縮性、可復(fù)用性、性能、可用性和安全性。
Software Modeling & Design: UML, Use Cases, Patterns, & Software Architectures
出版者的話 譯者序 前言 本書導(dǎo)讀 致謝 第一部分 概覽 第1章 引言 2 1.1 軟件建模 2 1.2 面向?qū)ο蠓椒ㄅc統(tǒng)一建模語言 2 1.3 軟件體系結(jié)構(gòu)設(shè)計(jì) 3 1.4 方法和表示法 3 1.5 COMET:一種基于UML的軟件應(yīng)用建模和設(shè)計(jì)方法 4 1.6 UML標(biāo)準(zhǔn) 4 1.7 軟件體系結(jié)構(gòu)的多視圖 5 1.8 軟件建模和設(shè)計(jì)方法的發(fā)展 5 1.9 面向?qū)ο蠓治龊驮O(shè)計(jì)方法的發(fā)展 7 1.10 并發(fā)、分布式和實(shí)時(shí)設(shè)計(jì)方法 8 1.11 總結(jié) 8 練習(xí) 8 第2章 UML表示法概述 10 2.1 UML圖 10 2.2 用例圖 10 2.3 類和對(duì)象 11 2.4 類圖 12 2.4.1 關(guān)聯(lián) 12 2.4.2 聚合和組合層次 12 2.4.3 泛化和特化層次 13 2.4.4 可見性 13 2.5 交互圖 13 2.5.1 通信圖 13 2.5.2 順序圖 13 2.6 狀態(tài)機(jī)圖 14 2.7 包 15 2.8 并發(fā)通信圖 16 2.9 部署圖 17 2.10 UML擴(kuò)展機(jī)制 17 2.10.1 構(gòu)造型 18 2.10.2 標(biāo)記值 18 2.10.3 約束 18 2.11 本書的約定 19 2.11.1 需求建模 19 2.11.2 分析建模 19 2.11.3 設(shè)計(jì)建模 20 2.12 總結(jié) 20 練習(xí) 20 第3章 軟件生存周期模型和過程 22 3.1 軟件生存周期模型 22 3.1.1 瀑布生存周期模型 22 3.1.2 瀑布模型的局限性 22 3.1.3 拋棄型原型 24 3.1.4 通過增量開發(fā)的演化式原型 24 3.1.5 拋棄型原型和增量開發(fā)的結(jié)合 24 3.1.6 螺旋模型 27 3.1.7 統(tǒng)一軟件開發(fā)過程 27 3.2 設(shè)計(jì)驗(yàn)證和確認(rèn) 28 3.2.1 軟件質(zhì)量保證 29 3.2.2 軟件設(shè)計(jì)的性能分析 29 3.3 軟件生存周期的活動(dòng) 29 3.3.1 需求分析和規(guī)約 29 3.3.2 體系結(jié)構(gòu)設(shè)計(jì) 29 3.3.3 詳細(xì)設(shè)計(jì) 30 3.3.4 編碼 30 3.4 軟件測試 30 3.4.1 單元測試 30 3.4.2 集成測試 30 3.4.3 系統(tǒng)測試 30 3.4.4 驗(yàn)收測試 30 3.5 總結(jié) 31 練習(xí) 31 第4章 軟件設(shè)計(jì)和體系結(jié)構(gòu)概念 32 4.1 面向?qū)ο蟾拍?32 4.2 信息隱藏 33 4.2.1 面向?qū)ο笤O(shè)計(jì)中的信息隱藏 34 4.2.2 信息隱藏示例 34 4.2.3 設(shè)計(jì)信息隱藏對(duì)象 36 4.3 繼承和泛化/特化 36 4.4 并發(fā)處理 37 4.4.1 順序應(yīng)用與并發(fā)應(yīng)用 38 4.4.2 并發(fā)對(duì)象 38 4.4.3 并發(fā)對(duì)象間的協(xié)作 38 4.4.4 同步問題 38 4.4.5 生產(chǎn)者/消費(fèi)者問題 40 4.4.6 異步消息通信 40 4.4.7 帶回復(fù)的同步消息通信 40 4.5 設(shè)計(jì)模式 41 4.6 軟件體系結(jié)構(gòu)和構(gòu)件 41 4.6.1 構(gòu)件和構(gòu)件接口 42 4.6.2 連接器 42 4.7 軟件質(zhì)量屬性 42 4.8 總結(jié) 42 練習(xí) 43 第5章 軟件建模和設(shè)計(jì)方法概覽 44 5.1 COMET基于用例的軟件生存周期 44 5.1.1 需求建模 44 5.1.2 分析建模 44 5.1.3 設(shè)計(jì)建模 44 5.1.4 增量軟件構(gòu)建 46 5.1.5 增量軟件集成 46 5.1.6 系統(tǒng)測試 46 5.2 COMET生存周期與其他軟件過程的比較 46 5.2.1 COMET生存周期與統(tǒng)一軟件開發(fā)過程對(duì)比 46 5.2.2 COMET生存周期與螺旋模型對(duì)比 47 5.3 需求、分析和設(shè)計(jì)建模 47 5.3.1 需求建模中的活動(dòng) 47 5.3.2 分析建模中的活動(dòng) 47 5.3.3 設(shè)計(jì)建模中的活動(dòng) 48 5.4 設(shè)計(jì)軟件體系結(jié)構(gòu) 48 5.5 總結(jié) 49 練習(xí) 49 第二部分 軟件建模 第6章 用例建模 52 6.1 需求建模 52 6.1.1 需求分析 52 6.1.2 需求規(guī)約 53 6.1.3 軟件需求規(guī)約的質(zhì)量屬性 53 6.2 用例 54 6.3 參與者 55 6.3.1 參與者、角色和用戶 55 6.3.2 主要和次要參與者 55 6.3.3 對(duì)參與者建模 55 6.3.4 誰是參與者 57 6.4 標(biāo)識(shí)用例 57 6.5 用例模型中文檔化用例 57 6.6 用例描述示例 58 6.7 用例關(guān)系 59 6.8 包含關(guān)系 59 6.8.1 包含關(guān)系和包含用例示例 60 6.8.2 結(jié)構(gòu)化冗長的用例 61 6.9 擴(kuò)展關(guān)系 61 6.9.1 擴(kuò)展點(diǎn) 62 6.9.2 擴(kuò)展點(diǎn)和擴(kuò)展用例示例 62 6.10 用例組織指南 64 6.11 規(guī)定非功能性需求 64 6.12 用例包 65 6.13 活動(dòng)圖 65 6.14 總結(jié) 66 練習(xí) 67 第7章 靜態(tài)建模 68 7.1 類之間的關(guān)聯(lián) 68 7.1.1 類圖描述關(guān)聯(lián) 68 7.1.2 關(guān)聯(lián)的多重性 69 7.1.3 三元關(guān)聯(lián) 71 7.1.4 一元關(guān)聯(lián) 71 7.1.5 關(guān)聯(lián)類 71 7.2 組合和聚合層次 72 7.3 泛化/特化層次 73 7.4 約束 73 7.5 靜態(tài)建模和UML 74 7.6 系統(tǒng)上下文的靜態(tài)建模 75 7.7 使用UML構(gòu)造型對(duì)類分類 76 7.8 外部類建模 77 7.8.1 從外部類開發(fā)軟件系統(tǒng)上下文類圖示例 78 7.8.2 參與者和外部類 78 7.8.3 從參與者開發(fā)軟件系統(tǒng)上下文類圖示例 79 7.9 實(shí)體類的靜態(tài)建模 80 7.10 總結(jié) 81 練習(xí) 82 第8章 對(duì)象和類組織 83 8.1 對(duì)象和類的組織準(zhǔn)則 83 8.2 對(duì)應(yīng)用類和對(duì)象建模 83 8.3 對(duì)象和類的組織分類 84 8.4 外部類與軟件邊界類 85 8.5 邊界類和對(duì)象 85 8.5.1 用戶交互對(duì)象 85 8.5.2 代理對(duì)象 86 8.5.3 設(shè)備I/O邊界對(duì)象 87 8.5.4 描述外部類和邊界類 88 8.6 實(shí)體類和對(duì)象 89 8.7 控制類和對(duì)象 90 8.7.1 協(xié)調(diào)者對(duì)象 90 8.7.2 狀態(tài)相關(guān)的控制對(duì)象 91 8.7.3 計(jì)時(shí)器對(duì)象 91 8.8 應(yīng)用邏輯類和對(duì)象 92 8.8.1 業(yè)務(wù)邏輯對(duì)象 92 8.8.2 算法對(duì)象 92 8.8.3 服務(wù)對(duì)象 94 8.9 總結(jié) 94 練習(xí) 94 第9章 動(dòng)態(tài)交互建模 96 9.1 對(duì)象交互建模 96 9.1.1 通信圖 96 9.1.2 順序圖 97 9.1.3 對(duì)象交互建模的分析和設(shè)計(jì)決策 97 9.1.4 順序圖和通信圖對(duì)比 98 9.1.5 用例和場景 98 9.1.6 通用和實(shí)例形式的交互圖 99 9.2 交互圖上的消息序列編號(hào) 99 9.2.1 交互圖上的消息標(biāo)簽 99 9.2.2 交互圖上的消息序列編號(hào) 100 9.2.3 并發(fā)和可替換的消息序列 100 9.2.4 消息序列描述 101 9.3 動(dòng)態(tài)交互建模 101 9.4 無狀態(tài)動(dòng)態(tài)交互建模 101 9.5 無狀態(tài)動(dòng)態(tài)交互建模示例 102 9.5.1 查看警報(bào)示例 102 9.5.2 下單請(qǐng)求示例 103 9.6 總結(jié) 110 練習(xí) 110 第10章 有限狀態(tài)機(jī) 112 10.1 有限狀態(tài)機(jī)和狀態(tài)轉(zhuǎn)換 112 10.1.1 事件 112 10.1.2 狀態(tài) 113 10.2 狀態(tài)圖示例 113 10.2.1 ATM狀態(tài)圖示例 113 10.2.2 微波爐狀態(tài)圖示例 115 10.3 事件和警戒條件 116 10.4 動(dòng)作 117 10.4.1 狀態(tài)轉(zhuǎn)換中的動(dòng)作 117 10.4.2 進(jìn)入動(dòng)作 119 10.4.3 退出動(dòng)作 119 10.5 層次化狀態(tài)圖 120 10.5.1 層次化狀態(tài)分解 121 10.5.2 復(fù)合狀態(tài) 121 10.5.3 狀態(tài)轉(zhuǎn)換的聚合 121 10.5.4 正交狀態(tài)圖 122 10.6 開發(fā)狀態(tài)圖的指導(dǎo)原則 123 10.7 從用例開發(fā)狀態(tài)圖 124 10.8 從用例開發(fā)狀態(tài)圖示例 125 10.8.1 為每個(gè)用例開發(fā)狀態(tài)圖 125 10.8.2 考慮可替換序列 126 10.8.3 開發(fā)集成的狀態(tài)圖 126 10.8.4 開發(fā)層次化狀態(tài)圖 128 10.9 總結(jié) 129 練習(xí) 130 第11章 狀態(tài)相關(guān)的動(dòng)態(tài)交互建模 132 11.1 狀態(tài)相關(guān)的動(dòng)態(tài)交互建模中的步驟 132 11.2 使用交互圖和狀態(tài)圖對(duì)交互場景建模 132 11.3 狀態(tài)相關(guān)的動(dòng)態(tài)交互建模示例:銀行系統(tǒng) 133 11.3.1 確定主序列 133 11.3.2 確定可替換序列 135 11.3.3 主序列:有效PIN碼 136 11.3.4 可替換序列:無效PIN碼 136 11.3.5 可替換序列:第三次無效PIN碼 137 11.3.6 可替換序列:被盜的或過期的卡片 137 11.3.7 所有場景通用的交互圖 138 11.3.8 控制對(duì)象和狀態(tài)圖的編序 138 11.4 總結(jié) 140 練習(xí) 141 第三部分 軟件體系結(jié)構(gòu)設(shè)計(jì) 第12章 軟件體系結(jié)構(gòu)概覽 144 12.1 軟件體系結(jié)構(gòu)以及基于構(gòu)件的軟件體系結(jié)構(gòu) 144 12.1.1 基于構(gòu)件的軟件體系結(jié)構(gòu) 144 12.1.2 體系結(jié)構(gòu)構(gòu)造型 145 12.2 軟件體系結(jié)構(gòu)的多視圖 145 12.2.1 軟件體系結(jié)構(gòu)的結(jié)構(gòu)視圖 145 12.2.2 軟件體系結(jié)構(gòu)的動(dòng)態(tài)視圖 145 12.2.3 軟件體系結(jié)構(gòu)的部署視圖 147 12.3 軟件體系結(jié)構(gòu)模式 147 12.3.1 抽象分層體系結(jié)構(gòu)模式 148 12.3.2 調(diào)用/返回模式 150 12.3.3 異步消息通信模式 150 12.3.4 帶回復(fù)的同步消息通信模式 153 12.4 描述軟件體系結(jié)構(gòu)模式 153 12.5 接口設(shè)計(jì) 154 12.6 設(shè)計(jì)軟件體系結(jié)構(gòu) 155 12.7 總結(jié) 157 練習(xí) 157 第13章 軟件子系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì) 159 13.1 軟件體系結(jié)構(gòu)設(shè)計(jì)中的問題 159 13.2 集成通信圖 160 13.3 子系統(tǒng)設(shè)計(jì)中的關(guān)注點(diǎn)分離 162 13.3.1 復(fù)合對(duì)象 162 13.3.2 地理位置 164 13.3.3 客戶端和服務(wù) 164 13.3.4 用戶交互 164 13.3.5 外部對(duì)象的接口 164 13.3.6 控制范圍 165 13.4 子系統(tǒng)組織準(zhǔn)則 166 13.4.1 客戶端子系統(tǒng) 166 13.4.2 用戶交互子系統(tǒng) 166 13.4.3 服務(wù)子系統(tǒng) 168 13.4.4 控制子系統(tǒng) 168 13.4.5 協(xié)調(diào)者子系統(tǒng) 169 13.4.6 輸入/輸出子系統(tǒng) 170 13.5 子系統(tǒng)間消息通信的決策 170 13.6 總結(jié) 172 練習(xí) 172 第14章 設(shè)計(jì)面向?qū)ο蟮能浖w系結(jié)構(gòu) 174 14.1 面向?qū)ο蟮能浖w系結(jié)構(gòu)的概念、體系結(jié)構(gòu)和模式 174 14.2 設(shè)計(jì)信息隱藏類 174 14.3 設(shè)計(jì)類接口和操作 175 14.3.1 基于交互模型設(shè)計(jì)類操作 175 14.3.2 基于交互模型設(shè)計(jì)類操作示例 176 14.3.3 基于靜態(tài)模型設(shè)計(jì)類操作 177 14.4 數(shù)據(jù)抽象類 177 14.5 狀態(tài)機(jī)類 178 14.6 圖形用戶交互類 179 14.7 業(yè)務(wù)邏輯類 180 14.8 設(shè)計(jì)中的繼承 180 14.8.1 類繼承 180 14.8.2 抽象類 182 14.8.3 抽象類和子類示例 182 14.8.4 抽象超類和子類設(shè)計(jì) 184 14.9 類接口規(guī)約 185 14.10 信息隱藏類的詳細(xì)設(shè)計(jì) 186 14.10.1 賬戶抽象超類的詳細(xì)設(shè)計(jì) 187 14.10.2 支票賬戶子類的詳細(xì)設(shè)計(jì) 187 14.10.3 儲(chǔ)蓄賬戶子類的詳細(xì)設(shè)計(jì) 188 14.11 多態(tài)和動(dòng)態(tài)綁定 188 14.12 Java中類的實(shí)現(xiàn) 189 14.13 總結(jié) 190 練習(xí) 190 第15章 設(shè)計(jì)客戶端/服務(wù)器軟件體系結(jié)構(gòu) 192 15.1 客戶端/服務(wù)器體系結(jié)構(gòu)的概念、體系結(jié)構(gòu)和模式 192 15.2 客戶端/服務(wù)軟件體系結(jié)構(gòu)的結(jié)構(gòu)模式 192 15.2.1 多客戶端/單服務(wù)體系結(jié)構(gòu)模式 192 15.2.2 多客戶端/多服務(wù)體系結(jié)構(gòu)模式 194 15.2.3 多層客戶端/服務(wù)體系結(jié)構(gòu)模式 195 15.3 客戶端/服務(wù)器體系結(jié)構(gòu)的通信模式 195 15.3.1 帶回復(fù)的同步消息通信模式 196 15.3.2 帶回調(diào)的異步消息通信模式 196 15.4 客戶端/服務(wù)器系統(tǒng)的中間件 197 15.4.1 客戶端/服務(wù)器系統(tǒng)平臺(tái) 197 15.4.2 Java遠(yuǎn)程方法調(diào)用 198 15.5 服務(wù)子系統(tǒng)的設(shè)計(jì) 199 15.5.1 順序性服務(wù)的設(shè)計(jì) 199 15.5.2 順序性服務(wù)設(shè)計(jì)示例 199 15.5.3 并發(fā)服務(wù)設(shè)計(jì) 200 15.6 包裝器類的設(shè)計(jì) 202 15.6.1 數(shù)據(jù)庫包裝器類的設(shè)計(jì) 202 15.6.2 數(shù)據(jù)庫包裝器類示例 202 15.7 從靜態(tài)模型到關(guān)系數(shù)據(jù)庫的設(shè)計(jì) 203 15.7.1 關(guān)系數(shù)據(jù)庫概念 203 15.7.2 確定主鍵 204 15.7.3 將關(guān)聯(lián)映射到外鍵 204 15.7.4 將關(guān)聯(lián)類映射到關(guān)聯(lián)表 205 15.7.5 將整體/部分關(guān)系映射到關(guān)系數(shù)據(jù)庫 206 15.7.6 將泛化/特化關(guān)系映射到關(guān)系數(shù)據(jù)庫 207 15.8 總結(jié) 208 練習(xí) 208 第16章 設(shè)計(jì)面向服務(wù)的體系結(jié)構(gòu) 210 16.1 面向服務(wù)的體系結(jié)構(gòu)的概念、體系結(jié)構(gòu)和模式 210 16.2 軟件體系結(jié)構(gòu)代理者模式 211 16.2.1 服務(wù)注冊(cè)模式 211 16.2.2 代理者轉(zhuǎn)發(fā)模式 212 16.2.3 代理者句柄模式 212 16.2.4 服務(wù)發(fā)現(xiàn)模式 213 16.3 面向服務(wù)的體系結(jié)構(gòu)的技術(shù)支持 214 16.3.1 Web服務(wù)協(xié)議 214 16.3.2 Web服務(wù) 214 16.3.3 注冊(cè)服務(wù) 214 16.3.4 代理和發(fā)現(xiàn)服務(wù) 215 16.4 軟件體系結(jié)構(gòu)事務(wù)模式 215 16.4.1 兩階段提交協(xié)議模式 216 16.4.2 復(fù)合事務(wù)模式 218 16.4.3 長事務(wù)模式 218 16.5 協(xié)商模式 219 16.6 面向服務(wù)體系結(jié)構(gòu)中的服務(wù)接口設(shè)計(jì) 221 16.7 面向服務(wù)體系結(jié)構(gòu)中的服務(wù)協(xié)調(diào) 222 16.8 設(shè)計(jì)面向服務(wù)的體系結(jié)構(gòu) 223 16.9 服務(wù)復(fù)用 225 16.10 總結(jié) 225 練習(xí) 225 第17章 設(shè)計(jì)基于構(gòu)件的軟件體系結(jié)構(gòu) 227 17.1 基于構(gòu)件的軟件體系結(jié)構(gòu)的概念、體系結(jié)構(gòu)和模式 227 17.2 設(shè)計(jì)基于構(gòu)件的分布式軟件體系結(jié)構(gòu) 228 17.3 復(fù)合子系統(tǒng)和構(gòu)件 228 17.4 使用UML建模構(gòu)件 229 17.4.1 構(gòu)件接口設(shè)計(jì) 229 17.4.2 供給和請(qǐng)求接口 230 17.4.3 連接器和交互構(gòu)件 230 17.4.4 設(shè)計(jì)復(fù)合構(gòu)件 231 17.5 構(gòu)件組織準(zhǔn)則 232 17.5.1 與物理數(shù)據(jù)源的鄰近性 232 17.5.2 局部自治性 232 17.5.3 性能 233 17.5.4 特定硬件 233 17.5.5 I/O構(gòu)件 234 17.6 組消息通信模式 234 17.6.1 廣播消息通信模式 234 17.6.2 訂閱/通知消息通信模式 234 17.6.3 使用訂閱和通知的并發(fā)服務(wù)設(shè)計(jì) 236 17.7 應(yīng)用部署 237 17.7.1 應(yīng)用部署事務(wù) 237 17.7.2 應(yīng)用部署示例 239 17.8 總結(jié) 239 練習(xí) 239 第18章 設(shè)計(jì)并發(fā)和實(shí)時(shí)軟件體系結(jié)構(gòu) 241 18.1 并發(fā)和實(shí)時(shí)軟件體系結(jié)構(gòu)的概念、體系結(jié)構(gòu)及模式 241 18.2 實(shí)時(shí)系統(tǒng)的特點(diǎn) 241 18.3 實(shí)時(shí)軟件體系結(jié)構(gòu)中的控制模式 242 18.3.1 集中式控制體系結(jié)構(gòu)模式 242 18.3.2 分布式控制體系結(jié)構(gòu)模式 242 18.3.3 層次化控制體系結(jié)構(gòu)模式 243 18.4 并發(fā)任務(wù)組織 244 18.5 I/O任務(wù)組織準(zhǔn)則 244 18.5.1 事件驅(qū)動(dòng)I/O任務(wù) 244 18.5.2 周期性I/O任務(wù) 245 18.5.3 按需驅(qū)動(dòng)I/O任務(wù) 247 18.6 內(nèi)部任務(wù)組織準(zhǔn)則 248 18.6.1 周期性任務(wù) 248 18.6.2 按需驅(qū)動(dòng)任務(wù) 248 18.6.3 控制任務(wù) 249 18.6.4 用戶交互任務(wù) 250 18.7 開發(fā)并發(fā)任務(wù)體系結(jié)構(gòu) 252 18.8 任務(wù)通信和同步 254 18.8.1 異步(松耦合)消息通信 254 18.8.2 帶回復(fù)的同步(緊耦合)消息通信 254 18.8.3 不帶回復(fù)的同步(緊耦合)消息通信 255 18.8.4 事件同步 255 18.8.5 信息隱藏對(duì)象上的任務(wù)交互 256 18.8.6 修正的并發(fā)通信圖 257 18.9 任務(wù)接口和任務(wù)行為規(guī)約 257 18.9.1 針對(duì)銀行服務(wù)任務(wù)的TIS示例 259 18.9.2 針對(duì)讀卡器接口任務(wù)的TIS示例 259 18.10 Java中并發(fā)任務(wù)的實(shí)現(xiàn) 260 18.11 總結(jié) 260 練習(xí) 261 第19章 設(shè)計(jì)軟件產(chǎn)品線體系結(jié)構(gòu) 262 19.1 演化軟件產(chǎn)品線工程 262 19.2 軟件產(chǎn)品線的需求建模 263 19.2.1 軟件產(chǎn)品線的用例建模 263 19.2.2 特征建模 264 19.3 軟件產(chǎn)品線的分析建模 266 19.3.1 軟件產(chǎn)品線的靜態(tài)建模 266 19.3.2 軟件產(chǎn)品線的動(dòng)態(tài)交互建模 266 19.4 軟件產(chǎn)品線的動(dòng)態(tài)狀態(tài)機(jī)建模 268 19.5 軟件產(chǎn)品線的設(shè)計(jì)建模 269 19.5.1 建;跇(gòu)件的軟件體系結(jié)構(gòu) 269 19.5.2 軟件體系結(jié)構(gòu)模式 270 19.6 總結(jié) 270 練習(xí) 271 第20章 軟件質(zhì)量屬性 272 20.1 可維護(hù)性 272 20.2 可修改性 273 20.3 可測試性 274 20.4 可追蹤性 274 20.5 可擴(kuò)展性 276 20.6 可復(fù)用性 276 20.7 性能 277 20.8 安全性 278 20.9 可用性 278 20.10 總結(jié) 279 練習(xí) 279 第四部分 案例研究 第21章 客戶端/服務(wù)器軟件體系結(jié)構(gòu)案例研究:銀行系統(tǒng) 282 21.1 問題描述 282 21.2 用例模型 282 21.2.1 “驗(yàn)證PIN碼”用例 284 21.2.2 具體的“取款”用例 284 21.2.3 具體的“查詢賬戶”用例 285 21.2.4 具體的“轉(zhuǎn)賬”用例 286 21.3 靜態(tài)建模 286 21.3.1 問題域的靜態(tài)建模 286 21.3.2 系統(tǒng)上下文的靜態(tài)建模 286 21.3.3 實(shí)體類的靜態(tài)建模 289 21.4 對(duì)象組織 290 21.4.1 客戶端/服務(wù)器子系統(tǒng)組織 290 21.4.2 ATM客戶端對(duì)象和類的組織:邊界對(duì)象 291 21.4.3 ATM客戶端對(duì)象和類的組織:用例中的對(duì)象 292 21.4.4 服務(wù)子系統(tǒng)中的對(duì)象組織 293 21.5 動(dòng)態(tài)建模 293 21.5.1 客戶端驗(yàn)證PIN碼交互圖的消息序列描述 294 21.5.2 服務(wù)器端驗(yàn)證PIN碼交互圖的消息序列描述 297 21.5.3 客戶端取款交互圖的消息序列描述 298 21.5.4 服務(wù)器端取款交互圖的消息序列描述 299 21.6 ATM狀態(tài)圖 303 21.6.1 處理客戶輸入復(fù)合狀態(tài) 304 21.6.2 處理交易復(fù)合狀態(tài) 306 21.6.3 結(jié)束交易復(fù)合狀態(tài) 307 21.7 銀行系統(tǒng)的設(shè)計(jì) 308 21.8 集成通信模型 308 21.9 將系統(tǒng)劃分為子系統(tǒng) 310 21.10 ATM客戶端子系統(tǒng)的設(shè)計(jì) 310 21.10.1 設(shè)計(jì)ATM子系統(tǒng)并發(fā)任務(wù)體系結(jié)構(gòu) 311 21.10.2 定義ATM子系統(tǒng)任務(wù)接口 312 21.10.3 設(shè)計(jì)ATM客戶端信息隱藏類 314 21.11 銀行服務(wù)子系統(tǒng)的設(shè)計(jì) 316 21.11.1 設(shè)計(jì)銀行服務(wù)子系統(tǒng)并發(fā)任務(wù)體系結(jié)構(gòu) 316 21.11.2 設(shè)計(jì)銀行服務(wù)信息隱藏類 317 21.11.3 設(shè)計(jì)銀行服務(wù)接口 318 21.12 關(guān)系數(shù)據(jù)庫設(shè)計(jì) 318 21.13 銀行系統(tǒng)的部署 320 21.14 其他設(shè)計(jì)考慮 322 21.15 詳細(xì)設(shè)計(jì) 322 21.15.1 讀卡器接口任務(wù)的事件順序邏輯示例 322 21.15.2 ATM控制任務(wù)的事件順序邏輯示例 323 21.15.3 銀行服務(wù)任務(wù)的事件順序邏輯示例 324 第22章 面向服務(wù)的體系結(jié)構(gòu)案例研究:在線購物系統(tǒng) 326 22.1 問題描述 326 22.2 用例建模 326 22.2.1 “瀏覽目錄”用例描述 327 22.2.2 “下單請(qǐng)求”用例描述 328 22.2.3 “處理配送訂單”用例描述 328 22.2.4 “確認(rèn)配送和給客戶開賬單”用例描述 329 22.2.5“查看訂單”用例的活動(dòng)圖 331 22.3 靜態(tài)建模 331 22.3.1 軟件系統(tǒng)上下文建模 331 22.3.2 問題域的靜態(tài)實(shí)體類建模 331 22.4 對(duì)象和類組織 332 22.5 動(dòng)態(tài)建模 333 22.5.1 “瀏覽目錄”用例的動(dòng)態(tài)建模 333 22.5.2 “下單請(qǐng)求”用例的動(dòng)態(tài)建模 334 22.5.3 “處理配送訂單”用例的動(dòng)態(tài)建模 335 22.5.4 “確認(rèn)配送和給客戶開賬單”用例的動(dòng)態(tài)建模 336 22.5.5 “查看訂單”用例的動(dòng)態(tài)建模 337 22.6 面向服務(wù)體系結(jié)構(gòu)的代理者和包裝器技術(shù)支持 338 22.7 設(shè)計(jì)建模 338 22.7.1 面向服務(wù)的體系結(jié)構(gòu)概述 338 22.7.2 分層軟件體系結(jié)構(gòu) 338 22.7.3 體系結(jié)構(gòu)通信模式 339 22.7.4 并發(fā)軟件設(shè)計(jì) 339 22.7.5 服務(wù)接口設(shè)計(jì) 341 22.7.6 面向服務(wù)的軟件體系結(jié)構(gòu)設(shè)計(jì) 344 22.7.7 構(gòu)件端口和接口設(shè)計(jì) 346 22.8 服務(wù)復(fù)用 347 第23章 基于構(gòu)件的軟件體系結(jié)構(gòu)案例研究:應(yīng)急監(jiān)控系統(tǒng) 348 23.1 問題描述 348 23.2 用例建模 348 23.2.1 “查看監(jiān)控?cái)?shù)據(jù)”用例描述 349 23.2.2 “查看警報(bào)”用例描述 349 23.2.3 “生成監(jiān)控?cái)?shù)據(jù)”用例描述 350 23.2.4 “生成警報(bào)”用例描述 350 23.3 靜態(tài)建模 351 23.4 動(dòng)態(tài)建模 351 23.4.1 類和對(duì)象組織 351 23.4.2 用例的通信圖 352 23.4.3 “查看警報(bào)”用例的通信圖 352 23.4.4 “查看監(jiān)控?cái)?shù)據(jù)”用例的通信圖 353 23.4.5 “生成警報(bào)”用例的通信圖 354 23.4.6 “生成監(jiān)控狀態(tài)”用例的通信圖 354 23.5 設(shè)計(jì)建模 355 23.5.1 集成的通信圖 355 23.5.2 基于構(gòu)件的分層體系結(jié)構(gòu) 355 23.5.3 體系結(jié)構(gòu)通信模式 357 23.5.4 基于分布式構(gòu)件的軟件體系結(jié)構(gòu) 359 23.5.5 構(gòu)件和服務(wù)接口設(shè)計(jì) 359 23.6 軟件構(gòu)件部署 362 第24章 實(shí)時(shí)軟件體系結(jié)構(gòu)案例研究:自動(dòng)引導(dǎo)車輛系統(tǒng) 363 24.1 問題描述 363 24.2 用例建模 363 24.2.1 “移動(dòng)到站點(diǎn)”用例 364 24.2.2 “發(fā)送車輛狀態(tài)”用例 364 24.3 靜態(tài)建模 365 24.3.1 概念靜態(tài)模型 365 24.3.2 軟件系統(tǒng)上下文建模 365 24.4 對(duì)象和類組織 366 24.5 動(dòng)態(tài)狀態(tài)機(jī)建模 366 24.6 動(dòng)態(tài)交互建模 367 24.6.1 “移動(dòng)到站點(diǎn)”用例的動(dòng)態(tài)建模 367 24.6.2 “發(fā)送車輛狀態(tài)”用例的動(dòng)態(tài)建模 370 24.7 設(shè)計(jì)建模 370 24.7.1 集成通信圖 370 24.7.2 基于構(gòu)件的工廠自動(dòng)化系統(tǒng)軟件體系結(jié)構(gòu) 370 24.7.3 自動(dòng)引導(dǎo)車輛系統(tǒng)的軟件體系結(jié)構(gòu) 372 24.7.4 并發(fā)軟件體系結(jié)構(gòu) 373 24.7.5 體系結(jié)構(gòu)通信模式 373 24.7.6 基于構(gòu)件的軟件體系結(jié)構(gòu) 375 24.7.7 構(gòu)件接口設(shè)計(jì) 377 附錄A 軟件體系結(jié)構(gòu)模式分類 379 附錄B 教學(xué)考慮 400 術(shù)語表 402 練習(xí)答案 412 參考文獻(xiàn) 413 索引 420
你還可能感興趣
我要評(píng)論
|