EA包图上嵌套的包位置不对

2024-04-21 09:52
文章标签 位置 嵌套 ea 包图

本文主要是介绍EA包图上嵌套的包位置不对,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Extreme 2024-4-11 11:36

我从工具栏把一个包拖在另一个包里面,可是项目树上两个包的位置并列,拖了几次结果都一样。我的目的是做一个多层级的包图,是不是(EA)不能在图上做?

UMLChina潘加宇

确实是这样,但这里不是EA错了。

像下图,在一个已有的包“操作性”的内部加一个新的包“1-需求”,用EA在包图上操作的话,加的时候有个提示,提示中默认这个包的上一级(可以改)是拥有这张包图的那个包,即“安全域to-be”:

因此在Project Browser文件夹中,两个包在同一层级。

但这两个包的容纳(Containment)关系是已经建立了的。

如果把“1-需求”拖到“操作性”外面,可以看到这两个包之间有一个带圈的十字,嵌套和十字的含义是相同的。

如果在Project Browser中把“1-需求”挪到“操作性”下面,此时图上“1-需求”下面会出现“from 操作性”的说明。在图上把“1-需求”挪回“操作性”内部,同样有“from 操作性”。这是因为“1-需求”此时已经不是直接被包图的所有者“安全域to-be”包含,如下图:

我用当前电脑上的其他工具尝试了类似操作。

(1)Astah(日本出产的工具,有英文界面,但这个刚好是日文的)

加上去之后,图上的包含关系和左侧的树是一致的,如下图:

把里面的“パッケージ2(package2)”拖到“パッケージ1(package1)”外面,可以看到,确实有带圈十字的包含关系:

(2)StarUML

刚加上去的时候,在文件夹上,新加的包Package3和外层的包Package2是并列的。稍微拖动一下Package3,它就很神奇地跳到了Package2下面,如下图:

把Package3拖到Package2外面,如下图,文件夹上的位置也跟着改变为同一层级,两个包之间没有带圈十字关系。也就是说,之前两个包有没有包含关系不知道,但现在肯定是没有的。

这时,从工具栏中选中Containment关系,从Package3画向Package2,随着包含关系的建立,文件夹上Package3的位置挪到了Package2的下面,如下图:

在有包含关系的情况下,在图上把Package3挪回Package2,观察文件夹的变化,再把Package3挪出来,再观察变化,所发生的变化和预期的不一样,这个地方StarUML的逻辑应该乱掉了。

**********

对比此处的操作,Astah默认让文件夹的包含和图上的包含一致(可以不一致),应该更符合心理预期。EA的操作比较特别,StarUML存在逻辑错误。

这篇关于EA包图上嵌套的包位置不对的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922782

相关文章

hdu1254(嵌套bfs,两次bfs)

/*第一次做这种题感觉很有压力,思路还是有点混乱,总是wa,改了好多次才ac的思路:把箱子的移动当做第一层bfs,队列节点要用到当前箱子坐标(x,y),走的次数step,当前人的weizhi(man_x,man_y),要判断人能否将箱子推到某点时要嵌套第二层bfs(人的移动);代码如下:

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

Linux Centos 迁移Mysql 数据位置

转自:http://www.tuicool.com/articles/zmqIn2 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysql5.1 yum 安装的 mysql 服务 查看 mysql 的安装路径 执行查询 SQL show variables like

PDFQFZ高效定制:印章位置、大小随心所欲

前言 在科技编织的快节奏时代,我们不仅追求速度,更追求质量,让每一分努力都转化为生活的甜蜜果实——正是在这样的背景下,一款名为PDFQFZ-PDF的实用软件应运而生,它以其独特的功能和高效的处理能力,在PDF文档处理领域脱颖而出。 它的开发,源自于对现代办公效率提升的迫切需求。在数字化办公日益普及的今天,PDF作为一种跨平台、不易被篡改的文档格式,被广泛应用于合同签署、报告提交、证书打印等各个

Cortex-A7:ARM官方推荐的嵌套中断实现机制

0 参考资料 ARM Cortex-A(armV7)编程手册V4.0.pdf ARM体系结构与编程第2版 1 前言 Cortex-M系列内核MCU中断硬件原生支持嵌套中断,开发者不需要为了实现嵌套中断而进行额外的工作。但在Cortex-A7中,硬件原生是不支持嵌套中断的,这从Cortex-A7中断向量表中仅为外部中断设置了一个中断向量可以看出。本文介绍ARM官方推荐使用的嵌套中断实现机

多个,多层嵌套module,打aar包

参考https://blog.51cto.com/4259297/1699714 1.在要打包的module中下添加fat-aar.gradle文件。(该文件只能在项目个gradle是2.3.3是才可食用) 2.把项目的gradle修改为2.3.3,但是不打包的gradle依然是以前的。 3.由于打包的的gradle和不打包的是不一样的,所以需要在修改gradle的文件中的添加判断标志

Android studio jar包多层嵌套,Add library '__local_aars__:...@jar' to classpath问题

在添加jar包,早app下的build.gradle中的 implementation files('libs/jar包的名字.jar') 修改为 api files('libs/jar包的名字.jar') implementation 单层引用,只引用当前jar包层, api 多层引用,应用当前jar包层,已经jar包引用的jar包层

vue el-dialog嵌套解决无法点击问题

产生原因: 当你在 el-dialog 上嵌套另一个 el-dialog 窗口时,可能会遇到内部对话框无法点击的问题。这通常是由于嵌套对话框的遮罩层(overlay)或其他样式问题造成的。 解决方案: 如果你的 el-dialog 组件支持 append-to-body 属性,你可以将对话框附加到 body 元素上,以避免 z-index 问题。 <template><el-dialo

Xcode 运行项目时候选择模拟器位置处显示My Mac 的处理

1、先关闭Xcode,找到该工程项目目录,找到该项目的*.xcodeproj 文件,然后右键点击选择“显示包内容”; 2、包内容中显示以下三项:project.pbxproj .project.xcworkspace .xcuserdata 接着选择“xcuserdata”这个文件夹,将其整个移到废纸篓,重新打开你的项目,则可使用Simulator; 3、如果上诉方法没有用, 那么找到tar

14,子查询语句嵌套

1.1 查询研发部门的所有员工信息 #步骤1: 查询研发部门的 did SELECT did FROM t_department WHERE dname = '研发部'; #步骤2: 嵌套子查询,查询员工信息 SELECT * FROM t_employee WHERE did = (SELECT did FROM t_department WHERE dname = '研发部');