1中华人民共和国国家标准信息处理数据流程图、程序流程图、系统流程图、程序网络图和系统资源图的文件编制符号及约定Informationprocessing-Documentationsymbolsandconventionsfordata,programandsystemflowcharts,programnetworkchartsandSystemresourceschart本标准等同采用国际标准ISO5807-1985《信息处理—数据流程、程序流程图、系统流程图、程序网络图、系统资源图的文件编制符号及约定》。1引言图可广泛用于描绘各种类型的信息处理问题及其解决方法.图的使用并不局限于本标准中所给的示例。在应用中,所确定的内部规则必须满足实际的处理或数据规格说明.本标准中给出一些指导性原则,遵循这些原则可以增强图的可读性,有利于图与正文的交叉引用。图中包含具有确定含义的符号.简单的说明性文字和各种连线.本标准不涉及说明性文字的内容,但每个符号有一个无歧义。有意义的名称,它在整个文件编制中都是一致的.图可以分为洋细程度不同的层次,层次的数目取决于信息处理问题的规模和复杂性.这些详细程度不同的层次应用使得不同部分及各部分间相互关系可作为一个整体来理解。正常情况下,要有一个表明整个系统主要组成部分的图,该图作为层次图形的顶层图.每一较低层都对上一层的一个或几个部分进行详细的描述。2范围和应用领域本标准规定在信息处理文件编制中使用的各种符号,并给出在下列图中使用这些符号的约定:a.数据流程图;b.程序流程图;c.系统流程图;d.程序网络图;e.系统资源图.3引用标准GB5271.1—85数据处理词汇01部分基本术语4术语GB5271.1中的术语以及下述术语适用于本标准.4.1基本符号国家技术监督局1989-07-04批准1990-01-01实施当处理或数据媒体的精确性质或形式未知时,或者当不需要描述实际的媒体时所使用的符号。4.2特定符号GB1526—89ISO5807-19852当处理或数据媒体的精确性质或形式已经知道时,或者当需要描述实际的媒体时所使用的符号。4.3流程图对某一个问题的定义、分析或解法的图形表示,图中用各种符号来表示操作、数据、流向以及装置等。5数据流程图数据流程图表示求解某一问题的数据通路.同时规定了处理的主要阶段和所用的各种数据媒体.数据流程图包括:a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;b.指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;c.指明几个处理和(或)数据媒体之间的数据流的流线符号;d.便于读.写数据流程图的特殊符号.在处理符号的前后都应是数据符号.数据流程图以数据符号开始和结束(除9.4规定的特殊符号外)6程序流程图程序流程图表示程序中的操作顺序.程序流程图包括:a.指明实际处理操作的处理符号,它包括根据逻辑条件确定要执行的路径的符号;b.指明控制流的流线符号;c.便于读.写程序流程图的特殊符号.7系统流程图系统流程图表示系统的操作控制和数据流.系统流程图包括:a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;b.定义要执行的逻辑路径以及指明对数据执行的操作的处理符号;c.指明各处理和(或)数据媒体间数据流的流线符号;d.便于读.写系统流程图的特殊符号.8程序网络图程序网络图表示程序激活路径和程序与相关数据的相互作用.在系统流程图中,一个程序可能在多个控制流中出现;但在程序网络图中,每个程序仅出现一次.程序网络图包括;a.指明数据存在的数据符号;b.指明对数据执行的操作的处理符号;c.表明各处理的激活和处理与数据间流向的流线符号;d.便于读.写程序网络图的特殊符号.9系统资源图系统资源图表示适合于一个问题或一组问题求解的数据单元和处理单元的配置.系统资源图包括:a.表明输入.输出或存储设备的数据符号;b.表示处理器(如中央处理机.通道等)的处理符号;c.表示数据设备和处理器间的数据传输以及处理器之间的控制传送的流线符号;d.便于读.写系统资源图的特殊符号.10符号310.1数据符号10.1.1基本数据符号10.1.1.1数据此符号表示数据,但为规定媒体.10.1.1.2存储数据此符号表示以一种适合于处理的形式表达的存储数据,但未规定媒体.10.1.2特定数据符号10.1.2.1内存储器此符号表示数据,媒体为内存储器。10.1.2.2顺序存取存储器此符号表示只能顺序存取的数据,媒体为磁带.卡式磁带.盒式磁带等.10.1.2.3直接存取存储器此符号表示可直接存取的数据,媒体为磁盘.磁鼓.软磁盘等。10.1.2.4文件此符号表示人可阅读的数据,媒体为打印输出.光学符号识别文件或磁墨水字符阅读文件.缩微胶卷.数据输人表格等。10.1.2.5人工输入此符号表示数据,媒体可以是任意类型的,例如联机键盘.开关装置.按钮.光笔.条形码输入器.在处理过程中,信息以人工方式送入。410.1.2.6卡片此符号表示数据,媒体是卡片,例如穿孔:片.磁卡.标记读出卡.存根卡,标记扫描卡.10.1.2.7穿孔带此符号表示数据,媒体是纸带.10.1.2.8显示此符号表示数据,媒体可以是任意类型的.例如视频屏幕.联机指示器等.在处理过程中,用这些媒体把信息显示出来供人们使用.10.2处理符号10.2.1基本处理符号10.2.1.1处理此符号表示各种处理功能.例如,执行一个或一组确定操作,从而使信息的值.形式或位置发生变化,或者确定几个流向中的某一个流向.10.2.2特定处理符号10.2.2.1既定处理此符号表示一个已命名的处理,它由在别处已详细说u的一个或多个操作或程序步骤所组成.例如子例行程序.模块。10.2.2.2人工操作此符号表示由人来执行的处理.10.2.2.3准备此符号表示对影响随后活动的一条或一组指令的修改.例如设置开关.修改变址寄存器和将一个例行程序初始化.510.2.2.4判断此符号表示判断或开关类型功能.该符号只有一个人口,但可以有若干个可选择的出口,在对符号中定义的条件进行求值后,有一个且仅有一个出口被激活.求值结果可在表示路径的流线附近写出(见11.3.1,2.10.2.2.5并行方式此符号表示同步进行两个或两个以上的并行操作例如:注:在处理A完成后才能进行处理C.D.E;同样处理F要等到处理B.C.D完成以后进行;但是,处理C可以在处理D开始和(或)结束前开始和(或)结束.10.2.2.6循环界限此符号分为两个部分,分别表示循环的开始和结束.在该符号的两个部分中要使用同一标识符.初始.增量和终止量条件按其测试操作位置分别出现在开始符号或结束符号内.例如:FCDEBA循环名终止条件循环名610.3流线符号10.3.1基本流线符号10.3.1.1流线此符号表示数据流或控制流.为了增强可读性,可以在流线上加上箭头;但在必要时,必须加上箭头指示流向(见11.2.1.2).10.3.2特定流线符号10.3.2.1控制转移此符号表示从一个处理到另一个处理的控制的直接转移.有时,在被激活的处理完成了它的动作后,有可能直接返回到激活处理.这种控制转移类型(例如调用.取出.事件)在符号内命名.10.3.2.2通信连接此符号表示通过远程通信线路进行的数据传送.10.3.2.3虚线此符号表示两个或更多符号间的选择关系;也可用来标出被注释区(见10.4.3).例1:若要用多个供选择的输出中的一个作为某个处理的输入,或者用一个输出作几个可选择的处理的输人,则这些符号都要用虚线连接.Prog-1AProgProg-1CBBCCAA终止条件循环名处理处理循环名7例2:将一个输出用虚线连接到后继处理,并作为该后继处理的输人.Prog-4Prog-3Prog-5Prog-1AFFHHGGDD事务新主文卷原主文卷更改EEProg-2810.4特殊符号10.4.1连接符此符号表示转向流程图它处,或自流程图它处转人(11.2.2.2).它用来作为一条流线的断点,使该流线在别处继续下去.对应的连接符应有同一标记.10.4.2端点符此符号表示转向外部环境或从外部环境转人.例如,程序流程的起始或结束.数据的外部使用以及起源(或终点)10.4.3注解符此符号用来标识注解内容.注解符的虚线要连接在相关的符号上或框住一组符号.注解的正文应该靠近边线.9例如:10.4.4省略符在图中若不需要定义符号类型和数目,就用省略符(…)表示对一个符号或一组符合的省略.省略符仅用在流线符号中或流线符号之间/此符号尤其适用于表示重复次数不确定的一般解法的图.例如:数据A数据B处理1处理2注解1注解21011约定11.1符号符号的用途是用图形来标识它所表示的功能,而不考虑符号内的内容.11.1.1图的布局在图中,应对各个符号均匀地分配宇间,连线应保持合理长度,要尽量少使用长线.11.1.2符号的形状在本标准中,大多数符号都被设计成能在符号内列出说u性文字.实际使用各种符号时须参照本标准所给符号的形状,尤其不要改变角度和其它影响符号形状的因素,尽可能统一各种符号的大小.描绘符号的方向是任意选定的,可能的话最好取水平方向.符号形状的镜象表达同样的功能,但建议不予使用.11.1.3符号内的说明性文字应该把理解某个符号的功能所需要的最低限度的说明性文字置于符号内.它们应该按从左至右和自上向下的方式来书写,与流向无关.例如:若说明性文字的篇幅很大而不便放进符号时,可以使用一个注解符.如果使用注解符会干扰或破坏图形流程,应将正文写在另外一页上,并注u引用符号.11.1.4符号标识符这是赋予某个符号的标识符.其作用是便于其它文件(例如程序清单)中引用该符号.符号标识符要写在符号的左上角.例如:11.1.5符号描述符这是一个描述符,它用于交叉引用.表达一个符号的特定用途,或者进一步理解放个图形符号的功能.符号描述待要写在符号的右上角.例如:B移到AC移到BXXX…XYYY…YXXX…XC移到BB移到A11在系统流程图中,一个描绘数据媒体的符号在很多情况下既可以表示输出媒体又可以表示输人媒体.表示输出媒体的符号的流程图说明性文字要写在符号的右上角.表示输人媒体的符号的流程图说明性文字要写在符号的右下角.例如:11.1.6详细表示在处理符号或数据符号中画一横线,表示该符号在同一文件集中其它地方有更详细的表示.加横线的符号可以是任意的,横线加在符号内靠近顶端处.详细表示的标识符写在加横线符号内横线的上方.端点符(见10.4.2)用作详细表示的开始符号和结束符号.在此开始符号中应包含有出现在加横线符号中的标识符.例如:11.2连接的约定11.2.1流线符号流线可以指示数据流或控制流.11.2.1.1标准流向标准流向是从左到右和自上而下.11.2.1.2箭头的使用为了图的清晰,可随时在流线上使用箭头指示流向(例如在交结点处).当流程不遵循11.2.1.1所规定的标准流向时,要使用箭头来指示方向.11.2.1.3流线的交叉应当尽量避免流线的交叉.即使出现流线的交叉,交叉的流线之间也没有任何逻辑关系,不对流向产生任何影响.YYY…YXXX…XXXX…XZZZ…ZZZZ…ZXB4加横线符号XB4开始XB4结束详细表示1211.2.1.4流线的汇集两根或更多的进入线可以汇集为一根输出线.当两根或更多流线汇集为一根流线时,各连接点应相互错开以提高清晰度,并在必要时使用箭头表示流向.11.2.1.5互连一般情况下流线应从符号的左边或顶端进人.从右边或底端离开.它们都应对准符号的中心.11.2.2连接符11.2.2.1为了避免出现流线交叉和使用长线,或者为了将图在另一页上继续,需要用连接符将流线截断.截断开始处的连接符称作出口连接符,截断结束处的连接符称作人曰连接符.11.2.2.2换页引用可以用与连接符相连的一个注解(见10.4.3)表示.例如:11.3特殊约定11.3.1多个出口11.3.1.1一个符号如有多个出口,应按下述两种方法的某一种来表示:a.直接从该符号引出通向其它符号的若干条流线;例如:b.从该符号引出一条流线,