面向对象UML总结

一、结构图

1. 类图:类图描述了系统中的类、属性和方法之间的静态关系。它显示了系统中各个类的结构及它们之间的关联、继承、聚合等关系。

泛化

是一种继承关系,表示子类继承父类的所有特征和行为。

箭头指向的是父类。

实现

是一种类与接口的关系,表示类是接口所有特征和行为的时间。

箭头指向的是接口。

 

关联

是一种拥有关系,它是的一个类知道另一个类的熟悉和方法。

带普通箭头的实线,指向被拥有者。双向的关联可以是两个箭头或者没有箭头。单向的关联有一个箭头。

聚合

是一种整体与部分的关系。且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

带空心菱形的实线,空心菱形指向整体。

组合

是一种整体与部分的关系。但部分不能离开整体而单独存在,组合关系是关联关系的一种,是比聚合关系还要强的关系。

带实心菱形的实线,实心菱形指向整体。

依赖

是一种使用关系,即一个类的实现需要另一个类的协助。

带普通箭头的虚线,箭头指向被使用者。

 

2.  对象图:对象图展示了系统中特定时间点的对象实例及它们之间的关系。它可以用于验证类图的实例化和对象之间的交互情况。

对象图可以看做是类图的实例,用来表达各个对象在某一时刻的状态。对象图中的建模元素主要有对象和链,对象是类的实例,链是类之间的关联关系的实例。

 

3.  组件图:组件图展示了系统中的组件及它们之间的依赖关系。它有助于展示系统的物理结构和组件之间的通信。

 组件图中主要包含三种元素,即组件、接口和关系。组件图通过这些元素描述了系统的各个组件及之间的依赖关系,还有组件的接口及调用关系。此外,组件图还可以使用包来进行组织,使用注解与约束来进行解释和限定。组件图在面向对象设计过程中起着非常重要的作用:它明确了系统设计,降低了沟通成本,而且按照面向对象方法进行设计的系统和子系统通常保证了低耦合度,提高了可重用性。

 

4.  部署图:部署图描述了系统中物理节点(如服务器、硬件设备)以及软件组件如何部署在这些节点上的配置情况。

描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的;平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。

 

二、行为图

5、用例图:用例图描述了系统功能的用户视图,展示了系统中各个参与者与系统功能之间的交互。

include: 是包含关系,表示一个前提关系,必然使用到的功能

extend: 是扩展关系,表示这个功能是额外的,没有不影响正常使用的,有时需要有时不需要

三角形箭头是泛化关系,表示子用例继承父用例所有结构、行为和关系,但是有着不用的功能

人型符号就是参与者

椭圆就是用例

 

6.  活动图:活动图描述了系统中的业务流程或操作行为,展示了各个活动节点之间的控制流和并发关系。

黑色为开始结点,另一个是结束结点

分支结和合并结点表示流程的分支与合并,通常用菱形表示,通常用来做判断

黑色横线表示并发操作

 

7.  状态图:状态图描述了系统中对象的各种状态以及对象状态之间的转换条件。它对于建模对象的生命周期很有帮助。

箭头线上的是触发状态、监护条件、动作、转换

源状态、目标状态

 

三、交互图

8、顺序图:顺序图展示了对象之间的交互顺序,描述了对象之间消息传递的时间顺序和交互过程。

图的最上方是对象

每个对象引出一条生命线

调用箭头上的是消息

实线箭头表示同步消息,表示对方必须等待当前消息执行完毕才能执行下一步。而虚线箭头表示异步消息,表示对方可以在当前消息还未执行完毕的情况下执行下一步操作。

 

9. 协作图:协作图强调了对象之间的协作关系,展示了对象之间消息传递和协作的结构化视图。

协作图显示某组对象,如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。

     对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点,使用协作图来说明系统的动态情况,协作图使描述复杂的程序逻辑或多个平行事务变得容易。

     协作图作为表示对象间相关作用的图形表示,也可以有层次结构。可以把多个对象作为一个抽象对象,通过分解,用下层协作图表示出这多个对象间的协作关系,这样可缓解问题的复杂度。

协作图的组成部分

  协作图强调参与一个交互对象的组织,基本元素包括:活动者(Actor)、对象(Object)、连接(Link)和消息(Message)。

  对象:用长方形框表示对象。

  连接:使用实线标记两个对象之间的连接。

  消息:由标记在连接上方的带有标记的箭头表示。

当两个对象间有消息传递时用带箭头的有向边连接这两个对象,在UML中,协作图的语义与序列图是等价。

 

posted @ 2023-12-07 11:56  旺旺大菠萝  阅读(36)  评论(0)    收藏  举报