相同的过程,根据pov的不同状态图

时间:2011-08-07 17:15:03

标签: uml state

我想做一个状态图来表示登录的用户。据我所知,可以从两个角度来看:

对象:状态

  • 用户:已登录,未登录(可能已初始化和销毁​​)。
  • 系统:正在等待登录,验证登录,错误,已登录。

这看起来是否正确?还有,像这样的多个状态图真的有必要吗?

1 个答案:

答案 0 :(得分:1)

“必要”取决于您要记录的方面,但我会拒绝。

如果您处于规范阶段(用例详述),我通常建议不要使用状态图表;我发现活动更适合这个目的。在我看来,状态图更适合于设计描述。

这是因为活动专注于流本身,因此从外部角度描述某些东西,而状态图描述了一些内部流程,其中一些定义的实体在不同的状态之间移动。

当你做状态图表时,你必须回答“有什么状态的东西?”的问题。并且“每个州对这件事意味着什么?” (如果您愿意,将“事物”替换为“系统的一部分”。)

在您的情况下,我建议用户(严格来说,用户帐户)具有州,而不是系统。

问题不清楚是什么情况,但如果我们谈论的是典型的操作系统用户帐户,它可能应该有登录,登录,过期和锁定等状态。

如果您特别想要为系统端建模,那么您应该将其分解为较小的部分,例如用户客户端(或终端,或其他)。与上述一致,关键问题是“当用户登录时,(整个)系统的行为是否不同?”并且可能不是。然后,用户客户端而不是整个系统将具有您列出的状态。

但是其他条件相同,我会说描述登录/注销周期的状态图应该关注用户帐户。