- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 UML 中,似乎没有元素相当于 python 中的模块,或者至少我还没有弄清楚。
python 中的一个模块,由一个 .py 文件表示,有一个 header ,其中指示了导入。它可以包含许多类,所有类都在模块命名空间中,并且可以直接相互对话并可以访问模块导入的包/模块/类。我如何在图表中绘制它?
更新 1:最后,我偶然发现了一个网页,在那里我找到了一些似乎相关的东西......在本网站(http://www.alan-g.me.uk/l2p/tutclass.htm)的“混合类和模块”一章中,作者说:
"...We can represent that graphically in UML in two ways. The logical grouping of the classes can be represented using a Package or we can represent the physical file as a component...."
如果这是正确的,python 中的模块就像 UML 中的组件。我仍在努力弄清楚它是如何工作的(因为在我看来,UML 中的组件与 Python 中的模块不同),以及我可以如何准确地以及在哪个图表中对其进行建模。
更新 2:我正在使用视觉范例社区版(没有代码生成功能)对其进行测试。现在,我能够看到,在 UML 模型中,组件元素具有类似文件夹的行为,如包。当我将鼠标悬停在组件中包含的类上时,我可以看到我想要的效果,即代表自己命名空间的组件。
现在(如果这是建模的正确方法),我可以在哪里指定这个模块应该导入哪些其他包/模块/类?当我在视觉范例中选择一个包时,它为我提供了一个导入包的选项。但是当我选择一个组件时,没有提供导入功能。非常感谢。
最佳答案
请注意,模块概念只是一种在 Python 中提供代码可重用性和组织的方法。 Python 模块与 UML 包和组件之间的链接不是直接的,而是取决于特定模块的角色。
抱歉,我不是用 Python 编程,所以我可能对典型的模块用法有错误的理解(或者我可能会遗漏一些东西)。然而,据我了解文档,您可以将 Python 模块用于两个基本但有点不同的目的。它可能代表一个组件(即系统的一部分)或一个库(即可重用的类集)。
前者在 UML 中有直接表示,即组件。请注意,组件是其拥有的(包括导入的)元素的命名空间。但是,组件还不能作为命名空间导入,它可以导入包(见下文)。
另一方面(对于库),在 UML 中,您有一个包,您可以轻松地使用它来对应该可导入的模块进行建模。包也是一个命名空间,但它可以被任何其他名称规范(例如其他包和组件)导入。当 Package 被导入到某些 Namespece 时,它拥有的元素在导入的 Namespace 中变得可用(有一些限制,请参阅 UML 规范的 7.4.3.3 和 12.2.3.2 以获取更多详细信息)。
导入通常显示在包图中。
所以是的,你的思维方向是好的。
关于python - 什么是 UML 中的(python-)模块的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419075/
我正在为 Apple Watch Extension 设计 UML 图。我应该如何使用 UML 表示主机应用程序? UML 节点还是 UML 组件?请注意,扩展应用程序和 iPhone 应用程序(主机
UML 类图是描述类及其关系的标准图形符号。 是否有标准的文本符号 (DSL) 来描述相同的内容?不要说 XMI 或 EMF;-) 我认为您可以使用 Corba IDL 来做到这一点,并为类使用接口(
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 2年前关闭。 Improve thi
假设我正在设计一个分布式应用程序: 它由一台主机组成,即公司的前端Web服务(CompanyWS)和一台或多台主机,比如三台,即公司的分布式仓库。每个仓库都是一个 Web 服务 (WarehouseW
是否有任何正式方式表明函数参数是可选的? 例如,在这张图片中: 我想通知您可以填充 nodes_clicked 参数或将其留空。 谢谢。 最佳答案 可选参数在 UML 中没有任何处理,因为它只是编译器
UML 序列图中的垂直矩形表示什么? 例如我想知道绿色箭头指向的矩形的含义。这些矩形的高度有什么意义吗? 最佳答案 垂直矩形表示 执行规范 . 执行规范是对象交互的一部分,表示对象在执行某些事件或只是
像下面用 StarUML 绘制的 UML 状态图 (SD) 中是否允许没有直接转换的状态? State1 不直接参与任何转换,所以我怀疑这在 UML 中是否允许/可取。我认为在我的应用程序中,我实际上
我正在使用 Enterprise Architect 制作 UML 类图(并最终用它生成 PHP5 代码)。我可以为类添加属性。对于每个属性,我可以选择一个构造型:DomainCodedValue、F
我阅读了域模型及其重要性,我有以下疑问: 领域模型可以解决什么样的问题?换句话说,对于每个问题,我应该建立一个域模型吗? 据我所知,领域模型使用类图表示。类图和领域模型之间没有区别吗? 我也想了解词汇
首先,我对 UML 还是很陌生;但是,非常感兴趣并且正在尝试尽可能多地了解它。 话虽如此,我正处于被指示组装“上下文图”的情况。我觉得我好像理解什么是上下文图的概念以及如何创建上下文图,所以我觉得我没
我们在学校学习行为状态图的转换具有语法: list of events [guard condition] / list of actions 但是我在 Internet 上找不到任何使用多个事件进行
在维基百科上,我读到关联关系是实例级别的关系,所以我们谈论的是两个类的对象之间的关系。 当我们实际绘制类图时,为什么要在类元素或块而不是对象上使用关联?还有一些类级别的关系,我们再次使用类元素。由于我
我无法理解 UML 中的限定符是什么。 例如,在扫描的页面中,有一个名为 “SharedRegister”,其中包含“state”和“plateNumber”。 为什么不使用一个名为 SharerRe
大多数嵌入式系统应用程序都是用 C 语言编写的,即非 OOP。但是 UML 是为 OO 设计的。所以我的问题是为什么人们提倡和使用 UML 用于嵌入式系统(和实时嵌入式系统)? 最佳答案 UML 不仅
我们如何在 UML 图中显示一个线程被调用并反过来调用其他线程。这看起来更像是一个工作流。是否可以用 UML 表示 最佳答案 Sequence Diagram应该做的工作。 关于uml - 类图中的线
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
我有一个关于 uml 组件图的问题:正如我在 Wikipedia 中看到的那样,可以创建我自己的“组件类型”,如 > , >等等。我以为我只能说>和 > ?!这些条目是刻板印象还是什么?我想对像 or
我知道依赖关系是用条纹箭头描述的,例如: Client ----->----> Server 我发现其他关系(关联、组合、聚合)通常需要多重性,但是,我不确定依赖关系是否需要多重性。我应该在上图的两边
我正在尝试创建 UML 图。例如,我有一个带有方法 a() 的类 A 和扩展 A 并覆盖方法 a() 的类 B。是否有任何标准来指示 UML 中的重写方法? 最佳答案 不,对于覆盖父类上的操作的操作没
假设您有一个更大的汽车配置文件的摘录: 现在我想为汽车定义一些约束,比如这些约束状态之一,如果 attrA是 true ,然后 attrB必须是 false像这样使用 OCL: Context UML
我是一名优秀的程序员,十分优秀!