写点什么

模型驱动开发:成功在何方?

  • 2010-09-24
  • 本文字数:1220 字

    阅读完需:约 4 分钟

Ulrik Eklund 发表了关于 Jon Whittle 在 SPLC 2010 大会上的主题演讲摘要。在演讲中,他讲述了在 EA-MDE 项目中所得到的使用基于模型开发的实战经验。 项目的目的在于了解模型驱动工程(MDE)导致成功或失败的因素,从而有助于设计下一代的 MDE 工具。这并不是个新问题,两年前,Sven Efftinge、Peter Friese 和 Jan Köhnlein 就曾经发表了一篇名为《MDD 最佳实践》的文章,而Mendix 公司的CTO,Johan Den Haan 也发表了一篇关于 MDD 在初始阶段为何会失败的文章。采用 MDE 方法可能会让人气馁。 这样,Johan 根据他的文章做出以下结论:

我们的目的不是要让你在模型驱动软件开发过程的开始阶段就丧失信心。我只是想要向你展示它的复杂性,并且想要分享一些想法,它会指引你工作的方向,从而有助于让你克服 MDE 的复杂性问题。

两周前,他还在博客上发表了一篇文章,详细说明了在创建模型驱动的软件工厂方法的过程中所得到的教训,并且重申了相同的怀疑态度:

我认为模型驱动软件开发是未来软件开发的重要组成部分。然而,我也看到很多人在实际使用模型驱动技术,并将它应用在日常的工作中时遇到了很多困难。 因此,创建成功的模型驱动的软件工厂方法(MDSF)是很重要的。

这个问题实际上非常流行。上周,Marco Bramballi 和 Stefano Butti 也做了一次同样主题的演讲,其中讲述的是在大规模的银行项目中应用 BPM 和 MDD,其中包括 BPMN、WebML 和 WebRation

在他的演讲中,Jon 提供了成功的 MDE 方法的一些关键成功因素,这也是他所从事的研究的一部分:

  1. 保持领域(我想是建模的领域)紧而窄。
  2. 将目标定位为众所周知的领域。
  3. 在关键的项目中实行 MDD(他的意思是,试验性的项目永远都不会得到充分的关注和资源)。
  4. MDD 在设计时最容易发挥作用。
  5. 仔细确认成果,其中到处都会有偏差。
  6. 不要沉迷于自动生成代码。
  7. 并非所有人都能够抽象地思考。
  8. 大多数项目在规模膨胀时都会失败。
  9. 让费用和过程与人们思考的方式一致,而不是与其它方式一致。

在他们的文章中,Swen、Peter 和 Jan 还警告说:

我们为读者提出的最重要的建议是: 要有成效。当恰当地使用 DSL 和代码生成器的时候,它们会是相当有用的工具。 但我们始终应该专注于所要解决的问题。 在很多情况下,比较合理的做法是使用 DSL 来描述特定的问题,而不是所有方面。

尽管 MDE 还在快速地发展,但 Jon 关于 EA-MDE 调查的报告指出,响应者“认为MDE 是个好东西”。

模型驱动架构、开发和工程学以及丰富的模型驱动开发环境——像 NeXTStep ——都是在 80 年代末出现的,在十多年之后,模型已经无处不在,然而,开发工具的数量还是很少,我们的业界还在寻找让模型驱动开发成为主流的方法。只有这么少的成功案例,我们真的可以定义“得到的教训”或者“最佳实践”吗? 是什么阻碍了我们的发展呢? 是模型的关注点和准确度吗?是缺少工具?还是标准?或者是抽象的级别让大多数人难于创建可用的软件工厂方法?你的意见如何?

查看英文原文: Model-Driven Development: Where are the Successes?

2010-09-24 04:383494
用户头像

发布了 340 篇内容, 共 138.8 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

InfoQ 极客传媒 15 周年庆征文|【Docker最佳实践】Windows上安装Docker及常见问题解决

迷彩

Docker 架构 运维 6月月更 InfoQ极客传媒15周年庆

基于宽表的数据建模应用

百度Geek说

大数据 数据建模

2022年中国露营市场专题洞察

易观分析

露营

详解Cache缓存与DB数据库一致性

分治实践

数据一致性 缓存Redis

有了钉钉和企业微信,企业还需要专属IM吗?

BeeWorks

支持 M3U8 格式播放的方法

CRMEB

Vone观点说|用DAO打造人类协作新形态

旺链科技

区块链 产业区块链 自组织协作

一个 Angular 程序员两年多的远程办公经验分享 | 社区征文

汪子熙

程序员 远程办公 Slack 6月月更 初夏征文

java培训MyBatis动态SQL

@零度

mybatis JAVA开发

PingCAP 与阿里云达成合作 云数据库 TiDB 上线阿里云心选商城

PingCAP

分布式数据库 TiDB

大数据培训Flink 运行架构

@零度

flink 大数据开发

自主研发不断突破!索信达AI技术再获国家发明专利授权

索信达控股

华为云发布新伙伴体系,携手伙伴及开发者共建新生态,共创新价值

郝俸🦁好棒

华为云 生态

PingCAP 与阿里云达成合作 云数据库 TiDB 上线阿里云心选商城

极客天地

用 Golang 重写 rsync(3):C里面的谜之指针

百家饭隐私计算平台创业者

c

摆脱五彩斑斓的黑,成为七彩程序员!

禅道项目管理

安全服务厂商安全狗加入龙蜥社区

OpenAnolis小助手

开源 网络安全 龙蜥社区 龙腾计划 安全狗

NFT链游系统开发|NFT卡牌盲盒游戏

薇電13242772558

NFT 链游

Vue-11-条件渲染

Python研究所

6月月更

现场办公VS居家办公——我的2022居家办公经验分享| 社区征文

No Silver Bullet

经验分享 居家办公 6月月更 初夏征文

得物质量度量之“三级指标体系”及其应用实践

得物技术

质量保障 指标监控 工程效能 质量指标 效能平台

Windows/Linux系统下python的安装与环境配置

左手の明天

Python Python库安装 python安装

MySQL索引

龙空白白

索引 MySQL InnoDB

大数据培训Flink 简介与认知

@零度

flink 大数据开发

四次蝉联中国容器云市场TOP5!为应用赋能

BoCloud博云

云原生 容器技术 容器云 博云

InfoQ 极客传媒 15 周年庆征文 | 跨系统数据一致性问题

架构精进之路

数据一致性 构架 InfoQ极客传媒15周年庆

开源等于免费吗?

源字节1号

开源

手把手教学直播:如何提交 PR 成为龙蜥社区贡献者? | 第 23 期

OpenAnolis小助手

开源 PR 龙蜥社区 龙蜥大讲堂 社区贡献

【直播回顾】Hello HarmonyOS系列应用篇完美收官!

HarmonyOS开发者

HarmonyOS

OpenHarmony 官网文档有哪些上新?下篇:设备开发文档上新

OpenHarmony开发者

Open Harmony

解决方案| 快对讲综合调度系统

anyRTC开发者

音视频 快对讲 语音对讲 调度系统 视频对讲

模型驱动开发:成功在何方?_架构_Jean-Jacques Dubray_InfoQ精选文章