0%

UML简介

UML简介

UML(统一建模语言)是一个通用的可视化建模语言,用于对软件进行描述,可视化处理、构造和建立软件系统制品的文档,主要有类图、用例图、构件图、部署图、状态机图、活动图、顺序图、协作图

  • 静态建模:类图、对象图、用例图
  • 动态建模:序列图(顺序图、时序图)、通信图(协作图)、状态图、活动图
  • 物理建模:构件图(组件图)、部署图
  • 交互图:序列图(顺序图、时序图)、通信图(协作图)

以下来简单地描述一个各种图,大致分为两个类,结构图和行为图

结构图

结构图属于静态图

类图

类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联,描述的是一组类、接口、协作和它们之间的关系。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。对系统词汇、简单协作、逻辑数据库模式建模有帮助。

类图中类用矩形来表示,属性和操作分别列在分格中,关系用类框之间的连线来表示,不同的关系用连线上和连线端头处的修饰符来区别

类图

关系的种类

类图的关系

对于聚合和组合关系也可以没有箭头

关联关系

关联关系

依赖关系

依赖关系

泛化关系

泛化关系

聚合关系

聚合关系

组合关系

组合关系

实现关系

实现关系

使用场景
  • 对系统的词汇建模
  • 对简单的协作建模
  • 对逻辑数据库模式建模

对象图

对象快照,描述的是某一时刻一组对象以及它们之间的关系,是在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计图或静态进程视图,但它们是从真实案例或原型案例的角度建立的

对象图

对象图与类图在图像上的区分就是在定义名字时有冒号

使用场景
  • 对系统的语境建模
  • 对系统的需求建模

构件图(组件图)

构件图为系统的构件建模,构件就是构造应用的软件单元,还包括了各构件间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响。用于表示系统的静态实现视图

构件图

部署图

部署图描述位于节点实例上的运行构件实例的安排,节点使用立方体图表示。软硬件之间映射,唯一和硬件有关的

部署图

行为图

行为图属于动态图

用例图

用例图的作用是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行,是用户所能观察到的系统功能的模型图。描述的是用例、参与者以及它们之间的关系

用例是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用

系统与外部参与者的交互

用例图

用例建模的流程:

  • 识别参与者
  • 合并需求获得用例
  • 细化用例描述
关系的种类

功能与功能之间的关系

用例图的关系种类

顺序图(序列图)

顺序图用来描述用例中的行为顺序,表示了对象之间传送消息的时间顺序,具体的功能怎么调用,由一组对象或参与者以及它们之间可能发送的消息构成。每一个类元角色用一条生命线来表示,生命线之间的箭头连线代表消息

顺序图

  • 实线箭头是调用消息
  • 虚线箭头是返回消息

通信图(协作图)

通信图用来表示一个类操作的实现,是在一次交互中有意义的对象和对象间的链建模,强调收发消息的对象之间的组织结构,类元角色上的箭头代表消息,消息的发生顺序使用编号

协作图

通信图可以说明类操作中用到的参数和局部变量以及操作中的永久链,当实现一个行为时,消息编号对应了程序中嵌套调用结构和信号传递过程

顺序图和通信图都可以表示各对象间的交互关系,但是侧重点不同

  • 顺序图用消息的几何排列关系来表达消息的时间顺序,各角色之间的相关关系是隐含的
  • 通信图用各个角色的几何排列图形来表示角色的之间的关系,并用消息来说明这些关系

状态图

状态图是一个类对象所可能经历的所有历程的模型图,展现了一个状态机由状态、转换、事件和活动组成。每个状态对一个对象在其生命周期中满足某种条件的一个时间段建模,当一个事件发生后时,它会触发状态间的转换,导致对象从一种状态转化到另一新的状态。强调事件导致的对象行为

转换是指一个状态变成另一个状态,所以一个转换至少有两个状态

状态图

由五部分组成:一般状态(起始状态、终止状态)、事件、监护条件、动作、转换

事件

状态的变换是由事件触发的。活动可以在状态内执行,也可以在状态转换时执行

状态图事件

活动图

活动图是状态图的一个变体,专注于系统的动态视图,将进程或其他计算结构展示为计算内部一步步的控制流和数据流。站在业务逻辑的角度,对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程

活动图

欢迎关注我的其它发布渠道