軟件體系結(jié)構(gòu)原理、方法與實(shí)踐

出版時(shí)間:2009-8  出版社:清華大學(xué)出版社  作者:張友生,李雄  頁數(shù):308  
Tag標(biāo)簽:無  

前言

體系結(jié)構(gòu)(architecture,產(chǎn)業(yè)界通常翻譯為“架構(gòu)”)一詞在英文里就是“建筑”的意思。把一軟件比作一座樓房,從整體上講,是因?yàn)樗谢A(chǔ)、主體和裝飾,即操作系統(tǒng)之上的基礎(chǔ)設(shè)施軟件、實(shí)現(xiàn)計(jì)算邏輯的主體應(yīng)用程序、方便使用的用戶界面程序。從細(xì)節(jié)上看,每一個(gè)程序也是有結(jié)構(gòu)的。早期的結(jié)構(gòu)化程序就是以語句組成模塊,模塊的聚集和嵌套形成層層調(diào)用的程序結(jié)構(gòu),也就是體系結(jié)構(gòu)。結(jié)構(gòu)化程序的程序(表達(dá))結(jié)構(gòu)和(計(jì)算的)邏輯結(jié)構(gòu)的一致性及自頂向下開發(fā)方法自然而然地形成了體系結(jié)構(gòu)。由于結(jié)構(gòu)化程序設(shè)計(jì)時(shí)代程序規(guī)模不大,通過強(qiáng)調(diào)結(jié)構(gòu)化程序設(shè)計(jì)方法學(xué),自頂向下、逐步求精,并注意模塊的耦合性就可以得到相對良好的結(jié)構(gòu),所以并未特別研究軟件體系結(jié)構(gòu)。隨著軟件系統(tǒng)規(guī)模越來越大、越來越復(fù)雜,整個(gè)系統(tǒng)的結(jié)構(gòu)和規(guī)格說明顯得越來越重要。對于大規(guī)模的復(fù)雜軟件系統(tǒng)來說,對總體的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和規(guī)格說明比起對計(jì)算的算法和數(shù)據(jù)結(jié)構(gòu)的選擇已經(jīng)變得明顯重要得多。在此背景下,人們認(rèn)識(shí)到軟件體系結(jié)構(gòu)的重要性,并認(rèn)為對軟件體系結(jié)構(gòu)系統(tǒng)深入的研究將會(huì)成為提高軟件生產(chǎn)率和解決軟件維護(hù)問題的新的最有希望的途徑。對于軟件項(xiàng)目的開發(fā)來說,一個(gè)清晰的軟件體系結(jié)構(gòu)是首要的。傳統(tǒng)的軟件開發(fā)過程可以劃分為從概念直到實(shí)現(xiàn)的若干個(gè)階段,包括問題定義、需求分析、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)及軟件測試等。軟件體系結(jié)構(gòu)的建立應(yīng)位于需求分析之后,軟件設(shè)計(jì)之前。但在傳統(tǒng)的軟件工程方法中,需求和設(shè)計(jì)之間存在一條很難逾越的鴻溝,從而很難有效地將需求轉(zhuǎn)換為相應(yīng)的設(shè)計(jì)。而軟件體系結(jié)構(gòu)就是試圖在軟件需求與軟件設(shè)計(jì)之間架起一座橋梁,著重解決軟件系統(tǒng)的結(jié)構(gòu)和需求向?qū)崿F(xiàn)平坦地過渡的問題。體系結(jié)構(gòu)在軟件開發(fā)中為不同的人員提供了共同交流的語言,體現(xiàn)并嘗試了系統(tǒng)早期的設(shè)計(jì)決策,并作為系統(tǒng)設(shè)計(jì)的抽象,為實(shí)現(xiàn)框架和構(gòu)件的共享和重用、基于體系結(jié)構(gòu)的軟件開發(fā)提供了有力的支持。鑒于體系結(jié)構(gòu)的重要性,Perry將軟件體系結(jié)構(gòu)視為軟件開發(fā)中第一類重要的設(shè)計(jì)對象,BarryBoehm也明確指出:“在沒有設(shè)計(jì)出體系結(jié)構(gòu)及其規(guī)則時(shí),那么整個(gè)項(xiàng)目不能繼續(xù)下去,而且體系結(jié)構(gòu)應(yīng)該看做是軟件開發(fā)中可交付的中間產(chǎn)品?!?/pre>

內(nèi)容概要

本書系統(tǒng)地介紹軟件體系結(jié)構(gòu)的基本原理、方法和實(shí)踐,全面反映軟件體系結(jié)構(gòu)研究和應(yīng)用的最新進(jìn)展,既討論軟件體系結(jié)構(gòu)的基本理論知識(shí),又介紹軟件體系結(jié)構(gòu)的設(shè)計(jì)和工業(yè)界應(yīng)用實(shí)例,強(qiáng)調(diào)理論與實(shí)踐相結(jié)合?! ∪珪?0章,第1章簡單地介紹軟件體系結(jié)構(gòu)的概念、發(fā)展和應(yīng)用現(xiàn)狀; 第2章討論軟件體系結(jié)構(gòu)建模,包括視圖模型、核心模型、生命周期模型和抽象模型; 第3章介紹軟件體系結(jié)構(gòu)的風(fēng)格和特定領(lǐng)域軟件體系結(jié)構(gòu); 第4章討論軟件體系結(jié)構(gòu)的描述方法,重點(diǎn)介紹軟件體系結(jié)構(gòu)描述語言; 第5章介紹動(dòng)態(tài)軟件體系結(jié)構(gòu)及其描述方法; 第6章介紹Web服務(wù)體系結(jié)構(gòu)相關(guān)知識(shí),以及面向服務(wù)的體系結(jié)構(gòu)的基本概念和設(shè)計(jì)原則; 第7章討論基于體系結(jié)構(gòu)的軟件開發(fā)方法,介紹基于體系結(jié)構(gòu)的軟件過程; 第8章討論軟件體系結(jié)構(gòu)的分析與測試問題,重點(diǎn)介紹軟件體系結(jié)構(gòu)的可靠性風(fēng)險(xiǎn)分析; 第9章討論軟件體系評估方法,重點(diǎn)介紹ATAM和SAAM方法; 第10章介紹軟件產(chǎn)品線的原理和方法、框架技術(shù),重點(diǎn)討論產(chǎn)品線體系結(jié)構(gòu)的設(shè)計(jì)和演化?! ”緯勺鳛橛?jì)算機(jī)軟件專業(yè)高年級本科生、研究生和軟件工程碩士的軟件體系結(jié)構(gòu)教材,也可作為軟件工程高級培訓(xùn)、系統(tǒng)分析師和系統(tǒng)架構(gòu)設(shè)計(jì)師培訓(xùn)教材,以及軟件開發(fā)人員的參考書。

書籍目錄

第1章 軟件體系結(jié)構(gòu)概論 1.1 從軟件危機(jī)談起  1.1.1 軟件危機(jī)的表現(xiàn)  1.1.2 軟件危機(jī)的原因  1.1.3 如何克服軟件危機(jī) 1.2 構(gòu)件與軟件重用  1.2.1 構(gòu)件模型及實(shí)現(xiàn)  1.2.2 構(gòu)件獲取  1.2.3 構(gòu)件管理  1.2.4 構(gòu)件重用  1.2.5 軟件重用實(shí)例 1.3 軟件體系結(jié)構(gòu)的興起和發(fā)展  1.3.1 軟件體系結(jié)構(gòu)的定義  1.3.2 軟件體系結(jié)構(gòu)的意義  1.3.3 軟件體系結(jié)構(gòu)的發(fā)展史 1.4 軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀 思考題 主要參考文獻(xiàn)第2章 軟件體系結(jié)構(gòu)建?!?.1 軟件體系結(jié)構(gòu)建模概述 2.2 “4+1”視圖模型  2.2.1 邏輯視圖  2.2.2 開發(fā)視圖  2.2.3 進(jìn)程視圖  2.2.4 物理視圖  2.2.5 場景 2.3 軟件體系結(jié)構(gòu)的核心模型 2.4 軟件體系結(jié)構(gòu)的生命周期模型 2.5 軟件體系結(jié)構(gòu)抽象模型  2.5.1 構(gòu)件及其關(guān)系的抽象描述  2.5.2 連接件  2.5.3 軟件體系結(jié)構(gòu)  2.5.4 軟件體系結(jié)構(gòu)關(guān)系  2.5.5 軟件體系結(jié)構(gòu)范式 思考題 主要參考文獻(xiàn)第3章 軟件體系結(jié)構(gòu)風(fēng)格 3.1 軟件體系結(jié)構(gòu)風(fēng)格概述 3.2 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格  3.2.1 管道和過濾器  3.2.2 數(shù)據(jù)抽象和面向?qū)ο蠼M織  3.2.3 基于事件的隱式調(diào)用  3.2.4 分層系統(tǒng)  3.2.5 倉庫系統(tǒng)及知識(shí)庫  3.2.6 C2風(fēng)格 3.3 客戶/服務(wù)器風(fēng)格 3.4 三層C/S結(jié)構(gòu)風(fēng)格  3.4.1 三層C/S結(jié)構(gòu)的概念  3.4.2 三層C/S結(jié)構(gòu)應(yīng)用實(shí)例  3.4.3 三層C/S結(jié)構(gòu)的優(yōu)點(diǎn) 3.5 瀏覽器/服務(wù)器風(fēng)格 3.6 公共對象請求代理體系結(jié)構(gòu) 3.7 正交軟件體系結(jié)構(gòu)  3.7.1 正交軟件體系結(jié)構(gòu)的概念  3.7.2 正交軟件體系結(jié)構(gòu)的抽象模型  3.7.3 軟件體系結(jié)構(gòu)的正交化  3.7.4 正交軟件體系結(jié)構(gòu)的實(shí)例  3.7.5 正交軟件體系結(jié)構(gòu)的優(yōu)點(diǎn) 3.8 基于層次消息總線的體系結(jié)構(gòu)風(fēng)格  3.8.1 構(gòu)件模型  3.8.2 構(gòu)件接口  3.8.3 消息總線  3.8.4 構(gòu)件靜態(tài)結(jié)構(gòu)  3.8.5 構(gòu)件動(dòng)態(tài)行為 ……第4章 軟件體系結(jié)構(gòu)描述第5章 動(dòng)態(tài)軟件體系結(jié)構(gòu)第6章 Web服務(wù)體系結(jié)構(gòu)第7章 基于體系結(jié)構(gòu)的軟件開發(fā)第8章 軟件體系結(jié)構(gòu)的分析與測試第9章 軟件體系結(jié)構(gòu)評估第10章 軟件產(chǎn)品線體系結(jié)構(gòu)主要參考文獻(xiàn)

章節(jié)摘錄

插圖:第1章 軟件體系結(jié)構(gòu)概論1.1 從軟件危機(jī)談起軟件危機(jī)(softwarecrisis)是指在計(jì)算機(jī)軟件的開發(fā)(development)和維護(hù)(maintenance)過程中所遇到的一系列嚴(yán)重問題。20世紀(jì)60年代末至70年代初,“軟件危機(jī)”一詞在計(jì)算機(jī)界廣為流傳。事實(shí)上,幾乎從計(jì)算機(jī)誕生的那一天起,就出現(xiàn)了軟件危機(jī),只不過到了1968年在原西德加密施(Garmish)召開的國際軟件工程會(huì)議上才被人們普遍認(rèn)識(shí)到。1.1.1 軟件危機(jī)的表現(xiàn)1.軟件成本日益增長在計(jì)算機(jī)發(fā)展的早期,大型計(jì)算機(jī)系統(tǒng)主要是被設(shè)計(jì)(design)應(yīng)用于非常狹窄的軍事領(lǐng)域。在這個(gè)時(shí)期,研制計(jì)算機(jī)的費(fèi)用主要由國家財(cái)政提供,研制者很少考慮到研制代價(jià)問題。隨著計(jì)算機(jī)市場化和民用化的發(fā)展,代價(jià)和成本就成為投資者考慮的最重要的問題之一。20世紀(jì)50年代,軟件成本(cost)在整個(gè)計(jì)算機(jī)系統(tǒng)成本中所占的比例為10%~20%。但隨著軟件產(chǎn)業(yè)的發(fā)展,軟件成本日益增長。相反,計(jì)算機(jī)硬件隨著技術(shù)的進(jìn)步、生產(chǎn)規(guī)模的擴(kuò)大;價(jià)格卻在不斷下降。這樣一來,軟件成本在計(jì)算機(jī)系統(tǒng)中所占的比例越來越大。到20世紀(jì)60年代中期,軟件成本在計(jì)算機(jī)系統(tǒng)中所占的比例已經(jīng)增長到50%左右。

編輯推薦

《軟件體系結(jié)構(gòu)原理、方法與實(shí)踐》由清華大學(xué)出版社出版。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    軟件體系結(jié)構(gòu)原理、方法與實(shí)踐 PDF格式下載


用戶評論 (總計(jì)11條)

 
 

  •   有很多內(nèi)容是 直接抄了 軟件體系結(jié)構(gòu)這本書的,雖然作者是同一人,這樣感覺還是不好!
  •   又是一本編著的書,國內(nèi)計(jì)算機(jī)的教材都是一副德行
  •   沒啥實(shí)際的軟件經(jīng)驗(yàn),寫這樣的書沒什么看的。
  •   這本書是學(xué)校作為教材書用的、 書本也就是教材性質(zhì)、中國式的教材、
  •   還好,書本都是教材。
  •   非常好非常好,值得買
  •   理論性比較強(qiáng),適合鞏固基礎(chǔ)。理論有點(diǎn)讓人偷人頭疼啊,只能是慢慢看了
  •   紙張比圖書館借來的稍微差點(diǎn),其他都還挺好
  •   很不錯(cuò)的一本軟件體系結(jié)構(gòu)的入門書籍,講解很詳細(xì),非常適合初學(xué)者。
  •   好多理論的內(nèi)容,有得看了
  •   沒有太多很深刻的映像
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7