天天看点

对《软件工程方法与实践》第六章内容的理解

结构化分析以及DFD图

    • 标题结构化分析的特点是什么?
    • 数据流图的建模元素有哪些?如何构建数据流图?有哪些注意事项?
      • 建模元素有哪些?
      • 如何构建数据流图?
      • 有哪些注意事项?
    • 数据字典有哪些要素(条目)定义?
      • 请采用面向数据流的方法对你所在团队项目的功能需求进行建模。

标题结构化分析的特点是什么?

采用自顶向下、逐层分解的方法求解复杂问题
           

数据流图的建模元素有哪些?如何构建数据流图?有哪些注意事项?

建模元素有哪些?

数据流图的建模元素有数据的源点或终点、加工或处理、数据存储、数据流
           

如何构建数据流图?

(1)先确定系统的输入输出,构建顶层DFD;(注:顶层数据流图只包含一个处理,即标识被开发的系统) 顶层数据流图体现系统的应用领域及系统与外界的主要接口。

具体内容由以下三部分组成:

  1. 一个加工,标识被开发的系统
  2. 与系统有关的全部外部实体(即数据源点A、终点B\C)
  3. 与外部实体相关的系统主要输入数据流x、输出数据流y\t
    对《软件工程方法与实践》第六章内容的理解

    (2)对顶层DFD图细化,构建0层DFD;0层数据流图体现系统主体功能及各项功能与外部的接口情况,主体功能体现系统框架。

    具体内容由以下四部分组成:

  4. 加工。每个主体功能用一个加工表示。
  5. 主体功能相关的输入、输出数据流。
  6. 外部实体。这些外部实体分别通过输入数据流引发各主体功能执行,并接收执行后的输出结果。
  7. 数据存储。体现主体功能执行后产生的、需要保留在系统内部的结果数据的去处。
    对《软件工程方法与实践》第六章内容的理解
    (3)对0层DFD的每个加工进行细化,分别构建1层DFD,依次类推,逐层精化,直至构建出底层图。
  8. 首先细化0层图,将一个主体加工分解为不同的加工,每个操作环节分别由一个加工表示。
  9. 如果主体功能复杂,难于在1层图中全部细化完成,则可以再次细化,产生2层图。
  10. 以此类推,直到内部的执行逻辑十分简明、不能再细化为止。

有哪些注意事项?

注意事项:

  1. 命名:数据流图中每个元素必须有名字,且命名合理。

    加工名字应该反映整个加工的功能,而不是一部分功能。

    加工命名一般为动词+名词短语。

    数据流名字应该代表整个数据流的内容,而不是仅仅反映它的某些成分。

    数据流命名为名词。

  2. 画数据流不是画控制流。数据流图反映的是系统“做什么”,不反映“如何做”。
  3. 每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
  4. 按层给加工编号。

    如果一张数据流图中的某个加工要分解成另一张数据流图时,则上层图为父图,直接下层图为子图,父、子图上的所有处理都应编号。子图的编号是父图中相应处理的编号的扩充,子图上处理的编号是父图号、小数点及子图的局部号组成。

  5. 保持父图与子图的平衡。

    子图的输入、输出数据流同父图相应加工的输入、输出数据流必须一致。

  • 注意:如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体恰好是父图中的这个数据流,那么父图和子图仍然是平衡的。可借助数据字典中的关于该数据流的描述来判定。

数据字典有哪些要素(条目)定义?

数据字典应该由四类元素的定义组成

  • 数据流条目:通常列出该数据流的各组成数据项。
  • 数据项条目(数据流或数据存储分量):数据流的组成成员是数据项,数据项条目是不可再分解的数据单位。
  • 数据存储条目:对存储数据的定义。
  • 加工条目:通常采用输入—处理—输出(IPO,Input-Process-Output)视图描述

请采用面向数据流的方法对你所在团队项目的功能需求进行建模。