且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

数据流程图和数据结构是需求分析中不可缺少的一环

更新时间:2022-10-04 17:07:19

数据流程图和数据结构是需求分析中不可缺少的一环

需求分析活动要完成4项任务,分别是:

  • 问题识别
  • 评价和综合
  • 形成规格说明
  • 评审规格说明

这4项任务中,“问题识别”是要识别出用户提出软件需求要解决的问题;“评价和综合”是要评价数据信息的流程和数据结构,对软件功能逐步细化,阐明接口特性,揭示设计约束,并将其综合成一个总的用户问题的解法;“形成规格说明”和“评审规格说明”,顾名思义,这里不再赘述。

这4个任务中,主要的需求分析活动集中在“评价和综合”;而评价数据流程图和数据结构又是“评价和综合”中重要的一环。

首先,建立数据结构有助于发现软件功能的全貌,防止功能遗漏。

典型的数据结构如下图。

数据流程图和数据结构是需求分析中不可缺少的一环

建立这样的结构是一个自顶向下逐层分解的过程。在每一层分解完成时,通过验证分解部分的总和是否覆盖上层院模块的所有功能,就可以有效地避免功能遗漏。如果不建立这样的数据结构,直接开始对功能的逐个描述,就有可能遗漏某个功能而不自知。

其次,建立数据流程图有助于分析软件的内外部接口。

数据流程图是一种描述信息流和变换的图示技术,当数据从输入流动到输出时就要应用这些变换。它的基本形式如下图。

数据流程图和数据结构是需求分析中不可缺少的一环

在数据流程图中,软件元素被描述成为一个带有输入和输出数据的单个泡,而这些输入和输出数据分别由进入的箭头和出去的箭头来表示。这些数据路径同时也表明了软件元素之间的接口。当把整个软件元素及其之间的数据流都用数据流程图表现出来,实际上,软件的内部、外部接口也就表达得很清楚了。

所以,在需求分析的时候先建立数据结构和数据流程图,对于做好功能描述、接口分析会有很大帮助。

在GJB438B的需求规格说明书的内容要求中,并没有数据流程图和数据结构。这样使得一些依据438B标准编写需求规格说明,进行需求分析的软件设计师,只知道按照模版要求,在描述完软件运行状态和方式之后,就开始逐条描述软件功能了。由此就可能带来前面所说的遗漏需求等问题。要避免这样的问题,又要符合438B模版的要求,做法很简单,就是在“1.2系统概述”中增加数据流程图和数据结构。因为“系统概述”的内容是介绍系统和软件的用途,而数据流程图和数据结构所展现的软件的总体功能、数据信息,就是软件的总体介绍,与这一章节的内容很契合。


本文作者:王小双

来源:51CTO