本節書摘來自華章出版社《實用軟體架構:從系統環境到軟體部署》一書中的第2章,第2.1節,作者:[印]蒂拉克·米特拉(tilak mitra)著,愛飛翔 譯,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。<b></b>
<b></b>
<b>第2章 軟體架構是什麼?為什麼需要做軟體架構</b>
除非我信它,否則不可能全身心地投入其中。
如果你已經讀到了這裡,那麼你應該是真心想要成為一名“務實的軟體架構師”。我們不能僅僅把這個名号挂在嘴邊,而是要在實際的軟體與系統開發工作中運用這套理念做出優秀的産品。
軟體架構師的做事風格多種多樣,而且通常都很有意思。有的架構師喜歡做宏觀的思考,喜歡随便拿一張紙畫上幾筆,或是在白闆上畫一些方框和線條,而且那些方框看上去好像長得都不太一樣。有的架構師不先把宏觀的架構情況了解清楚,就急着去研究細節問題。還有一些架構師則在這兩種風格之間徘徊不定。是以,我們有必要澄清與軟體架構相關的一些問題,以便形成一個大家都容易接受的了解方式,并且使大家對成功的軟體架構師所擔負的職責,有一個清晰的了解。
本章将會給出軟體架構的一些背景知識,以及一些能夠促使我們去做好架構工作的成熟價值理念。到本章結束時,我想大家應該能對軟體架構中的一些關鍵元素具有清晰的認識。我們都是務實的軟體架構師,我們要把實用的軟體架構理念加以闡發,并在實踐中将其推廣開來。
咱們做一件寫着the psa(發音是“thepsa”)的t恤穿上,怎麼樣?
<b>2.1 背景知識</b>
軟體架構作為一門學科,已經有四十多年曆史了,早期的軟體架構,可以追溯到20世紀70年代。後來,由于系統開發工作變得更加複雜、更加關鍵,而且更加強調實時性,是以軟體架構也得到了更為廣泛的運用,并且成為主流的系統工程和軟體開發工作中的基本内容。
與其他那些持續發展的學科一樣,軟體架構在誕生之初也面臨着一些挑戰,而且直到今天,也沒有能夠把所有的疑難全都解決掉。早期的軟體架構師會用一些圖表和文字來描述系統的結構及行為,但是他們在描述時所采用的這些辦法,其清晰程度、一緻程度和精确程度都不夠高,而且也缺乏條理。軟體架構的内容和工件,有各種各樣的表示方法和記錄方法,當年的架構師,想要尋找一種協調而易懂的僞語言(pseudo-language)或元語言(metalanguage),以便将這些表述方法統合起來。在學術研究的促進下,系統工程和計算機科學界的工作者取得了巨大的進步,他們提出了一些行之有效的做法和指導原則,使得架構師可以對軟體架構的内容做出适當的表述,以便與利益相關者就架構的成果進行有效的溝通。