uml九图总结

发布时间 2023-12-07 20:21:19作者: cojames

Uml里一共有着九种图形,从视图的状态来分分成两种,静态视图和动态视图,静态视图分为类图,对象图,包图,部署图,动态视图分为用例图,顺序图,协作图,状态机图和活动图。

类图描述系统的静态结构,包括属性和方法,它是对系统中类的抽象描述,属性是描述物体的特征或者状态他,他通常被定义为一个名字-值对,其中名字标识了该特性的意义,而值则表示该特性当前的具体状态。在面向对象编程中,类的属性是其数据成员或实例变量,它们代表了类实例的状态。例如,在一个名为Person的类中,可能有属性如name、age等,在关系型数据库中,表的每一行都有多个列,这些列可以被视为记录的属性,每个属性有一个对应的值,即在数据库之后属性即为每一个字段。UML中,属性是指与分类器(如类、接口、组件等)实例相关联的一个或多个值,这些值保存在实例的槽(slot)中。UML规范没有明确地定义非静态属性的所有权,而是将其模糊地描述为某种关系。UML属性包括名称、类型、初始值、可见性以及其他元数据,如是否可读、可写或是否必须赋值等。类与类之间的关系分为继承和实现,关联,组合,依赖,泛化,复用和聚合,聚合和组合的区别再也在于聚合的部分可以脱离整体而独立存在,组合不行。依赖是最弱的关系形式,表示一个类使用到另一个类的功能,但没有明确的实例化关系。通常表现为函数参数、局部变量或者返回值的形式。继承单继承和多继承,单继承只能从另外一个父类继承属性和方法。

uml里有着许多的箭头,不同的箭头代表不同的关系,简单总结一下各个关系的箭头以及指向。

泛化:实线空心三角箭头,从子类指向父类,描述了类之间的继承关系,实现:虚线空心三角箭头,从实现类指向接口,表示一个类实现了另一个接口的所有方法,关联:实线箭头,可以单向也可以双向,表示类之间的连接关系,聚合:实线菱形箭头,从整体指向部分类,表示整体-部分的关系,但是部分又可以脱离整体独立存在,组合;实线菱形箭头,有时带有小黑点以区别于聚合,方向:从整体类指向部分类。表示“整体-部分”关系,其中部分不能脱离整体而存在.依赖:虚线箭头,方向从被依赖项指向依赖项,表示一个类使用另一个类的功能,但没有明确的实例化关系。

活动图是uml里比较重要的。在软件工程中,活动图常用于描绘用例的行为,显示系统内各项活动之间的流程和相互作用在业务流程建模中,活动图可以清晰地展示一个过程的步骤和可能的决策点在需求分析阶段,活动图有助于理解用户的需求,并帮助团队成员之间进行沟通。活动图必须有起始节点和终止节点表示了活动的开始结束。

状态图UML中的一个动态视图,用于描述一个对象在其生命周期内可能经历的状态及其转换条件。它是一种行为模型,有助于理解系统的复杂行为和响应。根据系统的流程进行,将系统的行为状态流程化,状态图通过可视化的方式展现了对象在整个生命周期内的状态变化过程,有助于开发人员更好地理解和实现系统的复杂行为。同时,它也有助于团队成员之间的沟通和协作。状态图有以下要素:

状态描述了对象在某个时间点上所处的情况或条件。

初始状态表示对象生命周期开始时的状态。

终止状态表示对象生命周期结束时的状态。

事件 触发状态转换的外部或内部刺激。

转换从一个状态到另一个状态的变化,通常由事件触发。

动作 在状态转换过程中执行的操作。

决策点根据某些条件选择不同的转换路径。

总结:

用例图 - 有助于理解用户需求,通过定义系统功能和用户角色来梳理业务流程。

  1. 类图 - 描述了系统中的类及其相互关系,用于设计对象模型。
  2. 对象图 - 是类图的一个实例,展示了在特定时间点上对象的状态,便于理解系统架构。
  3. 包图 - 帮助组织和管理类和子包,优化大型系统的模块化结构。
  4. 部署图 - 显示了硬件设备、网络节点以及软件组件之间的关系,有助于进行系统部署。
  5. 顺序图 - 清晰地展示了对象间的消息传递过程和时间顺序,方便理解和实现复杂的交互逻辑。
  6. 通信图 - 类似于顺序图,但更侧重于展示对象间的连接关系。
  7. 状态图 - 描述了对象在其生命周期内可能经历的状态及其转换条件,帮助理解和实现复杂的系统行为。
  8. 活动图 - 展示了系统的业务流程或程序逻辑,有助于分析和设计系统的行为。