由此可見,軟體系統架構關注的是涉及元素之間如何互動的大局,而必須將區域性性的細節忽略。其實,關注大局、把握整體,不僅僅是軟體系統架構學科的主題,還是所有系統科學所研究的物件,錢學森就說過:「什麼叫系統,系統就是有許多部分組成的整體,所以系統的概念就是要強調整體,強調整體是由相互關聯、相互制約的各個部分所組成的。」
補充:任何複雜整體都有架構?
其實,任何作為復合整體的複雜事物都可能有架構,比如一本書、一棟建築物。那本「永不褪色的經典」《如何閱讀一本書》中就說:「每一本書的封面之下都有一套自己的骨架(every book has a skeleton hidden between its boards.)。」
軟體也不例外,任何作為復合整體的軟體單元都可以有架構,如圖6所示。這聽起來似乎有些理論化,所以僅作為「為軟體架構找準位置」的補充,但在有些時候,這一觀點對我們的軟體實踐非常有幫助。
圖6 任何複雜整體都有架構
雖然我們最常聽到的說法是「軟體系統的架構」,但其實未必是完整的軟體系統才有架構。在實際的軟體實踐中,分系統、子系統、甚至元件都需要進行架構設計。僅舉幾例:
航空航天領域的系統往往極為複雜,這樣一來,總的系統需要配備系統架構師,子系統有時也會分別單獨配備架構師。
著名的用友華表cell 元件是標準的報表處理activex元件,它提供幾百個程式設計介面。雖然在使用者看來它只是「開盒即用」的activex元件,但這樣乙個提供強大的製表能力、擁有豐富的單元格型別的報表解決方案,當然需要精心的架構設計。
小結至今,軟體架構的概念依然沒有統一,這對我們的實踐造成了不少麻煩。但我們不能「揣著手兒」等待——將軟體架構的概念總體上分為組成派和決策派,有利於我們理解軟體架構概念的精髓。
現象是多樣的,本質是不變的。軟體架構概念是多樣的,而軟體架構的本質是不變的。本文經過對軟體元件分解、互動、合成的深入解析,最終完成對軟體架構的「定位」,從而更深入地理解軟體架構的概念。
軟體架構概念(1)
1應用程式架構 應用程式架構關注點是應用程式,通常包括將應用程式解構為類和元件,確保設計模式的正確應用,構建和使用框架,因公程式架構注重考慮軟體和 組織 2.系統架構 系統架構描述為從元件和服務到子系統更高層次的抽象。系統架構定義大多數都包含了軟體和硬體 3軟體架構 從 結構和基礎到將 成功部署到生...
軟體架構概念分類
軟體架構對於每乙個人的理解都是不同的,通過分類可以在包容細節差異的小基礎上明確共性,達到 概念總體上的清晰 將軟體架構概念分派別 1.組成派 軟體系統的架構將系統描述為計算元件及元件之間的互動。計算元件是泛指的,可以進一步細分為處理元件,資料元件,連線元件可以是子系統,框架,模組,類等不同粒度的軟體...
軟體架構概念分類
軟體架構對於每乙個人的理解都是不同的,通過分類可以在包容細節差異的小基礎上明確共性,達到 概念總體上的清晰 將軟體架構概念分派別 1.組成派 軟體系統的架構將系統描述為計算元件及元件之間的互動。計算元件是泛指的,可以進一步細分為處理元件,資料元件,連線元件可以是子系統,框架,模組,類等不同粒度的軟體...