软件程序流程图使用规范 - Amorphous - 博客园 (cnblogs.com)

目录:

  • 一、程序流程图的作用
  • 二、画流程图常用软件
  • 三、流程图中使用的符号
  • 四、流程图采用的常用符号
  • 五、循环流程图的画法
  • 六、程序流程图的高级用法:
  • 七、基本结构
  • 八、使用约定
  • 九、流线

流程图可以简单地描述一个过程,是对过程、算法、流程的一种图像表示,在技术设计、交流及商业简报等领域有广泛的应用。流程图可分为:数据流程图和作业流程图。

一、程序流程图的作用

  程序流程图的作用程序流程图的作用程序流程图的作用 程序流程图是人们对解决问题的方法、思路或算法的一种描述。

  流程图优点:

  • 采用简单规范的符号,画法简单;

  • 结构清晰,逻辑性强;

  • 便于描述,容易理解。

二、画流程图常用软件

  • Visual Graph是一套非常完善的专业图形系统,专门处理交互图形,在可靠性、兼容性、易用性、扩展性、完备性、容错性等多方面均达到了较高的水平。

  • SmatDraw是世界上最流行的商业绘图软件,可以用来画流程图、甘特图、时间图等不同形式的商业图表。SmartDraw使每个人都能很轻松的绘制具有专业水准的商业图。

  • 亿图图示专家(EDraw Max)是一款基于矢量的绘图工具,包含大量的事例库和模板库。可以很方便的绘制各种专业的业务流程图、组织结构图、商业图表、程序流程图、数据流程图、工程管理图、软件设计图、网络拓扑图等等。

  • Axure主要是用来进行软件原型线框设计的,同时具有流程图功能,特点是非常简洁易用。

  • Office Visio是当今最优秀的绘图软件之一,是微软公司推出的非常传统的免费流程图软件。它有助于IT和商务专业人员轻松地可视化、分析和交流复杂信息。在Microsoft Office Excel 2007、PowerPoint 2007、Word 2007或Outlook 2007中都可以绘制流程图。如PowerPoint在插入选项卡里面的“SmartArt”,选择“流程”、“层次结构”、“循环”或“关系”来绘制流程图。

  • ProcessOn 常用的商业办公制图工具,专业绘制程序流程图,思维导图等。

三、流程图中使用的符号

  流程图是用图的形式将一个过程的步骤表示出来。使用图形表示算法的思路是一种极好的方法,因为一张图胜过千言万语。流程图由包含具有确定含义的符号、简单的说明性文字和各种连线。

  常用的绘制流程图形态和程序的规则:

  • 开始用六角菱型或圆角矩形或椭圆;

  • 矩形方框表示具体活动过程;

  • 菱形框表示决策、审核、判断;

  • 结束终止用椭圆;

  • 平行四边形表示输入输出;

  • 箭头代表工作流方向;

  • 小圆代表按顺序数据的流程;
  • 竖文件框式的一般是表示原定的程序;
  • 两边文件框式的一般是表示留下来的资料数据的存储;

  另外还规定,流程线是从下往上或从右向左时,必须带箭头;除此以外,都可以不画箭头;

  流程线的走向默认都是从上向下或从左向右。符号内的说明文字尽可能简明,通常按从左向右和从上向下方式书写,并与流向无关。

  如果说明文字较多,符号内写不完,可使用注解符。若注解符干扰或影响到图形的流程,应在另外一页正文上注明引用符号。

四、流程图采用的常用符号

五、循环流程图的画法

  1.for循环

  在python中的for循环形式:

1

for 表达式1 :表达式2

  流程图

  2.while循环

  python中的while循环

1

while 条件:循环语句

  流程图

六、程序流程图的高级用法:

  6.1 数据:

  数据:平行四边形表示数据,其中可注明数据名、来源、用途或其它的文字说明。此符号并不限定数据的媒体。

  6.2 处理:
  处理:矩形表示各种处理功能。例如,执行一个或一组特定的操作,从而使信息的值,信息形式或所在位置发生变化,或是确定对某一流向的选择。矩形内可注明处理名或其简要功能。

  6.3 特定处理:

  特定处理:带有双纵边线的矩形表示已命名的特定处理。该处理为在另外地方已得到详细说明的一个操作或一组操作,便如子例行程序,模块。矩形内可注明特定处理名或其简要功能。

  6.4 准备:

  准备:六边形符号表示准备。它表示修改一条指令或一组指令以影响随后的活动。例如,设置开关,修改变址寄存器,初始化例行程序。

  6.5 判断:

  判断:菱形表示判断或开关。菱形内可注明判断的条件。它只有一个入口,但可以有若干个可供选择的出口,在对符号内定义各条件求值后,有一个且仅有一个出口被激活,求值结果可在表示出口路径的流线附近写出。

  6.6 循环界定:
  循环界限:循环界限为去上角矩形或去下角矩形,分别表示循环的开始和循环的结束。一对符号内应注明同一循环标识符。可根据检验终止循环条件在循环的开始还是在循环的末尾,将其条件分别在上界限符内注明(如:当A>B)或在下界限符内注明(如:直到C<D)。
  图例:给出了当终止条件成立时进入循环和直到终止条件成立退出循环的两种不同的表示。

  6.7 连接符:

  连接符:圆表示连接符,用以表明转向流程图的它处,或从流程图它处转入。它是流线的断点。在图内注明某一标识符,表明该流线将在具有相同标识符的另一连接符处继续下去(参看以下关于连接

符使用的约定)

  6.8 端点符:

  端点符:扁圆形表示转向外部环境或从外部环境转入的端点符。例如,程序流程的起始或结束,数据的外部使用起点或终点。

  6.9 注释符:
  注解符:注解符由纵边线和虚线构成,用以标识注解的内容。虚线须连接到被注解的符号或符号组合上。注解的正文应靠近纵边线。
  注释符图例如下:

  6.10 流线:

  流线:直线表示控制流的流线。关于流线上表示流向的箭头,其使用方法见后面的约定。

  6.11 虚线:
  虚线:虚线用于表明被注解的范围或连接被注解部分与注解正文,(参照:6.9 注释符图例)

  6.12 省略符:

  省略符:若流程图中有些部分无需给出符号的具体形式和数量,可用三点构成的省略符。省略符应夹在流线符号之中或流线符号之间。

  省略符图例如下:

  6.13 并行方式:

  并行方式:一对平行线表示同步进行两个或两个以上并行方式的操作。并行方式的示例如下图例,图中在处理A完成后才能进行处理C、D和E。

  同样,处理F要等处理B、C、D完成以后进行。但处理C可以在处理D开始和(或)结束前开始和(或)结束。

七、基本结构

  顺序结构:简单的线性结构,各处理单元按顺序执行

  选择(分支)结构:对某个给定条件进行判断,条件为真或假时分别执行不同框的内容

  循环结构:循环结构有两种基本形态:while型循环和do-while型循环

    a.while型循环:其执行序列为,当条件为真时,反复执行A,一旦条件为假,跳出循环,执行循环紧后的语句

    b.do-while型循环:其执行序列为,首先执行A,再判断条件,条件为真时,一直循环执行A,一旦条件为假,结束循环,执行循环紧后的下一条语句

  注意:
    1.在循环体内,必须要对条件要判断的值进行修改,使得经过有限次循环后,循环一定能结束

    2.当型循环中循环体可能一次都不执行,而直到型循环则至少执行一次循环体

    3.直到型循环可以很方便的转化为当型循环,而当型循环不一定能转化为直到型循环

  

八、使用约定

  8.1 符号标识符:

  为符号规定标识符是为了便于其它文件引用该符号。便如,程序清单中引用到流程图中的特定符号。符号标识符一般写在符号的左上角。

  符号标识符图例:

 

  8.2 符号描述符:

  为便于进一步理解符号的功能,可标注符号描述符。通常描述符写在符号的右上角。

  符号描述符图例:

  8.3 详细描述:

  在处理符号或数据符号中画一横线,表明该符号在同一文件集中的其它地言有更为详细的表示。横线在符号内靠近项端,详细表示的标识符写在符号内横线之上,见下图(a)。端点符用作详细表示的开始符号和结束符号,在此符号中应给出加横线符号中的标识符,见下图(b)。

  

九、流线

  9.1 标准流向与箭头的使用:
  流线的标准流向是从左到右和从上到下。沿标准流向的流线可不用箭头指示流向,但沿非标准流向的流线应用箭头指示方向。

  9.2 流线的交叉:

  应当尽量避免流线的交叉。即使出现流线的交叉,交叉的流线之间也没有任何逻辑关系,并不对流向产生任何影响

  流线交叉图例:

  

  9.3 流线的汇集:

  两条或多条进入线可以汇集成一条输出线,此时各连接点应要互错工以提高清晰度,并用箭头表示流向。

  流线汇集图例:

  

  9.4 符号流线进出:

  一般情况下,流线应从符号的左边或项端进入,并从右边或底端离开。其进出点均应对准符号的中心。

  9.5 连接符:

  为避免出现流线交叉和使用长线,或某个流程图能在另一页上延续,可用连接符将流线截断。截断始端的连接符称为出口连接符,载断末端的连接符称为入口连接符。两连接符中用同一标识符。
换页截断可用与连接符相连的注解符表示,如下图例。

  

  9.6 多出口判断的两种表示方法:

  直接从判断符号引出多条流线,如图(a)所示:

  从判断符号引入流线,再从它引出多条流线,如图(b)所示:

  

  9.7 多出口判断出口处标出条件值:

  多出口判断的每个出口都应标有相应的条件值,用以反映它所引出的逻辑路径,如图下图例所示。

  

软件程序流程图使用规范相关推荐

  1. python学习笔记(装饰器、迭代器生成器、内置函数、软件目录开发规范)

    装饰器 定义:本质是函数,(功能:装饰其他函数):就是为其他函数添加附加功能 模拟场景一,在现有的函数中增加某个功能.现有的做法是定义新函数,并且加入函数中.需要修改源代码. def logger() ...

  2. 一文看懂软件测试方法和规范

    软件测试方法是指测试软件的方法.随着软件测试技术的不断发展,测试方法也越来越多样化,针对性更强:选择合适的软件测试方法可以让我们事半功倍.本文主要介绍的是软件测试方法和规范,跟随小编一起来了解一下具体 ...

  3. python软件开发目录_软件开发目录规范

    为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要.软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为foo,笔者推荐目录结构如下 Foo/ |- ...

  4. 编程语言之常用的编译器和软件的版本规范

    编程语言之常用的编译器和软件的版本规范 数据库篇: MySQL 软件 5.7.18-log 版本 msi安装版 (其他版本暂时不考虑) Sql Server 2014 iso 镜像版本 微软官网安装包 ...

  5. 软件工程软件开发成本度量规范_软件开发成本度量方法

    软件成本度量一直都是软件行业的一个痛点问题.软件度量一度乱象丛生.拍脑袋的定价方式曾大行其道.软件成本度量的乱象直接导致了软件价格的诸多问题.比如预算费用存在浪费或不足的现象,招标存在投标额过低过高等 ...

  6. 模块简介/模块的导入/模块的查找顺序/绝对导入和相对导入/软件开发目录规范...

    一.模块的简介 什么是模块: 模块就是一系列功能的结合体 模块的三种来源: 1.内置的 2.第三方的 3.自定义的 模块的四种表现形式: 1.使用python编写的py文件(也就意味着py文件也可以称 ...

  7. 7.16模块及软件开发目录规范

    模块 1.什么是模块? 就是一系列功能的结合体 2.模块的三种来源 (1)内置的(python解释器自带) (2)第三方的(别人写的) (3)自定义的(你自己写的) 3.模块的四种表现 (1)使用py ...

  8. python安装目录结构_python软件目录结构规范

    软件目录结构规范 软件开发规范 一.为什么要设计好目录结构? 1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的 ...

  9. 百万年薪python之路 -- 软件的开发规范

    一. 软件的开发规范 什么是开发规范?为什么要有开发规范呢? 你现在包括之前写的一些程序,所谓的'项目',都是在一个py文件下完成的,代码量撑死也就几百行,你认为没问题,挺好.但是真正的后端开发的项目 ...

最新文章

  1. 不追逐标准化产品,360数科的一站式风控体系有何不同?
  2. 实现无线AP无缝漫游
  3. django 文档生成器
  4. 一步一步asp.net_页面静态化管理
  5. ORACLE逻辑DATAGUARD创建表
  6. Linux---进程调度相关命令解析
  7. python求解不等式组_解线性方程组和线性不等式组
  8. oracle dg snapshot,Oracle Broker Snapshot Standby测试
  9. 小程序中view的自定义属性获取
  10. Kotlin入门(15)独门秘笈之特殊类
  11. MySQL 性能优化的 9 种方式
  12. swagger怎么看接口数量_vue编写的功能强大的swagger-ui
  13. 今天心情好,一起探讨下《送给大家的200兆SVN代码服务器》怎么管理我们的VS代码?...
  14. OC第七节——内存管理
  15. Cisco Guard BGP流量牵引配置
  16. (转)24种设计模式大全
  17. android 天气类应用,一周天气预报!7款另类Android天气应用
  18. 标准差 php,标准偏差怎么算
  19. 前公司未支付竞业限制补偿金,如何起诉?
  20. html5中正则表达式怎么加,HTML5中的字母正则表达式(Alphabetic Regex in HTML5)

热门文章

  1. DefaultCPUAllocator: not enough memory: you tried to allocate
  2. import.meta.env.PROD部分错觉
  3. 排序:希尔排序(C)
  4. 如何运营公众号小程序
  5. MY LUCKY DAY
  6. 比原链社区项目一览(持续更新)
  7. hihocoder java_HihoCoder - 1110(示例代码)
  8. 诺诺SEO软件包:集文章伪原创、百度网址URL下拉框采集、指数、权重、收录批量查询功能
  9. 基于计算的蛋白质复合物预测方法综述
  10. ava远程服务器,使用visualvm观察远程服务器某个JVM运行数据