软件体系结构
(Software Architecture)
四、模型驱动的体系结构
MDA (Model Driven Architecture)
• 从西西弗斯说起——
• 现代版西西弗斯
——项目进展
内容
• MDA简介
• MDA开发过程
• 简单的MDA框架
• MDA应用案例
• 完整的MDA框架
• OMG相关标准
MDA简介
• Model Driven Architecture
– Model ? 客观事物的抽象表示
– Model-Driven ? 使用模型完成软件的分析、设
计、构建、部署、维护等各开发活动
– Architecture ? 构成系统的部件、连接件及其约
束的规约
– MDA起源于分离系统规约和平台实现的思想
– MDA的主要目标:
portability, interoperability, reusability
MDA简介
• MAD产生背景
– OMG 标准化OMA CORBA
– OMG 标准化对象建模技术UML, 1995
– OMG 采纳MDA作为第二个软件框架, 2001
• MDA不是实现分布式系统的框架,而是在软件开发
中使用模型的指导方法
• MDA是从软件工艺迈向软件工程化的一步
MDA简介
• 以机器为中心的计算
• 以应用为中心的计算
不断提高的抽象层次
MDA简介
• 以企业为中心的计算
– 基于构件的开发(CBD)
– 体系结构风格、设计模式
– 分布式计算
– 中间件:提升平台抽象层次、提升变成抽象层次
– 说明性规约(数据库、WYSIWYG)
– 企业体系结构和关注点分离(大型机、C/S、
3-tier、n-tier)
– 企业应用集成(EAI):集成遗产系统
– 契约式设计:建立可靠软件系统的方法
– 4GL(数据库访问、GUI生成)
MDA简介
• 以企业为中心的计算面临的压力
– 应用的复杂性(B2Bi)
– 生产成本的压力(需求的变动)
– 质量的压力(文档、形式化)
– 软件生命期的压力(平台的易变性)