UML常用操作和示例

1.UML

1.1用例图

1.1.1 包含(include)

  • 使用包含用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基用例进行复用。在 UML 中包含关系用虚线箭头加 “<<include>>”, 箭头指向被包含的用例

    UML常用操作和示例
  •  

1.1.2 扩展关系

  • 将基用例中一段相对独立并且可选的功能,用扩展用例进行封装,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。在 UML 中扩展关系用虚线箭头加 “<<extend>>”, 箭头指向被扩展的用例。

  • UML常用操作和示例
  •  

1.1.3 泛化(继承)关系

  • 子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重写它。在 UML 中, 用例泛化用一个实线空心三角箭头从子用例指向父用例

  • UML常用操作和示例

1.2 类图

1.2.1 概念

  • 类图是面向对象系统建模中最常用的图. 是定义其他图的基础.

  • 类图主要是用来显示系统中的类, 接口以及它们之间的关系.

    • 类图包含的主要元素有类, 接口和关系. 其中关系有关联关系, 泛化关系, 依赖关系和实现关系. 在类图中也可以包含注释和约束.

  • UML常用操作和示例
  • UML常用操作和示例

1.2.2类的表示法

  •  类是类图的主要组件, 由 类名, 属性和方法组成. 类用矩形来表示
     数据类型
         +  表示 public,
         –  表示 private
         #  表示 protected
          ~  表示 package
     可以根据实际情况有选择的隐藏属性部分或方法部分

    UML常用操作和示例

 .2.3 接口的表示法

  • 接口中包含方法, 但不包含属性. 在 UML 中接口用一个带有名称的圆圈表示, 并且通过一条实线空心箭头与它的实现元素相连 有时候接口也使用普通类的符号表示

  • UML常用操作和示例
  • 1.2.4 泛化(继承)关系

  • 在 UML 中, 泛化关系用来表示类与类, 接口与接口之间的继承关系。

  • 在 UML 中泛化关系用一条实线空心箭头由子类指向父类。

  • UML常用操作和示例

1.2.5 实现关系

  • 在 UML 中, 实现关系用来表示类与接口之间的实现关系.

  • 在 UML 中实现关系用一条虚线空心箭头由子类指向父类

  • UML常用操作和示例

1.2.6 依赖关系

  • 如果一个实体的改动会导致另一个实体也发生改变,则称为两个类之间存在依赖。依赖指的是类之间的调用关系,表现为成员变量、方法的参数或者对静态方法的调用。员工使用电脑进行工作。在UML中用带虚线的箭头表示。

  • UML常用操作和示例

1.2.7 关联关系

1.2.7.1 类图之关联关系

关联关系是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,学校与学生关联。通过成员变量体现;带普通箭头的实心线,指向被拥有者。 单向的关联有一个箭头; 双向的关联可以有两个箭头或者没有箭头;

UML常用操作和示例

关联关系的多重性

    • 关联关系的多重性是指有多少对象可以参与该关联, 多重性可以用来表达一个取值范围, 特定值, 无限定的范围.

    • UML常用操作和示例
  • 1.2.7.2 关联关系—聚合关系

    • 聚合关系是关联关系的一种,关联和聚合在语法上无法区分,必须通过具体的逻辑关系进行区分。 是整体与部分的关系,且部分可以离开整体而单独存在。 如电脑和磁盘是整体和部分的关系,磁盘离开电脑仍然可以存在。 带空心菱形的实心线,菱形指向整体

  • UML常用操作和示例
  • 1.2.7.3 关联关系—组成关系

  • 是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。 带实心菱形的实线,菱形指向整体

  • UML常用操作和示例

1.2.8类图的正向工程与反向工程

  • 类图的正向工程与反向工程

    • 正向工程:根据类图类生成Java代码。

          通常情况下,先分析、设计,产生UML图,再根据UML图编写Java代码。

      反向工程: 已有Java代码的情况下,根据Java代码来生成相应的类图。

      绘制类图时,在软件设计阶段: 帮助开发者从静态的角度去理解系统应该包含哪些类,以及类之间关系。 实际上,很少把类图画得无比详细、详细到可以通过正向工程来直接生成Java代码。 绘制类图时,可能只会把那些最重要的Field、最重要的方法描述出来。

1.2.9 练习

  • 1: 一位客户可以有多张保单。

    2: 保单分:财产险,人寿险,车险。

  • UML常用操作和示例

1.3.1 对象图

  • 对象图是类图的一个实例, 用于显示系统执行时的一个可能的快照. 即在某一个时间点上系统可能出现的样子. 对象图用带下划线的对象名称来表示对象.

  • UML常用操作和示例

1.3.2 组件图

  • 对于现代的大型应用程序而言,通常不只是单独一个类或单独一组类所能完成的,通常会由一个或多个可部署的组件组成。对Java程序而言,可复用的组件通常打包成一个JAR、WAR等文;对C/C++应用而言,可复用的组件通常是一个函数库,或者一个DLL(动态链接库)文件。

    组件图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件(例如 库函数)的依赖关系。组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次上显示。

    组件图用来建立系统中各组件之间的关系, 各组件通过功能组织在一起,组件图可以用来设计系统的整体构架。

  • UML常用操作和示例
  • UML常用操作和示例

1.3.3部署图

  • 部署图用于描述软件系统如何部署到硬件环境中。它的用途是显示软件系统不同的组件将在何处物理地运行,以及它们将如何彼此通信。 因为部署图是对物理运行情况进行建模,所以系统的生产人员就可以很好地利用这种图来安装、部署软件系统。 部署图中的符号包括组件图中所使用的符号元素,另外还增加了几个符号,主要是增加了节点的概念:节点是各种计算资源的通用名称。 节点: 指组件运行的环境。可以是软件(操作系统、其他等)或硬件资源(计算机,其他硬件)。 通信关联: 节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。

  • UML常用操作和示例
  • UML常用操作和示例

1.3.4 包图

  • 包图: 由包和包之间的关系组成. 包的图标就如同一个带标签的文件夹. 包提供了一种用于组织各种元素的分组机制. 在 UML 中, 包用来对元素进行分组, 并为这些元素提供命名空间. 包所拥有的或者引用的所有元素称为包的内容, 包没有实例

  • UML常用操作和示例

1.3.5 时序图

  • 用于描述对象之间消息的传递时间顺序, 是显示对象之间交互的图,这些对象是按时间顺序排列的。时序图中显示的是参与交互的对象及其对象之间消息交互的顺序。

    时序图中包括的建模元素主要有:

    • 对象(Actor) 生命线(Lifeline) 控制焦点(Focus of control) 消息(Message)

      • 对象: 时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.

        生命线: 生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内的存在. 每个对象底部中心的位置都带有生命线.

        消息: 两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息.(如果有返回则可以使用虚线表示)

  • 激活: 时序图可以描述对象的激活和钝化. 激活表示该对象被占用已完成某个任务. 钝化指对象处于空闲状态, 等待消息. 在 UML 中, 对象的激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期. 对象就是在激活条的顶部被激活的. 对象在完成自己的工作后被钝化.

    对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放置 “ X” 符号.

  • UML常用操作和示例

1.3.6 协作图

  • 协作图(也叫合作图)是一种交互图. 时序图主要侧重于对象间消息传递在时间上的先后关系, 而协作图表达对象间的交互过程及对象间的关联关系。

    时序图与协作图都表示对象之间的交互作用,只是它们的侧重点有所不同:

    • 时序图描述了交互过程中的时间顺序,但没有明确地表达对象之间的关系。 协作图描述了对象之间的关系,但时间顺序必须从顺序号获得。

  • 两种图的语义是等价的,可以从一种形式的图转换成另一种形式的图,而不丢失任何信息

  • UML常用操作和示例

1.3.7 活动图

  • 活动图本质上就是流程图. 它用于描述系统的活动, 判定点和分支等. 活动图中的菱形框是判断标志,表示条件转移。 活动图对表示并发很有用。在活动图中使用一个称为同步条的水平粗线可以将一条转移分为多个并发执行的分支,或将多个分支合为一条转移。此时,只有输入的转移全部有效才能执行后面的活动

  • UML常用操作和示例
  • UML常用操作和示例
  • UML常用操作和示例

1.3.8 状态图

  • 状态图: 通过建立对象的生存周期模型来描述对象随时间变化的动态行为

  • UML常用操作和示例
  • UML常用操作和示例
  • UML常用操作和示例

UML常用操作和示例

 

来源:遗世舞诚

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月11日
下一篇 2020年4月11日

相关推荐