需求分析 | 结构化分析模型(数据流图、数据字典、处理说明)

软件工程学中很重要的一块就是软件开发方法学,包括结构化方法、原型法、面向对象法、敏捷开发方法等。今天我们聚焦于通过结构化方法中的结构化分析模型去进行系统的分析!

一、结构化分析模型介绍

就软件需求分析而言,结构化分析就是系统化地使用标准术语,给出该问题的模型(即:系统必须做什么的一个估算)。

二、基本术语/名词介绍

  • 数据流:代表数据的流动。

  • 处理/加工:对数据进行变换的单元,比如基于销售数据生成销售报表。

  • 数据的存储:数据的静态结构,比如数据库、各种文件等。

  • 外部实体:系统之外的实体,数据的来源实体也叫做数据源,数据的去向实体也叫做数据潭。

三、模型的表达工具

(一)数据流图(DFD图)

数据流图是一种描述数据变换的图形工具,它包含的元素可以是数据流、数据存储、处理、数据源和数据潭等。更新详细的见尾部的数据流图实例!

(二)数据字典

用于定义数据流和数据存储的结构,并给出构成所给出的数据流和数据存储的各数据项的基本数据类型。注:下图的操作符不要管,只要用最容易理解的语言表达清楚就行。

(三)处理说明

描述“做什么”,即处理逻辑,也包括其它一些与处理有关的信息,如执行条件、优先级、执行频率、出错处理等。下放给了几种比较典型的处理逻辑表达方式。

1、结构化语言描述处理逻辑(伪代码)

适用于数据输入和输出逻辑关系比较简单的处理描述,示例::

if 金额<80:

   费率=20%

else:

   费率=15%

2、判断表/决策表

适用于数据输入和输出逻辑关系比较复杂的处理描述,示例:

3、判定数/决策树

适用于数据输入和输出逻辑关系比较复杂的处理描述,示例:

四、数据流图绘制实例

(一)绘制流程概述

第一步,是建立系统功能模型。首先,建立顶层数据流图,确定系统边界;然后自顶向下拆解,建立系统的层次数据流图。(一般而言顶层、0层、1层,一共三个层级就可以满足诉求。另外,从0层开始,每一个处理都要进行编号)。

第二步,建立数据字典,包括数据流、数据存储和数据项。

第三步,给出处理逻辑,包括执行条件、优先级、频率、出错处理等。

(二)实例

首先建立顶层数据流图,顶层数据流图只有一个处理,处理的名字就是系统的名字,其目标就是确定系统的边界。

其次细化,建立0层数据流图,并对处理进行编号。注意外部实体和系统之间的数据交互与顶层数据流图是一致的,并分派给子处理,此外本层级可以忽略外部实体。

发布时间:2023年12月24日 23:27
分类:理论工具
标签: 产品设计
作者:五行缺土
微信扫码接收最新分享: