目前,我很难创建一个应该表示某种类型的组件/接口依赖关系的组件关系图,并希望您能给我一些提示。作为背景,几周前我才开始学习UML和软件工程,所以我假设我只是有一个思维障碍和/或做一些比需要复杂的事情。
假设我有一个“虚拟”组件服务。在这个组件中,我希望收集和建模我的系统可能提供的所有服务。接下来,我有一个组件管理(在这个级别上),它可以使用(因此依赖)服务提供的任何服务。最后但并非最不重要的是,有一个组件用户可能只使用一个已知的特定服务。这是否由附加的组件关系图正确地表示?如果没有,如何适当地代表它?您是否只需指出用户也依赖于服务端口,并在不同的关系图中建模conrete接口依赖项?从Admin到Services端口的依赖关系是向“虚拟”服务接口显示依赖关系的正确方式,还是只显示对服务组件的依赖关系更好?
谢谢你的帮助和耐心
丹尼尔

发布于 2018-09-03 18:10:49
首先,您的图表看起来很好,并且很好地记录了您的体系结构。然而,如果以UML的字母,有一些方面需要澄清。
您的图表显示Service是一个子系统/组件,它本身由UserService、Service1、Service2组成。这将与“虚拟”一词相一致,该术语表明Service是将组件组合成更大的东西的心理分组。
然而,“虚拟”一词模棱两可。Service是否可能是一个真正的组件,它提供虚拟服务,并充当外部世界的立面或API网关?在这种情况下,应该将其表示为单独的组件。
在内部方面,委托连接器表明Service端口是一个复杂的端口,提供了3个不同的接口。
但是,在外部,单个UserService棒棒糖表示端口是一个简单的端口,只提供该服务。这至少是UML2.5标准在图11.3中使用端口的部件和角色,以及图11.4中用于连接部件和角色的替代符号。
以下解决办法可以消除这一矛盾:
UserService棒棒糖:然后您会看到User组件依赖于服务(它提供了几个接口),但是User的USerService套接字显示它只需要该服务。从那里,读者可以推断,它可能不使用其他接口,因为它不知道它们。Service使用不同的UserService端口:用户将只连接到该端口,而Admin将连接到两个端口。Service端口,以明确它是一个复杂的端口,即使用户只使用其中一个特定的端口,也可以使用一个艺术消除歧义。https://softwareengineering.stackexchange.com/questions/377836
复制相似问题