EA帮助里的登录状态机图

七日晴 2020-1-13 11:26

潘老师好,感觉现在做的app的登录功能很混乱,可以用但看代码里的逻辑没有条理,想用状态图画清楚登陆的逻辑,EA帮助里有登录例子,还有登录次数限制条件。您看这个有参考价值吗?

1104.png

UMLChina潘加宇

这个图至少内外分得清楚,整个图只有一个login事件,就凭这一点,已经比网络上大多数的所谓“状态机图”要好多了。

需要修正的地方有

(1)状态机是类的状态机,说“Customer Login的状态机”不合适,可以说“Login_Form的状态机”或“User的状态机”。既然图中提到showDialog之类,应该是界面类的状态机了。

(2)状态是描述类的“形容词”,Login和Fail的命名不合适。

以上是形式问题,以下是内容问题

(3)登录失败次数限制决定的是“允不允许登录”,而不是“在线”“离线”。次数超过限额的话,连验证身份信息的动作都不会发生,更说不上验证是否通过了。

(4)既然涉及到登录次数限制,应该有这个逻辑:验证身份信息通过,某用户登录失败次数应该清零,验证身份信息未通过,某用户登录失败次数+1

(5)状态应该就两个“离线”、“在线”

(6)entry、exit的动作,每个状态都有的,进入该状态必须要显示某些东西,离开就隐藏掉。

(7)到了offline、online状态就只能转到终态,这不合理。

类似下图

1105.png
weixinpanjiayu2