• 一文带你入门UML!


    导读

    1:什么是UML?
    2:UML图的基本介绍
    3:UML类图的精讲
    4:UML状态图精讲
    5:总结
    6:参考资料
    7:画图工具

    什么是UML?

    简单介绍

    官方定义:UML - Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的结果

    UML是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言。制品{Artifact}是指软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等。

    简单来说,UML是一门语言,在统一的标准规则下,用于给对象建模,可应用于软件开发过程中的不同场景,如需求分析,组件开发,用例测试等等。

    UML的历史

    面向对象软件工程的概念由Booch提出,Booch也是面向对象方法最早的倡导者之一。Booch 1993表示法比较适用于系统的设计和构造。

    Rumbaugh等人提出了面向对象的建模技术(OMT)方法,采用面向对象的概念,并引入各种独立于语言的表示符。用对象模型、动态模型、功能模型和用例模型共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的全过程,软件开发人员不必在不同阶段进行概念和符号的转换。OMT-2适用于分析和描述数据为中心的信息系统。

    1994年Jacobson提出了OOSE方法,其最大特点是面向用例,并在用例的描述中引入了外部角色的概念。OOSE适合支持商业工程和需求分析。

    1996年10月,UML建模语言获得了700多个公司支持,到1996年年底,UML已稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。

    1997年年底,OMG组织(Object Management Group,对象管理组织)采纳UML 1.1作为基于面向对象技术的标准建模语言,目前最新版本为UML 2.0,UML发展史如下图所示。

    在这里插入图片描述

    UML的构成

    UML构成主要分成三大块:UML的基本构造块、UML的规则、UML的公共机制

    UML的基本构造块

    UML的基本构造块包括事物、关系和图。

    1. 事物是构成模型图的基本符号,表示一些面向对象的基本概念,分为结构事物、行为事物、分组事物和注记事物。
    2. UML中类与类、类与接口以及接口与接口之间的关系总共有四种:依赖、关联、泛化和实现。
    3. UML中包括九种图分为五大类:用例图、静态图、行为图、交互图、实现图

    其中事物与关系,构成了图

    UML的规则

    我们不能简单地把UML的构造块随机的摆放在一起,结构良好的模型应该在语义上自我一致,并且与所有的相关模型协调一致。UML有自己的语法和语义规则,分别是命名规则、范围、可见性、完整性和执行。

    UML的公共机制

    UML的公共机制分别是规格说明、修饰、通用划分以及扩展机制。

    1. UML不只是一种图形语言,实际上它的图形表示法的每一部分背后都有规格说明。规格说明提供了对构造块的语法和语义上的文字叙述,uml的图形表示法用来对系统提供可视化,规格说明用来描述系统的细节。uml的规格说明提供了一个语义底版,包含了系统各模型的所有部分,并且各部分之间相互联系,保持一致。
    2. UML表示法中每一个元素都有一个基本符号,可以把各种修饰细节加到这个符号上。
    3. 通用划分分为类/对象二分法和接口/实现二分法。类是一个抽象,对象是这个抽象的一个具体形式;接口声明了一个契约,而实现则表示了对该契约的具体实施,实现负责如实地实现接口的完整语义。
    4. 扩展机制是对UML图示符号的扩展,包括构造型(stereotype)、标注型(tagged value)和约束(constraint)。

    UML中的视图

    用例图

    • 用例图

    静态图

    • 类图
    • 对象图
    • 包图

    行为图

    • 状态图
    • 交互图
    • 活动图

    实现图

    • 构件图
    • 部署图

    UML的特点

    • 统一的标准
    • 可视化、表现能力强
    • 独立于过程,UML不依赖于特定的软件开发过程。
    • <
  • 相关阅读:
    从SmartPay dll学到的内容 宏定义 单件模式 迭代 日志记录函数进入与出来
    Windows下 Qt + OpenCV 开发环境搭建
    SpringBootTest
    Linux开发——Linux 文件系统简介(四)
    Ubuntu20.04编译Linux内核
    月报总结|Moonbeam 8月份大事一览
    Unity脚步.txt
    【Linux】进程管理命令,了解运维的五大性能监测
    Windows及Centos系统升级curl
    ROS 动态参数 事实调参方式
  • 原文地址:https://blog.csdn.net/qq_43920456/article/details/127768535