出版時(shí)間:2010-5 出版社:機(jī)械工業(yè)出版社 作者:[英] Peter Eeles,Peter Cripps 頁(yè)數(shù):241 譯者:蔡黃輝,馬文濤
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書從基本原理入手,介紹軟件架構(gòu)設(shè)計(jì)過(guò)程中涉及的一些概念、流程、方法、用到的工作產(chǎn)品及可重用的資源,從第6章開(kāi)始,通過(guò)介紹一個(gè)具體的案例來(lái)闡述如何定義需求、創(chuàng)建邏輯架構(gòu)、創(chuàng)建物理架構(gòu)。在第10章“進(jìn)階”中,作者補(bǔ)充說(shuō)明了架構(gòu)師和軟件開(kāi)發(fā)項(xiàng)目其他方面的關(guān)系,后面又說(shuō)明了各種軟件開(kāi)發(fā)項(xiàng)目可能存在的困難及相應(yīng)的處理方法?! ”緯碚摻Y(jié)合實(shí)踐,介紹了一些可以應(yīng)用到整個(gè)或部分的架構(gòu)設(shè)計(jì)流程中的最佳方法。不管你是一位資深的架構(gòu)師還是一位有志于成為架構(gòu)師的初級(jí)使用者,通過(guò)閱讀本書都能從中獲益。
作者簡(jiǎn)介
Peter Eeles 是IBM的高級(jí)IT架構(gòu)師,他就職于IBM的Rational品牌軟件組。在這個(gè)職位上,他幫助組織提高軟件開(kāi)發(fā)能力,尤其關(guān)注和致力于改進(jìn)架構(gòu)流程。Peter從1985年開(kāi)始從事軟件行業(yè),其主要工作是進(jìn)行架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)大規(guī)模、分布式的系統(tǒng)。Peter是《Building J2EE Application
書籍目錄
譯者序 序 前言 致謝 作者簡(jiǎn)介 第1章 導(dǎo)言 1.1 流程應(yīng)用 1.2 流程概述 1.3 范圍 1.4 總結(jié) 第2章 架構(gòu)、架構(gòu)師和架構(gòu)設(shè)計(jì) 2.1 架構(gòu) 2.1.1 架構(gòu)定義結(jié)構(gòu) 2.1.2 架構(gòu)定義行為 2.1.3 架構(gòu)關(guān)注重要的元素 2.1.4 架構(gòu)平衡利益相關(guān)者的需要 2.1.5 架構(gòu)基于合理證據(jù)使決策具體化 2.1.6 架構(gòu)會(huì)遵循一種架構(gòu)風(fēng)格 2.1.7 架構(gòu)受它的環(huán)境影響 2.1.8 架構(gòu)影響開(kāi)發(fā)團(tuán)隊(duì)的結(jié)構(gòu) 2.1.9 所有系統(tǒng)都存在架構(gòu) 2.1.10 架構(gòu)有特定的范圍 2.2 架構(gòu)師 2.2.1 架構(gòu)師是技術(shù)領(lǐng)導(dǎo) 2.2.2 架構(gòu)師的角色可能由一個(gè)團(tuán)隊(duì)來(lái)履行 2.2.3 架構(gòu)師理解軟件開(kāi)發(fā)流程 2.2.4 架構(gòu)師掌握業(yè)務(wù)領(lǐng)域的知識(shí) 2.2.5 架構(gòu)師掌握技術(shù)知識(shí) 2.2.6 架構(gòu)師掌握設(shè)計(jì)技能 2.2.7 架構(gòu)師具備編程技能 2.2.8 架構(gòu)師是優(yōu)秀的溝通人員 2.2.9 架構(gòu)師進(jìn)行決策 2.2.10 架構(gòu)師知道組織政策 2.2.11 架構(gòu)師是談判專家 2.3 架構(gòu)設(shè)計(jì) 2.3.1 架構(gòu)設(shè)計(jì)是一門科學(xué) 2.3.2 架構(gòu)設(shè)計(jì)是一門藝術(shù) 2.3.3 架構(gòu)設(shè)計(jì)跨越很多方面 2.3.4 架構(gòu)設(shè)計(jì)是一個(gè)漸進(jìn)的活動(dòng) 2.3.5 架構(gòu)設(shè)計(jì)受許多利益相關(guān)者驅(qū)動(dòng) 2.3.6 架構(gòu)設(shè)計(jì)經(jīng)常包括折中 2.3.7 架構(gòu)設(shè)計(jì)承認(rèn)經(jīng)驗(yàn) 2.3.8 架構(gòu)設(shè)計(jì)既由上而下也由下而上 2.4 架構(gòu)設(shè)計(jì)的優(yōu)點(diǎn) 2.4.1 架構(gòu)設(shè)計(jì)解決系統(tǒng)的質(zhì)量問(wèn)題 2.4.2 架構(gòu)設(shè)計(jì)促進(jìn)達(dá)成共識(shí) 2.4.3 架構(gòu)設(shè)計(jì)支持計(jì)劃編制流程 2.4.4 架構(gòu)設(shè)計(jì)促進(jìn)架構(gòu)的完整性 2.4.5 架構(gòu)設(shè)計(jì)有助于管理復(fù)雜性 2.4.6 架構(gòu)設(shè)計(jì)為重用提供基礎(chǔ) 2.4.7 架構(gòu)設(shè)計(jì)降低維護(hù)成本 2.4.8 架構(gòu)設(shè)計(jì)支持影響分析 2.5 總結(jié) 第3章 方法基本原理 3.1 關(guān)鍵概念 3.2 方法內(nèi)容 3.2.1 角色 3.2.2 工作產(chǎn)品 3.2.3 活動(dòng) 3.2.4 任務(wù) 3.3 流程 3.3.1 瀑布流程 3.3.2 迭代流程 3.3.3 敏捷流程 3.4 總結(jié) 第4章 編寫軟件架構(gòu)文檔 第5章 可重用架構(gòu)資源 第6章 案例介紹 第7章 定義需求 第8章 創(chuàng)建邏輯架構(gòu) 第9章 創(chuàng)建物理架構(gòu) 第10章 進(jìn)階 附錄A 軟件架構(gòu)元模型 附錄B 視點(diǎn)目錄 附錄C 方法概述 附錄D 架構(gòu)需求檢查列表 術(shù)語(yǔ)表 參考文獻(xiàn)
章節(jié)摘錄
插圖:2.4 架構(gòu)設(shè)計(jì)的優(yōu)點(diǎn)總的來(lái)說(shuō),架構(gòu)設(shè)計(jì)是降低成本、改進(jìn)質(zhì)量、支持按計(jì)劃及時(shí)交付、支持按需求交付及降低風(fēng)險(xiǎn)的-個(gè)關(guān)鍵因素。在這一部分,我們集中講述架構(gòu)設(shè)計(jì)有助于達(dá)成這些目標(biāo)的更明確的優(yōu)點(diǎn)。另外,因?yàn)榧軜?gòu)師有時(shí)候必須證明架構(gòu)設(shè)計(jì)的存在是合理的,這一部分將提供一些有用的資料來(lái)證明架構(gòu)設(shè)計(jì)是軟件開(kāi)發(fā)流程中的一個(gè)重要組成部分。2.4.1 架構(gòu)設(shè)計(jì)解決系統(tǒng)的質(zhì)量問(wèn)題系統(tǒng)的功能性是通過(guò)組成架構(gòu)的各種元素之間發(fā)生的交互來(lái)支持的。不管怎樣,架構(gòu)設(shè)計(jì)的關(guān)鍵特征之一是系統(tǒng)質(zhì)量是通過(guò)架構(gòu)這個(gè)工具達(dá)到的。在缺少統(tǒng)一的架構(gòu)設(shè)想的情況下,像性能、安全及可維護(hù)性這樣的質(zhì)量是不可能保證的,這些質(zhì)量不僅限于單個(gè)架構(gòu)元素,而是遍布于整個(gè)架構(gòu)。例如,為了處理性能的需求,必須考慮架構(gòu)的每個(gè)組件執(zhí)行的時(shí)間以及組件之間通信所花的時(shí)間。同樣,為了處理安全的需求,必須考慮組件之間的通信類型,而且在必要的地方引入專門的具有安全意識(shí)的組件。所有這些考慮都是關(guān)于架構(gòu)的,而且,在這些例子中,涉及這些組件本身以及它們之間的聯(lián)系。架構(gòu)設(shè)計(jì)的一個(gè)相關(guān)優(yōu)點(diǎn)是使得在項(xiàng)目生命周期的早期評(píng)估這類質(zhì)量成為可能。通常特意創(chuàng)建架構(gòu)的概念模型以確保處理這類質(zhì)量。通過(guò)一個(gè)真實(shí)的實(shí)現(xiàn)(在這種情況下采用架構(gòu)概念模型)來(lái)證明達(dá)到這類質(zhì)量要求,這很重要,因?yàn)橐粋€(gè)架構(gòu)無(wú)論在紙上看起來(lái)多么優(yōu)秀,只有可執(zhí)行軟件才是這種架構(gòu)已經(jīng)處理這類質(zhì)量的唯一真實(shí)標(biāo)準(zhǔn)。2.4.2 架構(gòu)設(shè)計(jì)促進(jìn)達(dá)成共識(shí)架構(gòu)設(shè)計(jì)流程促進(jìn)不同的利益相關(guān)者達(dá)成共識(shí),因?yàn)樗峁┝艘粋€(gè)工具使大家能夠?qū)ο到y(tǒng)解決方案進(jìn)行辯論。為了支持這樣的辯論,架構(gòu)設(shè)計(jì)流程必須確保架構(gòu)被清楚地交流和證實(shí)。一個(gè)可以被有效交流的架構(gòu)使得大家對(duì)決策和折中進(jìn)行辯論,使檢查變得容易,還使得大家達(dá)成一致。相反,一個(gè)缺乏交流的架構(gòu)不會(huì)使這樣的辯論發(fā)生。沒(méi)有這樣的輸入,最終的架構(gòu)可能是低質(zhì)量的。很明顯,對(duì)一個(gè)架構(gòu)進(jìn)行有效交流的一個(gè)重要方面是為它適當(dāng)?shù)鼐帉懳臋n。這是架構(gòu)師的主要關(guān)注點(diǎn),也是第4章“編寫軟件架構(gòu)文檔”的主題。需要注意的是,架構(gòu)可以作為培訓(xùn)的一部分,促進(jìn)架構(gòu)師(及他們的設(shè)想)和新的或現(xiàn)有的團(tuán)隊(duì)成員之間達(dá)成共識(shí)。為了取得這個(gè)好處,架構(gòu)還必須進(jìn)行有效地交流。清楚知道他們正在實(shí)現(xiàn)的內(nèi)容的開(kāi)發(fā)團(tuán)隊(duì)會(huì)更有可能按期望實(shí)現(xiàn)產(chǎn)品。通過(guò)驗(yàn)證架構(gòu)是否符合規(guī)定的需求也可以促進(jìn)達(dá)成共識(shí)。正如前一部分提到的,創(chuàng)建可執(zhí)行概念模型是證明一個(gè)架構(gòu)達(dá)到一定運(yùn)行期質(zhì)量的一個(gè)極好方式。
媒體關(guān)注與評(píng)論
“軟件架構(gòu)師這個(gè)角色在最近幾年很盛行,也被認(rèn)為是項(xiàng)目成功的一個(gè)關(guān)鍵因素。然而,即使在今天,人們對(duì)如何分析需求、理解關(guān)注點(diǎn)、評(píng)估可選方案及構(gòu)建和編寫符合目的的架構(gòu)描述文檔等工作仍然缺少一些常規(guī)的理解。Eeles和Cripps在他們這本非常有用和有實(shí)踐性的書中填補(bǔ)了這個(gè)空白。書中的內(nèi)容清楚易懂,遵循從起始到交付的一個(gè)邏輯流程,通過(guò)研究一個(gè)真實(shí)的案例對(duì)任務(wù)和工作產(chǎn)品進(jìn)行了清楚的解釋和闡述。無(wú)論對(duì)于新的架構(gòu)師,還是經(jīng)驗(yàn)豐富的專家,這都是一本重要的手冊(cè)?!? ——Nick Rozanski,《軟件系統(tǒng)架構(gòu)》的作者之一 “如果您需要一本關(guān)于軟件架構(gòu)流程的全面和權(quán)威的參考書,那就不用再等待了。Peter Eeles和Peter Cripps已經(jīng)為這個(gè)流程編寫了一本權(quán)威性的指導(dǎo)參考書。本書中介紹的流程利用一個(gè)元模型進(jìn)行了準(zhǔn)確的定義,通過(guò)一個(gè)真實(shí)的研究案例進(jìn)行了闡述,還清楚地關(guān)聯(lián)到像UML、RUP和IEEE 1471等這樣的關(guān)鍵標(biāo)準(zhǔn),因此為那些大型項(xiàng)目開(kāi)發(fā)中的軟件架構(gòu)提供了頗有價(jià)值的指導(dǎo)。我一點(diǎn)都不懷疑本書會(huì)成為許多軟件架構(gòu)師的一本很有價(jià)值的參考書。” ——Eoin Woods,《軟件系統(tǒng)架構(gòu)》的作者之一 “Eeles和Cripps把多年的經(jīng)驗(yàn)匯集到這本指導(dǎo)書中,幫助讀者不僅理解架構(gòu)師生產(chǎn)什么,還理解他們?nèi)绾紊a(chǎn)。本書是一本具有很高實(shí)踐性的指導(dǎo)書,其中詳盡闡述了獲得的經(jīng)驗(yàn)和需要避免的陷阱。已經(jīng)成為架構(gòu)師的人將參考本書,因?yàn)樗軌蚴顾麄兊募夹g(shù)更完善;而期望成為架構(gòu)師的人通過(guò)閱讀它能夠獲得一些需要多年痛苦的經(jīng)歷才能獲得的關(guān)鍵見(jiàn)識(shí)?!? ——Bob Kitzberger,IBM Software Group的程序主管、戰(zhàn)略家 “就我在這個(gè)領(lǐng)域的工作經(jīng)驗(yàn)來(lái)看,軟件架構(gòu)給人的感覺(jué)有點(diǎn)像妖術(shù),只有精選的少許專家和天才才有天分從事這項(xiàng)工作。本書先介紹行業(yè)最佳實(shí)踐和作者寶貴的經(jīng)驗(yàn),然后把架構(gòu)解決方案帶入一個(gè)真實(shí)的工程學(xué)科的范疇。現(xiàn)在,我有了一本可以傳授給新從業(yè)者的參考書,一本講授過(guò)去需要多年嘗試和出錯(cuò)才能體會(huì)到的經(jīng)驗(yàn)的書?!? ——Colin Renouf,英國(guó)Websphere User Group的副主席,企業(yè)架構(gòu)師和技術(shù)作家
編輯推薦
《架構(gòu)實(shí)戰(zhàn):軟件架構(gòu)設(shè)計(jì)的過(guò)程》主要內(nèi)容:在典型的軟件開(kāi)發(fā)項(xiàng)目中架構(gòu)師扮演的角色,如何編寫軟件架構(gòu)文檔來(lái)滿足不同利益相關(guān)者的需求,架構(gòu)設(shè)計(jì)過(guò)程中可重用資源的適用性,在定義需求時(shí)架構(gòu)師扮演的角色,如何基于一組需求來(lái)獲取架構(gòu),創(chuàng)建復(fù)雜系統(tǒng)的過(guò)程中架構(gòu)設(shè)計(jì)的相關(guān)性。成功的軟件離不開(kāi)好的軟件架構(gòu),高效的架構(gòu)設(shè)計(jì)需要透徹地理解組織的角色、工件、執(zhí)行的活動(dòng)以及執(zhí)行這些活動(dòng)的最優(yōu)順序?!都軜?gòu)實(shí)戰(zhàn):軟件架構(gòu)設(shè)計(jì)的過(guò)程》介紹了如何應(yīng)對(duì)軟件系統(tǒng)架構(gòu)設(shè)計(jì)時(shí)的各種挑戰(zhàn),引入了基于Java EE、Mic rosoft NET或其他技術(shù)的最佳實(shí)踐。書中首先闡述了架構(gòu)設(shè)計(jì)文檔、可重用資源等軟件架構(gòu)的相關(guān)概念,接著通過(guò)一個(gè)典型項(xiàng)目介紹了一個(gè)容易理解的、關(guān)注任務(wù)的旅游指導(dǎo)(這個(gè)項(xiàng)目關(guān)注架構(gòu)師的角色),并討論了一些常見(jiàn)問(wèn)題,最后總結(jié)了一組可以應(yīng)用于當(dāng)今最復(fù)雜系統(tǒng)的最佳實(shí)踐?!都軜?gòu)實(shí)戰(zhàn):軟件架構(gòu)設(shè)計(jì)的過(guò)程》適合軟件架構(gòu)師、項(xiàng)目經(jīng)理和軟件從業(yè)人員閱讀。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載