****** 五十 ******、软设笔记【UML分析和意义】-类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图,动静态模式

时间:2021-09-26 21:07:49

一、类图(Class Diagram)
描述一组类、接口、协作已经它们之间的图,用来显示系统中各个类的静态结构图。

类之间的关系(relationship)
*依赖(dependency)
*泛化(generalization)
*关联(association)
*实现(realization)

(1)依赖(dependency)
*依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物。大多数情况下,依赖关系体现在某一个类的方法使用另一个类的对象作为参数。

*在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

(2)泛化(generalization)
*一般元素和特殊元素之间的关系。

*泛化关系是继承关系的反关系,子类从父类中继承,父类是子类的泛化。

(3)关联(accociation)
*表示两个类之间存在某种语义上的联系。一个人为一家公司工作,一家公司有许多办公室。

*关联关系是所有关系中语义最弱的。

*可以分为聚合关系、组合关系。
a.聚合关系
关联关系的一种特例,是强的关联关系。聚合表示类之间的关系是整体与部分的关系,但整体与部分之间是可分离的,他们可以具有各自的生命周期。
在UML中,使用 ——————空菱形表示聚合关系,空心菱形指向的是代表“整体”的类。

b.组合关系
也是关联关系的一种特例,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。
在UML中,使用带有实心菱形的实现——————实心菱形表示组合关系。

(4)实现(realization)
*一个元素完成另外一个元素的操作功能,则二者构成实现关系。

*如接口类及其实现;接口是操作的集合,只声明了操作方法(没有实现该方法),而由实现类具体定义实现部分。

二、对象图(Object Diagram)
描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。
在UML中,对象图使用的是与UML类图相同的符号和关系,因为对象就是类的实例。

三、状态图(state chart diagram)
*状态图用来描述一个特定对象的所有可能状态及引起状态转移的事件。

*它由状态、转移、事件和活动组成。

*状态图给出了对象的动态视图。

四、活动图(activity diagram)
将进程或其他计算的结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。
*活动图侧重于行为的动作来描述
*状态图侧重从行为的结果来描述

五、顺序图(sequence diagram)
是一种交互图(interaction diagram),交互图展现了一种交互,它由一组对象或角色以及它们之间可能发生的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。

六、协作图(通信图,UML2.0后的名称)
是一种交互图,强调的是发送和接受消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。

七、构件图(component diagram)
*构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。由源代码文件、二进制文件、可执行文件或动态链接库(DLL)等构件构成,并通过依赖关系相连接。

*构件图用于表示系统的静态设计实现视图。

*是物理方面进行建模的两种图之一。

八、部署图(deployment diagram)
*用来显示系统中软件和硬件的物理架构。

*从部署图中,可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。

*是物理方面进行建模的两种图之一。

模型图分为两大类:
*静态模式(系统结构)
用例图、类图、对象图、构件图、部署图

*动态模式(系统行为)
状态图、活动图、顺序图、协作图