UML建模

1 简介

UMI
定义:是统一建模语言,是一种开放的方法,用于说明、可视化、构建和编写一个正在开发 的、面向对象的、软件密集系统的制品的开放方法。

作用:
1、帮助开发团队以一种可视化的方式理解系统的功能需求。
2、有利于开发团队队员间在各个开发环节间确立沟通的标准,便于系统文档的制定和项 目的管理。因为UML的简单、直观和标准性,在一个团队中用UML来交流比用文字说 明的文档要好得多。
3、UML为非专业编程人士理解软件的功能和构造,提供了一种直白、简单、通俗的方法。 4、使用uml可以方便理解各种框架的设计方式。

用例图概述: 用例图主要模拟系统中的动态行为,并且描述了用户、需求、以及系统功能单元、之间的关系。 用例图由参与者(用户),用例(功能)和它们之间的关系组成。

1 用例图:

UML 用例图的目的: 用例图用来收集系统的要求。 用例图用于获取系统的外观图。 用例图识别外部和内部因素影响系统。 用例图显示要求之间的相互作用是参与者。

主要构成元素:参与者(Actor)、用例(UseCase)、关联关系(Association [əˌsoʊsiˈeɪʃn] 、 包含关系(Include)、扩展关系(Extend)、泛化关系(Generalization)

2 结构图:

结构图作用:用来描述程序结构的

类图(Class Diagram )概述 :是面向对象系统建模中最常用和最重要的图。主要是用来显示系统中的类、接口以及它们之 间的静态结构和关系的一种静态模型。是唯一可以直接映射到面向对象的语言。

UML 类图的目的:
1、分析和设计应用程序的静态视图。
2、描述一个系统的责任。
3、基地组件图和部署图。
4、正向和逆向工程。

正向工程是通过从特定实现语言的映射而把模型转换为代码的过程。
逆向工程是通过从特定实现语言的映射而把代码转换为模型的过程。

主要构成元素:
类(class)、接口(interface)、端口(port)、关联关系(Association [əˌsoʊsiˈeɪʃn] )、依赖 (Dependency [dɪˈpendənsi] )、聚合(Aggregation [ˌæɡrɪˈɡeɪʃn] )、组合(Composition [ˌkɑːmpəˈzɪʃn])

端口(Port):
类元与外部部件交互的连接处。用类元边框线上的小矩形框标识类元一般都是以封闭的结构体,在组合结构图中通过端口与外部交互.

组合结构图(Composite [ˌkɑːmpəˈzɪʃn] Structure [ˈstrʌktʃər] Diagram [ˈdaɪəɡræm] ):
用来显示组 合结构或部分系统的内部构造,包括类、接口、包、组件、端口和连接器等元素

主要构成元素:
类(class)、接口(interface)、端口(port)、部件(part)、关联关系 (Association [əˌsoʊsiˈeɪʃn] )、依赖(Dependency [dɪˈpendənsi] )、聚合(Aggregation [ˌæɡrɪˈɡeɪʃn] )、组合(Composition )

部件(part):
代表属于类中的一个元素,该元素可能包含一个或多个实例。常用在类或组件内 部用不加修饰的矩形框标识。

对象图(Object Diagram [ˈdaɪəɡræm] ):
对象图和类图一样反映系统的静态过程,显示某时 刻对象和对象之间的关系。

UML 对象图目的:
1、正向和逆向工程。2、一个系统的对象间的关系。3、一个交互的静态视图。4、从实用的 角度了解对象的行为和他们的关系。

主要构成元素:
对象(object)、实列(instance link)、依赖(Dependency [dɪˈpendənsi] )

3 活动图:
同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过 程;

异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要 等待。

区别:一个需要等待,一个不需要等待,在部分情况下,我们的项目开发中都会优 先选择不需要等待的异步交互方式。

交互图的使用范围:
交互图描述的比较宏观,主要用于系统继承,比如说需要描述服务器,防火墙,
客户端,用交互图描述是非常方便的。

4 课后作业:
根据微信时序图,搭建微信支付系统架构
要求:
1、绘制类图,和活动图各一副。
2、类图结构清晰,关键元素必须要存在
3、活动图步骤要明确,关键步骤必须要存在

2、掌握面向对象建模常用建模图

2.1 用例图 The Use Case Diagram

用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。

用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。

参与者(Actor)、用例(UseCase)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)、泛化关系(Generalization)

在这里插入图片描述
用例图实例
在这里插入图片描述

2.2 结构图

2.2.1 类图 The Class Diagram

类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。

类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。

它既用于应用程序的系统分类的一般概念建模,也用于详细建模,将模型转换成编程代码。类图也可用于数据建模。

  1. 泛化(Generalization)
    是一种继承关系, 表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为. 例如:老虎是动物的一种, 即有老虎的特性也有动物的共性.

  2. 实现(Realization)
    是一种类与接口的关系, 表示类是接口所有特征和行为的实现.

  3. 关联(Association)
    是一种拥有的关系, 它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子。
    关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

  4. 依赖(Dependency)
    是一种使用的关系, 即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.

  5. 聚合(Aggregation)
    是整体与部分的关系, 且部分可以离开整体而单独存在. 如车和轮胎是整体和部分的关系, 轮胎离开车仍然可以存在.

  6. 组合(Composition)
    是整体与部分的关系, 但部分不能离开整体而单独存在. 如公司和部门是整体和部分的关系, 没有公司就不存在部门.

在这里插入图片描述

可以通过图生成代码(正向工程)

选择 language- Generate Java code

也可以通过代码生成图(逆向工程)

选择 language-Reverse Engineer Java

2.2.2 组合结构图 Composite Structure Diagram

主要用于描述类中的内部构造,和类与类之间的关系

比类图更抽象的表示,一般来说先画组合结构图,再画类图

注意事项:侧重类的整体特性,就使用类图;侧重类的内部结构,就使用组合结构图。

在这里插入图片描述

2.2.3 对象图 Object Diagram

显示某时刻对象和对象之间的关系

在这里插入图片描述

2.2.4 包图 Package Diagram

包与包之间关系

2.3 动态图

2.3.1 时序图 Sequence diagram

时序图(Sequence Diagram),又名序列图、循序图、顺序图,是一种UML交互图。

它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。

角色(Actor)
对象(Object)
生命线(Lifeline)
控制焦点(Focus of Control)
消息(Message)- 同步用实心,异步用开放

仿微信支付时序图:

在这里插入图片描述

2.3.2 通信图 Communication diagram

和时序图相同,只是表示形式不同,可通过时序图直接转换

在这里插入图片描述

2.3.3 活动图 Activity diagram

表示一个过程,有点像流程图。

组织单元泳道图(organization unit swimlane)

异步:
在这里插入图片描述

同步:
在这里插入图片描述

2.3.4 状态图 Statechart diagram

在这里插入图片描述

2.3.5 交互纵横图 Interaction overview diagram

用来表示多张图之间的关联

2.4 交互图

2.4.1 组件图 Component Diagram

主要目的是显示系统组件间的结构关系

在这里插入图片描述

在这里插入图片描述

2.4.2 部署图 Deployment Diagram

多数用于表示硬件结构,做系统集成很方便

在这里插入图片描述

在这里插入图片描述

3 工具使用

3.1 绘图工具

Win 版本
本地绘图工具: PowerDesigner (只支持 Win)
下载地址: http://soft.onlinedown.net/soft/577763.htm

Mac 版本
绘图工具: argouml
下载地址: http://argouml.tigris.org/

绘图工具: violet下载地址: http://alexdp.free.fr/violetumleditor/page.php?id=en:download

在线
在线工具: Processon
在线地址: https://www.processon.com/

3.2 思维导图工具

MindMaster
下载地址: https://www.edrawsoft.cn/download/mindmaster/

微信支付时序图
官网链接:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3

4 微信支付时序图

在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值