軟件架構理論與實踐

      網友投稿 1098 2025-03-31

      架構師書庫


      軟件架構理論與實踐

      李必信 廖力 王璐璐 孔祥龍 周穎 編著

      前  言

      軟件架構(Software Architecture,SA)設計是成熟軟件開發過程中的一個重要環節,它不僅是連接用戶需求和進一步設計、實現的橋梁,也是軟件開發早期階段質量保證的關鍵步驟。無數例子告訴我們,那些忽視SA設計質量的企業最終的教訓總是慘痛的。SA是軟件系統的一種整體的高層次結構表示,是系統的骨架和根基,決定了軟件系統的健壯性和生命周期長短。“根基不穩,大廈將傾”這句話在軟件系統中同樣適用。

      近幾年,在與大型企業的合作過程中筆者更加感覺到SA的重要性,大量的試驗已經證明SA不僅與軟件產品的質量屬性(如安全性、可靠性、可維護性等)有關,還與軟件產品的壽命有關。一個設計不夠完善的SA存在脆弱性問題,容易招致惡意攻擊,嚴重時會帶來安全風險;一個設計不夠完善的SA也有可能存在難以維護和擴展的問題,導致升級困難,影響軟件產品的壽命,等等。

      如你所知,在物理世界中,房屋、橋梁、汽車的架構等都是決定它們質量好壞和生命周期長短的重要因素之一;同樣,在軟件世界中,SA也是決定軟件質量好壞和軟件生命周期長短的重要因素之一。好的SA會使得軟件自身的性能、可靠性、安全性、可維護性等質量指標能夠很好地滿足用戶的需求,不好的SA會導致所有這些指標或部分指標達不到用戶要求。可見,“SA設計非常重要!那么,如何在實踐中設計和實現一個好的SA,如何評價某個SA的好與不好,以及如何控制SA的設計和演化過程,以便獲得質量更高的SA?這些都是軟件利益相關者日常關注的問題。

      本書全面介紹了SA,從SA發展的歷史、現在到可能的未來,從SA的基礎理論方法到技術手段,從SA的設計開發實踐到質量保障實踐,從靜態SA到動態SA再到運行態SA等,涵蓋了SA涉及的幾乎所有必要的知識點。本書包括三篇:基礎理論篇(上篇)包含6章內容,詳細介紹了SA的基礎理論方法和技術手段;工程實踐篇(中篇)包含10章內容,詳細介紹了SA的開發實踐和質量保障實踐;未來主題篇(下篇)包含7章內容,詳細介紹了SA的新研究主題、新業界關注點以及SA未來發展趨勢等。

      本書的讀者對象如下:

      作為高等學校軟件工程、計算機科學技術、網絡空間安全等相關學科的入門級教科書,面向高年級本科生和研究生;

      作為SA研究人員的參考書,本書討論的SA度量、仿真、驗證、評估等各種質量保障技術,以及解耦、技術債、演化、重構等各種軟件架構主題,為相關研究人員提供了很好的啟迪和行動指南;

      作為軟件架構師及其他工程技術人員的工具書,本書針對SA進行全方位介紹,涵蓋了與SA相關的幾乎所有知識點,為系統地學習和熟練掌握SA提供了所需的各方面知識。

      由于本書的定位是軟件架構入門級教材,我們將為廣大教師和學生提供豐富的教學和學習資源(可從華章網站www.hzbook.com獲取),包括課件、思考題解答、案例庫、訓練題庫,以及部分在線的軟件架構監控、仿真、度量、驗證和重構等原型工具。

      參與本書撰寫的人員主要是來自東南大學軟件工程研究所、計算機科學與工程學院的教師,包括李必信博士、廖力博士、王璐璐博士、周穎博士、孔祥龍博士等,其中李必信博士負責規劃全書內容和結構,并參與所有章節的撰寫,其他幾位老師分別參與部分章節的撰寫以及全書的校訂和完善工作。軟件工程研究所的部分博士后、博士生和碩士生參與了文字校對和畫圖等工作,他們是李宗花、董瑞志、劉輝輝、王桐、熊壬浩、王麗、宋啟威、韓偉娜、李慧丹、謝仁松、楊安奇、杜鵬程、尹強、宋震天、汪小飛、蘇曉威、段鵬飛、王家慧、湯立輝、杜成杰、程昕云、張理想、張春光、廖飛龍、許周等。

      在本書寫作過程中,還得到了來自武漢大學的應時教授和梁鵬教授、大連理工大學的江賀教授、南京大學的鄭滔教授、華為公司的吳文勝先生的指導和幫助,在此對他們的辛苦勞動表示衷心的感謝。

      李必信

      說明:

      1)建議課堂教學全部在多媒體機房內完成,實現“講-練”結合。

      2)建議教學分為核心知識技能模塊(前16章的內容)和技能提高模塊(第17~23章的內容),不同學校可以根據各自的教學要求和計劃學時數對教學內容進行取舍。

      3)建議本科生的教學內容是第1~16章必修,第17~23章選修;研究生的教學內容是第1~23章全部必修。

      目錄

      前言

      教學建議

      上篇 基礎理論篇

      第1章 軟件架構概述 …… 2

      1.1 軟件架構產生的背景 …… 2

      1.2 軟件架構的主要思想和特征 …… 3

      1.2.1 軟件架構的主要思想 …… 3

      1.2.2 軟件架構的特征 …… 3

      1.3 軟件架構的發展階段 …… 4

      1.3.1 基礎研究階段(1968—1994) …… 4

      1.3.2 概念體系和核心技術形成階段(1991—2000) …… 6

      1.3.3 理論體系完善與發展階段(1996年至今) …… 7

      1.3.4 普及應用階段(1999年至今) …… 7

      1.4 軟件架構研究和應用現狀 …… 7

      1.4.1 軟件架構理論和方法研究 …… 8

      1.4.2 軟件架構的應用研究 …… 11

      1.5 本章小結 …… 13

      思考題 …… 13

      參考文獻 …… 14

      第2章 軟件架構的概念 …… 17

      2.1 引言 …… 17

      2.2 組成派的主要定義 …… 18

      2.3 決策派的主要定義 …… 19

      2.4 其他定義 …… 20

      2.5 參考定義框架 …… 20

      2.6 本章小結 …… 21

      思考題 …… 22

      參考文獻 …… 22

      第3章 軟件架構模型?…… 23

      3.1 引言 …… 23

      3.2 軟件架構的可視化建模方法 …… 24

      3.2.1 基于圖形可視化的建模方法 …… 24

      3.2.2 基于UML的建模方法 …… 25

      3.3 軟件架構的形式化建模方法 …… 31

      3.3.1 基于形式化規格說明語言的建模方法 …… 32

      3.3.2 基于UML的形式化建模方法 …… 36

      3.4 其他建模方法 …… 45

      3.4.1 文本語言建模方法 …… 45

      3.4.2 模型驅動的架構建模方法 …… 47

      3.5 軟件架構建模方法的發展趨勢分析 …… 49

      3.5.1 第1層:文本模型 …… 50

      3.5.2 第2層:圖形可視化模型 …… 50

      3.5.3 第3層:UML模型 …… 50

      3.5.4 第4層:形式化模型 …… 51

      3.5.5 第5層:未來模型 …… 52

      3.6 本章小結 …… 52

      思考題 …… 53

      參考文獻 …… 53

      第4章 軟件架構的風格與模式 …… 59

      4.1 軟件架構風格的定義 …… 59

      4.2 軟件架構風格的分類 …… 60

      4.3 典型的軟件架構風格 …… 60

      4.3.1 管道-過濾器風格 …… 60

      4.3.2 主程序/子程序風格 …… 62

      4.3.3 面向對象風格 …… 64

      4.3.4 層次化風格 …… 65

      4.3.5 事件驅動風格 …… 67

      4.3.6 解釋器風格 …… 69

      4.3.7 基于規則的系統風格 …… 71

      4.3.8 倉庫風格 …… 73

      4.3.9 黑板系統風格 …… 75

      4.3.10 C2風格 …… 77

      4.3.11 客戶機/服務器風格 …… 79

      4.3.12 瀏覽器/服務器風格 …… 83

      4.3.13 平臺/插件風格 …… 85

      4.3.14 面向Agent風格 …… 87

      4.3.15 面向方面架構風格 …… 91

      4.3.16 面向服務架構風格 …… 93

      4.3.17 正交架構風格 …… 95

      4.3.18 異構風格 …… 97

      4.3.19 基于層次消息總線的架構風格 …… 99

      4.3.20 模型-視圖-控制器風格 …… 101

      4.4 軟件架構模式 …… 103

      4.5 本章小結 …… 103

      思考題 …… 104

      參考文獻 …… 104

      第5章 軟件架構描述語言 …… 107

      5.1 引言 …… 107

      5.2 ADL的核心設計元素 …… 107

      5.2.1 組件 …… 108

      5.2.2 連接件 …… 108

      5.2.3 架構配置 …… 109

      5.3 幾種典型的ADL …… 109

      5.3.1 Aesop …… 109

      5.3.2 C2 SADL …… 110

      5.3.3 UniCon …… 114

      5.3.4 Wright …… 116

      5.3.5 XYZ/ADL …… 117

      5.3.6 ACME …… 118

      5.3.7 XBA …… 118

      5.3.8 ABC/ADL …… 120

      5.3.9 MetaH …… 121

      5.3.10 Rapide …… 121

      5.3.11 Darwin …… 122

      5.3.12 xADL 2.0 …… 122

      5.4 本章小結 …… 123

      思考題 …… 123

      參考文獻 …… 123

      第6章 軟件架構與敏捷開發 …… 125

      6.1 軟件開發的發展簡史 …… 125

      6.2 敏捷開發 …… 127

      6.2.1 敏捷開發的基本理念 …… 127

      6.2.2 敏捷開發實踐 …… 128

      6.3 敏捷開發過程中的軟件架構設計 …… 130

      6.3.1 需求分析 …… 130

      6.3.2 初始設計 …… 130

      6.3.3 迭代過程 …… 130

      6.3.4 敏捷的設計思想 …… 131

      6.4 兩類常見的敏捷軟件架構設計方法 …… 132

      6.4.1 敏捷開發初始階段設計 …… 133

      6.4.2 敏捷開發迭代過程中的設計 …… 134

      6.5 本章小結 …… 136

      思考題 …… 137

      參考文獻 …… 137

      中篇 工程實踐篇

      第7章 架構驅動的軟件開發 …… 140

      7.1 架構驅動的軟件開發簡介 …… 140

      7.2 架構需求獲取 …… 140

      7.3 架構設計、文檔化和評估 …… 144

      7.3.1 架構設計、文檔化和評估是一個迭代過程 …… 144

      7.3.2 什么是架構的結構 …… 147

      7.3.3 從架構需求出發的評估 …… 148

      7.3.4 尋找ATAM中的“權衡點”和“敏感點” …… 149

      7.4 架構的實現與維護 …… 151

      7.4.1 架構的實現 …… 151

      7.4.2 架構的維護 …… 152

      7.5 本章小結 …… 152

      思考題 …… 152

      參考文獻 …… 153

      第8章 軟件架構設計和實現 …… 154

      8.1 從需求分析到架構設計 …… 154

      8.1.1 軟件架構對需求的影響 …… 155

      8.1.2 基于軟件需求的軟件架構設計 …… 156

      8.1.3 需求與架構的協同演化 …… 163

      8.2 從軟件架構到詳細設計 …… 163

      8.2.1 詳細設計對軟件架構的影響 …… 164

      8.2.2 從軟件架構映射到詳細設計 …… 166

      8.2.3 軟件架構視圖 …… 168

      8.3 軟件架構設計原則 …… 169

      8.3.1 架構設計的一些基本原則 …… 169

      8.3.2 架構設計的關鍵原則 …… 170

      8.4 軟件架構設計面臨的主要威脅及對策 …… 171

      8.4.1 被忽略的重要非功能需求 …… 171

      8.4.2 頻繁變化的需求 …… 172

      8.4.3 考慮不全面的架構設計 …… 172

      8.4.4 不及時的架構驗證 …… 173

      8.4.5 較高的創造性架構比重 …… 173

      8.4.6 架構的低可執行性 …… 174

      8.5 本章小結 …… 174

      思考題 …… 174

      參考文獻 …… 174

      第9章 軟件架構的演化和維護 …… 178

      9.1 軟件架構演化和軟件架構定義的關系 …… 179

      9.1.1 對象演化 …… 179

      9.1.2 消息演化 …… 180

      9.1.3 復合片段演化 …… 184

      9.1.4 約束演化 …… 186

      9.2 軟件架構演化方式的分類 …… 186

      9.2.1 軟件架構靜態演化 …… 187

      9.2.2 軟件架構動態演化 …… 190

      9.3 軟件架構演化原則 …… 197

      9.4 軟件架構維護 …… 201

      9.4.1 軟件架構知識管理 …… 201

      9.4.2 軟件架構修改管理 …… 202

      9.4.3 軟件架構版本管理 …… 202

      9.5 本章小結 …… 202

      思考題 …… 203

      參考文獻 …… 203

      第10章 軟件架構恢復 …… 207

      10.1 引言 …… 207

      10.1.1 軟件架構的恢復過程 …… 208

      10.1.2 架構信息提取 …… 208

      10.1.3 架構恢復技術 …… 209

      10.2 架構信息提取 …… 212

      10.2.1 相關定義 …… 212

      《軟件架構理論與實踐》

      10.2.2 從源代碼提取架構信息 …… 212

      10.2.3 從編譯構建過程提取架構信息 …… 215

      10.2.4 從目錄層次提取架構信息 …… 217

      10.2.5 基于架構文檔的架構信息提取 …… 219

      10.3 基于多規則聚類的架構恢復 …… 220

      10.3.1 聚類理論基礎 …… 220

      10.3.2 架構恢復流程 …… 222

      10.3.3 具體恢復技術 …… 223

      10.4 本章小結 …… 232

      思考題 …… 233

      參考文獻 …… 233

      第11章 軟件架構質量 …… 237

      11.1 引言 …… 237

      11.2 軟件架構與質量屬性 …… 239

      11.3 軟件架構質量指標 …… 240

      11.3.1 內部質量指標 …… 240

      11.3.2 外部質量指標 …… 243

      11.4 軟件架構質量保障和評估方法 …… 245

      11.4.1 評估準備 …… 246

      11.4.2 利益相關者 …… 247

      11.4.3 參與者 …… 248

      11.4.4 評估時機 …… 249

      11.4.5 評估技術 …… 250

      11.4.6 軟件架構評估的收益與成本 …… 253

      11.5 本章小結 …… 254

      思考題 …… 254

      參考文獻 …… 254

      第12章 軟件架構仿真 …… 256

      12.1 軟件仿真的概念 …… 256

      12.1.1 連續型仿真 …… 256

      12.1.2 離散型仿真 …… 257

      12.1.3 混合型仿真 …… 257

      12.2 軟件架構仿真流程 …… 258

      12.3 UML軟件架構仿真 …… 259

      12.3.1 基于UML類圖和順序圖的軟件架構仿真 …… 259

      12.3.2 基于UML用例圖和活動圖的軟件架構仿真 …… 259

      12.3.3 從帶有注釋的UML圖產生OPNET仿真模型 …… 260

      12.4 非UML軟件架構仿真 …… 261

      12.4.1 SASIM仿真:用于系統功能分析 …… 261

      12.4.2 面向對象數據庫的架構仿真 …… 263

      12.5 軟件架構仿真實踐 …… 264

      12.5.1 軟件架構描述文檔 …… 264

      12.5.2 SSD和SD轉化為事件執行圖 …… 266

      12.5.3 局部仿真和整體仿真 …… 269

      12.5.4 仿真結果的分析 …… 275

      12.6 本章小結 …… 276

      思考題 …… 276

      參考文獻 …… 277

      第13章 軟件架構度量和評估 …… 279

      13.1 引言 …… 279

      13.1.1 單版本的軟件架構度量和評估 …… 280

      13.1.2 多版本的軟件架構度量和評估 …… 281

      13.2 典型的軟件架構度量和評估方法 …… 283

      13.2.1 SAEM方法 …… 283

      13.2.2 SAABNet方法 …… 283

      13.2.3 SACMM方法 …… 285

      13.2.4 SASAM方法 …… 287

      13.2.5 ALRRA方法 …… 288

      13.2.6 AHP方法 …… 290

      13.2.7 COSMIC+UML方法 …… 291

      13.2.8 基于Shannon信息論的方法 …… 292

      13.3 軟件架構度量和評估過程 …… 293

      13.3.1 質量屬性選擇 …… 293

      13.3.2 軟件架構可維護性度量及評估 …… 294

      13.3.3 軟件架構可靠性度量及評估 …… 297

      13.4 軟件架構演化度量和評估實踐 …… 302

      13.4.1 演化過程已知的軟件架構演化評估 …… 302

      13.4.2 演化過程未知的軟件架構演化評估 …… 305

      13.4.3 實例分析 …… 305

      13.5 本章小結 …… 313

      思考題 …… 313

      參考文獻 …… 313

      第14章 軟件架構形式化驗證 …… 317

      14.1 引言 …… 317

      14.2 形式化驗證 …… 317

      14.2.1 形式語義 …… 318

      14.2.2 規約語言 …… 318

      14.2.3 求精分析 …… 319

      14.2.4 驗證方法 …… 320

      14.2.5 形式化驗證方法的優缺點 …… 320

      14.3 軟件架構驗證 …… 322

      14.3.1 靜態軟件架構驗證 …… 322

      14.3.2 動態軟件架構驗證 …… 323

      14.3.3 運行態軟件架構驗證 …… 323

      14.4 基于SPIN的靜態軟件架構驗證實踐 …… 324

      14.4.1 SPIN簡介 …… 324

      14.4.2 基于SPIN的驗證過程 …… 325

      14.4.3 架構模型 …… 326

      14.4.4 驗證模型 …… 332

      14.4.5 驗證結果 …… 334

      14.5 架構演化驗證案例分析——以MVC為例 …… 335

      14.5.1 演化案例 …… 335

      14.5.2 場景1演化評估 …… 337

      14.5.3 場景2演化評估 …… 341

      14.6 本章小結 …… 344

      思考題 …… 345

      參考文獻 …… 345

      第15章 軟件架構分析與測試 …… 347

      15.1 引言 …… 347

      15.2 軟件架構分析方法 …… 347

      15.2.1 SAAM …… 348

      15.2.2 SAAMCS …… 350

      15.2.3 ESAAMI …… 351

      15.2.4 SAAMER …… 352

      15.2.5 ATAM …… 352

      15.2.6 QAW …… 356

      15.2.7 OATAM …… 358

      15.2.8 ARID …… 358

      15.2.9 SBAR …… 361

      15.2.10 ALPSM …… 362

      15.2.11 SNA …… 362

      15.2.12 ALMA …… 363

      15.2.13 PSAEM …… 364

      15.2.14 ASAAM …… 365

      15.2.15 PASA …… 365

      15.2.16 SALUTA …… 367

      15.2.17 HoPLAA …… 368

      15.2.18 CBAM …… 370

      15.2.19 CPASA …… 370

      15.3 軟件架構測試 …… 371

      15.4 本章小結 …… 371

      思考題 …… 372

      參考文獻 …… 372

      第16章 軟件架構重構 …… 375

      16.1 引言 …… 375

      16.2 軟件重構現狀 …… 376

      16.2.1 軟件重構概念 …… 376

      16.2.2 重構點識別和定位方法 …… 376

      16.2.3 重構實施技術 …… 379

      16.2.4 現狀分析 …… 380

      16.3 基于度量的軟件架構重構 …… 381

      16.3.1 軟件架構度量評估 …… 382

      16.3.2 產生重構需求 …… 385

      16.3.3 分析重構需求 …… 385

      16.3.4 建議重構操作 …… 387

      16.3.5 實施重構操作 …… 389

      16.4 面向模式的軟件架構重構 …… 392

      16.4.1 模式選擇 …… 392

      16.4.2 重構點定位 …… 393

      16.4.3 重構實施 …… 394

      16.5 本章小結 …… 397

      思考題 …… 398

      參考文獻 …… 398

      下篇 未來主題篇

      第17章 軟件架構的腐蝕和對策 …… 402

      17.1 引言 …… 402

      17.2 軟件架構腐蝕的含義 …… 403

      17.3 軟件架構腐蝕的預防控制策略 …… 403

      17.3.1 腐蝕最小化方法 …… 403

      17.3.2 腐蝕預防方法 …… 406

      17.3.3 腐蝕修補方法 …… 407

      17.4 軟件架構實踐中面臨的主要威脅及其對策 …… 408

      17.4.1 主要威脅 …… 408

      17.4.2 有效對策 …… 409

      17.5 本章小結 …… 409

      思考題 …… 409

      參考文獻 …… 409

      第18章 軟件架構解耦 …… 412

      18.1 引言 …… 412

      18.2 分層架構及其解耦 …… 413

      18.2.1 模式描述 …… 413

      18.2.2 架構解耦 …… 413

      18.2.3 實例分析 …… 414

      18.3 微內核架構及其解耦 …… 414

      18.3.1 模式描述與解耦 …… 415

      18.3.2 實例分析 …… 415

      18.4 微服務架構及其解耦 …… 416

      18.4.1 模式描述與解耦 …… 416

      18.4.2 設計原則 …… 417

      18.4.3 實例分析 …… 417

      18.5 黑板架構風格及其解耦 …… 418

      18.6 干凈架構及其解耦 …… 419

      18.6.1 模式描述 …… 419

      18.6.2 架構解耦 …… 421

      18.7 管道-過濾器風格及其解耦 …… 421

      18.7.1 模式描述與解耦 …… 421

      18.7.2 實例分析 …… 422

      18.8 基于元模型的架構及其解耦 …… 422

      18.9 REST架構風格及其解耦 …… 422

      18.10 本章小結 …… 424

      思考題 …… 424

      參考文獻 …… 424

      第19章 軟件架構技術債 …… 426

      19.1 引言 …… 426

      19.2 技術債簡介 …… 426

      19.2.1 技術債的定義 …… 426

      19.2.2 技術債的分類 …… 427

      19.2.3 技術債的產生 …… 428

      19.3 設計債 …… 429

      19.3.1 設計債的定義 …… 429

      19.3.2 設計債的識別方法 …… 429

      19.3.3 架構技術債 …… 430

      19.4 代碼債 …… 432

      19.5 測試債 …… 432

      19.6 文檔債 …… 433

      19.7 技術債的處理 …… 433

      19.7.1 發現技術債 …… 433

      19.7.2 管理技術債 …… 433

      19.7.3 償還技術債 …… 435

      19.8 本章小結 …… 435

      思考題 …… 435

      參考文獻 …… 436

      第20章 軟件架構壞味道 …… 438

      20.1 引言 …… 438

      20.2 典型的代碼壞味道 …… 439

      20.2.1 應用級壞味道 …… 439

      20.2.2 類級壞味道 …… 440

      20.2.3 方法級壞味道 …… 441

      20.3 典型的設計壞味道 …… 442

      20.3.1 架構壞味道 …… 442

      20.3.2 架構壞味道的檢測 …… 447

      20.4 本章小結 …… 450

      思考題 …… 451

      參考文獻 …… 451

      第21章 軟件架構脆弱性 …… 453

      21.1 引言 …… 453

      21.2 什么是軟件脆弱性 …… 453

      21.2.1 軟件脆弱性定義 …… 453

      21.2.2 軟件脆弱性的特點和產生的原因 …… 454

      21.2.3 軟件脆弱性的生命周期 …… 455

      21.3 典型的軟件架構脆弱性 …… 455

      21.3.1 分層架構 …… 456

      21.3.2 C/S架構 …… 457

      21.3.3 B/S架構 …… 457

      21.3.4 事件驅動架構 …… 458

      21.3.5 MVC架構 …… 460

      21.3.6 微內核架構 …… 461

      21.3.7 管道-過濾器架構 …… 461

      21.3.8 黑板模式架構 …… 462

      21.3.9 微服務架構 …… 462

      21.3.10 基于空間的架構 …… 463

      21.3.11 PAC架構 …… 464

      21.4 本章小結 …… 465

      思考題 …… 466

      參考文獻 …… 466

      第22章 軟件架構模式識別 …… 468

      22.1 引言 …… 468

      22.2 模式識別方法現狀 …… 468

      22.2.1 設計模式識別現狀 …… 468

      22.2.2 架構模式識別現狀 …… 469

      22.3 兩種典型的架構模式識別方法 …… 470

      22.3.1 IDAPO方法 …… 470

      22.3.2 基于DSL的架構模式識別方法 …… 472

      22.4 基于本體的架構模式識別方法 …… 473

      22.4.1 可行性分析 …… 473

      22.4.2 識別過程 …… 474

      22.4.3 典型步驟 …… 475

      22.5 本章小結 …… 481

      思考題 …… 481

      參考文獻 …… 481

      第23章 結束語 …… 484

      23.1 軟件架構是早期階段質量保障的基礎 …… 484

      23.2 軟件架構的作用 …… 485

      23.2.1 好的架構設計能夠滿足系統的多種品質 …… 485

      23.2.2 架構設計能夠使利益相關者達成一致的目標 …… 485

      23.2.3 架構設計能夠支持計劃編制過程 …… 485

      23.2.4 架構設計能夠有效地管理復雜性 …… 486

      23.2.5 架構設計為重用奠定了基礎 …… 486

      23.2.6 架構設計能夠降低維護費用 …… 487

      23.2.7 架構設計能夠支持沖突分析 …… 487

      23.2.8 架構設計的其他作用 …… 487

      23.3 軟件架構發展趨勢 …… 487

      思考題 …… 489

      參考文獻 …… 489

      軟件開發 架構設計 軟件

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:在 Heroku 上托管 Django 項目
      下一篇:加載項PDF或XPS(pdf插件加載中)
      相關文章
      亚洲国产精品综合久久网络 | 亚洲大尺度无码无码专线一区| 亚洲伊人久久精品影院| 亚洲欧美日韩久久精品| 亚洲中文字幕无码mv| 亚洲人成激情在线播放| 亚洲午夜一区二区电影院| 亚洲福利视频网站| 亚洲福利电影在线观看| 中文字幕亚洲第一在线| 亚洲视频一区二区在线观看| 亚洲精品在线播放| 亚洲精品无码久久久久久久| 亚洲精品mv在线观看| 亚洲毛片无码专区亚洲乱| 亚洲网址在线观看| 久久久亚洲裙底偷窥综合| 亚洲视频在线观看网站| 亚洲最新黄色网址| 亚洲xxxxxx| 亚洲色大成网站www久久九| 国产精品亚洲精品久久精品| 亚洲国产人成中文幕一级二级| 亚洲国产精品尤物YW在线观看| 国产精品亚洲αv天堂无码| 一本久久a久久精品亚洲| 中文字幕精品亚洲无线码二区| 亚洲伊人色欲综合网| 久热综合在线亚洲精品| 老色鬼久久亚洲AV综合| 亚洲人6666成人观看| 亚洲色大成WWW亚洲女子| 国产精品自拍亚洲| 伊伊人成亚洲综合人网7777| 亚洲AV永久无码精品| 久久亚洲AV成人无码| 亚洲偷偷自拍高清| 无码欧精品亚洲日韩一区夜夜嗨| 亚洲午夜无码AV毛片久久| 日韩亚洲欧洲在线com91tv| 久久水蜜桃亚洲av无码精品麻豆|