tft每日頭條

 > 科技

 > 軟考高級系統架構師學習筆記

軟考高級系統架構師學習筆記

科技 更新时间:2024-06-30 11:18:48

  大家好,我是Edison。

  去年(2022)複習備考參加了軟考高級資格中的系統架構設計師考試。

  在系統架構設計師考試中,軟件架構設計這一部分絕對是重點中的重點

  這裡,我總結了一下軟件架構設計這一部分的關鍵内容,它們值得每個備考的人反複記憶甚至背誦。

  考點彙總腦圖

  軟考高級系統架構師學習筆記(系統架構設計師核心考點)(1)

  這個腦圖裡面的内容,上午綜合知識選擇題大戶,下午案例和論文中,架構風格、架構評估是常客。

  軟件架構風格

  (1)傳統五大經典風格

  數據流風格風格特點:面向數據流,按照順序執行代表風格:批處理序列、管道-過濾器典型應用:批處理典型應用有經典數據處理,程序開發和Windows下的bat程序;管道過濾器典型應用有Unix Shell編寫的程序和傳統編譯器;調用/返回風格風格特點:構件之間存在互相調用的關系,一般是顯示調用代表風格:主程序/子程序、面向對象、層次結構獨立構件風格風格特點:構件之間是互相獨立的,不存在顯示調用,而是通過某個事件觸發、異步的方式來執行代表風格:進程通信、事件驅動系統(隐式調用)虛拟機風格風格特點:自定義了一套規則供使用者使用,使用者基于這個規則來開發構件,能夠跨平台适配代表風格:解釋器、基于規則的系統倉庫風格風格特點:以數據為中心,所有操作都是圍繞着建立的數據中心進行的代表風格:數據庫系統、超文本系統、黑闆系統 軟考高級系統架構師學習筆記(系統架構設計師核心考點)(2)

  (2)深入層次架構風格

  兩層C/S架構層次組成:表示層 和 邏輯層風格特點:客戶端和服務器都有處理功能,現在已經不常用三層C/S架構層次組成:表示層、邏輯層 和 數據訪問層風格特點:将邏輯處理功能獨立出來,表示層和數據層變得更簡單和純粹,表示層在客戶機上,邏輯層在應用服務器上,數據訪問層在數據庫服務器上。三層B/S架構風格特點:它是三層C/S架構的變種,将客戶端變為用戶客戶端上的浏覽器,将應用服務器變為網絡上的Web服務器。富互聯網應用RIA風格特點:RIA是一種用戶接口,比用HTML實現的接口更加健壯 且有可視化内容,本質上還是網站模式。風格優點:RIA結合了C/S架構反應速度快、交互性強的優點與B/S架構傳播範圍廣及容易傳播的特性;RIA簡化并改進了B/S架構的用戶交互;數據能夠被緩存在客戶端,從而可以實現一個比基于HTML的響應速度更快且數據往返于服務器的次數更少的用戶界面。MVC架構組成部分:Controller:應用程序中處理用戶交互的部分。Controller負責從View讀取數據,控制用戶輸入,并向模型發送數據。Model:應用程序中用于處理應用程序數據邏輯的部分。Model對象負責在數據庫中讀取數據,Model表示業務數據和業務邏輯。View:應用程序中處理數據顯示的部分。View是依據模型數據創建的。MVP架構組成部分:Model, View, Presenter與MVC的區别:避免了View和Model之間的耦合,降低了Presenter對View之間的依賴。在MVP中,View不直接使用Model,它們之間的通信是通過Presenter來進行的,所有的交互都發生在Presenter内部。 典型系統架構

  (1)面向服務的架構(SOA)

  架構特點SOA是一種粗粒度、松耦合的服務架構,服務之間通過簡單、精确定義接口進行通信,不涉及底層編程接口和通信模型。在SOA中,服務是一種為了滿足某項業務需求的操作、規則等的邏輯組合,它包含一系列有序活動的交互,為實現用戶目标提供支持。SOA并不僅僅是一種開發方法,還具有管理上的優點,管理員可以直接管理開發人員所構建的相同服務。多個服務通過企業服務總線提出服務請求,由應用管理來進行處理。Web Service服務提供者、服務注冊中心(中介,可有可無)、服務請求者服務提供者将服務描述發布到服務注冊中心,供服務請求者查找,查找到後,服務請求者将綁定查找結果。服務注冊表服務注冊:服務提供者在注冊表中公布服務的功能;服務位置:服務使用者查詢已注冊的服務,尋找符合自身要求的服務;服務綁定:服務使用者利用檢索到的服務接口來編寫代碼,所編寫的代碼将與注冊的服務綁定,調用注冊的服務,以及與它們實現互動;企業服務總線(ESB)定義說明:簡單來說ESB就是一根管道,用來連接各個服務節點。其目的是為了集成不同協議的不同服務,ESB做了消息的轉化、解釋以及路由的工作,以此來讓不同的服務互聯互通。組成部分:客戶端(服務請求者)、基礎架構服務(中間件)、核心集成服務(提供服務)ESB特點:SOA的一種實現方式,ESB在SOA架構中的作用是總線,将各種服務進行連接與整合;描述服務的元數據和服務注冊管理;在服務請求者和提供者之間傳遞數據,以及對這些數據進行轉換的能力;發現、路由、匹配和選擇的能力,以支持服務之間的動态交互,解耦服務請求者和服務提供者。 (2)特定領域軟件架構(DSSA)

  DSSA的三個基本活動領域分析:目的是為了獲得領域模型(領域需求),通過識别信息源,分析領域中系統的需求,從而建立領域模型;領域設計:目的是為了獲得DSSA,它描述了在領域模型中表示的需求的解決方案;領域實現:這個階段的主要目标是依據領域模型和DSSA開發和組織可重用信息。DSSA的四種角色人員領域專家:從事該領域中系統的需求分析、設計、實現以及項目管理的有經驗的軟件工程師等。領域分析人員:由具有知識工程背景的有經驗的系統分析員來擔任。領域設計人員:由有經驗的軟件設計人員來擔任;領域實現人員:由有經驗的程序設計人員來擔任;DSSA的三層次模型領域開發環境:領域架構師參與,決定核心架構,産出參考結構、參考需求、架構、領域模型、開發工具;領域特定的應用開發環境:應用工程師根據具體環境來将核心架構實例化;應用執行環境:操作員實現實例化後的架構。 (3)基于架構的軟件開發(ABSD)

  ABSD的基本活動架構需求:重在掌握标識構建的三步;架構設計:将需求階段的标識構件映射成構建,進行分析;架構(體系結構)文檔化:主要産出兩種文檔,即架構(體系結構)規格說明,測試架構(體系結構)需求的質量設計說明書。架構複審:由外部人員參加的複審;架構實現:用實體來顯示出架構,實現構件,構件組裝成系統;架構演化:對架構進行改變,按需求增删構件,使架構可複用。 軟件架構評估

  (1)質量屬性

  性能:指系統的響應能力;指标:響應時間、吞吐量等;策略:優先級隊列、增加計算資源、減少計算開銷、引入并發機制、采用資源調度等;可靠性:指軟件系統在應用或系統錯誤面前,在意外或錯誤使用的情況下維持軟件系統的功能特性的基本能力;指标:MTTF、MTBF、MTTR;策略:心跳、Ping/Echo、冗餘、選舉;可用性:指系統能夠正常運行的時間比例;指标:故障間隔時間;策略:心跳、Ping/Echo、冗餘、選舉;安全性:指系統在向合法用戶提供服務的同時能夠阻止非授權用戶使用的企圖或拒絕服務的能力;指标:保密性、完整性、不可抵賴性、可控性;策略:入侵檢測、用戶認證、用戶授權、追蹤審計;可修改性:指能夠快速的以較高的性能價格比對系統進行變更的能力。指标:修改成本;策略:接口-實現分離、抽象、信息隐藏;功能性:指系統所能完成所期望的工作的能力;可變性:指體系結構經擴充或變更而成為新體系結構的能力;互操作性:指系統組成部分的軟件不是獨立存在的,經常與其他系統或自身環境相互作用。 (2)架構評估方式

  敏感點:是為了實現某種特定的質量屬性,一個或多個構件所具有的的特性;權衡點:是影響多個質量屬性的特性,是多個質量屬性的敏感點;風險點與非風險點風險點即可能引起風險的因素,如某個做法如果有隐患,有可能導緻一些問題,則為風險點;非風險點即某件事是可行的可接受的;軟件架構評估時機:架構設計之後,系統設計之前;目的:為了評估所采用的的架構是否能解決軟件系統需求;方式:基于調查問卷(檢查表)的方式:類似于問卷調查;基于度量的方式:制定一些定量指标來度量架構;基于場景的方式:最主要的應用方法,ATAM就是其中一個重要的分析法;架構權衡分析法(ATAM)ATAM讓架構師明确如何權衡多個質量目标;參與者:評估小組項目決策者其他項目相關人員主要活動領域:場景和需求收集體系結構視圖和場景實現屬性模型構造和分析、折中過程重點:強調以屬性作為架構評估的核心概念,主要是針對質量屬性進行評價和折中。 ATAM實例

  架構權衡分析法又稱ATAM,這裡引用CSDN博客「JAVA前線」中的一個實例:足球運動員管理系統。

  第一階段是描述和介紹階段,首先由架構師向大家介紹什麼是ATAM方法,其次由産品經理介紹開發足球運動員信息管理系統商業動機,最後由架構師介紹系統整體架構,例如怎樣劃分領域,系統分為持久層、緩存層、中間件、業務中台、服務層、網關層、客戶端和代理層等等。

  第二階段是調查和分析階段,不同需求方均提出了相關需求,所涉及質量場景如下:

  (1) 在100毫秒内響應用戶請求

  (2) 主數據庫發生故障後,10秒内自動切換至從庫

  (3) 主機房發生故障後,5分鐘内請求重定向至災備機房

  (4) 新增球員比賽和訓練指标,開發工作在5人日内完成

  (5) 使用包含SSL數字證書的HTTPS訪問協議

  (6) 球員信息管理界面要求簡單易用

  (7) 出現異常引導用戶至錯誤頁面,不能展示異常棧信息

  (8) 對于球員信息配置功能的靈活度尚未達成共識,影響了系統可修改性

  (9) 對于球員比賽實時收集響應時間的要求,影響了系統數據存儲設計

  (10) 主教練提出了訓練指标新模式,影響了系統性能和可修改性

  根據上述場景生成質量屬性效用樹,(1)屬于性能,(2)(3)屬性可用性,(4)屬于可修改性,(5)屬于安全性,(6)屬于易用性,(7)屬于可靠性:

  我們再根據這些場景分析系統的風險點、敏感點、權衡點。風險點是指某些操作會給系統帶來隐患和風險,(8)屬于風險點。敏感點是指為了實現某個特定質量屬性,一個或多個系統組件所具有的特性,(9)屬于敏感點。權衡點是指某些操作會影響系統的多個質量屬性,(10)屬于權衡點。

  第三個階段是測試階段,根據足球運動員信息管理系統特性,我們首先确定場景優先級,由高到低分别是:性能、可靠性、可修改性、安全性、可用性、易用性。

  架構權衡分析方法所謂權衡在此得到了體現,質量屬性每個都很重要,但是根據系統特點需要對質量屬性有優先級排序,架構設計時需要所有權衡和折中。

  确定了優先級之後,我們需要具體闡述針對每個質量屬性系統采取了哪些方案,例如提升性能使用了緩存,提升可修改性使用了策略模式,提升可靠性使用了統一異常處理框架等等,具體方案可以參考互聯網系統的一些常見方案。

  第四個階段是報告階段,我們将評估過程和結果都彙總整理成文檔,其中包括質量屬性效用樹、風險點、敏感點、權衡點和每次評估會議紀要,以及最終的架構決策。

  參考資料

  文老師軟考教育,《系統架構設計師備考一本通》(強力推薦購買此書複習系統架構設計師考試)

  希賽教育軟考學院,《系統架構設計師教程第四版》(當做字典查閱)

  CSDN博客,作者「JAVA前線」,架構權衡評估法(ATAM),htt

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved