软件设计 - 下午题(1)数据流图



概述

数据流图也称数据流程图(Data Flow Diagram,DFD),精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。

基本元素

数据流(Data Flow)、加工(Process)、数据存储(Data Store)、外部实体(External Agent)

数据流:由一组固定成分的数据构成,表示数据的流向。

  • 从一个加工流向另一个加工(P -> P)
  • 写:从加工流向数据存储(P -> D)
  • 读:从数据存储流向加工(D -> P)
  • 输入:从外部实体流向加工(E -> P)
  • 输出:从加工流向外部实体(P -> E)

加工:描述了输入数据流到输出数据流之间的变换。

  • 一个加工可以有多个输入/输出数据流,但至少有一个输入数据流和一个输出数据流
  • 一个加工的输入数据流必须足以产生输出数据流。
    数据流图

数据存储 :用来存储数据。

  • 用双向箭头的数据流指向存储数据,表示对数据的修改。

外部实体:存在与软件系统之外的人或组织。

  • 它指出系统所需数据的发源地(源)和系统所产生的数据的归宿地(宿)。

扩充符号

描述多个数据流之间的关系。
  • 星号(*):表示数据流之间存在 “与” 关系。若是输入数据流表示所有输入数据流全部到达后才能进行加工处理;若是输出数据流则表示加工结束后将同时产生所有的输出数据流。
  • 加号(+):表示数据流之间存在 “或” 关系。若是输入数据流表示其中任一数据流到达就能进行加工;若是输出数据流则表示加工处理的结果是至少产生其中一个输出数据流。
  • 异或():表示数据流之间存在互斥关系。若是输入数据流表示当且仅当其中一个输入数据流到达后才能进行加工;若是输出数据流则表示加工处理的结果仅产生输出数据流中的一个。

层次结构

  • 顶层图: 分层数据流图的顶层图只有一张图,其中只有一个加工(即整个软件系统);该加工描述了软件系统与外界之间的数据流。
  • 0层图: 顶层图中的加工(系统)经分解后的图称为0层图,也只有一张。
  • 中间层:其中至少有一个加工被分解成一张子图。
  • 底层图:处于分层数据流图的最底层的图,底层图中所有加工不再进行分解。
  • 基本加工:不能再分解子图的加工。
  • 加工编号
    • 顶层图中只有一个加工(系统),不比编号。
    • 0层图中加工编号依次为:1、2、3、…。
    • 子图号为父图中被分解的加工号
    • 子图加工编号,若父图中对应加工编号(子图号)为 x,该子图中加工编号依次为:x.1、x.2、…

原则

  • 加工和数据流的正确使用
    • 一个加工必须既有输入又有输出
    • 数据流只能和加工相关,即加工流向加工,数据源流向加工,或加工流向数据源。
  • 父图和子图必须平衡
    • 父图中某加工的输入/输出(数据流) 和分解这个加工的子图的输入/输出(数据流)必须完全一致。
  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值