UML包括了一些可以相互组合图表的图形元素。
1.类图
一个类(class)是一类或一组具有类似属性和共同行为的事物。
矩形方框代表类的图标,它被分成3个区域。最上面的区域中是类名,中间区域是类的属性,最下面区域里列的是类的操作。
举一个例子,属于洗衣机(washing machine)类的事物都具有诸如品牌(brand name)、型号(model name)、序列号(serial number)和容量(capacity)等属性。这类事物的行为包括“加衣物(add clothes)”、“加洗涤剂(add detergent)”、“开机(turn on)”和“取出衣物(remove clothes)”等操作。

2.对象图
对象(object)是一个类的实例,是具有具体属性值和行为的一个具体事物。例如,洗衣机的品牌可能是“Laundatorium”,型号为“Washmeister”,序列号为“GL57774”,一次最多可以洗涤重量为16磅的衣物。
对象的图标也是一个矩形,和类的图标一样,但是对象名下面要带下划线。具体实例的名字位于冒号的左边而该实例所属的类名位于冒号的右边。

3.用例图
用例(use case)是从用户的观点对系统行为的一个描述。
例,一个人使用一台洗衣机,显然是为了洗衣服(wash clothes)。
代表洗衣机用户的智力小人形被称为参与者(actor)。椭圆形代表用例。
参与者(它是发起用例的实体)可以是一个人也可以是另一个系统。

4.状态图
一台洗衣机可以处于浸泡(soak)、洗涤(Wash)、漂洗(Rinse)、脱水(Spin)或者关机(off)状态。

最顶端的符号代表起始状态,最底端的符号表示终止状态。
5.顺序图
类图和对象图标大的实系统的静态结构。在一个运行的系统中,对象之间要发生交互,并且这些交互要经历一定的时间。UML顺序图所表达的正式这种基于时间的动态交互。
例,洗衣机的构件包括一个注水的进水管(Water Pipe)、一个用来装衣物的洗涤缸(Drum)以一个排水管(Drain)。假设已经完成了“加衣物”、“加洗涤剂”和“开机”操作。洗衣服这个用例被执行时按照如下顺序进行:
1通过进水管想洗涤缸中注水。
2洗涤缸保持5分钟静止状态。
3水注满,停止注水。
4洗涤缸往返旋转15分钟。
5通过排水管排掉洗涤后的脏水。
6重新开始注水。
7洗涤缸继续往返旋转洗涤。
8停止向洗衣机中注水。
9通过排水管排掉漂洗衣物的水。
10洗涤缸加快速度单方向旋转5分钟。
11洗涤缸停止旋转,洗衣过程结束。
图中,对象之间发送的消息有:注入新水(Send fresh water)、保持静止(Remain stationary)、停止注水(Stop)、往返旋转(Ratate back and forth)、排掉洗涤后的脏水(Send soapy water)、排掉漂洗过的水(Send rinse water)等。

6.活动图
用例和对象的行为中的各个活动之间通常具有时间顺序。

7.协作图
系统的工作目标是由系统中各组成元素相互协作完成的。例子中洗衣机构件的类集中又增加了一个内部计时器(Internal Timer)。在经过一段时间后,定时器停止注水,然后启动洗涤缸往返旋转。图中的序号代表命令消息的发送顺序。

8.构件图
构件图和部署图和整个计算机系统密切相关。

9.部署图
UML部署图显示了基于计算机系统的物理体系结构。它可以描述计算机和设备,展示它们之间的连接,以及驻留在每台机器中的软件。每台计算机用一个立方体来表示,立方体之间的连线表示这些计算机之间的通信关系。

如果需要将图中的组织元素分组,或者在图中说明一些类或构件是某个特定子系统的一部分,可以通过将这些元素组织成包(package)来达到此目的。包用一边突起的公文夹形图标来表示。

注释(note)的图标是一个带折角的矩形,矩形框中是解释性文字。注释和被注释的图元素之间用一条虚线连接。

构造型(stereotype)能够使用现有的UML元素来定制新的元素。构造型用尖对括号括起来的一个名称来表示,这个括号叫双尖括号(guillemets)。

分享到:
相关推荐
UML 建模图简介 UML(Unified Modeling Language)是一种用于软件设计和开发的图形化建模语言。它提供了一组标准化的符号、规则和方法来描述软件系统的结构、行为和架构。 UML 建模图是一种使用 UML 语言描述的...
#### UML建模基础 UML(Unified Modeling Language)是一种标准的图形化建模语言,用于软件工程的系统分析、设计、构造和文档化。它包含多种图型,如用例图、类图、序列图、活动图等,每种图型都有其特定用途,共同...
- **用例图**(Use Case Diagram)是UML中描述用户对系统功能需求的有效模型图。 - **选项解析**: - A. 类图:描述系统中类的静态结构。 - B. 对象图:描述系统中对象的静态快照。 - C. 组件图:描述系统的...
- **Visio**: 适用于绘制各种图表,包括UML图、网络图等。 - **Enterprise Architect (EA)**: 一种高级的建模工具,支持多种建模语言,包括UML。 - **Rational Rose**: IBM提供的可视化建模工具,广泛应用于软件...
14_二级指针三种内存模型示意图_传智扫地僧 15_玩转多级指针_传智扫地僧 16_两个辅助指针变量挖字符串测试框架搭建 18_作业 源码及文档 01_课程回顾 02_两个赋值指针变量挖字符训练_第3种内存模型_传智扫地僧 03_...
- **UML**是一种建模语言,可以用于多种编程语言的设计,包括VB、VC++和DELPHI等。 - **关系**:UML提供了一种通用的方法来描述软件系统,而这些编程语言则是具体的实现手段。 ##### 15. 什么是ACTIVE X的关键特性...
- 用例图: 描述系统功能及其参与者。 - 类图: 描述系统的静态结构。 - 对象图: 显示特定时刻系统的对象结构。 - 顺序图: 描述对象间的交互顺序。 - 状态图: 描述对象的状态变化过程。 - 活动图: 描述工作流程...
- 用例图: 描述系统功能。 **2.3 面向对象编程** - **实践**: - 使用类和对象: 实现具体的逻辑和功能。 - 代码重用: 通过继承和组合减少重复代码。 - 测试: 单元测试确保每个类按预期工作。 #### 三、C++中的...
- **用途**:包括类图、序列图、用例图等。 ### Linux常用命令 - **基本命令**:`ls`、`cd`、`cat`等。 - **文件操作**:`cp`、`mv`、`rm`等。 - **权限管理**:`chmod`、`chown`等。 ### 云计算平台容错能力评估...