[图解]SysML和EA建模住宅安全系统-02

1
00:00:00,900 --> 00:00:02,690
这个就是一个块定义图了

2
00:00:03,790 --> 00:00:04,780
简称BDD

3
00:00:05,610 --> 00:00:08,070
实际上就是UML里面的类图

4
00:00:08,080 --> 00:00:09,950
和组件图的一个结合体

5
00:00:13,150 --> 00:00:14,690
我们这里用到的

6
00:00:14,970 --> 00:00:17,280
实际上主要是类图这部分的内容了

7
00:00:18,320 --> 00:00:21,660
泛化关联还有属性等等

8
00:00:22,040 --> 00:00:23,930
当然它现在不叫类了

9
00:00:23,940 --> 00:00:28,940
叫块,block,不一定是类

10
00:00:29,030 --> 00:00:32,840
不一定软件这个类

11
00:00:32,850 --> 00:00:36,820
可以是描述一个很具体的一个东西

12
00:00:39,150 --> 00:00:41,600
当然,如果我们在这里

13
00:00:41,610 --> 00:00:43,280
是建立概念模型

14
00:00:43,290 --> 00:00:44,360
这一点来说的话

15
00:00:45,540 --> 00:00:48,340
如果我们是软件系统的

16
00:00:48,510 --> 00:00:50,020
显然这里的block

17
00:00:50,030 --> 00:00:54,970
和我们的类是等同的

18
00:00:55,490 --> 00:00:57,190
如果你做的不是这个级别的

19
00:00:57,200 --> 00:00:59,360
那么这个block就有很多含义了

20
00:00:59,370 --> 00:01:03,120
你甚至可以用block来表达一个组织

21
00:01:04,160 --> 00:01:06,770
表达一个组织、一个系统、一个子系统

22
00:01:06,780 --> 00:01:08,370
一个子系统里面子子系统

23
00:01:09,000 --> 00:01:12,180
到里面一个软件的类,都可以

24
00:01:13,560 --> 00:01:14,840
block里面有部件

25
00:01:19,990 --> 00:01:22,960
部件有的是什么

26
00:01:24,550 --> 00:01:28,400
它是组合了另外一个block作为部件

27
00:01:28,410 --> 00:01:31,870
有的可能是比较简单的一些部件

28
00:01:31,880 --> 00:01:41,120
比如说值,比较简单类型的部件它就叫值

29
00:01:41,540 --> 00:01:42,770
如果是复杂的

30
00:01:42,780 --> 00:01:44,240
就叫部件

31
00:01:45,830 --> 00:01:49,960
然后,block有操作

32
00:01:50,130 --> 00:01:52,080
比如说,屏幕有一个操作点击

33
00:01:54,840 --> 00:01:58,100
block之间有关系,关系有关联

34
00:02:00,060 --> 00:02:04,520
关联带有一个菱形的,黑色菱形

35
00:02:04,530 --> 00:02:09,430
实心菱形的,叫组合关联

36
00:02:10,110 --> 00:02:11,700
这种倒三角的,泛化

37
00:02:12,270 --> 00:02:13,230
下面就是子

38
00:02:14,780 --> 00:02:15,860
上面是父

39
00:02:16,690 --> 00:02:22,960
意思是LCD屏幕

40
00:02:22,970 --> 00:02:25,280
是屏幕的一种

41
00:02:25,290 --> 00:02:31,400
什么是什么的一种,泛化关系

42
00:02:34,830 --> 00:02:37,020
像这个值,实际上就是对一些

43
00:02:38,370 --> 00:02:41,910
基本类型的一个组合了

44
00:02:42,560 --> 00:02:44,860
把一些基本类型作为部件的时候

45
00:02:45,210 --> 00:02:47,450
它这里就出来一个值

46
00:02:48,120 --> 00:02:49,820
比如说长度

47
00:02:51,200 --> 00:02:52,070
是一个

48
00:02:52,840 --> 00:02:53,800
值类型

49
00:02:56,900 --> 00:03:01,480
值类型,长度我们定义单位为厘米

50
00:03:02,570 --> 00:03:07,330
然后那个数值是一个实数的一个值类型

51
00:03:09,260 --> 00:03:11,250
这个怎么定义,怎么做出来

52
00:03:11,380 --> 00:03:13,370
我们一会在EA里面演示

53
00:03:13,970 --> 00:03:17,750
显然,这里面实数是系统

54
00:03:18,310 --> 00:03:20,880
提供的一些原生的值类型

55
00:03:21,050 --> 00:03:22,280
原生的值类型

56
00:03:23,080 --> 00:03:26,070
我们在这个基础上把它和单位结合起来

57
00:03:27,590 --> 00:03:32,600
就得到一个我们领域里面的一个值类型

58
00:03:32,610 --> 00:03:34,720
比如说长度,是我们这个领域里面特有的

59
00:03:35,600 --> 00:03:37,670
但实数都不是了

60
00:03:37,680 --> 00:03:39,620
实数是一个数学的概念

61
00:03:39,630 --> 00:03:42,850
长度是我们这个领域里面的概念

62
00:03:45,530 --> 00:03:46,280
块定义图

1
00:00:00,230 --> 00:00:04,000
接下来,就是这个签名

2
00:00:04,670 --> 00:00:05,610
在这个地方

3
00:00:06,240 --> 00:00:07,390
签名这个地方

4
00:00:08,260 --> 00:00:10,660
你看,它是一个值

5
00:00:12,280 --> 00:00:15,440
这个值在哪里添加上去呢

6
00:00:16,170 --> 00:00:17,250
那么这里我们要注意的

7
00:00:17,260 --> 00:00:18,410
你在这里添加

8
00:00:18,420 --> 00:00:19,530
像我们画类图这样

9
00:00:19,540 --> 00:00:24,990
选中这个,添加属性,签名

10
00:00:28,800 --> 00:00:29,600
这肯定不行的

11
00:00:31,010 --> 00:00:34,480
出不来这个值,把它删掉

12
00:00:35,880 --> 00:00:43,160
另外一个,加这里,添加一个部件

13
00:00:43,170 --> 00:00:49,430
选择它类型

14
00:00:49,750 --> 00:00:50,620
实际上也不行

15
00:00:54,150 --> 00:00:54,900
应该怎么加

16
00:00:55,270 --> 00:00:56,180
首先我们来看

17
00:00:59,240 --> 00:01:02,470
签名这个是一个值

18
00:01:03,310 --> 00:01:05,690
我们得添加一个值类型

19
00:01:07,070 --> 00:01:08,700
值类型我们之前也添加了

20
00:01:08,710 --> 00:01:10,220
但是我们把它添加成block

21
00:01:12,820 --> 00:01:13,850
但实际上应该是什么

22
00:01:13,860 --> 00:01:16,700
应该添加成这个值类型

23
00:01:16,710 --> 00:01:19,780
所以我们这里,这些以前的先不改了

24
00:01:19,790 --> 00:01:20,740
后面有需要再改

25
00:01:21,530 --> 00:01:22,520
我们怎么加

26
00:01:22,530 --> 00:01:24,040
你看,右键点这个值类型

27
00:01:25,080 --> 00:01:26,100
添加一个图

28
00:01:26,640 --> 00:01:29,380
同样添加块定义图,值类型

29
00:01:31,560 --> 00:01:33,880
然后放上一个值类型

30
00:01:36,460 --> 00:01:38,400
我们就起名叫签名

31
00:01:47,640 --> 00:01:53,260
它的构造型是SysML 1.5值类型

32
00:01:53,770 --> 00:01:54,250
签名

33
00:01:55,150 --> 00:01:58,230
好,这里有一个值类型

34
00:01:58,770 --> 00:02:01,960
然后我们看,怎么把它跟它挂接起来

35
00:02:01,970 --> 00:02:03,000
你拖上来也不行

36
00:02:03,550 --> 00:02:03,990
怎么做

37
00:02:06,220 --> 00:02:12,060
目前我摸索出来正确的做法是这样的

38
00:02:12,430 --> 00:02:17,450
出这个效果得这样,右键点这个,添加一个图

39
00:02:20,640 --> 00:02:21,440
添加一个图

40
00:02:22,980 --> 00:02:24,530
就是给入侵者

41
00:02:24,700 --> 00:02:30,170
添加一个内部块图,IBD,入侵者,OK

42
00:02:30,180 --> 00:02:36,470
然后把值类型拖上去

43
00:02:38,880 --> 00:02:40,030
这里不能先链接

44
00:02:40,200 --> 00:02:44,950
因为这里

45
00:02:45,040 --> 00:02:48,060
入侵者对它是一个引用

46
00:02:48,070 --> 00:02:52,690
说我的值是这个类型

47
00:02:52,700 --> 00:02:57,990
所以这里选,我的值是这个类型的

48
00:02:59,660 --> 00:03:04,620
但是我的属性的各个,也就是说,

49
00:03:04,630 --> 00:03:07,410
入侵者可以用这个类型作为它的值

50
00:03:07,920 --> 00:03:11,170
别的类,别的block也可以的

51
00:03:11,710 --> 00:03:14,790
注意我们要区分定义跟实例的区别

52
00:03:15,070 --> 00:03:17,010
所以拖上来的是实例

53
00:03:18,030 --> 00:03:18,600
Ok

54
00:03:21,310 --> 00:03:22,900
它有一个签名

55
00:03:24,880 --> 00:03:25,950
作为它的值

56
00:03:25,960 --> 00:03:27,230
这时候我们再返回来

57
00:03:27,240 --> 00:03:29,540
刚才那个地方,你看,这里就有了

58
00:03:29,550 --> 00:03:30,900
你看,跟这个一样

59
00:03:33,590 --> 00:03:37,710
你看,这里,values有个签名

60
00:03:39,440 --> 00:03:45,270
这样来,我们展示这么多就可以了

61
00:03:45,280 --> 00:03:47,350
剩下的操作应该是一样的

62
00:03:47,440 --> 00:03:49,310
我们在视频里面

63
00:03:49,320 --> 00:03:52,980
就不一个一个画了,太占时间

64
00:03:53,510 --> 00:03:55,570
我们只展示画完之后的结果

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

C++-9

C 1.已知C风格的字符串,完成对字符串通过下标访问时的异常处理机制(越界访问) 2.写一个程序,程序包含两个类,类中实现一个成员函数,MyGetChar(), 类A中每调用一 次,按顺序得到一个数字字符,比如第-次调用得…

哪个品牌的开放式耳机好用?五款畅销拔尖爆款力荐!

在耳机市场上,开放式耳机正逐渐成为一股新的风潮。它们以其独特的设计和卓越的音质吸引着越来越多的耳机爱好者。相较于传统的蓝牙耳机,开放式耳机不仅在音质上更胜一筹,更在佩戴舒适度上取得了显著突破。传统的蓝牙耳机,由于多采…

LeetCode746:使用最小花费爬楼梯

题目描述 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 代码 …

C/C++ BM33 二叉树的镜像

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 总结 前言 镜像说的好听,无非就是换下节点。 题目 操作给定的二叉树,将其变换为源二叉树的镜像。 数据范围:二叉树的节点数 0 ≤ n ≤ 1000 0≤n≤1000 0≤n≤1000, 二叉树每…

AIGC实战——多模态模型DALL.E 2

AIGC实战——多模态模型DALL.E 2 0. 前言1. 模型架构2. 文本编码器3. CLIP4. 先验模型4.1 自回归先验模型4.2 扩散先验模型 5. 解码器5.1 GLIDE5.2 上采样器 6. DALL.E 2 应用6.1 图像变体6.2 先验模型的重要性6.3 DALL.E 2 限制 小结系列链接 0. 前言 DALL.E 2 是 OpenAI 设计…

Apache Knox 2.0.0使用

目录 介绍 使用 gateway-site.xml users.ldif my_hdfs.xml my_yarn.xml 其它 介绍 The Apache Knox Gateway is a system that provides a single point of authentication and access for Apache Hadoop services in a cluster. The goal is to simplify Hadoop securit…

深圳比创达电子|EMI一站式解决方案:提升企业电磁兼容性的路径

随着电子技术的快速发展,电磁干扰(EMI)问题日益凸显,对电子设备的正常运行和性能稳定造成了严重影响。为了有效应对这一挑战,EMI一站式解决方案应运而生,成为众多企业和个人解决EMI问题的首选方案。 一、E…

2. 外婆都称赞的基于Jaeger的Span模型改造

前言 我们的目标是基于Jaeger来实现分布式链路追踪的Java客户端工具包,实际就是一个Springboot的Starter,在1. 看完这篇文章我奶奶都懂Opentracing了一文中我们详细的学习了一下Opentracing的相关概念以及阅读了相关的源码,同时特别重要的是…

HOOPS Visualize:工业级3D可视化SDK,打造移动端和PC端工程应用程序

HOOPS Visualize是一种高性能的软件开发工具包(SDK),旨在帮助开发人员轻松构建和集成高质量的3D可视化功能。这是一种全功能的,以工程为重点的场景图技术,我们称为Core Graphics。Core Graphics可集成到一个框架中&…

将 Vue、React、Angular、HTML 等一键打包成 macOS 和 Windows 平台客户端应用

应用简介 PPX 基于 pywebview 和 PyInstaller 框架,构建 macOS 和 Windows 平台的客户端。本应用的视图层支持 Vue、React、Angular、HTML 中的任意一种,业务层支持 Python 脚本。考虑到某些生物计算场景数据量大,数据私密,因此将…

Quartz怎么简单创建一个定时执行的任务

1.安装Quartz包 2.编写Job任务 继承 IJob编辑自定义任务 3.调用job,以指定时间策略执行 定时600s执行一次 StdSchedulerFactory factory new StdSchedulerFactory(); IScheduler scheduler await factory.GetScheduler(); await scheduler.Start();// 定义…

AP2305GN 封装SOT23 场效应管

AP2305GN是一款P通道增强型功率MOSFET,适用于多种电子设备和系统中的高频率切换应用。下面是一些可能包含在该器件的功能和参数介绍中的关键点: 封装: AP2305GN通常采用表面安装封装,如SMD或SMT封装,适用于自动化电路板装配。 电…

长难句打卡5.8

If it is trying to upset Google, which relies almost wholly on advertising, it has chosen an indirect method: there is no guarantee that DNT by default will become the norm. 如果它想激怒几乎全靠广告业务运营的谷歌公司的话,那么它选择了一个间接的方…

微软正在自主构建一个名为 MAI-1 的大型语言模型(不依赖 OpenAI)

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

C++算法题 - 二叉树(2)

TOC 114. 二叉树展开为链表 LeetCode_link 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与…

已解决RuntimeError: CUDA error: invalid device ordinal 亲测有效!!!

已解决RuntimeError: CUDA error: invalid device ordinal 亲测有效!!! 亲测有效 报错问题解决思路解决方法 报错问题 当你尝试使用CUDA进行GPU加速计算时,可能会遇到以下错误: RuntimeError: CUDA error: invalid d…

为什么 ChatGPT 不火了?

不火了是有原因的,下面我来从大部分人拿到 ChatGPT 之后的两大痛点开始讲起: 很多朋友拿到 ChatGPT 后的第一个痛点就是:用的不好 你经常会感觉到 ChatGPT 回答的好空,没有太多参考价值。 而第二个痛点则是:无处去用…

HTML批量文件上传2——进度条显示

作者:私语茶馆 非常多的云应用中需要上传文本,包括图片,文件等等,这些批量文件上传,往往涉及到进度条显示,多文件上传等,这里分享一个非常好的案例,来自BootStrapfriendly.com&#…

C++ | Leetcode C++题解之第76题最小覆盖子串

题目&#xff1a; 题解&#xff1a; class Solution { public:unordered_map <char, int> ori, cnt;bool check() {for (const auto &p: ori) {if (cnt[p.first] < p.second) {return false;}}return true;}string minWindow(string s, string t) {for (const au…

AI中转计费平台系统源码

AI中转计费平台系统源码 源码免费下载地址抄笔记 (chaobiji.cn)