孫學瑛
(電子工業出版社有限公司,北京 100036)
軟件架構在IT 界歷來沒有一個統一的定義,眾說紛紜,國際著名的面向對象分析設計、UML、模式等方面的專家,敏捷開發方法的創始人之一馬丁·福勒(Martin Fowler)就曾說過:“很多人都試圖給‘架構’下定義,而這些定義本身卻很難統一。”因為軟件架構有組成派和決策派之分,每個流派對架構均有不同的看法和定義,如:

而本文又需要去探索軟件架構變遷,因此從純技術的角度出發,采用的是IEEE 610.12-1990 軟件工程標準詞匯中的定義:
架構是以組件、組件之間的關系、組件與環境之間的關系為內容的某一系統的基本組織結構,以及指導上述內容設計與演化的原理(Principle)。
由此可見,軟件架構中“架構”的是一種生態,最終目的是讓軟件好用,從而讓軟件更好地為業務服務,因此,本文主要分析的是軟件架構在整個業務生態的作用,這里以電子商務為例,這一業務的核心利益點在于成交。而成交這一過程又包括:平臺、消費者、產品、物流這4 個要素。在這4 個要素當中又會發生:
買賣,即平臺吸引買家購買、賣家入駐。
合作,即平臺與買家、商家、物流等外在合作者的合作關系。
服務,即平臺要為相關人員提供良好的服務,促成成交。
因此,要實現電子商務,軟件架構設計必須考慮如何更有利于讓信息流、資金流、物流等得以順暢。而軟件架構又以訪問量的逐漸增大或者突然激增而不斷演變,接下來就會詳細闡述這一演變過程。……