【原文鏈接】系統(tǒng)架構(gòu)設(shè)計(jì)師(第二版)學(xué)習(xí)筆記----系統(tǒng)架構(gòu)概述
一、系統(tǒng)架構(gòu)的定義與發(fā)展歷程
1.1 架構(gòu)的定義
系統(tǒng)架構(gòu)是系統(tǒng)的一種整體的高層次的結(jié)構(gòu)表示,是系統(tǒng)的骨架、根基,支撐和鏈接各個(gè)部分
1.2 架構(gòu)設(shè)計(jì)的作用
- 解決相對(duì)復(fù)雜的需求問(wèn)題
- 解決非功能屬性在系統(tǒng)占據(jù)重要位置的設(shè)計(jì)問(wèn)題
- 解決生命周期長(zhǎng)、擴(kuò)展性需求高的系統(tǒng)整體結(jié)構(gòu)問(wèn)題
- 解決系統(tǒng)基于組件需要的集成問(wèn)題
- 解決業(yè)務(wù)流程再造難的問(wèn)題
1.3 架構(gòu)設(shè)計(jì)產(chǎn)生的背景
- 軟件復(fù)雜、易變,其行為特征難以預(yù)見(jiàn),軟件開(kāi)發(fā)過(guò)程中需求和設(shè)計(jì)之間缺乏有效的轉(zhuǎn)換,導(dǎo)致軟件開(kāi)發(fā)過(guò)程困難和不可控
- 隨著軟件系統(tǒng)的規(guī)模越來(lái)越大、越來(lái)越復(fù)雜,整個(gè)系統(tǒng)的結(jié)構(gòu)和規(guī)格說(shuō)明就顯得越來(lái)越重要
- 對(duì)于大規(guī)模的復(fù)雜軟件系統(tǒng),相較于對(duì)計(jì)算算法和數(shù)據(jù)結(jié)構(gòu)的選擇,系統(tǒng)的整體結(jié)構(gòu)設(shè)計(jì)和規(guī)格說(shuō)明已經(jīng)變得明顯重要的多
- 對(duì)軟件系統(tǒng)結(jié)構(gòu)的深入研究將會(huì)成為提高軟件生產(chǎn)率和解決軟件維護(hù)問(wèn)題的最有希望的新途徑
1.4 軟件架構(gòu)的發(fā)展歷程
- 基礎(chǔ)研究階段(1968-1994)
- 概念體系和核心技術(shù)形成階段(1999-2000)
- 理論體系完善和發(fā)展階段(1996-至今)
- 普及應(yīng)用階段(2000-至今)
1.5 模塊化開(kāi)發(fā)方法
模塊化開(kāi)發(fā)方法是指把一個(gè)待開(kāi)發(fā)的軟件分解為若干個(gè)小的而且簡(jiǎn)單的部分,采用對(duì)復(fù)雜事物分而治之的經(jīng)典原則。
1.6 模塊法方法分解模塊遵循的原則
- 最高模塊內(nèi)聚
- 最低耦合
- 模塊大小適合
- 模塊調(diào)用鏈的深度不可過(guò)多
- 接口簡(jiǎn)單、精煉(扇入扇出不宜太大),具有信息隱蔽能力
- 盡可能地復(fù)用已有模塊
1.7 軟件工程領(lǐng)域研究重點(diǎn)
- 軟件架構(gòu)描述和表示
- 軟件架構(gòu)分析、設(shè)計(jì)與測(cè)試
- 軟件架構(gòu)發(fā)現(xiàn)、演化與重用
- 基于軟件架構(gòu)的開(kāi)發(fā)方法
- 軟件架構(gòu)風(fēng)格
- 動(dòng)態(tài)軟件架構(gòu)
1.8 架構(gòu)分析常用的方法
- 軟件架構(gòu)分析方法SAAM
- 架構(gòu)權(quán)衡分析法ATAM
- 成本效益分析法CBAM
- 基于場(chǎng)景的架構(gòu)再工程SBAR
- 架構(gòu)層析的軟件可維護(hù)性預(yù)測(cè)ALSPM
- 軟件架構(gòu)評(píng)估模型SAEM
1.9 架構(gòu)設(shè)計(jì)常用的方法
- 從工件描述中提取架構(gòu)描述的工件驅(qū)動(dòng)方法
- 從用例導(dǎo)出架構(gòu)抽象的用例驅(qū)動(dòng)
- 從模式導(dǎo)出架構(gòu)的模式驅(qū)動(dòng)方法
- 從領(lǐng)域模型導(dǎo)出架構(gòu)抽象的域驅(qū)動(dòng)方法
- 從設(shè)計(jì)過(guò)程中獲得架構(gòu)質(zhì)量屬性需求的屬性驅(qū)動(dòng)設(shè)計(jì)方法
1.10 架構(gòu)測(cè)試策略
- 單元
- 子系統(tǒng)
- 集成
- 驗(yàn)收
1.11 架構(gòu)測(cè)試方法
- 架構(gòu)測(cè)試覆蓋方法
- 組件設(shè)計(jì)正確性驗(yàn)證方法
- 基于CHAM的架構(gòu)動(dòng)態(tài)語(yǔ)義驗(yàn)證方法
1.12 架構(gòu)風(fēng)格
- 數(shù)據(jù)流風(fēng)格
- 調(diào)用/返回風(fēng)格
- 獨(dú)立組件風(fēng)格
- 虛擬機(jī)風(fēng)格
- 倉(cāng)庫(kù)風(fēng)格
1.13 軟件架構(gòu)影響開(kāi)發(fā)的各個(gè)階段
- 需求階段
- 設(shè)計(jì)階段
- 實(shí)現(xiàn)階段
- 維護(hù)階段
二、軟件架構(gòu)的常用分類及建模方法
2.1 軟件架構(gòu)的常用分類
- 分層架構(gòu)
- 事件驅(qū)動(dòng)架構(gòu)
- 微核架構(gòu)
- 微服務(wù)架構(gòu)
- 云架構(gòu)
2.2 分層架構(gòu)最常見(jiàn)的四層架構(gòu)
- 表現(xiàn)層
- 業(yè)務(wù)層
- 持久層
- 數(shù)據(jù)庫(kù)
2.3 事件驅(qū)動(dòng)架構(gòu)的四個(gè)主要部分
- 事件隊(duì)列
- 分發(fā)器
- 事件通道
- 事件處理器
2.4 微核架構(gòu)
微核架構(gòu)又稱為插件架構(gòu),是指軟件的內(nèi)核相對(duì)較小,主要功能和業(yè)務(wù)邏輯都通過(guò)插件實(shí)現(xiàn)
2.5 微服務(wù)架構(gòu)三種實(shí)現(xiàn)模式
- Restful API模式
- Restful 應(yīng)用模式
- 集中消息模式
2.6 云架構(gòu)
云架構(gòu)主要分成兩部分文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-696227.html
- 處理單元
- 虛擬中間件
虛擬中間件包含4個(gè)組件文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-696227.html
- 消息中間件(Messageing Grid)
- 數(shù)據(jù)中間件(Data Grid)
- 處理中間件(Processing Grid)
- 部署中間件(Deployment Manager)
2.7 系統(tǒng)架構(gòu)常用建模方法
- 結(jié)構(gòu)模型
- 框架模型
- 動(dòng)態(tài)模型
- 過(guò)程模型
2.8 常見(jiàn)軟件架構(gòu)風(fēng)格的使用場(chǎng)景
- 管道-過(guò)濾器風(fēng)格適用于將系統(tǒng)分成若干獨(dú)立的步驟
- 主程序/子系統(tǒng)和面向?qū)ο蟮募軜?gòu)風(fēng)格適用于對(duì)組件內(nèi)部進(jìn)行設(shè)計(jì)
- 虛擬機(jī)風(fēng)格適用于構(gòu)造解釋器或?qū)<蚁到y(tǒng)
- C/S和B/S風(fēng)格適合于數(shù)據(jù)和處理分布在一定范圍,通過(guò)網(wǎng)絡(luò)連接構(gòu)成系統(tǒng)
- 平臺(tái)/插件風(fēng)格適用于具有插件擴(kuò)展功能的應(yīng)用程序
- MVC風(fēng)格被廣泛應(yīng)用于用戶交互程序的設(shè)計(jì)
- SOA風(fēng)格適用于在企業(yè)集成等方面
- C2風(fēng)格適用于GUI軟件開(kāi)發(fā),用以構(gòu)建靈活和可擴(kuò)展的應(yīng)用系統(tǒng)
到了這里,關(guān)于系統(tǒng)架構(gòu)設(shè)計(jì)師(第二版)學(xué)習(xí)筆記----系統(tǒng)架構(gòu)概述的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!