数据驱动软件工程,是时候把它召唤回来了

前阵因为论文看到过有关驳数据驱动的文章。的确,数据驱动方法存在一些问题。在90年代,Google 曾经做过一个实验,将程序员分成2组,一面教授模型驱动设计,另一面教授的是数据驱动设计。结果是,学习了数据驱动设计的开发者的代码冗余性提高,拓展性降低。就是所谓的低内聚高耦合。不过,那是90年代。回过头来看看现代的软件开发。首先,软件开发从原先的经典开发方法改变到了现在的持续性开发方法。其次,最终用户已经不能满足经典开发的速度。再次,软件市场由 PC 逐渐移动到移动设备,竞争更加激烈。最后,最终用户由于现在软件市场的竞争使得对一个软件的敏感度下降很快。所有的一切都告诉开发者,开发的要快,开发的要好。记得袁腾飞曾经说过,多快好省本来就是矛盾的,但是,最终用户的心里现在就是这样希望软件做的又快又好。开发者只能想办法来提高开发的效率。

现在有一些开发的方法,比如敏捷开发,基于原型的开发以及可持续开发。这些开发方法的共同点在于,都是通过软件运行时的 Log 以及用户的回馈来进行软件再开发。如果抛开开发过程,只看测试反馈的这一部分,那么,这里的开发方法其实是数据驱动的。这说明,数据驱动方法并不是一无所用。

数据驱动软件工程的主要作用有2点。

1. 实时的软件回馈数据来驱动软件的再开发以及质量控制。一个比较著名的方法就是 Continuous Integration (CI)

2. 强调软件开发参与者之间的交流与合作。例如 DevOps

微软亚洲研究院有一个项目叫做软件分析,其实他们也是数据驱动软件工程的一部分。他们的主旨在于通过分析错误堆栈定位软件代码,从而提速再开发速度。Etsy 通过 Automatic Daily Build 检测他们的在线商务网站中存在的问题,而后根据自动测试的结果修复问题。这也是数据驱动

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值