- 数据流图(8)

-
E-R图
-
状态图(6)
1、作用:
描述实体(对象、系统)在事件刺激下的反应式动态行为及其导致的状态变化
刻画了实体的可能状态、每个状态下可响应事件、响应动作、状态迁移
2、基本改念:
(1)状态:对象属性取值构成的一个约束条件,不同状态下对象对事件的响应行为完全一样
(2)事件:某时刻点发生、需要关注的瞬时刺激或触动
消息型事件(同步):其他对象发来消息
信号型事件(异步):其他对象传来异步信号
时间型事件:到达特定时间点
条件型事件:对象属性取值满足特定条件
(3)动作:
计算过程,位于迁移边上,简单执行时间短
(4)活动:
计算过程,位于状态中,复杂执行时间长
4、组成:
①节点:状态②边:迁移,即状态间因事件刺激而触发的状态变化
初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。
中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分
-
活动图
-
流程图(13)
- 流图(13)
基本路径的数量
流图Cyclomatic复杂度
V(G) = E(dges) -- N(odes) + 2
-
N-S图(盒图)
-
PAD图
PAD是问题分析图(problem analysis is diagram)的英文缩写,是使用二维树形结构的图来表示程序的控制流,这种图翻译为程序代码比较容易。
- 类图(6)
1、作用:描述系统的类构成,刻画系统的静态组成结构
2、组成元素:
1)结点:表示系统中的类(或接口)及其属性和操作
2)边:类之间的关系
3、属性的表示:[可见性] 名称 [: 类型] [多重性] [= 初值] [{约束特性}]
1)可见性:公开(+)、保护(#)、私有(-)
2)多重性:属性取值数量, 如1,0..1,0..* ,1..*,*
3)约束特性:可更改性:{readOnly}、顺序性: {ordered}、唯一性: {bag}、静态性:{static}
4、接口:一种不包含操作实现部分的特殊类
1)接口的形式:①供给接口: 对外提供的接口②需求接口: 需要使用的接口
5、类间的关系:
1)关联:类间的逻辑联系
2)聚合:部分类对象是多个整体类对象的组成
3)组合:部分类对象只能位于一个整体类对象中
4)依赖:有语义上关系且一个类对象变化会导致另一类对象作相应修改
5)实现:表示一个类实现了另一个类中定义的对外接口
6)继承:子类继承父类所有可继承的特性,且可通过添加新特性或覆盖父类中的原有特性
- 用例图(4)
1.概念:描述用户需求,从用户的角度描述系统的功能
2.基本元素:参与者+用例+关系+系统边界
(1)参与者 (Actor)
参与者是用户或其他系统在待开发系统中扮演的角色
参与者不需要是人,例如,需要来自当前系统的一些信息的外部系统也是参与者
用例图中的单个参与者可以代表多个用户(或系统),单个用户(或系统)也可以扮演多个
(2)用例(Use Case)
表示系统提供的服务,主要刻画系统如何被参与者使用
用例是对一组动作序列的抽象描述,系统执行这些动作序列,将产生相应的结果反馈给参与者,或作为其他用例的参数
(3)关系(关联关系)
表示参与者与用例之间的联系
无箭头,将参与者与用例相连接
3.优缺点:
4.获取方法:
5.画图:椭圆表示某个用例;人形符号表示角色
用例图由三个基本元素和四个关系构成。
三个元素:参与者、用例、容器
四个关系:关联、泛化、包含、扩展

- 顺序图(6)
1、作用:描述对象间的消息交互序列
2、组成元素:
1)纵向:时间轴,对象及其生命线(虚线),活跃期(长条矩形)
2)横向:对象间的消息传递
3)对象:[对象名] : [类名]
4)消息传递:对象生命线间的有向边
①同步消息:发送者等待接收者将消息处理完后再继续
②异步消息:发送者在发送完消息后不等待接收方即继续自己的处理
③自消息:一个对象发送给自身的消息
④返回消息:某条消息处理已经完成,处理结果沿返回消息传回
⑤创建消息和销毁消息:消息传递目标对象的创建和删除
- 协作图
(1)【概念】描述对象之间的合作关系,侧重对象之间的消息传递
(2)作用:
① 通过描述对象之间消息的传递情况来反映具体的使用语境的逻辑表达。
② 显示对象及其交互关系的空间组织结构。
③ 表现一个类操作的实现。
(3)元素组成:参与者、对象、消息流
① 参与者:发出主动操作的对象,负责启动一个操作
② 对象:是类的实例,负责发送和接受消息
③ 消息流:箭头指示消息的流向,从消息的发出者指向接收者
- 类图(6)
1.作用:描述系统的类构成,刻画系统的静态组成结构。
2.组成元素:类名 属性 操作
- 包图
(1)功效:刻画包间的构成和依赖关系
(2)图的构成:节点:包。边:包间的关系
(3)包间的关系:组成和依赖
(4)包:一组具有逻辑关联的UML模型元素(例如用例、类等)、模型图(用例图、类图、交互图、状态图、活动图等),以及其他的包。
包在模型管理过程中是配置管理的基本单元,同时也为访问控制提供基本手段
(5)包的作用
①作为软件模型的组织单元
②作为模型管理的基本单元
③作为系统高层结构中的组成元素。
④作为访问控制的基本手段
- 部署图
1)功效:
表示软件系统可执行工件(artifact)在运行环境中的部署和分布情况
(工件是指软件中相对独立的物理实现单元,如Java类库文件)
(2)图的构成①节点:计算节点、工件、构件②边:通信和依赖
(3)两种部署图
①逻辑层面的描述性部署图描述软件的逻辑布局
②物理层面的实例性部署图针对具体运行环境和特定的系统配置描述软件系统的物理部署情况
- 构件图
(1)功效:描述软件系统中构件及构件间的构成和依赖关系
(2)图的构成:
①节点:构件,具有对外接口、可分离和独立功能物理模块②边:构件间的依赖关系
(3)构件
一个或者多个可独立部署的执行码文件
具有精确定义的供给接口和需求接口
可分离,接口和实现分离
可替换,构件实例可被任何实现相同接口的同一构件实例所替换
(4)接口
一组操作 和/或 属性的说明(不含操作的实现),它用作服务提供方和使用方之间的协议
每个构件还可以定义一些端口(port),每个端口绑定了一组供给接口和/或需求接口
接口由类或构件实现
