【问题标题】: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 interface 和 User 使用 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 component的persistence 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
    相关资源
    最近更新 更多