Architecture 如何基于微服务架构绘制用例图?

Architecture 如何基于微服务架构绘制用例图?,architecture,microservices,uml,use-case,Architecture,Microservices,Uml,Use Case,我想开发一个基于微服务架构的web应用程序,所以我画了一个用例图来描述系统的功能需求,但我不确定它是否正确 我的系统有三个微服务。第一个叫做“商店服务”,这是一个主要的服务,负责在网上商店发生的一切:查看产品目录,将产品添加到购物车,填写订单信息。在我的图表上,它被表示为一个矩形,所有的业务流程(功能)都发生在它里面 第二个是银行服务,负责使用客户的银行账户付款 第三种是邮政服务,负责向客户发送订单,以便能够接收订单 我有六个演员。我还把它们分为初级和次级。左边的主要部分开始使用该系统,另一方面

我想开发一个基于微服务架构的web应用程序,所以我画了一个用例图来描述系统的功能需求,但我不确定它是否正确

我的系统有三个微服务。第一个叫做“商店服务”,这是一个主要的服务,负责在网上商店发生的一切:查看产品目录,将产品添加到购物车,填写订单信息。在我的图表上,它被表示为一个矩形,所有的业务流程(功能)都发生在它里面

第二个是银行服务,负责使用客户的银行账户付款

第三种是邮政服务,负责向客户发送订单,以便能够接收订单

我有六个演员。我还把它们分为初级和次级。左边的主要部分开始使用该系统,另一方面,次要部分则更加反动

你会建议我做些什么来提高系统的可读性,让每个人都能理解?我应该添加或删除一些内容吗?这是我的附图:


我为我在提出当前问题时犯的所有错误道歉。对不起,我的英语也不好。

除了
登录
看起来还可以<代码>登录不是用例(对参与者没有附加值),而是附加到某些需要身份验证的UCs的简单约束

为了对您的微服务进行分组,您可以引入考虑中的反映特定微服务的不同系统。然后,与每个微服务相关的用例将出现在反映特定微服务的边界内

<进一步的通知:UCS只附加到次要演员(出现在右边),我认为他们不是UCS,而是UC中的事件流。UCs旨在显示所考虑的系统为其主要参与者带来的附加值。你这样做只是功能分解。这不是UCs的全部内容


和往常一样,我建议阅读Bittner/Spence关于用例的内容。

非常清楚,并像往常一样给出了很好的建议!然而,我想知道用微服务分解需求是否是一个好主意,因为用微服务分解需求更多的是解决方案和解决方案空间的内部,而不是外部世界和参与者观察到的需求和问题空间(此外,外部世界可能会通过一个API网关,该网关会隐藏关于哪个服务正在做什么的详细信息)。@qwerty_so,谢谢你的回答。据我所知,我应该排除图表上的次要参与者吗?@Christophe我认为微服务是子域。因为它是“微的”问题可能是这是否有意义,因为子域通常将复杂的结构分解为可管理的结构。这可能更像是一个架构问题。@Vladislav否。您应该删除“支付”气泡,并将“银行服务”与“订单”直接连接。如果“支付”如果是独立的UC,则应将其与主要参与者连接。如果不是,则删除它。@qwerty_好的,如果已经确定了“按子域提供服务”的架构模式,并且排除了其他分解策略,则这确实是相关的(请参阅项分解下的内容)