出版時間:2009-1 出版社:清華大學出版社 作者:(美)斯多(Stahl,T.),(美)沃爾特(Volter,M.) 等著,楊華,高猛 譯 頁數(shù):381
Tag標簽:無
前言
建模是一種關(guān)鍵的工程工具。在分析和設(shè)計復雜系統(tǒng)的時候,工程師們通常要創(chuàng)建模型。模型是對一個系統(tǒng)及其環(huán)境的一種抽象。模型允許工程師們有效地表達自己對系統(tǒng)的關(guān)注,例如回答特定的問題或者對設(shè)計做出必要的修改。每個模型的創(chuàng)建都是有目的的。特定的模型也許適合解答一類特定的問題。在這種情況下,對于模型和實際系統(tǒng)而言,這類問題的答案都是一樣的。然而,這個特定的模型卻不一定適合解答其他類問題。構(gòu)造模型也比搭建實際系統(tǒng)花費少。例如,為了檢查結(jié)構(gòu)的安全性,國內(nèi)的工程師們建造了靜態(tài)和動態(tài)的橋梁結(jié)構(gòu)模型。這是因為與建造真實的橋梁相比,用建模的方法觀察橋梁在何種情況下倒塌的確花費更少且更加有效。在軟件開發(fā)中,模型由來已久。在過去的幾十年中,軟件行業(yè)內(nèi)出現(xiàn)了許多分析和設(shè)計方法。每一種方法都有自己的建模方法和表示法。近年來,統(tǒng)一建模語言(Unified Modeling Language,UML)得到了顯著的發(fā)展?,F(xiàn)在,UML對市場的滲入程度要大于以前任何一種建模表示法的滲入程度。盡管如此,分析和設(shè)計模型很少能和代碼具有相同的地位。絕大多數(shù)軟件項目的現(xiàn)實使模型并不會隨代碼的更新而實時更新,因此它們會隨時間的過去而被廢棄并失去價值。模型驅(qū)動軟件開發(fā)(Model-Driven Software Development,MDSD)將分析和設(shè)計模型與代碼同等對待。將該模型和代碼更好地集成起來可以通過模型來大大增加有效改進的機會,而不僅僅是直接修改代碼。MDSD涉及到許多不同的技術(shù),這些技術(shù)貫穿了整個軟件開發(fā)過程,包括模型驅(qū)動需求工程、模型驅(qū)動設(shè)計、通過模型生成代碼、模型驅(qū)動測試及模型驅(qū)動軟件演變等。對象管理組(Object Management Group,OMG)首次提出的模型驅(qū)動體系結(jié)構(gòu)(Model-Driven Architecture,MDA)使人們對軟件建模和模型驅(qū)動技術(shù)越來越感興趣。然而,這種概念的提出有利有弊。在積極的方面,值得高興的是,建模已經(jīng)引起了人們的很大興趣,并且各個組織正在嘗試使用模型驅(qū)動技術(shù)改進自己目前的實踐。與此同時,圍繞MDA的大肆市場宣傳傾向于產(chǎn)生一些不切實際的期望。不考慮這些宣傳,的確可以認為MDSD提供了很多思想,其中許多思想可以用在現(xiàn)今的實際情況中。認識到這些潛在的發(fā)展趨勢需要深刻地理解目前的MDSD技術(shù)、其適用性及其局限性。本書的作者站在MDSD研究和實踐的前沿。在一些OOPSLA會議上,Markus和Jorn曾經(jīng)組織并參與了一系列MDSD工作室。Simon參與了OMG對模型變換的標準化。所有的作者都在若干領(lǐng)域內(nèi)倡導將這項技術(shù)用于實踐,涉及的領(lǐng)域涵蓋了諸如b+m、Siemens和BMW等小型公司和大型公司的企業(yè)應(yīng)用和嵌入式軟件。
內(nèi)容概要
Markus Völter 模型驅(qū)動的軟件開發(fā)(MDSD)是當前受到開發(fā)人員和研究人員高度關(guān)注的開發(fā)范型。隨著OMG的MDA 和Microsoft的Software Factories的出現(xiàn),MDSD方法已經(jīng)越來越受到程序員的關(guān)注,并且成為一些國際協(xié)會(例如OOPSLA、JAOO和OOP)的重點討論議題。 MDSD使用域特定語言創(chuàng)建模型,這種模型以有效的、域特定方式表達應(yīng)用程序結(jié)構(gòu)或行為。通過一系列模型轉(zhuǎn)換過程,這些模型隨后被轉(zhuǎn)換為可執(zhí)行的代碼。本書是一本面向軟件架構(gòu)師和開發(fā)人員的實踐指南,包括了大量實踐范例和豐富的案例研究。
作者簡介
Thomas Stah是b+m informatik AG的首席架構(gòu)師,主要研究模型驅(qū)動的軟件開發(fā),并且是這方面的專家,具有廣泛的實踐經(jīng)驗。
書籍目錄
第Ⅰ部分 導論 第1章 緒論 第2章 MDSD的基本思想和術(shù)語 第3章 一個典型的Web應(yīng)用 第4章 概念形成 第5章 分類 第Ⅱ部分 域體系結(jié)構(gòu) 第6章 元建模 第7章 可以使用MDSD的目標體系結(jié)構(gòu) 第8章 構(gòu)建域體系結(jié)構(gòu) 第9章 代碼生成技術(shù) 第10章 使用QVT進行模型轉(zhuǎn)換 第11章 MDSD工具:角色、體系結(jié)構(gòu)、選擇標準和指南 第12章 MDA標準 第Ⅲ部分 過程和工程 第13章 MDSD過程構(gòu)件和最佳實踐 第14章 測試 第15章 版本化 第16章 案例研究:嵌入式的組件基礎(chǔ)結(jié)構(gòu) 第17章 案例研究:企業(yè)系統(tǒng) 第Ⅳ部分 管 理 第18章 決策支持 第19章 組織方面 第20章 MDSD的改進策略 附錄A 模型轉(zhuǎn)換代碼
章節(jié)摘錄
插圖:一個組件可能有許多配置形參——與控制臺應(yīng)用程序中命令行的實參相當——用于配置組件的行為。形參和它們的類型是在類型模型中被定義的,隨后指定形參的數(shù)值,例如在組合或者系統(tǒng)模型中。有人可能會問組件是無狀態(tài)的還是有狀態(tài)的,它們是否是線程安全的以及它們的生命周期是怎樣的(例如,它們是被動的還是主動的,它們是否希望被告知生命周期的事件,如激活等)。使用簡單的同步通信并不總是充分的。各種異步通信模式中的某種模式,如在[VKZ04]中描述的,可能也是可以應(yīng)用的。因為使用這些模式會影響組件的API,因此必須在類型模型中標明要使用的模式,如圖7.13所示。
編輯推薦
《模型驅(qū)動軟件開發(fā):技術(shù)、工程與管理》特色:·全面介紹了MDSD,以及它如何與一些行業(yè)標準關(guān)聯(lián),例如MDA和Software Factorles。·關(guān)于元建模、DSL一構(gòu)造、模型之間以及模型和代碼之間的轉(zhuǎn)換、軟件體系結(jié)構(gòu)方面的技術(shù)細節(jié)·深入了解軟件開發(fā)過程以及一些工程問題(例如版本化、測試和產(chǎn)品線工程)·涉及經(jīng)濟和企業(yè)主題的基本管理知識(從全局的觀點進行介紹)
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載