兰州交通大学函授《软件工程》学习课程-数据流图

院校:兰州交通大学继续教育 发布时间:2021-04-24 11:35:19

    数据流图

    一个基于计算机信息处理系统的逻辑模型由数据流和一系列数据转换构成,这些转换将输入数据变换为输出数据。数据流图就是用来刻画数据流和数据转换的信息系统建模技术。数据流图并不足以完整地描述软件的需求,因为它没有描述数据流的内容。一般地,数据流图必须与描述并组织数据条目的数据字典配合使用。

    数据流图用来描绘软件系统逻辑模型的图形工具,用于描绘信息在系统中流动和处理的情况。数据流图相对来说比较简单,即使不是计算机专业技术人员也很容易理解,数据流图是软件设计人员和用户之间极好的通信工具。与程序流程图(常用的软件详细设计工具,将在第3章介绍)不同,DFD不能表示程序的控制结构,例如选择或循环结构等。

    设计DFD只需要考虑软件系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,即只考虑软件“做什么”,而不必考虑“怎么做”。因此数据流图往往在软件生存周期的早期(可行性研究阶段)就进行设计。在软件生存周期的以后几个阶段(需求分析、系统概要设计和详细设计等)不断改进、完善和细化。

    1.数据流图的图形符号

    数据流指沿箭头方向传送数据。在加工之间传输的数据-般是被命名标注的,连接数据存储文件和加工的数据流因所连接的是已命名的加工和已命名的文件,其含意已很清楚,这时可以不用命名。但要注意同一数据流图上不能有两个数据流同名。多个数据流可以指向一个加工,也可从某个加工派发出多个数据流。

    加工以数据结构或数据内容为加工对象,表示要进行什么样的处理。加工的名字常为一个及物动词和一个名词,因而简明扼要地表明了完成的是什么加工。

    数据存储文件在数据流图中起着保存数据的作用,所以被称为数据存储。它可以是数据库、文件或任何其他形式。指向存储的数据流可理解为数据写入,从存储引出的数据流可理解为数据读出。

    数据源点或终点表示图中所出现数据的始发点或终止点,表示图中要处理的数据来源或处理结果要送往何处。由于它在图中仅仅是一种符 号,并不需要以软件的形式进行设计和实现。因而原则上讲它不属于数据流图的核心部分,只是数据流图的外围环境部分。在实际问题中它可能是人员、计算机外部设备或传感器。

    2.使用数据流图的注意事项

    在使用数据流图时,要注意以下几点:

    (1)数据处理不一定是一个程序。处理框可以代表单个程序或一个程序模块,也可以是多个处理过程。

    (2)一个数据存储不一定是一个文件。它可以表示一个文件或数据项,数据可以存储在任何介质上,包括人脑。

    (3)数据存储和数据流都是数据,而它们所处的状态不同,数据存储是静止状态的数据,数据流是运动状态的数据。

    (4)同一数据流图中,加工的个数不要太多。调查研究表明,如果张数据流图中包含的处理多于5-9个时,人们就往往难以理解它的含义,此时数据流图应该分层绘制。通过把复杂的功能分解为子功能来细化数据流图,因而数据流图可分为上层总体数据流图和多张细化的分层数据流图。

    (5)数据流图细化原则。如果数据流图过于复杂,可以画出分层数据流图。但数据流图分层细化时必须保持信息的连续性,即细化前后对应功能的输入/输出数据必须相同。数据流图可以分为多层,直到最低层数据流图能直接写出代码,就不需要再细化了。