软件工程-分层数据流图的画法

PPT下载链接:https://download.csdn.net/download/zhaohongfei_358/20028201

分层数据流模型

结构化分析方法

主要思想:抽象与自顶向下的逐层分解

  • 抽象:忽略一个问题中与当前目标无关的那些方面,以便更充分地关注与当前目标有关的方面
  • 分解:将问题不断分解为较小的问题,直到每个最底层的问题都足够简单为止

数据流图

Data Flow Diagram(简称DFD):描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模,基本元素包括:

数据流图的扩充符

描述一个加工的多个数据流之间的关系

  • 星 (*):表示数据流之间存在“与”关系
    • 所有输入数据流同时存在时,才能进行加工处理
    • 或者加工处理的结果是同时产生所有输出数据流
  • 加 (+):表示数据流之间存在“或”关系
    • 至少存在一个输入数据流时,才能进行加工处理
    • 或者加工处理的结果至少产生一个输出数据流
  • 异或(⊕):表示数据流之间存在“异或”(互斥)关系
    • 必须存在且仅存在一个输入数据流时,才能进行加工处理
    • 或者加工处理的结果产生且仅产生一个输出数据流

数据流图的各个层次

  • 顶层图:只有代表整个软件系统的1个加工,描述了软件系统与外界(源或宿)之间的数据流
  • 0层图:顶层图中的加工经分解后的图称为0层图(只有1张)
  • 中间层图:中间层图中至少有一个加工(也可以有多个)在下层图中分解成一张子图
  • 底层图:处于最底层的图称为底层图,其中所有的加工不再分解成新的子图

图和加工的编

  • 顶层图只有一个,代表整个软件系统的加工,该加工不必编 。
  • 0层图中的加工编 分别为1,2,3,…
  • 子图 :若父图中的加工 x分解成某一子图,则该子图 记为“图x”
  • 子图中加工的编 :若父图中的加工 为x的加工分解成某一子图,则该子图中的加工编 分别为x.1、x.2、x.3…

案例(考务处理系统)

案例描述

基本描述:

  • 简化的资格和水平考试的考务处理系统
  • 分成多个级别,如初级程序员、程序员、高级程序员、系统分析员等,凡满足一定条件的考生都可参加某一级别的考试
  • 考试的合格标准将根据每年的考试成绩由考试中心确定
  • 考试的阅卷由阅卷站进行,因此,阅卷工作不包含在软件系统中

功能需求:

  • 对考生送来的 名单进行检查
  • 对合格的 名单编好准考证 后将准考证送给考生,并将汇总后的考生名单送给阅卷站
  • 对阅卷站送来的成绩清单进行检查,并根据考试中心制订的合格标准审定合格者
  • 制作考生通知单送给考生
  • 进行成绩分类统计(按地区、年龄、文化程度、职业、考试级别等分类)和试题难度分析,产生统计分析表

部分数据流的组成:

  • 名单=地区+序 +姓名+文化程度+职业+考试级别+通信地址
  • 正式 名单=准考证 + 名单
  • 准考证=地区+序 +姓名+准考证 +考试级别+考场
  • 考生名单={准考证 +考试级别}
  • 考生名册=正式 名单
  • 统计分析表=分类统计表+难度分析表
  • 考生通知单=准考证 +姓名+通信地址+考试级别+考试成绩+合格标志

顶层图的绘制

方法分析,以下确定加工、数据流、文件、源或宿的一般方法适用于0层图及其各层子图:

  • 确定加工: 确定父图中某加工分解而成的子加工

    • 根据功能分解来确定加工:将一个复杂的功能分解成若干个较小的功能,较多应用于高层DFD中的分解
    • 根据业务处理流程确定加工:分析父图中待分解加工的业务处理流程,业务流程中的每一步都可能是一个子加工
  • 确定文件

    • 如果父图中该加工存在读写文件的数据流,则相应的文件和数据流都应画在子图中
    • 在分解子图中,如果需要保存某些中间数据以备后用,则可以将这些数据组成一个新的文件
    • 新文件(首次出现的文件)至少应有一个加工为其写入记录,同时至少存在另一个加工来读该文件的记录
    • 注意:从父图中继承下来的文件在子图中可能只对其进行读,或只进行写
  • 确定源和宿

    • 0层图和其它子图中通常不必画出源和宿
    • 有时为了提高可读性,可以将顶层图中的源和宿画在0层图中
  • 最终得到考务处理系统0层图

    • 根据功能分解方法识别出两个加工:考试 名、统计成绩
    • 数据流
      • 继承顶层图中的输入数据流和输出数据流
      • 定义二个加工之间的数据流:由于这二个加工分别在考试前后进行,因此登记 名单所产生的结果“考生名册”应作为文件保存以便考试后由统计成绩加工引用

加工1子图

总结

  1. 画系统的输入和输出
  2. 画系统内部
  3. 画加工内部
  4. 重复第3步骤,直至每个尚未分解的加工都足够简单(即不必再分解)

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月23日
下一篇 2020年9月23日

相关推荐