文章目录
一、用例图
定义:由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图
系统边界(系统范围):用来定义系统的界限,系统的用例都置于其中,参与者则至于边界之外。通过这个边界可以很清晰的标识出系统的范围。
系统可以认为是由一系列的相互作用的元素形成的具有特定功能的有机整体。系统边界以外的同系统相关联的其他部分称之为系统环境
- 包含关系:是指用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。箭头由基用例指向包含用例。
- 扩展用例:在一定条件下,把新的行为加入到已有的用例中,获得的新用例成为扩展用例,原有的用例称为基用例。箭头方向是从扩展用例指向基用例。
- 继承关系
- 用例的粒度越大,用例包含的功能越多
二、活动图
1、作用
活动图常用来描述业务或软件系统的活动轨迹,描述系统的活动控制流程。我们常用活动图对业务过程、工作流和用例实现进行建模。
2、定义
活动图是由活动节点和转换流程构成的图。它描述系统或业务的一序列活动构成的控制流,描述系统从一种活动转换到另一种活动的整个过程,即用来描述事物或对象的活动变化流程。
3、泳道(Swim Lane)
为了有效地表示各个活动由谁来负责的信息,可以通过泳道来实现。
每个泳道用一条垂直的线将它们分开,并且每个泳道都必须有一个唯一的名称,每个活动节点、分支必须只属于一个泳道,而转换、分岔与汇合是可以跨泳道的。通过泳道,不仅体现了整个活动控制流,还体现了每个活动的实施者。
4、案例
客户在网购网站上购物并下单,支付后生成送货单,供应商送货,送货后本次订单结束。
三、状态机图
1、概念
1、状态:状态定义对象在七生命周期中的条件或状况。是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况。
2、状态机:状态机用来表示一个对象在它的生命周期中响应事件所发生的状态变化以及事件的响应,展示了状态与状态的转换
3、状态机图:状态机图描述了一个状态机,强调了从状态到状态的控制流。这种图的节点是状态(包括初始状态和终止状态),关系是转换
2、作用
- 状态机图常用来描述业务或软件系统中的对象在外部事件的作用下,对象的状态从一个状态到另一个状态的控制流。利用状态机图可以精确地描述对象在生命周期内的行为特征。
- 在对系统进行建模时,有时需要反映对象对外部事件的响应、生命周期的变迁以及对过去行为的依赖等内容,这时就需要状态机图。
四、类图(Class Diagram)
1、概念
类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;我们常用类图描述系统的静态结构。一个系统可以有多张类图,一个类也可以出现在几张类图中。
类图中的关系包括:依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)、实现关系(Realization)、聚合关系(Aggregation)、组合关系(Composition)
五、顺序图(Sequence Diagram)
1、定义
顺序图也称为时序图、序列图,它描述了系统中的对象间通过消息进行的交互,强调消息在时间轴上的先后顺序
2、作用
顺序图常用来描述用例的实现,它表明了有哪些对象,通过消息相互协作来实现用例的功能,在顺序图中,标识了消息发生交互的先后顺序。
3、组成元素
顺序图中的元素包括对象、生命线、控制焦点(激活)、消息。消息表示了对象间的通讯,生命线表示了对象的生存期,控制焦点表示对象正在执行某个操作。
消息(方法调用):消息用来描述对象之间所进行的通信,它包括消息名、消息参数。
消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)
4、案例
以饮料自动销售系统为例,对“买饮料”的3种场景进行建模,对每个场景,绘制其对应的顺序图。
(1)买到饮料的场景
(2)饮料售完的场景
(3)零钱找不开的场景
六、包图(Package Diagram)
1、概念
包图是描述包与包之间关系的图。包图可以包括注释、约束。包间的关系有依赖关系和泛化关系。
2、作用
1)对语义上相关的元素进行分组
2)提供配置管理单元
3)在设计时,提供并行工作的单元
4)提供封装的命名空间
3、包
在包中可以拥有各种其他的元素,包括类、接口、构件、节点、协作、用例,甚至是其他的子包或图。一个元素只能属于一个包。
包图是维护和控制系统总体结构的重要建模工具。包是将多个元素组织为语义相关的通用机制。一个包拥有或引用的元素称为该包的内容。
包是用两个矩阵表示的,一个小矩阵(标签)和一个大矩阵,小矩阵紧紧连在大矩阵的左上角
4、包的表示
每个包必须有一个与其他包相区别的名称。标识包名称的格式有两种:简单名和全名。
简单名:仅包含一个包的简单名称;
全名:用该包的外围包的名字作为前缀,加上包本身的名字
七、构件图
1、概念
构件图主要是描述了软件的各种构件和它们之间的依赖关系。
构件图是描述构件及构件关系的图。与所有UML的其他图一样。构件图可以包括注释、约束、包
2、作用
1)使客户能够看到最终结构的结构
2)让开发者有一个工作目标
3)让编写技术文档和帮助文件的技术人员能够理解所写的文档是关于哪方面的内容
4)利于重用
3、构件表示
构件
UML构件的表示分类
八、部署图
定义
部署图描述了系统中包括的计算机和其他的硬件设备,这些计算机和设备的位置以及它们之间是如何进行相互连接的。
————————————————————————————————————————————————