什么是状态图

系统设计方案是如何落地的

系统实现的过程就是不断抽象的过程,即业务建模,行为建模,系统架构,数据建模的过程,通过四层抽象,将实际业务场景具象化为信息化管理系统(即将场景转化为计算机语言的过程),抽象的具体过程如下:


抽象过程

而状态图又可以决定业务流程的合理性和业务规则的严谨性。(数据库设计包含业务建模、调用逻辑梳理、存储结构设计三个大步骤,具体偏技术,不班门弄斧,感兴趣的可以自行百度)

什么是状态图

状态图是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。

--百度百科

通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外状态转换图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。因此状态转换图提供了行为建模机制

--软件工程导论

状态图的常用图例如下:


常用图例

eg支付单为支付过程中的行为信息聚合实体,简单的支付状态图如下:


支付状态示意

特别是在复杂的业务流程中,抽象聚合操作场景流程,将业务进度抽象为状态的变化,业务规则转化为状态变化规则,梳理出来状态图,直观的看出某个实体的生命周期变化过程。而对于系统使用者,显示的是操作的实体为期望到达的最终结果所要发生的每一步操作(动作)和伴随操作所达到的阶段性成果以及下一步的指引。

eg订单流程:


订单业务流程全景


订单状态图全景

具体设计过程

以在线教育订单为例

1、抽象主要状态,即正序状态

2、根据对象分类并补充细化子状态和异常状态

2.1根据对象分类;同时注意,子流程较长的,增加过程状态;


状态示例1

2.2补充异常状态


状态示例2

3.输出状态图及状态逻辑

对应业务流程检查,看是否需要拆分两个状态图(有可能不同业务线,状态顺序不同);

子状态的起始状态和结束状态与主状态关联;

状态之间可相互转化;与其他状态无转化关系的“状态”去除(感兴趣的可以研究下,在状态设计时,为什么支付状态会有“支付超时”,在设计任务状态时,更倾向于将“超时”加入到SLA中,作为标签,而不是直接作为人物状态)

优化状态文案;

最后一步,补充状态转化逻辑,再次review逻辑,看是否有遗漏状态和逻辑bug


状态说明示例
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、生命周期 一个事物一旦出生,就必然会长大,变异,一旦长大,就面临着衰老,接下来就是消亡了,这个过程就称为一个事...
    ZyBlog阅读 2,708评论 1 11
  • 今晚不耍金箍棒不翻筋斗云不捉拿妖精也不玩什么七十二变 今晚只想接受与我合影那个小朋友的邀请去他家吹吹空调 啃块西...
    自雨自在阅读 1,183评论 35 36
  • 背景 随着memcache和redis的出现,更多人认识到了一致性哈希。 一致性哈希用于解决分布式缓存系统中的数据...
    PENG先森_晓宇阅读 33,421评论 5 21
  • 昨天下午,等小西睡着了,我下去小区附近的超市买菜,靠门口的是生活日用超市,后面才是卖菜的,相比较旁边专门卖菜的,超...
    小XI妈妈阅读 411评论 0 0
  • 这是罗胖儿在2017年的《时间的朋友》跨年演讲上,问现场观众的一个问题。 这貌似是一道选择题,实则是一个思维方式的...
    8e8368635e47阅读 2,458评论 1 1