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

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

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

定 價(jià):¥49.00

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

ISBN: 9787121018312 出版時(shí)間: 2005-10-01 包裝: 平裝
開(kāi)本: 23cm 頁(yè)數(shù): 500 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

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

本目錄推薦

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