为了描述复杂的软件系统的信息流向和加工,我们可以采用分层的数据流程图(DFD)来表示。分层的数据流程图有顶层、中间层和底层。
顶层:决定系统的范围,决定输入输出数据流,它说明系统的边界,把整个系统的功能抽象为一个加工,顶层的数据流程图只有一张。
中间层:顶层之下是若干中间层,某一中间层既是它上一层加工的分解结果,又是它下一层若干加工的抽象,即可以进一步分解。
底层:若一张数据流程图不能继续分解,那就是最底层的了。底层的数据流程图的加工是由基本加工构成的。
数据流程图的基本成分:外部实体、处理过程、数据流、文件
外部实体:指系统以外又和系统有联系的人或事物,它说明了数据的外部来源和去处。用圆表示。
处理过程:对数据逻辑处理。用带圆角的长方形表示。
数据流:指处理功能的输入或输出,用来表示一中间数据流值,但不能用来改变数据值。用水平箭头表示。
文件:指数据保存的地方,用来存储数据。用一个右边开口的长方条表示。
数据流程图和程序流程图都是对系统的功能描述,不同的是数据流程图是逻辑描述,而程序流程图是物理描述。但它们都描述了系统把输入数据转换为输出数据的转换功能。这是其共同点。
要把数据流程图转换成程序流程图,我们首先要确认数据流程图的类型:变换型、事务型、复合型。
变换型数据流程图转换成程序流程图:关键是确定转换中心。
1、 找出逻辑输入、逻辑输出,确定输入、变换中心和输出三大部分。
2、 设计顶层模块。把输入、变换中心和输出连到顶层模块下作为第二级模块。
3、 其它加工以数据流连线为据自然下垂,作为下级模块。
4、 标注模块名、数据流名、控制流名、调用关系等。
事务型数据流图转换成程序流图:关键是确定事务中心。
1、 找出事务中心。
2、 设计顶层模块。
3、 其它加工以数据流连线为据自然下垂,作为下级模块。
4、 标注模块名、数据流名、控制流名、调用关系等。
复合型数据流图是有变换型和事务型结构混合而成,所以在转变成程序流程图时,应按照以上两种的转换方法即可。
纸上得来终觉浅,绝知此事要躬行!我们不仅要有理论基础,还要自己进行实践……小伙伴们,大家一起动起来吧!