第六章 包图组织模型|系统建模语言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:应用于单个元素,无需引入包内全部元素且引进可能带来混淆的情况下可以采用
引进而导致目标命名空间的两个或多个模型元素拥有相同的名称,会引起名称冲突。元素引进有一个别名区域,可用于提供该模型元素的另一个名称。
名称冲突规则:
- 如果被引进元素名称与目标空间的子元素冲突,则不会引进该元素,除非应用别名来提供唯一名称
- 如果两个或多个引入元素名称冲突,则任何一个都不能引入目标命名空间
命名空间的元素通过直接包容关系或引进关系确定,都为成员member。成员具有可视性visibility,默认为公开。成员的可视性确定了其是否能被引进至另一命名空间。
引进关系用虚线箭头表示,并标注关键词《import》。箭头端指向被引入的源,箭头尾部指向引入的目标命名空间。当元素作为目标空间的私有成员引进时,用关键词《access》替代《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:某个模型元素被分配至另一个元素。十四章描述
依赖关系用虚线带开放的箭头表示,由客户端指向供应端
我反正是一个dependency的类型都打不出来,显示stereotype不存在,不知道是不是已经不注重区分了
总结
- 包概念、层级构建
- 包是成员元素的命名空间,唯一识别单个成员
- 限定名称,表示路径
- 引进的机制
- 包依赖关系
相关文章:

第六章 包图组织模型|系统建模语言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 基础教程和蓝图入门
✨ 目录 🎈 新建项目🎈 快捷操作🎈 镜头移动速度🎈 新建蓝图关卡🎈 打印字符串🎈 蓝图的快捷键🎈 场景中放置物体🎈 通过蓝图改变物体位置🎈 展现物体运动轨迹dz…...

如何像优秀测试人员那样思考?
优秀测试和普通测试之间的差别在于测试人员如何思考:测试人员的测试设计选择,解释所观察到的能力,以及非常令人信服地分析描述这些现象的能力。 然而,在实际工作中,我们更多的看到了测试人员在电脑前点点点࿰…...
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…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...