本書以獨特的視角討論了軟件開發(fā)中的一項革命性技術,即使得模型規(guī)約可以被完全、高效地轉換成為代碼的技術。讀者將學會如何使用影響廣泛的軟件建模語言UML,基于OMG的模型驅動的體系結構來建立強壯的軟件規(guī)約。作者還描述了把可執(zhí)行UML(xUML)模型轉換成任意的平臺相關實現時所需要的步驟。這個方法的好處不僅能減少或者消除編碼階段,它還保證了平臺無關性,使模型免于過時(程序設計語言可能改變,但是模型不會),并且,允許通過在一個支持測試-排錯的xUML環(huán)境中執(zhí)行模型而對模型進行完全的驗證。本書的作者們都是書中描述的技術和過程的富有經驗的實踐者。他們曾經在各種行業(yè)中參與了這些實踐,這些行業(yè)包括國防、航天、汽車、電信、政府、醫(yī)療保健、保險、過程控制等。他們見證了面向對象、可執(zhí)行建模和模型驅動的體系結構的各種各樣的能力。他們曾經和客戶一起把可執(zhí)行建模和代碼生成技術應用到各種系統(tǒng)中去。從多年的第一手經驗中他們認識到,可執(zhí)行建模和代碼生成非常有用。他們也了解如何充分使用這些技術,以及需要注意的問題。本書正是用這些實踐經驗描繪了技術細節(jié)。對于那些正在思考大中型項目軟件開發(fā)技術未來發(fā)展方向的人,本書是一個非常好的參考。 第1章引論11.1為什么需要讀這本書11.2從本書將會學到什么11.3我們?yōu)槭裁磳戧P于MDA和UML的書31.4什么是模型驅動體系結構51.5OMG簡介71.6軟件方法的歷史,通往MDA之路71.7什么是可執(zhí)行UML(xUML)101.8本書結構131.9怎樣閱讀本書15第2章可執(zhí)行模型驅動體系結構172.1概述172.2MDA背景—軟件工程和過程172.3模型驅動體系結構192.4可執(zhí)行UML222.5過程改進的需要222.6使用可執(zhí)行模型的MDA方法的原則232.7模型映射352.8MDA過程總結362.9詳述域372.10集成PIM382.11建立PIM392.12驗證PIM422.13詳述系統(tǒng)構建過程432.14結論44第3章MDA在典型項目中的應用453.1概述453.2初始階段463.3營造階段503.4構建階段663.5移交階段673.6需求變更的影響683.7變更對設計決策的影響683.8MDA和其他生命周期過程68第4章用例建模704.1用例介紹704.2目標704.3識別參與者和用例704.4用例圖714.5建立用例文檔724.6管理大的或者復雜的用例模型744.7用例建模的有效使用804.8具體和抽象用例804.9用例層次804.10詳述性能814.11獲取其他類型的需求824.12結論83第5章使用域進行平臺無關建模845.1概述845.2系統(tǒng)分解的可選策略845.3域圖875.4域的類型885.5組織域圖915.6尋找域的技術925.7MDA過程:總結975.8如何進行壞域的分解995.9結論100第6章對域中的類建模1016.1概述1016.2類圖概覽1016.3類圖的生命周期1026.4類1036.5屬性1046.6類的圖形表示1056.7類的表格表示1056.8馬鈴薯圖1066.9關聯1066.10對象標識1216.11指引屬性1226.12冗余屬性1236.13規(guī)范化1236.14靜態(tài)和動態(tài)類1256.15改善模型效率1256.16屬性可見性1256.17對象閃電戰(zhàn)1266.18不成熟劃分的危險1316.19結論132第7章類的行為和交互1337.1狀態(tài)無關行為和狀態(tài)相關行為1337.2操作與狀態(tài)1347.3對象和類的交互1367.4類協(xié)作模型上的域接口1397.5動態(tài)建模過程1417.6獲取和表達狀態(tài)相關行為和狀態(tài)無關行為145第8章操作建模1468.1操作1468.2類操作和對象操作1478.3域操作1498.4橋操作1508.5操作屬于哪里1508.6多態(tài)操作1508.7操作的域外部可見性1518.8總結152第9章動態(tài)建模1539.1概述1539.2定義1539.3狀態(tài)圖1549.4狀態(tài)轉換表1599.5非存在狀態(tài)1629.6執(zhí)行語義1629.7控制狀態(tài)機的復雜度1679.8如何建立不良狀態(tài)機1699.9UML中其他形式的狀態(tài)建模1709.10結論170第10章動作規(guī)約17110.1我們在什么地方17110.2動作規(guī)約語言ASL17110.3ASL的關鍵特征17410.4一個ASL例子17810.5ASL和平臺無關性17810.6為UML而設計的動作語言的使用以及好處18210.7動作語言的更多好處19410.8好的ASL實踐指南19710.9其他動作語言19910.10如何建立壞模型19910.11結論200第11章用于建模的模式20111.1概述20111.2規(guī)格模式20311.3特性值模式20411.4關聯時間幀模式20611.5多值關聯模式20811.6兼容性模式21011.7多重分類21411.8動態(tài)分類21611.9排序項21811.10資源請求者模式21911.11分配者模式22111.12層次結構模式22211.13實例刪除模式22311.14實例創(chuàng)建模式22511.15無序操作22511.16日志模式22811.17設備控制模式23111.18反模式23211.19結論235第12章域的集成23612.1域的接口23612.2契約類型23612.3所需服務23812.4可用服務24012.5簡單橋24112.6高級橋24912.7怎樣管理域集成—構建集25912.8結論261第13章系統(tǒng)生成26313.1概述26313.2系統(tǒng)實現的傳統(tǒng)方法26313.3轉換驅動開發(fā)26713.4設計流程27213.5對實例化的xUML2模型的轉換—設計27413.6代碼生成器的生成28313.7測試體系結構28313.8使體系結構多樣化—標記28513.9體系結構優(yōu)化28713.10設計模型的角色28913.11轉換方法的開發(fā)生命周期29013.12定義體系結構—工具支持29213.13結論292第14章實例研究29414.1概述29414.2系統(tǒng)需求概要29414.3用例29514.4系統(tǒng)中的域29614.5模型的特性30014.6構建集30314.7察看實例的模型30414.8執(zhí)行實例模型304光盤安裝向導307術語表308縮寫表311索引313