系统架构师-模型驱动架构设计笔记.docx
系统架构师-模型驱动架构设计笔记
?一.?模型驱动架构的概念
模型驱动架构(MDA)是指一种用于应用系统开发的软件设计方法,它提供了一套软件设计的指导规范,这套指导规范是用模型来表示的。
MDA是一种基于诸如统一建模语言(UML)、可扩展标记语言(XML),和公共对象请求代理体系结构(CORBA)等一系列业界开放标准的框架,因此,它具备软件设计和模型的可视化、存储和交换的功能。
MDA能够创建出机器可读和高度抽象的模型,这些模型独立于实现技术,以标准化的方式储存。
?二.?模型驱动架构的特点
模型驱动架构是以模型为核心并由模型映射驱动开发的过程。MDA环境下的系统开发方式就是在开发活动中通过创建各种模型精确描述不同的问题域,并利用模型转换来驱动包括分析、设计和实现等在内的整个软件开发过程。
?三.??MDA的建模方法
MDA基于三种建模方法。
1.统一建模语言(UML):包括各种软件建模所需的子语言,UML主要的子语言用于表达类图、活动图与状态图。
2.元对象工具(MOF):是作为UML构造的一个子集而建立的,具有足够的表达能力来表达重要的模型。
3.公共仓库元模型(CWM):标准化了数据仓库应用程序的生命周期(例如,设计、构建和管理)。
?四.?MDA的建模层次
在MDA开发过程,可从三个不同的层次建立系统模型。
1.?计算无关模型(ComputationalIndependentModel,CIM),该模型关注于业务环境和需求,而不考虑计算环境。该模型通常由业务分析人员创建,展示了系统的业务模型,可以理解为系统需求。
2.?平台无关模型(PlatformIndependentModel,PIM),该模型考虑在计算系统环境中的业务逻辑表示,但不关注具体的实现平台。该模型通常由系统架构师创建,关注系统功能,可以理解为分析模型。
3.?平台相关模型(PlatformSpecificModel,PSM),该模型关注于如何在特定平台(如JavaEE)下如何实现业务逻辑,可以理解为设计模型。
?五.?模型驱动架构的开发过程
CIM—PIM—PSM—?实现代码
基于MDA的开发过程,首先通过业务领域的分析和建模构造CIM以描述需求。
结合相关的标准规范将CIM转换为PIM。在PIM基础上,针对不同的实现环境,可以构造出不同的PSM。最后将PSM转换成目标代码,完成开发过程。