<strike id="ftvtz"></strike>

<address id="ftvtz"></address>
    <listing id="ftvtz"></listing>
    <form id="ftvtz"></form>

      軟件開發的架構設計

      2017-03-02

      軟件架構(softwarearchitecture)是一系列相關的抽象模式,用于指導大型軟件系統各個方面的設計。軟件架構是一個系統的草圖。軟件架構描述的對象是直接構成系統的抽象組件。各個組件之間的連接則明確和相對細致地描述組件之間的通訊。在實現階段,這些抽象組件被細化為實際的組件,比如具體某個類或者對象。在面向對象領域中,組件之間的連接通常用接口_(計算機科學)來實現。

      軟件體系結構是構建計算機軟件實踐的基礎。與建筑師設定建筑項目的設計原則和目標,作為繪圖員畫圖的基礎一樣,一個軟件架構師或者系統架構師陳述軟件構架以作為滿足不同客戶需求的實際系統設計方案的基礎。

      軟件構架是一個容易理解的概念,多數工程師(尤其是經驗不多的工程師)會從直覺上來認識它,但要給出精確的定義很困難。特別是,很難明確地區分設計和構架:構架屬于設計的一方面,它集中于某些具體的特征。

      在“軟件構架簡介”中,David Garlan 和 Mary Shaw認為軟件構架是有關如下問題的設計層次:“在計算的算法和數據結構之外,設計并確定系統整體結構成為了新的問題。結構問題包括總體組織結構和全局控制結構;通信、同步和數據訪問的協議;設計元素的功能分配;物理分布;設計元素的組成;定標與性能;備選設計的選擇。但構架不僅是結構;IEEE Working Group on Architecture 把其定義為“系統在其環境中的最高層概念”。構架還包括“符合”系統完整性、經濟約束條件、審美需求和樣式。它并不僅注重對內部的考慮,而且還在系統的用戶環境和開發環境中對系統進行整體考慮,即同時注重對外部的考慮。

      在Rational Unified Process 中,軟件系統的構架(在某一給定點)是指系統重要構件的組織或結構,這些重要構件通過接口與不斷減小的構件與接口所組成的構件進行交互。
      從和目的、主題、材料和結構的聯系上來說,軟件架構可以和建筑物的架構相比擬。一個軟件架構師需要有廣泛的軟件理論知識和相應的經驗來事實和管理軟件產品的高級設計。軟件架構師定義和設計軟件的模塊化,模塊之間的交互,用戶界面風格,對外接口方法,創新的設計特性,以及高層事物的對象操作、邏輯和流程。

      一般而言,軟件系統的架構(Architecture)有兩個要素:它是一個軟件系統從整體到部分的最高層次的劃分。

      一個系統通常是由元件組成的,而這些元件如何形成、相互之間如何發生作用,則是關于這個系統本身結構的重要信息。

      詳細地說,就是要包括架構元件(Architecture Component)、聯結器(Connector)、任務流(Task-flow)。

      所謂架構元素,也就是組成系統的核心”磚瓦”,而聯結器則描述這些元件之間通訊的路徑、通訊的機制、通訊的預期結果,任務流則描述系統如何使用這些元件和聯結器完成某一項需求。
      建造一個系統所作出的最高層次的、以后難以更改的,商業的和技術的決定。
      建造一個系統之前會有很多的重要決定需要事先作出,而一旦系統開始進行詳細設計甚至建造,這些決定就很難更改甚至無法更改。顯然,這樣的決定必定是有關系統設計成敗的最重要決定,必須經過非常慎重的研究和考察。

      韩国美女19 vip视频免费,亚洲午夜y,久久中文字幕视频,国产更新在线中文字幕
      <strike id="ftvtz"></strike>

      <address id="ftvtz"></address>
        <listing id="ftvtz"></listing>
        <form id="ftvtz"></form>