架構師之路:初識軟體架構

來源:互聯網
上載者:User

原文出處:http://brighter.iteye.com/blog/224582

軟體架構(software architecture):

1.是一個系統的草圖,是構建電腦軟體實踐的基礎。

2.是用於指導大型軟體系統各個方面的設計的一系列相關的抽象模式。

3.描述直接構成系統的抽象組件以及組件之間的通訊。

4.在實現階段,這些抽象組件被細化為實際的組件,比如具體某個類或者對象。在物件導向領域中,組件之間的串連通常用介面來實現。
軟體架構是指在一定的設計原則基礎上,從不同角度對組成系統的各部分進行搭配和安排,形成系統的多個結構而組成架構,它包括該系統的各個組件,組件的外部可見屬性及組件之間的相互關係。組件的外部可見屬性是指其他組件對該組件所做的假設。
在“軟體構架簡介”中,David GArlan 和 Mary Shaw 認為軟體構架是有關如下問題的設計層次:“在計算的演算法和資料結構之外,設計並確定系統整體結構成為了新的問題。

結構問題包括總體組織圖和全域控制結構;通訊、同步和資料訪問的協議;設計項目的功能分配;物理分布;設計項目的組成;定標與效能;備選設計的選擇。”
但構架不僅是結構。IEEE Working Group on Architecture 把其定義為“系統在其環境中的最高層概念”。構架還包括“符合”系統完整性、經濟約束條件、審美需求和樣式。它並不僅注重對內部的考慮,而且還在系統的使用者環境和開發環境中對系統進行整體考慮,即同時注重對外部的考慮。
一個軟體架構師需要有廣泛的軟體理論知識和相應的經驗來實施和管理軟體產品的進階設計。軟體架構師定義和設計軟體的模組化,模組之間的互動,使用者介面風格,對外介面方法,創新的設計特性,以及高層事物的對象操作、邏輯和流程。
根據我們關注的角度不同,可以將架構分成三種:

·邏輯架構。軟體系統中元件之間的關係,比如使用者介面,資料庫,外部系統介面,商業邏輯元件,等等。

·物理架構。軟體元件是怎樣放到硬體上的。

 ·系統架構。系統的非功能性特徵,如可擴充性、可靠性、強壯性、靈活性、效能等。

系統架構的設計要求架構師具備軟體和硬體的功能和效能的過硬知識,這一工作無疑是架構設計工作中最為困難的工作。

此外,從每一個角度上看,都可以看到架構的兩要素:元件劃分和設計決定。 正如同軟體本身有其要達到的目標一樣,架構設計要達到的目標是什麼呢?

一般而言,軟體架構設計要達到如下的目標:   

·可靠性(Reliable)。軟體系統對於使用者的商業經營和管理來說極為重要,因此軟體系統必須非常可靠。   

·安全行(Secure)。軟體系統所承擔的交易的商業價值極高,系統的安全性非常重要。

·可擴充性(SCAlable)。軟體必須能夠在使用者的使用率、使用者的數目增加很快的情況下,保持合理的效能。只有這樣,才能適應使用者的市場擴充得可能性。  

·可定製化(CuSTomizable)。同樣的一套軟體,可以根據客戶群的不同和市場需求的變化進行調整。   

·可擴充性(Extensible)。在新技術出現的時候,一個軟體系統應當允許匯入新技術,從而對現有系統進行功能和效能的擴充    ·可維護性(MAIntainable)。軟體系統的維護包括兩方面,一是排除現有的錯誤,二是將新的軟體需求反映到現有系統中去。一個易於維護的系統可以有效地降低支援人員的花費  ·客戶體驗(Customer Experience)。軟體系統必須便於使用。  

·市場時機(Time to Market)。軟體使用者要面臨同業競爭,軟體供應商也要面臨同業競爭。以最快的速度爭奪市場先機非常重要。
-----------根據百度百科詞條稍微修改 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.