系統(tǒng)架構(gòu)設(shè)計師教程知識清單5
第5章 軟件架構(gòu)設(shè)計
這部分確實有些難背,建議結(jié)合自己的開發(fā)理解以及自己常錯/的考察范圍,記錄在單詞本/便簽本上,隔三差五拿出來看看
軟件架構(gòu)設(shè)計生命周期?
一般考得不多,SA(結(jié)構(gòu)化分析)本身的概念考得更多
1 需求分析階段
需求模型?
采用SA(結(jié)構(gòu)化分析)模型
使用Use case圖描述需求的方法
2 設(shè)計階段
內(nèi)容:SA模型的描述
SA模型的多視圖表示:4+1模型(邏輯、進程、開發(fā)、物理、統(tǒng)一場景)
3 實現(xiàn)階段
內(nèi)容:基于SA的開發(fā)過程支持
4 構(gòu)件組裝階段
內(nèi)容:如何支持可復(fù)用構(gòu)件的互聯(lián),如何檢測并消除體系結(jié)構(gòu)失配
5 部署階段
體系結(jié)構(gòu)重建的4類:手工體系結(jié)構(gòu)重建、工具支持的手工體系結(jié)構(gòu)重建、通過查詢語言來自動建立聚集、使用其他技術(shù)
基于架構(gòu)的軟件開發(fā)方法
1 ABSD 基于體系架構(gòu)的軟件設(shè)計
自頂向下,遞歸細化
ABSD方法有三個基礎(chǔ):功能的分解、選擇體系風(fēng)格、軟件模版
視角與視圖:靜態(tài)視角-> 質(zhì)量特性;動態(tài)視角-> 行為特性
用例和質(zhì)量場景:用例用來捕獲功能需求,同時定義特定場景來捕獲質(zhì)量需求,這些特定的場景成為質(zhì)量場景,分別有變更場景、性能場景、可靠性場景、交互性場景
2 ABSDM 基于體系架構(gòu)的開發(fā)模型
ABSDM把軟件過程劃分為體系結(jié)構(gòu)需求、設(shè)計、文檔化、復(fù)審、實現(xiàn)與演化等6個子過程
(1)ABSDM體系結(jié)構(gòu)需求
需求獲取
標(biāo)識構(gòu)件(分三步:生成類圖、對類進行分組、把類打包成構(gòu)件)
需求評審
(2)ABSDM體系結(jié)構(gòu)設(shè)計
提出體系結(jié)構(gòu)模型
映射構(gòu)件(中間結(jié)構(gòu))
分析構(gòu)件相互作用(集成)
產(chǎn)生體系結(jié)構(gòu)(精化)
設(shè)計評審
(3)體系結(jié)構(gòu)文檔化
輸出:體系結(jié)構(gòu)規(guī)格說明書、測試體系結(jié)構(gòu)需求的質(zhì)量設(shè)計說明書
(4)體系結(jié)構(gòu)復(fù)審
標(biāo)識潛在風(fēng)險
需要用戶代表+領(lǐng)域?qū)<?/p>
(5)體系結(jié)構(gòu)的實現(xiàn)
復(fù)審后的文檔化的體系結(jié)構(gòu)
分析與設(shè)計
構(gòu)件實現(xiàn)
構(gòu)件組裝
系統(tǒng)測試
體系結(jié)構(gòu)演化
(6)體系結(jié)構(gòu)的演化
需求變化歸類
體系結(jié)構(gòu)演化計劃
構(gòu)件變動
更新構(gòu)件的相互作用
構(gòu)件組裝與測試
技術(shù)評審
演化后的體系結(jié)構(gòu)
軟件架構(gòu)風(fēng)格
管道和過濾器:如經(jīng)典的MapReduce?
數(shù)據(jù)抽象和面向?qū)ο?/p>
事件驅(qū)動系統(tǒng):廣播
分層系統(tǒng):網(wǎng)絡(luò)協(xié)議
倉庫系統(tǒng)和知識庫:數(shù)據(jù)庫、黑板系統(tǒng)
C2風(fēng)格:構(gòu)件、連接件
C/S(客戶-服務(wù)器):C/S有點類似APP,需要下載安裝特定應(yīng)用,B/S典型的就是電腦上打開的B站、淘寶等。
B/S(瀏覽器-服務(wù)器)
在《2022軟考系統(tǒng)架構(gòu)設(shè)計師備考經(jīng)驗》中的有圖表總結(jié)
DSSA 特定領(lǐng)域軟件體系結(jié)構(gòu)
1 DSSA基本活動
領(lǐng)域分析,獲得領(lǐng)域模型
領(lǐng)域設(shè)計,獲得DSSA(特定領(lǐng)域軟件體系結(jié)構(gòu))
領(lǐng)域?qū)崿F(xiàn),依據(jù)上兩個階段成果開發(fā)和組織可重用信息
2?DSSA參與人員
領(lǐng)域?qū)<?,如用戶、有分析、設(shè)計經(jīng)驗的軟件工程師
提供需求規(guī)約、領(lǐng)域字典、樣本系統(tǒng)
領(lǐng)域分析人員,如系統(tǒng)分析員
維護領(lǐng)域模型
領(lǐng)域設(shè)計人員,如軟件設(shè)計人員
開發(fā)出DSSA
領(lǐng)域?qū)崿F(xiàn)人員,如程序設(shè)計人員
開發(fā)構(gòu)件
3?DSSA的建立過程
(1)定義領(lǐng)域范圍(輸出用戶需求)
(2)定義領(lǐng)域特定的元素(領(lǐng)域字典、詞典)
(3)定義領(lǐng)域特定的設(shè)計和實現(xiàn)需求約束
(4)定義領(lǐng)域模型和體系結(jié)構(gòu)(產(chǎn)生一般體系結(jié)構(gòu))
(5)產(chǎn)生、搜集可重用的產(chǎn)品單元(為DSSA增加構(gòu)件)
4 DSSA三層系統(tǒng)模型

系統(tǒng)架構(gòu)的評估
1 質(zhì)量屬性
性能 performance:單位時間所處理事務(wù)個數(shù),性能測試常需要使用基準測試程序
可靠性 reliability:在應(yīng)用或系統(tǒng)錯誤面前,在意外錯誤使用情況下維持軟件功能特性的基本能力。常用MTTF和MTBF描述(比如一個搜索欄能容忍用戶的錯誤輸入,給出輸入錯誤或其他提示結(jié)果)
可用性 availability:系統(tǒng)能夠正常運行的時間比例(比如一個社交網(wǎng)站不會因為某些熱點新聞導(dǎo)致服務(wù)器超載以致不可訪問)
安全性 security
可修改性 modifability:?可維護性、可擴展性、結(jié)構(gòu)重組、可移植性
功能性 functionality:系統(tǒng)所能夠完成期望工作的能力
可變性 changeability:體系結(jié)構(gòu)經(jīng)擴充或變更而成為新體系結(jié)構(gòu)的能力
互操作性 inter-operation:與其他系統(tǒng)或自身環(huán)境相互作用能力
2 評估中的重要概念
(1)敏感點與權(quán)衡點
敏感點:一個或多個構(gòu)件(和/或構(gòu)件之間的關(guān)系)的特性
權(quán)衡點:影響多個質(zhì)量屬性的特性,是多個質(zhì)量屬性的敏感點(如加密級別同時影響安全性和性能,是一個權(quán)衡點)
(2)場景
在進行體系結(jié)構(gòu)評估時,一般首先要精確地得出具體的質(zhì)量目標(biāo),并以之作為判定該體系結(jié)構(gòu)優(yōu)劣的標(biāo)準。為了得到這些目標(biāo)而采用的機制叫做場景。在體系結(jié)構(gòu)評估中,一般采用刺激、環(huán)境和響應(yīng)三方面對場景進行描述。
3 主要評估方法
(1)SAAM (Scenario-based Architecture Analysis Method) 基于場景的體系架構(gòu)評估方法
評估技術(shù):場景技術(shù)
輸入問題:問題描述、需求聲明和體系結(jié)構(gòu)描述
評估過程:

(2)ATAM(Architecture Tradeoff Analysis Method)體系結(jié)構(gòu)權(quán)衡評估方法
主要針對性能、實用性、安全性和可修改性
方法的活動:
ATAM分為4個主要的活動領(lǐng)域(或階段),分別是場景和需求收集、體系結(jié)構(gòu)視圖和場景實現(xiàn)、屬性模型構(gòu)造和分析、折中