UML作用:
一首歌曲可以通过乐谱来记录,任何一个懂得看乐谱的人都可以通过这个张乐谱将这首歌曲准确地弹奏出来。一栋房子的设计可以通过建筑图纸来记录,任何懂得看建筑图纸的工人都可以通过这张图纸准确地建造出这栋房子。在任何的设计领域中,都需要一种定义良好的、富有表现力的表示法。通过这种表示法,人们能够准确的记录自己的设计,并让懂得这种表示法的其他人能清楚准确地看懂自己的设计。UML就是这样的一种用于软件行业的表示法(好像也可以用于其他行业,但这里只关注软件行业)。
UML全称为”统一建模语言“,它使得软件分析师或开发者能描述一个场景,阐明一种系统架构,然后无二义地将这些东西告诉别人。它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的统一建模语言。目前UML已经发展到了2.0版本。
多重视图:
人们用UML对构建的系统进行建模(即表示),所构建的UML模型将以一定的保真度展现要构建的真实系统。但是,不可能在一张大图上记录一个复杂软件系统的所有细节。UML2.0提供了13种图,它们从各自的角度来描述系统。这些图可以分为两大类:结构图和行为图。
1、结构图
结构图用于描述系统中元素的静态结构。UML结构图包括:包图、类图、组件图、部署图、对象图、组合结构图。
2、行为图
在所有的软件系统中,事件都是动态发生的。行为图就是用来描述系统的动态行为。UML行为图包括:用例图、活动图、状态机图、交互图(交互图包括:序列图、通信图、交互概述图、时间图)。
开发工具:
有很多用于UML的开发工具,通过这些工具能画出各种标准的UML图,并进行各种检查和分析。如StarUML、Visual Paradigm for uml等。
UML是与软件开发语言无关的。它适用于大量的面向对象编程语言(如C++,Java)。