【UML】静态图(类图、对象图、包图)

时间:2023-02-04 13:29:35

静态图(结构行为图)

静态图显示了系统的静态结构,特别是存在事物的种类

类图

类图描述系统中类的静态结构,它不仅定义系统中的类,表示类之间的关系,如关联、依赖、聚合等。还包括类的内部结构(类的属性和操作)。类图在系统的整个生命周期都是有效的。通过分析用例和问题域,就可以得到相关的类,然后再把逻辑上相关的类封装成包。

对象图

对象图是类图的实例,几乎有与类图完全相同的标识。他们的不同点在于对象图显示类图的多个对象实例,而不是实际的类,一个对象图是类的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间存在。

包由包或类构成,表示包与包之间的关系。包图用于描述系统的分层结构。

类图

概念

类图(Class Diagram)是是描述类、接口、协作以及它们之间的关系的图,用来显示系统中各个类的静态结构。一个类图根据系统中的类以及各个类之间的关系描述系统的静态图。
类图包含:类、接口、协作、依赖关系、泛化关系、实现关系以及关联关系
【UML】静态图(类图、对象图、包图)

类是对一组具有相同属性、操作、关系和语义的对象的描述。这些对象包括了现实世界中的物理实体、商业事务、逻辑事务、应用事务和行为事务。
【UML】静态图(类图、对象图、包图)

属性

类的属性是类的一个组成部分,它描述了类在软件系统中代表的事务所具备的特性。类可以有任意数目的属性,也可以没有属性。属性描述了正在建模的事务的一些特性,这些特性是所有对象所共有的。

操作

类的操作是对类的对象所能做的事务的抽象。它相当于一个服务的实现,该服务可以由类的任何对象请求以影响其行为。一个类可以由任何适量的操作或者根本没有操作。

类图元素

接口

接口是用一个带有名称的小圆圈来表示的,并且通过一天实现与它的模型相连接。
当接口是在某个特定类中实现时,使用该接口的类通过一个依赖关系与该 接口相连。
【UML】静态图(类图、对象图、包图)

关系

1.依赖关系
【UML】静态图(类图、对象图、包图)

依赖关系 说明
使用依赖 通常表示客户使用提供者提供的服务以实现它的行为
抽象依赖 用来表示客户与提供者之间的关系,依赖于不同的抽象层次上的事务
授权依赖 表示一个事务访问另一个事务的能力。提供者通过规定客户的权限可以控制和权限对齐内容访问的方法
绑定依赖 是较高级的依赖类型,用于绑定模板以创你新年的模型元素。

2.泛化关系
泛化关系是抽象出来的父类与子类的关系

【UML】静态图(类图、对象图、包图)

3.关联关系
关联是描述一组具有共同结构特征、行为特征、关系和语义的链接。是一种结构关系指明一个事务的对象与另一个对象间的关系。除关联的基本形式之外,还有6中应用于关联的修饰:名称、角色、多重性、聚合、组合、导航性
4.实现关系
实现是规格说明和其实现之间的关系,它将一种模型与另一种模型元素连接取来,如类和接口。
实现关系通常在以下关系中被使用:在接口与实现该接口的类之间;在用例以及实现该用例的协作之间。
【UML】静态图(类图、对象图、包图)

机房收费系统类图

【UML】静态图(类图、对象图、包图)

对象图

概念

对象图表示在某一时刻一组对象以及它们之间的关系的图。对象图可以被看做是类图在某一时刻的实例。

建模过程

  1. 确定参与监护的各对象的类,可以参照相应的类图和交互图
  2. 确定类间的关系,如依赖、泛化、关联和实现
  3. 针对交互在某特定时刻各对象的状态,使用对象图为这些对象建模
  4. 建模时,系统分析师要根据建模的目标,绘制对象的关键状态和关键对象之间的连接关系。

机房收费系统对象图

【UML】静态图(类图、对象图、包图)

包图

概念

对复杂系统进行建模时,经常需要处理大量的类、接口、组件、节点和图,这时就有必要将这些元素进行分组,即把那些语义相近并倾向于一起变化的元素组织起来加入同一包,这样方便理解和处理整个模型,同时也便于轻松的控制这些元素的可见性,使一些元素是隐藏在包内的。

元素

  • 接口
  • 组件
  • 节点
  • 协作
  • 用例和图

包的可见性

包在软件模型中不可能是孤立存在的,包内的模型元素必然会和外部的类存在某些关系。而好的软件模型中各个包间应该做到高内聚、低耦合,为了做到这点,应该对包内的元素加以控制,使得某些元素能被外界访问,包内其他元素对外界不可见。这就是包内元素可见性控制。

可见性 含义 前缀符号
公有的(public) 此元素可以被任何引入该包的包中元素访问 +
受保护的(proteted) 此元素可以被继承该包的包中元素访问 #
私有的(private) 此元素只能被同一个包的元素访问 -

标准元素

UML的扩充机制同样适用于包,可以使用标记值来增加包的新特性,用构造来描述包的新种类。UML定义了5种构造型来为其扩充标准,分别是虚包(facade)、框架(framework)、桩(stub)、子系统(subsystem)、和系统(system)

构造型 用途
虚包(facade) 描述一个只应用其他包内元素的包
框架(framework) 描述一个主要由模式组成的包
桩(stub) 描述一个作为另一个包的公共内容代理的包
子系统(subsystem) 描述正在建模中的整个系统的独立部分的包
系统(system) 描述正在建模中的整个系统的包

机房收费系统包图

【UML】静态图(类图、对象图、包图)