会有不同特权的用户,因此会有很多条件,那么我如何在用例图中建模条件?例如,论坛管理员可以创建帖子或更新帖子,甚至删除帖子,创建线程或更新可用线程,删除线程等。
1 - 我应该为每项任务使用不同的“用例”元素吗?我的意思是为每个任务添加一个椭圆/圆形元素?比如为“创建帖子”创建一个椭圆形,一个用于“更新帖子”的椭圆形,.....
2 - 每个特权都有一个演员是正确的吗?像一个匿名用户,一个登录用户,.....
感谢。
答案 0 :(得分:1)
您不应该在用例图中了解条件,ifs和buts。一组用例旨在提供系统功能的概述,每个用例描述系统与一个或多个参与者之间的交互。你想让这个描述简单明了。
每个用例在某种程度上都应该对演员有意义。对于使用论坛的人来说,创建帖子是一个单独的活动来更新一个(或响应一个)是有道理的,所以这对我来说似乎是一个明智的开始。您不应过分关注此阶段的用例数量。用例数量并没有直接转化为系统复杂性,大量明确定义的用例优于少数大型模糊用例。
下一步是详细说明您的用例,这就是您可以开始讨论条件的地方。细化通常使用活动图来完成,该活动图描述了演员和系统之间的交互如何进行,例如,海报发起帖子;系统检查海报的特权;如果特权不足,系统拒绝发布;等
当然没有对错,但一般来说使用“登录用户”等演员是一个坏主意,事实上你应该避免使用“用户”演员。为什么?因为交互实际上是在系统和人之间,而用户(帐户)是个人权限的系统内表示。
换句话说,如果你发现自己使用的系统实际上是系统中的概念,那么你在某个地方已经走错了路。每个用例都必须涉及系统外部参与者,否则您不会从外部描述系统。
论坛系统的一组更好的演员可能是海报,读者和经理(也可能是系统管理员)。