UML谁的硬伤?
2008-04-10 02:48:02来源:互联网 阅读 ()
注:本文所针对的主要读者群是尚未接触UML或刚刚开始接触UML的软件开发人员。
你知道人的硬伤是什么吗?自私?贪婪?懒惰?不宽容?...都不是,是死亡。死亡是一切宗教的核心秘密。如果有人以“他会死”(没错,这确实是事实)来攻击一个人的人品,您觉得这样的攻击能够服人吗?
《程序员》杂志2002年5月号刊登有一篇《UML三大硬伤》(以下简称《程》文)。我们认为,《程》文作者在文中把建模语言,方法,工具,管理...等概念混在一起,许多观点是不正确的。因此,我们综合了前一段时间在UMLChina和CSDN所进行讨论的网友观点,撰写此文进行澄清,并阐释初学者对UML的一些误解,希望有所助益。
我们认为,作者所描述的“硬伤”,很多属于刚开始学习UML时感到困惑的问题。如果实践者在运用UML碰到问题时,都是象《程》文作者所言“怪自己无法理解三位UML创始人的深度思想”,必然就会更深入地去查资料,看资料,思考...如果能这样,相信随着学习的深入,多数问题都会不成其问题。一般来说,学习某个东西的过程总是这样的:
1.刚开始学习和使用:很多概念不理解或者与原有知识不合拍,觉得到处是“硬伤”;
2.深入一点了:觉得原来的“硬伤”,原来只是自己没有领会--大部分“硬伤”消失,剩下部分可看作是这个层次的真的硬伤;
3.再深入:在更深的层次发现更多的“硬伤”,这时人已经谦逊多了,不敢确定是不是真的“硬伤”;
4.再再深入:发现其中部分“硬伤”是假的,但也确定某些“硬伤”是真的。
5.循环往复,螺旋式上升。
照这个过程来看,至少是到了2的阶段,给出中肯“硬伤”意见的概率才会大一些。
诚然,使用UML的统一过程中几大核心工作流之间的衔接、几大视图的演化,以及业务模型到实现模型的转化,这方面的详细资料和书籍,目前虽然在国外已经出版了很多,但正式在国内出版的还不多,这也使得国内开发人员在应用UML和统一过程建模时,无所依从。但这种情况正在好转,目前有分量的UML相关书籍的中文翻译版权都已经被国内各大出版社所瓜分,不断推出精品书籍,推出频率看起来越来越高。如果说以前的结构化方法,包括早期的OO方法,国内的资料都严重缺乏,那么一批批UML相关书籍的推出,将为以前没有建模习惯的软件公司提供强有力的启蒙和参考。
《程》文:在国内的公开报道中,几乎众口一词地充斥着对UML的褒奖,即使有公开抱怨也只是怪自己无法理解三位UML创始人的深度思想,怪自己水平不够,没有料到UML本身却存在着种种问题。
评论:
1. “三位UML创始人的深度思想”这种说法可能会引起一些误解,误认为“UML是这三个人创造出来的,与其他人关系不大”。事实上,UML是一种工业标准。我们来回顾一下UML的历史:
面向对象的编程语言发展得比较成熟以后,人们开始将面向对象扩展到分析和设计领域,任何新生事物一开始总是比较混乱的,到1994年,有一定影响的OOAD方法有50多种。【1】对同一个概念,不同流派的表述方法都有所区别,例如对类的操作(operation),当时的表示方法有:
Wirfs-Brock Responsibility(责任) Booch Operation(操作) Coad/Yourdon Service(服务) Stroustrup Function(函数) ××××× Method(方法)
任何学科要得到持续发展,都必须有一种大家公认的标识符把思想留存下来。没有 -×÷∈∏∑∞∮∫≈,很难想像数学的发展;没有五线谱,贝多芬们如何能精确表达灵感?(也反面印证了中国科学的衰落--没有符号体系使得科学无法持续发展)
UML的最重要贡献是符号的统一
Grady Booch看到了这一点,他在文章中提到,“科学的一个普遍问题是,必须对被观测的对象和情况,建立一种有意义的分类方法,以便人们理解这些观测结果,也有助于科学理论的持续发展。”【2】1993年,Grady Booch开始工作。1996年Rational发布UML0.9。1997年,多家软件公司组成的UML联合组织成立,并把UML1.0提交到OMG。1997年11月4日,OMG发布UML1.1。目前UML的最新版本版本是1.4,正在筹划的UML2.0将以成为ISO标准为目标。【1,3】
UML对各个流派的建模符号和概念进行了归纳,并提供了非常严谨的定义和描述,成为真正的建模语言。虽然Booch、Jacobson、Rumbaugh三人的表示法在UML中占了主要部分,但还是有很多部分来自各方。接口来自Microsoft,包的符号来自Apple Macintosh,活动图来自James Odell,状态图来自David Harel【3,4,5,6】
Martin
Fowler在1997年就指出:“你应该使用UML吗?一个字:是!旧的面向对象符号正在快速地消逝。它们还会残留在UML稳固前出版的书上面,但新的书、文章等等将会全部以UML作为符号。如果你正在使用旧的符号,你就应该在1998年间转换到UML。如里你正要开始使用建模符号,你就该直接学习UML。”【2】。五年过去了,我们可以翻翻能买到的国外1998年以后出版的和面向对象有关的书籍,事实证明正是如此。如果使用面向对象的方法来开发软件,用UML作为建模语言是最好的选择,如果不是基于面向对象方法开发,那就不一定要理会UML了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:深入浅出OOD(一)
下一篇:谁在“软件出口”的旗帜下淘金?
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash