最近工作中,发现N多同事在对流程图的问题上有着两类明显的错误认识:
一类是,觉着流程图没用。
一类是,知道流程图有用,但是画不对,画不好。
在这里,苦李结合几年的工作经验,浅谈一下自己对流程图的认识。
复杂问题、复杂系统的根本解决之道,归根结底就是两个字:分解。
对问题的分析、分解过程,借助图形化的表达,可以达到“一图胜千言”的效果,于人于己好处多多。
图形表达的过程,即是建模的过程。
所谓模型,就是对复杂问题进行分析、解构后的结构化、逻辑化、专业化的表达和描述,是对复杂问题的专业合理简化的结果。
通过对系统需求的梳理、分析、分解和重新归纳、综合,最终形成的、能够反映软件系统设计和实现的图形表达和描述,就是软件设计模型。
流程图即是其中一种,也是较为传统的一种。
更高级的表达方式,可以参考UML:类图、序列图、用例图等,所表达的就是软件设计不同阶段、不同视角对同一个问题的描述和理解。
所以,流程图制作的关键,不是在于熟悉和熟练使用几种图形元素,而更在于,真正理解“模型”这个词的意思和意义,通过合理的过程定义和图形使用,反映出业务逻辑的处理过程和实现上的逻辑划分。
对流程图的制作和图形元素做出规范性要求,其意义等同于编码规范,是为了团队协作中更高效的理解和沟通,减少不必要的沟通障碍和成本。当然,也希望通过规范化的要求,对不熟悉流程图及其制作的同学,起到一定的指导作用。
原文:
程序员为什么需要画流程图? - 李苦李www.likuli.com