模型元素(Model Elements)
  在UML中,模型元素由一些基本的构造元素以及它们之间的连接关系组成,图4.7列出了一些模型元素的图形符号。

图4.7 UML的基本模型元素

  (1) 类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的描述。
  (2) 对象是类的实例。
  (3) 接口是描述一个类或组件的服务的操作集。
  (4) 用例是对一组动作序列的描述。
  (5) 状态机描述了一个对象响应事件所经历的状态序列。
  (6) 组件是系统中物理的、可替代的部件。
  (7) 节点是在运行时存在的物理元素。
  (8) 包是把元素组织成组的机制。
  (9) 注解依附于一个或一组元素之上,对其进行约束或解释。
  (10) 依赖是一种使用关系,它描述了一个事物的变化会影响到另一个使用它的事物。
  (11) 关联是一种结构关系,说明一个事物的对象与另一个事物的对象间的联系。
  (12) 泛化是一种一般事物(父类)和特殊事物(子类)之间的关系。
  (13) 实现是一个类元指定了由另一个类元保证执行的契约,例如接口和实现它们的类或组件之间的关系。

语义规则(Rules)
  UML定义了一系列的语义规则,用于建立语义一致、与其他模型协调的良好模型。
  (1) 命名(Name):为事物、关系和图起名;
  (2) 范围(Scope):给一个名称以特定含义的语境;
  (3) 可见性(Visibility):如何使一个名字被外部识别和使用,它包括public(公共)、protected(保护)、private(私有)三种可见性,分别用"+"、"#"和"-"表示;
  (4) 完整性(Integrity):事物如何正确地、一致地相互联系;
  (5) 可执行性(Execution):运行或模拟动态模型的含义是什么。

公共机制(Common Mechanisms)
  UML规定了四种公共机制:说明、修饰、通用划分、扩展机制。
  (1) 说明(Specification):UML不只是一个图形语言,它还规定了对于每一个UML图形的文字说明的语法和语义。
  (2) 修饰(Adornment):大多数的UML元素有唯一的直接图形表示法,表达该元素的最重要的特征,除此之外,还可以对该元素加上各种修饰,说明其他方面的细节特征。
  (3) 通用划分(Common Division):UML的模型元素有两种划分,即型-实例、接口-实现。型-实例是一个通用描述符与单个元素项之间的对应关系,如类与对象的划分、数据类型与数据值的划分;在接口-实现的划分中,接口声明了一个约定,而实现则负责执行接口的全部语义。
  (4) 扩展机制(Extensibility):UML的语言扩展机制允许UML的使用人员根据需要自定义一些构造型语言成分,扩展UML或使其用户化,便于完成软件系统的开发。

扩展机制(Extensibility)
  UML提供了几种扩展机制,允许建模者在不用改变基本建模语言的情况下做一些通用的扩展。扩展机制包括约束、标记值和构造型,图4.8显示了扩展机制的一个例子。

图4.8 UML扩展机制的示例

  (1) 约束(constraint)扩展了UML构造元素的语义,它是用文字表达式表示的语义限制。
  (2) 标记值(tagged value)扩展了UML构造元素的特性,它是附加到任何模型元素上的命名的信息块。
  (3) 构造型(stereotype)扩展了UML的语汇,它是在一个已定义的模型元素的基础上构造的一种新的模型元素。
  UML是一种标准的可视化建模语言,它采用若干视图(View)构造系统模型,视图用图(Diagram)进行描述,图又用模型元素的符号来表示。
  UML的视图包括用例视图(Use-case View)、设计视图(Design View)、进程视图(Process View)、实现视图(Implementation View)和展开视图(Deployment View)等,UML图包括用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图等,图中包含的模型元素可以有类、对象、接口、组件、用例、状态机、关系(关联、泛化、依赖、实现)等。UML定义了一系列的语义规则,用于建立语义一致、与其他模型协调的良好模型。UML规定了说明、修饰、通用划分、扩展机制等四种公共机制,其扩展机制包括约束、标记值和构造型。