1. 程式人生 > >20181110-軟件開發架構2

20181110-軟件開發架構2

serve client 智能 不同的 交互 語義 即使 安全 內部

學習目標   聽<軟件架構相關音頻>軟件開發架構一節 待解決問題   構件的概念 ?   如何表達一個項目的架構,用什麽圖表?   架構設計作為一個系統開發的中間產品,交付的是什麽內容?   各種架構風格的適用場景? 互聯網應用 BS架構的應用 ra??? 富互聯網是什麽意思?   學習內容(耗時:40min)   架構風格(續)
  • 調用/返回風格
    主程序/子程序 單線程控制,把問題劃分為若幹個處理步驟,構件極為主程序和自程序,子程序通常可合並為模塊.過程調用作為交互機制,即充當連接件的角色,調用關系具有層次性,其語義邏輯表現為主程序的正確性取決於它調用的子程序的正確性. 數據抽象和面向對象,構件是對象,對象是抽象數據類型的實例. 層次結構,層次結構的構件組織成一個層次結構,連接件通過決定層間如何交互的協議來定義.
  • 獨立構件風格

進程通信

事件驅動的系統.

  • 虛擬機風格

解釋器

基於規則的系統

  • 倉庫風格

數據庫系統

黑板系統

超文本系統

分層架構 集中式結構是通過一臺物理上與宿主機相連接的非智能終端來實現宿主機上的應用程序. 優點:多用戶環境中,宿主機應用程序既負責與用戶的交互,有負責對數據的管理.集中式的系統使用戶能共享貴重的硬件設備. 缺點:隨著用戶的增多,對宿主機能力的要求很高,而且開發人員必須為每個新的應用重新設計同樣的數據庫管理構件. 二層C/S架構(胖客戶端,瘦服務器) 客戶機/服務器(Client/Server)架構是基於資源不對等,且為共享而提出來的.C/S架構定義了工作站(客戶應用程序)如何與服務器相連,以實現數據和應用分布導多臺計算機上.服務器負責有效的管理系統的資源,其主要任務集中於對DBMS的管理和控制,以及數據的備份和回復;客戶應用程序的主要任務是提供用戶與數據庫交互的界面,向服務器提交用戶請求並接受來自服務器的信息. 胖客戶機,瘦服務端 優點: 系統的客戶應用程序和服務器構件分運行在不同的計算機上,系統中每臺服務器都可以適合各構件的要求,這對於硬件和軟件的變化顯示出極大的適應性和靈活性,而且易於對系統進行擴充和縮小.功能構件分離,客戶應用程序的開發集中於數據的小時和分析,而服務器的開發則集中於數據的處理,不必再一個新的應用程序中都要對一個DNMX進行編碼.將大的應用處理任務分布導許多通過網絡連接的低成本計算機上.以節約大量費用. 缺點:   開發成本較高 客戶端程序設計復雜 用戶界面不一 軟件移植困難 軟件維護和升級困難 新技術不能輕易應用 可擴展性差(最重要)     系統安全性無法保證. 三層C/S架構
一般處理流程 表示層 系統的用戶接口部分 擔負著用戶與系統之間的對話功能 功能層 業務邏輯層,是將具體的業務處理邏輯編入程序中. 數據層 相當於二層C/S架構中的服務器,負責對DBMS的管理和控制, 物理部署的方式 功能層可與客戶機同個服務器 優點:允許合理的劃分三層的功能,使之再邏輯上保持相對獨立性;允許更靈活,有效的選用相應的平臺和硬件系統;系統的各層可以並行開發;為嚴格的安全管理奠定了堅實的基礎. 缺點:通信效率若不高,即使分配給各層的硬件能力很強,其作為整體來說也達不到所要求的性能.設計時應考慮三層間的通信方法,通信頻度和數據量. 三層B/S架構的方式 是三層C/S架構的一種實現方式 瀏覽器/Web服務器/數據庫服務器 是一種全新的軟件架構 混合架構--》查詢采用BS 修改采用CS 內外有別模型 企業內部 采用C/S架構 企業外部采用 B/S架構 客戶端 web服務器 應用服務器 數據庫服務器 混合架構 實現困難 成本高 互聯網應用的發展歷史
大型機--集中式結構 92年-二層 98年-三層結構/BS 2004年-互聯網應用 BS架構的應用 ra??? 富互聯網

20181110-軟件開發架構2