软件工程导论 统一建模语言UML概述

1、UML模型由事物、关系和图组成
软件工程导论 统一建模语言UML概述

2、事物是 对模型中最具代表性成分的抽象,UML中分为结构事物、行为事物、分组事物和注释事物四类。

3、结构事物是UML模型的静态部分,主要用来描述概念的或物理的元素,包括类、主动类接口、对象、用例、参与者、协作、构件和节点等。

①类:
用带有类名、属性和操作的矩形框来表示。从上到下分为三个部分,分别是类名、属性和操作,其中类名是必须有的。
软件工程导论 统一建模语言UML概述
②接口:
接口描述了一个类或构件的一组外部可用的服务集,是一组操作的描述而不是实现,接口体现了使用与实现分离的原则。
软件工程导论 统一建模语言UML概述
③用例:
用于表示系统想要实现的行为,即描述一组动作序列(即场景)。而系统执行这组动作后将产生一个对特定参与者有价值的结果。
软件工程导论 统一建模语言UML概述
④参与者:
是指与系统有信息交互关系的人、软件系统或硬件设备,在图形上用简化的小木头人表示。
软件工程导论 统一建模语言UML概述
4、行为事物是UML模型的动态部分,包括交互和状态机两类。

5、分组事物是UML模型的组织部分,其作用是为了降低模型复杂度,用包来表示。
软件工程导论 统一建模语言UML概述
6、注释事物是UML模型的解释部分,它们用来描述和标注模型的任何元素。通常可以用注释修饰带有约束或者解释的图。

7、UML常用的关系有依赖、关联、泛化、实现四种。
软件工程导论 统一建模语言UML概述
①依赖是两个事物之间的语义关系,其中一个事物发生变化会影响到另一个事物的语义,用虚线箭头从源事物指向目标事物表示源事物依赖于目标事物。
软件工程导论 统一建模语言UML概述

②关联是一种结构关系,描述两个或多个类之间的联系关系,是一种特殊的依赖,分为普通关联、限定关联、关联类以及聚合与复合。
普通关联是最常见的关联关系,只要类之间有连接关系就可以用普通关联表示,图中用实线连接,线上可以写上关联名并在线的两端写上个数的对应关系,如果没表则默认一对一。
软件工程导论 统一建模语言UML概述
软件工程导论 统一建模语言UML概述
三个及以上的类关联时,用多元关联表示,多个类引实线到菱形,关联名可以 标注在旁边。
软件工程导论 统一建模语言UML概述
限制关联通常用在一对多或多对多的关联关系中,可以把模型中的多重性从一对多变成一对一,或将多对多简化成多对一。在类图中把限定词放在关联关系末端的一个小方框内。
软件工程导论 统一建模语言UML概述
或关联通常用在两个关联间加上虚线并标以来描述。
软件工程导论 统一建模语言UML概述
某些情况下,需要对关联关系的语义做详细的定义、存储和访问,为此可以建立关联类,用来描述关联的属性。 关联中的每个链与关联类的一个实例相联系。关联类通过 一条虚线与关联连接。
软件工程导论 统一建模语言UML概述
聚合是一种特殊的关联。它描述了整体和部分之间的结构关系。分为共享聚合和复合聚合。如果聚合关系中处于部分方的实例可以同时参与多个处于整体方实例的构成,则称为共享聚合。如果部分完全隶属于整体类,且两者共存,一旦整体类不存在部分类也会消失,这种聚合称为复合聚合。
软件工程导论 统一建模语言UML概述
软件工程导论 统一建模语言UML概述
③泛化关系就是一般类和特殊类之间的继承关系,图中表示为从特殊类指向一般类的空心箭头。
软件工程导论 统一建模语言UML概述
泛化又分为普通泛化和受限泛化。
普通泛化可以理解为一般的继承。受限泛化是指泛化具有约束条件,一般有四种:交叠、不相交、完全、不完全

④实现是泛化关系和依赖关系的结合, 也是类之间的语义关系。图中用带箭头的虚线表示。

8、UML的图
①用例图
用例模型描述的是外部参与者(actor)所理解的系统功能。用例模型用于需求分析阶段,它的建立是统开发者和用户反复讨论的结果,描述了开发者和用户对需求规格达成的共识。
用例之间可以有扩展、包含和泛化三种关系。扩展和包含是继承关系(即泛化关系)的两种不同形式。 参与者和用例之间存在一定的关系,这种关系属于关联关系。
用例图中用例之间有三种关系:扩展、包含、泛化
向一个用例中加入一些新的动作后构成了另一个用例,这两个用例之间的关系就是扩展关系,后者通过继承前者的 一些行为得来,通常把后者称为扩展用例。扩展用例指向基本用例(大指向小)。
当一个用例使用另一个用例时,这两个用例之间就构成了包含关系。基本用例指向包含用例(使用者指向被使用者)。
在用例的泛化关系中,子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或覆盖父用例中的行为 和含义。父用例表示通用的行为序列。
软件工程导论 统一建模语言UML概述
软件工程导论 统一建模语言UML概述
②类图
类图描述类和类与类之间的静态关系,它是从静态 角度表示系统的,因此类图属于一种静态模型。类 图是构建其他图的基础,没有类图就没有状态图、 协作图等其他图,也就无法表示系统其他方面的特性。
类图中类的画法和前面提到的类一样,从上到下分三部分,类名属性方法,类之间用线表示关联、聚合、泛化关系。
软件工程导论 统一建模语言UML概述
③顺序图
顺序图用来表示用例中的行为顺序,属于动态模型
绘制时参与者和对象按照从左到右的顺序排列; •一般最多两个参与者,他们分列两端。启动这个用例的参与者往往排在最左边,接收消息的参与者则排在最右端;对象从左到右按照重要性排列或按照消息先后顺序 排列;将对象置于顺序图的顶部意味着在交互开始的时候 对象就已经存在了,如果对象的位置不在顶部,那么表示对象是在交互的过程中被创建的。 发送过去用实线,回收用虚线,同步用三角箭头,异步用空箭头。
软件工程导论 统一建模语言UML概述
④协作图
协作图是顺序图的一种变化形式,用于描述相互协作的对象间的交互关系和链接关系。 协作图和顺序图都表示出了对象间的交互作用,但侧重点不同,顺序图强调了时间顺序,但是忽略了对象间的关系,协作图强调对象间的关系但时间顺序必须要从顺序号中获得。
软件工程导论 统一建模语言UML概述
⑤状态图
中间状态用圆角矩形表示,可能包含三个部分, 第一部分为状态的名称;第二部分为状态变量的 名字和值,这部分是可选的;第三部分是活动表, 这部分也是可选的。
软件工程导论 统一建模语言UML概述
中间状态的画法和类图中的类很相似。除此之外初始状态只有一个,用实心圆表示,终态可以有多个,用内圈实心的同心圆表示。
软件工程导论 统一建模语言UML概述
⑥活动图
活动图是一个流图,描述了从活动到活动的流。它是另一种描述交互的方式,它描述采取何种动作,动作的结果是什么(动作状态改变),何时发生(动作序列),以及在何处发生(泳道)。
软件工程导论 统一建模语言UML概述
⑦构件图
构件图描述软件构件及构件之间的依赖关系,显示代码的静态结构。构件图是面向对象思想的核心体现。 主要包含三种元素,即构件、接口和关系。
软件工程导论 统一建模语言UML概述
⑧部署图
部署图描述处理器、设备和连接,它显示系统硬件 的物理拓扑结构及在此结构上执行的软件。每个系 统只有一个部署图。 用于静态建模阶段。
软件工程导论 统一建模语言UML概述