当前位置: 首页 > article >正文

系统架构师考试-MDA模型驱动架构

概念

模型驱动架构是指一种用于应用系统开发的软件设计方法,它提供了一套软件设计的指导规范,这套指导规范是用模型来表示的。

MDA是一种基于诸如统一建模语言、可扩展标记语言和公共对象请求代理体系结构等一系列业界开放标准的框架,因此,它具备软件设计和模型的可视化、存储和交换功能

模型驱动架构是以模型为核心并由模型映射驱动开发的过程。MDA环境下的系统开发方式就是在开发活动中通过创建各种模型精确描述不同的问题域,并利用模型转换来驱动包括分析、设计和实现等在内的整个软件开发过程。

建模方法

MDA基于三种建模方法:统一建模语言UML、元对象工具MOF、公共仓库元模型CWM

MOF:作为UML的一个子集

CWM:标准化了仓库应用程序的生命周期

建模层次

MDA建模层次分为三层,包括:CIM计算无关模型、PIM平台无关模型、PSM平台相关模型

CIM:该模型关注于业务环境和需求,而不考虑计算环境。该模型通常由业务分析人员创建,展示了系统的业务模型,可以理解为系统需求。

PIM:该模型考虑在计算系统环境中的业务逻辑表示,但不关注具体的实现平台。该模型通常由系统架构师创建,关注系统功能,可以理解为分析模型。

PSM:平台相关模型,该模型关注于如何在特定平台下如何实现业务逻辑;可以理解为设计模型。MDA的价值在于CIM可以通过简单的映射转换成PIM。同样,PIM也可以映射成不同平台的PSM,而PSM可以转换成最终的具体实现代码。

基于MDA的开发过程,业务人员首先通过业务领域的分析和建模构造CIM以描述需求;之后结合相关的标准规范将CIM转换为PIM;在PIM基础上,针对不同的实现环境,可以构造出不同的PSM,最后将PSM转换成目标代码,完成开发过程。

相关规范

MDA包括4个规范,分别为:元设施(MOF)、UML、元数据交换(XML)、公共仓库模型CWM

MDA包括两个重要的子规范包括:对象约束语言OCL、模型的查询、视图、转换OVT

元设施(MOF)。MOF 提供了一个元数据的管理框架以及一组元数据服务,使得模型系统和元数据驱动系统的开发和互操作成为可能。在MOF 中提出了4层模型的概念,分别是运行时层(MO)层、模型层(M1层)、元模型层(M2层)和元元模型层(M3层)
UML。UML 是一种通用的建模语言,得到了主要的面向对象和组件方法的广泛支持,并且能够应用到所有的应用领域和实现平台。
元数据交换(XMI)。XMI 定义了XML 标记如何表示序列化的MOF 模型。其目的是为了便于UMI。建模工具之间的数据和元数据交换,并在多层分布式环境中提供元数据存储机制。
公共仓库元模型(CWM)。CWM 的主要目的是允许在分布式异构环境中对仓库工具,仓库平台和仓库元数据知识库进行仓库和业务智能元数据的交换。
对象约束语言(OCL)。OCL 是UML 的一个子规范。它是一种易于使用的形式化语言,其语义等同于一阶逻辑,其目的是为了描述UML 模型中的约束。OCL 是保证模型精确性的重要手段,被广泛用于MOF 中的4层模型中,除了描述模型约束,还可以用来定义模型转换规则。
模型的查询、视图、转换(QVT)。OVT 是模型转换的标准。它定义了两种描述性的模型转换语言。关系和核心,以及两种命令式的模型转换机制;操作映射和黑盒。


http://www.kler.cn/a/469426.html

相关文章:

  • 如何查看服务器上的MySQL/Redis等系统服务状态和列表
  • 【UI自动化测试】selenium八种定位方式
  • Golang开发-案例整理汇总
  • 《探秘计算机视觉与深度学习:开启智能视觉新时代》
  • Gitee图形界面上传(详细步骤)
  • linux-centos-安装miniconda3
  • Mac 版本向日葵退出登录账号
  • Electron快速入门——跨平台桌面端应用开发框架
  • 嵌入式linux中socket控制与实现
  • Mono里运行C#脚本24—handle_ctor_call
  • 【Unity3D】UGUI Canvas画布渲染流程
  • 【NLP高频面题 - Transformer篇】Transformer编码器有哪些子层?
  • 【蓝桥杯】43709.机器人繁殖
  • (初学者)STM32 MP157中LED触发器笔记
  • Go小技巧易错点100例(二十一)
  • BGP(Border Gateway Protocol)路由收集器
  • 下载word报表
  • reactor中的并发
  • Java(day3)
  • 使用JMeter对Linux生产服务器进行压力测试
  • Golang中的大端序和小端序
  • 五类推理(逻辑推理、概率推理、图推理、基于深度学习的推理)的开源库 (二)
  • 51单片机——蜂鸣器模块
  • SpringCloud源码-nacos
  • 图片验证码
  • 解锁kafka组件安全性解决方案:打造全方位安全防线