【UML用户指南】-03-UML的14种图

目录

1、结构图

1、类图(class diagram)

2、对象图(object diagram)

3、构件图 (component diagram)

4、组合结构图

5、包图(package diagram)

6、部署图(deployment diagram)

7、制品图 (artifact diagram)

2、行为图

1、用例图(use case diagram)

2、顺序图/序列图(sequence diagram)

3、通信图(communication diagram)

4、状态图 (state diagram)

5、活动图(activity diagram)

6、定时图/时序图(timing  diagram)

7、交互概览图


1、结构图

1、类图(class diagram)

展现了一组类、接口、协作和它们之间的关系。

在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统的静态设计视图。

包含主动类的类图给出系统的静态进程视图。构件图是类图的变体。
 

2、对象图(object diagram)

展现了一组对象以及它们之间的关系。对象图描述了在类图中所建立的事物的实例的静态快照。

和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
 

3、构件图 (component diagram)

展现了一个封装的类和它的接口、端口以及由内嵌的构件和连接件构成的内部结构。

构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,

构件图是很重要的(UML 将构件图和适用于任意类的组合结构图区分开来,但由于构件和结构化类之间的差别微不足道)。
 

4、组合结构图

组合结构图描述结构化类(例如:构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。

5、包图(package diagram)

展现了由模型本身分解而成的组织单元以及它们的依赖关系。

6、部署图(deployment diagram)

展现了对运行时的处理结点以及在其中生存的构件的配置。部署图给出了体系结构的静态部署视图。通常一个结点包含一个或多个制品。

7、制品图 (artifact diagram)

展现了计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。

制品常与部署图一起使用。制品也展现了它们实现的类和构件。UML把制品图视为部署图的变体。

2、行为图

1、用例图(use case diagram)

展现了一组用例、参与者(一种特殊的类)及它们之间的关系。

用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模上是非常重要的。

2、顺序图/序列图(sequence diagram)

顺序图和通信图都是交互图。交互图(interaction diagram)展现了一种交互,它由一组对象或角色以及它们之间可能发送的消息构成。

交互图专注于系统的动态视图。顺序图(sequence diagram)是强调消息的时间次序的交互图;通信图(communication diagram)也是一

种交互图,它强调收发消息的对象或角色的结构组织。顺序图和通信图表达了类似的基本概念,但每种图强调概念的不同视角,顺序图强调

时间次序,通信图强调消息流经的数据结构。定时图(不包含在本书中)展现了消息交换的实际时间。
 

交互图(interaction diagram)展现了一种交互,它由一组对象或角色以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。

是一种交互图,强调消息的时间次序的交互图;

3、通信图(communication diagram)

是一种交互图,它强调收发消息的对象或角色的结构组织。

顺序图和通信图表达了类似的基本概念,

每种图强调概念的不同视角,

顺序图强调时间次序,

通信图强调消息流经的数据结构。

定时图展现了消息交换的实际时间。

4、状态图 (state diagram)

展现了一个状态机,它由状态、转移、事件和活动组成。状态图展现了对象

的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调由事件引发的对象行为,这非常有助于对反应式系统建模。
 

5、活动图(activity diagram)

将进程或其他计算的结构展示为计算内部一步一步的控制流和数据流。

活动图专注于系统的动态视图。它对于系统的功能建模特别重要,并强调对象间的控制流程。
 

6、定时图/时序图(timing  diagram)

是一种交互图,它展现了消息跨越不同对象或角色的实际时间,而不仅仅是关心消息的相对顺序。

7、交互概览图

是活动图和顺序图的混合物


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android输入法IME(二)

2. IME初始化启动流程 2.1. IME客户端(IMM)初始化流程 涉及代码文件路径: frameworks/base/core/java/android/view/ViewRootImpl.java frameworks/base/core/java/android/view/WindowManagerGlobal.java frameworks/base/core/java/andro…

【kubernetes】k8s的面试宝典,等你来拿哦

目录 一、pod的生命周期 二、创建 pod 的工作流程 三、ingres 有哪些组件并且描述出组件作用 ? 四、ingress 的工作原理 五、ingress 暴露服务的方式 六、pod 的组成 七、pod的本身性质(pod的种类与说明) 八、k8s命令 8.1在k8s中如何…

零基础入门学习Python第二阶04SQL详解03

MySQL 新特性 JSON类型 很多开发者在使用关系型数据库做数据持久化的时候,常常感到结构化的存储缺乏灵活性,因为必须事先设计好所有的列以及对应的数据类型。在业务发展和变化的过程中,如果需要修改表结构,这绝对是比较麻烦和难…

AppStore搜索优化方法(ASO)

在竞争激烈的 App Store 中,如何让你的应用脱颖而出,吸引更多用户下载?其实从官方文档描述中可以总结一些优化技巧,这是官方描述地址:搜索优化 – App Store – Apple Developer。通过官方描述我们可以总结到影响搜索结…

commander.js 入门指南:构建强大的命令行界面 (全网最全教程)

在Node.js的世界里,创建用户友好的命令行界面(CLI)对于许多应用程序和工具来说至关重要。Commander.js 是一个广受欢迎的 Node.js 包,它为开发者提供了一套简洁而强大的 API,用于快速创建功能完备、用户友好的命令行界…

如何用TCC方案轻松实现分布式事务一致性

本文作者:小米,一个热爱技术分享的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 哈喽,大家好!我是小米,一个热爱技术的活力小青年,今天要和大家分享的是一种在分布式系统中实现事务的一种经典方案——TCC(Try Confirm Canc…

【Ubuntu】超详细安装Ubuntu系统

鉴于有些小伙伴在安装Ubuntu系统的时候遇到很多问题,因此打算编写一篇记录一下安装Ubuntu系统的整个过程~互相学习! 一、制作U盘启动 准备一个大于8G以上的U盘,这里我使用的是16G的U盘下载UltraISO工具 网站地址:UltraISO准备Ub…

C++ Primer 第五版 第15章 面向对象程序设计

面向对象程序设计基于三个基本概念:数据抽象、继承和动态绑定。 继承和动态绑定对编写程序有两方面的影响:一是我们可以更容易地定义与其他类相似但不完全相同的新类;二是在使用这些彼此相似的类编写程序时,我们可以在一定程度上…

HTML静态网页成品作业(HTML+CSS)—— 金宝贝儿童教育机构介绍网页(2个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有2个页面。 二、作品演示 三、代…

Stable diffusion prompts 使用语法、参数讲解、插件安装教程

Stable diffusion prompts 使用语法、参数讲解、插件安装教程 本文基于 Stable diffusion WebUI 进行讲解(安装在 AutoDL 上,安装在本地电脑上的也同样适用本教程)。 初始界面: 文件目录结构: 上图红框中的 4 个文件…

requests模块编写漏洞检测工具

#尝试使用python登录pikachu爆破模块 #发送post数据包,包含用户名密码,对接受到的响应进行判断,如何为登录成功 #爆破密码 with open(passwor.txt,r) as f: passwordf.readlines() for i in password: data {username: admin, password: i, …

数据结构——算法和算法效率的度量

目录 一、引言 二、算法 1 算法的基本概念 2 算法的复杂度 2.1 时间复杂度 2.1.1 概念 2.1.2 大O的渐进表示 3 算法的空间复杂度 3.1 概念 3.2 实例 4 实例分析 5 结论 一、引言 大家在写代码的时候有没有发现写同样功能的代码有多种不同的写法,而不同的代…

51种企业应用架构模式详解

01 什么是企业应用 我的职业生涯专注于企业应用,因此,这里所谈及的模式也都是关于企业应用的。(企业应用还有一些其他的说法,如“信息系统”或更早期的“数据处理”。)那么,这里的“企业应用”具体指的是什…

[原型资源分享]经典产品饿了么UI模版部件库

​部件库预览链接:https://f13gm0.axshare.com 支持版本: Axrure RP 8 文件大小: 3MB 文档内容介绍 基本部件:表单样式:12款、数据样式:10款、服务样式:6款、导航:5款、业务组件:7款、 模板…

python把简体中文转换为繁体中文

Python 可以使用第三方库来将简体中文(简体中文)转换为繁体中文(繁体中文)。一个常用的库是 opencc-python-reimplemented,它是 Open Chinese Convert (OpenCC) 的 Python 实现,OpenCC 是一个开源的中文简繁…

MySQL之查询性能优化(三)

查询性能优化 重构查询的方式 在优化有问题的查询时,目标应该是找到一个更优的方法获得实际需要的记过——而不是一定总是需要从MySQL获取一模一样的结果集。有时候,可以将查询转换一种写法让其返回一样的结果,但是性能更好。但也可以通过修…

Python魔法之旅-魔法方法(14)

目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…

在Debian系统上赋予普通用户ping 权限

在Debian系统上,普通用户默认情况下没有权限使用 ping 命令,因为它需要发送 ICMP 包,这通常需要 root 权限。为了允许普通用户使用 ping,可以设置 ping 命令的 setuid 位。以下是具体的步骤: 查找 ping 命令的位置&am…

2024年度自贡市社会民生重大科技计划项目申报要求、时间流程

一、申报要求 申报项目需符合以下申报要求和申报指南要求,申报资料需在“自贡市科技综合业务服务平台”中的“自贡市重点科技计划项目管理系统”上传。 (一)项目申报单位要求。 1.项目申报单位包括项目牵头单位和项目合作单位。 2.多家单…

【Python】pyinstaller打包时添加详细信息

在要被打包的py文件同级目录新建version.txt,写入以下内容 # UTF-8 # # For more details about fixed file info ffi see: # http://msdn.microsoft.com/en-us/library/aa381058.aspx # VSVersionInfo(ffiFixedFileInfo(filevers(1, 4, 0, 5),prodvers(1, 4, 0, 5…