第一,UML的概念
UML是Unified Modeling Language的缩写,翻译成中文就是统一建模语言,当然也可以翻译为标准建模语言,它是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义来实现对软件系统进行面向对象的描述和建模。它为软件开发的所有阶段提供模型化和可视化的支持,包括从需求分析到规格、构造和配置。这是一种图形化的语言,它通过几种图形来代替语言的描述。
第二,UML的构成
UML分为三部分:基本构造快、规则、机制
基本构造块又分为事物、关系、图
第三,事物
事物包含结构事物、行为事物、分组事物和注记事物等几类。
首先看结构事物,它是UML模型的静态部分,它描述概念或者物理模型。它也是最广泛的一类,它可以是Class,此时它是具有相同属性和操作对象的集合。它还可以是Interface,也就是一组操作规范。它还可以是Collaboration,也就是描述一组事务相互作用的集合。还可以是Use case,它表示系统的一部分,它是一组动作的集合。它还可以是Activity class,也就是主动类。它还可以是Componet,此时它表示系统中的物理存在元素。它还可以是Nodes,此时表示运行时存在的物理元素。
然后就是行为事物,它是UML图中的动态行为,它描述时间、空间上的行为。它通常是一个Interface,它用于实现某一个功能的一组动作集合。也可以是State mechanism,表示事务或者交互在声明周期内的状态集合。
然后就是分组事物,它是UML图的组织部分,它通常是Packages,它表示把元素组织成组。
最后就是注记事物,它是UML中的解释部分,它通常是Notes,它通常对图符、惯性进行说明。
第四,关系
UML中存在的关系主要是关联、依赖、泛化这三种关系。首先说关联,它可以分为普通关联、聚合和组合。而普通关联又分为单向关联和双向关联。
所谓关联,可以理解为事物间存在的结构关系。而依赖则是一种使用的关系,被依赖的事物发生变化会影响到依赖的事物。比如类A的参数或者类A的方法中需要用到类B,那么我们可以说类A依赖类B。而泛化则是一般到特殊的关系,比较好理解。我们从多个模块中抽出相同的子模块,作为公共部分,也是泛化的一种表现。
第五,图
UML中最重要的可视化图形语言,包含九种图。这九种图分别是:
(1)用例图,站在用户的角度去看问题,它体现出系统给用户提供的功能。
(2)类图,系统的静态结构的体现,描写了系统中的类和类之间的关系。
(3)包图,将系统中的纷繁杂乱的类、关系根据逻辑组织成包。
(4)状态图:描述了类或者对象在系统中的所有状态。
(5)活动图:描述了类或者对象完成系统功能的一系列活动。
(6)时序图:从消息发生顺序方面描述了系统中对象之间交互的关系。
(7)协作图:从对象组织结构方面描述了系统中对象之间的交互关系。
(8)构件图:描述了系统的物理组成部分。
(9)部署图:描述了系统在实际环境中的运行部署情况。
第五,规则
我们不能简单的把UML的构造块随机的放在一起,UML有一套自己的规则,这些规则描述了一个结构良好的模型看起来应该像什么。
UML的主要规则如下:
(1)命名:为事物、关系和图起名。
(2)范围:给一个名称以特定含义的语境,类似于类的作用域
(3)可见性:访问权限控制,比如public、private、protected等等。
(4)完整性:事物如何正确、一致的相互联系
(5)执行:运行或者模拟动态模型的含义是什么
第六,机制
(1)规格说明:UML不只是一种图形语言,实际上它的图形表示法的每部分的背后都有一个规格说明,这个规格说明提供了对构造块的语法和语义的文字描述。UML中的图形表示法只是用来对系统进行可视化,UML的规格说明用来描述系统的细节。UML的规格说明提供了一个语义底板,它只包含了一个系统的各个模型的所有部分,并且各个部分互相关联并且保持一致。
(2)修饰:UML表示法中的每一个元素都有一个基本符号,我们可以把修饰细节加到这个符号上。
(3)通用划分,通常包括 ①类/对象二分法 类是一个抽象,对象则是这个抽象的一个具体形式。 ②接口/实现二分法 接口声明了一个契约,而实现则表示了对该契约的具体实施,它负责如实的实现接口的完整语义。
(4)扩展机制:对UML图示符号的扩展。
原文地址:http://blog.csdn.net/xinguimeng/article/details/43957073