Model-Driven Software Development: Technology, Engineering, Management
暫譯: 模型驅動軟體開發:技術、工程、管理
Thomas Stahl, Markus Voelter
- 出版商: Wiley
- 出版日期: 2006-07-01
- 售價: $2,890
- 貴賓價: 9.5 折 $2,746
- 語言: 英文
- 頁數: 446
- 裝訂: Paperback
- ISBN: 0470025700
- ISBN-13: 9780470025703
已絕版
買這商品的人也買了...
-
$990Designing Effective Wizards: A Multidisciplinary Approach
-
$1,080Windows System Programming, 3/e (Hardcover)
-
$1,188UMTS Signaling: UMTS Interfaces, Protocols, Message Flows and Procedures Analyzed and Explained (Hardcover)
-
$650$507 -
$680$537 -
$680$666 -
$980$774 -
$580$383 -
$520$411 -
$880$695 -
$5,180$4,921 -
$450$356 -
$780$616 -
$720$569 -
$350$298 -
$840$798 -
$600$480 -
$1,280$1,254 -
$1,400$1,330 -
$1,540Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit (Paperback)
-
$1,780$1,691 -
$650$514 -
$750$638 -
$2,390$2,271 -
$2,570$2,442
商品描述
Description
Model-Driven Software Development (MDSD) is currently a highly regarded development paradigm among developers and researchers. With the advent of OMG's MDA and Microsoft's Software Factories, the MDSD approach has moved to the centre of the programmer's attention, becoming the focus of conferences such as OOPSLA, JAOO and OOP.
MDSD is about using domain-specific languages to create models that express application structure or behaviour in an efficient and domain-specific way. These models are subsequently transformed into executable code by a sequence of model transformations.
This practical guide for software architects and developers is peppered with practical examples and extensive case studies. International experts deliver:
* A comprehensive overview of MDSD and how it relates to industry standards such as MDA and Software Factories.
* Technical details on meta modeling, DSL construction, model-to-model and model-to-code transformations, and software architecture.
* Invaluable insight into the software development process, plus engineering issues such as versioning, testing and product line engineering.
* Essential management knowledge covering economic and organizational topics, from a global perspective.
Get started and benefit from some practical support along the way!
Table of Contents
- Part I Introduction.
Introduction.
1.1 The Subject of the Book.
1.2 Target Audience.
1.3 The Goals of the Book.
1.4 The Scope of the Book.
1.5 The Structure of the Book and Reader Guidelines.
1.6 The Accompanying Web site.
1.7 About the Authors.
1.8 About the Cover.
1.9 Acknowledgments.
2 MDSD – Basic Ideas and Terminology.
2.1 The Challenge;.
2.2 The Goals of MDSD.
2.3 The MDSD Approach.
2.4 Basic Terminology.
2.5 Architecture-Centric MDSD.
3 Case Study: A Typical Web Application.
3.1 Application Development.
3.2 Architecture Development.
3.3 Conclusion and Outlook.
4 Concept Formation.
4.1 Common MDSD Concepts and Terminology.
4.2 Model-Driven Architecture.
4.3 Architecture-Centric MDSD.
4.4 Generative Programming.
4.5 Software Factories.
4.6 Model-Integrated Computing.
4.7 Language-Oriented Programming.
4.8 Domain-Specific Modeling.
5 Classification.
5.1 MDSD vs. CASE, 4GL and Wizards.
5.2 MDSD vs. Roundtrip Engineering.
5.3 MDSD and Patterns.
5.4 MDSD and Domain-Driven Design.
5.5 MDSD, Data-Driven Development and Interpreters.
5.6; MDSD and Agile Software Development.
Part II Domain Architectures.
6 Metamodeling.
6.1 What Is Metamodeling?.
6.2 Metalevels vs. Level of Abstraction.
6.3 MOF and UML.
6.4 Extending UML.
6.5 UML Profiles.
6.6 Metamodeling and OCL.
6.7 Metamodeling: Example 1.
6.8 Metamodeling: Example 2.
6.9 Tool-supported Model Validation.
6.10 Metamodeling and Behavior.
6.11 A More Complex Example.
6.12 Pitfalls in Metamodeling.
7 MDSD-Capable Target Architectures.
7.1 Software Architecture in the Context of MDSD.
7.2 What Is a Sound Architecture?.
7.3 How Do You Arrive at a Sound Architecture?.
7.4 Building Blocks for Software Architecture.
7.5 Architecture Reference Model.
7.6 Balancing the MDSD Platform.
7.7 Architecture Conformance.
7.8 MDSD and CBD.
7.9 SOA, BPM and MDSD.
8 Building Domain Architectures.
8.1; DSL construction.
8.2 General Transformation Architecture.
8.3 Technical Aspects of Building Transformations.
8.4 The Use of Interpreters.
9 Code Generation Techniques.
9.1 Code Generation – Why?.
9.2 Categorization.
9.3 Generation Techniques.
10 Model Transformation Techniques.
10.1 History.
10.2 M2M language requirements.
10.3; Overall Architecture.
10.4 An Example Transformation.
10.5 The OMG Standardization Process and Tool Availability.
10.6 Assessment.
11 MDSD Tools: Roles, Architecture, Selection Criteria,
and Pointers.11.1 The Role of Tools in the Development Process.
11.2 Tool Architecture and Selection Criteria.
11.3 Pointers.
12 The MDA Standard.
12.1 Goals.
12.2 Core Concepts.
Part III Processes and Engineering.
13 MDSD Process Building Blocks and Best Practices.
13.1 Introduction.
13.2 Separation between Application and Domain Architecture
Development.13.3 Two-Track Iterative Development.
13.4 Target Architecture Development Process.
13.5 Product-Line Engineering.
14 Testing.
14.1 Test Types.
14.2 Tests in Model-Driven Application Development.
14.3 Testing the Domain Architecture.
15 Versioning.
15.1 What Is Versioned?.
15.2 Projects and Dependencies.
15.3 The Structure of Application Projects.
15.4 Version Management and Build Process for Mixed Files.
15.5 Modeling in a Team and Versioning of Partial Models.
16 Case Study: Embedded Component Infrastructures.
16.1 Overview.
16.2 Product-Line Engineering.
16.3 Modeling.
16.4 Implementation of Components.
16.5 Generator Adaptation.
16.6 Code Generation.
17 Case Study: An Enterprise System.
17.1 Overview.
17.2 Phase 1: Elaboration.
17.3 Phase 2: Iterate.
17.4 Phase 3: Automate.
17.5 Discussion.
Part IV Management.
18 Decision Support.
18.1 Business Potential.
18.2 Automation and Reuse.
18.3 Quality.
18.4 Reuse.
18.5 Portability, Changeability.
18.6 Investment and Possible Benefits.
18.7 Critical Questions.
18.8 Conclusion.
18.9 Recommended Reading.
19 Organizational Aspects.
19.1 Assignment of Roles.
19.2 Team Structure.
19.3 Software Product Development Models.
20 Adoption Strategies for MDSD.
20.1 Prerequisites.
20.2 Getting Started – MDSD Piloting.
20.3 MDSD Adaptation of Existing Systems.
20.4 Classification of the Software Inventory.
20.5 Build, Buy, or Open Source.
20.6 The Design of a Supply Chain.
20.7 Incremental Evolution of Domain Architectures.
20.8 Risk Management.
A Model Transformation Code.
A.1; Complete QVT Relations alma2db Example.
A.2 Complete QVT Operational Mappings alma2db Example.
References.
Index.
商品描述(中文翻譯)
**描述**
模型驅動軟體開發(Model-Driven Software Development, MDSD)目前在開發者和研究人員中受到高度重視。隨著OMG的MDA和微軟的軟體工廠的出現,MDSD方法已成為程式設計師關注的焦點,並成為OOPSLA、JAOO和OOP等會議的主題。
MDSD是使用特定領域語言來創建模型,這些模型以高效且特定於領域的方式表達應用程式的結構或行為。這些模型隨後通過一系列模型轉換轉換為可執行代碼。
這本針對軟體架構師和開發者的實用指南中充滿了實用範例和廣泛的案例研究。國際專家提供:
* MDSD的全面概述,以及它與MDA和軟體工廠等行業標準的關係。
* 有關元建模、DSL構建、模型到模型和模型到代碼轉換以及軟體架構的技術細節。
* 對軟體開發過程的寶貴見解,以及版本控制、測試和產品線工程等工程問題。
* 從全球視角出發的經濟和組織主題的基本管理知識。
開始吧,並在過程中獲得一些實用的支持!
**目錄**
- 第一部分 介紹
- 介紹
- 1.1 本書的主題
- 1.2 目標讀者
- 1.3 本書的目標
- 1.4 本書的範圍
- 1.5 本書的結構和讀者指南
- 1.6 附帶網站
- 1.7 關於作者
- 1.8 關於封面
- 1.9 致謝
- 2 MDSD – 基本概念和術語
- 2.1 挑戰
- 2.2 MDSD的目標
- 2.3 MDSD方法
- 2.4 基本術語
- 2.5 以架構為中心的MDSD
- 3 案例研究:典型的網路應用程式
- 3.1 應用程式開發
- 3.2 架構開發
- 3.3 結論與展望
- 4 概念形成
- 4.1 常見的MDSD概念和術語
- 4.2 模型驅動架構
- 4.3 以架構為中心的MDSD
- 4.4 生成式編程
- 4.5 軟體工廠
- 4.6 模型整合計算
- 4.7 語言導向編程
- 4.8 特定領域建模
- 5 分類
- 5.1 MDSD與CASE、4GL和向導
- 5.2 MDSD與回合工程
- 5.3 MDSD與模式
- 5.4 MDSD與領域驅動設計
- 5.5 MDSD、數據驅動開發和解釋器
- 5.6 MDSD與敏捷軟體開發
- 第二部分 領域架構
- 6 元建模
- 6.1 什麼是元建模?
- 6.2 元層與抽象層次
- 6.3 MOF和UML
- 6.4 擴展UML
- 6.5 UML配置文件
- 6.6 元建模與OCL
- 6.7 元建模:範例1
- 6.8 元建模:範例2
- 6.9 工具支持的模型驗證
- 6.10 元建模與行為
- 6.11 更複雜的範例
- 6.12 元建模中的陷阱
- 7 MDSD能力的目標架構
- 7.1 MDSD背景下的軟體架構
- 7.2 什麼是健全的架構?
- 7.3 如何達到健全的架構?
- 7.4 軟體架構的構建塊
- 7.5 架構參考模型
- 7.6 平衡MDSD平台
- 7.7 架構一致性
- 7.8 MDSD與CBD
- 7.9 SOA、BPM與MDSD
- 8 建立領域架構
- 8.1 DSL構建
- 8.2 一般轉換架構
- 8.3 建立轉換的技術方面
- 8.4 解釋器的使用
- 9 代碼生成技術
- 9.1 代碼生成 – 為什麼?
- 9.2 分類
- 9.3 生成技術
- 10 模型轉換技術
- 10.1 歷史
- 10.2 M2M語言要求
- 10.3 整體架構
- 10.4 一個範例轉換
- 10.5 OMG標準化過程和工具可用性
- 10.6 評估
- 11 MDSD工具:角色、架構、選擇標準和指導
- 11.1 工具在開發過程中的角色
- 11.2 工具架構和選擇標準
- 11.3 指導
- 12 MDA標準
- 12.1 目標
- 12.2 核心概念
- 第三部分 流程與工程
- 13 MDSD流程構建塊和最佳實踐
- 13.1 介紹
- 13.2 應用與領域架構開發之間的分離
- 13.3 雙軌迭代開發
- 13.4 目標架構開發過程
- 13.5 產品線工程
- 14 測試
- 14.1 測試類型
- 14.2 模型驅動應用開發中的測試
- 14.3 測試領域架構
- 15 版本控制
- 15.1 什麼是版本化?
- 15.2 專案與依賴
- 15.3 應用專案的結構
- 15.4 混合文件的版本管理與構建過程
- 15.5 團隊中的建模與部分模型的版本控制
- 16 案例研究:嵌入式元件基礎架構