UML与Rose建模实用教程
上QQ阅读APP看书,第一时间看更新

2.2 UML简述

统一建模语言(Unified Modeling Language,UML)是一种通用的可视化建模语言,可以用来描述、可视化、构造和文档化软件密集型系统的各种工件。它是由信息系统和面向对象领域的三位著名的方法学家Grady Booch、James Rumbaugh和Ivar Jacobson提出的。它记录了与被构建系统的有关的决策和理解,可用于对系统的理解、设计、浏览、配置、维护以及控制系统的信息。这种建模语言已经得到了广泛的支持和应用,并且已被ISO组织发布为国际标准。

UML用来捕获系统静态结构和动态行为的信息。其中静态结构定义了系统中对象的属性和方法,以及这些对象间的关系。动态行为则定义了对象在不同时间、状态下的变化以及对象间的相互通信。此外,UML可以将模型组织为包的结构组件,使得大型系统可分解成易于处理的单元。

UML是独立于过程的,它适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具。UML规范没有定义一种标准的开发过程,但它更适用于迭代式的开发过程。它是为支持现今大部分面向对象的开发过程而设计的。

UML不是一种程序设计语言,但用UML描述的模型可以和各种编程语言相联系。我们可以使用代码生成器将UML模型转换为多种程序设计语言代码,或者使用逆向工程将程序代码转换成UML。把正向代码生成和逆向工程这两种方式结合起来就可以产生双向工程,使得既可以在图形视图下工作,也可以在文本视图下工作。

UML是一门博大多变的建模语言,有着一定的复杂性。UML的三位创始人对其做了如下几点评价。

• UML是凌乱的、不精确的、复杂的和松散的。这种看法既是一种错误也是一个事实。任何适用于如此广泛应用的都一定是凌乱的。

• 你不必知道或使用UML的每一项特征,就像你不需要了解一个大型软件或编程语言的每一个特征一样。被广泛使用的核心概念只有一小部分,其他的特征可以逐步学习,在需要时再使用。

• UML能够并且已经在实际的开发项目中使用。

• UML不只是一种可视化的表示方法。UML模型可以用来生成代码和测试用例。这要求适当的UML特性描述、使用和目标平台匹配的工具以及在多种实现方式中做出选择。

• 没有必要对UML专家的建议言听计从。正确使用UML的方法有很多种。优秀的开发人员会从很多工具中选出一种使用,不必使用这一种方式去解决所有问题。如果能够得到同事或者软件工具的配合,你也可以适时改变以满足自己的需要。