UML概述及UML图详解[通俗易懂]

UML概述及UML图详解[通俗易懂]​UML概述一、UML简介(一)UML(UnifiedModelingLanguage)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。(二)UML的定义包括UML语义和UML表示法两个部分。 1.UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因人而异的表达方法所造成的影响; 2.UML表…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

UML概述

一、UML简介

(一)UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于
描述以用例为驱动,以体系结构为中心的软件设计的全过程。
(二)UML的定义包括UML语义和UML表示法两个部分。
	1.UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因人而异的表达方法所造成的影响;
	2.UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建
	模提供了标准

Jetbrains全家桶1年46,售后保障稳定

二、UML模型图的构成

​ (一)事物[Things] (4种):UML模型中最基本的构成元素,是具有代表性的成分的抽象

​ 1.构件事物:UML模型的静态部分,描述概念或物理元素

类:具有相同属性相同操作相同关系相同语义的对象的描述
接口:描述元素的外部可见行为,即服务集合的定义说明
协作:描述了一组事物间的相互作用的集合
用例:代表一个系统或系统的一部分行为,是一组动作序列的集合
构件:系统中物理存在,可替换的部件
节点:运行时存在的物理元素

另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体

​ 2.行为事物:UML模型图的动态部分,描述跨越空间和时间的行为

交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接
状态机:描述事物或交互在生命周期内响应事件所经历的状态序列

​ 3.分组事物:UML模型图的组织部分,描述事物的组织结构

包:把元素组织成组的机制

​ 4.注释事物:UML模型的解释部分,用来对模型中的元素进行说明、解释

注解:对元素进行约束或解释的简单符号

​ (二)关系[Relationships]:关系把事物紧密联系在一起

1.依赖[depedency]是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到  
  另一个事物(依赖事物)的语义
2.关联[association]是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系
3.泛化[generalization]是一种特殊/一般的关系。也可以看作是常说的继承关系
4.实现[realization]是类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约

​ (三)图[Diagrams]:图是事物和关系的可视化表示

1.用例图[Use Case Diagram]:用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,
   用例是系统中的一个功能单元 

在这里插入图片描述

2.类图[Class Diagram]:(1)类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、
   依赖、聚合等,也包括类的内部结构(类的属性和操作);(2)类图是以类为中心类组织的,类图中的其他元素
   或属于某个类或与类相关联

在这里插入图片描述

3.对象图[Object Diagram]:对象图是类图的实例,几乎使用与类图完全相同的标识。
   他们的不同点在于对象图显示类的多个对象实例,而不是实际的类

在这里插入图片描述

4.顺序图[Sequence Diagram]:(1)顺序图显示对象之间的动态合作关系,他强调对象之间消息发送的顺序,
   同时显示对象之间的交互;(2)顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,
   顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NKFjtLMz-1579259958177)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20200117191156185.png)]

5.协作图[Collaboration Diagram]:(1)协作图描述对象间的协作关系,协作图跟顺序图相似,
   显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及他们之间的关系
   (2)协作图的一个用途是表示一个类操作的实现

在这里插入图片描述

6.状态图[State Chart Diagram]:状态图是一个类对象所可能经历的所有历程的模型图。
   状态图由对象的各个状态和连接这些状态的转换组成

在这里插入图片描述

7.活动图[Activity Diagram]:(1)活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动    
  (2)活动图描述了一组顺序的或并发的活动

在这里插入图片描述

8.构件图[Component Diagram]:构件图为系统的构件建模型——构件即构造应用的软件单元——还包括
  各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响

在这里插入图片描述

9.部署图[Deployment Diagram]:部署视图描述位于节点实例上的运行构件实例的安排。
  节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配

在这里插入图片描述

​ (四)各UML图的关系
在这里插入图片描述

三、UML语法描述
在这里插入图片描述

文章内容深入学习链接

用例图详解

类图详解

顺序图详解

协作图详解

状态图详解

活动图详解

构件图详解

部署图详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200806.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python更新pip失败_findwindow函数

    python更新pip失败_findwindow函数我使用pywin32扩展来解决FindWindow问题.简单的C代码:intmain(){HWNDh=FindWindow(NULL,TEXT(“SomeApp”));if(h!=INVALID_HANDLE_VALUE)SetForegroundWindow(h);return0;}效果很好.与python相同:importwin32guih=win32gui.FindW…

    2022年8月13日
    3
  • 电脑显示与域服务器失去信任,此工作站和主域间的信任关系失败,退出域后也不能重新加入…

    电脑显示与域服务器失去信任,此工作站和主域间的信任关系失败,退出域后也不能重新加入…谢谢前面的回答,但觉得只是提供了分析问题的思路!我用问题的英文翻译“Thetrustrelationshipbetweenthisworkstationandtheprimarydomainfailed”进行搜索发现以下这样一篇博文,按照其方法操作已经成功解决问题。基本原理就是通过命令重建服务器与该失信客户端之间联系的密码。具体操作步骤:(前提是没有退出域,或可以系统还原为没…

    2022年10月19日
    0
  • java初中级面试题集锦

    java初中级面试题集锦目录基础&与&&区别使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?静态变量和实例变量的区别?是否可以从一个static方法内部发出对非static方法的调用?”==”和equals方法究竟有什么区别?int和Integer的区别什么是foreach循环,它可以循环那些数据类型重载与重写区别?…

    2022年6月18日
    28
  • 分享十道Selenium面试题(附答案)「建议收藏」

    分享十道Selenium面试题(附答案)「建议收藏」         软件测试培训也是一种提升技术及迅速转行的辅助手段,不管在哪学你都必须先去试听,看看讲课的风格及氛围,是否通俗易懂,课件是否老化,工具是否过时,课程内容及项目是否具有实战性,主要就是了解项目实战周期是多久,工具是否属现在主流,还有你自己喜不喜欢讲师的讲课风格,如果不喜欢讲师的上课风格也会对你的学习进度造成一定的影响,今天给大家分享Selenium的面试题。希望在学习的小伙伴都能…

    2022年6月20日
    26
  • 计算机网络之ip、子网掩码、网络号、主机号等概念解析

    计算机网络之ip、子网掩码、网络号、主机号等概念解析在工作中谈论到计算机网络时,有几个经常出现的术语,比如:ip、子网掩码、网段等等。之前对这些概念的理解都比较模糊,只知其大概意思,随着工作中遇到的网络问题越来越多,有必要详细理解一下计算机网络的基础知识了。这篇文章就先介绍几个计算机网络领域的专业术语。IP地址ip这个词是计算机网络中出现频率最高的了,甚至只要使用过电脑的人都知道这个词。IP地址全程是互联网协议地址(英文:InternetPr…

    2022年6月24日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号