UML 类图的初次使用

建议学习位置:w3cschool UML教程

UML类图的初次使用

  • UML基础知识
    • UML模型图的构成
    • UML事物
  • 结构型的图(Structure Diagram)
    • 类图(Class Diagram)
      • 依赖关系(Dependency)
      • 关联关系(Association)
      • 聚合关系(Aggregations)
      • 组合关系(composition)
      • 泛化关系(generalization)
    • 对象图(Object Diagram)
    • 构件图(Component Diagram)
    • 部署图(Deployment Diagram)
    • 包图(Package Diagram)。
  • 行为型的图(Behavior Diagram)
    • 用例图(Use Case Diagram)
    • 活动图(Activity Diagram)
    • 状态机图(State Machine Diagram)
    • 顺序图(Sequence Diagram)
    • 通信图(Communication Diagram)
    • 时序图(Timing Diagram)
    • 行为图(Activity Diagram)

UML基础知识

百度百科
统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。

UML 类图的初次使用_第1张图片

UML模型图的构成

  • 事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象
  • 关系(Relationships):关系把事物紧密联系在一起
  • 图(Diagrams ):图是事物和关系的可视化表示

UML事物

UML包含4种事物:构件事物 行为事物 分组事物 注释事物

  1. 构件事物: UML模型的静态部分,描述概念或物理元素它包括以下几种:
  • 类:具有相同属性相同操作 相同关系相同语义的对象的描述
  • 接口:描述元素的外部可见行为,即服务集合的定义说明
  • 协作:描述了一组事物间的相互作用的集合
  • 用例:代表一个系统或系统的一部分行为,是一组动作序列的集合
  • 构件:系统中物理存在,可替换的部件
  • 节点:运行时存在的物理元素
    另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体
  1. 行为事物:UML模型图的动态部分,描述跨越空间和时间的行为。
  • 交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接。
  • 状态机:描述事物或交互在生命周期内响应事件所经历的状态序列
  1. 分组事物: UML模型图的组织部分,描述事物的组织结构
  • 主要由包实现,包是指把元素编程成组的机制。
  1. 注释事物: UML模型的解释部分,用来对模型中的元素进行说明,解释
  • 注解:对元素进行约束或解释的简单符号

结构型的图(Structure Diagram)

UML图可分为结构型行为型两种。
1、结构型的图描述的是某种结构,这种结构在某段时间内是稳定的,“静态”的;
2、行为型的图描述的是某种行为,是“动态”的。

  • 结构型的图(Structure Diagram)包含:类图(Class Diagram),对象图(Object Diagram),构件图(Component Diagram),部署图(Deployment Diagram),包图(Package Diagram)。

类图(Class Diagram)

类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。
关系

  1. 在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示.。
  2. 其中+ :表示public ; - :表示private ; #:表示protected
    UML 类图的初次使用_第2张图片
    UML 类图的初次使用_第3张图片
    图片出自《大话设计模式》清华大学出版社 -- 程杰 著

依赖关系(Dependency)

是一种使用关系,即一个类的实现需要另一个类的协助,所以要尽量不适用双向依赖。
代码重点体现在 :一个类局部变量、方法的参数 或者是静态方法的调用 另一个类。

  • 类图
    UML 类图的初次使用_第4张图片
    UML 类图的初次使用_第5张图片
  • 代码
    UML 类图的初次使用_第6张图片
  • 实例一:人和手机没有关系,但是人需要使用手机。
    UML 类图的初次使用_第7张图片
    UML 类图的初次使用_第8张图片
  • 实例二:动物的生存需要氧气和水。
    UML 类图的初次使用_第9张图片
    UML 类图的初次使用_第10张图片
    UML 类图的初次使用_第11张图片

关联关系(Association)

1、是一种拥有的关系,它使一个类知道另一个类的属性和方法,如老师和学生可以是双向的,也可以是单向的。双向的使用双向箭头,单向的使用单向箭头。
2、成员变量。
UML 类图的初次使用_第12张图片
UML 类图的初次使用_第13张图片
UML 类图的初次使用_第14张图片
UML 类图的初次使用_第15张图片

聚合关系(Aggregations)

1、聚合关系是整体和部分的关系,且部分可以离开整体而单独存在,如车和车胎是整体和部分的关系,轮胎离开车仍然可以存在;还比方说,大雁和雁群是整体和部分的关系,大雁属于雁群的一部分,大雁离开雁群仍然可以存在。
2、聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
3、成员变量的操作。

  • 策略模式的重要 类图。
    UML 类图的初次使用_第16张图片
  • 大雁的例子的类图。
    UML 类图的初次使用_第17张图片
    UML 类图的初次使用_第18张图片
    UML 类图的初次使用_第19张图片
    UML 类图的初次使用_第20张图片
  • 策略模式。
    UML 类图的初次使用_第21张图片
    UML 类图的初次使用_第22张图片
    UML 类图的初次使用_第23张图片
    UML 类图的初次使用_第24张图片

组合关系(composition)

是整体与部分的关系,但部分不能离开整体而单独存在。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

UML 类图的初次使用_第25张图片
UML 类图的初次使用_第26张图片
UML 类图的初次使用_第27张图片
UML 类图的初次使用_第28张图片

泛化关系(generalization)

表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。

  • 类图(这里没有做详细的说明)
    UML 类图的初次使用_第29张图片

对象图(Object Diagram)

构件图(Component Diagram)

部署图(Deployment Diagram)

包图(Package Diagram)。

行为型的图(Behavior Diagram)

  • 行为型的图(Behavior Diagram)包括:行为图(Activity Diagram),状态机图(State Machine Diagram),顺序图(Sequence Diagram),通信图(Communication Diagram),用例图(Use Case Diagram),时序图(Timing Diagram)。

用例图(Use Case Diagram)

1、(从用户的角度去描述系统功能,并指出个系统的操作者)
2、 用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成。
3、 系统边界在画图中用方框来表示,同时附上系统的名称,参与者画在边界的外面,用例画在边界里面。

  1. 参与者: 参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等
  2. 用例: 是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。
  3. 系统边界:系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。
  4. 箭头:箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。
  • 包含
    UML 类图的初次使用_第30张图片
  • 扩展
    UML 类图的初次使用_第31张图片
  • 泛化(继承)
    UML 类图的初次使用_第32张图片

活动图(Activity Diagram)

活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动

状态机图(State Machine Diagram)

顺序图(Sequence Diagram)

1、顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。
2、顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件

通信图(Communication Diagram)

时序图(Timing Diagram)

行为图(Activity Diagram)

你可能感兴趣的:(软件工具)