軟件體系結(jié)構(gòu)是從軟件設(shè)計(jì)發(fā)展起來(lái)的一門(mén)新興學(xué)科,目前已經(jīng)成為軟件工程的一個(gè)重要研究領(lǐng)域。軟件體系 結(jié)構(gòu)的目標(biāo)是為軟件開(kāi)發(fā)者提供統(tǒng)一、精確、高度抽象和易于分析的系統(tǒng)信息。合理的框架結(jié)構(gòu)是應(yīng)用系統(tǒng)開(kāi)發(fā)的 重要基礎(chǔ)和保障。本書(shū)將系統(tǒng)地介紹軟件體系結(jié)構(gòu)的基本原理,對(duì)軟件體系結(jié)構(gòu)的理論知識(shí)、發(fā)展?fàn)顩r和應(yīng)用實(shí)踐 進(jìn)行細(xì)致分析,分 11 章,主要包括軟件體系結(jié)構(gòu)概論、軟件體系結(jié)構(gòu)建模、軟件體系結(jié)構(gòu)風(fēng)格、特定領(lǐng)域的軟件體 系結(jié)構(gòu)、Web 服務(wù)體系結(jié)構(gòu)、軟件演化技術(shù)、軟件產(chǎn)品線、設(shè)計(jì)模式、創(chuàng)建型設(shè)計(jì)模式、結(jié)構(gòu)型設(shè)計(jì)模式、行為型 設(shè)計(jì)模式等。本書(shū)采用案例、數(shù)據(jù)、圖示和其他相關(guān)材料對(duì)知識(shí)點(diǎn)進(jìn)行講解。通過(guò)學(xué)習(xí)本書(shū)的相關(guān)內(nèi)容,讀者將對(duì) 軟件體系結(jié)構(gòu)的概念和知識(shí)有一個(gè)全面的了解。
本書(shū)從實(shí)際工程出發(fā),選擇具有應(yīng)用價(jià)值的軟件體系結(jié)構(gòu)知識(shí)點(diǎn),通過(guò)對(duì)比講解、圖形展示、案例講述的方式使學(xué)生能夠更好地掌握軟件體系結(jié)構(gòu)的基本原理,并能夠在實(shí)踐中進(jìn)行推廣應(yīng)用。同時(shí)配有課件、課程思政等數(shù)字資源。
在計(jì)算機(jī)學(xué)科和軟件工程學(xué)科中,軟件體系結(jié)構(gòu)是一個(gè)非常重要的研究領(lǐng)域。自從 20 世 紀(jì) 60 年代以來(lái),人們就開(kāi)始對(duì)系統(tǒng)的框架結(jié)構(gòu)進(jìn)行探索,取得了一些成果,并將其應(yīng)用于軟 件開(kāi)發(fā)過(guò)程中。然而,計(jì)算機(jī)和軟件正在快速地發(fā)展,相關(guān)理論也在不斷完善,這就需要更 新軟件體系結(jié)構(gòu)教材的內(nèi)容,以反映最新的軟件開(kāi)發(fā)理論和框架實(shí)現(xiàn)技術(shù)。 本書(shū)比較系統(tǒng)地介紹了軟件體系結(jié)構(gòu)的理論知識(shí)和實(shí)現(xiàn)技術(shù),既兼顧傳統(tǒng)的和實(shí)用的軟 件框架開(kāi)發(fā)方法,又包含軟件體系結(jié)構(gòu)的最新研究成果。其特點(diǎn)是: (1)本書(shū)的理論部分以知識(shí)點(diǎn)的形式對(duì)重點(diǎn)內(nèi)容進(jìn)行了分析和總結(jié),使枯燥的理論內(nèi)容 變得醒目、易于理解。 (2)針對(duì)每一種設(shè)計(jì)模式,本書(shū)給出相關(guān)案例,將理論知識(shí)和應(yīng)用實(shí)踐緊密地結(jié)合起來(lái)。 全書(shū)共分 11 章,第 1 章為軟件體系結(jié)構(gòu)概論,介紹了軟件體系結(jié)構(gòu)的概念、發(fā)展趨勢(shì)和應(yīng)用 現(xiàn)狀;第 2 章為軟件體系結(jié)構(gòu)建模,討論了體系結(jié)構(gòu)的模型和描述方法;第 3 章為軟件體系 結(jié)構(gòu)風(fēng)格,講解了常用的幾種軟件框架結(jié)構(gòu);第 4 章為特定領(lǐng)域的軟件體系結(jié)構(gòu),介紹了 DSSA 的基本概念、領(lǐng)域工程、應(yīng)用工程和開(kāi)發(fā)過(guò)程;第 5 章為 Web 服務(wù)體系結(jié)構(gòu),討論了 Web 服 務(wù)技術(shù)、面向服務(wù)的體系結(jié)構(gòu)、企業(yè)服務(wù)總線和網(wǎng)格體系結(jié)構(gòu);第 6 章為軟件演化技術(shù),講 解了演化的基本概念、靜態(tài)演化技術(shù)、動(dòng)態(tài)演化技術(shù)和演化軟件的設(shè)計(jì)原則;第 7 章為軟件 產(chǎn)品線,介紹了軟件產(chǎn)品線的起源、定義、開(kāi)發(fā)模型和組織結(jié)構(gòu);第 8 章為設(shè)計(jì)模式,討論 了設(shè)計(jì)模式的基本原理;第 9 章為創(chuàng)建型設(shè)計(jì)模式,講解了創(chuàng)建型設(shè)計(jì)模式的典型實(shí)例;第 10 章為結(jié)構(gòu)型設(shè)計(jì)模式,講解了結(jié)構(gòu)型設(shè)計(jì)模式的典型實(shí)例;第 11 章為行為型設(shè)計(jì)模式,講 解了行為型設(shè)計(jì)模式的典型實(shí)例。 本書(shū)受黑龍江省自然科學(xué)基金(編號(hào):LH2022F030)資助。 本書(shū)由多年來(lái)一直從事軟件體系結(jié)構(gòu)教學(xué)工作的教師編寫(xiě),第 1 章~第 7 章由哈爾濱理 工大學(xué)的高雪瑤編寫(xiě),第 8 章~第 11 章由哈爾濱理工大學(xué)的張春祥編寫(xiě)。高雪瑤負(fù)責(zé)全書(shū)的 策劃和統(tǒng)稿。 本書(shū)在編寫(xiě)過(guò)程中,借鑒和吸收了國(guó)內(nèi)外專(zhuān)家、學(xué)者的相關(guān)資料,在此一并致謝。 雖然編者經(jīng)過(guò)精心的準(zhǔn)備和調(diào)研,對(duì)本書(shū)進(jìn)行了多次修改,但書(shū)中難免存在不足和疏漏 之處,希望廣大讀者批評(píng)指正。
高雪瑤,教授博導(dǎo)、博士、博士后,哈爾濱理工大學(xué)計(jì)算機(jī)學(xué)院副院長(zhǎng)、中國(guó)計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)專(zhuān)委會(huì)執(zhí)行委員、黑龍江省計(jì)算機(jī)學(xué)會(huì)理事、黑龍江省計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)應(yīng)用專(zhuān)委會(huì)委員、黑龍江省計(jì)算機(jī)學(xué)會(huì)教育工作委員會(huì)委員、黑龍江省計(jì)算機(jī)學(xué)會(huì)青工委委員、黑龍江省計(jì)算機(jī)學(xué)會(huì)專(zhuān)委工作委員會(huì)委員、CCF YOCSEF哈爾濱分論壇副主席、校理工英才人才項(xiàng)目入選者。研究方向:軟件體系結(jié)構(gòu)、計(jì)算機(jī)圖形學(xué)與CAD、自然語(yǔ)言處理。在軟件體系結(jié)構(gòu)、計(jì)算機(jī)圖形學(xué)與CAD和自然語(yǔ)言處理等方向上,共發(fā)表文章60余篇,其中,SCI檢索10篇,EI檢索30余篇。主持完成國(guó)家自然科學(xué)基金1項(xiàng),主持完成黑龍江省自然科學(xué)基金1項(xiàng),主持黑龍江省自然科學(xué)基金-聯(lián)合引導(dǎo)項(xiàng)目1項(xiàng),主持完成黑龍江省教育廳科學(xué)技術(shù)研究項(xiàng)目2項(xiàng),主持完成黑龍江省普通高;究蒲袠I(yè)務(wù)費(fèi)專(zhuān)項(xiàng)資金資助項(xiàng)目1項(xiàng),參與國(guó)家自然科學(xué)基金2項(xiàng),參與國(guó)家教J育Y部春暉計(jì)劃項(xiàng)目1項(xiàng),參與黑龍江省自然科學(xué)基金1項(xiàng),參與黑龍江省自然科學(xué)基金-聯(lián)合引導(dǎo)項(xiàng)目1項(xiàng),參與黑龍江省教育廳科學(xué)技術(shù)研究項(xiàng)目2項(xiàng),參與校青年基金1項(xiàng)。出版專(zhuān)著2部,編寫(xiě)教材1本。授權(quán)發(fā)明專(zhuān)利5項(xiàng)。高雪瑤在教學(xué)第d一線工作已經(jīng)13年,主要給計(jì)算機(jī)科學(xué)技術(shù)專(zhuān)業(yè)的本科生講授軟件體系結(jié)構(gòu)、編譯原理、操作系統(tǒng)、計(jì)算機(jī)圖形學(xué)基礎(chǔ)、3DS Max及應(yīng)用、計(jì)算機(jī)專(zhuān)業(yè)導(dǎo)論等專(zhuān)業(yè)課程,同時(shí),指導(dǎo)編譯原理、操作系統(tǒng)、計(jì)算機(jī)圖形學(xué)基礎(chǔ)實(shí)驗(yàn),以及創(chuàng)新實(shí)踐課。此外,還為碩士研究生講授了計(jì)算機(jī)學(xué)科前沿(交叉)專(zhuān)題、高級(jí)軟件測(cè)試等重要課程。
前言
第 1 章 軟件體系結(jié)構(gòu)概論
1 1.1 軟件危機(jī)
1 1.2 軟件復(fù)用
1.1.3 軟件構(gòu)件的組織與檢索
1.1.4 軟件構(gòu)件化
1.1.5 軟件體系結(jié)構(gòu)
習(xí)題
第 2 章 軟件體系結(jié)構(gòu)建模
2.1 軟件體系結(jié)構(gòu)建模概述
2.2 軟件體系結(jié)構(gòu)模型
2.3 軟件體系結(jié)構(gòu)的形式化描述
2.4 軟件體系結(jié)構(gòu)的生命周期
2.5 軟件體系結(jié)構(gòu)的建模語(yǔ)言
2.6 基于軟件體系結(jié)構(gòu)的開(kāi)發(fā)
習(xí)題
第 3 章 軟件體系結(jié)構(gòu)風(fēng)格
3.1 軟件體系結(jié)構(gòu)風(fēng)格概述
3.2 常用的軟件體系結(jié)構(gòu)風(fēng)格
3.3 管道/過(guò)濾器體系結(jié)構(gòu)風(fēng)格
3.4 面向?qū)ο篌w系結(jié)構(gòu)風(fēng)格
3.5 事件驅(qū)動(dòng)體系結(jié)構(gòu)風(fēng)格
3.6 分層體系結(jié)構(gòu)風(fēng)格
3.7 C2 體系結(jié)構(gòu)風(fēng)格
3.8 數(shù)據(jù)共享體系結(jié)構(gòu)風(fēng)格
3.9 解釋器體系結(jié)構(gòu)風(fēng)格
3.10 反饋控制環(huán)體系結(jié)構(gòu)風(fēng)格
3.11 客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu)風(fēng)格
3.12 瀏覽器/服務(wù)器體系結(jié)構(gòu)風(fēng)格
3.13 公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)風(fēng)格
3.14 正交體系結(jié)構(gòu)風(fēng)格
3.1 5 基 于 層 次 消 息 總 線 的 體 系 結(jié) 構(gòu) 風(fēng) 格
3.1 6 M V C 體 系 結(jié) 構(gòu) 風(fēng) 格
3.1 7 異 構(gòu) 體 系 結(jié) 構(gòu) 集 成
習(xí) 題
第 4 章 特 定 領(lǐng) 域 的 軟 件 體 系 結(jié) 構(gòu)
4 . 1 特 定 領(lǐng) 域 的 軟 件 體 系 結(jié) 構(gòu) 定 義
4 . 2 D S S A 的 基 本 活 動(dòng)
4 . 3 D S S A 的 參 與 者
4 . 4 D S S A 的 生 命 周 期
4 . 5 D S S A 的 建 立
4 . 6 基 于 D S S A 的 軟 件 開(kāi) 發(fā)
4 . 7 D S S A 與 軟 件 體 系 結(jié) 構(gòu) 風(fēng) 格
4 . 8 D S S A 對(duì) 軟 件 開(kāi) 發(fā) 的 意 義
4 . 9 D S S A 的 應(yīng) 用 實(shí) 例
習(xí) 題
第 5 章 We b 服 務(wù) 體 系 結(jié) 構(gòu)
5 . 1 We b 服 務(wù) 概 述
5 . 2 We b 服 務(wù) 技 術(shù)
5 . 3 面 向 服 務(wù) 的 體 系 結(jié) 構(gòu)
5 . 4 企 業(yè) 服 務(wù) 總 線
5 . 5 網(wǎng) 格 體 系 結(jié) 構(gòu)
習(xí) 題
第 6 章 軟 件 演 化 技 術(shù)
6 . 1 軟 件 演 化 概 述
6 . 2 軟 件 需 求 演 化
6 . 3 軟 件 演 化 的 分 類(lèi)
6 . 4 軟 件 靜 態(tài) 演 化 技 術(shù)
6 . 5 軟 件 動(dòng) 態(tài) 演 化 技 術(shù)
6 . 6 可 演 化 軟 件 的 設(shè) 計(jì)
習(xí) 題
第 7 章 軟 件 產(chǎn) 品 線
7 . 1 軟 件 產(chǎn) 品 線 的 起 源
7 . 2 軟 件 產(chǎn) 品 線 定 義
7 . 3 軟 件 產(chǎn) 品 線 的 基 本 活 動(dòng)
7 . 4 軟 件 產(chǎn) 品 線 需 求 分 析
7 . 5 軟 件 產(chǎn) 品 線 開(kāi) 發(fā) 評(píng) 價(jià)
7 . 6 軟 件 產(chǎn) 品 線 的 建 立
7 . 7 軟 件 產(chǎn) 品 線 開(kāi) 發(fā) 模 型
7 . 8 軟 件 產(chǎn) 品 線 的 組 織 結(jié) 構(gòu)
7 . 9 軟 件 產(chǎn) 品 線 測(cè) 試
7 . 1 0 軟 件 產(chǎn) 品 線 的 優(yōu) 點(diǎn)
7 . 1 1 軟 件 產(chǎn) 品 線 開(kāi) 發(fā) 所 面 臨 的 問(wèn) 題
習(xí) 題
第 8 章 設(shè) 計(jì) 模 式
8 . 1 設(shè) 計(jì) 模 式 概 述
8 . 2 設(shè) 計(jì) 模 式 的 概 念
8 . 3 設(shè) 計(jì) 模 式 的 分 類(lèi)
8 . 4 設(shè) 計(jì) 模 式 與 面 向 對(duì) 象 復(fù) 用
8 . 5 設(shè) 計(jì) 模 式 遵 循 的 原 則
8 . 6 研 究 設(shè) 計(jì) 模 式 的 意 義
8 . 7 設(shè) 計(jì) 模 式 的 C A S E 工 具
習(xí) 題
第 9 章 創(chuàng) 建 型 設(shè) 計(jì) 模 式
9 . 1 工 廠 方 法 模 式
9 . 2 原 型 模 式
9 . 3 單 例 模 式
9 . 4 建 造 模 式
習(xí) 題
第 1 0 章 結(jié) 構(gòu) 型 設(shè) 計(jì) 模 式
1 0 . 1 合 成 模 式
1 0 . 2 裝 飾 模 式
1 0 . 3 代 理 模 式
1 0 . 4 享 元 模 式
1 0 . 5 門(mén) 面 模 式
1 0 . 6 橋 梁 模 式
1 0 . 7 適 配 器 模 式
習(xí) 題
第 1 1 章 行 為 型 設(shè) 計(jì) 模 式
1 1 . 1 模 板 方 法 模 式
1 1 . 2 觀 察 者 模 式
1 1 . 3 迭 代 子 模 式
1 1 . 4 責(zé) 任 鏈 模 式
1 1 . 5 備 忘 錄 模 式
1 1 . 6 命 令 模 式
11.7 狀態(tài)模式
11.8 訪問(wèn)者模式
11.9 中介者模式
11.10 策略模式
11.11 解釋器模式
習(xí)題
參考文獻(xiàn)