一,体现分模块的思想;
在流程图中,需要体现分模块的思想,不要把所有细节混杂在一起,区分好树干,树枝和树叶的关系,
总流程主要体现树干之间的逻辑,对各个树枝的逻辑单独用另外的流程图来描述,因此,一个大的功能实现点,可能分成多个模块,每个模块对应不同的流程图。
二,分清主流程和旁路流程;
流程图主要体现主流程,所谓主流程就是执行概率最大的流程,把主流程放到中间位置来描述,对旁路流程,也就是执行概率小或者异常的执行线路放到左边(右边)的位置来描述。
三,处理好旁路流程;
旁路逻辑并不是表示不重要,恰恰相反,一个好的流程或者好的方案必须处理好各种异常情况,只有这样才是一个健壮性很强的方案,甚至有时候,这个细节可能决定了项目的成功或者失败。旁路逻辑必须注意解耦,关注异常情况的处理,也需要关注把非必要路径变成必要路径的危险,比如我们假设DB正常的情况下,主流程是跑一条,旁路流程是另外一条,这种假设的前提是DB正常的概率很大,异常的概率很低,但现在的情况是:一旦DB异常或者挂死,促使系统跑旁路逻辑,那么这种情况下,系统跑旁路逻辑的代价必须充分考虑,是否说DB异常这个触发点一旦引爆,系统就一直处于走旁路流程,还是说系统跑一段旁路流程后自动切换到正常流程,具有自动恢复和调整能力?是否具有自动的监控机制?
四,判断条件用正面语,整个主流程下来都是Y,旁路流程都是N
所有判断条件都是用正面的肯定的措词来判断,比如执行DB的结果,判断条件用:执行成功,主流程走Y,旁路流程走N,而不是用下面的判断条件:执行失败,这样Y表示旁路流程了,而N才是主流程。
6965

被折叠的 条评论
为什么被折叠?



