UML(统一建模语言)基础

UML

1、UML(United Modeling Language, 统一建模语言): 是一种基于面向对象的可视化建模语言.
2、UML 采用了一组形象化的图形(如类图)符号作为建模语言, 使用这些符号可以形象地描述系统的各个 方面
3、UML 通过建立图形之间的各种关系(如类与类之间的关系)来描述模型.


基础

静态模型图:类图、对象图、包图、组件图、部署图
动态模型图:用例图、时序图、协作图、状态图、活动图

对于用例图来说,可以不一样,没有对错,只有谁的更好

一、用例图

1、概念

概念:也称用户模型图,是从软件需求分析到最终实现的第一步,它是从客户的角度来描述系统功能

2、3个基本组件

参与者(actor)  、用例(case)、    关系

在这里插入图片描述

3、泛化关系

 在 UML 中, 用例泛化用一个三角箭头从子用例指向父用例

在这里插入图片描述

4、包含关系

在 UML 中包含关系用虚线箭头加   “<<include>>”,  箭头指向被包含的用例

在这里插入图片描述

5、扩展关系

UML 中扩展关系用虚线箭头加 “<<extend>>”, 箭头指向被扩展的用例

在这里插入图片描述

用例图案例分析

该人事管理系统的用户是公司的人事管理干部. 该系统具有人事档案库, 保存员工的人事信息, 包括姓名, 性别, 出生年月, 健康状况, 文化程度, 学位, 职称, 岗位, 聘任时间, 任期, 工资, 津贴, 奖罚记录, 业绩, 论著和家庭情况等, 系统提供的基本服务有人事信息的管理, 包括人事规定的权调动与聘任, 职称评定, 奖罚等, 并且可以按照限查询人事信息, 生成与输出统计报表等. 该人事系统每月向公司的财务系统提供员工的工资, 津贴等数据.
在这里插入图片描述

二、类图

1、类图主要是用来显示系统中的类, 接口以及它们之间的关系.
2、类图包含的主要元素有类, 接口和关系. 其中关系有泛化关系,关联关系, 依赖关系和实现关系. 在类图 中也可以包含注释和约束.

类的表示形式

在这里插入图片描述
在类图中 + 表示的是 public -表示的是 private

1、实现关系

在 UML 中接口用一个带有名称的圆圈表示, 并且通过一条实线与它的模型元素相连
在这里插入图片描述

2、泛化关系

1、泛化关系用来表示类与类, 接口与接口之间的继承关系
2、在 UML 中泛化关系用一条实线空心箭头有子类指向父类
在这里插入图片描述

3、依赖关系

用大白话来说吧,依赖关系就比如说,小马要上班,自己没车,得需要借辆车来上班
依赖(虚线表示):一个类是另外一个类的函数参数或者函数返回值
在这里插入图片描述
依赖关系的代码含义如下:

Class 小马
{
public :
	void  Gowork( car *c){}//去工作,用车来做函数参数 实现省略
	Car * fix(){} //小马是个修理工  修车
};
class car
{
public:
};

4、关联关系

一个类是另一个类的成员变量
大白话来说是张三有自己的车上班了
在这里插入图片描述

class xiaoma
{
 publicvoid Gowork(){ m_car->成员下的函数}
 public:
 	car *m_car;
}; 

关联关系之聚合

聚合关系是关联关系的一种,是更强的关联关系
聚合是整体和部分之间的关系,例如汽车有引擎、轮胎以及其他零件组成
在这里插入图片描述

关联关系之组合

组合是比聚合更强的关系,代表整体的对象负责代表部分对象的生命周期
组合和聚合之间,用有无生命周期来判断,
在这里插入图片描述
就比如 公司不存在了,部门也就没了
部门没了,公司存在也就没有意义了。

三、对象图

1、对象图是类图的一个实例,用于显示系统执行时的一个可能的快照. 即在某一个时间上系统可能出现的样子. 对象图用带下划线的对象名称来表示对象
2、对象图展现了多个对象的特征及对象之间的交互
对象图跟类图所在的文件是一个底下
在这里插入图片描述

四、时序图

1、时序图是用来描述对象之间的传递消息的时间顺序
2、在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.

时序图基本元素

  • 对象: 时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.

  • 生命线: 生命线是一条垂直的虚线表示时序图中的对象在一段生命周期内的存在. 每个对象底部中心的位置都带有生命线.

  • 消息: 两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息.

练习:
函数1 调用函数2
函数2 调用函数3
函数3 返回后,函数2 打印回去
最后函数2 运行完毕后,返回到函数1
在这里插入图片描述

五、活动图

1、 在 UML 中, 活动图本质上就是流程图. 它用于描述系统的活动, 判定点和分支等.
2、动作状态: 原子的, 不可中断的动作, 并在此动作完成之后向另一个动作转变.
在 UML 中动作状态用圆角矩形 表示, 动作状态所表示的动作写在圆角矩形内部.
3、分支与合并:
@、 分支在软件系统中很常见. 一般用于表示对象类所具有的条件行为. 用一个布尔型表达式的真假来判定动作的流向.
@、 条件行为用分支和合并表达.在活动图中, 分支用空心小菱形 表示.
4、 分支包括一个入转换和两个带条件的出转换, 出转换的条件应该是互斥的, 须保证只有一条出转换能够被触发. 合并包含两个带条件的入转换和一个出转换.
5、分叉与汇合: 分叉用来描述并发线程, 每个分叉可以有一个输入转换和两个或多个输出转换. 每个转换都可以是独立的控制流. 汇合代表两个或多个并发控制流同步发生, 当所有的控制流都达到汇合点后, 控制才能继续往下进行. 每个汇合可以有两个或多个输入转换和一个输出转换. 在 UML 中分叉和汇合用一条粗直线 表示
6、泳道: 泳道将活动图中的活动划分为若干组, 并将每一组指定给负责这组活动的业务组织. 泳道区分负责活动的对象, 明确地表示哪些活动是由哪些对象进行的. 每个活动指定明确地属于一个泳道. 在活动图中, 泳道用垂直实线绘出, 垂直线分隔的区域即为泳道

练习

某公司销售人员接到订单后, 将订单传给财务人员和仓库人员. 财务人员开具发票, 并收款. 仓库人员准备货物, 并查看是否货物加急, 若是加急采用 EMS 方式发货, 否则采用普通包裹方式发货. 完成之后由销售人员关闭该订单. 根据上面描述画出该公司销售过程的活动图.
在这里插入图片描述

六、协作图

协作图也叫合作图,是一种交互图
时序图主要侧重于对象间的消息传递在时间上的先后关系,而协作图表达对象间的交互过程及对象间的关联关系
在这里插入图片描述

七、组件图

组件图用来建立系统中个组件之间的关系,个组件通过功能组织在一起
在这里插入图片描述
业务层做控制层的函数参数
控制层需要使用业务层组件
业务层需要使用持久化组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟道xn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值