出版時間:2006-1 出版社:清華大學出版社 作者:徐寶文 頁數(shù):358
Tag標簽:無
前言
20世紀90年代,人們推出了許多不同的面向?qū)ο笤O(shè)計和分析方法,OMT(Rumbaugh)、Booch和OOSE(Jacobson)是當中最為流行的3種方法。其中,OMT方法強在分析方面,但弱在設(shè)計方面;Booch方法強在設(shè)計方面,但弱在分析方面;OOSE方法強在行為分析方面,但弱在其他方面。隨著時間的推移,Booch出版了他的第2本書,其中采用了Rumbaugh和Jacobson所提倡的許多好的分析技術(shù)。Rumbaugh發(fā)表了一系列文章闡述了OMT-2,其中采用了Booch的許多好的設(shè)計技術(shù)。自此,這些面向?qū)ο蟮脑O(shè)計和分析方法之間開始出現(xiàn)了交叉,但它們?nèi)匀欢紦碛凶约旱莫毺乇硎痉?。這些不同表示法的使用給建模者造成了混亂,因為不同方法中的相同符號的含義可能并不相同。例如,實心小圓圈在OMT方法中是一個多重性指示器,在Booch方法中則是聚合符號。這個階段就是后來人們所說的方法之戰(zhàn)階段。UML的出現(xiàn)結(jié)束了方法之戰(zhàn)。事實上,UML是一種統(tǒng)一了Booch、OMT和Objectory的表示法的建模語言,同時也采用了其他許多方法中的優(yōu)良思想。目前,UML已經(jīng)成為面向?qū)ο蠓治龊驮O(shè)計方法的事實上的標準。UML相當適合于以體系結(jié)構(gòu)為中心的、用案驅(qū)動的、迭代式和漸增式的軟件開發(fā)過程,其應(yīng)用領(lǐng)域頗為廣泛,除了可用于具有實時性要求的軟件系統(tǒng)建模以及處理復雜數(shù)據(jù)的信息系統(tǒng)建模外,還可以用于描述非軟件領(lǐng)域的系統(tǒng)。UML適用于系統(tǒng)開發(fā)過程中從需求規(guī)約到系統(tǒng)完成后測試的各個階段:在需求分析階段,可以用用戶模型視圖來捕獲用戶需求;在分析和設(shè)計階段,可以用靜態(tài)結(jié)構(gòu)視圖和行為模型視圖來描述系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為;在實現(xiàn)階段,可以將UML模型自動轉(zhuǎn)換為用面向?qū)ο缶幊陶Z言實現(xiàn)的代碼;在測試階段,UML模型還可作為各種類型軟件測試的依據(jù)。為使讀者理解UML在這些方面的應(yīng)用,本書分成語言篇、建模篇和應(yīng)用篇三大部分共13章。語言篇包括第1章~第7章,著重介紹UML語言本身:第1章在簡介20 世紀90 年代流行的各種面向?qū)ο筌浖7椒ǖ幕A(chǔ)上,從3個方面將它們的建模能力與UML的建模能力進行比較;第2章按照視圖、模型元素、圖以及公共機制的順序向讀者簡單介紹UML 的結(jié)構(gòu)和基本元素,以使讀者對UML有一個總體了解;第3章介紹用戶模型視圖,并在此基礎(chǔ)上闡述用案中的控制流識別技術(shù)、用案識別技巧以及用案識別中易犯的錯誤;第4章介紹用來描述系統(tǒng)靜態(tài)結(jié)構(gòu)的結(jié)構(gòu)模型視圖;第5章介紹用來描述系統(tǒng)行為的行為模型視圖;第6章介紹用來描述系統(tǒng)構(gòu)造時結(jié)構(gòu)和行為特征的實現(xiàn)模型視圖;第7章介紹用來描述對系統(tǒng)的環(huán)境進行建模的環(huán)境模型視圖。建模篇包括第8章~第12章,著重討論UML在體系結(jié)構(gòu)建模、實時系統(tǒng)的建模、軟件測試、關(guān)系數(shù)據(jù)庫和C++語言的映射等方面的內(nèi)容:第8章介紹利用UML進行軟件體系結(jié)構(gòu)建模的幾種主要方法;第9章介紹如何利用UML和UML-RT 高效地為實時系統(tǒng)建模,同時分析比較Rational Rose和Rose-RT這兩個建模工具實時建模的優(yōu)缺點;第10章按照單元測試、集成測試和系統(tǒng)測試的順序討論基于UML的軟件測試方法;第11章討論從UML模型到關(guān)系數(shù)據(jù)庫的映射問題(模型結(jié)構(gòu)的映射和模型功能的映射);第12章研究UML 模型映射為相應(yīng)C++代碼的基本原理和方法,并側(cè)重討論UML 類圖到C++類的映射。應(yīng)用篇只包括第13章,其目的是介紹UML在建模上的應(yīng)用:第13章通過一個數(shù)碼聲音錄音機的面向?qū)ο笤O(shè)計和實現(xiàn)過程來說明如何應(yīng)用UML進行實際建模。目前,由國內(nèi)翻譯的或者編寫的與UML相關(guān)的著作已不下十余本,其中對UML中出現(xiàn)的許多專業(yè)術(shù)語的譯法都不完全一致,從而給讀者的閱讀和理解帶來一定的不便。因此,在這本書的編寫過程中,編者一方面力求使得術(shù)語的中文譯法反映英文本意,另一方面力求使其符合讀者已有的習慣,同時還不能造成與其他術(shù)語已有慣用譯法的混淆。例如,讀者已經(jīng)習慣于將use case譯作“用例”,同時也習慣于將test case譯作“測試用例”,但二者同時出現(xiàn)時就容易導致混淆。經(jīng)過慎重考慮我國軟件界老前輩徐家福先生的建議,本書最后將use case譯作“用案”。我國計算機軟件奠基人之一徐家福先生以80歲高齡為本書作序,認真審閱了本書,并對本書內(nèi)容和許多術(shù)語的譯法提出了很好的建議,使我們深受感動。在此我們對徐先生表示由衷的感謝,同時祝徐先生健康長壽。本書成書于2003年,幾經(jīng)修改,方成此稿。本書不僅適用于對UML比較熟悉并且對軟件建模有所了解的開發(fā)人員,同時也可作為廣大科技工作者和研究人員的參考書。由于UML的許多技術(shù)還在不斷發(fā)展之中,加之編者水平有限,因此書中疏漏謬誤之處懇切希望能夠得到廣大讀者的批評指正。
內(nèi)容概要
《UML與軟件建?!吩谌娼榻BUML中的視圖、模型元素、圖以及公共機制等基本知識的基礎(chǔ)上,著重介紹基于UML的軟件體系結(jié)構(gòu)建模方法、基于UML的實時系統(tǒng)建模方法(同時分析比較Rational Rose和Rose-RT這兩個建模工具實時建模的優(yōu)缺點)、基于UML的單元測試、集成測試和系統(tǒng)測試方法以及UML模型到關(guān)系數(shù)據(jù)庫和C++語言映射的實現(xiàn)細節(jié),并通過一個數(shù)碼聲音錄音機的面向?qū)ο笤O(shè)計和實現(xiàn)過程來說明如何應(yīng)用UML進行實際的建模?! 禪ML與軟件建?!饭卜?篇:第1篇(第1~7章)為語言篇,著重介紹UML語言本身,包括UML 的結(jié)構(gòu)和基本元素;第2篇(第8~12章)為建模篇,著重討論UML在體系結(jié)構(gòu)建模、實時系統(tǒng)的建模和軟件測試上的應(yīng)用,同時介紹從UML模型到關(guān)系數(shù)據(jù)庫和C++語言的映射等實現(xiàn)細節(jié);第3篇(第13章)為應(yīng)用篇,基于UML的軟件建模實例,介紹UML在建模上的應(yīng)用?!禪ML與軟件建模》提供了大量應(yīng)用實例,每章后均附有習題?! 禪ML與軟件建?!凡粌H適用于高等院校計算機、軟件工程專業(yè)高年級本科生、研究生作為教材使用,也適用于對UML比較熟悉并且對軟件建模有所了解的開發(fā)人員、廣大科技工作者和研究人員作為參考書。
書籍目錄
第1篇語言篇第1章面向?qū)ο蟮能浖8攀?.1模型1.2面向?qū)ο蟮能浖_發(fā)1.3面向?qū)ο蟮能浖?.4統(tǒng)一建模語言(UML)1.4.1發(fā)展歷程1.4.2基本組成1.4.3建模能力比較1.5小結(jié)習題1第2章UML的構(gòu)成2.1視圖2.2模型元素2.3圖2.3.1用案圖2.3.2類圖2.3.3對象圖2.3.4序列圖2.3.5協(xié)作圖2.3.6狀態(tài)圖2.3.7活動圖2.3.8構(gòu)件圖2.3.9部署圖2.4公共機制2.4.1規(guī)約2.4.2修飾符2.4.3擴展機制2.5小結(jié)習題2第3章用戶模型視圖3.1用案圖3.1.1系統(tǒng)3.1.2參與者3.1.3用案3.2用案的控制流語義3.2.1包含關(guān)系中的控制流3.2.2擴展關(guān)系中的控制流3.2.3泛化關(guān)系中的控制流3.2.4其他關(guān)系中的控制流3.3用案建模3.4小結(jié)習題3第4章結(jié)構(gòu)模型視圖4.1基本概念4.1.1數(shù)據(jù)類型4.1.2多重性4.2類4.3類與對象4.3.1屬性4.3.2操作4.3.3可見性4.3.4對象標識4.4關(guān)聯(lián)4.4.1自關(guān)聯(lián)4.4.2關(guān)聯(lián)的多重性4.4.3角色名4.4.4關(guān)聯(lián)的具體化4.5泛化和特化4.5.1泛化層次4.5.2泛化的含義4.5.3抽象類4.6屬性和操作的繼承4.6.1在子類中添加特征4.6.2在子類中覆蓋操作4.6.3抽象操作4.7關(guān)聯(lián)泛化4.8聚合關(guān)系4.9組合關(guān)系4.10關(guān)聯(lián)類4.11受限關(guān)聯(lián)4.12多繼承4.12.1源自于公共祖先的繼承4.12.2mixin技術(shù)4.12.3判別式4.13模板類4.14接口4.15小結(jié)習題4第5章行為模型視圖5.1序列圖5.1.1對象生命線5.1.2交互的描述5.1.3時間約束的表示5.1.4條件分支的表示5.1.5重復執(zhí)行的表示5.1.6遞歸調(diào)用的表示5.1.7對象的創(chuàng)建和撤銷5.2協(xié)作圖5.2.1協(xié)作圖的類型5.2.2箭頭標簽5.2.3多對象5.2.4主動對象5.3狀態(tài)圖5.3.1狀態(tài)5.3.2事件5.3.3變遷5.4活動圖5.4.1狀態(tài)和變遷5.4.2子活動狀態(tài)5.4.3動態(tài)并發(fā)5.4.4泳道5.4.5工作流建模示例5.5小結(jié)習題5第6章實現(xiàn)模型視圖6.1包6.1.1包的名字6.1.2元素可見性6.1.3包間的依賴關(guān)系6.1.4包間的泛化關(guān)系6.1.5標準衍型6.2子系統(tǒng)6.3模型6.4構(gòu)件圖6.4.1構(gòu)件6.4.2源代碼文件建模6.4.3可執(zhí)行程序和庫建模6.4.4表、文件和文檔建模6.5小結(jié)習題6第7章環(huán)境模型視圖7.1結(jié)點7.2處理器和設(shè)備建模7.3構(gòu)件的分布建模7.4嵌入式系統(tǒng)建模7.5客戶-服務(wù)器建模7.6小結(jié)習題7第2篇建模篇第8章UML與軟件體系結(jié)構(gòu)建模8.1UML用作體系結(jié)構(gòu)描述語言8.1.1體系結(jié)構(gòu)建模實例8.1.2C2概述8.1.3C2風格用于會議調(diào)度系統(tǒng)建模8.1.4用UML建模C2風格的會議調(diào)度系統(tǒng)8.2約束UML以支持軟件體系結(jié)構(gòu)建模8.2.1基于C2的擴展8.2.2基于Wright的擴展8.2.3基于Rapide的擴展8.3小結(jié)習題8第9章UML與實時系統(tǒng)建模9.1實時系統(tǒng)的特征9.2實時統(tǒng)一建模語言UML-RT9.2.1端口和連接子9.2.2封裝體9.2.3協(xié)議9.2.4RationalRoseRealTime9.3GPRS網(wǎng)關(guān)支持結(jié)點GGSN9.4GGSN建模9.4.1需求工作流程9.4.2分析和設(shè)計工作流程9.4.3實現(xiàn)工作流程9.5小結(jié)習題9第10章基于UML的軟件測試技術(shù)10.1軟件測試基礎(chǔ)10.1.1軟件規(guī)約和測試10.1.2軟件測試生命期10.1.3面向?qū)ο筌浖臏y試10.2基于狀態(tài)圖的測試10.2.1基于控制流的測試用例生成10.2.2基于數(shù)據(jù)流的測試用例生成10.3基于活動圖的測試10.3.1形式活動圖的語法與語義10.3.2基于形式活動圖的測試用例生成10.3.3座位預(yù)訂問題10.4基于協(xié)作圖的測試10.4.1規(guī)約層協(xié)作圖和實例層協(xié)作圖10.4.2靜態(tài)測試10.4.3動態(tài)測試10.5基于用案圖的測試10.5.1生成用案序列10.5.2識別用案場景10.5.3生成變體序列10.6小結(jié)習題10第11章UML模型到關(guān)系數(shù)據(jù)庫的映射11.1結(jié)構(gòu)映射11.1.1主鍵的生成11.1.2屬性類型到域的映射11.1.3屬性到列的映射11.1.4類到表的映射11.1.5關(guān)聯(lián)關(guān)系的映射11.1.6應(yīng)避免的映射情況11.2引用完整性及關(guān)系約束檢查11.2.1父表操作的約束11.2.2子表的約束11.3其他相關(guān)問題11.3.1索引11.3.2存儲過程11.3.3觸發(fā)器11.4實例--航空公司UML模型的映射11.5功能到SQL語句的映射11.6小結(jié)習題11第12章UML模型的C++實現(xiàn)12.1概述12.2屬性和方法的映射12.3泛化與特化關(guān)系的映射12.4關(guān)聯(lián)關(guān)系的映射12.4.1單向關(guān)聯(lián)的映射12.4.2雙向關(guān)聯(lián)的映射12.4.3強制對可選關(guān)聯(lián)的映射12.4.4強制對強制關(guān)聯(lián)的映射12.4.5可選對可選關(guān)聯(lián)的映射12.4.6可選對多關(guān)聯(lián)的映射12.4.7強制對多關(guān)聯(lián)的映射12.4.8多對多關(guān)聯(lián)的映射12.4.9有序關(guān)聯(lián)的映射12.4.10關(guān)聯(lián)類的映射12.5受限關(guān)聯(lián)關(guān)系的映射12.5.1強制對強制(可選/多)受限關(guān)聯(lián)的映射12.5.2可選對可選受限關(guān)聯(lián)的映射12.5.3可選對強制受限關(guān)聯(lián)的映射12.5.4可選對多受限關(guān)聯(lián)的映射12.5.5多對可選受限關(guān)聯(lián)的映射12.5.6多對強制受限關(guān)聯(lián)的映射12.5.7多對多受限關(guān)聯(lián)的映射12.5.8有序受限關(guān)聯(lián)的映射12.6聚合關(guān)系和組合關(guān)系的映射12.7特殊類的映射12.7.1枚舉類的映射12.7.2模板的映射12.7.3接口類的映射12.7.4實用工具類的映射12.8包的映射12.9項目管理系統(tǒng)實例12.9.1類圖的映射12.9.2對象圖的映射12.9.3序列圖的映射12.9.4協(xié)作圖的映射12.9.5狀態(tài)圖的映射12.9.6活動圖的映射12.10小結(jié)習題12第3篇應(yīng)用篇第13章數(shù)碼錄音機UML建模實例13.1需求分析13.1.1外部事件13.1.2用案13.1.3場景13.2分析--對象結(jié)構(gòu)13.2.1識別對象13.2.2建立類圖13.3域分析--定義對象行為13.3.1對象的狀態(tài)及對象間的關(guān)系13.3.2用戶接口13.4體系結(jié)構(gòu)設(shè)計13.4.1物理體系結(jié)構(gòu)13.4.2體系結(jié)構(gòu)的模式13.4.3并發(fā)性設(shè)計13.5對象協(xié)作設(shè)計13.6詳細設(shè)計13.6.1硬件包裝器13.6.2聲音壓縮算法13.6.3使用直接存儲器訪問通道13.6.4分配硬件資源13.6.5存儲器分配13.7實現(xiàn)13.8小結(jié)習題13附錄主要術(shù)語中英文對照參考文獻
章節(jié)摘錄
插圖:
編輯推薦
清晰地闡明了UML的構(gòu)成和概念詳細地介紹了UML在軟件體系結(jié)構(gòu)建模和實時系統(tǒng)建模上的應(yīng)用深入地闡述了基于UML的軟件測試方法剖析了UML模型向關(guān)系數(shù)據(jù)庫的映射技術(shù)以及UML模型的C++實現(xiàn)提供了多幅高質(zhì)量圖表
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載