标准建模语言UML


学习UML的动机,是在写需求、设计等文档的时候就需要画UML图。

UML

UML又称统一建模语言或标准建模语言。UML采用了一组形参化的图形(如类图)符号作为建模语言,使用这些符号可以形象地描述系统的各方面。

一、能够实现UML图的建模工具有哪些?

Rational Rose 是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具
StarUML现在大多数公司使用,我也是使用的是它
③Visio(比较在行的是流程图)

二、UML图常见的包括哪些图呢?

UML中一共有10种图,主要分为两大类:
静态模型图:描述系统的静态结构

  1. 类图(class Diagram):描述类的信息(包括属性、方法),以及类与类之间的关系信息。
  2. 对象图:是类图的一个实例,对象图用带下划线的对象名称来表示对象。对象图展现了多个对象的特征及对象之间的交互。
  3. 包图:由包与包之间的关系组成。包的图标就如同一个带标签的文件夹。
  4. 组件图(Component Diagram):
  5. 部署图 :用来帮助开发者了解软件中的各组件驻留在什么硬件位置,以及这些硬件之间的交互关系
    动态模型图:描述系统行为的各方面
  6. 用例图(Use Case Diagram):站在系统用户(系统角色)的角度分析系统存在哪些功能。
  7. 时序图(Sequence Diagram):描述程序的执行过程,方法的调用过程,方法的返回值等信息。(程序时一步一步如何执行的,又是如何调用的)
  8. 协作图:表达对象之间的交互过程
  9. 状态图:通过建立对象的生命周期模型来描述对象随时间变化的动态行为。
  10. 活动图 :本质就是流程图。

重点是类图、用例图、时序图和活动图

1、类图(Class Diagram)
1.1、什么是类图?

描述类的信息,以及类与类之间的关系信息。

1.2、类与类之间的关系包括4种情况:
  1. 泛化关系(generalization):类和类、接口和接口的继承。实线空心箭头是子类指向父类。
    类之间的关系-泛化关系
  2. 实现关系(realization):类与接口的实现关系,虚线空心箭头是子类指向父类
    类之间的关系-实现关系
  3. 关联关系(association)
    3.1 . 聚合关系
    聚合关系描述的是整体和部分的关系,聚合关系是比较特殊的关联,比如:汽车由引擎、轮胎以及其他零件组成。
    类之间关系-关联-聚合
    3.2. 组合关系
    组合关系可以看做是一种特殊的聚合关系,整体的生命周期决定部分的生命周期,部分是依附在整体上面的,部分离开了整体是无法“存活的”。例如:公司和部门的关系
    类之间的关系-关联-组合
  4. 依赖关系(realization)
    依赖关系是所有关系中最弱的一种,这种关系通常体现在类和局部变量之间的关系。
//依赖(虚线): 一个类是另外一个类的函数参数或者函数返回值
class Car;
class ZhangSan
{
public:
	//依赖关系
	void GoWork(Car *p){}
	Car * fix(){}
protected:
private:
};

class Car
{
public:
protected:
private:
};

类之间的关系之依赖关系

2、用例图(use case diagram)
2.1、什么是用例图?

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

2.2、用例图的3大基本组件:
  1. 参与者(Actor): 与系统打交道的人或其他系统即使用该系统的人或事物. 在 UML 中参与者用人形图标表示
  2. 用例(Use Case): 代表系统的某项完整的功能. 在 UML 中使用一个椭圆来表示
  3. 关系: 定义用例之间的关系 ------ 泛化关系, 扩展关系, 包含关系
  • 泛化关系: 表示同一业务目的(父用例)的不同技术实现(各个子用例). 在 UML 中, 用例泛化用一个三角箭头从子用例指向父用例. 以下是某购物网站为用户提供不同的支付方式:
    用例图的泛化关系
  • 扩展关系:如果在完成某个功能的时候偶尔会执行另外一个功能, 则用扩展关系表示.在 UML 中扩展关系用虚线箭头加 “<>”, 箭头指向被扩展的用例
    用例图的扩展关系
  • 包含关系:一个用例可以包含其他用例具有的行为, 并把它包含的用例行为作为自身行为的一部分. 在 UML 中包含关系用虚线箭头加 “<>”, 箭头指向被包含的用例
    用例图的包含关系
3、时序图(sequence diagram)
3.1、什么是时序图?

时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序。
当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件。
在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.

3.2、借书的时序图

借书的时序图

说明:其他的UML图在以后在做详细介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值