【发布时间】:2016-03-04 16:23:15
【问题描述】:
我对 UML 非常陌生,尤其是用例图。我试图为我的应用程序绘制一个用例图,其中包括一个租户、一个卖家和一个普通用户。我的租客和卖家扩展了普通用户。我在包含和扩展方面遇到问题。例如,当您查看办公空间时,您还可以在页面底部看到对其的评论。以及当租客想要写评论时,他/她必须在查看办公空间页面上这样做。我不确定这是扩展还是包含。如果我的任何箭头方向有误,请纠正我。另外,可以说Renter和Seller包括登录吗?
【问题讨论】:
我对 UML 非常陌生,尤其是用例图。我试图为我的应用程序绘制一个用例图,其中包括一个租户、一个卖家和一个普通用户。我的租客和卖家扩展了普通用户。我在包含和扩展方面遇到问题。例如,当您查看办公空间时,您还可以在页面底部看到对其的评论。以及当租客想要写评论时,他/她必须在查看办公空间页面上这样做。我不确定这是扩展还是包含。如果我的任何箭头方向有误,请纠正我。另外,可以说Renter和Seller包括登录吗?
【问题讨论】:
正如 Jim 所说:I/E 是针对 UC 的,而不是针对 Actor 的。我假设你的意思是泛化,所以两者都继承自 General User。
一些进一步的观察:
<<include>> 依赖项(带有开放箭头)。但如上所述:避免它。只需创建与演员的关联。只需在评论和普通用户之间绘制一个就足够了,因为 Renter 将继承关系。【讨论】:
您通常不应该为登录用例建模,因为它们不会直接帮助用户完成他或她关心的任何事情。
包含和扩展是用例之间的关系,而不是参与者之间的关系。 UML 2.5 规范说:
扩展是:
从扩展用例到扩展用例的关系,指定扩展用例中定义的行为如何以及何时可以插入到扩展用例中定义的行为中。
一个包含是:
Include 关系指定 UseCase 包含在另一个 UseCase 中定义的行为。
演员之间的泛化/专业化关系非常好。这只是一个概括箭头。 (例如,带有空心箭头的实线。)
【讨论】: