6.3 UML语义

6.3.1 模型和它们所建模的

模型总是某些事物的模型。被建模的该事物通常可以被认为是某个论域中的一个系统。模型处于特定目的和从特定的角度对系统中感兴趣的部分进行了声明,剔除了可以描述的系统的其它细节。对于一个现有的系统,模型可能代表了系统特性和行为的一个分析。对于一个规划的系统,模型可能代表了系统如何被构造以及行为如何表现的一个规约。

一个UML模型包括三类主要的模型元素,每一类用于所建模型系统中不同种类的独立事物进行声明。这些类是:

  • 分类符:分类符描述了一个对象集合。对象是一个具有状态并且与其它对象有关系的个体。对象的状态鉴别对象上分类符的各属性的值。(有些情况下,分类符自身也被视为一个个体;举个例子,请参见9.4.3中静态结构化特征的讨论)
  • 事件:事件描述了一组可能的出现的集合。出现是对系统可能产生一些后果的事物。
  • 行为:行为描述了一个可能的执行(executions)集合。一个执行时一组动作的完成(通常需要一段时间),这些动作产生事件并对其进行响应,包括访问和修改对象的状态。(因为在13.2中说明了行为自身在UML中也是一种分类符,因此执行本质上是作为对象来建模的。然而,为了目前讨论的清晰,可以把行为和执行视为不同于分类符和对象的一个单独的语义分类。)

UML模型不包括对象、出现或执行,因为这些个体是所建模的域的一部分,而不是模型自身的内容。UML有对个体进行直接建模的构造:实例规约、出现规约和行为规约用于在特定的上下文对对象、出现和执行分别建模。然而,它们也是模型元素,对所建模的个体进行声明。对于任意的模型,这些声明可能是不完整的、不精确的、抽象的,甚至被证明是错误的(甚至被断言为违反事实的)。另一方面,被建模的个体在所处的域中总是完整、精确和具体的。

被建模系统中行为的执行可能导致系统中对象的创建和销毁。系统也可能引用论域内系统之外的其它对象。通常,对对象是系统内还是外的区分对于访问这些对象的行为的形式语义来说并不是重要的。然而,在某些情况下——尤其是静态属性(参见9.5)和分类符范围(extents,参见16.4)——系统应该被视为提供了一一个执行范围,它显示地把系统内外的对象进行了分界。执行范围的概念在UML语义中没有被进一步定义,因为它与论域是息息相关的。举个例子,对于工厂流程的一个模型,执行范围可能包括在一个单一工厂中执行的那些流程,而对于一个软件程序模型,执行范围将对应该程序的一次执行。

results matching ""

    No results matching ""