上一篇:UML用例建模的慨念和应用 >>
UML的现状及未来发展
在多种面向对象建模方法流派并存和相互竞争的局面中,UML树起了统一的旗帜,使不同厂商开发的系统模型能够基于共同的概念,使用相同的表示法,呈现彼此一致的模型风格。而且它从多种方法中吸收了大量有用(或者对一部分用户可能有用)的建模概念,使它的概念和表示法在规模上超过了以往任何一种方法,并且提供了允许用户对语言做进一步扩展的机制。
UML在语法和语义的定义方面也做了大量的工作。以往各种关于面向对象方法的著作通常是以比较简单的方式定义其建模概念,而以主要篇幅给出过程指导,论述如何运用这些概念来进行开发。UML则以一种建模语言的姿态出现,使用语言学中的一些技术来定义。尽管真正从语言学的角度看它还有许多缺陷,但它在这方面所做的努力却是以往的各种建模方法无法比拟的。
从UML的早期版本开始,便受到了计算机产业界的重视,OMG的采纳和大公司的支持把它推上了实际上的工业标准的地位,使它拥有越来越多的用户。它被广泛地用于应用领域和多种类型的系统建模,如管理信息系统、通信与控制系统、嵌入式实时系统、分布式系统、系统软件等。近几年还被运用于软件再工程、质量管理、过程管理、配置管理等方面。而且它的应用不仅仅限于计算机软件,还可用于非软件系统,例如硬件设计、业务处理流程、企业或事业单位的结构与行为建模。
不过UML在取得巨大成功的同时,也不断地受到批评。来自工业界的批评主要是,它过于庞大和复杂,用户很难全面、熟练地掌握它,大多数用户实际上只使用它一少部分的概念;它的许多概念含义不清,使用户感到困惑。来自学术界的批评则主要针对它在理论上的缺陷和错误,包括语言体系结构、语法、语义等方面的问题。
目前国内也有不少软件企业在学习并尝试使用UML。从总体上看,我国计算机界对UML的了解还相当初步,但是对它的崇拜程度却远远超过了西方发达国家。人们在学习和使用UML遇到和国外用户相同的疑难和困惑时,却不太敢怀疑UML有什么问题。所以国内几乎没有批评的声音,偶尔有一点,也会立即被捍卫的声音淹没,即使对UML一些最明显的缺点和错误也是如此。
相比之下,国际上对UML的讨论和评价则要客观得多。无论是Internet上的意见交流,或是每年一次的UML研讨会,还是学术期刊上发表的文章,都是既肯定其成绩,又指出其缺点和错误,并且以积极的态度提出建设性意见。在酝酿UML下一次的重大发布和筹划UML 2.0作为ISO标准提案的最近两年内,围绕UML的讨论更为活跃和热烈。
为了使我国计算机界对UML目前的状况有较为客观的了解,我们从大量的文献资料中选择了三篇最具权威性的文章,介绍给我国读者。从这组文章中,我们可以得到关于UML现状及未来发展的重要信息:
● UML已经取得重要成功,它已成为在软件工业中占支配地位的建模语言,并在许多领域的软件开发中得到应用。
● UML还存在许多问题,自它产生之日起就从未离开过批评:用户和教师抱怨它内容庞大、难学难教而且太过复杂;学者认为它缺少一个精练的核心和定义良好的外围,有些语义定义得不够精确而且带有二义性;建模实践者认为它缺少支持自己领域建模要求的机制;工具开发商则因为规范本身的不确定性而产生理解上的偏差,它们对UML的自行诠释有可能误导用户。
● UML的关键问题是过于庞大和复杂,以及在语言体系结构、语义等方面存在理论缺陷。产生这些问题的一个重要原因是,在形成规范的过程中不得不照顾多种方法流派的观点和多家公司的利益。
为了UML的下一次重大发布,UML 2.0修订的主持者正在广泛收集各方面的意见。各界都给予了很高的关注,提出的意见涉及UML的各个方面。其中一个关键问题是UML是否需要简化,以及如何使之更精练,最终大部分意见是提供一个精练的核心,而把不常用的内容放到定义良好的外围或扩展机制中。此外,UML 2.0还将对UML的底层结构、上层结构和对象约束语言(OCL)做重大改进。
下一篇:建模的误区——走出一般性的设计误区,迈向成… >>
相关文章:
- · 第二章 Hello World
- · 第一章 UML模型的基本概念
- · 用Uml画蓝图
- · 用UML画草图
- · UML一统天下 ——统一的不是建模过程而是建模…
- · 统一建模语言UML概述(二)
- · 敏捷开发者发现新西兰人干得更好
- · UML要点与应用
- · 用UML进行W3C XML Schema设计
- · OMG下周表决UML2.0新规范
- · 使用模式集成UML视图
- · 用Uml做为编程语言
- · UML建模工具比较
- · 图论思想与UML应用(下)
- · 建模动力:UML2.0使模型驱动的开发更加容易
- · 使用 UML 为 Web 应用程序构架建模
- · Visio 的数据库建模:第三部分
- · 基于 Visio 的数据库建模:第一部分
- · 统一建模语言在大坝安全辅助决策系统中的应用
- · EA与Rose UML建模工具比较
- · Together for .NET建模入门
- · 基于UML柔性开发模型之Java设计
- · UML建模工具比较
- · 用UML统一开发团队
- · 建模动力
- · 基于ROSE的Web Service建模
- · UML中文教材
- · 驳“UML三大硬伤”
- · 复杂系统的层级原理与模型驱动软件体系结构
- · UML建模风格之顺序图
- · UML建模风格之状态图
- · UML三大硬伤
- · 使用模式集成UML视图
- · UML数据库建模讲义
- · Java开发为什么需要UML
- · 从Java类库看设计模式(Composite,Strategy,It…
- · UML的现状及未来发展
- · 建模的误区
