1

I am trying to design a Use Case Diagram for an app like Stack Overflow. I have tried to add some basic functionalities in this diagram.

UML Diagram

I want to improve this diagram to include an exhaustive list of all the features of Stack Overflow, but have no idea of how to do so. Also, should there be another actor for Admin who manages user accounts, or not? And if we are asked for Use Cases, should we describe the inner functionalities, preconditions and postconditions of each use case separately?

What if other than these two actors, I decide to add a Mediator actor too, who forwards the problems to the mentor, and when a mentor solves it, it is the responsibility of mediator to mark it solved?

4

2 回答 2

0

如果您想映射 StackOverflow 中的所有用例和参与者,您可以参观并在帮助中心搜索一些已知的问答。

是的,如果你想列出一个详尽的列表,那么你应该包括每个参与者——包括管理员和调解员。但是,我不确定您是否可以弄清楚管理员的用例(或此平台中的其他管理角色),因为您是用户并且不会反映给您。

如果有特定参与者独有的用例,那么您应该将该参与者添加到图表中 - 并使用继承!(当actor b 具有a plus more 的所有情况时,则b 继承a) - 这称为“Actor 的泛化”(您可以谷歌搜索一些示例)。

至于你的其他问题:

请注意,用例图是对用例建模的补充,更像是一个附录。当你在建模时——你解释了很多关于用例的细节(其中一些你已经提到过),例如:主要参与者、范围、用户故事、后置条件、前置条件、触发器、流程等等......实际上有很多模板。你可以在这里查看它们。

您没有直观地描述*任何前置条件或后置条件,但是,您有一些工具可以描述**包含在特定案例中的案例(为了使用功能 Y - 您应该查看功能 X)。或者,哪些情况会扩展其他情况(当您使用功能 X 时,您可以(但不必)使用功能 Y)。

希望它有所帮助:)

于 2019-01-15T14:28:50.997 回答
0

我鼓励您使用建模器而不是手动绘制图表。

我想改进此图表以包含 Stack Overflow 的所有功能的详尽列表

SO 功能的详尽列表当然很长,而且您也会遇到问题,因为肯定有些部分对“标准”用户是隐藏的。您的目标是什么,建模 SO 或将其用作练习?在第二种情况下,没有必要管理所有

Admin 是否应该有另一个角色来管理用户帐户?

当然,他们是管理员或“超级”用户。

如果我们被问到用例,我们是否应该分别描述每个用例的内部功能、前置条件和后置条件?

用例不仅是图中的椭圆,模型也不只是图表列表。是的,每个 UC 都必须有其描述和可能的前置/后置条件等

如果除了这两个演员之外,我还决定添加一个 Mediator 演员怎么办......

不知道有没有调解员,但我对这个负责回答的“导师”感到很惊讶。如果您有他,则将询问和回答的角色分开,因此另一个角色不能是非常一般的用户,但可能必须更具体

您肯定会对 UC登录有很多评论;-)

于 2019-01-15T14:31:42.820 回答