1. 程式人生 > >20181107-軟體開發架構1

20181107-軟體開發架構1

 學習目標   聽<軟體架構相關音訊>軟體開發架構一節      待解決問題   構件的概念 ?   如何表達一個專案的架構,用什麼圖表?   架構設計作為一個系統開發的中間產品,交付的是什麼內容?   各種架構風格的適用場景?     學習內容(耗時:40min)
  •  軟體架構是什麼 

  軟體架構為軟體系統提供了一個結構、行為和屬性的高階抽象,由構件的描述,構建的相互作用(連線件)、知道構件整合的模式以及這些模式的約束組成。軟體架構不僅指定了系統的組織架構和拓撲結構,並且顯示了系統需求和構建還見的對應關係,提供了一些設計決策的基本原理

  • 架構設計的重要性
架構設計好比房子的鋼筋水泥,定下了結構,才能撐的起整個系統.尤其是在大型軟體開發中 軟體架構的重要性越來越大 需求分析  -- 〉 架構設計 --〉 軟體分析   軟體架構 應該是專案中的一個可交付的中間產品   
  • 軟體架構的意義(9個意義 )

架構是專案干係人進行交流的手段

架構是早期設計決策的體現

架構明確了對系統實現的約束條件

架構決定了開發和維護組織的組織結構

架構制約著系統的質量屬性

架構使推理和控制更改更監督

架構有助於循序漸進的原型設計

架構可以作為培訓的基礎

架構是可傳遞和可服用的模型 

 

  • 架構的發展階段(4個階段)
無架構設計階段 萌芽階段 初級階段 高階階段    
  • 如何表示軟體架構(軟體架構建模)     
結構模型(常用) 核心 架構描述語言    框架模型 類似 結構模型 注重整體結構 不描述細節    動態模型(常用) 對結構模型以及框架模型的補充,研究系統"大顆粒"的行為性質    過程模型 研究構造系統的步驟和過程   功能模型 認為框架有一組功能構件按層次組成,且下層向上層提供服務.   4+1檢視模型 邏輯檢視   開發檢視   程序檢視   物理檢視   場景  
  • 軟體架構風格
     常用的軟體架構風格。   資料流風格   批處理序列  資料流step by step 從頭到尾   管道過濾器風格 每個構件都有一組輸入輸出,經過內部處理,產生輸出資料流   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~未完待續~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  返回、呼叫風格 獨立構建風格 虛擬機器風格 倉庫風格