我试图在我的UML类图上显示两个JPMS模块,以及它们内部的包和类。问题是我不知道要使用什么元素来显示模块。拜托救救我。
发布于 2018-01-15 10:22:02
在中的应用
有包、和组件。
包:参见参考文献1
包是一个名称空间,用于将语义相关并可能发生更改的元素组合在一起。将元素组织成组,为系统模型提供更好的结构是一种通用的机制。
在参考文献2中
几乎所有的UML元素都可以分组到包中。因此,类、对象、用例、组件、节点、节点实例等都可以组织成包,从而使一个真实世界的UML模型所包含的无数元素的组织变得容易管理。
Components:参见参考文献3
组件是一个类,表示具有封装内容的系统的模块部分,其表现形式在其环境中是可替换的。 组件的行为定义为提供的接口和必需的接口(可能通过端口公开)。 组件将作为一种类型的,其一致性由这些提供的和必需的接口(包括它们的静态和动态语义)定义。因此,一个组件只能在两个组件类型一致的情况下才能被另一个组件替代。
Java9中的:
参考资料:“Java 9模块揭示”,Alexandru Jecan,2017年,第5页
模块的特性:
模块的一些特性包括:
:
Java9JPMS模块应该由UML组件显示。我们不能使用UML包来建模Java 9模块。UML包用于建模Java包。我们都知道,Java 9包和模块之间有很大的区别。
发布于 2018-01-15 10:05:59
这取决于您想如何设计您的系统。当您将JMPS模块视为具有定义接口的封闭元素时,组件就是正确的模型元素。也就是说,你应用了封装原理。如果您认为它们是容器,只包含一些元素,并且希望直接使用这些内部元素,那么包就是正确的元素。
发布于 2018-01-15 08:15:29
我认为您必须使用一个包来表示JPMS模块,也许可以用“JPMS模块”来构造它,或者添加更多的含义。听起来不像JPMS模块是类或接口等等,所以我不认为您可以从UML类模型中使用其他任何东西来表示这一点。
https://stackoverflow.com/questions/48258875
复制相似问题