【问题标题】:How to figure out correct interfaces for a component in UML component diagrams?如何在 UML 组件图中找出组件的正确接口?
【发布时间】:2021-11-14 16:25:15
【问题描述】:

我对 UML 组件图接口有疑问。我的系统中有一个搜索组件,它负责从数据库中搜索一些产品并将搜索结果返回给用户。据我了解,我以 3 种不同的方式绘制了搜索组件。我想知道哪种方法是正确的并且在实践中是最好的,以及为什么其他方法不正确。

在这种情况下,我认为搜索组件为 User 等其他组件提供了 Search interface,并且他们使用该 Search interface 进行搜索。此外,用户通过 interface 传递搜索参数,并通过 interface 获得结果。

在这种情况下,我认为 Search 组件提供了 Search interfaceUser 使用 interface 来传递搜索参数。它从数据库中获取数据。然后User组件使用Search result interface获取搜索结果。

在这种情况下,我认为Search component 需要搜索参数来搜索某些内容。所以,它需要搜索参数。因此,我添加了Search params required interface。获取数据后,搜索组件会提供该结果。所以,我添加了provide interface,命名为search result

这些是我对这个搜索组件的看法。我不知道哪个是正确的。请说明哪一个是正确的,为什么其他的不正确。

谢谢!!!

【问题讨论】:

    标签: interface components uml component-diagram


    【解决方案1】:

    Lollipops 和套接字不告诉进出什么,而是由谁提供或需要接口定义。因此,简单地说,第一个变体是正确的。 Search 接口提供了一些search(...) 操作,这些操作会产生一些结果。并且数据必须通过Data 接口提供。然后组件的任务就是根据这些接口实现对数据的搜索。

    如果您将“接口”放置在套接字/棒棒糖附近并相应地绘制依赖项/实现,将会对您有所帮助。比如这样:

    【讨论】:

    • 由于lollipop & socket不知道进出什么,我们可以使用Persistence componentpersistence interface从数据库中获取数据到其他组件吗? (其他组件能否通过持久化接口从数据库中获取数据)?i.stack.imgur.com/2ejSL.png
    • @Kasun 当然。不过,左侧的依赖项应该指向相反的方向。另见stackoverflow.com/questions/23456112/…
    猜你喜欢
    • 1970-01-01
    • 2020-07-13
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2014-07-02
    • 2019-05-18
    • 1970-01-01
    相关资源
    最近更新 更多