是否允许绘制带有类和系统作为生命线的序列图。
例如:
我想用序列图为域逻辑的一部分建模。我可以将生命线模型化为一个类,一次作为一个整体系统(远程系统或整个层/ jar文件)吗?
示例1:
是否有类调度程序调用调用FileServer的FileDownloader类?所以我有"调度程序" (类)" FileDownloader" (Class)和" FileServer"(远程系统)作为生命线。
示例-2:
或者我有一个名为Scheduler的类,它调用" AccountingService"它调用了"持久层"它调用"数据库" 所以我有"调度程序" (Class)" AccountingService"(Class)" PersistenceyLayer" (整个图层或.jar文件)和"数据库" (系统)。
是否允许在序列图中混合使用它们。在关于序列图的一些描述中,只会建模调用调用系统的类或系统的类。
感谢。
答案 0 :(得分:0)
“系统”是什么意思?在UML中没有系统的定义。您可能将System视为Class或Component的名称,还是刻板印象?如果是,你可以混合它。 Jar文件是神器。神器也是分类器。如果工件在内部或通信结构中起作用,它也可以由生命线表示。
生命线代表参与互动的特定类型的实例。引用类型可以是来自具有交互的分类器的任何可连接元素(序列图,例如类,组件或其他类型的分类器)。 要了解有关UML的更多信息,我建议您阅读UML上层结构规范文档。 从omg UML Superstructure
免费下载答案 1 :(得分:0)
生命线通常代表一个角色(它可以是你所谓的 system 甚至是人类)或对象。注意,不是类,而是它的实例!生命线代表任何有某种行为的东西。类主要描述的不是他们自己的行为,而是他们实例的行为。只有在对静态字段和函数进行建模时,您才会将类作为时间轴。或者当你使用JS或类似的语言时,你的课程实际上是原型
因此,混合大小对象,组件或角色是绝对可以的。它是标准UML用法的一部分。但是,如果您正在为#34;传统"建模,请不要混合实例和类。语言!你确定它是 class " Sheduler"调用某个东西,而不是这个类的实例myBestSheduler?
答案 2 :(得分:0)
在序列图中,显示一个类意味着“当我创建此类的实例/对象时,会发生此活动”。
以及与您的程序交互的其他外部内容,例如用户(“演员”),共享库/ DLL,Web服务,操作系统,网络等......
...被视为对象(“类的实例”)。
序列图由几个对象组成,每个对象都有自己的“生命线”或“时间线”,它们之间相互作用,(几条“生命线”)。