写点什么

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

  • 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:383544
用户头像

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

关注

评论

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

关注网络安全合规的动态

黑龙江陆陆信息测评部

LED租赁屏如何选购及保养

Dylan

广告 LED LED display AI算力租赁 LED屏幕

飞桨新一代框架3.0正式发布:加速大模型时代的技术创新与产业应用

百度Geek说

百度 飞桨

手把手教你5招!高效对接微店商品API接口,数据调取快到飞起

代码忍者

微店商品详情API接口

2025混合应用开发新路径:降本增效双驱动策略

xuyinyin

CAD怎么实现XY不同比缩放

极客天地

09.接口vs抽象类比较

杨充

AI Agent落地竞速,金智维卡位千亿级企业市场

脑极体

AI

区块链 RWA软件系统的开发框架

北京木奇移动技术有限公司

区块链技术 软件外包公司 RWA开发

不只更便宜,还更「绿色」——DeCloud如何助力减少碳排放?

PowerVerse

算力 DePIN 碳排放 DeCloud

《一文讲透》第7期:KWDB 巧用标签与索引优化查询性能

KaiwuDB

数据库· #程序员

TapData 与 StarRocks 完成兼容性互认证,携手共建实时数据智能生态,联合打造端到端全链路实时数仓解决方案

tapdata

实时数仓 数据集成 StarRocks 实时数据平台 tapdata和starrocks

如何使用 AI 辅助学习 Python - 通义灵码功能全解析

阿里云云效

CAD怎么实现图形遮挡效果

极客天地

当 MCP 遇上 Serverless,AI 时代的最佳搭档

阿里巴巴云原生

阿里云 Serverless 云原生

鹰角:EMR Serverless Spark 在《明日方舟》游戏业务的应用

阿里云大数据AI技术

大数据 spark 阿里云 Serverless EMR

区块链 RWA系统的主要功能

北京木奇移动技术有限公司

区块链 软件外包公司 RWA开发

什么是 Redis?为什么你应该关心它?

数据追梦人

数据分析与AI丨在企业环境中利用知识图谱赋能生成式 AI

Altair RapidMiner

人工智能 AI 数据分析 知识图谱 生成式AI

如何使用 AI 辅助学习 Python - 通义灵码功能全解析

阿里巴巴云原生

Python

AIoT 智变浪潮演讲实录 | 刘浩然:让硬件会思考:边缘大模型网关助力硬件智能革新

火山引擎边缘云

硬件 大模型 AI 大底座 边缘智能 大模型工具

CAD面域功能作用

极客天地

伊登软件与华为云签订合作协议,共建企业应用+AI新范式

极客天地

使用VSCode连接金仓数据库KingbaseES

金仓技术

数据库· KingbaseES 金仓数据库

可视化编程范式与未来图景

代码制造者

可视化编程

AI 加速企业数智化 | 2025企业AI创新峰会·河南站圆满收官

用友智能财务

AI 财务 会计

解读MES:企业数字化工厂的核心支撑与解决方案

万界星空科技

数字化转型 制造业 mes 制造业工厂 生产管理MES系统

深入研究:1688商品列表API详解

tbapi

1688商品列表接口 1688API 1688商品数据采集

CAD怎么将图形移动到坐标原点

极客天地

如何优雅地处理 API 版本控制?

数据追梦人

AI超新星集体爆发!一文读懂Midjourney V7、LLaMa 4和DreamActor-M1如何改变世界

Seachal

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