注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件工程及軟件方法學AOSD中文版:基于用例的面向方面軟件開發(fā)

AOSD中文版:基于用例的面向方面軟件開發(fā)

AOSD中文版:基于用例的面向方面軟件開發(fā)

定 價:¥49.00

作 者: (美)雅各布森(Jacobson, J.)著;黃邦偉譯
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 軟件開發(fā)

ISBN: 9787121018312 出版時間: 2005-10-01 包裝: 平裝
開本: 23cm 頁數(shù): 500 字數(shù):  

內(nèi)容簡介

本書系統(tǒng)闡述了面向方面軟件開發(fā)(AOSD)方法,AOSD的目標是通過使系統(tǒng)的功能需求、非功能需求、平臺特性等諸多不同的關(guān)注點相互獨立,實現(xiàn)更好的模塊化,來構(gòu)建出易于理解、易于擴展、高復用性、高質(zhì)量的軟件系統(tǒng)。AOSD將用例技術(shù)和面向方面技術(shù)有機結(jié)合在一起,為軟件開發(fā)提供了一個切實可行的最佳實踐集。本書還系統(tǒng)闡述了用例技術(shù)、AOP(面向方面編程)技術(shù)的特點和使用方法,以及實現(xiàn)用例與AOP結(jié)合使用的用例模塊、用例切片等技術(shù)。并且通過一個現(xiàn)實世界中常見的“酒店管理系統(tǒng)”來展示了如何在項目實踐中高效地應(yīng)用AOSD方法。作者見解獨到、精辟,不僅闡述了理論知識,還詳盡說明了如何在項目的不同階段中應(yīng)用AOSD技術(shù)。這本書對于項目經(jīng)理、系統(tǒng)分析員、系統(tǒng)設(shè)計師及廣大開發(fā)人員,都具有很高的實用價值。本書前言譯者序2000年以前,筆者在軟件需求實踐中,一直對如何有效地標識、組織、管理用戶的需求感到十分的困惑。紛繁復雜而且拖沓冗長的“軟件需求規(guī)格說明書”似乎一直沒有起到它應(yīng)該起的作用,如何才能夠使得用戶和開發(fā)團隊之間建立更好的需求溝通呢?IvarJacobson先生提出的“用例驅(qū)動方法”讓我找到了解決的方法。它使我們站在“用戶的視角”來觀察“將要開發(fā)的系統(tǒng)”,通過對零散的軟件需求進行合并,抽象出參與系統(tǒng)的不同參與者(Actor),將一系列的使用場景進行抽象形成“用例”,從而清晰地勾勒出系統(tǒng)的框架模型。這樣總結(jié)出來的需求,往往能夠與用戶產(chǎn)生共鳴,讓筆者在實踐中也獲益匪淺。然而不久,第二個困惑又擺在了眼前,如何在“用例模型”(分析模型)的基礎(chǔ)上進行設(shè)計呢?在從“用例描述”到“順序圖”、“活動圖”的轉(zhuǎn)換中,一直感到力不從心。所幸的是,Ivar先生提出的“Robustness分析方法”又讓我走出了這塊新的沼澤。通過控制類、邊界類,以及簡明、隨意的Robustness圖,使這種轉(zhuǎn)換變得streamline(流線型)起來。遺憾的是,UML對Robustness圖的舍棄,不知對多少實踐者帶來了這種困難。但當我對“用例驅(qū)動方法”應(yīng)用得越來越自如的時候,又遇到了新的困惑。在實際的系統(tǒng)分析和設(shè)計實踐中,我突然發(fā)現(xiàn)類、組件與用例之間的對應(yīng)關(guān)系是交錯的。也就是一個用例可能會涉及多個類或組件,而一個類或組件也可能參與了多個用例。這種交錯與纏繞一度讓我一度感到心力交瘁。我們剛剛通過用例實現(xiàn)的“松耦合”設(shè)計,卻又在具體到類的層面、實現(xiàn)的環(huán)節(jié)再次“耦合”在一起了。怎么辦?如何解決?雖然從《軟件復用:結(jié)構(gòu)、過程和組織》中能夠領(lǐng)會到一些解決的方法,但是總感覺在實踐應(yīng)用中還是有很大的局限性。正是在這個時候,我從亞馬遜網(wǎng)站上看到了本書?;谧约簩OP的了解,一看書名就讓我感到無比的興奮,心里念叨著“找到答案了,找到了!”。當找到一些更詳細的資料和部分章節(jié)后,我確認了自己的想法,因此毫不猶豫地向CSDN的熊妍妍推薦了本書。在她的大力支持下,我終于看到了本書的全貌,答案浮出了水面:AOP為你提供了一種手段,可以將橫切關(guān)注點的實現(xiàn)代碼分離,并模塊化成為“方面”。面向方面提供了一種組合機制,使得在編譯時甚至是運行時,再將橫切行為組合到預(yù)期的操作和類中成為可能。而在操作和類的源代碼中則可以擺脫橫切關(guān)注點,從而使程序更易于理解和維護。為了推進AOP的發(fā)展,本書作者提出了AOSD,其目標主要圍繞著如何使整個系統(tǒng)更好地模塊化。它包括使功能性需求、非功能需求、平臺特性等許多不同的關(guān)注點更好地模塊化,從而使它們之間相互獨立。保持所有的關(guān)注點相互獨立,將使你構(gòu)建的系統(tǒng)具有更易于理解的結(jié)構(gòu),并且更易于配置和擴展,以滿足涉眾各種洐生的需求。如何進行AOSD?如何識別方面?何時用類而非方面?如何詳細說明方面?這需要一個明確的系統(tǒng)化方法來幫助你進行AOSD。而事實上,已經(jīng)有一種成熟的系統(tǒng)化方法。它就是用例驅(qū)動方法。它提供了一種明確的、聚焦于實現(xiàn)涉眾關(guān)注點并給最終用戶傳遞價值的開發(fā)方法。哈,和我的預(yù)想一樣。用例驅(qū)動方法與AOP的結(jié)合,必將會引發(fā)一場軟件開發(fā)范型的革命。而通過閱讀本書,你可以清除用例驅(qū)動方法的認識誤區(qū),了解方面技術(shù)的基本概念,掌握應(yīng)用用例(applicationusecase)、基礎(chǔ)結(jié)構(gòu)用例(infrastructureusecase)及用例模塊等新手段的應(yīng)用,了解如何結(jié)合二者實現(xiàn)彈性的架構(gòu)設(shè)計。而且本書還為你指出了一條實踐AOSD的通途,可以說這是一本從實踐中來,又回到實踐中去的好書。相信閱讀過本書的讀者一定也會和筆者有相同的感受,一定不要錯過這本經(jīng)典的好書。在此,我必須感謝參與了本書部分章節(jié)初譯工作的周松奕(第11~14章)和吳蘭陟(第15~16章)兩位同仁;感謝CSDN的熊妍妍、博文視點的責任編輯陳興璐,感謝她們辛勞細致的工作;同時也對參與了審校工作的IvarJacobsonSoftwareChina公司的專家們、UMLChina的潘加宇表示衷心的感謝,他們的工作使本書的翻譯質(zhì)量得到了很大的提高和保證。最后要感謝我的父母和妻子許高芳對我多年來的默默支持與鼓勵。鑒于筆者水平有限,因此在此必須感謝每一位讀者,希望能夠得到您的反饋與批評。歡迎來信(xf@csai.cn)與我一起交流與本書相關(guān),與用例分析技術(shù)、需求工程、系統(tǒng)分析以及設(shè)計等軟件開發(fā)相關(guān)的話題。徐鋒2005年10月于廈門紫荊園

作者簡介

  IvarJacobson博士,是許多技術(shù)“之父”,這包括組件及基于組件的軟件架構(gòu),用例,現(xiàn)代業(yè)務(wù)工程,以及Rational統(tǒng)一過程。他還是統(tǒng)一建模語言(UML)的三位創(chuàng)始之一。同時他也是關(guān)于這些方法和技術(shù)的五本暢銷書籍的作者,以及兩本關(guān)于UML的引領(lǐng)性書籍的合著者。Ivar博士是JacobsonAB公司的創(chuàng)始人,在該公司他與其女兒、合作者AgnetaJacobson共同開發(fā)一套開創(chuàng)性的新產(chǎn)品,它將包括支持軟件開發(fā)的智能代理。同時他還是IvarJacotsonConsulting公司(IJC)的創(chuàng)始人,其目標是向全世界的開發(fā)團隊推廣優(yōu)秀的軟件開發(fā)實踐。Pan-WeiNg博士,在IvarJacobsonConsulting公司(IJC)扮演了多個角色。Pan-Wei博士負責針對軟件架構(gòu)、用例、迭代開發(fā)、方面技術(shù)等相關(guān)技術(shù)的最佳實踐定義、開發(fā)相關(guān)素材。這些工作通常要基于實踐進行,才能夠確保歸納的最佳實踐切實、實用。Pan-Wei博士還積極地和客戶一起工作,以確保這些公司和項目團隊能夠快速、安全地采用這些最佳實踐。

圖書目錄

序 xvii
致謝 xxxi
第1篇用例和方面的應(yīng)用實例
第1章要解決的問題 3
1.1組件現(xiàn)在的用途 3
1.1.1使用組件構(gòu)建系統(tǒng) 4
1.1.2組件的益處 6
1.2組件的局限性 6
1.2.1無法使對等關(guān)注點相互分離 8
1.2.2無法使擴展相互分離 9
1.3尋求解決方案 11
1.3.1對于擴展的早期支持 12
1.3.2UML對擴展的支持 15
1.4使關(guān)注點保持分離 16
第2章使用方面技術(shù)來解決問題 17
2.1使用方面技術(shù)尋求解決方案 17
2.2基于方面技術(shù)使對等關(guān)注點保持分離 19
2.3基于方面技術(shù)使擴展保持分離 21
2.4方法學指導的需要 26
第3章現(xiàn)在基于用例 29
3.1用例概述 29
3.2用例驅(qū)動開發(fā) 32
3.3用例的角色和益處 34
3.4用例技術(shù)的缺口(gap) 34
3.5基于方面來填補缺口(gap) 35
第4章將來基于用例模塊 37
4.1通過疊加用例切片來構(gòu)建系統(tǒng) 38
4.2使對等用例保持分離 40
4.3使擴展用例保持分離 42
4.4基于用例模塊開發(fā) 45
第2篇基于用例捕獲關(guān)注點并建模
第5章基于用例對關(guān)注點建模 51
5.1用例建模 51
5.2用例實例和事件流 53
5.3用例描述 54
5.4用例事件流的可視化 57
5.5總結(jié)與強調(diào) 60
第6章用例結(jié)構(gòu)化 61
6.1用例關(guān)系 61
6.2用例擴展關(guān)系 63
6.3用例包含關(guān)系 70
6.4用例泛化 73
6.5公共用例 77
6.6總結(jié)與強調(diào) 79
第7章基于用例捕獲關(guān)注點 81
第3篇基于用例模塊實現(xiàn)關(guān)注點分離
第8章基于用例切片使對等用例保持分離 105
第9章基于pointcut使擴展保持分離 127
第10章基于用例模塊構(gòu)建系統(tǒng) 145
第4篇基于用例和方面建立架構(gòu)
第11章通往彈性軟件架構(gòu)之路 167
第12章基于對等的應(yīng)用用例使功能需求保持分離 187
第13章基于應(yīng)用-擴展用例使功能需求保持分離 213
第14章基于基礎(chǔ)結(jié)構(gòu)用例使非功能需求保持分離 239
第15章基于平臺相關(guān)用例切片使平臺特性保持分離 263
第16章基于用例測試切片使測試保持分離 301
第17章架構(gòu)評估 319
第18章架構(gòu)描述 339
第5篇在項目中應(yīng)用用例和方面
第19章運作一個項目 357
19.1迭代式開發(fā) 357
19.1.1項目中的階段 358
19.1.2迭代中的活動 359
19.2估算開發(fā)工作量 359
19.2.1在項目之初進行估算 360
19.2.2對估算進行提煉 362
19.3項目的計劃和監(jiān)控 363
19.3.1項目延誤估算 363
19.3.2使項目跟上進度 364
19.4保持關(guān)注點分離帶來的生產(chǎn)率提高 365
19.5總結(jié)與強調(diào) 367
第20章方法剪裁 369
20.1實現(xiàn)正確的平衡 369
20.2選擇應(yīng)用的科目 370
20.3在項目的不同階段采用 373
20.4總結(jié)與強調(diào) 374
第21章方面與超越 375
21.1在擴展(Extensions)上構(gòu)建系統(tǒng) 375
21.2均衡各種最佳實踐 376
21.3未來之路 377
附錄A使用UML對方面和用例切片建模 379
附錄B符號指南 387
參考文獻 395
術(shù)語表 399
索引 407

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號