ECO传奇(I)

ECO传奇(I

前一阵子为CSDN写了一篇有关ECO的文章,CSDN为它取名为ECO传奇”。由于CSDN杂志是在大陆发行而且是简体版,因此,为了让台湾的朋友也有机会看看这篇文章,以下我贴出了繁体版

 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>

最近几年来,软件工程和程序语言一样都呈现百家争鸣的现象,从UML/RUP、敏捷开发(AD)、测试驱动开发(TDD)到功能驱动开发(FDD)以及目前快速兴起,也即本文讨论重点的模型驱动开发(MDD),让整个开发社群热闹不已。正如不同的开发人员会根据应用程序的需求以及个人的喜好选择使用不同的程序语言,而且同时使用数种程序语言开发应用程序已经成为常态现象,愈来愈多的开发团队也开始导入不同的软件工程,甚至会在不同的项目中使用不同的软件工程。这种种的现象都代表着多样化(精致化),质量和生产力决定了使用的程序语言和软件工程,而不再像以前一样由特定的信息技术主导。

那么什么是模型驱动开发呢? 在稍后本文介绍ECO的发展史段落中,读者就可以看到ECO之父Jan Norden先生对于开发应用程序的观察,相信读者必然也会心有戚戚焉。但是在叙述ECO发展史之前,在此先让笔者和各位读者交流一下数个开发的问题。

如果读者是拥有数年经验的开发人员,那么您是否记得到现在为止您撰写了多少支程序吗? 也许这个问题的答案您只有非常模糊的感觉。没关系,如果笔者继续问在您撰写的程序中您写过多少次使用相同的数据存取技术,例如JDBCADOADO.NETBDEdbExpress等,从相同数据库中取得数据的程序代码? 又有多少次您是把取得的数据显示在类似的图形用户界面中? 您是不是有过这样一种经验,那就是您的脑袋中已经知道如何完成应用程序的功能,但是仍然需要一步一步地撰写存取数据库的程序代码,一步一步地设计图形用户界面,虽然您已经撰写过无数类似的应用程序?

笔者本身就拥有许多上述开发的经验,那么请您想想为什么会有这种不断重复的开发工作发生? 很简单,是因为我们平时的开发工作就是把客户的需要不断地对映到我们使用的技术中,利用各种技术记录、分析和设计客户的需求,再使用人工的方式对映到数据库,对映到图形用户界面,对映到集成工作,对映到一堆不断重复的工作上。也正是因为这些需要重复进行的开发工作太多,因此,许多开发人员就开始简化客户需求设计的过程,因为许多开发人员相信许多的细节部分可以在撰写程序代码阶段完成,而无须花费时间在“无用”的设计阶段,毕竟“计划(设计)赶不上变化”,不是吗?

虽然设计不能穷尽所有开发细节,但却能够掌握大部分的业务逻辑,而就是这关键部分的业务逻辑占据了上述重复开发工作的主要部分,通过工具我们可以自动地对映业务逻辑完成上述重复的开发工作,而让开发人员专注在设计更好的客户需求模型,避免不断地重复相同或是类似的开发工作。

现在我们就可以简单地说明一下什么是模型驱动开发了。MDD的基本构想是开发人员应该专注于设计良好的业务逻辑模型,并且把业务逻辑撰写在模型中。一旦模型设计完成之后,MDD即可提供工具自动地把业务逻辑模型对映到开发人员使用的技术中。例如开发人员可以选择使用特定的平台、数据库、程序语言或是组件架构,这样一来,就避免了开发人员需要不断重复相同的开发工作,也可以大幅缩减开发过程,当然,MDD也支持了一个关键技术,那就是由此任何的设计不可能一次完成,因此MDD也支持迭代式的开发,一旦开发人员修改了设计模型,支持MDD的工具就可以再次进行迭代式转换。这整个概念如下图所示:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值