軟件體系結構設計|描述與架構風格

軟件體系結構設計

計算機硬件系統中包含的兩個重要因素:

  • 基本硬件模塊:控制器、運算器、內存儲器、外存儲器、輸入設備……
  • 硬件模塊之間的連接關係:總線(控制總線、地址總線、數據總線)

計算機系統體系結構的風格:

  • SISD :單指令流單數據流 串行處理器
  • SIMD :單指令流多數據流 並行處理器
  • MIMD :多指令流多數據流 多處理器

什麼是體系結構?

軟件構件和構件之間的關係。

體系結構的例子

網絡爬蟲系統

原則

  • 種子:初始的連接
  • 爬取:爬取連接中的數據
  • 解析:解析初始連接中的其他連接
  • 爬取:……
    ……

架構描述 (AD)

架構文檔的產品的集合 稱爲 架構描述

四種常見視圖 (都屬於架構描述)

  • 邏輯視圖:將系統分解爲一系列的抽象形式,多來自於問題域,如類圖、對象圖或功能層次結構圖。
  • 過程視圖:關注系統動態運行時,主要是進程以及相關的併發、同步、通信等問題。
  • 物理視圖:描述軟件到硬件的映射,反映了分佈式特徵。
  • 開發視圖:開發環境中,圍繞靜態組織結構。使用構件圖、包圖。

架構風格:

描述領域中衆多系統所共有的結構和特性,並指導如何將各個模塊和子系統有效的組織成一個完整的系統。

分類:

  • 數據中心架構

這裏寫圖片描述

將數據進行中心存放,應用和應用之間不直接進行聯繫,所有的信息交換和操作,都建立在中心數據之上。
  • 數據流架構 (管道過濾系統)

這裏寫圖片描述

數據在流動時,需要filter進行加工和處理,而這個加工和處理是自動的。試用於批處理系統,不適用於交互類系統。
  • 調用返回架構

這裏寫圖片描述

  • 面向對象的架構

    特點:
    每個對象都進行了特定的封裝,對外提供預留的接口,並隱藏內部數據的表示。
    聯繫方法:
    基於消息機制(本質是方法調用)建立對象間的聯繫。

  • 層次架構

這裏寫圖片描述

特徵:
橫向聯繫,上下層調用。
不可以跨層調用。

好處:
讓複雜的問題變得簡單了。

  • 客戶服務器架構

    一個應用被分爲兩個邏輯上分離的部分,每個部分充當不同額角色、完成不同的功能。

    • 客戶端:業務邏輯、與服務器通信的接口。
    • 服務器:與客戶機通信的接口、業務邏輯、數據管理
  • MVC 架構

    將應用程序中的應用邏輯、用戶界面、控制邏輯等分別放在獨立的構件中,從而使得任何一種構件的改變都不會對其他構件造成很大的影響。

  • 消息總線架構

    適用於消息訂閱發佈系統(廣播系統)。
    利用消息總線來實現調用和交互。


本博客內容到此結束,歡迎指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章