转载几篇文章:
其实对我们这些用户而言,更愿意面对一个统一的标准,如果这个标准更简单易用同时保证足够的强大,则是最好。
1. “微软抛弃了UML” UML之父猛烈批评微软软件工厂http://www.youkuaiyun.com/news/newstopic/18/18770.shtml 2. 微软反击批评:我们从未抛弃UMLhttp://www.youkuaiyun.com/news/newstopic/18/18785.shtml 3. Ivar Jacobson:厂商分歧导致UML和MDA举步惟艰http://www.youkuaiyun.com/news/newstopic/18/18784.shtml 4.
软件工厂+DSL: 微软对MDA的回答
http://www.umlchina.com/News/Content/181.htm 为方便查看,我把它们转贴在下面了:
“微软抛弃了UML” UML之父猛烈批评微软软件工厂 (2004.12.13) 来自:IBM developerWorks
“UML三友”之一的Grady Booch近日发表了一篇blog,猛烈批评了微软的“软件工厂 ”概念。软件工厂实际上可以看作微软对MDA(模型驱动架构)的表述,强调用领域专有语言描述系统,并通过代码生成得到最终的可执行程序。
Grady Booch首先指出,“软件工厂”这个词就很令人失望,因为制造业的“工厂”理念并不适用于软件,Tom DeMarco等人早已证明过这一点。Booch还把“软件工厂”称作是“marketecture”,即“只有市场宣传价值的架构”。
更重要的是,Grady Booch非常反对微软弃UML于不顾、采用自家私有的领域专用语言(Domain-Specific Language,DSL)。Booch认为,UML足以描述绝大多数的领域问题和设计,而引入另一套DSL只会让软件开发各方之间的交流愈加困难。
这篇blog的全文请看:http://www-106.ibm.com/developerworks/blogs/dw_blog_comments.jspa?blog=317&entry=67637&ca=dgr-jw22MSrejectsUML
微软反击批评:我们从未抛弃UML (2004.12.14) 来自:优快云 熊节
Ivar Jacobson:厂商分歧导致UML和MDA举步惟艰 (2004.12.13) 来自:优快云
<!--StartFragment -->(以下是Ivar Jacobson在优快云聊天活动中所说的话。聊天全文参见http://event.youkuaiyun.com/ActDetails.aspx?AID=3daffc21-3238-4ef8-82a8-2003cde27d79 )
嘉宾[ 主持人] : 我记得两年以前做采访的时候,我当时问你未来有什么新技术的趋势,你提到可执行的UML ,现在可执行的UML 的发展怎么样呢? [2004-12-8 <?xml:namespace prefix = st1 /><time minute="50" hour="15"><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: darkgray; FONT-FAMILY: 'Century Gothic'">15:50:00</span></time>]<?xml:namespace prefix = o />
嘉宾[Ivar Jacobson] : 可执行的UML 实际上并没有如我所预期的发展。原因可能实际上存在着不同的标准,从UML 到可执行的UML ,因为要和具体的软件的代码要相关,而在软件代码,从UML 到软件代码这方面不同的厂商有不同的做法,现在看上去大概有三种途径都可以从UML 快速转到代码,包括IBM ,包括微软,还有Borland 都可以做。但是,事实上这几家最终没有达成共识性的东西,所以,可执行的UML 作为标准提出,实际上还是有待时日。 实际上MDA (就是模型驱动的体系结构),这种开发方法和可执行的UML 的现状是完全相同的,实际上由于各家在标准上还没有达成共识,实际上对开发人员来讲,对最终用户来讲,还没有一个非常统一的一个解决办法。 IBM 现在实际上在领导和倡导一个标准的形成,IBM 采纳了比如说UML 这样的技术,另外IBM 也积极的倡导像开发源码,像Eclipse ,像IBM 所做的一切,都是为软件领域做一个非常好的贡献。但是,实际上我也担心,在这个圈子里面其他的厂商未必去沿着IBM 的路线去走。
软件工厂+DSL: 微软对MDA的回答
Stephen Swoyer
[2004/12 /1]
两年前,OMG推出了MDA,用UML来自动化来自应用、中间件或者定制组件的软件集成。顾问公司META集团的副总裁Thomas Murphy认为,从某种程度上说,软件工厂和与之相关的领域特定语言DSL(Domain Specific Languages)的概念,是微软对MDA的回应。
“MDA是OMG的软件工厂。微软的目标是DSL领域,因此很多事情都是建立在观察建模以及事情运转的不同视角(View)的价值之上” 那么,微软认为一个DSL是什么呢?微软企业框架和工具组的架构师Keith Short指出,许多开发人员已经在使用DSL工作了-虽然他们自己还不知道。
“SQL就是我们用得很好的一种DSL”,Keith解释,开发人员使用SQL的过程中并不需要了解关系数据库是如何工作的。
好,那么这和软件工厂的概念有什么关系吗?对初学者而言,微软把软件工厂作为自动化一些手工任务和封装领域知识的一种方式。举例来说,领域知识可以被封装为代码或者组件,并可以容易地被复用。Short认为,这也就是DSL的设计目的:从开发人员的角度来看,DSL可以帮助抽象某个特定领域的复杂度(例如架构、过程、技术标准等)。如Web services就很复杂,要求开发人员要了解哪些service是可用的,如何连接的细节等。Short指出,“设想你可以把这些抽象到一个DSL,这个DSL就是关注特定开发环境的工具”。
和Web services一样,SQL 是多年来标准化努力的成果。微软和其它开发商都有义务来开发好的工具帮助开发人员创建自己的DSL。Short说,“要实现理想的场景,我们要做的事情之一就是要帮助设计人员简单地构建DSL并实现它们……”
这个软件巨人在九月的OOPSL会议上发出了DSL的呼吁,并捧出了一个新的工具集,帮助开发人员在图形化环境下定义、编辑DSL。Short指出,藏在该工具集后面的想法就是使得“软件工厂的创建者可以更容易地描述一些事物之间的交互,例如源代码和schema之间。”
微软的动作已经引起了开发人员的关注,即使是像Michael Hudson这样过去对微软的技术通常不屑一顾的程序员。Hudson是Praxis公司的程序员,J2EE专家。他认为DSL是微软的软件工厂中最有震撼力的思想。但他认为很多思想都是从其它的技术例如XDE中借用过来的。XDE是Rational支持MDA方法的RAD工具。
Hudson 说,“我觉得他们找对了关键的地方,那就是:高层建模必须用领域特定的语言来描述。你可以更快地得到你所面对领域的业务逻辑,开发过程更快更有效。我觉得,软件工厂这个概念如果能够获得成功的话,应该是因为在DSL上的创新。”
开发人员是可以将他们的经验用DSL的方式进行封装的,这是完全有可能的。这实际上也是他们对自己工作或多或少的抽象。
但Thomas Murphy认为这种事情将不会发生,“我们已经推动这个概念很久了:通过抽象来简化软件开发,使得谁都可以进行软件开发。但未来还是会需要大量有创造力的开发人员,在软件开发的最前线去开发组件、进行设计”。
(自adtmag,UMLChina袁峰 摘译,不得转载用于商业用途)