《架構之美》閱讀筆記01

2022-02-26 18:34:03 字數 2107 閱讀 6553

1丶架構是什麼

架構應該是一組結構,**於一組設計規則,能減少複雜性。常見定義是,每種結構由各種型別的元件和關係組成,它們如何組合、相互呼叫、通訊、同步、及其其他互動。(元件及元件之間的關係)

2丶架構目的

確保利益相關人員的關注點能夠得到滿足,而在構想、計畫、構建和維護系統時,系統架構能夠處理複雜性。

為了對付複雜性,系統被分解為一些互動的元件

而每種結構都有特定的關注點,如可變性和效能。各種關注點需要相互妥協、折中

架構師的工作:

1)滿足客戶需要

2)整個系統應用相同的設計原則

3)滿足法規和安全性需求

3丶架構與需求的關係

外部行為的描述,展示了產品如何與它的使用者、其他系統和外部裝置之間的互動,這應該表現為需求。

結構描述,展示了產品如何劃分為多個部分,以及這些部分的關係

內部行為描述,用於描述元件之間的互動介面

需求一般理解為系統的功能,但其隱含的品質性要求,也需要架構考慮。

4丶架構與設計的關係

架構是系統設計的一部分,架構忽略了系統的一些細節,更側重於系統如何組裝起來。而開發者更側重中部分元件的設計,不用太注意系統元件的裝配問題。

5丶如何建立乙個架構

兩個優秀的實踐:

1. 讓利益相關人參與

2. 同時關注功能和品質

6.利益相關人員

6.1. 投資人、老闆: 專案需要的資源、能否在工期內完成

6.2. 專案經理: 團隊、專案計畫、專案進度

6.3. 架構師、開發、測試人員: 專案的構建、以及維護和演進

6.4. 市場人員: 品質特點,超越競爭者

6.5. 使用者(包括終端使用者、安裝、管理等人員): 可用性

架構師需要與利益相關人員協作,理解他們的品質關注點,然後考慮折中,排列優先順序。

如:1. 安全性和效能。如對資訊加密將加強安全性,但會損失效能。

2. 可變性與可用性。如利用配置檔案,可以增加可變性,但會降低可用性。以及如何建立配置檔案的格式。

7.為什麼要首先給品質關注點排優先順序?而不是從功能需求開始?

因為系統的功能分解通常有很多種方式,如從資料模型出發,和從業務模型出發會得到不同的系統架構,極端情況下,系統無分解,被開發成單一的軟體,可能會滿足所有需求,但不滿足品質關注點。如可變性、可擴充套件性、可維護性、可伸縮性等。

1. 可變性。將系統內的引數,轉移到配置檔案中,便於修改。

2. 可以伸縮性、效能。將系統從單機遷移到分布式部署,從單執行緒轉移到多執行緒。

通用的品質關注點:

1)功能性(functionality)

產品要像他們的使用者提供哪些功能?

2)可變性(changeability)

軟體將來可能需要哪些改變?哪些改變不太可能發生,不需要特別容易進行這些改變?

3)效能(performance)

產品將達到什麼樣的效能?

4)容量(capacity)

多少使用者將併發使用該系統?該系統將為使用者儲存多少資料?

5)生態系統(ecosystem)

在部署的生態環境中,該系統將與其他系統進行哪些互動?

6)模組化(modularity)

如何將編寫軟體的任務分解為工作指派(模組),特別是這些模組可以獨立地開發,並能夠準確而容易地滿足彼此需要?

7)可構建性(buildability)

如何將軟體構建為一組元件,並能夠獨立實現和驗證這些元件?哪些元件應該復用其他的產品,哪些應該從外部**商處獲得?

8)產品化(producibility)

如果產品將以集中變體的形式存在,如何開發乙個產品線,並利用這些變體的共性?產品線中的產品以怎樣的步驟開發?在建立一條產品線時,要進行哪些投資?開發產品線中不同的變體的選擇,預期會得到怎樣的回報?

特別是是否可能先開發最小的有用產品然後再新增(擴充套件)元件,在不改變以前編寫的**的情況下,開發產品線的其他成員?

9)安全性(security)

產品是否需要使用者認證,或者必須限制對資料的訪問?資料的安全性如何得到保證?如何抵擋「拒絕服務」工具或者其他攻擊?

8.常見的幾種架構的結構

1. 資訊隱藏結構。 包含關係

2. 使用結構。 層次關係

3. 程序結構。 共享

4. 訪問結構。

架構之美閱讀筆記01

為什麼要學習架構?之前,老師教我們軟體架構的時候,就告訴我們,軟體開發,先從架構入手。他說,弄清楚了架構,再來學習具體的語法和技術就很簡單了。以前不懂,底層具體的細節都不了解,如何來構建乙個系統呢?就像讓我們去建造一棟大廈,剛開始想到的可能就是需要磚 砌牆的工具 這就像剛學習程式設計的自己,以為掌握...

《架構之美》閱讀筆記01

架構之美在於其簡潔深刻地描述和解決現實的軟體設計問題,無論是它為軟體開發人員減少的麻煩,還是本身形式上的和諧和整齊,都足以讓人賞心悅目。架構之美 圍繞5個主題領域來組織本書的內容 概述 企業應用 系統 終端使用者應用和程式語言。本書讓最優秀的設計師和架構師來描述他們選擇的軟體架構,剝開架構的各層,展...

《架構之美》閱讀筆記01

首先,架構之美 是機械工業出版社2009年11月出版的圖書,作者是till adam。本書圍繞5個主題領域來組織本書的內容 概述,系統 終端使用者應用和程式語言。本書讓最優秀的設計師和架構師來描述他們選擇的軟體架構,剝開架構的各層,展示他們如何讓軟體做到實現功能 可靠 易用 高效率 可維護 可移植和...