首页 > 其他分享 >【UML】UML简介

【UML】UML简介

时间:2023-05-06 20:08:29浏览次数:32  
标签:对象 简介 系统 类图 用例 UML 描述


    接近半个月的学习,对UML有了初步的了解,知道了UML的九种图,这九种图在不同的时候使用,俗话说一图胜过前言万语。

  很多朋友都知道软件制作过程中分为需求分析、系统分析与设计、系统实现、测试、维护五个阶段。而每个阶段就有对应的UML图,下面的图就展示了每个阶段所用的图

一、作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。

UML语义:描述基于UML的精确元模型定义。

UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。

二、标准建模语言UML可以由下列5类图来定义。

        用例图:从用户角度描述系统功能,并指出各功能的操作者。

        静态图:包括类图和对象图。类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

        行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件,状态图是对类图的补充,活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动。

        交互图:描述对象间的交互关系,包括时序图和协作图。时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用时序图;如果强调上下级关系,则选择协作图。

        实现图:包括组件图和部署图。组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。

采用UML来设计系统时,第一步是描述需求;第二步根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图、对象图、组件图和部署图等5种图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、时序图和协作图等4种图形,是标准建模语言UML的动态建模机制。

首先对UML中的各个图的功用做一个简单介绍:

1、用例图

   描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。

【UML】UML简介_建模

2、类图

   类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。

【UML】UML简介_类图_02

3、对象图

   与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。

【UML】UML简介_UML_03

4、活动图

   描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。

【UML】UML简介_UML_04

5、状态图

   描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。

【UML】UML简介_UML_05

6、序列图(顺序图)

   序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。

【UML】UML简介_类图_06

7、协作图

   和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。

【UML】UML简介_UML_07

8、构件图 (组件图)

   描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。

【UML】UML简介_UML_08

9、部署图 (配置图)

   是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。


【UML】UML简介_建模_09




三、小结


    这段时间通过对这九种图的学习,知道了这九种图是在软件开发的那个阶段使用的,以及那个图是最重要的。其次我知道了如何绘制这九种图,虽然自己画的和各位大牛还是有一定的差距,但是经过多次的锻炼,我相信我能做到更好!



标签:对象,简介,系统,类图,用例,UML,描述
From: https://blog.51cto.com/u_16100820/6251071

相关文章

  • 数据湖Iceberg-简介(1)
    文章目录Iceberg简介概述特性数据存储、计算引擎插件化实时流批一体数据表演化(TableEvolution)模式演化(SchemaEvolution)分区演化(PartitionEvolution)列顺序演化(SortOrderEvolution)隐藏分区(HiddenPartition)镜像数据查询(TimeTravel)支持事务(ACID)基于乐观锁的并发支持文件级数据......
  • 操作系统——简介
    操作系统操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责务。 系统简介操作系统(英语:OperatingSystem,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基......
  • 指纹浏览器简介
      保护隐私的新型工具随着互联网的普及,网络安全和隐私保护成为了越来越重要的议题。在这个背景下,指纹浏览器应运而生,成为一种独特且实用的工具,以保护用户的在线隐私。那么,指纹浏览器究竟是什么?它如何保护我们的隐私?本文将为您揭示这一神秘的浏览器工具。一、什么是指纹浏览器......
  • Spring17_AOP简介9
    一、什么是AOPAOP为AspectOrientedProgramming的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务......
  • 动态规划简介
    目录动态规划与分治法基本思想和步骤实现方法钢条切割问题递归方法动态规划子问题图典型题目参考文献动态规划与分治法动态规划(dynamicprogramming)与分治方法相似,都是通过组合子问题的解来求解原问题(在这里,“programming”指的是一种表格法,并非编写计算机程序)。分治方法将问题......
  • Android dtbo(1) dto简介
    设备树(DT,DeviceTree)是用于描述non-discoverable(google这样写的,意思应该就是硬件信息看不到)硬件的命名节点和属性构成的一种数据结构。操作系统(例如在Android中使用的Linux内核)会使用DT来支持Android设备使用的各种硬件配置。硬件供应商会提供自己的DT源文件,......
  • Thinking in UML大象
    本书主要是讲一种如何以对象的思考方式将复杂化的业务用其的建模方法的方法形象的表达出来。整本书也是围绕UML的语言概念展开,如定义其元素:用例,业务,包,关系,组件,节点。此书给我的思考就是关于业务边界和设计模型的思考。......
  • schema模块简介 - 验证数据类型
    目录1schema模块简介2快速上手1.给Schema类传入类型(int、str、float等)2.给Schema类传入可调用的对象(函数、带__call__的类等)3.给Schema类传入带有validate方法的对象4.给Schema类传入容器对象(list、tuple、set等)5.给Schema传入一个字典对象(大部分使用Schema的场景都是传入......
  • UML类图——类之间的关系
    关联关系(实线箭头)是一种结构化关系,表示一类对象与另一类对象之间有联系。Java,c++,c#等编程语言在实现关联关系时,通常将一个类的对象作为另一个类的属性-双向关联-单向关联-自关联-多重性关联聚合关系(带空心菱形的实线箭头)表示一个整体与部分之间的关系,在聚合关......
  • StE355钢板简介、StE355执行标准、StE355化学成分
    1、StE355钢板简介:StE355是欧洲低合金钢板牌号,执行标准DIN17102,生产厚度8mm-500mm之间,StE355一热轧状态交货,StE355原厂质保书屈强参数StE355德标商标,StE355是低合金结构钢。StE355钢板自身不仅有着非常高的强度而且还具备一定的韧性、抗疲劳性、抗冲击性、耐磨性、焊接及易加工性能......