APP下载

一种支持MDA的基于EDM的软件开发方式

2012-08-01肖文辉刘洪星

关键词:数据库模型系统

肖文辉,刘洪星

(武汉理工大学计算机科学与技术学院,湖北 武汉 430063)

1 MDA介绍

模型驱动架构(model driven architecture,MDA)是由对象管理组织(object management group,OMG)提出的[1]。MDA 将信息系统抽象成计算无关模型(CIM)、平台无关模型(PIM)和平台相关模型(PSM)3个层次。

在传统的软件开发流程中通常会经历需求分析、概要设计、详细设计、编码和测试等阶段,如图1所示。系统的模型和文档主要在设计阶段被创建,之后随着编码工作的开始,模型与代码之间可能会出现不同步的问题[2]。

图1 传统的开发流程

不同于传统的开发流程,MDA由系统的建模行为驱动,模型(而不是代码)在系统开发流程中处于核心地位[3],如图2所示。在MDA的开发流程中,由PIM完成分析设计工作,而与具体的平台和实现技术相关的PSM以及代码,则可借助第三方转换工具来完成。

图2 MDA的开发流程

2 实体数据模型

实体数据模型(entity data model,EDM)是微软实体框架(ADO.NET entity framework)的核心,它基于实体关系(ER)模型。EDM是一种构建在ER模型之上的概念模型。EDM由CSDL(conceptual schema definition language),SSDL(stores schema define language),MSL(mapping schema language)3个部分组成,分别描述应用程序业务层的实体和关系、逻辑模型的结构、概念模型与逻辑模型之间的映射[4]。

在实体框架中,EDM处于一个包含中间件映射引擎的运行环境中,该环境支持EDM与关系数据模型(RDM)之间的双向映射。开发人员可以使用语言集成查询 LINQ[5](language integrated query)或一种新的数据操作语言Entity SQL来操作EDM实例[6]。通过面向对象的方式对数据进行操作,传入的参数和得到的返回结果都是封装好的对象,而不是单独的字段值或一条一条的表记录。另外,数据操作代码和编程语言能较好地集成在一起,在代码执行之前,Visual Studio就可以检测数据操作代码在语法以及对象间的引用上是否存在错误。……

登录APP查看全文

猜你喜欢

数据库模型系统
一半模型
Smartflower POP 一体式光伏系统
WJ-700无人机系统
ZC系列无人机遥感系统
重尾非线性自回归模型自加权M-估计的渐近分布
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
数据库
3D打印中的模型分割与打包
数据库
数据库