《架構(gòu)實(shí)戰(zhàn)--軟件架構(gòu)設(shè)計(jì)的過(guò)程》 前言
?
作者:Peter Eeles & Peter Cripps
?
幾年前,我們(Peter Eeles和Peter Cripps)開(kāi)始注意到Grady Booch首創(chuàng)的《軟件架構(gòu)手冊(cè)》(《Handbook of Software Architecture》, www.handbookofsoftwarearchitecture.com )。Grady起初的目的是:
整理許多有趣的軟件密集型系統(tǒng)的架構(gòu),以揭示它們的基本模式以及允許在域和架構(gòu)風(fēng)格之間進(jìn)行比較的方式,并把它們呈現(xiàn)出來(lái)。
當(dāng)Grady正關(guān)注于最終架構(gòu)的時(shí)候,我們感到理解成功架構(gòu)師創(chuàng)建他們的架構(gòu)時(shí)所遵循的流程同樣很有趣。當(dāng)然,我們最終的目的是復(fù)制他們的成功。我們花了好幾年的時(shí)間才完成這個(gè)過(guò)程。我們做了許多項(xiàng)目,和許多架構(gòu)師進(jìn)行了交流,還對(duì)許多開(kāi)發(fā)方法進(jìn)行了梳理——所有這些都有助于我們理解當(dāng)構(gòu)建一個(gè)軟件系統(tǒng)時(shí)起作用和不起作用的因素的本質(zhì)。 《架構(gòu)實(shí)戰(zhàn)--軟件架構(gòu)設(shè)計(jì)的過(guò)程》 是我們經(jīng)歷的這個(gè)過(guò)程的總結(jié)。
許多優(yōu)秀的書(shū)講述了軟件架構(gòu)過(guò)程的特定方面,我們借鑒了這些書(shū)中的相關(guān)內(nèi)容。例如,其中有些書(shū)注重編寫(xiě)一個(gè)軟件架構(gòu)的文檔,另一些書(shū)注重如何評(píng)價(jià)一個(gè)軟件架構(gòu)。其中任意一方面都適合比較大的場(chǎng)景,因?yàn)槊恳环矫娑汲尸F(xiàn)了軟件架構(gòu)過(guò)程中的一個(gè)重要因素。因此,本書(shū)的一個(gè)目的是通過(guò)提供在一個(gè)典型軟件開(kāi)發(fā)項(xiàng)目的環(huán)境中架構(gòu)的所有方面的概覽來(lái)呈現(xiàn)這個(gè)大場(chǎng)景。
應(yīng)該指出的是, 《架構(gòu)實(shí)戰(zhàn)--軟件架構(gòu)設(shè)計(jì)的過(guò)程》 沒(méi)有指定一個(gè)專(zhuān)門(mén)的軟件開(kāi)發(fā)方法。更確切地說(shuō),本書(shū)講述了人們?cè)谥С謽?gòu)建過(guò)程的任意現(xiàn)代開(kāi)發(fā)方法中可能遇到的關(guān)鍵因素。
本書(shū)是為誰(shuí)準(zhǔn)備的
顯然, 《架構(gòu)實(shí)戰(zhàn)--軟件架構(gòu)設(shè)計(jì)的過(guò)程》 是針對(duì)那些想了解他們的角色如何適應(yīng)整個(gè)軟件開(kāi)發(fā)過(guò)程的軟件架構(gòu)師(或者立志成為軟件架構(gòu)師的人)。本書(shū)也適合“專(zhuān)門(mén)”的架構(gòu)師角色,如應(yīng)用架構(gòu)師和安全架構(gòu)師。更籠統(tǒng)地說(shuō),本書(shū)適合那些想更好地了解軟件架構(gòu)師這個(gè)角色的人。就這點(diǎn)而言,它對(duì)一個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)的所有成員也都有好處,包括開(kāi)發(fā)人員、測(cè)試人員、業(yè)務(wù)分析人員、項(xiàng)目經(jīng)理、配置經(jīng)理和過(guò)程控制工程師。本書(shū)也特別適合那些在軟件開(kāi)發(fā)的嘗試中想了解日益重要的軟件架構(gòu)師角色的大學(xué)生。
如何閱讀本書(shū)
本書(shū)大致分為三個(gè)部分:
第1~5章為第一部分,概述了架構(gòu)、架構(gòu)師、架構(gòu)設(shè)計(jì)、編寫(xiě)軟件架構(gòu)文檔、可重用架構(gòu)資源的核心概念。
第6~9章為第二部分,這部分包含了相關(guān)案例研究的章,通過(guò)一個(gè)基于樣例應(yīng)用程序的典型軟件開(kāi)發(fā)項(xiàng)目,重點(diǎn)體現(xiàn)架構(gòu)師這個(gè)角色,提供一個(gè)指導(dǎo)性指南。這些章的編寫(xiě)方式,使你很容易找到感興趣的特定主題。每個(gè)相關(guān)案例研究的章主要按照任務(wù)進(jìn)行組織,另外,在這些章中我們使用了一些排版體例。特別是,對(duì)流程元素的所有引用,如任務(wù)、工件和角色,都用黑體加以強(qiáng)調(diào),例如當(dāng)我們描述軟件架構(gòu)文檔工件的時(shí)候。
第10章為第三部分,包含額外討論的話題和思考,尤其是,在前面的章中描述的概念如何應(yīng)用于架構(gòu)復(fù)雜的系統(tǒng)。
在本書(shū)中,你還會(huì)發(fā)現(xiàn)一些如下進(jìn)行分類(lèi)的有用的補(bǔ)充內(nèi)容:
- 概念補(bǔ)充內(nèi)容: 介紹與討論與主題相關(guān)的想法或整套想法。
- 檢查清單補(bǔ)充內(nèi)容: 包含當(dāng)執(zhí)行某一特定任務(wù)時(shí),可以進(jìn)行檢查的有用的項(xiàng)目。
- 最佳實(shí)踐補(bǔ)充內(nèi)容: 介紹已經(jīng)在實(shí)踐中證實(shí)為有效的方法。
- 缺陷補(bǔ)充內(nèi)容: 介紹最好避免的方法,因?yàn)樗鼈儠?huì)導(dǎo)致負(fù)面效果。
我們?cè)诒緯?shū)中大范圍地使用統(tǒng)一建模語(yǔ)言(UML)來(lái)描述架構(gòu)的某些方面。所有的UML圖表都是通過(guò)IBM Rational Software Architect創(chuàng)建的。
附屬站點(diǎn)
本書(shū)有一個(gè)附屬的站點(diǎn): processofsoftwarearchitecting.com ,讀者可以在這個(gè)站點(diǎn)上找到額外的信息,也可以和作者進(jìn)行交流。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
