当前位置: 首页 > news >正文

第六章 包图组织模型|系统建模语言SysML实用指南学习

仅供个人学习记录

概述

包是容器的一个例子。包中的模型元素称为可封装元素,这些元素可以是包、用例和活动。由于包本身也是可封装元素,因此可以支持包层级。
每个有名称的模型元素也必须是命名空间的一份子,命名空间使得每个元素均能够通过名称被唯一识别。

有效的模型组织包含了模型元素的重用,并能在模型元素间方便访问与导航。

包图

标题
pkg [model element kind] package name [diagram name]
pkg:图类型
model element kind:模型元素类型可以是模型、包或模型库

应用包图定义包

包package是其他模型元素的容器,有一个名称和可选URI,将包作为可访问的web资源唯一识别。
包内的模型元素被称为可封装元素packageable element

SysML 包含了模型库model library的概念,包可以设计为包含可重用元素

包层级的组织

模型层级应当给予一系列组织原则。

  • 系统层级
  • 生命周期过程,每个模型子包均代表过程某个阶段
  • 团队划分,如需求团队、集成产品团队
  • 包含的模型元素类型,如模型库
  • 根据已定义的模型划分准则,形成的具有其他逻辑或内聚分组的模型元素

包容containment:带交叉十字圈㊉的直线表示,交叉十字圈连接包容端(父端)

包图可封装元素的表示

包图可用于展示可封装元素,可封装元素通常用节点标识或相应图标。
比如包Component里面包含一组成品部件,全部用《block》表示

作为命名空间的包

包是可封装元素的容器,也是其中所有元素的命名空间namespace
大多数SysML模型元素均有名称,但少数没有,如注释。
命名空间定义了一组唯一性准则,以区分命名空间内不同的已命名元素。
包中给定元素类型的每个元素都必须有唯一名称

模型元素可以出现在某个图中,但该图的框架不一定指定其父命名空间,容易造成错误。
解决办法是在标识中为模型元素给出一个限定名称qualified name,表示相对路径或者完整路径
限定名称均是以模型元素名称结尾,前面为路径,并以双冒号::划界,如模型元素X包含于包B内,而包B包含于包A,则表示为A::B::X

例子:包Standard Definition

  • Basic Definitions::Waypoint
    • 标识表示一个值类型,类型名称Waypoint,包含于名称为Basic Definitions的包里,而此包又包含于Standard Definition
  • ACME Surveillance Systems::Components::Stepper Motor
      • 标识表示包Standard Definition的外部模型元素,有完整的限定名称,即由ACME Surveillance Systems而来

为减少图的混乱,许多SysML工具都默认隐藏了限定名称

包中模型元素的引进

引进关系用于将属于某个源命名空间的单个或多个元素集合放至目标空间中。被引进元素的名称称为目标命名空间的一部分,被引进元素的限定名称基于元素在目标命名空间中的位置。因此,在已指定目标命名空间的图中显示时,不需要限定名称了

包引进package import:源包所有模型元素均被引进至目标命名空间
元素引进element import:应用于单个元素,无需引入包内全部元素且引进可能带来混淆的情况下可以采用

引进而导致目标命名空间的两个或多个模型元素拥有相同的名称,会引起名称冲突。元素引进有一个别名区域,可用于提供该模型元素的另一个名称。

名称冲突规则:

  1. 如果被引进元素名称与目标空间的子元素冲突,则不会引进该元素,除非应用别名来提供唯一名称
  2. 如果两个或多个引入元素名称冲突,则任何一个都不能引入目标命名空间

命名空间的元素通过直接包容关系或引进关系确定,都为成员member。成员具有可视性visibility,默认为公开。成员的可视性确定了其是否能被引进至另一命名空间。

引进关系用虚线箭头表示,并标注关键词《import》。箭头端指向被引入的源,箭头尾部指向引入的目标命名空间。当元素作为目标空间的私有成员引进时,用关键词《access》替代《import》
pkg import
package私有引进的时候操作的时候选import,Visibility选private就变成《access》了
element引进,有重名可以正常引进,没有显示错误,可以通过属性Alias进行新命名

目前还不知道在哪设置block可视性

Visibility representation
In SysML, properties and operations of the Block are public.
Visibility representation literals, like +, #, ~, -, are not displayed in the Containment tree or in the element symbol on a diagram.

书上通过创建P3的pkg然后可以看到如下:

NewC、C、B正常的block
P2:F、Child of P2::E、Model::P1::A

但是我在实际操作中,不知道如何呈现,都是正常显示-。-,可能是SysML语言的更新或者是CSM的更新原因。

可封装元素间的依赖关系表示

依赖dependency的通用类型:

  • 应用use:表示客户端将使用供应端作为其定义的一部分。
  • 精化refine:表示客户端相较于供应端规范增加了细节,如在部件定义中包括了更详细的物理和性能特性。通常用于需求分析
  • 实现realization:客户端实现了供应端中所描述的规则,如一个实施包实现了设计包时。
  • 跟踪trace:存在联系,但并未施加更为明确的精确关系语义约束。通常用于需求分析
  • 分配allocate:某个模型元素被分配至另一个元素。十四章描述

依赖关系用虚线带开放的箭头表示,由客户端指向供应端
dependencies
我反正是一个dependency的类型都打不出来,显示stereotype不存在,不知道是不是已经不注重区分了

总结

  1. 包概念、层级构建
  2. 包是成员元素的命名空间,唯一识别单个成员
  3. 限定名称,表示路径
  4. 引进的机制
  5. 包依赖关系

相关文章:

第六章 包图组织模型|系统建模语言SysML实用指南学习

仅供个人学习记录 概述 包是容器的一个例子。包中的模型元素称为可封装元素,这些元素可以是包、用例和活动。由于包本身也是可封装元素,因此可以支持包层级。 每个有名称的模型元素也必须是命名空间的一份子,命名空间使得每个元素均能够通过…...

使用 Rust 进行程序

首先,我们需要安装必要的库。在终端中运行以下命令来安装 scraper 和 reqwest 库: rust cargo install scraper reqwest 然后,我们可以开始编写程序。以下是一个基本的爬虫程序,用于爬取 上的图片: rust use reqwe…...

第10章 增长和扩展你的 Micro SaaS 应用程序

接下来,我们进入真正增长 Micro SaaS 应用用户群和订阅收入的激动人心的话题。 即使在增长阶段,你也不能忽视客户满意度,确保你与时俱进,在路线图上添加你承诺的功能,然后通过 SaaS 营销吸引更多用户。 也就是说,让我们来看看增长您的 Micro SaaS 应用程序的关键战略要…...

第八章《搞懂算法:逻辑回归是怎么回事》笔记

8.1 如何理解逻辑回归 逻辑回归根据给定的自变量数据集来估计事件的发生概率,由于结果是一个概率,因此因变量的范围在 0 和 1 之间。 逻辑回归的与线性回归一样,也是以线性函数为基础的;而与线性回归不同的是,逻辑回…...

【WinForm详细教程八】WinForm中的TreeView控件

文章目录 TreeView 基本的知识属性方法事件 TreeView 案例演示案例一:案例二: TreeView 控件 用于展示分层数据,它以树形结构展示信息,每个节点可以有一个或多个子节点。TreeView 控件允许用户以可展开和可折叠的形式查看复杂的层…...

〔003〕虚幻 UE5 基础教程和蓝图入门

✨ 目录 🎈 新建项目🎈 快捷操作🎈 镜头移动速度🎈 新建蓝图关卡🎈 打印字符串🎈 蓝图的快捷键🎈 场景中放置物体🎈 通过蓝图改变物体位置🎈 展现物体运动轨迹&#x1f3…...

如何像优秀测试人员那样思考?

优秀测试和普通测试之间的差别在于测试人员如何思考:测试人员的测试设计选择,解释所观察到的能力,以及非常令人信服地分析描述这些现象的能力。 然而,在实际工作中,我们更多的看到了测试人员在电脑前点点点&#xff0…...

NOIP2023模拟13联测34 A. origenNOIP2023模拟13联测34 A. origen

NOIP2023模拟13联测34 A. origen 文章目录 NOIP2023模拟13联测34 A. origen题目大意思路code 题目大意 给定 n n n 个整数 a 1 , a 2 , a 3 ⋯ a n a_1,a_2,a_3\cdots a_n a1​,a2​,a3​⋯an​ ,求 ∑ i 1 n ∑ j i n ( ⊕ k i j a k ) 2 m o d 998244353 \…...

HttpClient学习(Java)

一、介绍 HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 我们可以通过这个HttpClient工具,在java代码中去构造和发送ht…...

信息系统项目管理师之各工具的定义及解释

数据收集技术 用于从各种渠道收集数据与信息。 数据分析技术 用于组织评估和评价数据与信息。 数据表现技术 用于显示用来传递数据和信息的图形方式或其他方法。 决策技术 用于从不同备选方案选择行动方案。 沟通技巧 用于在干系人之间传递信息。 人际关系与团队技能…...

golang的defer执行时机案例分析

package main import "fmt"func calcFunc(x int, y int) int {return x y }func main() {// defer语句的执行顺序是,从右到左,逆序执行deferDemo()// deferDemo1函数demo1 : deferDemo1()fmt.Println(demo1) // 0// deferDemo2函数demo2 : deferDemo2()f…...

2.HTML中常用浏览器

2.常用浏览器 2.1 什么是浏览器 浏览器是网页显示,运行的平台。常用的浏览器有IE,火狐,谷歌,Safari和Opera等 平时成为五大浏览器 2.2 浏览器内核 浏览器内核(渲染引擎):负责读取网页内容&…...

Vue 监听store数据变化

天冷了,手也冷了,于学问于个人成长不能因为冷而荒废。毕业这么多年,只能感慨。这样努力的工作只是解决了温保问题,何时才能任性的过一回说走就走的自由生活? 大抵这样的梦想也就只能停留在梦里与期待中吧,与…...

智能交通和自动驾驶技术

一、定义 智能交通和自动驾驶技术是指利用先进的信息技术和人工智能技术,实现交通系统的智能化和自动化。智能交通和自动驾驶技术不仅可以提高交通系统的效率和安全性,还可以改善人们的出行体验,促进城市可持续发展。 智能交通和自动驾驶技…...

CentOS7安装部署StarRocks

文章目录 CentOS7安装部署StarRocks一、前言1.简介2.环境 二、正文1.StarRocks基础1)架构图2)通讯端口 2.部署服务器3.安装基础环境1)安装JDK 112)修改机器名3)安装GCC4)关闭交换分区(swap&…...

树形Dp 2925. 在树上执行操作以后得到的最大分数

2925. 在树上执行操作以后得到的最大分数 两次DFS class Solution { public:// 节点状态有两种,选和不选,// dp(u, fa, 0) 不选u 节点,其他节点都可以选,值为以u为根的子树的所有节点的和- 根节点的值。// dp(u, fa, 1) 选u节点&…...

选择企业云盘?品牌推荐和评价解析

企业云盘是如今热门的企业协作工具,为企业提供了文件存储、文件共享服务。市面上的企业云盘千千万,到底哪个企业云盘好用?哪些品牌值得信赖呢? 好用的企业云盘,不能不提,Zoho Workdrive企业云盘为企业提供…...

redis: 记录一次线上redis内存占用过大问题解决过程

引言 记录一次线上redis占用过大的排查过程,供后续参考 问题背景 测试同事突然反馈测试环境的web系统无法登陆,同时发现其他子系统也存在各类使用问题 排查过程 1、因为首先反馈的是测试环境系统无法登陆,于是首先去查看了登陆功能的报错…...

数据资产、数字资产、数据资源及数据资产入表

数据要素 《中共中央关于坚持和完善中国特色社会主义制度推进国家治理体系和治理能力现代化若干重大的决议》(2019) 首次将数据列为生产要素 《关于构建更加完善的要素市场化配置体制机制的意见》(2020.3) 数据成为土地、劳动力、…...

Docker之Centos安装

介绍 Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的, 而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的。 在很多版本的CentOS中是不支持更新最新的一些补丁包的。由于我们学习的环境都使用的是CentOS,因此这里我们将Do…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

dify打造数据可视化图表

一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...