atitit.提升开发效率---mda 软件开发方式的革命

1. 软件开发方式的革命开发工具的抽象层次将再次提升 1

2. 应用框架和其实现相分离 2

3. 目前的问题模型和代码不同步 2

4. MDA的历史及其由来 2

5. MDA的三个主要目标是:轻便性、 互操作性和可重用性。 3

6. MDA跟代码生成的不同 3

7. 问题:也许MDA不过是已有的Case Tools的“昙花一现” 3

8. 实际的效率提升 3

9. Mda在嵌入式系统的成功 4

10. 我的总结:::基于伪码生成比较好. 4

11. 参考 4

1. 软件开发方式的革命开发工具的抽象层次将再次提升

MDA是软件开发自汇编语言到高级语言之后又一次革命性的“突变”

MDA是OGM提出的新的软件开发方法学,有这样一个观点,软件开发就是建模..它构筑于UML建模语言巨大成功的基础之上

MDA改变了开发过程。在软件的需求分析阶段,不再是编写文档

MDA改变了开发工具。随着技术的进步,主流开发工具的抽象层次将再次提升。在IDE中,最重要的不是代码编辑器,而是基于图形的建模窗口。代码将由变幻工具自动生成,不再是关心的内容。

MDA让我们重新认识文档。以前我们认为文档或者模型不用些的太精确,因为人有很强的理解能力,写的太精确是浪费时间,因为他们不可能变成可以运行的东西。但MDA将推翻这些事实。模型将不是写给人看的,而是写给机器看的,写的精确一点不在是浪费时间。

在将来, 工具将代替人来完成编码工作(大部分吧),走跟个编译器也是..,而我们只要把精力放到创造型的过程中去就可以了

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. 应用框架和其实现相分离

MDA能够将应用框架和其实现相分离。MDA的支持者希望支撑软件和硬件的改变不会使现有的企业应用无法使用。更重要的是,通过降低应用架构和其运行环境的耦合度,MDA能够带来更加优秀的设计,从而使应用寿命更加长久并且能够很容易地移植到其他底层平台上。

3. 目前的问题模型和代码不同步

当今建模的主要问题在于,对于很多企业来说它只是纸面上的练习。这就造成了模型和代码不同步的问题,代码会被不断修改,而模型不会被更新,这样模型就失去了意义

4.  MDA的历史及其由来

自从2001年MDA被OMG(Object Management Group 国际对象管理集团)提出以后,"随风潜入夜,润物细无声",未见轰轰烈烈宣传,各大厂商却惊人一致地争相跟进,关于MDA的话题转眼之间在网络上也如火如荼地繁荣起来了。
  MDA(Model Driven Architecture,模型驱动架构)是OMG目前推出的全新的软件开发框架,这一框架的推出已给整个软件业带来了一场“地震”

,它把我们从底层平台的“剧烈振动”中安全的隔离出来,保护了 我们业已建立的“业务逻辑大厦”的安然无恙,使我们在面对一轮一轮因平台技术剧变而产生的冲击波时能够泰然处之。它必将在诸多方面对软件技术的未来产生深 远的影响,然而它的“源”在哪里呢?

从1995年起,OMG开始非正式的采用与工业相关的一些技术规范,并于96、97年进行了正式化工作。与此同时,在Mary Loomis的领导下进一步扩大了工作范围使之包含对象建模,这就导致了UML建模语言的产生,并随之于2001年OMG组织进一步采纳了另外一个框架 ——MDA。当然MDA不像CORBA框架那样是用于实现分布式对象系统,而是一种在软件开发中使用模型的方式。回顾MDA的历史,我们可以看出UML的 巨大成功为MDA的产生奠定了坚实的基础,

 MDA源自于众所周知的把系统操作的规范从系统利用底层平台能力的方式细节中分离出来的思想,MDA提供了一种途径(通过相关的工具)来规范化一个平台 独立的系统、规范化平台、为系统选择一个特定的实现平台,并且把系统规范转换到特定的实现平台。

5. MDA的三个主要目标是:轻便性、 互操作性和可重用性。

通过架构性的分离来实现轻便性、 互操作性和可重用性。

6. MDA跟代码生成的不同

MDA的本质不是代码生成,尽管代码生成被认为是主要成就。MDA也可以通过构造能直接执行模型的虚拟机来实现。

MDA并不仅仅是“UML+代码生成”,它带给我们更多的是一种思考问题的方式和观念的变化

7. 问题:也许MDA不过是已有的Case Tools的“昙花一现”

8. 实际的效率提升

MDA团队在效率上占有绝对优势,效率提高了几乎30%多

其中还没有计算因是第一次使用MDA方法所必须的熟悉和学习工具时间,可见使用MDA方法可以极大地提高软件开发效率,这一点是毋庸置疑的。

3大的MDA工具的现状

相对于业界大厂的冷静和矜持,一些中小厂商反而特别活跃,

像 Interactive Objects公司著名的ArcStyler、

Compuware公司著名的OptimalJ,

还有开放源码的AndroMDA等遵循OMG标准规范的 MDA工具已在一些项目中得到了广泛的运用,并取得了显著的成效。
  结束语

9. Mda在嵌入式系统的成功

因为嵌入式系统一瓦不同的平台..

。基于Schlaer-Mellor的系统被用于为所有种类的电子设备生成嵌入式代码,从抽象模型产生数百万行C/C++代码来完成复杂的电信交换。在某些方面,我可以说比起企业应用系统,MDA在这种系统上有更成功的表现。”
  既然在嵌入式和实时系统已取得成功,在企业级开发方面也必将成功,我们将拭目以待。

10. 我的总结:::基于伪码生成比较好.

使用uml生成代码现在还不是弄好....伪码也许做为当中语言...

11. 参考

MDA:一场软件开发方式的革命,还是Case Tools老瓶中装的新醋? - 王朝网络 - wangchao.net.cn.htm

转载于:https://www.cnblogs.com/attilax/p/5963945.html

atitit.提升开发效率---mda 软件开发方式的革命相关推荐

  1. atitit.提升开发效率---使用server控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比較...

    atitit.提升开发效率---使用server控件生命周期  asp.net 11个阶段  java jsf 的6个阶段比較 例如以下列举了server控件生命周期所要经历的11个阶段. (1)初始 ...

  2. Atitit外包优缺点 提升开发效率 外包模式 1.一般来说外包优点 1.1.更加方便快捷 时间成本降低了 1.2.会导致 经济成本高,,时间成本降低了, 2.缺点 2.1.成本高 2.2.

    Atitit外包优缺点  提升开发效率 外包模式 一般来说外包优点 更加方便快捷  时间成本降低了 会导致 经济成本高,,时间成本降低了, 缺点 成本高 缺少控制 但是少部分,比如理发,经济时间成本都 ...

  3. order by 影响效率么_提升开发效率N倍的20+命令行神器

    图 by:石头@青海湖 关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader.以每篇文章都让人有收获为目的,欢迎关注,交流和指导! 背景 本文 ...

  4. 猿创征文|后端开发工程师提升开发效率神器推荐

    简介 对于现在的后端工程师来说,并不仅仅局限于编写代码和解决bug,这两个要素了.如果你目前还只是忙碌的写代码和改bug的话,那要深度思考一下,我为什么日复一日的写这些重复代码?这样有何意义?或者说, ...

  5. 对提升开发效率的总结

    做软件开发好几年了,总结下开发经验. 如何提升开发效率: 1.扎实的技术功底 2.强大的学习理解能力 3.丰富的处理经验 4.业务与需求的理解度 扎实的技术功底自然是作为一名优秀的开发人员必不可少的, ...

  6. idea从零到精通08之IDEA常用插件、提升开发效率

    文章目录 作者简介 引言 导航 热门专栏推荐 概述 一.插件安装方式 二.在Idea中无法直接安装插件 三.常用插件 1.ECTranslation 2.Grep Console 3.CodeGlan ...

  7. 提升开发效率N倍的20+命令行神器!(附 demo)

    点击上方蓝色字体,关注我 -- 一个在阿里云打工的清华学渣! 图 by:石头@青海湖 关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader.以 ...

  8. Python学习笔记:Day13 提升开发效率

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  9. 深度解读Microsoft Build 2020:提升开发效率,优化开发环境

    Microsoft Build 2020 在众多新产品与技术发布中圆满落幕 但身为开发技术人深知 技术世界的更迭.求索却从未止步 唯有不断提升自身技能栈创新 方能从技术浮沉中获得更多养分 让技术予力世 ...

最新文章

  1. NKOJ 1791 Party at Hali-Bula(树状DP)
  2. 如何解决线程安全的问题
  3. 装linux系统时键盘用不了怎么办_图吧垃圾佬的LINUX体验
  4. Python基础——PyCharm版本——第八章、文件I/O(XML)
  5. 【开发技巧】解决微信author2.0回调内网本地问题
  6. Circular buffer
  7. Java中的几种对象(PO、VO、DAO、BO、POJO)
  8. 荣耀 升级 鸿蒙,荣耀终于放出大招!4部荣耀旗舰可升级鸿蒙,网友:终于等到了...
  9. java--线程安全
  10. 应急响应前移:从事后到事前
  11. 黑客帝国屏保源码!快拿去试试吧!炫酷无比!
  12. 记事本如何运行python代码_记事本写代码怎么运行
  13. 清华大学计算机科学王昊,Elearning平台中资源传输方案的设计与实现以清华网络学堂为例.pdf...
  14. 移动应用发展现状_移动应用开发平台:现状和趋势
  15. 本特利电涡流传感器330103-00-04-90-01-CN
  16. 图片文字识别—OCR技术
  17. 1/1917钓鱼思维导图
  18. 构造方法(设计一个Fan类来表示一个风扇)
  19. 图片按指定比例缩放并压缩至指定大小,解决保存图片文件体积过大bug。
  20. 用计算机谈狂狼,抖音狂狼原唱是谁 抖音狂狼完整版歌词

热门文章

  1. 键盘与鼠标器是微型计算机上最常用的,2016年职称计算机考试WindowsXP考前预测试题5...
  2. oracle 减少回表,減少oracle sql回表次數 提高SQL查詢性能 | 學步園
  3. mysql if exists用法_MySQL中EXISTS的用法
  4. https脚本调linux执行器,linux平台下一键配置网站https
  5. ltspice 双脉冲_焊烟脉冲布袋式除尘器制作
  6. Java中文乱码破碎重组_总结彻底解决Spring MVC+Mybatis中文乱码问题
  7. java idle 机制_HotSpot VM重量级锁降级机制的实现原理
  8. php商城的购物车功能,php实现购物车功能(以大苹果购物网为例)
  9. android 媒体库扫描,如何扫描出Android系统媒体库中视频文件
  10. 数学建模学习笔记(一)——层次分析模型