软件工程学习记录—数据流图


前言

本文主要记录数据流图部分相关知识点。


一、结构化分析与设计

结构化设计(structured design,SD)是一种软件设计技术,与SD配套的技术是结构化分析(structured analysis,SA)技术,合称为结构化分析与设计方法。

其主要指导思想为抽象与分解,即现实世界中的系统不论表现形式上怎样杂乱无章,总可以通过“分析与归纳”从中找出一些规律,再通过“抽象”构建系统的模型。

二、数据字典

数据字典(data dictionary,DD)处于模型的结构化分析模型的核心,它是系统涉及的各种数据对象的总和。从DD出发可以构建3种图:

  • 实体联系图(entity-relation diagram,E-R图):用于描述数据对象间的关系。
  • 数据流图(data flow diagram,DFD):用于指明系统中的数据是如何流动和变换的,以及描述使数据流进行变换的功能。
  • 状态变换图(status transform diagram,STD):用于指明系统在外部事件的作用下将如何动作,表明系统的各种状态以及状态间的转换。

三、数据流图

(一)DFD的组成及说明

  • 方框表示数据的源点和终点。
  • 圆框代表加工。
  • 双杠或单杠表示数据文件或数据库。
  • 箭头代表数据的流向,数据名称总是标在箭头边上。

注:
1. 数据源点终点与处理之间使用带箭头直线连接
2. 数据表与处理之间使用带箭头曲线连接
3. 单向表示只读或只写,双向表示又读又写
4. 其中每一图形符号都必须标上名字,加工框还应该加上编号,以帮助识别

(二)DFD的性质

与程序流图不同,数据流图用作软件分析阶段的工具,只需考虑软件“做什么”,不必过问“怎么做”,故不应包括控制流、控制结构或激发条件之类的信息。DFD所表现的范围,可大到整个系统,小到一个模块。在需求分析中,常常用一组DFD图由粗到精地表示同一软件在不同抽象级别上的功能模型,并称之为分层数据流图。

四、分层数据流图

分层DFD为结构化分析基本步骤之首,大型复杂的软件系统,其DFD可能含有数百乃至数千个加工,不可能一次将它们画完整。
正确的做法为:从系统基本的功能模型(即把整个系统看成一个加工)开始,逐层地对系统进行分解,直到所有的加工都足够简单为止。这称为“自顶向下、逐步细化”,最终为待开发的系统画出一组分层的数据流图,以代替一张含有系统全部加工的包罗万象的总数据流图。

具体流程示例:
1. 顶层DFD:把整个系统当作一个大的加工,标明系统的输入、输出以及数据的源点与终点(统称为“外部项”)。
2. 第二层DFD:将顶层DFD中的系统分解为两个子系统,需与数据表相联系。
3. 第三层DFD:将第二层DFD的子系统分别地进行细致划分。

五、总结

本文简单介绍了软件结构化分析中关于数据流图的知识点及需注意的地方,通过画分层DFD图,可以获得待开发系统的一组分析模型便于后续的设计与分析。欢迎评论区补充交流。

猜你喜欢

转载自blog.csdn.net/qq_52141227/article/details/125001199
今日推荐