UML图

UML

一、事务


​ UML中有四种事务:结构、行为、分组、注释。

  1. 结构事务。

    • 是UML 模型的静态部分,描述概念或物理上的元素。总共有7种结构事物:

      • 第一种是类,类是描述具有相同属性方法、关系和语义的对象的集合。

      • 第二种是接口,接口是指类或构件提供特定服务的一组操作的集合。

      • 第三种是协作,协作定义了交互的操作,是一些角色和其他元素起工作,提供一 些合作的动作,这些动作比元素的总和要大。因此,协作具有结构化、动作化、维的特性。一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。

      • 第四种是用例,用例是描述一系列的动作,这些动作是系统对一个特定角色执行,产生值得注意的结果的值。在模型中用例通常用来组织行为事物。用例是通过协作来实现的。

      • 第五种是活动类,活动类的对象有一个或多个进程或线程。活动类和类很相似,只是它的对象代表的元素的行为和其他的元素是同时存在的。

      • 第六种是构件,构件是物理上或可替换的系统部分,它实现了一个接口集合。

      • 第七种是结点,结点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。

  2. 行为事务。

    • 是UML模型中的动态部分。它们是模型的动词,代表时间和空间上的动作。包括交互、状态、活动。
      • 交互由共同完成统一任务的一组对象之间交换的消息组成。在图形上,用带有方向的直线表示。
      • 状态机描述了一个对象或一个交互在生命期内响应事件经历的状态序列。
      • 活动是描述计算机过程执行的步骤序列。
  3. 分组事务。是UML模型中的组织部份。最主要的分组事务是包。

  4. 注释事务。是UML模型中的解释部分。

二、关系


​ UML中主要有四种关系:依赖、关联、泛化、实现。

  1. 依赖(Dependency)

    • 有两个元素X、Y,如果修改X的定义可能会引起对另一个元素Y的定义的修改,则称Y依赖于X。
    • 在图形上,用一条带有实心箭头的虚线表示。
  2. 关联(Association)

    • 关联提供了不同类之间的对象可以互相作用的连接。
    • 在图形上,用一条实现表示,实线上可以标注重复度和角色。
  3. 聚合

    • 是一种特殊的关联,它是传递和反对称的。聚合表示类之间的整体与部分的关系 。
    • 例如:一辆轿车包含4个车轮、一个方向盘、一个发动机。
    • 在图形上,用带有空心菱形的实线表示。
  4. 组合

    • 如果聚合关系中,部分类的存在与否,和整体类有紧密关系,应该用组合表示。
    • 例如:公司与部门的联系。
    • 在图形上,用带有实心菱形的实线表示
  5. 泛化(Generalization)

    • 是一种特殊/一般关系,特殊元素(子元素)的对象可以代替一般元素(父元素)的对象。
    • 用这种方法,子元素共享了父元素的结构和行为。
    • 在图形上,把一个泛化关系化成一条带有空心箭头的实线。
  6. 实现(Realization)

    • 实现关系将说明和实现联系起来。有两种情况下会使用实现关系:

      • 在接口和实现它们的构件之间
      • 在用例和实现他们的协作之间
    • 在图形上,把一个实现关系画成一条带有空心箭头的虚线。

三、UML中的图


  1. 类图(class diagram)

    • 描述一组类、接口、协作和它们之间的关系。在面向对象系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。
    • 类图通常包括:类、接口、协作、依赖、泛化、关联关系
    • 当对系统的静态设计图建模时,通常以下述三种方式之一使用类图。
      • 对系统的词汇建模
      • 对简单的协作建模
      • 对逻辑数据库模式建模
  2. 对象图(object diagram)

    • 描述某一时刻一组对象及它们之间的关系。 对象图描述了在类图中所建立的事物实例的静态快照。
    • 对象图一般包括对象和链。
    • 和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
  3. 用例图(use case diagram)

    • 描述一组用例、参与者(一种特殊的类)及它们之间的关系。
    • 对系统的静态用例视图建模时,可以用下列两种方式来使用用例图。
      • 对系统的语境建模。
      • 对系统的需求建模。
  4. 交互图(interaction diagram)

    • 交互图用于对系统的动态方面进行建模。交互图展现了一种交互,它由一组对象或角色以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。

      1. 顺序图(sequence diagram,序列图)

        • 是场景(Scenario)的图形化表示,描述了以时间顺序组织的对象之间的交互活动。顺序图是强调消息的时间次序的交互图。
        • 序列图有两个不同于通信图的特征
          • 序列图有对象生命线。对象生命线是一条虚线,表示一个对象在一段时间内存在。对象排列在图的顶部,也可以在交互过程中创建。X表示对象destroy。
          • 序列图有控制焦点。控制焦点是一个瘦高的矩形,表示一个对象执行一个动作所经历的时间段。可以将一个控制焦点放在父控制焦点来表示。
      2. 通信图(communication diagram)

        • 强调收发消息的对象或角色的结构组织。
        • 通信图有两个不同于序列图的特性:
          • 通信图有路径。
          • 通信图有顺序号,表示消息的时间顺序。
      3. 交互概览图(Interaction Overview Diagram)

        • 是活动图和顺序图的混合物。

        • 纯粹的交互概览图所有的活动在交互中发生。

      4. 计时图(Timing Diagram)

        • 描述对象状态随着时间改变的情况,像示波器,适合分析周期性任务和非周期任务。
  5. 状态图(state diagram)

    • 它由状态机、转移、事件和活动组成。
    • 状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。
  6. 活动图(activity diagram)

    • 是一种特殊的状态图,它展现了在系统内从一个活动到另一个活动的流程。
    • 活动图专注于系统的动态视图。它对系统的功能建模特别重要,并强调对象间的控制流程。
    • 对一个系统的动态方面建模时,通常有两种使用活动图的方式:
      • 对工作流建建模
      • 对操作建模
  7. 构件图(component diagram)

    • 描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。
  8. 组合结构图( composite structure diagram)

  • 描述结构化类(例如构件或类)的内部结构,包括结构化类与系统其余部分的交互点。它显示联合执行包含结构化类的行为的构件配置。组合结构图用于画出结构化类的内部内容。
  1. 部署图(deployment diagram)

    • 描述对运行时的处理结点及在其中生存的构件的配置。部署图给出了体系结构的静态部署视图,通常一个结点包含一个或多个部署图。与构件图相关。
  2. 包图(package diagram)

    • 描述由模型本身分解而成的组织单元,以及它们的依赖关系。
posted @ 2023-03-23 21:24  某科学的撒把豆子  阅读(370)  评论(0)    收藏  举报