我想做一个状态图来表示登录的用户。据我所知,可以从两个角度来看:
对象:状态
这看起来是否正确?还有,像这样的多个状态图真的有必要吗?
答案 0 :(得分:1)
“必要”取决于您要记录的方面,但我会拒绝。
如果您处于规范阶段(用例详述),我通常建议不要使用状态图表;我发现活动更适合这个目的。在我看来,状态图更适合于设计描述。
这是因为活动专注于流本身,因此从外部角度描述某些东西,而状态图描述了一些内部流程,其中一些定义的实体在不同的状态之间移动。
当你做状态图表时,你必须回答“有什么状态的东西?”的问题。并且“每个州对这件事意味着什么?” (如果您愿意,将“事物”替换为“系统的一部分”。)
在您的情况下,我建议用户(严格来说,用户帐户)具有州,而不是系统。
问题不清楚是什么情况,但如果我们谈论的是典型的操作系统用户帐户,它可能应该有登录,登录,过期和锁定等状态。
如果您特别想要为系统端建模,那么您应该将其分解为较小的部分,例如用户客户端(或终端,或其他)。与上述一致,关键问题是“当用户登录时,(整个)系统的行为是否不同?”并且可能不是。然后,用户客户端而不是整个系统将具有您列出的状态。
但是其他条件相同,我会说描述登录/注销周期的状态图应该关注用户帐户。