· 实例
实例是有身份标识的运行实体,即它可以与其他运行实体相区分。它在任何时刻都有一个值,随着对实例进行操作值也会被改变。
模型的用途之一是描述一个系统的可能状态和它们的行为。模型是对潜在性的描述,对可能存在的对象集和对象经历的可能行为历史的描述。静态视图定义和限制了运行系统值的可能配置。动态视图定义了运行系统从一个配置传递到另一个的途径。总之,静态视图和建立在其上的各种动态视图定义了系统的结构和行为。
在某一时刻一个系统特定的静态配置叫做快照。快照包括对象和其他实例、数值和链。对象是类的实例,是完全描述它的类的直接实例和那个类的祖先的间接实例(如果允许,重分类对象可能是多个类的直接实例)。同样,链是关联的实例,数值是数据类型的实例。
对象对于它的类的每个属性有一个数据值,每个属性值必须与属性的数据类型相匹配。如果属性有可选的或多重的多重性,那么属性可以有零个或多个值。链包含有多个值,每一个值是一个给定类的或给定类的后代的对象的引用。对象和链必须遵从它们的类或关联的约束(其中既包括明确的约束又包括如多重性的内嵌的约束)。
如果系统的每个实例是一个形式良好的系统模型的一些元素的实例,并且实例满足模型的所有约束,则说明系统的状态是有效的系统实例。
静态视图定义了一组能够在单独快照中存在的对象、值和链。原则上,任何与静态图相一致的对象和链的结合都是一个模型可能的配置。但这不意味着每个可能的快照能够或将要出现。某些快照可能在静态下合法但在系统的动态图下可能不会被动态地达到。
UML 的行为部分描述了快照的有效顺序,快照可能作为部和内外部行为影响的结果出现。动态图定义了系统如何从一个快照转换到另一个快照。
· 对象图
快照的图是系统在某一时刻的图像。因为它包含对象的图像,因此也被叫做对象图。作为系统的样本它是有用的,如可以用来说明复杂的数据结构或一系列的快照中表示行为(如图 4-13 )。请记住所有的快照都是系统的样本,而不是系统的定义。系统结构和行为在定义视图中定义,且建立定义视图是建模和设计的目标。
静态视图描述了可能出现的实例。除了样本外,实际的实例不总是直接在模型中出现。

图 4–13 对象图